From 0818becbf021341ce369d4f92b2ade3a2648a953 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期五, 15 九月 2023 13:45:48 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/mom-before

---
 src/components/view/technology.vue | 1423 ++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 869 insertions(+), 554 deletions(-)

diff --git a/src/components/view/technology.vue b/src/components/view/technology.vue
index 4bd43a6..f7870aa 100644
--- a/src/components/view/technology.vue
+++ b/src/components/view/technology.vue
@@ -1,132 +1,150 @@
 <style scoped>
-	.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;
-	}
+.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;
+}
 
-	.title {
-		margin-bottom: 10px;
-		padding: 0 20px;
-	}
+.title {
+  margin-bottom: 10px;
+  padding: 0 20px;
+}
 
-	.title * {
-		font-size: 16px;
-	}
+.title * {
+  font-size: 16px;
+}
 
-	.choose {
-		padding: 21px 24px;
-		display: flex;
-		align-items: center;
-		background-color: #fff;
-		border-bottom: 3px solid rgb(245, 247, 251);
-	}
+.choose {
+  padding: 21px 24px;
+  display: flex;
+  align-items: center;
+  background-color: #fff;
+  border-bottom: 3px solid rgb(245, 247, 251);
+}
 
-	.choose * {
-		font-size: 14px;
-	}
+.choose * {
+  font-size: 14px;
+}
 
-	.choose .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;
-	}
+.choose .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;
+}
 
-	.thing {
-		width: 100%;
-		height: calc(100% - 120px);
-		background-color: #fff;
-		display: flex;
-	}
+.thing {
+  width: 100%;
+  height: calc(100% - 120px);
+  background-color: #fff;
+  display: flex;
+}
 
-	.thing .left {
-		width: 295px;
-		height: calc(100% - 20px);
-		border-right: 3px solid rgb(245, 247, 251);
-		padding: 16px;
-	}
+.thing .left {
+  width: 295px;
+  height: calc(100% - 20px);
+  border-right: 3px solid rgb(245, 247, 251);
+  padding: 16px;
+	overflow-y: auto;
+}
 
-	.thing .left .custom-tree-node span {
-		font-size: 14px;
-	}
+.thing .left .custom-tree-node span {
+  font-size: 14px;
+}
 
-	.thing .left .custom-tree-node {
-		flex: 1;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		font-size: 14px;
-		padding-right: 8px;
-	}
+.thing .left .custom-tree-node {
+  flex: 1;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  font-size: 14px;
+  padding-right: 8px;
+}
 
-	.node_i {
-		color: orange;
-	}
+.node_i {
+  color: orange;
+}
 
-	.el-icon-delete {
-		display: none;
-		color: #004EA2;
-	}
+.el-icon-delete {
+  display: none;
+  color: #004ea2;
+}
 
-	.custom-tree-node:hover .el-icon-delete {
-		display: inline;
-	}
+.custom-tree-node:hover .el-icon-delete {
+  display: inline;
+}
 
-	.thing .right {
-		width: calc(100% - 305px);
-		height: calc(100% - 25px);
-		overflow: hidden;
-		padding: 10px;
-	}
+.thing .right {
+  width: calc(100% - 305px);
+  height: calc(100% - 25px);
+  overflow: hidden;
+  padding: 10px;
+}
 
-	.table_do {
-		color: #004ea0;
-		cursor: pointer;
-	}
+.table_do {
+  color: #004ea0;
+  cursor: pointer;
+}
 </style>
 <style>
-	.record_content .title .el-button * {
-		font-size: 14px;
-	}
+.record_content .title .el-button * {
+  font-size: 14px;
+}
 
-	.record_content .title .el-button--default {
-		color: #004EA2;
-	}
+.record_content .title .el-button--default {
+  color: #004ea2;
+}
 
-	.record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
-		background: rgba(58, 124, 253, 0.2);
-		color: #004EA2;
-	}
+.record_content
+  .thing
+  .left
+  .el-tree--highlight-current
+  .el-tree-node.is-current
+  > .el-tree-node__content {
+  background: rgba(58, 124, 253, 0.2);
+  color: #004ea2;
+}
 
-	.record_content .el-tree-node__content {
-		height: 30px;
-		border-radius: 2px;
-	}
+.record_content .el-tree-node__content {
+  height: 30px;
+  border-radius: 2px;
+}
 </style>
 
 <template>
