From c7ccbc6510a9350e0a0a5a39a84f46c382d080b3 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期五, 15 九月 2023 15:00:26 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/mom-before --- src/components/view/laboratoryManagement.vue | 519 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 314 insertions(+), 205 deletions(-) diff --git a/src/components/view/laboratoryManagement.vue b/src/components/view/laboratoryManagement.vue index 2f2ac7e..c29f494 100644 --- a/src/components/view/laboratoryManagement.vue +++ b/src/components/view/laboratoryManagement.vue @@ -1,8 +1,8 @@ <template> - <div> + <div class="laboratoryMangement"> <el-row> - <el-col :span="12" class="top_left_name">瀹為獙瀹ょ鐞�</el-col> - <el-col :span="12" style="text-align: right;"> + <el-col :span="12" class="top_left_name">璁惧缁存姢</el-col> + <el-col :span="12" style="text-align: right;" class="title"> <el-button @click="testItem()" type="primary" @@ -39,6 +39,7 @@ <el-form-item label="璁惧鐢ㄩ��" prop="type"> <el-select v-model="ruleForm.type" + @change="selectinstall" placeholder="璇烽�夋嫨璁惧鐢ㄩ��" > <el-option label="鐢熶骇璁惧" value="1"></el-option> @@ -49,22 +50,28 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="鐖剁骇鍒嗙被"> + <el-form-item label="璁惧缁�" prop="name"> <el-select - v-model="value" - @blur="productSelect" - filterable + v-model="ruleForm.equr" allow-create - placeholder="璇烽�夋嫨鐖剁骇鍒嗙被" + filterable + @create="" + placeholder="璇烽�夋嫨璁惧缁�" > <el-option - v-for="list in parentClassificationList" - :key="list.index" - :label="list.father" - :value="list.father" + v-for="list in equaip" + :key="list" + :label="list" + :value="list" > </el-option> </el-select> + <!-- <el-autocomplete + class="inline-input" + v-model="ruleForm.equr" + :fetch-suggestions="querySearch" + placeholder="璇疯緭鍏ュ唴瀹�" + ></el-autocomplete> --> </el-form-item> </el-col> <el-col :span="12"> @@ -153,38 +160,7 @@ </el-form-item> </el-col> </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="妫�娴嬮」鐩�" prop="rawInsProductId" required> - <el-select - v-model="ruleForm.rawInsProductId" - placeholder="璇烽�夋嫨妫�娴嬮」鐩�" - > - <el-option - v-for="item in inspectionList" - :key="item.index" - :label="item.name" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="妫�娴嬫牱鍝�" required> - <el-form-item> - <el-input - placeholder="妫�娴嬫牱鍝�" - :disabled="true" - style="width: 206px" - v-model="showCodeNameModel.name" - > - </el-input> - </el-form-item> - </el-form-item> - </el-col> - </el-row> - <el-row> + <!-- <el-row> <el-col :span="12"> <el-form-item label="瑙勬牸鍨嬪彿"> <el-input @@ -196,18 +172,8 @@ </el-input> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="妫�娴嬩汉"> - <el-input - placeholder="妫�娴嬩汉" - :disabled="true" - style="width: 206px" - v-model="showCodeNameModel.user_name" - > - </el-input> - </el-form-item> - </el-col> - </el-row> + + </el-row> --> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">鍙� 娑�</el-button> @@ -228,16 +194,13 @@ <el-radio-group class="ai-tab-change" style="width: 270px; margin-top: 5px" - v-model="radio1" + v-model="equipment" + @input="RadioChange" > - <el-radio-button size="small" label="true"> - <div>鐢熶骇璁惧</div> - </el-radio-button> - <el-radio-button size="small" label="false"> - <div>妫�娴嬭澶�</div> - </el-radio-button> + <el-radio-button label="1">鐢熶骇璁惧</el-radio-button> + <el-radio-button label="2">妫�楠岃澶�</el-radio-button> </el-radio-group> - <el-input + <!-- <el-input class="frame_input" v-model="search_class" placeholder="璇疯緭鍏ュ垎绫诲悕绉�" @@ -249,13 +212,15 @@ style="font-size: 23px; padding: 5px 0;cursor:pointer;" @click="handlerDeptList" ></i> - </el-input> + </el-input> --> <el-tree :data="towTree" ref="tree" :props="{ children: 'children', label: 'father' }" - node-key="id" + node-key="father" default-expand-all + highlight-current + style="margin-top: 20px;" @node-click="handleNodeClick" > <div class="custom-tree-node" slot-scope="{ node, data }"> @@ -269,11 +234,11 @@ }` " ></i> - {{ data.name }}</span + {{ data.father }}</span > - <el-button type="text" size="mini" @click.stop="remove(node, data)"> + <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)"> <i class="el-icon-delete"></i> - </el-button> + </el-button> --> </div> </el-tree> </div> @@ -365,9 +330,9 @@ </el-table-column> <el-table-column prop="name" label="浠櫒璁惧鍚嶇О" width="125"> </el-table-column> - <el-table-column prop="keeper" label="淇濈浜�"> </el-table-column> + <el-table-column prop="userName" label="淇濈浜�"> </el-table-column> <el-table-column - prop="end_measure" + prop="DATE_FORMAT(end_measure, '%Y-%m-%d')" label="璁¢噺鎴嚦鏈夋晥鏈�" width="147" > @@ -414,15 +379,15 @@ :show-overflow-tooltip="true" > </el-table-column> - <el-table-column prop="inspectProject" label="妫�娴嬮」鐩�"> + <!-- <el-table-column prop="inspectProject" label="妫�娴嬮」鐩�"> </el-table-column> <el-table-column prop="testSample" label="妫�楠屾牱鍝�"> </el-table-column> - <el-table-column prop="user_name" label="妫�娴嬩汉"> </el-table-column> + <el-table-column prop="user_name" label="妫�娴嬩汉"> </el-table-column> --> <el-table-column prop="name" label="鎿嶄綔"> <template v-slot="scope"> <el-button - @click="handleClick(scope.$index, tableData, scope.row)" + @click="handleClick(scope.row)" type="text" size="small" >鍒犻櫎</el-button @@ -441,8 +406,10 @@ name: "LaboratoryManagement", data() { return { + value: "", dialogVisible: false, + checkTreeNode:{}, isCollapse: true, //榛樿涓哄睍寮� radio1: "true", // 鍒嗙被鍒囨崲 tableData: [], // 涓婚〉琛ㄦ牸鏁版嵁 @@ -455,6 +422,8 @@ staue_value: "", // 涓婚〉琛ㄦ牸涓婃柟鐨勭姸鎬侀�夋嫨 // BOM鏍戞暟鎹粨鏋� towTree: [], + equipment: '1', + equaip:[], ruleForm: { // 鏂板浠櫒琛ㄥ崟 code: "", @@ -465,8 +434,15 @@ keeper: "", name: "", rawInsProductId: "", - type: "" + type: "", + // treedata:{ + // father:'璁惧缁�1', + // }, + equr:'', + }, + delete:{}, + equip:1, rules: { name: [ { required: true, message: "璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�", trigger: "blur" }, @@ -504,7 +480,49 @@ } }; }, + mounted() { + // 鍒濆鍖栬皟鐢ㄤ簩绾ф爲 + this.twoTreeApi(); + // 鍒濆鍖栬皟鐢ㄨ〃鏍兼暟鎹� + // this.tableDataApi(); + // this.selectDevice() + }, methods: { + handleNodeClick(val) { + this.checkTreeNode = val + console.log(this.checkTreeNode); + this.selectDevice() + }, + selectInput(){ + + }, + // querySearch(queryString, cb) { + // console.log(this.equaip); + // var restaurants = this.equaip; + // var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; + // // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹� + // cb(results); + // }, + // createFilter(queryString) { + // return (restaurant) => { + // return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); + // }; + // }, + staueValueChange() { + this.selectDevice() + // this.tableData = []; + // let val = 1; + // if (this.radio1 === "false") { + // val = 2; + // } + // this.$axios + // .get(this.$api.url.tableDeviceList, { + // params: { type: val, deviceStatue: this.staue_value } + // }) + // .then(res => { + // this.tableData = res.data; + // }); + }, // 鍔ㄦ�佹帶鍒跺睍寮�涓庢敹璧峰拰鍒囨崲瀵瑰簲鍥炬爣 isC() { this.isCollapse = !this.isCollapse; @@ -517,25 +535,27 @@ } }, submitForm() { - this.$refs.ruleForm.validate(valid => { - if (valid) { - this.ruleForm.father = this.value; - this.$axios - .post(this.$api.url.addDeviceInstrument, this.ruleForm, { - headers: { - "Content-Type": "application/json" - } - }) - .then(res => { - this.keeperList = res.data; - // 鎴愬姛鍏抽棴鏂板寮瑰嚭妗� - this.dialogVisible = false; - }); - } else { - console.log("error submit!!"); - return false; - } - }); + // this.$refs.ruleForm.validate(valid => { + // if (valid) { + // this.ruleForm.father = this.value; + // this.$axios + // .post(this.$api.url.addDeviceInstrument, this.ruleForm, { + // headers: { + // "Content-Type": "application/json" + // } + // }) + // .then(res => { + // this.keeperList = res.data; + // // 鎴愬姛鍏抽棴鏂板寮瑰嚭妗� + // this.dialogVisible = false; + // }); + // } else { + // console.log("error submit!!"); + // return false; + // } + // }); + this.addApi() + this.dialogVisible = false; }, handleClose(done) { this.$confirm("纭鍏抽棴锛�") @@ -549,53 +569,126 @@ this.$axios.get(this.$api.url.addDeviceKeeper).then(res => { this.keeperList = res.data; }); - this.$axios.get(this.$api.url.addDeviceInspectDownBox).then(res => { - this.inspectionList = res.data; - }); - this.$axios.get(this.$api.url.addDeviceParentClassification).then(res => { - this.parentClassificationList = res.data; - }); + }, + selectinstall(val) { + this.equip = val + this.listgroup() + }, + listgroup() { + this.$axios.get(this.$api.url.listgroup,{ + params:{ + type:this.equip + } + }) + .then(res =>{ + this.equaip = res.data + // res.data.forEach(item=>{ + // let obj={ + // id: item, + // value: item + // } + // this.equaip.push(obj) + console.log(this.equaip); + // }) + }) + }, + RadioChange(val){ + console.log(val); + this.equip = val + this.twoTreeApi() }, twoTreeApi() { - this.$axios.get(this.$api.url.towTree).then(res => { - let list = res.data; - list.forEach(i => { - if (i.name === undefined) { - i.name = i.children[0].name; - i.id = i.children[0].id; - i.children = undefined; - } - }); + this.$axios.get(this.$api.url.towTree,{ + params:{ + type:this.equip, + } + }).then(res => { + // let list = res.data; + // list.forEach(i => { + // if (i.name === undefined) { + // i.name = i.children[0].name; + // i.id = i.children[0].id; + // i.children = undefined; + // } + // }); this.towTree = res.data; - }); + this.$nextTick(() => { + this.$refs.tree.setCurrentKey(this.towTree[0].father) // 榛樿閫変腑鑺傜偣绗竴涓� + }) + console.log(this.towTree); + let one=this.towTree[0] + console.log(one); + let name =one.father + this.checkTreeNode.father = name + console.log(name); + this.selectDeviceStart(name) + }); }, - tableDataApi() { - this.$axios.get(this.$api.url.tableDeviceList).then(res => { - this.tableData = res.data; - }); + selectDeviceStart(name,) {//鍙宠竟鏁版嵁 + this.$axios.get(this.$api.url.selectDevice,{ + params:{ + father:name, + type:this.equip, + deviceStatus:this.staue_value, + message:this.codeNameModel, + } + }).then(res =>{ + console.log(res); + this.tableData = res.data + }, { + headers: { + "Content-Type": "application/json" + } + }) }, + + selectDevice() {//鍙宠竟鏁版嵁 + this.$axios.get(this.$api.url.selectDevice,{ + params:{ + father:this.checkTreeNode.father, + type:this.equip, + deviceStatus:this.staue_value, + message:this.codeNameModel, + } + }).then(res =>{ + console.log(res); + this.tableData = res.data + }, { + headers: { + "Content-Type": "application/json" + } + }) + }, + addApi() { + this.$axios.post(this.$api.url.addApi,{ + code:this.ruleForm.code, + deviceStatus:this.ruleForm.deviceStatus, + endMeasure:this.ruleForm.endMeasure, + factory:this.ruleForm.factory, + father:this.ruleForm.equr, + keeper:this.ruleForm.keeper, + name:this.ruleForm.name, + type:this.ruleForm.type, + }, {headers: {"Content-Type": "application/json"} + }).then(res =>{ + this.selectDevice() + this.$message.success('鏂板鎴愬姛') + this.ruleForm = {} + }) + }, + // tableDataApi() { + // this.$axios.get(this.$api.url.tableDeviceList).then(res => { + // this.tableData = res.data; + // }); + // }, reset() { - this.tableDataApi(); - this.radio1 = "true"; - this.codeNameModel = ""; - this.staue_value = ""; - }, - handleNodeClick(data) { - if (data.id === undefined) { - this.$axios - .get(this.$api.url.tableDeviceList, { - params: { fatherName: data.name } - }) - .then(res => { - this.tableData = res.data; - }); - } else if (data.id !== undefined) { - this.$axios - .get(this.$api.url.tableDeviceList, { params: { deviceId: data.id } }) - .then(res => { - this.tableData = res.data; - }); - } + // this.tableDataApi(); + // this.radio1 = "true"; + // this.codeNameModel = ""; + // this.staue_value = ""; + this.staue_value = "" + this.codeNameModel = "" + this.selectDevice() }, handlerDeptList() { this.towTree = []; @@ -612,47 +705,59 @@ }); }, selectSearch() { - this.tableData = []; - if (this.radio1 === "false") { - this.$axios - .get(this.$api.url.tableDeviceList, { - params: { type: 1, codeNameModel: this.codeNameModel } - }) - .then(res => { - this.tableData = res.data; - }); - } else if (this.radio1 === "true") { - this.$axios - .get(this.$api.url.tableDeviceList, { - params: { type: 2, codeNameModel: this.codeNameModel } - }) - .then(res => { - this.tableData = res.data; - }); - } + this.selectDevice() + // this.tableData = []; + // if (this.radio1 === "false") { + // this.$axios + // .get(this.$api.url.tableDeviceList, { + // params: { type: 1, codeNameModel: this.codeNameModel } + // }) + // .then(res => { + // this.tableData = res.data; + // }); + // } else if (this.radio1 === "true") { + // this.$axios + // .get(this.$api.url.tableDeviceList, { + // params: { type: 2, codeNameModel: this.codeNameModel } + // }) + // .then(res => { + // this.tableData = res.data; + // }); + // } }, - handleClick(index, datas, row) { - this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ澶�, 鏄惁缁х画?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(() => { - this.$axios - .delete(this.$api.url.deleteDevice, { params: { deviceId: row.id } }) - .then(res => { - this.$message({ - message: res.message, - type: "success" - }); - datas.splice(index, 1); - }) - .catch(err => { - this.$message({ - message: err.message, - type: "warning" - }); - }); + delDeviceById() { + this.$axios.post(this.$api.url.delDeviceById,{ + id:this.delete.id + }).then(res=>{ + this.$parent.removeAllTab() }); + }, + handleClick(row) { + console.log(row); + this.delete = row + this.delDeviceById() + this.selectDevice() + // this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ澶�, 鏄惁缁х画?", "鎻愮ず", { + // confirmButtonText: "纭畾", + // cancelButtonText: "鍙栨秷", + // type: "warning" + // }).then(() => { + // this.$axios + // .delete(this.$api.url.deleteDevice, { params: { deviceId: row.id } }) + // .then(res => { + // this.$message({ + // message: res.message, + // type: "success" + // }); + // datas.splice(index, 1); + // }) + // .catch(err => { + // this.$message({ + // message: err.message, + // type: "warning" + // }); + // }); + // }); }, remove(node, data) { this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ澶�, 鏄惁缁х画?", "鎻愮ず", { @@ -708,27 +813,9 @@ } }); }, - staueValueChange() { - this.tableData = []; - let val = 1; - if (this.radio1 === "false") { - val = 2; - } - this.$axios - .get(this.$api.url.tableDeviceList, { - params: { type: val, deviceStatue: this.staue_value } - }) - .then(res => { - this.tableData = res.data; - }); - } + }, - mounted() { - // 鍒濆鍖栬皟鐢ㄤ簩绾ф爲 - this.twoTreeApi(); - // 鍒濆鍖栬皟鐢ㄨ〃鏍兼暟鎹� - this.tableDataApi(); - }, + watch: { "ruleForm.rawInsProductId": { //鐩戝惉ruleForm.rawInsProductId @@ -744,17 +831,17 @@ } } }, - dialogVisible: { - handler: function(newVal, oldVal) { - if (newVal) { - // 鎴愬姛娓呯┖杈撳叆鍐呭 - this.ruleForm = {}; - this.value = ""; - this.showCodeNameModel = {}; - this.$refs.ruleForm.resetFields(); - } - } - }, + // dialogVisible: { + // handler: function(newVal, oldVal) { + // if (newVal) { + // // 鎴愬姛娓呯┖杈撳叆鍐呭 + // this.ruleForm = {}; + // this.value = ""; + // this.showCodeNameModel = {}; + // this.$refs.ruleForm.resetFields(); + // } + // } + // }, radio1: { handler: function(newVal, oldVal) { this.towTree = []; @@ -942,3 +1029,25 @@ line-height: 14px; } </style> +<style> + .laboratoryMangement .title *{ + font-size: 14px; + } + + .laboratoryMangement .table_top_div *{ + font-size: 14px; + } + + .laboratoryMangement .title .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; + } + .laboratoryMangement .table_top_div .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; + } +</style> \ No newline at end of file -- Gitblit v1.9.3