From b500cdcc0e39d392c67d0273800da4c4fffb7b3e Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期五, 08 九月 2023 10:20:44 +0800 Subject: [PATCH] Crunchy-09/08 --- src/components/view/laboratoryManagement.vue | 1003 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 859 insertions(+), 144 deletions(-) diff --git a/src/components/view/laboratoryManagement.vue b/src/components/view/laboratoryManagement.vue index 85ddfc8..2f2ac7e 100644 --- a/src/components/view/laboratoryManagement.vue +++ b/src/components/view/laboratoryManagement.vue @@ -1,67 +1,433 @@ <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-radio-group class="ai-tab-change" style="width: 270px; margin-top: 5px" v-model="radio1"> + <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> + <div>鐢熶骇璁惧</div> </el-radio-button> <el-radio-button size="small" label="false"> - <div class="el_radio_button_div">妫�娴嬭澶�</div> + <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"> + <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.code}}{{ data.label }}</span> + <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 :title="isCollapse ? '鐐瑰嚮灞曞紑' : '鐐瑰嚮鏀惰捣'" class="box_bgd" @click="isC"> - <!-- 鐐瑰嚮灞曞紑鏀惰捣瀵艰埅鍜屽垏鎹㈠搴斿浘鏍� --> - <i :class="!isCollapse ? 'el-icon-arrow-left' : 'el-icon-arrow-right'"></i> + <div + class="table_div" + :style="`width: calc(100vw - ${isCollapse ? '475' : '170'}px);`" + > + <div + :title="isCollapse ? '鐐瑰嚮灞曞紑' : '鐐瑰嚮鏀惰捣'" + class="box_bgd" + @click="isC" + > + <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 + @change="staueValueChange" + v-model="staue_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="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="125"> + </el-table-column> + <el-table-column prop="keeper" label="淇濈浜�"> </el-table-column> <el-table-column - prop="date" - label="鏃ユ湡" - width="180"> + 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="name" - label="濮撳悕" - width="180"> + prop="factory" + label="鍘傚" + :show-overflow-tooltip="true" + > </el-table-column> - <el-table-column - prop="address" - 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="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,102 +441,428 @@ 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: "", // 缂栫爜鍚嶇О鍨嬪彿妯$硦鏌ヨ + staue_value: "", // 涓婚〉琛ㄦ牸涓婃柟鐨勭姸鎬侀�夋嫨 // 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: { // 鍔ㄦ�佹帶鍒跺睍寮�涓庢敹璧峰拰鍒囨崲瀵瑰簲鍥炬爣 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.id = i.children[0].id; + 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 = ""; + 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; + }); + } + }, + 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(`output->data`, data); + let val = 1; + if (this.radio1 === "false") { + val = 2; + } + if (data.id === undefined) { + console.log(`output->鎵ц鍔沗, "+++++++++++++++"); + this.$axios + .delete(this.$api.url.deleteIdorFather, { + params: { deviceFather: data.name, type: val } + }) + .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) { + console.log(`output->鎵ц鍔沗, "----------------"); + 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" + }); + } + }); + } + }); + }, + 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 + 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.id = i.children[0].id; + 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,10 +870,18 @@ 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; - color: #004EA2; + color: #004ea2; } .custom-tree-node:hover .el-icon-delete { display: inline; @@ -190,40 +890,55 @@ color: orange; } ::v-deep .el-radio-button__orig-radio:checked + .el-radio-button__inner { - background: #f2f2f2; - border: 0 !important; - color: #696969; - line-height: 14px; - outline: none; - box-shadow: none; + background: #f2f2f2; + border: 0 !important; + color: #696969; + line-height: 14px; + outline: none; + box-shadow: none; } .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; } -.ai-tab-change { - .el-radio-button__inner { - border: 1px solid #ececed; - line-height: 14px; - } - .el-radio-button__orig-radio:checked + .el-radio-button__inner { - background: #fdfdfe; - border: 1px solid #004da2; - color: #004da2; - line-height: 14px; - } +.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; +} +.el-radio-button__inner { + border: 1px solid #ececed; + line-height: 14px; +} +.el-radio-button__orig-radio:checked + .el-radio-button__inner { + background: #fdfdfe; + border: 1px solid #004da2; + color: #004da2; + line-height: 14px; } </style> -- Gitblit v1.9.3