From beca65f4d01ca07c358102a35b949c2a4f277afe Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期三, 24 五月 2023 10:36:27 +0800
Subject: [PATCH] 增加车间监控界面

---
 src/views/system/departUser/components/DepartRoleAuthDrawer.vue |  266 ++++++++++++++++++++++++++++-------------------------
 1 files changed, 140 insertions(+), 126 deletions(-)

diff --git a/src/views/system/departUser/components/DepartRoleAuthDrawer.vue b/src/views/system/departUser/components/DepartRoleAuthDrawer.vue
index 9bdb3ea..10989df 100644
--- a/src/views/system/departUser/components/DepartRoleAuthDrawer.vue
+++ b/src/views/system/departUser/components/DepartRoleAuthDrawer.vue
@@ -1,144 +1,158 @@
 <template>
-  <BasicDrawer title="閮ㄩ棬瑙掕壊鏉冮檺閰嶇疆"
-               :width="650"
-               :loading="loading"
-               showFooter
-               okText="淇濆瓨骞跺叧闂�"
-               @ok="onSubmit(true)"
-    @close="onClose" @register="registerDrawer">
-    <div>
-      <a-spin :spinning="loading">
-        <template v-if="treeData.length > 0">
-          <BasicTree title="鎵�鎷ユ湁鐨勯儴闂ㄦ潈闄�" toolbar checkable :treeData="treeData" :checkedKeys="checkedKeys"
-            :selectedKeys="selectedKeys" :expandedKeys="expandedKeys" :checkStrictly="checkStrictly"
-            :clickRowToExpand="false" @check="onCheck" @expand="onExpand" @select="onSelect">
-            <template #title="{ slotTitle, ruleFlag }">
-              <span>{{ slotTitle }}</span>
-              <Icon v-if="ruleFlag" icon="ant-design:align-left-outlined" style="margin-left: 5px; color: red" />
-            </template>
-          </BasicTree>
-        </template>
-        <a-empty v-else description="鏃犲彲閰嶇疆閮ㄩ棬鏉冮檺" />
-      </a-spin>
-    </div>
+	<BasicDrawer
+		title="閮ㄩ棬瑙掕壊鏉冮檺閰嶇疆"
+		:width="650"
+		:loading="loading"
+		showFooter
+		okText="淇濆瓨骞跺叧闂�"
+		@ok="onSubmit(true)"
+		@close="onClose"
+		@register="registerDrawer"
+	>
+		<div>
+			<a-spin :spinning="loading">
+				<template v-if="treeData.length > 0">
+					<BasicTree
+						title="鎵�鎷ユ湁鐨勯儴闂ㄦ潈闄�"
+						toolbar
+						checkable
+						:treeData="treeData"
+						:checkedKeys="checkedKeys"
+						:selectedKeys="selectedKeys"
+						:expandedKeys="expandedKeys"
+						:checkStrictly="checkStrictly"
+						:clickRowToExpand="false"
+						@check="onCheck"
+						@expand="onExpand"
+						@select="onSelect"
+					>
+						<template #title="{ slotTitle, ruleFlag }">
+							<span>{{ slotTitle }}</span>
+							<Icon v-if="ruleFlag" icon="ant-design:align-left-outlined" style="margin-left: 5px; color: red" />
+						</template>
+					</BasicTree>
+				</template>
+				<a-empty v-else description="鏃犲彲閰嶇疆閮ㄩ棬鏉冮檺" />
+			</a-spin>
+		</div>
 
-    <template #centerFooter>
-      <a-button type="primary" :loading="loading" ghost @click="onSubmit(false)">浠呬繚瀛�</a-button>
-    </template>
-  </BasicDrawer>
-  <DepartRoleDataRuleDrawer @register="registerDataRuleDrawer" />
+		<template #centerFooter>
+			<a-button type="primary" :loading="loading" ghost @click="onSubmit(false)">浠呬繚瀛�</a-button>
+		</template>
+	</BasicDrawer>
+	<DepartRoleDataRuleDrawer @register="registerDataRuleDrawer" />
 </template>
 
 <script lang="ts" setup>
