From 18d02e7db16cf5a21f8d5a152dd7ab27212d8eb6 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期一, 23 十月 2023 16:44:27 +0800 Subject: [PATCH] modified: src/views/admin/menu/index.vue modified: src/views/admin/menu/menu-form.vue modified: src/views/plan/customerorder/customerorder-form.vue modified: src/views/technology/completeproductstructure/completeproductstructure-form.vue modified: src/views/technology/completeproductstructure/index.vue modified: src/views/technology/document/document-form.vue modified: src/views/technology/operation/operation-form.vue modified: src/views/technology/structure/index.vue modified: vue.config.js --- src/views/admin/menu/menu-form.vue | 260 +++++++++++++++++++++++++++------------------------ 1 files changed, 138 insertions(+), 122 deletions(-) diff --git a/src/views/admin/menu/menu-form.vue b/src/views/admin/menu/menu-form.vue index 9c5639a..2b09af0 100644 --- a/src/views/admin/menu/menu-form.vue +++ b/src/views/admin/menu/menu-form.vue @@ -1,7 +1,6 @@ <template> <!-- 娣诲姞鎴栦慨鏀硅彍鍗曞璇濇 --> - <el-dialog :title="!form.menuId ? '鏂板': '淇敼'" - :visible.sync="visible"> + <el-dialog :title="!form.menuId ? '鏂板' : '淇敼'" :visible.sync="visible"> <el-form ref="dataForm" :model="form" :rules="rules" label-width="80px"> <el-row> <el-col :span="12"> @@ -15,35 +14,51 @@ </el-col> <el-col :span="12"> <el-form-item label="涓婄骇鑿滃崟"> - <treeselect v-model="form.parentId" - :options="menuOptions" - :normalizer="normalizer" - :show-count="true" - placeholder="閫夋嫨涓婄骇鑿滃崟" + <treeselect + v-model="form.parentId" + :options="menuOptions" + :normalizer="normalizer" + :show-count="true" + placeholder="閫夋嫨涓婄骇鑿滃崟" /> </el-form-item> </el-col> </el-row> <el-form-item label="鍥炬爣" prop="icon" v-if="form.type !== '1'"> - <avue-icon-select v-model="form.icon" :icon-list="iconList"></avue-icon-select> + <avue-icon-select + v-model="form.icon" + :icon-list="iconList" + ></avue-icon-select> </el-form-item> <el-form-item label="鍚嶇О" prop="name"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�"/> + <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" /> </el-form-item> <el-form-item label="璺敱鍦板潃" prop="path" v-if="form.type !== '1'"> - <el-input v-model="form.path" placeholder="璇疯緭鍏ヨ矾鐢卞湴鍧�"/> + <el-input v-model="form.path" placeholder="璇疯緭鍏ヨ矾鐢卞湴鍧�" /> </el-form-item> <el-form-item label="鏉冮檺鏍囪瘑" prop="permission" v-if="form.type === '1'"> - <el-input v-model="form.permission" placeholder="璇锋潈闄愭爣璇�" maxlength="50"/> + <el-input + v-model="form.permission" + placeholder="璇锋潈闄愭爣璇�" + maxlength="50" + /> </el-form-item> <el-row> <el-col :span="12"> <el-form-item label="鎺掑簭" prop="sort"> - <el-input-number v-model="form.sort" controls-position="right" :min="0"/> + <el-input-number + v-model="form.sort" + controls-position="right" + :min="0" + /> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="璺敱缂撳啿" prop="keepAlive" v-if="form.type !== '1'"> + <el-form-item + label="璺敱缂撳啿" + prop="keepAlive" + v-if="form.type !== '1'" + > <el-radio-group v-model="form.keepAlive"> <el-radio-button label="0">鍚�</el-radio-button> <el-radio-button label="1">鏄�</el-radio-button> @@ -60,117 +75,118 @@ </template> <script> - import {addObj, fetchMenuTree, getObj, putObj} from '@/api/admin/menu' - import Treeselect from "@riophae/vue-treeselect" - import iconList from '@/const/iconList' - import TableForm from './' - import "@riophae/vue-treeselect/dist/vue-treeselect.css" +import { addObj, fetchMenuTree, getObj, putObj } from '@/api/admin/menu' +import Treeselect from '@riophae/vue-treeselect' +import iconList from '@/const/iconList' +import TableForm from './' +import '@riophae/vue-treeselect/dist/vue-treeselect.css' - export default { - name: "Menu", - components: {Treeselect, TableForm}, - data() { - return { - // 閬僵灞� - loading: true, - // 鑿滃崟鏍戦�夐」 - menuOptions: [], - // 鏄惁鏄剧ず寮瑰嚭灞� - visible: false, - // 鍥炬爣 - iconList: iconList, - form: { - menuId: undefined, - name: undefined, - path: undefined, - icon: undefined, - permission: undefined, - type: '0', - keepAlive: '0', - sort: 999 - }, - // 琛ㄥ崟鏍¢獙 - rules: { - name: [ - {required: true, message: "鑿滃崟鍚嶇О涓嶈兘涓虹┖", trigger: "blur"} - ], - sort: [ - {required: true, message: "鑿滃崟椤哄簭涓嶈兘涓虹┖", trigger: "blur"} - ], - path: [ - {required: true, message: "璺敱鍦板潃涓嶈兘涓虹┖", trigger: "blur"} - ], - keepAlive: [ - {required: true, message: "璺敱缂撳啿涓嶈兘涓虹┖", trigger: "blur"} - ], - permission: [ - {required: true, message: "鏉冮檺鏍囪瘑涓嶈兘涓虹┖", trigger: "blur"} - ] - } - }; - }, - methods: { - init(isEdit, id) { - if (id != null) { - this.form.parentId = id; - } - this.visible = true - this.getTreeselect(); - this.$nextTick(() => { - this.$refs['dataForm'].resetFields() - if (isEdit) { - getObj(id).then(response => { - this.form = response.data.data - }) - } else { - this.form.menuId = undefined - } - }) +export default { + name: 'Menu', + // eslint-disable-next-line vue/no-unused-components + components: { Treeselect, TableForm }, + data() { + return { + // 閬僵灞� + loading: true, + // 鑿滃崟鏍戦�夐」 + menuOptions: [], + // 鏄惁鏄剧ず寮瑰嚭灞� + visible: false, + // 鍥炬爣 + iconList: iconList, + form: { + menuId: undefined, + name: undefined, + path: undefined, + icon: undefined, + permission: undefined, + type: '0', + keepAlive: '0', + sort: 999 }, - // 琛ㄥ崟鎻愪氦 - dataFormSubmit() { - this.$refs['dataForm'].validate((valid) => { - if (valid) { - if (this.form.parentId === undefined) { - this.form.parentId = -1 - } - - if (this.form.menuId) { - putObj(this.form).then(data => { - this.$message.success('淇敼鎴愬姛') - this.visible = false - this.$emit('refreshDataList') - }); - } else { - addObj(this.form).then(data => { - this.$message.success('娣诲姞鎴愬姛') - this.visible = false - this.$emit('refreshDataList') - }) - } - } - }) - }, - /** 鏌ヨ鑿滃崟涓嬫媺鏍戠粨鏋� */ - getTreeselect() { - fetchMenuTree().then(response => { - this.menuOptions = []; - const menu = {id: -1, name: '鏍硅彍鍗�', children: []}; - menu.children = response.data.data; - this.menuOptions.push(menu); - }); - }, - /** 杞崲鑿滃崟鏁版嵁缁撴瀯 */ - normalizer(node) { - if (node.children && !node.children.length) { - delete node.children; - } - return { - id: node.id, - label: node.name, - children: node.children - }; + // 琛ㄥ崟鏍¢獙 + rules: { + name: [ + { required: true, message: '鑿滃崟鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' } + ], + sort: [ + { required: true, message: '鑿滃崟椤哄簭涓嶈兘涓虹┖', trigger: 'blur' } + ], + path: [ + { required: true, message: '璺敱鍦板潃涓嶈兘涓虹┖', trigger: 'blur' } + ], + keepAlive: [ + { required: true, message: '璺敱缂撳啿涓嶈兘涓虹┖', trigger: 'blur' } + ], + permission: [ + { required: true, message: '鏉冮檺鏍囪瘑涓嶈兘涓虹┖', trigger: 'blur' } + ] } } - }; + }, + methods: { + init(isEdit, id) { + if (id != null) { + this.form.parentId = id + } + this.visible = true + this.getTreeselect() + this.$nextTick(() => { + this.$refs.dataForm.resetFields() + if (isEdit) { + getObj(id).then((response) => { + this.form = response.data.data + }) + } else { + this.form.menuId = undefined + } + }) + }, + // 琛ㄥ崟鎻愪氦 + dataFormSubmit() { + this.$refs.dataForm.validate((valid) => { + if (valid) { + if (this.form.parentId === undefined) { + this.form.parentId = -1 + } + + if (this.form.menuId) { + putObj(this.form).then((data) => { + this.$message.success('淇敼鎴愬姛') + this.visible = false + this.$emit('refreshDataList') + }) + } else { + addObj(this.form).then((data) => { + this.$message.success('娣诲姞鎴愬姛') + this.visible = false + this.$emit('refreshDataList') + }) + } + } + }) + }, + /** 鏌ヨ鑿滃崟涓嬫媺鏍戠粨鏋� */ + getTreeselect() { + fetchMenuTree().then((response) => { + this.menuOptions = [] + const menu = { id: -1, name: '鏍硅彍鍗�', children: [] } + menu.children = response.data.data + this.menuOptions.push(menu) + }) + }, + /** 杞崲鑿滃崟鏁版嵁缁撴瀯 */ + normalizer(node) { + if (node.children && !node.children.length) { + delete node.children + } + return { + id: node.id, + label: node.name, + children: node.children + } + } + } +} </script> -- Gitblit v1.9.3