From e09b848b65d7fda7264e9e536e37ad8e45f65e9c Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期三, 06 九月 2023 17:42:47 +0800 Subject: [PATCH] modified: src/views/inspectionManagement/commissionInspection/index.vue modified: src/views/standardLibrary/index.vue --- src/views/standardLibrary/index.vue | 209 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 171 insertions(+), 38 deletions(-) diff --git a/src/views/standardLibrary/index.vue b/src/views/standardLibrary/index.vue index fc4168a..5cbf919 100644 --- a/src/views/standardLibrary/index.vue +++ b/src/views/standardLibrary/index.vue @@ -2,8 +2,15 @@ <div class="standard-library-main"> <div class="content-main"> <div class="library-bom" style="width: 300px"> - <el-input clearable v-model="filterText" placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"></el-input> - <el-button type="text">鍏ㄩ儴</el-button> + <el-row :gutter="10"> + <el-col :span="19"> + <el-input size="small" clearable v-model="filterText" placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"></el-input> + </el-col> + <el-col :span="5"> + <el-button size="small" type="primary" icon="el-icon-plus" @click="addTreeFormVisible = true"></el-button> + </el-col> + </el-row> + <el-button size="small" type="text">鍏ㄩ儴</el-button> <el-tree ref="tree" style="width: 100%" class="filter-tree" :data="standardTree" :props="defaultProps" node-key="id" :highlight-current="true" :default-expand-all="true" :filter-node-method="filterNode" :render-content="renderContent" @node-click="nodeClick" /> @@ -12,13 +19,13 @@ <div class="table-header"> <div class="serve-btn"> <span class="tipMsg">{{ msg !== "" ? msg : "" }}</span> - <el-select v-model="versionValue" @change="changeSelect" placeholder="璇烽�夋嫨鐗堟湰鍙�"> + <el-select size="small" v-model="versionValue" @change="changeSelect" placeholder="璇烽�夋嫨鐗堟湰鍙�"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> - <el-button type="primary" @click="addVersionFun">鏂板鐗堟湰鍙�</el-button> - <el-button type="primary" icon="el-icon-plus" @click="addTreeFormVisible = true">鏂板</el-button> - <el-button class="top_div_button" icon="el-icon-delete-solid" style="color: #00a5ff" + <el-button size="small" type="primary" @click="addVersionFun">鏂板鐗堟湰鍙�</el-button> + <el-button size="small" type="primary" @click="centerDialogVisible = true">鏂板椤圭洰</el-button> + <el-button size="small" class="top_div_button" icon="el-icon-delete-solid" style="color: #00a5ff" @click="deleteListClick">鍒犻櫎</el-button> </div> </div> @@ -65,23 +72,50 @@ <el-dialog class="addTree" title="娣诲姞鏍囧噯鎸囨爣" width="28%" :visible.sync="addTreeFormVisible"> <el-form v-model="addTreeForm" label-position="top"> <el-form-item label="鏍囧噯绫诲瀷"> - <el-cascader v-model="addTreeForm.addTypeArr" :options="formTypeOptions" + <el-cascader v-model="addTreeForm.addTypeArr" :options="formTypeOptions" :props="{ ...defaultProps, checkStrictly: true }" clearable @change="changeCascader"/> </el-form-item> <el-form-item v-show="addTreeForm.addTypeArr.length < 2" label="鐗╂枡鍚嶇О"> - <el-input v-model="addTreeForm.materialName" /> + <el-input @change="changeSample" v-model="addTreeForm.materialName" /> </el-form-item> <el-form-item v-show="addTreeForm.addTypeArr.length < 3" label="鎵ц鏍囧噯"> - <el-input v-model="addTreeForm.standardName" /> + <el-input v-model="addTreeForm.standardName" /> </el-form-item> <el-form-item v-show="addTreeForm.addTypeArr.length < 4" label="瑙勬牸鍨嬪彿"> - <el-input v-model="addTreeForm.specificationsName" /> + <el-input v-model="addTreeForm.specificationsName" /> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="subAddTreeForm">纭� 瀹�</el-button> - <el-button @click="addTreeFormVisible = false">鍙� 娑�</el-button> + <el-button @click="clear">鍙� 娑�</el-button> </div> + </el-dialog> + <el-dialog :visible.sync="centerDialogVisible" width="30%" title="鏂板" :hide-required-asterisk="false"> + <el-form :model="form" :rules="rules" ref="ruleForm" class="addForm"> + <el-form-item prop="father"> + <span>椤圭洰鍒嗙粍锛�</span> + <el-autocomplete class="inline-input" v-model="form.father" :fetch-suggestions="querySearch" + placeholder="璇疯緭鍏ユ牱鍝佸垎缁�" style="width: calc(100% - 70px);"></el-autocomplete> + </el-form-item> + <el-row :gutter="24"> + <el-col :span="12"> + <el-form-item prop="name"> + <span>椤圭洰鍚嶇О锛�</span> + <el-input style="width: calc(100% - 70px);" v-model="form.name" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item prop="unit"> + <span v-html="'鍗� 浣嶏細'"></span> + <el-input style="width: calc(100% - 70px);" v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="centerDialogVisible = false" size="small ">鍙� 娑�</el-button> + <el-button type="primary" @click="submitAdd" size="small ">纭</el-button> + </span> </el-dialog> </div> </template> @@ -97,17 +131,32 @@ blurUpdateApi, getVersion, addVersion, + addProduct } from "@/api/standardLibrary"; - import { - selectproductModelApi + addStandardProjectGroupApi, } from "@/api/basicData/index"; - import { - Tree - } from "element-ui"; export default { data() { return { + projectGroupingOptions:[], + form: { + father: "", // 椤圭洰鍒嗙粍 + name: "", // 椤圭洰鍚嶇О + unit: "", // 鍗曚綅 + }, + rules: { + fater:[{required:true,message:"璇烽�夋嫨椤圭洰鍚嶇О",trigger:"blur"}], + name: [ + {required: true,message: "璇疯緭鍏ラ」鐩悕绉�",trigger: "blur"}, + {min: 2,max: 25,message: "闀垮害鍦� 2 鍒� 25 涓瓧绗�",trigger: "blur",}, + ], + unit: [ + {required: true,message: "璇疯緭鍏ュ崟浣�",trigger: "blur"}, + {min: 1,max: 25,message: "闀垮害鍦� 1 鍒� 25 涓瓧绗�",trigger: "blur"} + ], + }, + centerDialogVisible : false, filterNodeData: [], options: [], versionValue: "", @@ -132,20 +181,91 @@ formTypeOptions: [], addTreeForm: { addTypeArr: [], - specificationsName: "" + specificationsName: "", + materialName: "", + standardName: "", } }; }, watch: { filterText(val) { this.$refs.tree.filter(val); - } + }, + addTreeFormVisible(newVal){ + if(newVal === false){ + this.clear(); + } + }, + centerDialogVisible: { + handler(newVal, oldVal) { + if (newVal == true) { + addStandardProjectGroupApi().then((res) => { + this.projectGroupingOptions = res.data; + }); + } else { + // 璇锋眰鎴愬姛娓呴櫎鏁版嵁 + this.form = {}; + // 鎻愪氦鎴愬姛娓呴櫎妫�楠� + this.$refs.ruleForm.resetFields(); + } + }, + }, }, created() { this.getStandardTree(); }, - mounted() {}, + mounted() { + + }, methods: { + querySearch(queryString, cb) { + var restaurants = [] + this.projectGroupingOptions.forEach(a => { + restaurants.push({ + value: a + }) + }) + var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; + // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹� + cb(results); + }, + createFilter(queryString) { + return (restaurant) => { + return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); + }; + }, + clear(){ + this.addTreeFormVisible = false; + this.addTreeForm.addTypeArr=[]; + this.addTreeForm.specificationsName=''; + this.addTreeForm.materialName='' + this.addTreeForm.standardName='' + }, + changeSample(){ + let selectType=this.standardTree.filter(item=>{ + return item.id===this.addTreeForm.addTypeArr[0] + })[0]; + if(this.addTreeForm.addTypeArr.length==1){ + let samples=selectType.children.filter(item=>{ + return item.name===this.addTreeForm.materialName + })[0] + if(samples===undefined||samples===[]){ + this.$message({ + message: '璇峰厛鍦ㄥ熀纭�鏁版嵁涓坊鍔犺銆�'+this.addTreeForm.materialName+'銆戞牱鍝�', + type: 'warning' + }); + return false; + } + } + return true + }, + oneSize(){}, + twoSize(){ + return true; + }, + threeSize(){ + return true; + }, async initSelect() { this.options = []; this.versionValue = ""; @@ -166,6 +286,22 @@ changeSelect() { this.tableData = []; this.getTableByClick(this.selectData, this.versionValue); + }, + async submitAdd(){ + await addProduct({ + father : this.form.father, + name : this.form.name, + specificationId: this.selectData.id, + unit : this.form.unit, + version : this.versionValue + }).then(res=>{ + console.log(res); + this.$message.success(res.message); + this.centerDialogVisible = false; + this.getTableByClick(this.selectData, this.versionValue); + }).catch(error=>{ + this.$message.error(error.message); + }) }, async insertVersion() { const resp = await addVersion({ @@ -318,7 +454,17 @@ ); }, async subAddTreeForm() { - console.log(this.addTreeForm); + if(this.addTreeForm.addTypeArr.length==0){ + this.$message({ + message: '璇峰厛閫夋嫨鏍囧噯绫诲瀷锛�', + type: 'warning' + }); + return + } + let handelerSample=this.changeSample() + if(!handelerSample){ + return; + } let res = null; try { switch (this.addTreeForm.addTypeArr.length) { @@ -348,26 +494,14 @@ this.addTreeFormVisible = false; this.getStandardTree(); this.getTableByClick(this.selectData, this.versionValue); - this.addTreeForm=null - this.addTreeForm.addTypeArr=[] + this.addTreeForm.addTypeArr=[]; + this.addTreeForm.specificationsName='' + this.addTreeForm.materialName='' + this.addTreeForm.standardName='' + // console.log(this.addTreeForm); }, changeCascader(data) { this.addTreeForm.addTypeArr = data; - }, - selectProductModelTable() { - selectproductModelApi(this.params).then((res) => { - res.data.forEach((i) => { - if (i.name === undefined) { - i.name = i.children[0].name; - i.unit = i.children[0].unit; - i.id = i.children[0].id; - i.edit = true; - delete i.children; - } - }); - this.tableData = res.data; - this.selectDataList(); - }); }, selectDataList() { let i=0 @@ -381,7 +515,6 @@ }); } }); - console.log(this.tableData); }, // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 // 鍏ㄩ��/鍙栨秷閫夋搷浣� -- Gitblit v1.9.3