-import { ref } from 'vue';
+	import { ref } from 'vue'
 
-import { BasicTree } from '/@/components/Tree/index';
-import { BasicDrawer, useDrawer, useDrawerInner } from '/@/components/Drawer';
-import { useMessage } from '/@/hooks/web/useMessage';
+	import { BasicDrawer, useDrawer, useDrawerInner } from '/@/components/Drawer'
+	import { BasicTree } from '/@/components/Tree/index'
+	import { useMessage } from '/@/hooks/web/useMessage'
 
-import DepartRoleDataRuleDrawer from './DepartRoleDataRuleDrawer.vue';
-import { queryTreeListForDeptRole, queryDeptRolePermission, saveDeptRolePermission } from '../depart.user.api';
+	import { queryDeptRolePermission, queryTreeListForDeptRole, saveDeptRolePermission } from '../depart.user.api'
+	import DepartRoleDataRuleDrawer from './DepartRoleDataRuleDrawer.vue'
 
-defineEmits(['register']);
-const { createMessage } = useMessage();
-const loading = ref(false);
-const departId = ref('');
-const roleId = ref('');
-const treeData = ref<Array<any>>([]);
-const checkedKeys = ref<Array<any>>([]);
-const lastCheckedKeys = ref<Array<any>>([]);
-const expandedKeys = ref<Array<any>>([]);
-const selectedKeys = ref<Array<any>>([]);
-const allTreeKeys = ref<Array<any>>([]);
-const checkStrictly = ref(true);
+	defineEmits(['register'])
+	const { createMessage } = useMessage()
+	const loading = ref(false)
+	const departId = ref('')
+	const roleId = ref('')
+	const treeData = ref<Array<any>>([])
+	const checkedKeys = ref<Array<any>>([])
+	const lastCheckedKeys = ref<Array<any>>([])
+	const expandedKeys = ref<Array<any>>([])
+	const selectedKeys = ref<Array<any>>([])
+	const allTreeKeys = ref<Array<any>>([])
+	const checkStrictly = ref(true)
 
-// 娉ㄥ唽鎶藉眽缁勪欢
-const [registerDrawer, { closeDrawer }] = useDrawerInner((data) => {
-  roleId.value = data.record.id;
-  departId.value = data.record.departId;
-  loadData();
-});
-// 娉ㄥ唽鏁版嵁瑙勫垯鎺堟潈寮圭獥鎶藉眽
-const [registerDataRuleDrawer, dataRuleDrawer] = useDrawer();
+	// 娉ㄥ唽鎶藉眽缁勪欢
+	const [registerDrawer, { closeDrawer }] = useDrawerInner((data) => {
+		roleId.value = data.record.id
+		departId.value = data.record.departId
+		loadData()
+	})
+	// 娉ㄥ唽鏁版嵁瑙勫垯鎺堟潈寮圭獥鎶藉眽
+	const [registerDataRuleDrawer, dataRuleDrawer] = useDrawer()
 
-async function loadData() {
-  try {
-    loading.value = true;
-    // 鐢ㄦ埛瑙掕壊鎺堟潈鍔熻兘锛屾煡璇㈣彍鍗曟潈闄愭爲
-    const { ids, treeList } = await queryTreeListForDeptRole({ departId: departId.value });
-    if (ids.length > 0) {
-      allTreeKeys.value = ids;
-      expandedKeys.value = ids;
-      treeData.value = treeList;
-      // 鏌ヨ瑙掕壊鎺堟潈
-      checkedKeys.value = await queryDeptRolePermission({ roleId: roleId.value });
-      lastCheckedKeys.value = [checkedKeys.value];
-    } else {
-      reset();
-    }
-  } finally {
-    loading.value = false;
-  }
-}
+	async function loadData() {
+		try {
+			loading.value = true
+			// 鐢ㄦ埛瑙掕壊鎺堟潈鍔熻兘锛屾煡璇㈣彍鍗曟潈闄愭爲
+			const { ids, treeList } = await queryTreeListForDeptRole({ departId: departId.value })
+			if (ids.length > 0) {
+				allTreeKeys.value = ids
+				expandedKeys.value = ids
+				treeData.value = treeList
+				// 鏌ヨ瑙掕壊鎺堟潈
+				checkedKeys.value = await queryDeptRolePermission({ roleId: roleId.value })
+				lastCheckedKeys.value = [checkedKeys.value]
+			} else {
+				reset()
+			}
+		} finally {
+			loading.value = false
+		}
+	}
 
