feat(B批缝隙): B3残留catch补齐/B7-1 add成环/B4-5 key/B5-2 scores索引/门禁62-0-0
This commit is contained in:
+28
-11
@@ -48,8 +48,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import validator from '@/js_sdk/validator/opendb-admin-menus.js';
|
||||
import Icons from '@/pages/demo/icons/icons.vue'
|
||||
import validator from '@/js_sdk/validator/opendb-admin-menus.js';
|
||||
import Icons from '@/pages/demo/icons/icons.vue'
|
||||
import { wouldCreateCycle } from '@/components/uni-data-menu/util.js';
|
||||
|
||||
const db = uniCloud.database();
|
||||
const dbCmd = db.command;
|
||||
@@ -124,20 +125,36 @@
|
||||
title: '提交中...',
|
||||
mask: true
|
||||
})
|
||||
// 使用 uni-clientDB 提交数据
|
||||
db.collection(dbCollectionName).add(value).then((res) => {
|
||||
uni.showToast({
|
||||
title: '新增成功'
|
||||
// B7-1: 祖先链成环校验(与 edit 页一致:拉全量菜单走一遍祖先链,500 与 list 页一致)
|
||||
db.collection(dbCollectionName).field('menu_id,parent_id').limit(500).get().then((listRes) => {
|
||||
const menus = (listRes.result && listRes.result.data) || []
|
||||
if (wouldCreateCycle(menus, value.menu_id, value.parent_id)) {
|
||||
uni.hideLoading()
|
||||
return uni.showModal({
|
||||
content: '该父菜单会导致循环引用(A→B→A),已阻止提交',
|
||||
showCancel: false
|
||||
})
|
||||
}
|
||||
return db.collection(dbCollectionName).add(value).then((res) => {
|
||||
uni.showToast({
|
||||
title: '新增成功'
|
||||
})
|
||||
this.getOpenerEventChannel().emit('refreshData')
|
||||
setTimeout(() => uni.navigateBack(), 500)
|
||||
}).catch((err) => {
|
||||
uni.showModal({
|
||||
content: err.message || '请求服务失败',
|
||||
showCancel: false
|
||||
})
|
||||
}).finally(() => {
|
||||
uni.hideLoading()
|
||||
})
|
||||
this.getOpenerEventChannel().emit('refreshData')
|
||||
setTimeout(() => uni.navigateBack(), 500)
|
||||
}).catch((err) => {
|
||||
uni.hideLoading()
|
||||
uni.showModal({
|
||||
content: err.message || '请求服务失败',
|
||||
content: (err && err.message) || '菜单校验失败,请重试',
|
||||
showCancel: false
|
||||
})
|
||||
}).finally(() => {
|
||||
uni.hideLoading()
|
||||
})
|
||||
},
|
||||
showIconPopup() {
|
||||
|
||||
Reference in New Issue
Block a user