From 7cf58a4d2fff6b9cba9029d4d43ba9744dbef864 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期四, 18 七月 2024 15:49:03 +0800 Subject: [PATCH] 工单更新 --- src/views/tigerprojects/system/role/RoleDrawer.vue | 86 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 79 insertions(+), 7 deletions(-) diff --git a/src/views/tigerprojects/system/role/RoleDrawer.vue b/src/views/tigerprojects/system/role/RoleDrawer.vue index 33ba55f..296d7ac 100644 --- a/src/views/tigerprojects/system/role/RoleDrawer.vue +++ b/src/views/tigerprojects/system/role/RoleDrawer.vue @@ -33,6 +33,19 @@ title="缁勭粐鍒嗛厤" /> </template> + <template #fty="{ model, field }"> + <BasicTree + v-model:value="model[field]" + :treeData="treeDataProd" + :renderIcon="createIconOrg" + :fieldNames="{ title: 'NAME', key: 'ID' }" + @gethalfCheckedKeys="gethalfCheckedKeysFty" + :expanded-keys="expandedKeysFty" + checkable + toolbar + title="宸ュ巶鍒嗛厤" + /> + </template> <template #wh="{ model, field }"> <BasicTree v-model:value="model[field]" @@ -56,21 +69,34 @@ import { BasicDrawer, useDrawerInner } from '/@/components/Drawer'; import { BasicTree, TreeItem } from '/@/components/Tree'; - import { getMenuList, SaveRole, getRMList, getROList, getWhList } from '/@/api/tigerapi/system'; - import { getTreeList } from '/@/api/tigerapi/dept'; + import { + getMenuList, + SaveRole, + getRMList, + getROList, + getWhList, + getProdList, + getEntity, + convertToTree, + } from '/@/api/tigerapi/system'; + import { getProdTreeList, getTreeList } from '/@/api/tigerapi/dept'; import { getTreeList as getTreeListWh } from '/@/api/tigerapi/wms/house'; + type CheckKeys = KeyType[] | { checked: string[] | number[]; halfChecked: string[] | number[] }; type _expandAll = KeyType[] | undefined; const emits = defineEmits(['success', 'register']); const isUpdate = ref(true); const treeData = ref<TreeItem[]>([]); const treeDataOrg = ref<TreeItem[]>([]); + const treeDataProd = ref<TreeItem[]>([]); const treeDataWh = ref<TreeItem[]>([]); const expandedKeys = ref<_expandAll>([]); const expandedKeysOrg = ref<_expandAll>([]); + const expandedKeysFty = ref<_expandAll>([]); const expandedKeysWh = ref<_expandAll>([]); const halfCheckedKeys = ref<CheckKeys>([]); const halfCheckedKeysOrg = ref<CheckKeys>([]); + const halfCheckedKeysFty = ref<CheckKeys>([]); const halfCheckedKeysWh = ref<CheckKeys>([]); const gethalfCheckedKeys = (obj) => { halfCheckedKeys.value = obj; @@ -78,6 +104,10 @@ }; const gethalfCheckedKeysOrg = (obj) => { halfCheckedKeysOrg.value = obj; + console.log(obj); + }; + const gethalfCheckedKeysFty = (obj) => { + halfCheckedKeysFty.value = obj; console.log(obj); }; const gethalfCheckedKeysWh = (obj) => { @@ -96,10 +126,15 @@ setDrawerProps({ confirmLoading: false }); // 闇�瑕佸湪setFieldsValue涔嬪墠鍏堝~鍏卼reeData锛屽惁鍒橳ree缁勪欢鍙兘浼氭姤key not exist璀﹀憡 if (unref(treeData).length === 0) { - treeData.value = (await getMenuList()) as any as TreeItem[]; + treeData.value = (await getMenuList({menuName: 'SYSTEM'})) as any as TreeItem[]; } if (unref(treeDataOrg).length === 0) { treeDataOrg.value = (await getTreeList()) as any as TreeItem[]; + } + if (unref(treeDataProd).length === 0) { + // treeDataProd.value = (await getProdTreeList()) as any as TreeItem[]; + let prodTreeData = await getEntity({sqlcmd: '', entityName: 'V_PROD_TREE', order: ''}); + treeDataProd.value = convertToTree(prodTreeData.Data.Items,'PARENT_CODE', 'CODE', ''); } if (unref(treeDataWh).length === 0) { treeDataWh.value = (await getTreeListWh()) as any as TreeItem[]; @@ -121,18 +156,24 @@ } //console.log(list,11); data.record.menu = list2; + halfCheckedKeys.value = list; expandedKeys.value = list; await getRuleOrg(data); await getRuleWh(data); + await getRuleProd(data); setFieldsValue({ ...data.record, }); } }); - //鑾峰彇瑙掕壊瀵瑰簲鐨勭粍缁� + /** + * @description: 鑾峰彇瑙掕壊瀵瑰簲鐨勭粍缁� + * @param {*} data + * @return {*} + */ async function getRuleOrg(data) { - const orgList = await getROList(data.record.ID); + const orgList = await getROList(data.record.ID); var hfList = []; var list = []; for (var key in orgList) { @@ -145,12 +186,17 @@ } } data.record.org = hfList; + halfCheckedKeysOrg.value = list; expandedKeysOrg.value = list; } - //鑾峰彇瑙掕壊瀵瑰簲鐨勪粨搴� + /** + * @description: 鑾峰彇瑙掕壊瀵瑰簲鐨勪粨搴� + * @param {*} data + * @return {*} + */ async function getRuleWh(data) { - const whList = await getWhList(data.record.ID); + const whList = await getWhList(data.record.ID); var hfList = []; var list = []; for (var key in whList) { @@ -163,7 +209,31 @@ } } data.record.wh = hfList; + halfCheckedKeysWh.value = list; expandedKeysWh.value = list; + } + + /** + * @description: 鑾峰彇瑙掕壊瀵瑰簲鐨勭敓浜� + * @param {*} data + * @return {*} + */ + async function getRuleProd(data) { + const prodList = await getProdList(data.record.ID); + var hfList = []; + var list = []; + for (var key in prodList) { + if (prodList[key].HALF_CHECK == 'N') { + var item2 = prodList[key].PROD_CODE as never; + hfList.push(item2); + } else { + var item = prodList[key].PROD_CODE as never; + list.push(item); + } + } + data.record.fty = hfList; + halfCheckedKeysFty.value = list; + expandedKeysFty.value = list; } const getTitle = computed(() => (!unref(isUpdate) ? '鏂板瑙掕壊' : '缂栬緫瑙掕壊')); @@ -176,6 +246,8 @@ values.menu = { checked: values.menu, halfChecked: currentValue }; let curOrgValue = halfCheckedKeysOrg.value as []; values.org = { checked: values.org, halfChecked: curOrgValue }; + let curFtyValue = halfCheckedKeysFty.value as []; + values.fty = { checked: values.fty, halfChecked: curFtyValue }; let curWhValue = halfCheckedKeysWh.value as []; values.wh = { checked: values.wh, halfChecked: curWhValue }; // TODO custom api -- Gitblit v1.9.3