From f60c5156615626515bd6d84f151a1292b8b936c1 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期一, 01 七月 2024 12:36:32 +0800
Subject: [PATCH] 班制更新

---
 src/views/tigerprojects/system/usergroups/UserGPDrawer.vue |  497 +++++++++++++++++++++++++++---------------------------
 1 files changed, 250 insertions(+), 247 deletions(-)

diff --git a/src/views/tigerprojects/system/usergroups/UserGPDrawer.vue b/src/views/tigerprojects/system/usergroups/UserGPDrawer.vue
index 3944042..b7f2dfe 100644
--- a/src/views/tigerprojects/system/usergroups/UserGPDrawer.vue
+++ b/src/views/tigerprojects/system/usergroups/UserGPDrawer.vue
@@ -1,262 +1,265 @@
+<!--
+ * @Description: 鐢ㄦ埛鍒扮敤鎴风粍/瑙掕壊鍒扮敤鎴风粍 绌挎1妗�
+ * @Author: Ben Li
+ * @version: 
+ * @Date: 2024-03-24 11:16:48
+ * @LastEditors: Ben Lin
+ * @LastEditTime: 2024-06-18 10:52:48
+-->
 <template>
-  <BasicDrawer
-    v-bind="$attrs"
-    @register="registerDrawer"
-    showFooter
-    :title="getTitle"
-    width="700px"
-    @ok="handleSubmit"
-  >
+  <BasicDrawer v-bind="$attrs" @register="registerDrawer" showFooter :title="getTitle" width="700px" @ok="handleSubmit">
     <div class="transfer-wrapper">
-      <Transfer
-        ref="transferRef"
-        :data-source="dataSource"
-        :target-keys="targetKeys"
-        :left-columns="leftColumns"
-        :right-columns="rightColumns"
-        :titles="titles"
-        @change-keys="onChange"
-      />
+      <Transfer ref="transferRef" :data-source="dataSource" :target-keys="targetKeys" :left-columns="leftColumns"
+        :right-columns="rightColumns" :titles="titles" @change-keys="onChange" />
     </div>
   </BasicDrawer>
 </template>
 <script lang="ts">
-  import { defineComponent, ref, computed, unref, toRefs, toRef } from 'vue';
-  // import { BasicForm, useForm } from '/@/components/Form/index';
-  // import { formSchema } from './usergroup.data';
-  import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
-  import { Transfer } from '/@/components/Transfer/index';
-  import { TransferData } from '/@/components/Transfer/src/types/transfer';
-  import { useTransfer } from '/@/components/Transfer/src/hooks/useTransfer';
-  import { getUser, getTargetUser, SetSysUserToGroup } from '/@/api/tigerapi/usergroup';
-  import { SpecificEntity, UserGPParams } from '/@/api/tigerapi/model/systemModel';
-  import { useUserStore } from '/@/store/modules/user';
-  import { notification } from 'ant-design-vue';
-  import { getRoles, getTargetRole, SetRoleToGroup } from '/@/api/tigerapi/system';
+import { defineComponent, ref, computed, unref, toRefs, toRef } from 'vue';
+// import { BasicForm, useForm } from '/@/components/Form/index';
+// import { formSchema } from './usergroup.data';
+import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
+import { Transfer } from '/@/components/Transfer/index';
+import { TransferData } from '/@/components/Transfer/src/types/transfer';
+import { useTransfer } from '/@/components/Transfer/src/hooks/useTransfer';
+import { getUser, getTargetUser, SetSysUserToGroup } from '/@/api/tigerapi/usergroup';
+import { SpecificEntity, UserGPParams } from '/@/api/tigerapi/model/systemModel';
+import { useUserStore } from '/@/store/modules/user';
+import { notification } from 'ant-design-vue';
+import { getRoles, getTargetRole, SetRoleToGroup } from '/@/api/tigerapi/system';
 