-	<div class="record_content">
-		<div class="title">
-			<el-row>
-				<el-col :span="12" style="line-height: 32px;">宸ヨ壓璺嚎缁存姢</el-col>
-				<el-col :span="12" style="text-align: right;">
-					<el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="addend">鏂板</el-button>
-					<el-button icon="el-icon-edit-outline" @click="modify">淇敼</el-button>
-					<el-button icon="el-icon-delete" @click="dels">鍒犻櫎</el-button>
-				</el-col>
-			</el-row>
-		</div>
-		<div class="choose">
-			<span>绫诲瀷锛�</span>
-			<el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
-				<el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
-				<el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
-				<el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
-				<el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
-			</el-select>
-			<!-- <span>宸ュ簭锛�</span>
+  <div class="record_content">
+    <div class="title">
+      <el-row>
+        <el-col :span="12" style="line-height: 32px">宸ヨ壓璺嚎缁存姢</el-col>
+        <el-col :span="12" style="text-align: right">
+          <el-button
+            type="primary"
+            icon="el-icon-plus"
+            style="background: #004ea2"
+            @click="addend"
+            >鏂板</el-button
+          >
+          <!-- <el-button icon="el-icon-edit-outline" @click="modify">淇敼</el-button> -->
+          <el-button icon="el-icon-delete" @click="dels">鍒犻櫎</el-button>
+        </el-col>
+      </el-row>
+    </div>
+    <div class="choose">
+      <span>绫诲瀷锛�</span>
+      <el-select
+        v-model="search.type"
+        size="small"
+        placeholder="璇烽�夋嫨"
+        @change="type"
+        style="width: 224px; margin-right: 30px"
+      >
+        <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
+        <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
+        <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
+        <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
+      </el-select>
+      <!-- <span>宸ュ簭锛�</span>
 			<el-select v-model="search.name" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
 				<el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option>
 			</el-select>
@@ -134,471 +152,768 @@
 			<el-select v-model="search.name" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
 				<el-option v-for="(a, ai) in product" key="ai" :label="a.name" :value="a.id"></el-option>
 			</el-select> -->
-			<el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button>
+      <!-- <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button>
 			<el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌�
