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