feat(B批缝隙): B3残留catch补齐/B7-1 add成环/B4-5 key/B5-2 scores索引/门禁62-0-0
This commit is contained in:
@@ -43,7 +43,7 @@
|
||||
@sort-change="sortChange($event, 'create_date')">创建时间</uni-th>
|
||||
<uni-th align="center" :width="buttonThWidth">操作</uni-th>
|
||||
</uni-tr>
|
||||
<uni-tr v-for="(item,index) in data" :key="index" :disabled="item.appid === appid">
|
||||
<uni-tr v-for="(item,index) in data" :key="item._id || item.appid || index" :disabled="item.appid === appid">
|
||||
<uni-td align="center">{{item.appid}}</uni-td>
|
||||
<uni-td align="center">{{item.name}}</uni-td>
|
||||
<uni-td align="left"><text>{{item.description || '-'}}</text></uni-td>
|
||||
|
||||
+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() {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<uni-th align="center">IP</uni-th>
|
||||
<uni-th align="center">时间</uni-th>
|
||||
</uni-tr>
|
||||
<uni-tr v-for="(item,index) in data" :key="index">
|
||||
<uni-tr v-for="(item,index) in data" :key="item._id || (item.create_date + '-' + item.ip + '-' + item.type) || index">
|
||||
<uni-td align="center">{{(pagination.current -1)*pagination.size + (index+1)}}</uni-td>
|
||||
<uni-td align="center">{{item.user_id[0] && item.user_id[0].username || '-'}}</uni-td>
|
||||
<uni-td align="center">{{item.user_id[0] && item.user_id[0].nickname || '-'}}</uni-td>
|
||||
|
||||
Reference in New Issue
Block a user