From c0bc2331e9abb2ae003c8dc0ab4524d6101493a1 Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期一, 25 九月 2023 09:12:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/components/view/laboratoryManagement.vue | 969 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 748 insertions(+), 221 deletions(-)
diff --git a/src/components/view/laboratoryManagement.vue b/src/components/view/laboratoryManagement.vue
index 85ddfc8..3c94c14 100644
--- a/src/components/view/laboratoryManagement.vue
+++ b/src/components/view/laboratoryManagement.vue
@@ -1,229 +1,756 @@
<template>
- <div>
- <el-row>
- <el-col :span="12" style="padding-left: 20px; line-height: 32px;">瀹為獙瀹ょ鐞�</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-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-radio-button size="small" label="true">
- <div class="el_radio_button_div">鐢熶骇璁惧</div>
- </el-radio-button>
- <el-radio-button size="small" label="false">
- <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-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>
- <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>
- </el-select>
- </div>
- <el-table
- :data="tableData"
- border
- height="calc(100vh - 220px)"
- style="width: 100%; padding: 10px; position: absolute">
- <el-table-column
- prop="date"
- label="鏃ユ湡"
- width="180">
- </el-table-column>
- <el-table-column
- prop="name"
- label="濮撳悕"
- width="180">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鍦板潃">
- </el-table-column>
- </el-table>
- </div>
- </div>
- </el-row>
- </div>
+ <div class="laboratoryMangement">
+ <el-row>
+ <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" 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" @change="selectinstall" 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="璁惧缁�" prop="name">
+ <el-select v-model="ruleForm.equr" allow-create filterable @create="" placeholder="璇烽�夋嫨璁惧缁�">
+ <el-option v-for="list in equaip" :key="list" :label="list" :value="list">
+ </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-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 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="equipment"
+ @input="RadioChange">
+ <el-radio-button label="1">鐢熶骇璁惧</el-radio-button>
+ <el-radio-button label="2">妫�楠岃澶�</el-radio-button>
+ </el-radio-group>
+ <el-tree :data="towTree" ref="tree" :props="{ children: 'children', label: 'father' }" node-key="father"
+ default-expand-all highlight-current style="margin-top: 20px;" @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.father }}</span>
+ </div>
+ </el-tree>
+ </div>
+ <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 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="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="userName" label="淇濈浜�"> </el-table-column>
+ <el-table-column prop="DATE_FORMAT(end_measure, '%Y-%m-%d')" 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="name" label="鎿嶄綔">
+ <template v-slot="scope">
+ <el-button @click="handleClick(scope.row)" type="text" size="small">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ </el-row>
+ </div>
</template>
<script>
-export default {
- name: "LaboratoryManagement",
- data() {
- return {
- 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 寮�'
- }],
- // 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'
- }]
- }],
- }
- },
- methods: {
- // 鍔ㄦ�佹帶鍒跺睍寮�涓庢敹璧峰拰鍒囨崲瀵瑰簲鍥炬爣
- isC() {
- this.isCollapse = !this.isCollapse;
- },
- },
-}
+ export default {
+ name: "LaboratoryManagement",
+ data() {
+ return {
+ value: "",
+ dialogVisible: false,
+ checkTreeNode: {},
+ isCollapse: true, //榛樿涓哄睍寮�
+ radio1: "true", // 鍒嗙被鍒囨崲
+ tableData: [], // 涓婚〉琛ㄦ牸鏁版嵁
+ inspectionList: [], //妫�楠岄」鐩笅鎷夋鍒楄〃
+ showCodeNameModel: {}, // 鏂板浠櫒灞曠ず绂佹妗�
+ keeperList: [], // 鏂板璁惧淇濈浜轰笅鎷夋
+ parentClassificationList: [], // 鏂板璁惧鐖剁骇鍒嗙被涓嬫媺妗�
+ search_class: "", // 鍒嗙被鎼滅储妗嗗唴瀹�
+ codeNameModel: "", // 缂栫爜鍚嶇О鍨嬪彿妯$硦鏌ヨ
+ staue_value: "", // 涓婚〉琛ㄦ牸涓婃柟鐨勭姸鎬侀�夋嫨
+ // BOM鏍戞暟鎹粨鏋�
+ towTree: [],
+ equipment: '1',
+ equaip: [],
+ ruleForm: {
+ // 鏂板浠櫒琛ㄥ崟
+ code: "",
+ father: "",
+ deviceStatus: "",
+ endMeasure: "",
+ factory: "",
+ keeper: "",
+ name: "",
+ rawInsProductId: "",
+ type: "",
+ equr: '',
+ },
+ delete: {},
+ equip: 1,
+ 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;
+ }
+ },
+ };
+ },
+ mounted() {
+ this.twoTreeApi();
+ },
+ methods: {
+ handleNodeClick(val) {
+ this.checkTreeNode = val
+ this.selectDevice()
+ },
+ staueValueChange() {
+ this.selectDevice()
+ },
+ // 鍔ㄦ�佹帶鍒跺睍寮�涓庢敹璧峰拰鍒囨崲瀵瑰簲鍥炬爣
+ isC() {
+ this.isCollapse = !this.isCollapse;
+ },
+ productSelect(e) {
+ let value = e.target.value; // 杈撳叆妗嗗��
+ if (value) {
+ // 浣犺緭鍏ユ墠鏈夎繖涓�� 涓嶄负绌猴紝濡傛灉浣犱笅鎷夋閫夋嫨鐨勮瘽 杩欎釜鍊间负绌�
+ this.value = value;
+ }
+ },
+ submitForm() {
+ this.addApi()
+ this.dialogVisible = 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;
+ });
+ },
+ 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
+ })
+ },
+ RadioChange(val) {
+ this.equip = val
+ this.twoTreeApi()
+ },
+ twoTreeApi() {
+ this.$axios.get(this.$api.url.towTree, {
+ params: {
+ type: this.equip,
+ }
+ }).then(res => {
+ this.towTree = res.data;
+ this.$nextTick(() => {
+ this.$refs.tree.setCurrentKey(this.towTree[0].father) // 榛樿閫変腑鑺傜偣绗竴涓�
+ })
+ let one = this.towTree[0]
+ let name = one.father
+ this.checkTreeNode.father = name
+ this.selectDeviceStart(name)
+ });
+ },
+ selectDeviceStart(name, ) { //鍙宠竟鏁版嵁
+ this.$axios.get(this.$api.url.selectDevice, {
+ params: {
+ father: name,
+ type: this.equip,
+ deviceStatus: this.staue_value,
+ message: this.codeNameModel,
+ }
+ }).then(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 => {
+ 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.twoTreeApi();
+ this.$message.success('鏂板鎴愬姛')
+ this.$refs.ruleForm.resetFields()
+ })
+ },
+ reset() {
+ this.staue_value = ""
+ this.codeNameModel = ""
+ this.selectDevice()
+ },
+ 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.selectDevice()
+ },
+ delDeviceById() {
+ this.$axios.post(this.$api.url.delDeviceById, {
+ id: this.delete.id
+ }).then(res => {
+ this.$parent.removeAllTab()
+ });
+ },
+ handleClick(row) {
+ this.delete = row
+ this.delDeviceById()
+ this.selectDevice()
+ },
+ remove(node, data) {
+ this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ澶�, 鏄惁缁х画?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(() => {
+ let val = 1;
+ if (this.radio1 === "false") {
+ val = 2;
+ }
+ if (data.id === undefined) {
+ 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) {
+ 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"
+ });
+ }
+ });
+ }
+ });
+ },
+ },
+ 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;
+ });
+ }
+ }
+ },
+ 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>
-.custom-tree-node {
- flex: 1;
- display: flex;
- align-items: center;
- justify-content: space-between;
- font-size: 14px;
- padding-right: 8px;
-}
-.el-icon-delete {
- display: none;
- color: #004EA2;
-}
-.custom-tree-node:hover .el-icon-delete {
- display: inline;
-}
-.node_i {
- 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;
-}
-.class_sidebar {
- overflow: hidden;
- height: calc(100vh - 159px);
- text-align: center;
- padding: 8px;
- float: left;
- background-color: #fdfdfe;
-}
-.box_bgd {
- width: 15px;
- height: 40px;
- position: relative;
- float: left;
- top: 50%!important;
- left: -20px;
- background: blue;
-}
-.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;
- }
-}
+ .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;
+ align-items: center;
+ 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;
+ }
+
+ .custom-tree-node:hover .el-icon-delete {
+ display: inline;
+ }
+
+ .node_i {
+ 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;
+ }
+
+ .class_sidebar {
+ overflow: hidden;
+ height: calc(100vh - 175px);
+ text-align: center;
+ padding: 8px;
+ float: left;
+ background-color: #fdfdfe;
+ }
+
+ .box_bgd {
+ width: 12px;
+ height: 60px;
+ position: absolute;
+ float: left;
+ 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;
+ }
+
+ .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>
+<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