From 2781142ab67deba83925da706ca26b7f8ea1a759 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 04 九月 2025 15:42:24 +0800
Subject: [PATCH] 审批用户列表改为树形
---
src/views/flowmgr/taskassigntemp.vue | 80 ++++++++++++++++++++++++++++++++++------
1 files changed, 68 insertions(+), 12 deletions(-)
diff --git a/src/views/flowmgr/taskassigntemp.vue b/src/views/flowmgr/taskassigntemp.vue
index ccbf89b..e0d0c5c 100644
--- a/src/views/flowmgr/taskassigntemp.vue
+++ b/src/views/flowmgr/taskassigntemp.vue
@@ -8,7 +8,14 @@
-->
<template>
<basic-container>
- <avue-form ref="form" :option="attachOption" v-model="attachForm" @submit="formSubmit"></avue-form>
+ <avue-form ref="form" :option="attachOption" v-model="attachForm" @submit="formSubmit">
+ <template #machineCode="{}">
+ <el-tree-select ref="tree" filterable v-model="attachForm.machineCode"
+ node-key="machineCode"
+ :data="treeData" :props="defaultProps">
+ </el-tree-select>
+ </template>
+ </avue-form>
</basic-container>
</template>
@@ -42,6 +49,13 @@
var that = this;
return {
form: {},
+ treeData: [],
+ defaultProps: {
+ children: 'children',
+ label: 'name',
+ disabled: (data) => data.nodeType!=='machine',//浠呮満搴婅妭鐐瑰彲閫�
+ isLeaf: (data) => !data.hasChildren
+ },
machineCodeList: [],
attachOption: {
labelWidth: 160,
@@ -146,17 +160,8 @@
label: '鍔犲伐鏈哄簥',
prop: 'machineCode',
type: 'select',
- filterable: true,
- dicUrl: `/blade-mdm/machine/page?size=10000`,
- dicFormatter: function (res) {
- that.machineCodeList = res.data.records;
- return res.data.records;
- },
rules: [{ required: true, message: '蹇呭~', trigger: 'blur' }],
- props: {
- label: 'code',
- value: 'code',
- },
+
span: 12
},
{
@@ -190,10 +195,57 @@
}
],
},
- attachForm: {planLockDays:7},//榛樿7澶�
+ attachForm: {planLockDays:7,planStartTime: this.$dayjs().format('YYYY-MM-DD')},//榛樿7澶�
+ defaultForm: {planLockDays:7,planStartTime: this.$dayjs().format('YYYY-MM-DD')},
};
},
methods: {
+ treeLoad () {
+ axios({
+ url: '/blade-mdm/gkw/node/load-tree',
+ method: 'get',
+ }).then(
+ res => {
+ this.treeData = this.filterTreeData(res.data.data);
+ var firstIndex = 0;
+ res.data.data.forEach((item,index)=> {
+ if(item.children.length != 0) {
+ firstIndex = index;
+ }
+ })
+ //defaultKeys.push(item.id);
+ this.defaultKeys = [res.data.data[firstIndex].id];
+ }
+ )
+ },
+ filterTreeData(oriTreeData){
+ var roots = [];
+ for(var i=0;i<oriTreeData.length;i++){
+ roots.push(this.filterTreeNodes(oriTreeData[i]));
+ }
+ return roots;
+ },
+ filterTreeNodes(node) {
+ // 濡傛灉褰撳墠鑺傜偣鐨刵odeType鏄�'machine'锛屽垯娓呴櫎鍏跺瓙鑺傜偣
+ if (node.nodeType === 'machine') {
+ // 鍒涘缓涓�涓柊瀵硅薄锛屽鍒跺綋鍓嶈妭鐐圭殑灞炴�э紝浣嗘竻闄hildren
+ return {
+ ...node,
+ children: []
+ };
+ }
+
+ // 濡傛灉褰撳墠鑺傜偣鏈夊瓙鑺傜偣锛岄�掑綊澶勭悊姣忎釜瀛愯妭鐐�
+ if (node.children && node.children.length > 0) {
+ return {
+ ...node,
+ children: node.children.map(child => this.filterTreeNodes(child))
+ };
+ }
+
+ // 濡傛灉鏃笉鏄痬achine鑺傜偣涔熸病鏈夊瓙鑺傜偣锛岀洿鎺ヨ繑鍥炲師鑺傜偣
+ return node;
+ },
handleTrim(col){
//console.log(col)
let value = this.attachForm[col.column.prop];
@@ -224,6 +276,7 @@
message: '鎿嶄綔鎴愬姛!',
});
this.$refs.form.resetForm();
+ this.attachForm = this.defaultForm;
done();
},
error => {
@@ -233,6 +286,9 @@
);
}
},
+ mounted() {
+ this.treeLoad();
+ },
};
</script>
--
Gitblit v1.9.3