| | |
| | | --> |
| | | <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> |
| | | |
| | |
| | | var that = this; |
| | | return { |
| | | form: {}, |
| | | treeData: [], |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'name', |
| | | disabled: (data) => data.nodeType!=='machine',//仅机床节点可选 |
| | | isLeaf: (data) => !data.hasChildren |
| | | }, |
| | | machineCodeList: [], |
| | | attachOption: { |
| | | labelWidth: 160, |
| | |
| | | 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 |
| | | }, |
| | | { |
| | |
| | | } |
| | | ], |
| | | }, |
| | | 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) { |
| | | // 如果当前节点的nodeType是'machine',则清除其子节点 |
| | | if (node.nodeType === 'machine') { |
| | | // 创建一个新对象,复制当前节点的属性,但清除children |
| | | return { |
| | | ...node, |
| | | children: [] |
| | | }; |
| | | } |
| | | |
| | | // 如果当前节点有子节点,递归处理每个子节点 |
| | | if (node.children && node.children.length > 0) { |
| | | return { |
| | | ...node, |
| | | children: node.children.map(child => this.filterTreeNodes(child)) |
| | | }; |
| | | } |
| | | |
| | | // 如果既不是machine节点也没有子节点,直接返回原节点 |
| | | return node; |
| | | }, |
| | | handleTrim(col){ |
| | | //console.log(col) |
| | | let value = this.attachForm[col.column.prop]; |
| | |
| | | message: '操作成功!', |
| | | }); |
| | | this.$refs.form.resetForm(); |
| | | this.attachForm = this.defaultForm; |
| | | done(); |
| | | }, |
| | | error => { |
| | |
| | | ); |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.treeLoad(); |
| | | }, |
| | | }; |
| | | </script> |
| | | |