-  export default defineComponent({
-    name: 'UserGPDrawer',
-    components: { BasicDrawer, Transfer },
-    emits: ['success', 'register'],
-    setup(_, { emit }) {
-      const isUpdate = ref(true);
-      const isRole = ref(true);
-      // const [registerForm, { resetFields, setFieldsValue, updateSchema, validate }] = useForm({
-      //   labelWidth: 100,
-      //   schemas: formSchema,
-      //   showActionButtonGroup: false,
-      //   baseColProps: { lg: 12, md: 24 },
-      // });
+export default defineComponent({
+  name: 'UserGPDrawer',
+  components: { BasicDrawer, Transfer },
+  emits: ['success', 'register'],
+  setup(_, { emit }) {
+    const isUpdate = ref(true);
+    const isRole = ref(true);
+    // const [registerForm, { resetFields, setFieldsValue, updateSchema, validate }] = useForm({
+    //   labelWidth: 100,
+    //   schemas: formSchema,
+    //   showActionButtonGroup: false,
+    //   baseColProps: { lg: 12, md: 24 },
+    // });
 
-      const transferData = ref<TransferData[]>([]);
-      const originTargetKeys = ref<string[]>([]);
-      const leftTableColumns = ref([
-        {
-          dataIndex: 'title',
-          title: '鐢ㄦ埛浠g爜',
-        },
-        {
-          dataIndex: 'description',
-          title: '鐢ㄦ埛鍚�',
-        },
-      ]);
-      const rightTableColumns = ref([
-        {
-          dataIndex: 'title',
-          title: '鐢ㄦ埛浠g爜',
-        },
-        {
-          dataIndex: 'description',
-          title: '鐢ㄦ埛鍚�',
-        },
-      ]);
-      const titles = ['锛堢敤鎴凤級', '锛堢敤鎴风粍锛�'];
-      const userStore = useUserStore();
-      //绌挎妗唒rops鍔犺浇锛屽垵濮嬪寲
-      const { state, onChange, seDatas } = useTransfer({
-        transferRef: undefined,
-        dataSource: [],
-        editKey: [],
-        leftColumns: [],
-        rightColumns: [],
-        titles: titles,
-      });
-      const _gpTid = ref('');
-      const getTitle = ref('娣诲姞鐢ㄦ埛鍒扮敤鎴风粍');
-      //渚ц竟寮瑰嚭妗�
-      const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
-        setDrawerProps({ confirmLoading: false });
+    const transferData = ref<TransferData[]>([]);
+    const originTargetKeys = ref<string[]>([]);
+    const leftTableColumns = ref([
+      {
+        dataIndex: 'title',
+        title: '鐢ㄦ埛浠g爜',
+      },
+      {
+        dataIndex: 'description',
+        title: '鐢ㄦ埛鍚�',
+      },
+    ]);
+    const rightTableColumns = ref([
+      {
+        dataIndex: 'title',
+        title: '鐢ㄦ埛浠g爜',
+      },
+      {
+        dataIndex: 'description',
+        title: '鐢ㄦ埛鍚�',
+      },
+    ]);
+    const titles = ['锛堢敤鎴凤級', '锛堢敤鎴风粍锛�'];
+    const userStore = useUserStore();
+    //绌挎妗唒rops鍔犺浇锛屽垵濮嬪寲
+    const { state, onChange, seDatas } = useTransfer({
+      transferRef: undefined,
+      dataSource: [],
+      editKey: [],
+      leftColumns: [],
+      rightColumns: [],
+      titles: titles,
+    });
+    const _gpTid = ref('');
+    const getTitle = ref('娣诲姞鐢ㄦ埛鍒扮敤鎴风粍');
 
-        transferData.value = [];
-        var _v: UserGPParams = {
-          USERGROUP_CODE: data.record.USERGROUP_CODE,
-          USERGROUP_DESC: data.record.USERGROUP_DESC,
-        };
-        _gpTid.value = data.record.ID;
-        isRole.value = !!data?.isRole;
-        getTitle.value = unref(isRole) ? '娣诲姞瑙掕壊鍒扮敤鎴风粍' : '娣诲姞鐢ㄦ埛鍒扮敤鎴风粍';
-        var _title = ['锛堢敤鎴凤級', `锛堢敤鎴风粍:[${data.record.USERGROUP_CODE}]鍏宠仈鐨勭敤鎴凤級`];
-        if (unref(isRole)) {
-          ///娣诲姞瑙掕壊鍔熻兘
-          _title = ['锛堣鑹诧級', `锛堢敤鎴风粍:[${data.record.USERGROUP_CODE}]鍏宠仈鐨勮鑹诧級`];
-          leftTableColumns.value = [
-            {
-              dataIndex: 'title',
-              title: '瑙掕壊浠g爜',
-            },
-            {
-              dataIndex: 'description',
-              title: '瑙掕壊鍚�',
-            },
-          ];
-          rightTableColumns.value = [
-            {
-              dataIndex: 'title',
-              title: '瑙掕壊浠g爜',
-            },
-            {
-              dataIndex: 'description',
-              title: '瑙掕壊鍚�',
-            },
-          ];
-          getRoles().then((action) => {
-            for (let i = 0; i < action.length; i++) {
-              transferData.value.push({
-                key: action[i].ROLE_CODE,
-                title: `${action[i].ROLE_CODE}`,
-                description: `${action[i].ROLE_DESC}`,
-                disabled: false,
-              });
-            }
-            getTargetRole(_v).then((action) => {
-              originTargetKeys.value = [];
-              for (let i = 0; i < action.length; i++) {
-                originTargetKeys.value.push(action[i].ROLE_CODE);
-              }
-              //Transfer缁勪欢锛屾爣棰樺強鏁版嵁婧愯缃�
-              seDatas(
-                _title,
-                unref(transferData),
-                unref(originTargetKeys),
-                unref(rightTableColumns),
-                unref(leftTableColumns),
-              );
-            });
-          });
-        } else {
-          ///娣诲姞鐢ㄦ埛鍔熻兘
-          rightTableColumns.value = [
-            {
-              dataIndex: 'title',
-              title: '鐢ㄦ埛浠g爜',
-            },
-            {
-              dataIndex: 'description',
-              title: '鐢ㄦ埛鍚�',
-            },
-          ];
-          leftTableColumns.value = [
-            {
-              dataIndex: 'title',
-              title: '鐢ㄦ埛浠g爜',
-            },
-            {
-              dataIndex: 'description',
-              title: '鐢ㄦ埛鍚�',
-            },
-          ];
-          ///鑾峰彇宸︿晶鐢ㄦ埛鍒楄〃鏁版嵁
-          getUser().then((action) => {
-            for (let i = 0; i < action.length; i++) {
-              transferData.value.push({
-                key: action[i].USER_ID,
-                title: `${action[i].USER_ID}`,
-                description: `${action[i].USER_NAME}`,
-                disabled: false, //i % 4 === 0,
-              });
-            }
-            ///END銆�鑾峰彇宸︿晶鐢ㄦ埛鍒楄〃鏁版嵁
+    /**
+     * @description: 渚ц竟寮瑰嚭妗嗗垵濮嬪寲鏂规硶
+     * @return {*}
+     */    
+    const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
+      setDrawerProps({ confirmLoading: false });
 
-            ///鑾峰彇鍙充晶鐢ㄦ埛缁勪腑鐨勭敤鎴峰垪琛ㄦ暟鎹紝鑾峰彇瀹屾暟鎹粰Transfer缁勪欢璁剧疆鏁版嵁婧�
-            getTargetUser(_v).then((action) => {
-              originTargetKeys.value = [];
-              for (let i = 0; i < action.length; i++) {
-                originTargetKeys.value.push(action[i].USER_ID);
-              }
-              //Transfer缁勪欢锛屾爣棰樺強鏁版嵁婧愯缃�
-              seDatas(
-                _title,
-                unref(transferData),
-                unref(originTargetKeys),
-                unref(rightTableColumns),
-                unref(leftTableColumns),
-              );
-            });
-            ///END銆�鑾峰彇鍙充晶鐢ㄦ埛缁勪腑鐨勭敤鎴峰垪琛ㄦ暟鎹�
-          });
-        }
-      });
-
-      function handleCreate() {
-        console.log('list', 11);
-      }
-
-      // const getTitle = computed(() => '娣诲姞鐢ㄦ埛鍒扮敤鎴风粍');
-
-      async function handleSubmit() {
-        try {
-          //const values = await validate();
-          setDrawerProps({ confirmLoading: true });
-          // TODO custom api
-          const _targetKeys = toRef(state, 'targetKeys');
-          var _v: SpecificEntity = {
-            ID: '',
-            EntityStr: '',
-            UserId: userStore.getUserInfo.userId,
-            Extend1: _targetKeys.value.join(','),
-            Extend2: _gpTid.value,
-            Extend3: '',
-          };
-          if (unref(isRole)) {
-            SetRoleToGroup(_v).then((action) => {
-              if (action.IsSuccessed) {
-                notification['success']({
-                  message: '鎿嶄綔鎴愬姛',
-                  description: `鍚戠敤鎴风粍娣诲姞瑙掕壊锛�${_v.Extend1} 鎴愬姛锛�${userStore.getUserInfo.userId}`,
-                });
-                emit('success');
-              }
-            });
-          } else {
-            _v.Extend2 = _targetKeys.value.join(',');
-            _v.Extend3 = _gpTid.value;
-            SetSysUserToGroup(_v).then((action) => {
-              if (action.IsSuccessed) {
-                notification['success']({
-                  message: '鎿嶄綔鎴愬姛',
-                  description: `鍚戠敤鎴风粍娣诲姞鐢ㄦ埛锛�${_v.Extend2} 鎴愬姛锛�${userStore.getUserInfo.userId}`,
-                });
-                emit('success');
-              }
+      transferData.value = [];
+      var _v: UserGPParams = {
+        USERGROUP_CODE: data.record.USERGROUP_CODE,
+        USERGROUP_DESC: data.record.USERGROUP_DESC,
+      };
+      _gpTid.value = data.record.ID;
+      isRole.value = !!data?.isRole;
+      getTitle.value = unref(isRole) ? '娣诲姞瑙掕壊鍒扮敤鎴风粍' : '娣诲姞鐢ㄦ埛鍒扮敤鎴风粍';
+      var _title = ['锛堢敤鎴凤級', `锛堢敤鎴风粍:[${data.record.USERGROUP_CODE}]鍏宠仈鐨勭敤鎴凤級`];
+      if (unref(isRole)) {
+        ///娣诲姞瑙掕壊鍔熻兘
+        _title = ['锛堣鑹诧級', `锛堢敤鎴风粍:[${data.record.USERGROUP_CODE}]鍏宠仈鐨勮鑹诧級`];
+        leftTableColumns.value = [
+          {
+            dataIndex: 'title',
+            title: '瑙掕壊浠g爜',
+          },
+          {
+            dataIndex: 'description',
+            title: '瑙掕壊鍚�',
+          },
+        ];
+        rightTableColumns.value = [
+          {
+            dataIndex: 'title',
+            title: '瑙掕壊浠g爜',
+          },
+          {
+            dataIndex: 'description',
+            title: '瑙掕壊鍚�',
+          },
+        ];
+        /* 澶氬紓姝ユ柟娉曠粍鍚堣皟鐢� */
+        Promise.all([getRoles(), getTargetRole(_v)]).then(res => {
+          let action = res[0];
+          let tAction = res[1];
+          for (let i = 0; i < action.length; i++) {
+            transferData.value.push({
+              key: action[i].ROLE_CODE,
+              title: `${action[i].ROLE_CODE}`,
+              description: `${action[i].ROLE_DESC}`,
+              disabled: false,
             });
           }
-
-          closeDrawer();
-        } finally {
-          setDrawerProps({ confirmLoading: false });
-        }
+          originTargetKeys.value = [];
+            for (let i = 0; i < tAction.length; i++) {
+              originTargetKeys.value.push(tAction[i].ROLE_CODE);
+            }
+            //Transfer缁勪欢锛屾爣棰樺強鏁版嵁婧愯缃�
+            seDatas(
+              _title,
+              unref(transferData),
+              unref(originTargetKeys),
+              unref(rightTableColumns),
+              unref(leftTableColumns),
+            );
+        }).catch(err => {
+          console.log(err)
+        });
+      } else {
+        ///娣诲姞鐢ㄦ埛鍔熻兘
+        rightTableColumns.value = [
+          {
+            dataIndex: 'title',
+            title: '鐢ㄦ埛浠g爜',
+          },
+          {
+            dataIndex: 'description',
+            title: '鐢ㄦ埛鍚�',
+          },
+        ];
+        leftTableColumns.value = [
+          {
+            dataIndex: 'title',
+            title: '鐢ㄦ埛浠g爜',
+          },
+          {
+            dataIndex: 'description',
+            title: '鐢ㄦ埛鍚�',
+          },
+        ];
+        Promise.all([getUser(), getTargetUser(_v)]).then(res => {
+          let action = res[0];
+          let tAction = res[1];
+          for (let i = 0; i < action.length; i++) {
+            transferData.value.push({
+              key: action[i].USER_ID,
+              title: `${action[i].USER_ID}`,
+              description: `${action[i].USER_NAME}`,
+              disabled: false, //i % 4 === 0,
+            });
+          }
+          originTargetKeys.value = [];
+          for (let i = 0; i < tAction.length; i++) {
+            originTargetKeys.value.push(tAction[i].USER_ID);
+          }
+          //Transfer缁勪欢锛屾爣棰樺強鏁版嵁婧愯缃�
+          seDatas(
+            _title,
+            unref(transferData),
+            unref(originTargetKeys),
+            unref(rightTableColumns),
+            unref(leftTableColumns),
+          );
+          console.log(res)
+        }).catch(err => {
+          console.log(err)
+        });
       }
+    });
 
-      return {
-        seDatas,
-        ...toRefs(state),
-        registerDrawer,
-        // registerForm,
-        getTitle,
-        handleSubmit,
-        handleCreate,
-        onChange,
-      };
-    },
-  });
+    function handleCreate() {
+      console.log('list', 11);
+    }
+
+    // const getTitle = computed(() => '娣诲姞鐢ㄦ埛鍒扮敤鎴风粍');
+
+    /**
+     * @description: 鎻愪氦鏂规硶
+     * @return {*}
+     */    
+    async function handleSubmit() {
+      try {
+        //const values = await validate();
+        setDrawerProps({ confirmLoading: true });
+        // TODO custom api
+        const _targetKeys = toRef(state, 'targetKeys');
+        var _v: SpecificEntity = {
+          ID: '',
+          EntityStr: '',
+          UserId: userStore.getUserInfo.userId,
+          Extend1: _targetKeys.value.join(','),
+          Extend2: _gpTid.value,
+          Extend3: '',
+        };
+        if (unref(isRole)) {
+          SetRoleToGroup(_v).then((action) => {
+            if (action.IsSuccessed) {
+              notification['success']({
+                message: '鎿嶄綔鎴愬姛',
+                description: `鍚戠敤鎴风粍娣诲姞瑙掕壊锛�${_v.Extend1} 鎴愬姛锛�${userStore.getUserInfo.userId}`,
+              });
+              emit('success');
+            }
+          });
+        } else {
+          _v.Extend2 = _targetKeys.value.join(',');
+          _v.Extend3 = _gpTid.value;
+          SetSysUserToGroup(_v).then((action) => {
+            if (action.IsSuccessed) {
+              notification['success']({
+                message: '鎿嶄綔鎴愬姛',
+                description: `鍚戠敤鎴风粍娣诲姞鐢ㄦ埛锛�${_v.Extend2} 鎴愬姛锛�${userStore.getUserInfo.userId}`,
+              });
+              emit('success');
+            }
+          });
+        }
+
+        closeDrawer();
+      } finally {
+        setDrawerProps({ confirmLoading: false });
+      }
+    }
+
+    return {
+      seDatas,
+      ...toRefs(state),
+      registerDrawer,
+      // registerForm,
+      getTitle,
+      handleSubmit,
+      handleCreate,
+      onChange,
+    };
+  },
+});
 </script>

--
Gitblit v1.9.3