From 5c76f242b20281b51d01ce2266e8beaafe8ae5a6 Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期五, 15 九月 2023 10:00:34 +0800
Subject: [PATCH] 改bug

---
 src/components/view/record-content.vue |  440 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 257 insertions(+), 183 deletions(-)

diff --git a/src/components/view/record-content.vue b/src/components/view/record-content.vue
index ffe9f91..e727526 100644
--- a/src/components/view/record-content.vue
+++ b/src/components/view/record-content.vue
@@ -1,124 +1,15 @@
-<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 {
-		margin-bottom: 10px;
-		padding: 0 20px;
-	}
-
-	.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 * {
-		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;
-	}
-
-	.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 .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;
-	}
-
-	.node_i {
-		color: orange;
-	}
-
-	.el-icon-delete {
-		display: none;
-		color: #004EA2;
-	}
-
-	.custom-tree-node:hover .el-icon-delete {
-		display: inline;
-	}
-
-	.thing .right {
-		width: calc(100% - 305px);
-		height: calc(100% - 25px);
-		overflow: hidden;
-		padding: 10px;
-	}
-
-	.table_do {
-		color: #004ea0;
-		cursor: pointer;
-	}
-</style>
-<style>
-	.record_content .title .el-button * {
-		font-size: 14px;
-	}
-
-	.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 .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="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-edit-outline" @click="modify">淇敼</el-button> -->
 					<el-button icon="el-icon-delete" @click="dels">鍒犻櫎</el-button>
 				</el-col>
 			</el-row>
-		</div>		
+		</div>
 		<div class="choose">
 			<span>绫诲瀷锛�</span>
 			<el-select v-model="search.type" size="small" @change="TYpe" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
@@ -134,19 +25,22 @@
 			<el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button>
 			<el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌�
 					璇�</span></el-button> -->
+				<!-- :style="{height: scrollerHeight,overflow:'auto',display: 'flex'}" -->
+
 		</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="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all
-					@node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" @node-collapse="nodeClose" :filter-node-method="filterNode"
+				<el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable @input="query"></el-input>
+				<el-tree :data="list" ref="tree"
+				:props="{children: 'children',label: 'name'}" node-key="name" default-expand-all
+					@node-click="handleNodeClick" highlight-current
 					:key="upIndex">
 					<div class="custom-tree-node" slot-scope="{ node, data }">
-						<span><i :class="`node_i ${data.code != '[3]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
-							{{data.code}} {{ data.name }}</span>
-						<el-button type="text" size="mini" @click.stop="remove(node, data)">
+						<span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
+							{{ data.code }}{{ data.name }}</span>
+						<!-- <el-button type="text" size="mini" @click.stop="remove(node, data)">
 							<i class="el-icon-delete"></i>
-						</el-button>
+						</el-button> -->
 					</div>
 				</el-tree>
 			</div>
@@ -157,7 +51,7 @@
 					</el-table-column>
 					<el-table-column type="index" label="搴忓彿" width="70">
 					</el-table-column>
-					<el-table-column prop="name" label="鍚嶇О">
+					<el-table-column prop="name" label="璁板綍鍐呭">
 					</el-table-column>
 					<el-table-column prop="unit" label="鍗曚綅">
 					</el-table-column>
@@ -178,7 +72,7 @@
 					<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="璇烽�夋嫨绫诲瀷" style="width: 310px;">
+                        <el-select v-model="edit.type" disabled 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>
@@ -191,8 +85,9 @@
 					<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.techFather" 
-						placeholder="璇烽�夋嫨绫诲瀷" 
+                        <el-select v-model="edit.techFather"
+						placeholder="璇烽�夋嫨"
+						disabled
 						@change="workevent"
 						style="width: 310px;">
                             <el-option
@@ -206,10 +101,10 @@
 					</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="4" style="font-size:  14px;text-align: right;">宸ヨ壓:</el-col>
 					<el-col :span="16" :offset="1">
 						<template>
-                        <el-select v-model="edit.techName" placeholder="璇烽�夋嫨绫诲瀷" style="width: 310px;">
+                        <el-select v-model="edit.techName"  disabled placeholder="璇烽�夋嫨" style="width: 310px;">
                             <el-option
                             v-for="item in craftapi"
                             :key="item.id"
@@ -221,7 +116,7 @@
 					</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="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>
@@ -245,12 +140,14 @@
 			</span>
 		</el-dialog>
 		<!-- 鏂板寮圭獥 -->
-		<el-dialog title="宸ュ簭鏂板" :visible.sync="dialogVisible" width="35%">
+		<el-dialog title="鐢熶骇璁板綍鏂板" :visible.sync="dialogVisible" :rules="Rules"
+		ref="ruleForm" 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-select v-model="form.type"  
+						@change="edittype" 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>
@@ -260,9 +157,9 @@
 				</el-form-item>
 				<el-form-item label="宸ュ簭">
 					<template>
