From 352ad5d8f7957bc7f84baf4ce4d8518619864b6e Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期五, 18 八月 2023 11:55:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
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