Commit e307339ed3651e89407483b246a8759fff52e931
Merge branch 'f-dev' into 'main'
fix:修改teambition的问题 See merge request huang/yun-teng-iot-front!232
Showing
7 changed files
with
37 additions
and
11 deletions
@@ -110,6 +110,7 @@ export const usePermissionStore = defineStore({ | @@ -110,6 +110,7 @@ export const usePermissionStore = defineStore({ | ||
110 | * 否则不是超级管理员-获取对应角色的权限列表 | 110 | * 否则不是超级管理员-获取对应角色的权限列表 |
111 | */ | 111 | */ |
112 | const codeList = await getPermCode(); | 112 | const codeList = await getPermCode(); |
113 | + // console.log('codeList', codeList); | ||
113 | this.setPermCodeList(codeList); | 114 | this.setPermCodeList(codeList); |
114 | /** | 115 | /** |
115 | * 如果是超级管理员则获取对应权限列表 | 116 | * 如果是超级管理员则获取对应权限列表 |
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | type="primary" | 16 | type="primary" |
17 | color="error" | 17 | color="error" |
18 | @click="handleDeleteOrBatchDelete(null)" | 18 | @click="handleDeleteOrBatchDelete(null)" |
19 | - :disabled="hasBatchDelete" | 19 | + :disabled="singleStopDeleteStatus || hasBatchDelete" |
20 | > | 20 | > |
21 | 批量删除 | 21 | 批量删除 |
22 | </a-button> | 22 | </a-button> |
@@ -117,6 +117,7 @@ | @@ -117,6 +117,7 @@ | ||
117 | convertIds: [], | 117 | convertIds: [], |
118 | status: 0, | 118 | status: 0, |
119 | }); | 119 | }); |
120 | + const singleStopDeleteStatus = ref(false); | ||
120 | const disabledStatus1 = ref(true); | 121 | const disabledStatus1 = ref(true); |
121 | const disabledStatus2 = ref(true); | 122 | const disabledStatus2 = ref(true); |
122 | const disabledStatus3 = ref(true); | 123 | const disabledStatus3 = ref(true); |
@@ -314,6 +315,7 @@ | @@ -314,6 +315,7 @@ | ||
314 | setLoading(false); | 315 | setLoading(false); |
315 | reload(); | 316 | reload(); |
316 | disabledStatus1.value = true; | 317 | disabledStatus1.value = true; |
318 | + singleStopDeleteStatus.value = true; | ||
317 | } else { | 319 | } else { |
318 | createMessage.error('流转配置多项启用失败'); | 320 | createMessage.error('流转配置多项启用失败'); |
319 | } | 321 | } |
@@ -342,6 +344,7 @@ | @@ -342,6 +344,7 @@ | ||
342 | handleDisable, | 344 | handleDisable, |
343 | hasBatchDelete, | 345 | hasBatchDelete, |
344 | handleDeleteOrBatchDelete, | 346 | handleDeleteOrBatchDelete, |
347 | + singleStopDeleteStatus, | ||
345 | }; | 348 | }; |
346 | }, | 349 | }, |
347 | }); | 350 | }); |
@@ -212,7 +212,7 @@ | @@ -212,7 +212,7 @@ | ||
212 | unref(skipUnwrap.triggerItemRefs)[index].isUpdate = true; | 212 | unref(skipUnwrap.triggerItemRefs)[index].isUpdate = true; |
213 | unref(skipUnwrap.triggerItemRefs)[index].alarmScheduleRef.scheduleData = | 213 | unref(skipUnwrap.triggerItemRefs)[index].alarmScheduleRef.scheduleData = |
214 | trigger.triggerCondition.schedule; | 214 | trigger.triggerCondition.schedule; |
215 | - const getAttrKeyOption = trigger?.triggerCondition?.condition?.condition.map( | 215 | + const getAttrKeyOption = trigger?.triggerCondition?.condition?.condition?.map( |
216 | (m) => m.key.key | 216 | (m) => m.key.key |
217 | ); | 217 | ); |
218 | unref(skipUnwrap.triggerItemRefs)[index].setFieldsFormValueFun({ | 218 | unref(skipUnwrap.triggerItemRefs)[index].setFieldsFormValueFun({ |
@@ -287,7 +287,7 @@ | @@ -287,7 +287,7 @@ | ||
287 | unref(skipUnwrap.conditionItemRefs)[index].isUpdate = true; | 287 | unref(skipUnwrap.conditionItemRefs)[index].isUpdate = true; |
288 | unref(skipUnwrap.conditionItemRefs)[index].alarmScheduleRef.scheduleData = | 288 | unref(skipUnwrap.conditionItemRefs)[index].alarmScheduleRef.scheduleData = |
289 | condition.triggerCondition.schedule; | 289 | condition.triggerCondition.schedule; |
290 | - const getAttrKeyOption = condition?.triggerCondition?.condition?.condition.map( | 290 | + const getAttrKeyOption = condition?.triggerCondition?.condition?.condition?.map( |
291 | (m) => m.key.key | 291 | (m) => m.key.key |
292 | ); | 292 | ); |
293 | unref(skipUnwrap.conditionItemRefs)[index].setFieldsFormValueFun({ | 293 | unref(skipUnwrap.conditionItemRefs)[index].setFieldsFormValueFun({ |
@@ -521,7 +521,7 @@ | @@ -521,7 +521,7 @@ | ||
521 | unref(linkAge).map((item) => { | 521 | unref(linkAge).map((item) => { |
522 | isOrganizationChange && item.resetFieldsValueFunc(); | 522 | isOrganizationChange && item.resetFieldsValueFunc(); |
523 | item.updateFieldDeviceId(deviceList); | 523 | item.updateFieldDeviceId(deviceList); |
524 | - item.updateFieldAttr(watchAttrList); | 524 | + // item.updateFieldAttr(watchAttrList); |
525 | }); | 525 | }); |
526 | } | 526 | } |
527 | function setAlarmConfig(linkAge, isOrganizationChange = false) { | 527 | function setAlarmConfig(linkAge, isOrganizationChange = false) { |
@@ -123,7 +123,7 @@ export const schemas: FormSchema[] = [ | @@ -123,7 +123,7 @@ export const schemas: FormSchema[] = [ | ||
123 | field: 'prov', | 123 | field: 'prov', |
124 | label: '所在城市', | 124 | label: '所在城市', |
125 | required: true, | 125 | required: true, |
126 | - component: 'Input', | 126 | + component: 'Select', |
127 | colProps: { | 127 | colProps: { |
128 | span: 24, | 128 | span: 24, |
129 | }, | 129 | }, |
@@ -172,7 +172,7 @@ export const schemas: FormSchema[] = [ | @@ -172,7 +172,7 @@ export const schemas: FormSchema[] = [ | ||
172 | field: 'qrcode', | 172 | field: 'qrcode', |
173 | label: '联系我们', | 173 | label: '联系我们', |
174 | required: true, | 174 | required: true, |
175 | - component: 'Input', | 175 | + component: 'Select', |
176 | colProps: { | 176 | colProps: { |
177 | span: 24, | 177 | span: 24, |
178 | }, | 178 | }, |
@@ -62,6 +62,7 @@ | @@ -62,6 +62,7 @@ | ||
62 | @preview="handlePreview" | 62 | @preview="handlePreview" |
63 | :customRequest="customUploadHomeSwiper" | 63 | :customRequest="customUploadHomeSwiper" |
64 | :before-upload="beforeUploadHomeSwiper" | 64 | :before-upload="beforeUploadHomeSwiper" |
65 | + @change="handleChange" | ||
65 | > | 66 | > |
66 | <div v-if="fileList.length < 5"> | 67 | <div v-if="fileList.length < 5"> |
67 | <div style="margin-top: 1.875rem"> | 68 | <div style="margin-top: 1.875rem"> |
@@ -147,9 +148,6 @@ | @@ -147,9 +148,6 @@ | ||
147 | previewImage.value = file.url || file.preview; | 148 | previewImage.value = file.url || file.preview; |
148 | previewVisible.value = true; | 149 | previewVisible.value = true; |
149 | }; | 150 | }; |
150 | - const handleChange = ({ fileList: newFileList }: FileInfo) => { | ||
151 | - fileList.value = newFileList; | ||
152 | - }; | ||
153 | 151 | ||
154 | // logo图片上传 | 152 | // logo图片上传 |
155 | const logoPic = ref(); | 153 | const logoPic = ref(); |
@@ -232,6 +230,11 @@ | @@ -232,6 +230,11 @@ | ||
232 | } | 230 | } |
233 | return isJpgOrPng && isLt2M; | 231 | return isJpgOrPng && isLt2M; |
234 | }; | 232 | }; |
233 | + const handleChange = (info: FileInfo) => { | ||
234 | + if (info.file.status !== 'uploading') { | ||
235 | + fileList.value = info.fileList.filter((f: any) => !f.size); | ||
236 | + } | ||
237 | + }; | ||
235 | 238 | ||
236 | const handleUpdateInfo = async () => { | 239 | const handleUpdateInfo = async () => { |
237 | try { | 240 | try { |
@@ -10,10 +10,10 @@ | @@ -10,10 +10,10 @@ | ||
10 | <BasicForm @register="registerForm"> | 10 | <BasicForm @register="registerForm"> |
11 | <template #menu> | 11 | <template #menu> |
12 | <BasicTree | 12 | <BasicTree |
13 | + v-if="treeData.length" | ||
13 | checkable | 14 | checkable |
14 | toolbar | 15 | toolbar |
15 | - defaultExpandAll | ||
16 | - v-if="treeData.length" | 16 | + autoExpandParent |
17 | ref="treeRef" | 17 | ref="treeRef" |
18 | :treeData="treeData" | 18 | :treeData="treeData" |
19 | :replaceFields="{ title: 'menuName' }" | 19 | :replaceFields="{ title: 'menuName' }" |
@@ -69,8 +69,16 @@ | @@ -69,8 +69,16 @@ | ||
69 | } | 69 | } |
70 | }); | 70 | }); |
71 | } | 71 | } |
72 | + // function lookForAllId(data = [], arr = []) { | ||
73 | + // for (const item of data) { | ||
74 | + // arr.push(item.parentId); | ||
75 | + // if (item.children && item.children.length > 0) lookForAllId(item.children, arr); | ||
76 | + // } | ||
77 | + // return arr; | ||
78 | + // } | ||
72 | const originMenus = ref(); | 79 | const originMenus = ref(); |
73 | const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { | 80 | const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { |
81 | + allCheckedKeys.value = []; | ||
74 | resetFields(); | 82 | resetFields(); |
75 | roleId.value = ''; | 83 | roleId.value = ''; |
76 | // 在打开弹窗时清除所有选择的菜单 | 84 | // 在打开弹窗时清除所有选择的菜单 |
@@ -85,6 +93,7 @@ | @@ -85,6 +93,7 @@ | ||
85 | } | 93 | } |
86 | // 更新 | 94 | // 更新 |
87 | if (unref(isUpdate)) { | 95 | if (unref(isUpdate)) { |
96 | + allCheckedKeys.value = []; | ||
88 | checked.value = []; | 97 | checked.value = []; |
89 | //通过角色id去获取角色对应的菜单的ids | 98 | //通过角色id去获取角色对应的菜单的ids |
90 | roleMenus.value = await getMenusIdsByRoleId(data.record.id); | 99 | roleMenus.value = await getMenusIdsByRoleId(data.record.id); |
@@ -107,6 +116,8 @@ | @@ -107,6 +116,8 @@ | ||
107 | } | 116 | } |
108 | nextTick(() => { | 117 | nextTick(() => { |
109 | treeRef.value.setCheckedKeys(checked.value); | 118 | treeRef.value.setCheckedKeys(checked.value); |
119 | + // const expandTreeIds = lookForAllId(treeData.value); | ||
120 | + // treeRef.value.setExpandedKeys(expandTreeIds); | ||
110 | }); | 121 | }); |
111 | roleId.value = data.record.id; | 122 | roleId.value = data.record.id; |
112 | setFieldsValue(data.record); | 123 | setFieldsValue(data.record); |
@@ -127,6 +138,9 @@ | @@ -127,6 +138,9 @@ | ||
127 | status: values.status, | 138 | status: values.status, |
128 | menu: allCheckedKeys.value.length ? allCheckedKeys.value : originMenus.value, | 139 | menu: allCheckedKeys.value.length ? allCheckedKeys.value : originMenus.value, |
129 | }; | 140 | }; |
141 | + console.log(allCheckedKeys.value); | ||
142 | + if (allCheckedKeys.value.length == 0) return createMessage.error('请勾选权限菜单'); | ||
143 | + if (req.menu == undefined) return createMessage.error('请勾选权限菜单'); | ||
130 | saveOrUpdateRoleInfoWithMenu(req).then(() => { | 144 | saveOrUpdateRoleInfoWithMenu(req).then(() => { |
131 | closeDrawer(); | 145 | closeDrawer(); |
132 | emit('success'); | 146 | emit('success'); |
@@ -12,6 +12,7 @@ | @@ -12,6 +12,7 @@ | ||
12 | <BasicTree | 12 | <BasicTree |
13 | v-if="treeData.length > 0" | 13 | v-if="treeData.length > 0" |
14 | :treeData="treeData" | 14 | :treeData="treeData" |
15 | + autoExpandParent | ||
15 | :replaceFields="{ title: 'menuName' }" | 16 | :replaceFields="{ title: 'menuName' }" |
16 | :checkedKeys="roleMenus" | 17 | :checkedKeys="roleMenus" |
17 | @check="handleCheckClick" | 18 | @check="handleCheckClick" |
@@ -74,6 +75,7 @@ | @@ -74,6 +75,7 @@ | ||
74 | const originMenus = ref(); | 75 | const originMenus = ref(); |
75 | const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { | 76 | const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { |
76 | setDrawerProps({ confirmLoading: false }); | 77 | setDrawerProps({ confirmLoading: false }); |
78 | + allCheckedKeys.value = []; | ||
77 | resetFields(); | 79 | resetFields(); |
78 | roleId.value = ''; | 80 | roleId.value = ''; |
79 | // 在打开弹窗时清除所有选择的菜单 | 81 | // 在打开弹窗时清除所有选择的菜单 |
@@ -88,6 +90,7 @@ | @@ -88,6 +90,7 @@ | ||
88 | } | 90 | } |
89 | // 更新 | 91 | // 更新 |
90 | if (unref(isUpdate)) { | 92 | if (unref(isUpdate)) { |
93 | + allCheckedKeys.value = []; | ||
91 | checked.value = []; | 94 | checked.value = []; |
92 | //通过角色id去获取角色对应的菜单的ids | 95 | //通过角色id去获取角色对应的菜单的ids |
93 | roleMenus.value = await getMenusIdsByRoleId(data.record.id); | 96 | roleMenus.value = await getMenusIdsByRoleId(data.record.id); |
@@ -131,6 +134,8 @@ | @@ -131,6 +134,8 @@ | ||
131 | roleType: RoleEnum.TENANT_ADMIN, | 134 | roleType: RoleEnum.TENANT_ADMIN, |
132 | menu: allCheckedKeys.value.length ? allCheckedKeys.value : originMenus.value, | 135 | menu: allCheckedKeys.value.length ? allCheckedKeys.value : originMenus.value, |
133 | }; | 136 | }; |
137 | + if (allCheckedKeys.value.length == 0) return createMessage.error('请勾选权限菜单'); | ||
138 | + if (req.menu == undefined) return createMessage.error('请勾选权限菜单'); | ||
134 | saveOrUpdateRoleInfoWithMenu(req).then(() => { | 139 | saveOrUpdateRoleInfoWithMenu(req).then(() => { |
135 | closeDrawer(); | 140 | closeDrawer(); |
136 | emit('success'); | 141 | emit('success'); |