-					璇�</span></el-button>
-		</div>
-		<div class="thing">
-			<div class="left">
-				<el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable @input="(val)=>$refs.tree.filter(val)"></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 != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
-							{{data.name}}{{data.father}}</span>
-						<el-button type="text" size="mini" @click.stop="remove(node, data)">
+					璇�</span></el-button> -->
+    </div>
+    <div class="thing">
+      <div class="left">
+        <el-input
+          v-model="search.technology"
+          suffix-icon="el-icon-search"
+          placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�"
+          size="small"
+          clearable
+          @input="query"
+        >
+          <!-- clearable @input="(val)=>$refs.tree.filter(val)"> -->
+        </el-input>
+        <el-tree
+          :data="towTree"
+          ref="tree"
+          :props="{ children: 'children', label: 'father' }"
+          node-key="father"
+          default-expand-all
+          @node-click="handleNodeClick"
+          :key="upIndex"
+          highlight-current
+        >
+          <div class="custom-tree-node" slot-scope="{ node, data }">
+            <span
+              ><i
+                :class="`node_i ${
+                  data.code != '[2]'
+                    ? 'el-icon-folder-opened'
+                    : 'el-icon-tickets'
+                }`"
+              ></i>
+              {{ data.father }}</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 class="right">
-				<el-table :data="tableData" border style="width: 100%;overflow-y: auto;min-height: 100%" max-height="100%"
-					@selection-change="handleSelectionChange" default-expand-all>
-					<el-table-column type="selection" width="50">
-					</el-table-column>
-					<el-table-column type="index" label="搴忓彿" width="70">
-					</el-table-column>
-					<el-table-column prop="name" label="宸ヨ壓鍚嶇О">
-					</el-table-column>
-					<el-table-column prop="device_group" label="璁惧缁�">
-					</el-table-column>
-					<el-table-column label="鎿嶄綔" width="130">
-						<template slot-scope="scope">
-							<span class="table_do" @click="upContent(scope.row)">缂栬緫&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
-							<span class="table_do" @click="deleteRow(scope.$index, tableData)">鍒犻櫎</span>
-						</template>
-					</el-table-column>
-				</el-table>
-			</div>
-		</div>
-		<el-dialog title="缂栬緫璁板綍鍐呭" :visible.sync="upDia" width="500px">
-			<div class="body">
-				<el-row style="line-height: 46px;">
-					<el-col :span="4" style="font-size: 14px;text-align: right;">绫诲瀷:</el-col>
-					<el-col :span="16" :offset="1">
-						<template>
-                        <el-select v-model="upData.type" placeholder="璇烽�夋嫨绫诲瀷" style="width: 310px;">
-							<el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
-							<el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
-							<el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
-							<el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
-                        </el-select>
-                        </template>
-					</el-col>
-				</el-row>
-				<el-row style="line-height: 46px;">
-					<el-col :span="4" style="font-size: 14px;text-align: right;">宸ュ簭:</el-col>
-					<el-col :span="16" :offset="1">
-						<el-select v-model="upData.father"   style="width: 310px;" placeholder="璇烽�夋嫨">
-							<el-option
-							v-for="item in procedure"
-							:key="item"
-							:label="item"
-							:value="item">
-							</el-option>
-						</el-select>
-					</el-col>
-				</el-row>
-				<el-row style="line-height: 46px;">
-					<el-col :span="4" style="font-size: 14px;text-align: right;">鍏冧欢:</el-col>
-					<el-col :span="16" :offset="1">
-						<el-select v-model="upData.ele" style="width: 310px;" multiple placeholder="璇烽�夋嫨">
-							<el-option
-							v-for="item in element"
-							:key="item.index"
-							:label="item.name"
-							:value="item.id">
-							</el-option>
-						</el-select>
-					</el-col>
-				</el-row>
-				<el-row style="line-height: 46px;">
-					<el-col :span="4" style="font-size: 14px;text-align: right;">宸ヨ壓鍚嶇О:</el-col>
-					<el-col :span="16" :offset="1">
-						<el-input v-model="upData.name" size="small" clearable></el-input>
-					</el-col>
-				</el-row>
-				<el-row style="line-height: 46px;">
-					<el-col :span="4" style="font-size: 14px;text-align: right;">璁惧缁�:</el-col>
-					<el-col :span="16" :offset="1">
-						<el-input v-model="upData.device_group" size="small" clearable></el-input>
-					</el-col>
-				</el-row>
-			</div>
-			<span slot="footer" class="dialog-footer">
-				<el-button type="primary" @click="submitUpData">纭� 瀹�</el-button>
-				<el-button @click="upDia = false">鍙� 娑�</el-button>
-			</span>
-		</el-dialog>
+						</el-button> -->
+          </div>
+        </el-tree>
+      </div>
+      <div class="right">
+        <el-table
+          :data="tableData"
+          border
+          style="width: 100%; overflow-y: auto; min-height: 100%"
+          max-height="100%"
+          @selection-change="handleSelectionChange"
+          default-expand-all
+        >
+          <el-table-column type="selection" width="50"> </el-table-column>
+          <el-table-column type="index" label="搴忓彿" width="70">
+          </el-table-column>
+          <el-table-column prop="name" label="宸ヨ壓鍚嶇О"> </el-table-column>
+          <el-table-column prop="device_group" label="璁惧缁�">
+          </el-table-column>
+          <el-table-column label="鍏冧欢">
+            <template slot-scope="scope">
+              <el-tag type="info" style="margin-right: 10px;" v-for="(a, index) in JSON.parse(scope.row.element)" :key="index">{{ a }}</el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column label="鎿嶄綔" width="130">
+            <template slot-scope="scope">
+              <span class="table_do" @click="upContent(scope.row)"
+                >缂栬緫&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span
+              >
+              <span class="table_do" @click="deleteRow(scope.$index, scope.row)"
+                >鍒犻櫎</span
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
 
-		<!-- 宸ヨ壓璺嚎鏂板 -->
-		<el-dialog title="宸ヨ壓璺嚎鏂板" :visible.sync="dialogVisible" width="35%">
-			<div>
-				<el-form ref="form" :model="form" label-width="80px">
-				<el-form-item label="绫诲瀷">
-					<template>
-                        <el-select v-model="form.type" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;">
-							<el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
-							<el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
-							<el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
-							<el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
-                        </el-select>
-                        </template>
-				</el-form-item>
-				<el-form-item label="宸ュ簭">
-					<template>
-                        <el-select v-model="form.father" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;" >
-                            <el-option
-                            v-for="item in procedure"
-                            :key="item"
-                            :label="item"
-                            :value="item">
-                            </el-option>
-                        </el-select>
-                        </template>
-				</el-form-item>
-				<el-form-item label="璁惧缁�">
-					<template>
-                        <el-select v-model="form.deviceGroup" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;" >
-                            <el-option
-                            v-for="item in equipment"
-                            :key="item.index"
-                            :label="item.father"
-                            :value="item.father">
-                            </el-option>
-                        </el-select>
-                        </template>
-				</el-form-item>
-				<el-row>
-				<el-col :span="10">
-				<el-form-item label="鍏冧欢">
-					<template>
-                        <el-select v-model="form.elementId" placeholder="璇烽�夋嫨绫诲瀷" style="width: 200px;" >
-                            <el-option
-                            v-for="item in element"
-                            :key="item.value"
-                            :label="item.name"
-                            :value="item.id">
-                            </el-option>
-                        </el-select>
-                        </template>
-				</el-form-item>
-			</el-col>
-			<el-col :span="10" :offset="2">
 
-				<el-form-item label="宸ヨ壓鍚嶇О">
-					<el-input v-model="form.name" style="width: 200px;"></el-input>
-				</el-form-item>
-			</el-col>
-				</el-row>
-				</el-form>
-			</div>
-			<span slot="footer" class="dialog-footer">
-				<el-button type="primary" @click="Neworder">纭� 瀹�</el-button>
-				<el-button @click="dialogVisible = false">鍙� 娑�</el-button>
-			</span>
-		</el-dialog>
-		<!-- 宸ヨ壓璺嚎淇敼 -->
-		<el-dialog title="宸ヨ壓璺嚎鏂板" :visible.sync="modifyevent" width="35%">
-			<div>
-				<el-form ref="form" :model="form" label-width="80px">
-				<el-form-item label="绫诲瀷">
-					<template>
-                        <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;">
-                            <!-- <el-option
+
+    <el-dialog title="缂栬緫璁板綍鍐呭" :visible.sync="upDia" width="500px">
+      <div class="body">
+        <el-row style="line-height: 46px">
+          <el-col :span="4" style="font-size: 14px; text-align: right"
+            >绫诲瀷:</el-col
+          >
+          <el-col :span="16" :offset="1">
+            <template>
+              <el-select
+                v-model="edit.type"
+                placeholder="璇烽�夋嫨"
+                disabled
+                style="width: 310px"
+              >
+                <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
+                <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
+                <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
+                <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
+              </el-select>
+            </template>
+          </el-col>
+        </el-row>
+        <el-row style="line-height: 46px">
+          <el-col :span="4" style="font-size: 14px; text-align: right"
+            >宸ュ簭:</el-col
+          >
+          <el-col :span="16" :offset="1">
+            <el-select
+              v-model="edit.father"
+              style="width: 310px"
+              disabled
+              placeholder="璇烽�夋嫨"
+            >
+              <el-option
+                v-for="item in procedure"
+                :key="item"
+                :label="item"
+                disabled
+                :value="item"
+              >
+              </el-option>
+            </el-select>
+          </el-col>
+        </el-row>
+        <el-row style="line-height: 46px">
+          <el-col :span="4" style="font-size: 14px; text-align: right"
+            >鍏冧欢:</el-col
+          >
+          <el-col :span="16" :offset="1">
+            <el-input v-model="cell"
+             placeholder="璇疯緭鍏ュ厓浠跺悕绉�"
+             style="width: 200px">
+            </el-input>
+            <!-- <el-select
+              v-model="cell"
+              style="width: 310px"
+              disabled
+              multiple
+              placeholder="璇烽�夋嫨"
+            >
+              <el-option
+                v-for="item in element"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select> -->
+          </el-col>
+        </el-row>
+        <el-row style="line-height: 46px">
+          <el-col :span="4" style="font-size: 14px; text-align: right"
+            >宸ヨ壓鍚嶇О:</el-col
+          >
+          <el-col :span="16" :offset="1">
+            <el-input v-model="edit.name" size="small" clearable></el-input>
+          </el-col>
+        </el-row>
+
+        <el-row style="line-height: 46px">
+          <el-col :span="4" style="font-size: 14px; text-align: right"
+            >璁惧缁�:</el-col
+          >
+          <el-col :span="16" :offset="1">
+            <!-- <el-input
+              v-model="upData.device_group"
+              size="small"
+              clearable
+            ></el-input> -->
+            <template>
+              <el-select
+                v-model="upData.device_group"
+                placeholder="璇烽�夋嫨"
+                style="width: 306px"
+              >
+                <el-option
+                  v-for="item in equipment"
+                  :key="item.index"
+                  :label="item.father"
+                  :value="item.father"
+                >
+                </el-option>
+              </el-select>
+            </template>
+          </el-col>
+        </el-row>
+
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitUpData">纭� 瀹�</el-button>
+        <el-button @click="upDia = false">鍙� 娑�</el-button>
+      </span>
+    </el-dialog>
+
+    <!-- 宸ヨ壓璺嚎鏂板 -->
+    <el-dialog title="宸ヨ壓璺嚎鏂板" :visible.sync="dialogVisible" width="35%">
+      <div>
+        <el-form ref="form" :model="form" label-width="80px">
+          <el-form-item label="绫诲瀷">
+            <template>
+              <el-select
+                v-model="form.type"
+                placeholder="璇烽�夋嫨"
+                style="width: 480px"
+                @change="edittype"
+              >
+                <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
+                <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
+                <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
+                <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
+              </el-select>
+            </template>
+          </el-form-item>
+          <el-form-item label="宸ュ簭">
+            <template>
+              <el-select
+                v-model="form.father"
+                allow-create
+                filterable
+                @create=""
+               
+                placeholder="璇烽�夋嫨"
+                style="width: 480px"
+              >
+                <el-option
+                  v-for="item in procedure"
+                  :key="item"
+                  :label="item"
+                  :value="item"
+                >
+                </el-option>
+              </el-select>
+            </template>
+          </el-form-item>
+          <el-form-item label="璁惧缁�">
+            <template>
+              <el-select
+                v-model="form.deviceGroup"
+                placeholder="璇烽�夋嫨"
+                style="width: 480px"
+              >
+                <el-option
+                  v-for="item in equipment"
+                  :key="item.index"
+                  :label="item.father"
+                  :value="item.father"
+                >
+                </el-option>
+              </el-select>
+            </template>
+          </el-form-item>
+          <el-row>
+            <el-col :span="10">
+              <el-form-item label="鍏冧欢">
+                <template>
+                  <el-input v-model="form.elementId" placeholder="璇疯緭鍏ュ厓浠跺悕绉�" style="width: 200px"></el-input>
+                  <!-- <el-select
+                    v-model="form.elementId"
+                    multiple
+                    placeholder="璇烽�夋嫨"
+                    style="width: 200px"
+                  >
+                    <el-option
+                      v-for="item in element"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.id"
+                    >
+                    </el-option>
+                  </el-select> -->
+                </template>
+              </el-form-item>
+            </el-col>
+            <el-col :span="10" :offset="2">
+              <el-form-item label="宸ヨ壓鍚嶇О">
+                <el-input v-model="form.name" style="width: 200px"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="Neworder">纭� 瀹�</el-button>
+        <el-button @click="Deleteapi">鍙� 娑�</el-button>
+      </span>
+    </el-dialog>
+    <!-- 宸ヨ壓璺嚎淇敼 -->
+    <el-dialog title="宸ヨ壓璺嚎鏂板" :visible.sync="modifyevent" width="35%">
+      <div>
+        <el-form ref="form" :model="form" label-width="80px">
+          <el-form-item label="绫诲瀷">
+            <template>
+              <el-select
+                v-model="value"
+                placeholder="璇烽�夋嫨"
+                style="width: 480px"
+              >
+                <!-- <el-option
                             v-for="item in options"
                             :key="item.value"
                             :label="item."
                             :value="item.value">
                             </el-option> -->
-							<el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
-							<el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
-							<el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
-							<el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
-                        </el-select>
-                        </template>
-				</el-form-item>
-				<el-form-item label="宸ュ簭">
-					<template>
-                        <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;">
-                            <el-option
-                            v-for="item in procedure"
-                            :key="item.value"
-                            :label="item.j"
-                            :value="item.value">
-                            </el-option>
-                        </el-select>
-                        </template>
-				</el-form-item>
-				<el-row>
-				<el-col :span="10">
-				<el-form-item label="宸ヨ壓鍚嶇О">
-					<template>
-                        <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 200px;">
-                            <el-option
-                            v-for="item in options"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
-                            </el-option>
-                        </el-select>
-                        </template>
-				</el-form-item>
-			</el-col>
-			<el-col :span="10" :offset="2">
-
-				<el-form-item label="鍏冧欢">
-					<el-input v-model="form.name" style="width: 200px;"></el-input>
-				</el-form-item>
-			</el-col>
-				</el-row>
-				</el-form>
-			</div>
-			<span slot="footer" class="dialog-footer">
-				<el-button type="primary" @click="modifyevent = false">纭� 瀹�</el-button>
-				<el-button @click="modifyevent = false">鍙� 娑�</el-button>
-			</span>
-		</el-dialog>
-	</div>
+                <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
+                <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
+                <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
+                <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
+              </el-select>
+            </template>
+          </el-form-item>
+          <el-form-item label="宸ュ簭">
+            <template>
+              <el-select
+                v-model="value"
+                placeholder="璇烽�夋嫨"
+                style="width: 480px"
+              >
+                <el-option
+                  v-for="item in procedure"
+                  :key="item.value"
+                  :label="item.j"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </template>
+          </el-form-item>
+          <el-row>
+            <el-col :span="10">
+              <el-form-item label="宸ヨ壓鍚嶇О">
+                <template>
+                  <el-select
+                    v-model="value"
+                    placeholder="璇烽�夋嫨"
+                    style="width: 200px"
+                  >
+                    <el-option
+                      v-for="item in options"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    >
+                    </el-option>
+                  </el-select>
+                </template>
+              </el-form-item>
+            </el-col>
+            <el-col :span="10" :offset="2">
+              <el-form-item label="鍏冧欢">
+                <el-input v-model="form.name" style="width: 200px"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="modifyevent = false">纭� 瀹�</el-button>
+        <el-button @click="modifyevent = false">鍙� 娑�</el-button>
+      </span>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				search: {
-					type: 0,
-					name: null,
-					technology: null
-				},
-				options:{},
-				form:{ 
-					type:'',
-					father:'',
-					name:'',
-					elementId:'',
-					deviceGroup:''
-				},
-				search:{
-					type:'',
-				},
-				treetrunk:[],
-				process: [],
-				product: [],
-				procedure:[],
-				checkTreeNode:'',
-				towTree:[],
-				value:"",
-				modifyevent:false,
-				dialogVisible:false,
-				checkTreeNode: {},
-				tableData: [],
-				upIndex: 0,
-				selects: [],
-				upDia: false,
-				element:[],
-				equipment:[0],
-				upData: {
-					name:'',
-					device_group:'',
-					ele:'',
-					father:'',
-					type:'',
-				},
-				newdata:{
-					type:''
-				}
-			}
-		},
-		mounted() {
-			this.selectAllTechTem()
-			this.chooseTech()
-			this.chooseDevGroup()
-			this.chooseElement()
-		},
-		methods: {
-			
-			Neworder() {
-				this.dialogVisible = false
-				this.addTechTemp()
-			},
-			addTechTemp() {
-				// console.log(this.$api.url.addTechTemp);
-				this.$axios.post(this.$api.url.addTechTemp,
-				
-				{
-					deviceGroup:this.form.deviceGroup,
-					elementId:this.form.elementId,
-					father:this.form.father,
-					name:this.form.name,
-					type:this.form.type
-				 },
-				 {
-					headers: {
-                		"Content-Type": "application/json"
-              		}
-				}
-				).then(res=>{
-					console.log(res);
-				})
-			},
+export default {
+  data() {
+    return {
+      search: {
+        type: 0,
+        technology: null,
+      },
+      options: {},
+      form: {
+        type: "",
+        father: "",
+        name: "",
+        elementId: "",
+        deviceGroup: "",
+      },
+      // search: {
+      //   type: "",
+      // },
+      delete: [],
+      treetrunk: [],
+      process: [],
+      product: [],
+      procedure: [],
+      checkTreeNode: {
+        name: "",
+      },
+      towTree: [],
+      value: "",
+      modifyevent: false,
+      dialogVisible: false,
+      tableData: [],
+      upIndex: 0,
+      selects: [],
+      upDia: false,
+      element: [],
+      equipment: [0],
+      cell:[],
+      AAA: [
+        {
+          id: "",
+        },
+      ],
+      edit: {
+        deviceGroup: "",
+        father: "",
+        name: "",
+        type: "",
+        children:[],
+      },
+      upData: {
+        name: "",
+        deviceGroup: "",
+        ele: "",
+        father: "",
+        type: "",
+      },
+      typeselect: 0,
+      newdata: {
+        type: "",
+      },
+      upIndex: 0,
+	  treeList:[],
+    elerow:{},
+    };
+  },
+  mounted() {
+    this.selectAllTechTem();
+    
+    this.selectAllTechNam();
+	console.log(this.treeList);
+  
+  },
+  methods: {
+    selectDataList() {
+      this.towTree.forEach((a) => {
+        a.code = "[1]";
+        if (a.children != undefined) {
+          a.children.forEach((b) => {
+            b.code = "[2]";
+          });
+        }
+      });
+      this.upIndex++;
+    },
+    type(val) {
+      this.typeselect = val;
+      this.upData.type = val;
+      console.log(this.typeselect);
+      this.selectAllTechTem();
+    },
 
-			//鍏冧欢
-			chooseElement() {
-				this.$axios.get(this.$api.url.chooseElement).then(res =>{
-					this.element = res.data
-					console.log(this.element);
-				})
-			},
-			//璁惧
-			chooseDevGroup() {
-				this.$axios.get(this.$api.url.chooseDevGroup).then(res =>{
-					this.equipment = res.data;
-					// console.log(this.equipment);
-				})
-			},
+    Neworder() {
+      this.dialogVisible = false;
+      this.addTechTemp();
+      this.form = {};
+    },
+    Deleteapi() {
+      this.dialogVisible = false;
+      this.form = {};
+    },
+    addTechTemp() {
+      console.log(this.form.elementId.split(','));
+ 
+      this.$axios
+        .post(
+          this.$api.url.addTechTemp,
+          {
+            deviceGroup: this.form.deviceGroup,
+            // elementId: JSON.stringify(this.form.elementId).replace("[","").replace("]",""),
+            // element:this.form.elementId.split(','),
+            element:JSON.stringify(this.form.elementId.split(',')),
+            father: this.form.father,
+            name: this.form.name,
+            type: this.form.type,
+          },
+          {
+            headers: {
+              "Content-Type": "application/json",
+            },
+          }
+        )
+        .then((res) => {
+          console.log(res);
+          /* this.selectAllTechNam(); */
+          this.form = {};
+          this.$parent.removeAllTab()
+        });
+    },
 
-			//宸ュ簭
-			chooseTech() {
-				this.$axios.get(this.$api.url.chooseTech).then(res =>{
-					this.procedure = res.data;
-					console.log(this.procedure);
-				})
+    //鍏冧欢
+    // chooseElement() {
+    //   this.$axios.get(this.$api.url.chooseElement).then((res) => {
+    //     this.element = res.data;
+    //     console.log(this.element);
+    //   });
+    // },
+    //璁惧
+    chooseDevGroup() {
+      this.$axios.get(this.$api.url.chooseDevGroup).then((res) => {
+        this.equipment = res.data;
+        // console.log(this.equipment);
+      });
+    },
+    // onTypeBlur(e) {
+    // if (e.target.value) {
+    // this.type = e.target.value;}},
+    //宸ュ簭
+    chooseTech() {
+      this.$axios.get(this.$api.url.chooseTech,{
+          params:{
+            type:this.typeselect
+          }
+      }).then(res =>{
+        console.log(res);
+        this.procedure = res.data
+      })
+    },
+    edittype(val) {
+				this.typeselect = val
+				this.chooseTech()
 			},
-			//鍒犻櫎
-			delTechById() {
-				this.$axios.post(this.$api.url.delTechById,{
-					id:this.upData.id
-				})
-			},
-			//缂栬緫
-			writeTechById() {
-				this.$axios.post(this.$api.url.writeTechById,{
-					deviceGroup:this.upData.device_group,
-					elementId:this.upData.ele[0],
-					father:this.upData.father,
-					name:this.upData.name,
-					type:this.upData.type,
-					// id:this.this.upData.id,
-				}, {
-					headers: {
-                		"Content-Type": "application/json"
-              		}
-				})
-			},
-			selectAllTechTem() {
-			this.$axios.get(this.$api.url.selectAllTechTem,{
-				params:{type: 0}
-			}).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;
-			});
-			},
-			selectAllTechNam() {
-			this.$axios.get(this.$api.url.selectAllTechNam,{
-				params:{father:this.checkTreeNode.name}
-			}).then(res => {
-				this.tableData = res.data;
-			});
-			},
-			addend(){
-				this.dialogVisible = true
-			},
-			modify(){
-				this.modifyevent = true
-			},
-			filterNode(value, data) {
-			  if (!value) return true;
-			  return data.name.indexOf(value) !== -1;
-			},
-			remove(node, data) {
-				this.$confirm("鏄惁鍒犻櫎", "璀﹀憡", {
-					type: "warning"
-				}).then(res => {
-					const parent = node.parent;
-					const children = parent.data.children || parent.data;
-					const index = children.findIndex(d => d.id === data.id);
-					children.splice(index, 1);
-				}).catch(e => {})
-			},
-			// selectDataList() {
-			// 	this.list.forEach(a => {
-			// 		a.code = '[1]'
-			// 		if (a.children != undefined) {
-			// 			a.children.forEach(b => {
-			// 				b.code = '[2]'
-			// 			})
-			// 		}
-			// 	})
-			// 	this.upIndex++
-			// },
-			handleNodeClick(data, node) {
-				this.checkTreeNode = data
-				this.treetrunk = node
-				console.log(this.treetrunk);
-				console.log(this.checkTreeNode);
-				this.selectAllTechNam()
-				// if (data.code == '[2]') {
-				// 	console.log(data);
-				// }
-			},
-			nodeOpen(data, node, el) {
-				$($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
-			},
-			nodeClose(data, node, el) {
-				$($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
-			},
-			handleSelectionChange(val) {
-				this.selects = val;
-			},
-			dels() {
-				this.selects.forEach(a => {
-					for (var b = 0; b < this.tableData.length; b++) {
-						if (this.tableData[b].id == a.id) {
-							this.tableData.splice(b, 1)
-							b--
-						}
-					}
-				})
-				this.$message.success('鍒犻櫎瀹屾垚')
-			},
-			deleteRow(index, rows) {
-				rows.splice(index, 1);
-			},
-			upContent(ob) {
-				this.upData = ob
-				console.log(this.upData);
-				this.upDia = true
-			},
+    //鎵归噺鍒犻櫎
+    delAllTech() {
+      console.log(this.delete);
+      this.$axios.post(this.$api.url.delAllTech, {
+        ids: this.delete,
+      }).then(res=>{
+        this.$parent.removeAllTab()
+      });
+    },
+    //鍒犻櫎
+    delTechById() {
+      console.log(this.$api.url.delTechById, this.upData.id);
+      this.$axios.post(this.$api.url.delTechById, {
+        id: this.upData.id,
+      }).then(res=>{
+        this.$parent.removeAllTab()
+      });
+    },
+    //缂栬緫
+    writeTechById() {
+      // console.log(JSON.stringify(this.edit.children));
+      // console.log(JSON.stringify(this.edit.children));
+      // var str = ''
+      // this.edit.children.forEach((a,ai)=>{
+      //   str += a.id
+      //   if(ai!=this.edit.children.length-1) str+=','
+      // })
+      this.$axios
+        .post(
+          this.$api.url.writeTechById + `?id=${this.upData.id}`,
+            {
+                deviceGroup: this.upData.device_group,
+                element:JSON.stringify(this.cell.split(',')),
+                // element:JSON.stringify(this.form.elementId.split(','))
+                father: this.edit.father,
+                name: this.edit.name,
+                type: this.edit.type
+          },
+          {
+            headers: {
+              "Content-Type": "application/json",
+            },
+          }
+        )
+        .then((res) => {
+          /* this.selectAllTechNam(), */
+          this.$parent.removeAllTab()
+        });
+    },
 
+    query(val) {
+      this.selectAllTechTem();
+    },
+     selectAllTechTem() {
+       this.$axios
+        .get(this.$api.url.selectAllTechTem, {
+          params: { type: this.typeselect, message: this.search.technology },
+        })
+        .then((res) => {
+          this.towTree = res.data;
+          console.log(this.towTree);
+          this.$nextTick(() => {
+				this.$refs.tree.setCurrentKey(this.towTree[0].father) // 榛樿閫変腑鑺傜偣绗竴涓�
+			})
+		  // let one=this.towTree.filter(item=>{
+			// return item.children.length>0
+		  // })[0]
+		  // let name=one.children[0].name 
+      // this.checkTreeNode.name=name
+		  // this.selectAllTechNamStart(name)
+      //     this.selectDataList();
+      let one=this.towTree[0]
+        let name =one.father
+        this.checkTreeNode.father = name
+			  console.log(name);
+        this.selectAllTechNamStart(name)
+        });
+    },
+    handleNodeClick(data, node) {
+		console.log(data);
+      this.checkTreeNode = data;
+      // this.treetrunk = node;
+      // console.log(this.treetrunk);
+      // console.log(this.checkTreeNode);
+      this.selectAllTechNam();
 
+    },
+    selectAllTechNam() {
+      this.$axios
+        .get(this.$api.url.selectAllTechNam, {
+          params: { father: this.checkTreeNode.father },
+        })
+        .then((res) => {
+          this.tableData = res.data;
 
-			submitUpData() {
-				// this.tableData.forEach(a => {
-				// 	if (a.id == this.upData.id) {
-				// 		a.name = this.upData.name
-				// 		a.ask = this.upData.device_group
-				// 	}
+          let kk =this.tableData.map(el =>{
+            console.log(el);
+            return el.element
+		        })[0]
+            // console.log(kk.replace('[','').replace(']','') ); 
+            // console.log(kk.split(','));
+            this.elerow = kk
+
+        });
+    },
+	selectAllTechNamStart(name) {
+      this.$axios
+        .get(this.$api.url.selectAllTechNam, {
+          params: { father: name },
+        })
+        .then((res) => {
+          this.tableData = res.data;
+        });
+    },
+    addend() {
+      this.dialogVisible = true;
+      this.chooseTech();
+      this.chooseDevGroup();
+      // this.chooseElement();
+    },
+    modify() {
+      this.modifyevent = true;
+    },
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.name.indexOf(value) !== -1;
+    },
+    remove(node, data) {
+      this.$confirm("鏄惁鍒犻櫎", "璀﹀憡", {
+        type: "warning",
+      })
+        .then((res) => {
+          const parent = node.parent;
+          const children = parent.data.children || parent.data;
+          const index = children.findIndex((d) => d.id === data.id);
+          children.splice(index, 1);
+        })
+        .catch((e) => {});
+    },
+    // selectDataList() {
+    // 	this.list.forEach(a => {
+    // 		a.code = '[1]'
+    // 		if (a.children != undefined) {
+    // 			a.children.forEach(b => {
+    // 				b.code = '[2]'
+    // 			})
+    // 		}
+    // 	})
+    // 	this.upIndex++
+    // },
+
+    nodeOpen(data, node, el) {
+      $($(el.$el).find(".node_i")[0]).attr(
+        "class",
+        "node_i el-icon-folder-opened"
+      );
+    },
+    nodeClose(data, node, el) {
+      $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder");
+    },
+    handleSelectionChange(val) {
+      this.selects = val;
+    },
+    dels() {
+      this.selects.forEach((a) => {
+        for (var b = 0; b < this.tableData.length; b++) {
+          if (this.tableData[b].id == a.id) {
+            this.tableData.splice(b, 1);
+            b--;
+          }
+        }
+      });
+      let cc = this.selects.map((el) => {
+        return el.id;
+      });
+      this.delete = cc.join(",");
+      console.log(this.delete);
+      this.delAllTech();
+      this.$message.success("鍒犻櫎瀹屾垚");
+    },
+    deleteRow(index, rows) {
+      this.tableData.splice(index, 1);
+      this.upData.id = rows.id;
+      this.delTechById();
+    },
+    selecTechById() {
+      this.$axios
+        .get(this.$api.url.selecTechById, {
+          params: {
+            id: this.upData.id,
+          },
+        })
+        .then((res) => {
+          this.edit = res.data[0];
+          this.cell = this.edit.element
+          console.log(this.cell);
+          let cc = JSON.parse(this.cell).join(",")
+          console.log(cc);
+          this.cell = cc
+          console.log(this.cell);
+        //   this.cell = this.edit.children.map(el => {
+				// 	return el.id
 				// })
-					this.writeTechById()
+        //   this.cell = this.cell.join(',')
+        //   this.cell = nn
+        //   console.log(this.cell);
 
-				this.$message.success('淇敼鎴愬姛')
-				this.upIndex++
-				this.upDia = false
-			}
-		}
-	}
-	
-</script>
\ No newline at end of file
+
+
+          //  let cc = this.edit.element.join(", ")
+          //  let str = cc.join(", ");
+            // let cc = JSON.parse(this.edit.element)
+            // console.log(cc);
+            // console.log(gg);
+            // console.log(json.parse(gg));
+
+        });
+    },
+    //缂栬緫鍐呭
+    upContent(ob) {
+      this.upData = ob;
+      this.selecTechById()
+      this.upDia = true;
+    },
+
+    submitUpData() {
+      // this.tableData.forEach(a => {
+      // 	if (a.id == this.upData.id) {
+      // 		a.name = this.upData.name
+      // 		a.ask = this.upData.device_group
+      // 	}
+      // })
+      this.writeTechById();
+
+      this.$message.success("淇敼鎴愬姛");
+      this.upIndex++;
+      this.upDia = false;
+    },
+  },
+};
+</script>

--
Gitblit v1.9.3