| | |
| | | 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]" |
| | |
| | | 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; |
| | |
| | | }; |
| | | const gethalfCheckedKeysOrg = (obj) => { |
| | | halfCheckedKeysOrg.value = obj; |
| | | console.log(obj); |
| | | }; |
| | | const gethalfCheckedKeysFty = (obj) => { |
| | | halfCheckedKeysFty.value = obj; |
| | | console.log(obj); |
| | | }; |
| | | const gethalfCheckedKeysWh = (obj) => { |
| | |
| | | setDrawerProps({ confirmLoading: false }); |
| | | // 需要在setFieldsValue之前先填充treeData,否则Tree组件可能会报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[]; |
| | |
| | | } |
| | | //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) { |
| | |
| | | } |
| | | } |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | 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) ? '新增角色' : '编辑角色')); |
| | |
| | | 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 |