Commit a4d791812a04d24793ec2e7d1393d7b9d90a0a80

Authored by fengtao
1 parent 910b1652

fix:检查所有弹窗下方确认按钮加载显示

@@ -50,6 +50,7 @@ @@ -50,6 +50,7 @@
50 ...data, 50 ...data,
51 severity: alarmLevel(data.severity), 51 severity: alarmLevel(data.severity),
52 status: statusType(data.status), 52 status: statusType(data.status),
  53 + details: JSON.stringify(data.details),
53 }); 54 });
54 alarmStatus.value = data.status; 55 alarmStatus.value = data.status;
55 alarmId.value = data.id; 56 alarmId.value = data.id;
src/views/camera/manage/CameraDrawer.vue renamed from src/views/camera/manage/ContactDrawer.vue
@@ -62,7 +62,7 @@ @@ -62,7 +62,7 @@
62 </template> 62 </template>
63 </BasicTable> 63 </BasicTable>
64 </PageWrapper> 64 </PageWrapper>
65 - <ContactDrawer @register="registerDrawer" @success="handleSuccess" /> 65 + <CameraDrawer @register="registerDrawer" @success="handleSuccess" />
66 <VideoPreviewModal @register="registerModal" /> 66 <VideoPreviewModal @register="registerModal" />
67 </div> 67 </div>
68 </template> 68 </template>
@@ -73,7 +73,7 @@ @@ -73,7 +73,7 @@
73 import { PageWrapper } from '/@/components/Page'; 73 import { PageWrapper } from '/@/components/Page';
74 import { useMessage } from '/@/hooks/web/useMessage'; 74 import { useMessage } from '/@/hooks/web/useMessage';
75 import { useDrawer } from '/@/components/Drawer'; 75 import { useDrawer } from '/@/components/Drawer';
76 - import ContactDrawer from './ContactDrawer.vue'; 76 + import CameraDrawer from './CameraDrawer.vue';
77 import { useResetOrganizationTree, OrganizationIdTree } from '/@/views/common/organizationIdTree'; 77 import { useResetOrganizationTree, OrganizationIdTree } from '/@/views/common/organizationIdTree';
78 import { cameraPage, deleteCameraManage } from '/@/api/camera/cameraManager'; 78 import { cameraPage, deleteCameraManage } from '/@/api/camera/cameraManager';
79 import { searchFormSchema, columns } from './config.data'; 79 import { searchFormSchema, columns } from './config.data';
@@ -86,7 +86,7 @@ @@ -86,7 +86,7 @@
86 OrganizationIdTree, 86 OrganizationIdTree,
87 BasicTable, 87 BasicTable,
88 TableAction, 88 TableAction,
89 - ContactDrawer, 89 + CameraDrawer,
90 VideoPreviewModal, 90 VideoPreviewModal,
91 TableImg, 91 TableImg,
92 }, 92 },
@@ -26,9 +26,7 @@ @@ -26,9 +26,7 @@
26 /></div> 26 /></div>
27 </div> 27 </div>
28 <div style="float: right"> 28 <div style="float: right">
29 - <Button :disabled="disStatus" type="primary" @click="handleSubmit" class="mr-2"  
30 - >确认</Button  
31 - > 29 + <Button type="primary" @click="handleSubmit" class="mr-2">确认</Button>
32 <Button type="default" @click="handleCancel" class="mr-2">取消</Button> 30 <Button type="default" @click="handleCancel" class="mr-2">取消</Button>
33 </div> 31 </div>
34 </BasicModal> 32 </BasicModal>
@@ -65,7 +63,6 @@ @@ -65,7 +63,6 @@
65 emits: ['success', 'register'], 63 emits: ['success', 'register'],
66 setup(_, { emit }) { 64 setup(_, { emit }) {
67 const { createMessage } = useMessage(); 65 const { createMessage } = useMessage();
68 - const disStatus = ref(false);  
69 const { proxy } = getCurrentInstance() as any; 66 const { proxy } = getCurrentInstance() as any;
70 let allPostForm: any = reactive({}); 67 let allPostForm: any = reactive({});
71 const getNameObj = reactive({ 68 const getNameObj = reactive({
@@ -106,9 +103,11 @@ @@ -106,9 +103,11 @@
106 editType.name = d.name; 103 editType.name = d.name;
107 }; 104 };
108 105
109 - const [registerDrawer, { closeModal }] = useModalInner(async (data) => { 106 + const [registerDrawer, { setModalProps, closeModal }] = useModalInner(async (data) => {
110 isUpdate.value = !!data?.isUpdate; 107 isUpdate.value = !!data?.isUpdate;
111 current.value = 0; 108 current.value = 0;
  109 + setModalProps({ confirmLoading: false });
  110 +
112 if (unref(isUpdate)) { 111 if (unref(isUpdate)) {
113 editPostId.value = data.record.id; 112 editPostId.value = data.record.id;
114 editNextType.type = data.record.type; 113 editNextType.type = data.record.type;
@@ -216,24 +215,26 @@ @@ -216,24 +215,26 @@
216 } 215 }
217 }; 216 };
218 const handleSubmit = async () => { 217 const handleSubmit = async () => {
219 - if (!unref(isUpdate)) {  
220 - disStatus.value = true;  
221 - await addOrEditFunc();  
222 - await postAddConvertApi(allPostForm);  
223 - createMessage.success('数据流转新增成功');  
224 - emit('success');  
225 - defineClearFunc();  
226 - closeModal();  
227 - setTimeout(() => {  
228 - disStatus.value = false;  
229 - }, 2000);  
230 - } else {  
231 - await addOrEditFunc();  
232 - await postAddConvertApi(allPostForm);  
233 - createMessage.success('数据流转编辑成功');  
234 - emit('success');  
235 - defineClearFunc();  
236 - closeModal(); 218 + try {
  219 + setModalProps({ confirmLoading: true });
  220 + if (!unref(isUpdate)) {
  221 + await addOrEditFunc();
  222 + await postAddConvertApi(allPostForm);
  223 + createMessage.success('数据流转新增成功');
  224 + emit('success');
  225 + defineClearFunc();
  226 + closeModal();
  227 + } else {
  228 + await addOrEditFunc();
  229 + await postAddConvertApi(allPostForm);
  230 + createMessage.success('数据流转编辑成功');
  231 + emit('success');
  232 + defineClearFunc();
  233 + closeModal();
  234 + }
  235 + } catch {
  236 + } finally {
  237 + setModalProps({ confirmLoading: false });
237 } 238 }
238 }; 239 };
239 return { 240 return {
@@ -247,7 +248,6 @@ @@ -247,7 +248,6 @@
247 getModeSelectVal, 248 getModeSelectVal,
248 refTransferConfigParams, 249 refTransferConfigParams,
249 refTransferConfigMode, 250 refTransferConfigMode,
250 - disStatus,  
251 }; 251 };
252 }, 252 },
253 }); 253 });
@@ -44,8 +44,9 @@ @@ -44,8 +44,9 @@
44 const aceEditor = ref(); 44 const aceEditor = ref();
45 const aceRef = ref(); 45 const aceRef = ref();
46 const getTitle = computed(() => (isUpdate.value ? '编辑转换脚本' : '新增转换脚本')); 46 const getTitle = computed(() => (isUpdate.value ? '编辑转换脚本' : '新增转换脚本'));
47 - const [register, { closeDrawer }] = useDrawerInner((data) => { 47 + const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => {
48 resetFields(); 48 resetFields();
  49 + setDrawerProps({ confirmLoading: false });
49 isUpdate.value = data.isUpdate; 50 isUpdate.value = data.isUpdate;
50 initEditor(data.record?.configuration.jsScript); 51 initEditor(data.record?.configuration.jsScript);
51 if (isUpdate.value) { 52 if (isUpdate.value) {
@@ -85,6 +86,8 @@ @@ -85,6 +86,8 @@
85 const handleSubmit = async () => { 86 const handleSubmit = async () => {
86 const fieldsValue = getFieldsValue(); 87 const fieldsValue = getFieldsValue();
87 try { 88 try {
  89 + setDrawerProps({ confirmLoading: true });
  90 +
88 await createOrEditTransformScriptApi({ 91 await createOrEditTransformScriptApi({
89 configuration: { 92 configuration: {
90 jsScript: aceEditor.value.getValue(), 93 jsScript: aceEditor.value.getValue(),
@@ -99,6 +102,8 @@ @@ -99,6 +102,8 @@
99 } catch (e) { 102 } catch (e) {
100 const { createMessage } = useMessage(); 103 const { createMessage } = useMessage();
101 createMessage.success('保存失败'); 104 createMessage.success('保存失败');
  105 + } finally {
  106 + setDrawerProps({ confirmLoading: false });
102 } 107 }
103 }; 108 };
104 const handleFormat = () => { 109 const handleFormat = () => {
@@ -126,8 +126,7 @@ @@ -126,8 +126,7 @@
126 }; 126 };
127 Reflect.set(values, 'meta', metaTemp); 127 Reflect.set(values, 'meta', metaTemp);
128 // saveMenu 128 // saveMenu
129 - const data = await saveMenuApi(values, isUpdate.value);  
130 - console.log('_______保存返回结果____data:' + data); 129 + await saveMenuApi(values, isUpdate.value);
131 130
132 closeDrawer(); //关闭侧框 131 closeDrawer(); //关闭侧框
133 emit('success'); 132 emit('success');
@@ -80,6 +80,7 @@ @@ -80,6 +80,7 @@
80 ); 80 );
81 closeDrawer(); //关闭侧框 81 closeDrawer(); //关闭侧框
82 emit('success'); 82 emit('success');
  83 + } catch {
83 } finally { 84 } finally {
84 setDrawerProps({ confirmLoading: false }); 85 setDrawerProps({ confirmLoading: false });
85 } 86 }
@@ -95,7 +95,9 @@ @@ -95,7 +95,9 @@
95 //通过角色id去获取角色对应的菜单的ids 95 //通过角色id去获取角色对应的菜单的ids
96 roleMenus.value = await getMenusIdsByRoleId(data.record.id); 96 roleMenus.value = await getMenusIdsByRoleId(data.record.id);
97 originMenus.value = [...roleMenus.value]; 97 originMenus.value = [...roleMenus.value];
  98 +
98 for (let m of treeData.value) { 99 for (let m of treeData.value) {
  100 + console.log(m);
99 for (let m1 of roleMenus.value) { 101 for (let m1 of roleMenus.value) {
100 // 利用continue特性优化一下性能 102 // 利用continue特性优化一下性能
101 if (!(m.key === m1 && m.children.length)) continue; 103 if (!(m.key === m1 && m.children.length)) continue;
@@ -90,19 +90,25 @@ @@ -90,19 +90,25 @@
90 }; 90 };
91 91
92 async function handleSubmit() { 92 async function handleSubmit() {
93 - if (!unref(isUpdate)) {  
94 - getAllFieldsFunc();  
95 - await saveTenantProfileApi(postAllData);  
96 - createMessage.success('租户配置新增成功');  
97 - closeDrawer();  
98 - emit('success');  
99 - resetFields();  
100 - } else {  
101 - getAllFieldsFunc();  
102 - await saveTenantProfileApi(postAllData);  
103 - createMessage.success('租户配置编辑成功');  
104 - closeDrawer();  
105 - emit('success'); 93 + try {
  94 + setDrawerProps({ confirmLoading: true });
  95 + if (!unref(isUpdate)) {
  96 + getAllFieldsFunc();
  97 + await saveTenantProfileApi(postAllData);
  98 + createMessage.success('租户配置新增成功');
  99 + closeDrawer();
  100 + emit('success');
  101 + resetFields();
  102 + } else {
  103 + getAllFieldsFunc();
  104 + await saveTenantProfileApi(postAllData);
  105 + createMessage.success('租户配置编辑成功');
  106 + closeDrawer();
  107 + emit('success');
  108 + }
  109 + } catch (e) {
  110 + } finally {
  111 + setDrawerProps({ confirmLoading: false });
106 } 112 }
107 } 113 }
108 return { 114 return {
@@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
2 <BasicDrawer 2 <BasicDrawer
3 v-bind="$attrs" 3 v-bind="$attrs"
4 @register="tenantAdminDrawer" 4 @register="tenantAdminDrawer"
5 - showFooter  
6 title="租户管理员" 5 title="租户管理员"
7 width="60%" 6 width="60%"
8 @ok="handleSubmit" 7 @ok="handleSubmit"
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
26 </BasicDrawer> 26 </BasicDrawer>
27 </template> 27 </template>
28 <script lang="ts"> 28 <script lang="ts">
29 - import { defineComponent, ref, computed, unref } from 'vue'; 29 + import { defineComponent, ref, computed, unref, nextTick } from 'vue';
30 import { BasicForm, useForm } from '/@/components/Form/index'; 30 import { BasicForm, useForm } from '/@/components/Form/index';
31 import { formSchema } from './role.data'; 31 import { formSchema } from './role.data';
32 import { BasicDrawer, useDrawerInner } from '/@/components/Drawer'; 32 import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
@@ -79,6 +79,7 @@ @@ -79,6 +79,7 @@
79 } 79 }
80 const originMenus = ref(); 80 const originMenus = ref();
81 const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { 81 const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
  82 + setDrawerProps({ confirmLoading: false });
82 resetFields(); 83 resetFields();
83 roleId.value = ''; 84 roleId.value = '';
84 // 在打开弹窗时清除所有选择的菜单 85 // 在打开弹窗时清除所有选择的菜单
@@ -96,14 +97,23 @@ @@ -96,14 +97,23 @@
96 //通过角色id去获取角色对应的菜单的ids 97 //通过角色id去获取角色对应的菜单的ids
97 roleMenus.value = await getMenusIdsByRoleId(data.record.id); 98 roleMenus.value = await getMenusIdsByRoleId(data.record.id);
98 originMenus.value = [...roleMenus.value]; 99 originMenus.value = [...roleMenus.value];
  100 + const copyData = [];
  101 + Object.assign(copyData, roleMenus.value.slice(0, 5));
  102 + console.log('Query role ids', copyData);
  103 + console.log('TreeData ids', treeData.value);
99 for (let m of treeData.value) { 104 for (let m of treeData.value) {
100 for (let m1 of roleMenus.value) { 105 for (let m1 of roleMenus.value) {
101 // 利用continue特性优化一下性能 106 // 利用continue特性优化一下性能
102 - if (!(m.key === m1 && m.children.length)) continue;  
103 - useChildrenIdsRemoveParentId(m1, roleMenus.value); 107 + if (m.key != m1 && m?.children.length == 0) {
  108 + console.log(m1);
  109 + useChildrenIdsRemoveParentId(m1, roleMenus.value);
  110 + }
104 } 111 }
105 } 112 }
106 - treeRef.value.setCheckedKeys(roleMenus.value); 113 + console.log('Rolemenus', roleMenus.value);
  114 + nextTick(() => {
  115 + treeRef.value.setCheckedKeys(roleMenus.value);
  116 + });
107 roleId.value = data.record.id; 117 roleId.value = data.record.id;
108 setFieldsValue(data.record); 118 setFieldsValue(data.record);
109 } 119 }
@@ -124,10 +134,12 @@ @@ -124,10 +134,12 @@
124 roleType: RoleEnum.TENANT_ADMIN, 134 roleType: RoleEnum.TENANT_ADMIN,
125 menu: allCheckedKeys.value.length ? allCheckedKeys.value : originMenus.value, 135 menu: allCheckedKeys.value.length ? allCheckedKeys.value : originMenus.value,
126 }; 136 };
127 - await saveOrUpdateRoleInfoWithMenu(req);  
128 - closeDrawer();  
129 - emit('success');  
130 - createMessage.success(`${unref(isUpdate) ? '编辑' : '新增'}成功`); 137 + saveOrUpdateRoleInfoWithMenu(req).then(() => {
  138 + closeDrawer();
  139 + emit('success');
  140 + createMessage.success(`${unref(isUpdate) ? '编辑' : '新增'}成功`);
  141 + });
  142 + } catch {
131 } finally { 143 } finally {
132 setDrawerProps({ confirmLoading: false }); 144 setDrawerProps({ confirmLoading: false });
133 } 145 }