-                        <el-select v-model="form.work" 
+                        <el-select v-model="form.work"
 						@change="workevent"
-						placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;">
+						placeholder="璇烽�夋嫨" style="width: 480px;">
                             <el-option
                             v-for="item in process"
                             :key="item.name"
@@ -274,7 +171,7 @@
 				</el-form-item>
 				<el-form-item label="宸ヨ壓鍚嶇О">
 					<template>
-                        <el-select v-model="form.craft" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;">
+                        <el-select v-model="form.craft" placeholder="璇烽�夋嫨" style="width: 480px;">
                             <el-option
                             v-for="item in craftapi"
                             :key="item.id"
@@ -296,7 +193,7 @@
 				</el-form>
 			</div>
 			<span slot="footer" class="dialog-footer">
-				<el-button type="primary" @click="add">纭� 瀹�</el-button>
+				<el-button type="primary" @click="add(form)">纭� 瀹�</el-button>
 				<el-button @click="dialogVisible = false">鍙� 娑�</el-button>
 			</span>
 		</el-dialog>
@@ -307,7 +204,7 @@
 				<el-form ref="form" :model="form" label-width="80px">
 				<el-form-item label="绫诲瀷">
 					<template>
-                        <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;">
+                        <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 480px;">
                             <el-option
                             v-for="item in options"
                             :key="item.value"
@@ -319,7 +216,7 @@
 				</el-form-item>
 				<el-form-item label="宸ュ簭">
 					<template>
-                        <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;">
+                        <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 480px;">
                             <el-option
                             v-for="item in options"
                             :key="item.value"
@@ -331,7 +228,7 @@
 				</el-form-item>
 				<el-form-item label="宸ヨ壓鍚嶇О">
 					<template>
-                        <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;">
+                        <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 480px;">
                             <el-option
                             v-for="item in options"
                             :key="item.value"
@@ -366,8 +263,7 @@
 			return {
 				search: {
 					type: 0,
-					name: 2,
-					technology: 2
+					technology: null
 				},
 				options:[],
 				value:{},
@@ -381,11 +277,17 @@
 					remarks:'',
 					unit:'',
 				},
+				Rules:{
+					type:{required:true,message:'绫诲瀷涓嶈兘涓虹┖',trigger:'change'},
+					work:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'},
+					name:{required:true,message:'宸ヨ壓涓嶈兘涓虹┖',trigger:'change'},
+					record:{required:true,message:'璁板綍涓嶈兘涓虹┖',trigger:'blur'},
+					unit:{required:true,message:'鍗曚綅涓嶈兘涓虹┖',trigger:'blur'},
+				},
 				modifyVisible:false,
 				dialogVisible:false,
 				process: {},
 				list: [],
-				checkTreeNode: {},
 				tableData: [],
 				upIndex: 0,
 				selects: [],
@@ -393,9 +295,13 @@
 				typeselect:0,
 				upDia: false,
 				checkTreeNode:{
-					id:2,
+					id:'',
 				},
-				upData:{},
+				upData:{
+					name:'',
+					unit:'',
+					note:'',
+				},
 				edit:{
 					name:'',
 					note:'',
@@ -404,12 +310,6 @@
 					type:'',
 					unit:'',
 				},
-				upData: {
-					id: 0,
-					name: null,
-					unit: null,
-					thing: null
-				}
 			}
 		},
 		mounted() {
@@ -421,11 +321,21 @@
 				this.$axios.get(this.$api.url.delQueById,)
 			},
 			childrenClick() {},
