Commit a4d791812a04d24793ec2e7d1393d7b9d90a0a80

Authored by fengtao
1 parent 910b1652

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

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