From 4fb8b960f98bb1f2b3eaf39b7479ddbe9e53c5a5 Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期一, 14 八月 2023 17:21:34 +0800 Subject: [PATCH] 8-14-计量模块 --- src/components/view/laboratoryManagement.vue | 740 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 618 insertions(+), 122 deletions(-) diff --git a/src/components/view/laboratoryManagement.vue b/src/components/view/laboratoryManagement.vue index 85ddfc8..73219f8 100644 --- a/src/components/view/laboratoryManagement.vue +++ b/src/components/view/laboratoryManagement.vue @@ -1,13 +1,151 @@ <template> <div> <el-row> - <el-col :span="12" style="padding-left: 20px; line-height: 32px;">瀹為獙瀹ょ鐞�</el-col> + <el-col :span="12" class="top_left_name">瀹為獙瀹ょ鐞�</el-col> <el-col :span="12" style="text-align: right;"> - <el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus" style="background: #004EA2; ">鏂板浠櫒璁惧</el-button> + <el-button @click="testItem()" type="primary" size="mini" icon="el-icon-plus" style="background: #004EA2; ">鏂板浠櫒璁惧</el-button> + <el-dialog + title="鏂板浠櫒璁惧" + :visible.sync="dialogVisible" + width="750px" + :before-close="handleClose"> + <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="demo-ruleForm"> + <el-row> + <el-col :span="12"> + <el-form-item label="璁惧鍚嶇О" prop="name"> + <el-input placeholder="璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�" style="width: 206px" clearable v-model="ruleForm.name"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="璁惧鐢ㄩ��" prop="type"> + <el-select v-model="ruleForm.type" placeholder="璇烽�夋嫨璁惧鐢ㄩ��"> + <el-option label="鐢熶骇璁惧" value="1"></el-option> + <el-option label="妫�娴嬭澶�" value="2"></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="鐖剁骇鍒嗙被"> + <el-select v-model="value" @blur="productSelect" filterable allow-create placeholder="璇烽�夋嫨鐖剁骇鍒嗙被"> + <el-option + v-for="list in parentClassificationList" + :key="list.index" + :label="list.father" + :value="list.father" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="浠櫒璁惧缂栧彿" prop="name"> + <el-input placeholder="璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�" style="width: 206px" clearable v-model="ruleForm.code"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="淇濈浜�" prop="keeper"> + <el-select v-model="ruleForm.keeper" placeholder="璇烽�夋嫨淇濈浜�"> + <el-option + v-for="list in keeperList" + :key="list.index" + :label="list.name" + :value="list.id" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="璁¢噺鎴嚦鏈夋晥鏈�" prop="endMeasure"> + <el-date-picker + style="width: 206px" + type="date" + placeholder="璇烽�夋嫨璁¢噺鎴嚦鏈夋晥鏈�" + v-model="ruleForm.endMeasure" + :picker-options="pickerOptions" + ></el-date-picker> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="璁惧鐘舵��" prop="deviceStatus" required> + <el-select v-model="ruleForm.deviceStatus" placeholder="璇烽�夋嫨璁惧鐘舵��"> + <el-option label="杩愯" style="color: #66c03b" value="1"></el-option> + <el-option label="鎶ュ簾" style="color: #ac9299" value="2"></el-option> + <el-option label="妫�淇�" style="color: #52d6c0" value="3"></el-option> + <el-option label="鏁呴殰" style="color: #f36b6c" value="4"></el-option> + <el-option label="绌洪棽" style="color: #fcb642" value="5"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鍘傚" prop="factory" required> + <el-input style="width: 206px" placeholder="璇疯緭鍏ュ巶瀹�" clearable v-model="ruleForm.factory"></el-input> + </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-col :span="12"> + <el-form-item label="瑙勬牸鍨嬪彿"> + <el-input + placeholder="瑙勬牸鍨嬪彿" + :disabled="true" + style="width: 206px" + v-model="showCodeNameModel.specifications"> + </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-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> + </span> + </el-dialog> </el-col> </el-row> - <el-row style="height: calc(100vh - 165px); margin-top: 9px;"> - <div :style="`width: ${isCollapse?300:0}px;transition: 1s;`" class="class_sidebar"> + <el-row class="left_row"> + <div :style="`width: ${isCollapse?300:0}px;transition: 1s;opacity: ${isCollapse?1:0};`" class="class_sidebar"> <el-radio-group class="ai-tab-change" style="width: 270px; margin-top: 5px" v-model="radio1"> <el-radio-button size="small" label="true"> <div class="el_radio_button_div">鐢熶骇璁惧</div> @@ -16,52 +154,125 @@ <div class="el_radio_button_div">妫�娴嬭澶�</div> </el-radio-button> </el-radio-group> - <el-input v-model="search" :style="`width: 90%; margin: 10px 0;opacity: ${isCollapse?1:0};transition: 1.5s;`" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable></el-input> - <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'label'}" node-key="id" default-expand-all - :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" - @node-collapse="nodeClose"> - <div class="custom-tree-node" slot-scope="{ node, data }"> - <span><i :class="`node_i ${data.code != '[4]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> - {{data.code}}{{ data.label }}</span> - <el-button type="text" size="mini" @click.stop="remove(node, data)"> - <i class="el-icon-delete"></i> - </el-button> - </div> + <el-input + class="frame_input" + v-model="search_class" + placeholder="璇疯緭鍏ュ垎绫诲悕绉�" + size="small" + > + <i slot="suffix" class="el-icon-search" style="font-size: 23px; padding: 5px 0;cursor:pointer;" @click="handlerDeptList"></i> + </el-input> + <el-tree + :data="towTree" ref="tree" + :props="{children: 'children',label: 'father'}" + node-key="id" + default-expand-all + @node-click="handleNodeClick" + > + <div class="custom-tree-node" slot-scope="{ node, data }"> + <span><i :class="`node_i ${data.code != '[4]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> + {{ data.name }}</span> + <el-button type="text" size="mini" @click.stop="remove(node, data)"> + <i class="el-icon-delete"></i> + </el-button> + </div> </el-tree> </div> - <div :style="`width: calc(100vw - ${isCollapse?'475':'170'}px); padding-left: 5px;transition: 1s;float: left;`"> + <div class="table_div" :style="`width: calc(100vw - ${isCollapse?'475':'170'}px);`"> <div :title="isCollapse ? '鐐瑰嚮灞曞紑' : '鐐瑰嚮鏀惰捣'" class="box_bgd" @click="isC"> - <!-- 鐐瑰嚮灞曞紑鏀惰捣瀵艰埅鍜屽垏鎹㈠搴斿浘鏍� --> - <i :class="!isCollapse ? 'el-icon-arrow-left' : 'el-icon-arrow-right'"></i> + <div class="upper_triangle"></div> + <div class="corner"> + <!-- 鐐瑰嚮灞曞紑鏀惰捣瀵艰埅鍜屽垏鎹㈠搴斿浘鏍� --> + <i :class="!isCollapse ? 'el-icon-arrow-left' : 'el-icon-arrow-right'"></i> + </div> + <div class="under_triangle"></div> </div> - <div style="background-color: #fbfbfd; height: 100%;"> - <div style="margin-left: 20px; padding-top: 15px; padding-bottom: 15px"> - <el-input v-model="searchName" size="small" prefix-icon="el-icon-search" placeholder="璇疯緭鍏ョ紪鍙�/璁惧鍚嶇О/鍨嬪彿瑙勬牸" style="width: 20%;margin-right: 24px;" clearable></el-input> - <el-button size="mini" @click="()=>{searchName='';selectProductTableData()}"><span>閲� 缃�</span></el-button> - <el-button size="mini" type="primary" style="background: #004EA2;" @click="selectProductTableData"><span>鏌� 璇�</span></el-button> - <el-select v-model="tableType" size="small" placeholder="璇烽�夋嫨" style="float: right; width: 224px;margin-right: 52px;"> - <el-option :value="0" label="宸ヨ壓鏂囦欢"></el-option> - <el-option :value="1" label="鎶�鏈寚鏍�"></el-option> + <div class="main_table_div"> + <div class="table_top_div"> + <el-input + class="table_top_input" + size="small" + v-model="codeNameModel" + prefix-icon="el-icon-search" + placeholder="璇疯緭鍏ョ紪鍙�/璁惧鍚嶇О/鍨嬪彿瑙勬牸" + clearable> + </el-input> + <el-button size="mini" @click="reset"><span>閲� 缃�</span></el-button> + <el-button size="mini" type="primary" @click="selectSearch" style="background: #004EA2;"><span>鏌� 璇�</span></el-button> + <el-select v-model="value" size="small" placeholder="璇烽�夋嫨璁惧鐘舵��" class="table_top"> + <el-option label="杩愯" style="color: #66c03b" value="1"></el-option> + <el-option label="鎶ュ簾" style="color: #ac9299" value="2"></el-option> + <el-option label="妫�淇�" style="color: #52d6c0" value="3"></el-option> + <el-option label="鏁呴殰" style="color: #f36b6c" value="4"></el-option> + <el-option label="绌洪棽" style="color: #fcb642" value="5"></el-option> </el-select> </div> <el-table :data="tableData" border height="calc(100vh - 220px)" - style="width: 100%; padding: 10px; position: absolute"> + style="padding: 10px;"> <el-table-column prop="date" - label="鏃ユ湡" - width="180"> + label="搴忓彿" + width="60"> + <template v-slot="scope"> + {{ scope.$index + 1 }} + </template> + </el-table-column> + <el-table-column + prop="code" + label="浠櫒璁惧缂栧彿" + width="125"> </el-table-column> <el-table-column prop="name" - label="濮撳悕" - width="180"> + label="浠櫒璁惧鍚嶇О" + width="125"> </el-table-column> <el-table-column - prop="address" - label="鍦板潃"> + prop="keeper" + label="淇濈浜�"> + </el-table-column> + <el-table-column + prop="end_measure" + label="璁¢噺鎴嚦鏈夋晥鏈�" + width="147"> + </el-table-column> + <el-table-column + prop="device_status" + label="浣跨敤鐘舵��"> + <template slot-scope="scope"> + <el-tag v-if="scope.row.device_status==1" disable-transitions type="success">杩愯</el-tag> + <el-tag v-else-if="scope.row.device_status==2" disable-transitions type="info">鎶ュ簾</el-tag> + <el-tag v-else-if="scope.row.device_status==3" style="color: #52d6c0" disable-transitions type="info">妫�淇�</el-tag> + <el-tag v-else-if="scope.row.device_status==4" disable-transitions type="danger">鏁呴殰</el-tag> + <el-tag v-else-if="scope.row.device_status==5" style="color: #fcb642" disable-transitions type="info">绌洪棽</el-tag> + </template> + </el-table-column> + <el-table-column + prop="factory" + label="鍘傚" + :show-overflow-tooltip="true"> + </el-table-column> + <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="name" + label="鎿嶄綔"> + <template v-slot="scope"> + <el-button @click="handleClick(scope.$index, tableData, scope.row)" type="text" size="small">鍒犻櫎</el-button> + </template> </el-table-column> </el-table> </div> @@ -75,90 +286,62 @@ name: "LaboratoryManagement", data() { return { + value: '', + dialogVisible: false, isCollapse: true, //榛樿涓哄睍寮� - radio1: 'true', - tableData: [{ - date: '2016-05-02', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' - }, { - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�' - }, { - date: '2016-05-01', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�' - }], + radio1: 'true', // 鍒嗙被鍒囨崲 + tableData: [], + inspectionList: [], //妫�楠岄」鐩笅鎷夋鍒楄〃 + showCodeNameModel: {}, // 鏂板浠櫒灞曠ず绂佹妗� + keeperList: [], // 鏂板璁惧淇濈浜轰笅鎷夋 + parentClassificationList: [], // 鏂板璁惧鐖剁骇鍒嗙被涓嬫媺妗� + search_class: '', // 鍒嗙被鎼滅储妗嗗唴瀹� + codeNameModel: '', // 缂栫爜鍚嶇О鍨嬪彿妯$硦鏌ヨ // BOM鏍戞暟鎹粨鏋� - list: [{ - label: '涓�绾� 1', - children: [{ - label: '浜岀骇 1-1' - }] - }, { - label: '涓�绾� 2', - children: [{ - label: '浜岀骇 2-1' - }, { - label: '浜岀骇 2-2' - }] - }, { - label: '涓�绾� 3', - children: [{ - label: '浜岀骇 3-1' - }, { - label: '浜岀骇 3-2' - }] - }], + towTree: [], + ruleForm: { + code: '', + father: '', + deviceStatus: '', + endMeasure: '', + factory: '', + keeper: '', + name: '', + rawInsProductId: '', + type: '' + }, + rules: { + name: [ + { required: true, message: '璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�', trigger: 'blur' }, + { min: 2, max: 25, message: '闀垮害鍦� 2 鍒� 25 涓瓧绗�', trigger: 'blur' } + ], + keeper: [ + { required: true, message: '璇烽�夋嫨淇濈浜�', trigger: 'change' } + ], + endMeasure: [ + { type: 'date', required: true, message: '璇烽�夋嫨璁¢噺鎴嚦鏈夋晥鏈�', trigger: 'change' } + ], + deviceStatus: [ + { required: true, message: '璇烽�夋嫨璁惧鐘舵��', trigger: 'change' } + ], + factory: [ + { required: true, message: '璇疯緭鍏ュ巶瀹�', trigger: 'blur' }, + { min: 2, max: 25, message: '闀垮害鍦� 2 鍒� 50 涓瓧绗�', trigger: 'blur' } + ], + rawInsProductId: [ + { required: true, message: '璇烽�夋嫨妫�娴嬮」鐩�', trigger: 'change' } + ], + type: [ + { required: true, message: '璇烽�夋嫨璁惧鐢ㄩ��', trigger: 'change' } + ] + }, + pickerOptions:{ + //绂佺敤褰撳墠鏃ユ湡涔嬪墠鐨勬棩鏈� + disabledDate(time) { + //Date.now()鏄痡avascript涓殑鍐呯疆鍑芥暟锛屽畠杩斿洖鑷�1970骞�1鏈�1鏃�00:00:00 UTC浠ユ潵缁忚繃鐨勬绉掓暟銆� + return time.getTime() < Date.now() - 8.64e7; + } + }, } }, methods: { @@ -166,11 +349,299 @@ isC() { this.isCollapse = !this.isCollapse; }, + productSelect(e) { + let value = e.target.value; // 杈撳叆妗嗗�� + if(value) { // 浣犺緭鍏ユ墠鏈夎繖涓�� 涓嶄负绌猴紝濡傛灉浣犱笅鎷夋閫夋嫨鐨勮瘽 杩欎釜鍊间负绌� + this.value = value + } + }, + 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; + } + }); + }, + handleClose(done) { + this.$confirm('纭鍏抽棴锛�') + .then(_ => { + done(); + }) + .catch(_ => {}); + }, + testItem() { + this.dialogVisible = true + 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 + }) + }, + 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.children = undefined + } + }) + this.towTree = res.data + }) + }, + tableDataApi() { + this.$axios.get(this.$api.url.tableDeviceList).then(res => { + this.tableData = res.data + }) + }, + reset() { + this.tableDataApi() + this.radio1 = 'true' + this.codeNameModel = '' + }, + 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 + }) + } + }, + handlerDeptList() { + this.towTree = [] + let val = 1 + if (this.radio1 === "false"){ + val = 2 + } + this.$axios.get(this.$api.url.towTree, {params: {type: val, search_class: this.search_class}}).then(res => { + this.towTree = res.data + }) + }, + 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 + }) + } + }, + 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' + }); + }) + }) + }, + remove(node, data) { + this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ澶�, 鏄惁缁х画?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + console.log(data) + let val = ''; + if(data.id === undefined && data.children === undefined ) { + this.$axios.delete(this.$api.url.deleteIdorFather,{params: {deviceFather: data.name}}).then(res => { + if (res.code === 200){ + this.$message({ + message: res.message, + type: 'success' + }); + this.handlerDeptList() + this.selectSearch() + } else { + this.$message({ + message: res.message, + type: 'warning' + }); + } + }) + } else if (data.id !== undefined){ + this.$axios.delete(this.$api.url.deleteIdorFather,{params: {id: data.id}}).then(res => { + if (res.code === 200){ + this.$message({ + message: res.message, + type: 'success' + }); + this.handlerDeptList() + this.selectSearch() + } else { + this.$message({ + message: res.message, + type: 'warning' + }); + } + }) + } + }) + } }, + mounted() { + // 鍒濆鍖栬皟鐢ㄤ簩绾ф爲 + this.twoTreeApi() + // 鍒濆鍖栬皟鐢ㄨ〃鏍兼暟鎹� + this.tableDataApi() + }, + watch: { + 'ruleForm.rawInsProductId': { //鐩戝惉ruleForm.rawInsProductId + handler: function (newVal, oldVal) { + if (newVal != null && newVal !== ''){ + this.$axios.get(this.$api.url.selectDeviceInspectMessage,{params: {inspectId: newVal}}).then(res => { + this.showCodeNameModel = res.data + }) + } + } + }, + dialogVisible: { + handler: function (newVal, oldVal) { + if (newVal){ + // 鎴愬姛娓呯┖杈撳叆鍐呭 + this.ruleForm = {} + this.value = '' + this.showCodeNameModel = {} + this.$refs.ruleForm.resetFields() + } + } + }, + radio1: { + handler: function (newVal, oldVal) { + this.towTree = [] + this.tableData = [] + if (newVal === "true"){ + this.twoTreeApi() + this.tableDataApi() + } else if (newVal === "false") { + this.$axios.get(this.$api.url.towTree, {params: {type: 2}}).then(res => { + let list = res.data + list.forEach(i => { + if (i.name === undefined){ + i.name = i.children[0].name + i.children = undefined + } + }) + this.towTree = res.data + }) + this.$axios.get(this.$api.url.tableDeviceList, {params: {type: 2}}).then(res => { + this.tableData = res.data + }) + } + } + } + } } </script> <style scoped> +.el-tag.el-tag { + border-color: transparent; + background-color: transparent; +} +.el-tag.el-tag:hover { + border-color: transparent; + background-color: transparent; +} +.el-form-item >>> .el-form-item__error { + color: #F56C6C; + font-size: 12px; + line-height: 1; + padding-top: 6px; + position: absolute; + top: 100%; + left: 18px; +} +/deep/ .el-icon-arrow-left{ + display: flex; + line-height: 60px !important; + justify-content: center; +} +/deep/ .el-icon-arrow-right{ + display: flex; + line-height: 60px !important; + justify-content: center; +} +.top_left_name{ + padding-left: 20px; + line-height: 32px; +} +.left_row{ + height: calc(100vh - 165px); + margin-top: 9px; +} +.frame_input{ + width: 90%; + margin: 10px 0; + transition: 1.5s; +} +.table_top_div{ + margin-left: 20px; + padding-top: 15px; + padding-bottom: 15px +} +.el-dialog__footer { + padding: 0px 20px 20px; + text-align: right; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.table_top{ + float: right; + width: 224px; + margin-right: 52px; +} +.main_table_div{ + background-color: #fbfbfd; + height: 100%; +} +.dialog-footer{ + display: block; + text-align:center +} +.table_div{ + padding-left: 5px; + transition: 1s; + float: left; + position: relative +} +.table_top_input{ + width: 20%; + margin-right: 24px; +} .custom-tree-node { flex: 1; display: flex; @@ -178,6 +649,14 @@ justify-content: space-between; font-size: 14px; padding-right: 8px; + width: 250px; +} +.el-tree{ + width: 280px; + margin: 0 10px; +} +.custom-tree-node span{ + font-size: 14px!important; } .el-icon-delete { display: none; @@ -199,20 +678,37 @@ } .class_sidebar { overflow: hidden; - height: calc(100vh - 159px); + height: calc(100vh - 175px); text-align: center; padding: 8px; float: left; background-color: #fdfdfe; } .box_bgd { - width: 15px; - height: 40px; - position: relative; + width: 12px; + height: 60px; + position: absolute; float: left; - top: 50%!important; - left: -20px; - background: blue; + top: 40%; + left: -10px; +} +.corner{ + height: 60px; + background: #ebebec; +} +.upper_triangle{ + width: 0px; /* 瀹介珮璁剧疆涓�0锛屽緢閲嶈锛屽惁鍒欒揪涓嶅埌鏁堟灉 */ + height: 0px; + border: 6px solid #ebebec; + border-left-color: transparent; + border-top-color: transparent; +} +.under_triangle{ + width: 0px; /* 瀹介珮璁剧疆涓�0锛屽緢閲嶈锛屽惁鍒欒揪涓嶅埌鏁堟灉 */ + height: 0px; + border: 6px solid #ebebec; + border-left-color: transparent; + border-bottom-color: transparent; } .ai-tab-change { .el-radio-button__inner { -- Gitblit v1.9.3