+			TYpe(val) {
+                this.typeselect = val
+                console.log(this.typeselect);
+                this.selectAllleft()
+            },
+			edittype(val) {
+				this.typeselect = val
+				this.chooseTechFath()
+			},
 			//鏂板
 			workevent(val){
                 console.log(val);
                 let idx = this.process.findIndex(el => el.name === val)
                 this.craftapi = this.process[idx].children
+				console.log( this.craftapi);
             },
 			chooseTechFath() {
 			this.$axios.get(this.$api.url.chooseTechFath,{
@@ -437,7 +347,9 @@
 				headers: {
                 		"Content-Type": "application/json"
               		}
-            })
+            }).then(res =>{
+
+			})
 			},
 			addRecord() {
 				this.$axios.post(this.$api.url.addRecord,{
@@ -451,41 +363,64 @@
                 		"Content-Type": "application/json"
               		}
 				}
-				)
-			},
-			add() {
-				this.dialogVisible = false
-				this.addRecord()
-				this.selectjilu()
-				this.form = {};
-			},
-			//缂栬緫	this.upData
-			selecRecord() {
-				this.$axios.get(this.$api.url.selecRecord,{
-					params:{
-						id:this.upData.id
-					}
-				}).then(res => {
-					this.edit = res.data[0]
-					// console.log(this.edit);
+				).then(res =>{
+					this.selectjilu()
 				})
 			},
-			TYpe(val) {
-                this.typeselect = val
-                console.log(this.typeselect);
-                this.selectAllleft()
-            },
+			add() {
+				this.$refs[formName].validate((valid) => {
+				if (valid) {
+					alert('submit!');
+				} else {
+					console.log('error submit!!');
+					return false;
+				}
+				});
+				this.dialogVisible = false
+				this.addRecord()
+				this.form = {};
+			},
+			resetForm(formName) {
+       		 this.$refs[formName].resetFields();
+		      },
+			query() {
+				this.selectAllleft()
+			},
             //涓讳綋宸�
             selectAllleft() {
 			this.$axios.get(this.$api.url.selectAllleft,{
-				params:{type:this.typeselect}
+				params:{type:this.typeselect,message:this.search.technology}
 			}).then(res => {
 				this.list = res.data;
-                console.log(this.list);
+				this.selectDataList()
+				this.$nextTick(() => {
+				this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 榛樿閫変腑鑺傜偣绗竴涓�
+			})
+			console.log("=======");
+			console.log(this.list);
+			let one=this.list.filter(item=>{
+			return item.children.length>0
+			})[0]
+			console.log(one);
+			let name=one.children[0].id
+			console.log(name);
+			this.checkTreeNode.id = name
+			this.selectjiluStart(name)
+			this.selectDataList();
+			});
+			},
+			//榛樿
+			selectjiluStart(name) {
+			this.$axios.get(this.$api.url.selectjilu,{
+				params:{id:name}
+			}).then(res => {
+				this.tableData = res.data;
+                console.log(this.tableData);
 			})
 			},
 			//selectjilu  checkTreeNode
 			selectjilu() {
+				console.log(this.checkTreeNode.id);
 			this.$axios.get(this.$api.url.selectjilu,{
 				params:{id:this.checkTreeNode.id}
 			}).then(res => {
@@ -571,35 +506,174 @@
 			},
 
 			//鍒犻櫎
-			delQueById() {
-				this.$axios.post(this.$api.url.delQueById,{
+			delQueByIdapi() {
+				this.$axios.post(this.$api.url.delQueByIdapi,{
 						id:this.upData.id
 				})
 			},
 			deleteRow(index, rows) {
 				this.tableData.splice(index,1)
 				this.upData.id = rows.id
-				this.delQueById()
+				this.delQueByIdapi()
+				// this.selectjilu()
 			},
-
+			//缂栬緫
 			upContent(ob) {
 				this.upData = ob
-				console.log(this.upData);
+				// console.log(this.upData);
 				this.selecRecord()
-				this.chooseTechFath()
+				// this.chooseTechFath()
 				this.upDia = true
 			},
-			submitUpData() {
-				this.tableData.forEach(a => {
-					if (a.id == this.upData.id) {
-						a.name = this.upData.name
-						a.unit = this.upData.unit
-						a.thing = this.upData.thing
+			selecRecord() {
+				this.$axios.get(this.$api.url.selecRecord,{
+					params:{
+						id:this.upData.id
 					}
+				}).then(res => {
+					this.edit = res.data[0]
 				})
+			},
+			writeRecordById() {
+				// console.log(this.upData.id);
+				this.$axios.post(this.$api.url.writeRecordById + '?id=' + this.upData.id,{
+					name:this.upData.name,
+					note:this.upData.note,
+					techTemId:this.edit.id,
+					unit:this.upData.unit
+				}, {
+					headers: {
+                		"Content-Type": "application/json"
+              		}
+				}).then(res => {
+					this.selectjilu()
+				})
+			},
+			submitUpData() {
+				this.writeRecordById()
 				this.$message.success('淇敼鎴愬姛')
+
 				this.upDia = false
+					// this.tableData.forEach(a => {
+				// 	if (a.id == this.upData.id) {
+				// 		a.name = this.upData.name
+				// 		a.unit = this.upData.unit
+				// 		a.thing = this.upData.thing
+				// 	}
+				// })
+				// console.log(this.upData);
 			}
 		}
 	}
 </script>
+
+<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 {
+		margin-bottom: 10px;
+		padding: 0 20px;
+	}
+
+	.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 * {
+		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;
+	}
+
+	.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;
+		overflow-y: auto;
+	}
+
+	.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;
+	}
+
+	.node_i {
+		color: orange;
+	}
+
+	.el-icon-delete {
+		display: none;
+		color: #004EA2;
+	}
+
+	.custom-tree-node:hover .el-icon-delete {
+		display: inline;
+	}
+
+	.thing .right {
+		width: calc(100% - 305px);
+		height: calc(100% - 25px);
+		overflow: hidden;
+		padding: 10px;
+	}
+
+	.table_do {
+		color: #004ea0;
+		cursor: pointer;
+	}
+</style>
+<style>
+	.record_content .title .el-button * {
+		font-size: 14px;
+	}
+
+	.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 .el-tree-node__content {
+		height: 30px;
+		border-radius: 2px;
+	}
+</style>
+
+

--
Gitblit v1.9.3