-// 閲嶇疆椤甸潰
-function reset() {
-  treeData.value = [];
-  expandedKeys.value = [];
-  checkedKeys.value = [];
-  lastCheckedKeys.value = [];
-  loading.value = false;
-}
+	// 閲嶇疆椤甸潰
+	function reset() {
+		treeData.value = []
+		expandedKeys.value = []
+		checkedKeys.value = []
+		lastCheckedKeys.value = []
+		loading.value = false
+	}
 
-// tree鍕鹃�夊閫夋浜嬩欢
-function onCheck(event) {
-  if (checkStrictly.value) {
-    checkedKeys.value = event.checked;
-  } else {
-    checkedKeys.value = event;
-  }
-}
+	// tree鍕鹃�夊閫夋浜嬩欢
+	function onCheck(event) {
+		if (checkStrictly.value) {
+			checkedKeys.value = event.checked
+		} else {
+			checkedKeys.value = event
+		}
+	}
 
-// tree灞曞紑浜嬩欢
-function onExpand($expandedKeys) {
-  expandedKeys.value = $expandedKeys;
-}
+	// tree灞曞紑浜嬩欢
+	function onExpand($expandedKeys) {
+		expandedKeys.value = $expandedKeys
+	}
 
-// tree閫変腑浜嬩欢
-function onSelect($selectedKeys, { selectedNodes }) {
-  if (selectedNodes[0]?.ruleFlag) {
-    let functionId = $selectedKeys[0];
-    dataRuleDrawer.openDrawer(true, { roleId, departId, functionId });
-  }
-  selectedKeys.value = [];
-}
+	// tree閫変腑浜嬩欢
+	function onSelect($selectedKeys, { selectedNodes }) {
+		if (selectedNodes[0]?.ruleFlag) {
+			let functionId = $selectedKeys[0]
+			dataRuleDrawer.openDrawer(true, { roleId, departId, functionId })
+		}
+		selectedKeys.value = []
+	}
 
-function doClose() {
-  reset();
-  closeDrawer();
-}
+	function doClose() {
+		reset()
+		closeDrawer()
+	}
 
-function onClose() {
-  reset();
-}
+	function onClose() {
+		reset()
+	}
 
-async function onSubmit(exit) {
-  try {
-    loading.value = true;
-    let params = {
-      roleId: roleId.value,
-      permissionIds: checkedKeys.value.join(','),
-      lastpermissionIds: lastCheckedKeys.value.join(','),
-    };
-    await saveDeptRolePermission(params);
-    if (exit) {
-      doClose();
-    }
-  } finally {
-    loading.value = false;
-    if (!exit) {
-      loadData();
-    }
-  }
-}
+	async function onSubmit(exit) {
+		try {
+			loading.value = true
+			let params = {
+				roleId: roleId.value,
+				permissionIds: checkedKeys.value.join(','),
+				lastpermissionIds: lastCheckedKeys.value.join(','),
+			}
+			await saveDeptRolePermission(params)
+			if (exit) {
+				doClose()
+			}
+		} finally {
+			loading.value = false
+			if (!exit) {
+				loadData()
+			}
+		}
+	}
 </script>

--
Gitblit v1.9.3