From 2281a3da368d9366e7d97e85719fe0f4a0492f9b Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期一, 18 三月 2024 01:05:37 +0800
Subject: [PATCH] 功能调整

---
 src/components/view/b2-standard.vue           |    2 
 src/components/do/b1-ins-order/add.vue        |  363 ++++++++++++----
 src/components/tool/value-table.vue           |    6 
 src/components/view/b1-inspect-order-plan.vue |  653 ++++++++++++++++--------------
 src/components/view/b1-inspection-order.vue   |  197 +++++----
 src/view/index.vue                            |    5 
 src/assets/api/controller.js                  |    7 
 7 files changed, 722 insertions(+), 511 deletions(-)

diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index fa1b765..2f3da4f 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -115,7 +115,9 @@
 
 const insOrder = {
 	selectInsOrderParameter: "/insOrder/selectInsOrderParameter", //鏌ヨ妫�楠屼笅鍗�
-	getDeviceManager: "/user/getDeviceManager", //鑾峰彇鎸囨淳浜哄憳
+	addInsOrder: "/insOrder/addInsOrder", //娣诲姞妫�楠屼笅鍗曟暟鎹�
+	selectOrderManDay: "/insOrder/selectOrderManDay", //鏌ヨ璁㈠崟鎬诲叡棰勮鏃堕棿
+	upInsOrder: "/insOrder/upInsOrder", //妫�楠屼笅鍙�
 }
 
 const sampleOrder = {
@@ -126,8 +128,6 @@
 	selectInsOrderPlanList: "/insOrderPlan/selectInsOrderPlanList", //鏌ヨ妫�楠屼换鍔�
   claimInsOrderPlan: "/insOrderPlan/claimInsOrderPlan",//璁ら妫�楠屼换鍔�
 }
-
-
 
 const systemLog = {
 	selectSystemLogList: "/systemLog/selectSystemLogList", //鑾峰彇鏃ュ織
@@ -143,6 +143,7 @@
 	delStandardProductByIds: "/standardTree/delStandardProductByIds", //鍒犻櫎鏍囧噯鏍戜笅鐨勬楠岄」鐩�
 	addStandardProduct: "/standardTree/addStandardProduct", //鏂板鏍囧噯鏍戜笅鐨勬楠岄」鐩�
 	delStandardTree: "/standardTree/delStandardTree", //鍒犻櫎鏍囧噯鏍戠殑灞傜骇
+	selectStandardProductList: "/standardTree/selectStandardProductList", //閫氳繃鏍囧噯鏍戞煡璇㈠搴旂殑妫�楠岄」鐩�
 }
 
 const standardMethod = {
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 9a50c89..cbcbb42 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -2,6 +2,11 @@
 	.ins_order_add {
 		width: 100%;
 		height: 100%;
+		overflow-y: auto;
+	}
+
+	.ins_order_add::-webkit-scrollbar {
+		width: 0;
 	}
 
 	.title {
@@ -12,7 +17,7 @@
 	.search {
 		width: calc(100% - 40px);
 		background-color: #fff;
-		padding: 10px 40px 10px 0;
+		padding: 5px 40px 5px 0;
 	}
 
 	.search_thing {
@@ -35,6 +40,7 @@
 		color: orange;
 		font-size: 18px;
 	}
+
 </style>
 <style>
 	.ins_order_add .el-input-group__append,
@@ -64,6 +70,10 @@
 	.ins_order_add .el-table__row .cell {
 		font-size: 12px;
 	}
+	
+	.ins_order_add .el-table .warning-row .cell{
+		color: #bababa;
+	}
 </style>
 
 <template>
@@ -78,7 +88,7 @@
 					<el-button size="medium" @click="">
 						<span style="color: #3A7BFA;">淇濆瓨妯℃澘</span>
 					</el-button>
-					<el-button size="medium" type="primary" @click="save">鎻愪氦</el-button>
+					<el-button size="medium" type="primary" @click="save" :loading="saveLoad">鎻愪氦</el-button>
 					<el-button size="medium" @click="$parent.playOrder(0)">
 						<span style="color: #3A7BFA;">杩斿洖</span>
 					</el-button>
@@ -91,12 +101,6 @@
 					<div class="search_label">濮旀墭缂栧彿锛�</div>
 					<div class="search_input">
 						<el-input v-model="addObj.entrustCode" size="small" placeholder="绯荤粺鐢熸垚" disabled></el-input>
-					</div>
-				</el-col>
-				<el-col class="search_thing" :span="6">
-					<div class="search_label"><span class="required-span">* </span>鏍峰搧缂栧彿锛�</div>
-					<div class="search_input">
-						<el-input v-model="addObj.sampleCode" size="small" placeholder="璇疯緭鍏�" clearable></el-input>
 					</div>
 				</el-col>
 				<el-col class="search_thing" :span="6">
@@ -115,37 +119,10 @@
 					</div>
 				</el-col>
 				<el-col class="search_thing" :span="6">
-					<div class="search_label"><span class="required-span">* </span>鏍峰搧鍚嶇О锛�</div>
-					<div class="search_input">
-						<el-input readonly size="small" v-model="addObj.sample">
-							<template slot="append"><el-button slot="append" icon="el-icon-search"
-									@click="selectStandardTree = true"></el-button></template>
-						</el-input>
-					</div>
-				</el-col>
-				<el-col class="search_thing" :span="6">
-					<div class="search_label"><span class="required-span">* </span>瀹為獙瀹ゅ悕绉帮細</div>
-					<div class="search_input">
-						<el-input size="small" clearable disabled v-model="addObj.laboratory"></el-input>
-					</div>
-				</el-col>
-				<el-col class="search_thing" :span="6">
-					<div class="search_label"><span class="required-span">* </span>鏍峰搧绫诲瀷锛�</div>
-					<div class="search_input">
-						<el-input size="small" clearable disabled v-model="addObj.sampleType"></el-input>
-					</div>
-				</el-col>
-				<el-col class="search_thing" :span="6">
-					<div class="search_label"><span class="required-span">* </span>瑙勬牸鍨嬪彿锛�</div>
-					<div class="search_input">
-						<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addObj.model"></el-input>
-					</div>
-				</el-col>
-				<el-col class="search_thing" :span="6">
-					<div class="search_label">绾﹀畾鏃堕棿锛�</div>
+					<div class="search_label">闇�姹傛椂闂达細</div>
 					<div class="search_input">
 						<el-date-picker type="date" placeholder="閫夋嫨鏃ユ湡" size="small" value-format="yyyy-MM-dd" style="width: 100%;"
-							v-model="addObj.appointedTime"></el-date-picker>
+							v-model="addObj.appointed"></el-date-picker>
 					</div>
 				</el-col>
 				<el-col class="search_thing" :span="6">
@@ -157,32 +134,18 @@
 					</div>
 				</el-col>
 				<el-col class="search_thing" :span="6">
-					<div class="search_label"><span class="required-span">* </span>鏍峰搧鏁伴噺锛�</div>
-					<div class="search_input">
-						<el-input-number size="small" v-model="addObj.sampleNum" :controls="false" :min="0" :max="1000"
-							:precision="0" style="width: 50%;" @change="onSample"></el-input-number>
-					</div>
-				</el-col>
-				<el-col class="search_thing" :span="6">
 					<div class="search_label">OTC璁㈠崟鍙凤細</div>
 					<div class="search_input">
 						<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addObj.otcCode"></el-input>
 					</div>
 				</el-col>
 				<el-col class="search_thing" :span="6">
-					<div class="search_label">鏍峰搧鐣欐牱锛�</div>
-					<div class="search_input">
-						<el-radio-group v-model="addObj.isLeave" @change="addObj.leaveNum = null">
-							<el-radio :label="1">鐣欐牱</el-radio>
-							<el-radio :label="0">涓嶇暀鏍�</el-radio>
+					<div class="search_label" style="width: 175px;">鏄惁娑夊強閰嶅鏍峰搧锛�</div>
+					<div class="search_input" style="width: calc(100% - 175px);">
+						<el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()">
+							<el-radio :label="1">鏄�</el-radio>
+							<el-radio :label="0">鍚�</el-radio>
 						</el-radio-group>
-					</div>
-				</el-col>
-				<el-col class="search_thing" :span="6">
-					<div class="search_label">鐣欐牱鏁伴噺锛�</div>
-					<div class="search_input">
-						<el-input-number size="small" v-model="addObj.leaveNum" :controls="false" :min="0"
-							:disabled="addObj.isLeave == 0" style="width: 50%;"></el-input-number>
 					</div>
 				</el-col>
 				<el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;">
@@ -192,24 +155,39 @@
 							v-model="addObj.remark"></el-input>
 					</div>
 				</el-col>
-				<el-col class="search_thing" :span="6">
-					<div class="search_label" style="width: 160px;">鏄惁娑夊強閰嶅鏍峰搧锛�</div>
-					<div class="search_input" style="width: calc(100% - 160px);">
-						<el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()">
-							<el-radio :label="1">鏄�</el-radio>
-							<el-radio :label="0">鍚�</el-radio>
-						</el-radio-group>
-					</div>
-				</el-col>
 			</el-row>
 		</div>
-		<div style="display: flex;">
-			<el-table class="el-table" ref="sampleTable" :data="sampleList" height="300px" tooltip-effect="dark" border
-				@selection-change="selectSample">
+		<div>
+			<div style="text-align: right;line-height: 45px;">
+				<el-button type="primary" size="small" @click="addSampleDia = true">娣诲姞鏍峰搧</el-button>
+				<el-button size="small" @click="delSample">
+					<span style="color: #3A7BFA;">鍒犻櫎鏍峰搧</span>
+				</el-button>
+			</div>
+			<el-table class="el-table" ref="sampleTable" :data="sampleList" height="250px" tooltip-effect="dark" border
+				@selection-change="selectSample" highlight-current-row @row-click="rowClick">
 				<el-table-column type="selection" width="60"></el-table-column>
 				<el-table-column type="index" label="搴忓彿" width="65" align="center"></el-table-column>
 				<el-table-column prop="sample" label="鏍峰搧鍚嶇О" align="center" show-overflow-tooltip
 					min-width="100"></el-table-column>
+				<el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" width="140" align="center">
+					<template slot-scope="scope">
+						<el-input size="small" v-model="scope.row.sampleCode" clearable></el-input>
+					</template>
+				</el-table-column>
+				<el-table-column prop="factory" label="宸ュ巶" align="center" show-overflow-tooltip min-width="100">
+				</el-table-column>
+				<el-table-column prop="laboratory" label="瀹為獙瀹�" align="center" show-overflow-tooltip min-width="100">
+				</el-table-column>
+				<el-table-column prop="sampleType" label="鏍峰搧绫诲瀷" align="center" show-overflow-tooltip min-width="100">
+				</el-table-column>
+				<el-table-column prop="model" label="鏍峰搧鍨嬪彿" align="center" show-overflow-tooltip min-width="100">
+				</el-table-column>
+				<el-table-column prop="isLeave" label="鏄惁鐣欐牱" align="center" show-overflow-tooltip min-width="100">
+					<template slot-scope="scope">
+						<span>{{scope.row.isLeave==1?'鏄�':'鍚�'}}</span>
+					</template>
+				</el-table-column>
 				<el-table-column prop="joinName" label="閰嶅鏍峰搧鍚嶇О" width="140" align="center" v-if="addObj.mating==1">
 					<template slot-scope="scope">
 						<el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1}"
@@ -222,9 +200,38 @@
 							v-model="scope.row.joinModel"></el-input>
 					</template>
 				</el-table-column>
+				<el-table-column prop="joinNum" label="閰嶅鏍峰搧鏁伴噺" width="140" align="center" v-if="addObj.mating==1">
+					<template slot-scope="scope">
+						<el-input-number size="small" v-model="scope.row.joinNum" :min="1" :max="100" :precision="0"
+							:controls="false" style="width: 80%;"></el-input-number>
+					</template>
+				</el-table-column>
 				<el-table-column label="鎿嶄綔" width="65" align="center">
 					<template slot-scope="scope">
-						<el-button type="text" size="small" @click="">鍒犻櫎</el-button>
+						{{scope.index}}
+						<el-button type="text" size="small" @click="sampleList.splice(scope.$index, 1)">鍒犻櫎</el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-table class="el-table" ref="productTable" :data="productList" height="380px" tooltip-effect="dark" border
+				@selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
+				:row-class-name="tableRowClassName">
+				<el-table-column type="selection" width="65"></el-table-column>
+				<el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140"
+					show-overflow-tooltip></el-table-column>
+				<el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" width="130" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="method" label="妫�楠屾爣鍑�" min-width="120" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="price" label="鍗曚环" width="100" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="manDay" label="棰勮鏃堕棿(澶�)" width="120" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="manHourGroup" label="宸ユ椂鍒嗙粍" width="100" show-overflow-tooltip></el-table-column>
+				<!-- <el-table-column prop="deviceGroup" label="璁惧缁�" width="120" show-overflow-tooltip></el-table-column> -->
+				<el-table-column prop="section" label="鍖洪棿" width="120" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
+					<template slot-scope="scope">
+						<el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
+							:autosize="{ minRows: 1, maxRows: 3}"></el-input>
 					</template>
 				</el-table-column>
 			</el-table>
@@ -266,6 +273,71 @@
 				<el-button type="primary" @click="activeStandardTree">纭� 瀹�</el-button>
 			</span>
 		</el-dialog>
+		<el-dialog title="娣诲姞鏍峰搧" :visible.sync="addSampleDia" width="400px">
+			<div class="body" style="max-height: 60vh;">
+				<el-row>
+					<el-col class="search_thing" :span="22">
+						<div class="search_label"><span class="required-span">* </span>鏍峰搧鍚嶇О锛�</div>
+						<div class="search_input">
+							<el-input readonly size="small" v-model="sample.sample">
+								<template slot="append"><el-button slot="append" icon="el-icon-search"
+										@click="selectStandardTree = true"></el-button></template>
+							</el-input>
+						</div>
+					</el-col>
+					<el-col class="search_thing" :span="22">
+						<div class="search_label"><span class="required-span">* </span>宸ュ巶鍚嶇О锛�</div>
+						<div class="search_input">
+							<el-input size="small" clearable disabled v-model="sample.factory"></el-input>
+						</div>
+					</el-col>
+					<el-col class="search_thing" :span="22">
+						<div class="search_label"><span class="required-span">* </span>瀹為獙瀹ゅ悕绉帮細</div>
+						<div class="search_input">
+							<el-input size="small" clearable disabled v-model="sample.laboratory"></el-input>
+						</div>
+					</el-col>
+					<el-col class="search_thing" :span="22">
+						<div class="search_label"><span class="required-span">* </span>鏍峰搧绫诲瀷锛�</div>
+						<div class="search_input">
+							<el-input size="small" clearable disabled v-model="sample.sampleType"></el-input>
+						</div>
+					</el-col>
+					<el-col class="search_thing" :span="22">
+						<div class="search_label"><span class="required-span">* </span>瑙勬牸鍨嬪彿锛�</div>
+						<div class="search_input">
+							<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="sample.model"></el-input>
+						</div>
+					</el-col>
+					<el-col class="search_thing" :span="22">
+						<div class="search_label">鏍峰搧缂栧彿锛�</div>
+						<div class="search_input">
+							<el-input v-model="sample.sampleCode" size="small" placeholder="璇疯緭鍏�" clearable></el-input>
+						</div>
+					</el-col>
+					<el-col class="search_thing" :span="24">
+						<div class="search_label">鏍峰搧鏁伴噺锛�</div>
+						<div class="search_input">
+							<el-input-number size="small" v-model="sample.sampleNum" :min="1" :max="100" :precision="0"
+								style="width: 50%;"></el-input-number>
+						</div>
+					</el-col>
+					<el-col class="search_thing" :span="22">
+						<div class="search_label">鏍峰搧鐣欐牱锛�</div>
+						<div class="search_input">
+							<el-radio-group v-model="sample.isLeave">
+								<el-radio :label="1">鐣欐牱</el-radio>
+								<el-radio :label="0">涓嶇暀鏍�</el-radio>
+							</el-radio-group>
+						</div>
+					</el-col>
+				</el-row>
+			</div>
+			<span slot="footer" class="dialog-footer">
+				<el-button @click="addSampleDia = false">鍙� 娑�</el-button>
+				<el-button type="primary" @click="onSample()" :loading="getProductLoad">纭� 瀹�</el-button>
+			</span>
+		</el-dialog>
 	</div>
 </template>
 
@@ -281,24 +353,25 @@
 				templates: [],
 				addObj: {
 					entrustCode: null,
-					sampleCode: null,
 					custom: null,
 					company: null,
 					userId: null,
 					type: '0',
 					code: null,
-					laboratory: null,
-					appointedTime: null,
-					factory: null,
-					sample: null,
-					sampleType: null,
-					sampleNum: null,
-					model: null,
-					isLeave: 0,
-					leaveNum: null,
+					appointed: null,
 					remark: null,
 					otcCode: null,
 					mating: 0
+				},
+				sample: {
+					sampleCode: null,
+					laboratory: null,
+					factory: null,
+					sampleType: null,
+					sample: null,
+					model: null,
+					sampleNum: 1,
+					isLeave: 0,
 				},
 				type: [],
 				selectUserDia: false,
@@ -335,7 +408,13 @@
 				expandedKeys: [],
 				sampleList: [],
 				sampleIds: [],
-				methodList: []
+				methodList: [],
+				addSampleDia: false,
+				count: 1,
+				productList: [],
+				productIds: [],
+				getProductLoad: false,
+				saveLoad: false
 			}
 		},
 		mounted() {
@@ -367,7 +446,20 @@
 				this.selectUserDia = false
 			},
 			save() {
-				console.log(this.addObj);
+				this.saveLoad = true
+				this.$axios.post(this.$api.insOrder.addInsOrder,{
+					insOrder: this.addObj,
+					list: this.sampleList
+				},{
+					headers: {
+						'Content-Type': 'application/json'
+					}
+				}).then(res=>{
+					this.saveLoad = false
+					if(res.code==201)return
+					this.$message.success('宸叉彁浜�')
+					this.$parent.playOrder(0)
+				})
 			},
 			getUserNow() {
 				this.$axios.get(this.$api.user.getUserNow).then(res => {
@@ -425,31 +517,108 @@
 					this.$message.error('鏈�夋嫨鏍峰搧')
 					return
 				}
-				this.addObj.factory = trees[0]
-				this.addObj.laboratory = trees[1]
-				this.addObj.sampleType = trees[2]
-				this.addObj.sample = trees[3]
-				this.addObj.model = trees[4]
+				this.sample.factory = trees[0]
+				this.sample.laboratory = trees[1]
+				this.sample.sampleType = trees[2]
+				this.sample.sample = trees[3]
+				this.sample.model = trees[4]
 				this.selectStandardTree = false
-				this.onSample()
 			},
 			selectSample(val) {
+				this.sampleIds = []
 				val.forEach(a => {
-					this.sampleIds = a.id
+					this.sampleIds.push(a.id)
 				})
 			},
 			onSample() {
-				this.sampleList = []
-				if (this.addObj.sampleNum == 0 || this.addObj.sample == null || this.addObj.sample == '') return
-				for (var i = 0; i < this.addObj.sampleNum; i++) {
-					this.sampleList.push({
-						sample: this.addObj.sample,
-						joinName: null,
-						joinModel: null
-					})
+				if (this.sample.sample == null || this.sample.sample == '') {
+					this.$message.error('璇烽�夋嫨鏍峰搧')
+					return
 				}
+				if (this.sample.model == null || this.sample.model == '') {
+					this.$message.error('璇疯緭鍏ユ牱鍝佸瀷鍙�')
+					return
+				}
+				this.getProductLoad = true
+				this.$axios.post(this.$api.standardTree.selectStandardProductList, {
+					factory: this.sample.factory,
+					laboratory: this.sample.laboratory,
+					sampleType: this.sample.sampleType,
+					sample: this.sample.sample,
+					model: this.sample.model
+				}, {
+					headers: {
+						'Content-Type': 'application/json'
+					}
+				}).then(res => {
+					res.data.forEach(a => {
+						a.state = 1
+					})
+					for (var i = 0; i < this.sample.sampleNum; i++) {
+						this.sample.joinName = null
+						this.sample.joinModel = null
+						this.sample.joinNum = 1
+						this.sample.insProduct = res.data
+						this.sample.id = this.count
+						this.sampleList.push(this.HaveJson(this.sample))
+						this.count++
+					}
+					this.$refs.sampleTable.doLayout()
+					this.getProductLoad = false
+					this.addSampleDia = false
+					this.sample = {
+						sampleCode: null,
+						laboratory: null,
+						factory: null,
+						sampleType: null,
+						sample: null,
+						model: null,
+						sampleNum: 1,
+						isLeave: 0,
+					}
+				})
+			},
+			delSample() {
+				this.sampleIds.forEach(a => {
+					for (var i = 0; i < this.sampleList.length; i++) {
+						if (this.sampleList[i].id == a) {
+							this.sampleList.splice(i, 1)
+							i -= 1
+							break
+						}
+					}
+				})
 				this.$refs.sampleTable.doLayout()
+			},
+			selectProduct(val) {
+				this.productIds = []
+				val.forEach(a => {
+					this.productIds.push(a.id)
+				})
+			},
+			rowClick(row, column, event) {
+				this.productList = row.insProduct
+				setTimeout(() => {
+					this.productList.forEach(a => {
+						if (a.state == 1) this.toggleSelection(a)
+					})
+				}, 300)
+			},
+			toggleSelection(row) {
+				this.$refs.productTable.toggleRowSelection(row, true);
+			},
+			upProductSelect(selection, row) {
+				row.state = row.state == 1 ? 0 : 1
+			},
+			tableRowClassName({
+				row,
+				rowIndex
+			}) {
+				if (row.state === 0) {
+					return 'warning-row';
+				}
+				return '';
 			}
 		}
 	}
-</script>
+</script>
\ No newline at end of file
diff --git a/src/components/tool/value-table.vue b/src/components/tool/value-table.vue
index bdf39e9..bd3a83f 100644
--- a/src/components/tool/value-table.vue
+++ b/src/components/tool/value-table.vue
@@ -71,7 +71,7 @@
 			<el-table ref="eltable" :data="tableData" style="width: 100%;" height="100%" tooltip-effect="dark" border
 				@selection-change="selectChange" @select="select" v-loading="loading" @sort-change="sortChange"
 				@row-click="rowClick" :show-summary="data.countFleid!=undefined && data.countFleid.length > 0"
-				:summary-method="getSummaries" :key="Math.random()" :row-class-name="tableRowClassName">
+				:summary-method="getSummaries" :row-class-name="tableRowClassName">
 				<el-table-column type="selection" width="65" v-if="data.showSelect" :key="Math.random()">
 				</el-table-column>
 				<el-table-column type="index" align="center" label="搴忓彿" width="70" v-if="data.isIndex" :key="Math.random()">
@@ -505,7 +505,7 @@
 					return
 				}
 				for (var i = 0; i < this.data.requiredUp.length; i++) {
-					if (this.upData[this.data.requiredUp[i]] == null || this.upData[this.data.requiredUp[i]] == '') {
+					if (this.upData[this.data.requiredUp[i]] === null || this.upData[this.data.requiredUp[i]] === '') {
 						var list = this.upHead.filter(a => {
 							if (a.label == this.data.requiredUp[i]) return a
 						})
@@ -733,7 +733,7 @@
         if(val.method=='doDiy'){
           this.main(row,val)
         }else{
-          this.$emit(val.method,row)
+					this.$parent[val.method](row)
         }
       },
 			getWidth(){
diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue
index d7e56f9..2c3f8b1 100644
--- a/src/components/view/b1-inspect-order-plan.vue
+++ b/src/components/view/b1-inspect-order-plan.vue
@@ -1,158 +1,174 @@
 <style scoped>
-ins-order-plan-main .title{
-  font-size:20px;
-  color:#3A7BFA
-}
-.ins-order-plan-main .search{
-  width: 100%;
-  margin-bottom: 10px;
-  height: 10vh;
-  background-color: #fff;
-  border-radius: 3px;
-}
-.search .form-inline{
-  height: 5vh;
-  padding-top:2.5vh;
-  padding-left: 1%;
-}
-.ins-order-plan-main .center{
-  width: 100%;
-  height: 70vh;
-  background-color: #fff;
-  border-radius: 3px;
-}
-.ins-order-plan-main .center .value-table{
-  width:98%;
-  height: 80%;
-  margin-left:1%;
-}
-.tab {
-  list-style-type: none;
-  display: flex;
-  padding: 10px 0px;
-}
-.tab li {
-  line-height: 24px;
-  padding: 6px 14px;
-  font-size: 14px;
-  color: #333333;
-  border: 1px solid #EEEEEE;
-  cursor: pointer;
-}
+	ins-order-plan-main .title {
+		font-size: 20px;
+		color: #3A7BFA
+	}
 
-.tab li:nth-child(1) {
-  border-radius: 8px 0 0 8px;
-}
+	.ins-order-plan-main .search {
+		width: 100%;
+		margin-bottom: 10px;
+		height: 80px;
+		background-color: #fff;
+		border-radius: 3px;
+	}
 
-.tab li:nth-child(3) {
-  border-radius: 0 8px 8px 0;
-}
+	.search .form-inline {
+		height: 50px;
+		padding-top: 20px;
+		padding-left: 50px;
+	}
 
-.tab li.active {
-  border-color: #3A7BFA;
-  color: #3A7BFA;
-}
-.center .center-options:nth-child(1){
-  padding-left: 1%;
-}
-.center .center-options .center-title {
-  width:85%;
-  padding-top: 20px;
-  text-align: left;
-}
-.center .center-options .center-title span:last-child{
-  color: #3A7BFA;
-  font-size: 23px;
-  font-weight: 400;
-}
-.view-self-checkbox{
-margin-left: 20px;
-}
+	.ins-order-plan-main .center {
+		width: calc(100% - 40px);
+		height: calc(100% - 60px - 80px - 40px);
+		background-color: #fff;
+		border-radius: 3px;
+		padding: 20px;
+	}
+
+	.ins-order-plan-main .center .value-table {
+		width: 100%;
+		height: calc(100% - 68px);
+	}
+
+	.tab {
+		list-style-type: none;
+		display: flex;
+	}
+
+	.tab li {
+		line-height: 24px;
+		padding: 6px 14px;
+		font-size: 14px;
+		color: #333333;
+		border: 1px solid #EEEEEE;
+		cursor: pointer;
+	}
+
+	.tab li:nth-child(1) {
+		border-radius: 8px 0 0 8px;
+	}
+
+	.tab li:nth-child(3) {
+		border-radius: 0 8px 8px 0;
+	}
+
+	.tab li.active {
+		border-color: #3A7BFA;
+		color: #3A7BFA;
+	}
+
+	.center .center-options .center-title {
+		width: 100%;
+		text-align: right;
+		display: flex;
+		align-items: center;
+	}
+
+	.center .center-options .center-title span:last-child {
+		color: #3A7BFA;
+		font-size: 23px;
+		font-weight: 400;
+	}
+
+	.view-self-checkbox {
+		margin-left: 50px;
+	}
+</style>
+<style>
+	.ins-order-plan-main .el-form-item__label{
+		color: #000;
+	}
 </style>
 <template>
-  <div class="ins-order-plan-main">
-    <p style="font-size: 16px;padding:19.5px 0px">妫�楠屼换鍔�</p>
-    <div class="search">
-      <el-form :inline="true" :model="searchForm" class="form-inline">
-        <el-form-item label="鏍峰搧鍚嶇О:">
-          <el-input clearable v-model="searchForm.sampleName" size="small" placeholder="璇疯緭鍏�"></el-input>
-        </el-form-item>
-        <el-form-item label="鐘舵��:">
-          <el-select clearable size="small" v-model="searchForm.state" placeholder="璇烽�夋嫨">
-            <el-option v-for="(item,index) in insStateList" :key="index"
-            :label="item.label" :value="item.value"></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item>
-          <el-button size="small" @click="onReset">閲嶇疆</el-button>
-          <el-button size="small" type="primary" @click="onSubmit">鏌ヨ</el-button>
-        </el-form-item>
-      </el-form>
-    </div>
-    <div class="center">
-      <div class="center-options">
-        <el-row>
-          <el-col :span="21">
-            <div style="display: flex;align-items: center;">
-              <ul class="tab">
-                <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li>
-              </ul>
-              <el-checkbox @change="changeCheckBox" class="view-self-checkbox" v-model="viewSelf"/><span>&nbsp;鎴戠殑浠诲姟</span>
-            </div>
-          </el-col>
-          <el-col :span="3">
-            <div class="center-title">
-              <span>鎬昏浠诲姟鏁伴噺:</span>
-              <span v-if="$refs.insOrderPlan != undefined">{{$refs.insOrderPlan.total}}</span>
-            </div>
-          </el-col>
-        </el-row>
-      </div>
-      <ValueTable :tableRowClassName="changeRowClass" class="value-table" ref="insOrderPlan" :url="$api.insOrderPlan.selectInsOrderPlanList" :upUrl="$api.user.updateUser" :componentData="componentData" :key="upIndex" @upUser="upUser"/>
-    </div>
-    <el-dialog
-      title="鎻愮ず"
-      :visible.sync="claimVisible"
-      width="40%">
-      鏄惁璁ら濮旀墭缂栧彿<span style="color:#33C130">{{sampleUserForm.entrustCode}}</span>鐨勪换鍔�
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="claimVisible = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="confirmClaim">纭� 瀹�</el-button>
-      </span>
-    </el-dialog>
-  </div>
+	<div class="ins-order-plan-main">
+		<p style="font-size: 16px;padding:19.5px 0px">妫�楠屼换鍔�</p>
+		<div class="search">
+			<el-form :inline="true" :model="searchForm" class="form-inline">
+				<el-form-item label="鏍峰搧鍚嶇О:">
+					<el-input clearable v-model="searchForm.sampleName" size="small" placeholder="璇疯緭鍏�"></el-input>
+				</el-form-item>
+				<el-form-item label="鐘舵��:">
+					<el-select clearable size="small" v-model="searchForm.state" placeholder="璇烽�夋嫨">
+						<el-option v-for="(item,index) in insStateList" :key="index" :label="item.label"
+							:value="item.value"></el-option>
+					</el-select>
+				</el-form-item>
+				<el-form-item>
+					<el-button size="small" @click="onReset">閲嶇疆</el-button>
+					<el-button size="small" type="primary" @click="onSubmit">鏌ヨ</el-button>
+				</el-form-item>
+			</el-form>
+		</div>
+		<div class="center">
+			<div class="center-options">
+				<el-row>
+					<el-col :span="21">
+						<div style="display: flex;align-items: center;margin-bottom: 10px;">
+							<ul class="tab">
+								<li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}
+								</li>
+							</ul>
+							<div>
+								<el-checkbox @change="changeCheckBox" class="view-self-checkbox"
+									v-model="viewSelf"><span>鎴戠殑浠诲姟</span></el-checkbox>
+							</div>
+						</div>
+					</el-col>
+					<el-col :span="3">
+						<div class="center-title">
+							<span>鎬昏浠诲姟鏁伴噺:</span>
+							<span v-if="$refs.insOrderPlan != undefined">{{$refs.insOrderPlan.total}}</span>
+						</div>
+					</el-col>
+				</el-row>
+			</div>
+			<ValueTable :tableRowClassName="changeRowClass" class="value-table" ref="insOrderPlan"
+				:url="$api.insOrderPlan.selectInsOrderPlanList" :upUrl="$api.user.updateUser" :componentData="componentData"
+				:key="upIndex" @upUser="upUser" />
+		</div>
+		<el-dialog title="鎻愮ず" :visible.sync="claimVisible" width="40%">
+			鏄惁璁ら濮旀墭缂栧彿<span style="color:#33C130">{{sampleUserForm.entrustCode}}</span>鐨勪换鍔�
+			<span slot="footer" class="dialog-footer">
+				<el-button @click="claimVisible = false">鍙� 娑�</el-button>
+				<el-button type="primary" @click="confirmClaim">纭� 瀹�</el-button>
+			</span>
+		</el-dialog>
+	</div>
 </template>
 
 <script>
-import ValueTable from '../tool/value-table.vue'
-import { getYearAndMonthAndDays } from '../../util/date'
-export default {
-  components:{
-    ValueTable
-  },
-  data(){
-    return {
-      viewSelf: false,
-      sampleUserForm:{
-        entrustCode: null,
-        insSampleId: null,
-        userId: null
-      },
-      claimVisible: false,
-      searchForm:{
-        sampleName: null,
-        state: null
-      },
-      tabList: [],
-      active: 1,
-      tabIndex: 0,
-      componentData: {
+	import ValueTable from '../tool/value-table.vue'
+	import {
+		getYearAndMonthAndDays
+	} from '../../util/date'
+	export default {
+		components: {
+			ValueTable
+		},
+		data() {
+			return {
+				viewSelf: false,
+				sampleUserForm: {
+					entrustCode: null,
+					insSampleId: null,
+					userId: null
+				},
+				claimVisible: false,
+				searchForm: {
+					sampleName: null,
+					state: null
+				},
+				tabList: [],
+				active: 1,
+				tabIndex: 0,
+				componentData: {
 					entity: {
-            viewSelf: false,
-            state: 1,
-            childrenLaboratory: null,
-            insState: null,
-            sampleName: null,
+						viewSelf: false,
+						state: 1,
+						childrenLaboratory: null,
+						insState: null,
+						sampleName: null,
 						orderBy: {
 							field: 'type',
 							order: 'desc'
@@ -162,179 +178,190 @@
 					showSelect: false,
 					select: false,
 					do: [{
-						id: '',
-						font: '妫�楠�',
-						type: 'text',
-						method: '',
-						field:[]
-					},{
-						id: '',
-						font: '浜ゆ帴',
-						type: 'text',
-						method: ''
-					},
-          {
-						id: '',
-						font: '澶嶆牳',
-						type: 'text',
-						method: ''
-					},{
-						id: '',
-						font: '璁ら',
-						type: 'text',
-						method: 'claimFun',
-            disabFun: (row,index)=>{return row.sampleUserId!=null}
-					}],
+							id: '',
+							font: '妫�楠�',
+							type: 'text',
+							method: '',
+							field: []
+						}, {
+							id: '',
+							font: '浜ゆ帴',
+							type: 'text',
+							method: ''
+						},
+						{
+							id: '',
+							font: '澶嶆牳',
+							type: 'text',
+							method: ''
+						}, {
+							id: '',
+							font: '璁ら',
+							type: 'text',
+							method: 'claimFun',
+							disabFun: (row, index) => {
+								return row.sampleUserId != null
+							}
+						}
+					],
 					tagField: {
-            type:{
-              select:[]
-            },
-            insState:{
-              select:[]
-            }
-          },
+						type: {
+							select: []
+						},
+						insState: {
+							select: []
+						}
+					},
 					selectField: {},
-					requiredAdd:[],
-					requiredUp:[]
+					requiredAdd: [],
+					requiredUp: []
 				},
-      upIndex: 0,
-      planTotal: 0,
-      insStateList: []
-    }
-  },
-  created(){
-    this.getTypeDicts()
-    this.getInsStateDicts()
-    this.getLaboratoryDicts()
-    this.$nextTick(()=>{
-      this.refreshTable()
-    })
-  },
-  watch:{
-    tabList(newVal){
-      if(newVal && newVal.length>0){
-        this.componentData.entity.childrenLaboratory = newVal[0].value
-        this.$nextTick(()=>{
-          this.refreshTable()
-        })
-      }
-    }
-  },
-  methods:{
-    upUser(){
+				upIndex: 0,
+				planTotal: 0,
+				insStateList: []
+			}
+		},
+		created() {
+			this.getTypeDicts()
+			this.getInsStateDicts()
+			this.getLaboratoryDicts()
+			this.$nextTick(() => {
+				this.refreshTable()
+			})
+		},
+		watch: {
+			tabList(newVal) {
+				if (newVal && newVal.length > 0) {
+					this.componentData.entity.childrenLaboratory = newVal[0].value
+					this.$nextTick(() => {
+						this.refreshTable()
+					})
+				}
+			}
+		},
+		methods: {
+			upUser() {
 
-    },
-    changeCheckBox(val){
-      this.componentData.entity.viewSelf = val
-      this.$nextTick(()=>{
-        this.refreshTable()
-      })
-    },
-    claimFun(row){
-      console.log(row)
-      if(row){
-        this.sampleUserForm = {
-          entrustCode : row.entrustCode,
-          insSampleId: row.id
-        }
-        this.claimVisible = true
-      }
+			},
+			changeCheckBox(val) {
+				this.componentData.entity.viewSelf = val
+				this.$nextTick(() => {
+					this.refreshTable()
+				})
+			},
+			claimFun(row) {
+				console.log(row)
+				if (row) {
+					this.sampleUserForm = {
+						entrustCode: row.entrustCode,
+						insSampleId: row.id
+					}
+					this.claimVisible = true
+				}
 
-    },
-    confirmClaim(){
-      this.$axios.post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm,{
+			},
+			confirmClaim() {
+				this.$axios.post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, {
 					headers: {
 						'Content-Type': 'application/json'
 					}
-				}).then(res=>{
-        if(res.code===200 && res.data){
-          this.$message.success("璁ら鎴愬姛")
-          this.claimVisible = false
-          this.refreshTable()
-        }
-      }).catch(error=>{
-        console.error(error)
-      })
-    },
-    refreshTable() {
-      this.$refs.insOrderPlan.selectList()
-    },
-    changeRowClass({row,rowIndex}){
-      let currentTime = getYearAndMonthAndDays()
-      if(row.sendTime && currentTime===row.sendTime){
-        return 'highlight-warning-row-border'
-      }else if(row.sendTime && currentTime>row.sendTime){
-        return 'highlight-danger-row-border'
-      }
-      return ''
-    },
-    onReset(){
-      this.searchForm = {
-        sampleName: null,
-        state: null,
-      }
-      this.componentData.entity.insState = null
-      this.componentData.entity.sampleName = null
-      this.refreshTable()
-    },
-    onSubmit(){
-      this.componentData.entity.insState = this.searchForm.state
-      this.componentData.entity.sampleName = this.searchForm.sampleName
-      this.$nextTick(()=>{
-        this.refreshTable()
-      })
-    },
-    handleTab(m, i) {
-      this.tabIndex = i;
-      this.componentData.entity.childrenLaboratory = m.value
-      this.refreshTable()
-    },
-    getTypeDicts() {
-      this.$axios.post(this.$api.enums.selectEnumByCategory, {
-        category: "绱ф�ョ▼搴�"
-      }).then(res => {
-        let data = res.data
-        data.forEach(ele=>{
-          if(ele.value==='0'){
-            ele.type='success'
-          }else if(ele.value==='1'){
-            ele.type='warning'
-          }else if(ele.value==='2'){
-            ele.type='danger'
-          }
-        })
-        this.componentData.tagField.type.select = data
-      })
-    },
-    getInsStateDicts() {
-      this.$axios.post(this.$api.enums.selectEnumByCategory, {
-        category: "妫�楠屼换鍔$姸鎬�"
-      }).then(res => {
-        let data = res.data
-        this.insStateList = data
-        data.forEach(ele=>{
-          //0:寰呮楠� 1:妫�楠屼腑 2:宸叉楠� 3:寰呭鏍� 4:澶嶆牳鏈�氳繃 5:澶嶆牳閫氳繃
-          if(['2','5'].includes(ele.value)){
-            ele.type='success'
-          }else if(['1','3'].includes(ele.value)){
-            ele.type='warning'
-          }else if(['0','4'].includes(ele.value)){
-            ele.type='danger'
-          }
-        })
-        this.componentData.tagField.insState.select = data
-      })
-    },
-    getLaboratoryDicts(){
-      this.$axios.post(this.$api.enums.selectEnumByCategory, {
-        category: "瀛愬疄楠屽"
-      }).then(res => {
-        this.tabList = res.data.map(ele=>{return {label:ele.label,value:ele.value}})
-        this.$nextTick(()=>{
-          this.componentData.entity.childrenLaboratory = this.tabList[0].value
-        })
-      })
-    }
-  }
-}
-</script>
+				}).then(res => {
+					if (res.code === 200 && res.data) {
+						this.$message.success("璁ら鎴愬姛")
+						this.claimVisible = false
+						this.refreshTable()
+					}
+				}).catch(error => {
+					console.error(error)
+				})
+			},
+			refreshTable() {
+				this.$refs.insOrderPlan.selectList()
+			},
+			changeRowClass({
+				row,
+				rowIndex
+			}) {
+				let currentTime = getYearAndMonthAndDays()
+				if (row.sendTime && currentTime === row.sendTime) {
+					return 'highlight-warning-row-border'
+				} else if (row.sendTime && currentTime > row.sendTime) {
+					return 'highlight-danger-row-border'
+				}
+				return ''
+			},
+			onReset() {
+				this.searchForm = {
+					sampleName: null,
+					state: null,
+				}
+				this.componentData.entity.insState = null
+				this.componentData.entity.sampleName = null
+				this.refreshTable()
+			},
+			onSubmit() {
+				this.componentData.entity.insState = this.searchForm.state
+				this.componentData.entity.sampleName = this.searchForm.sampleName
+				this.$nextTick(() => {
+					this.refreshTable()
+				})
+			},
+			handleTab(m, i) {
+				this.tabIndex = i;
+				this.componentData.entity.childrenLaboratory = m.value
+				this.refreshTable()
+			},
+			getTypeDicts() {
+				this.$axios.post(this.$api.enums.selectEnumByCategory, {
+					category: "绱ф�ョ▼搴�"
+				}).then(res => {
+					let data = res.data
+					data.forEach(ele => {
+						if (ele.value === '0') {
+							ele.type = 'success'
+						} else if (ele.value === '1') {
+							ele.type = 'warning'
+						} else if (ele.value === '2') {
+							ele.type = 'danger'
+						}
+					})
+					this.componentData.tagField.type.select = data
+				})
+			},
+			getInsStateDicts() {
+				this.$axios.post(this.$api.enums.selectEnumByCategory, {
+					category: "妫�楠屼换鍔$姸鎬�"
+				}).then(res => {
+					let data = res.data
+					this.insStateList = data
+					data.forEach(ele => {
+						//0:寰呮楠� 1:妫�楠屼腑 2:宸叉楠� 3:寰呭鏍� 4:澶嶆牳鏈�氳繃 5:澶嶆牳閫氳繃
+						if (['2', '5'].includes(ele.value)) {
+							ele.type = 'success'
+						} else if (['1', '3'].includes(ele.value)) {
+							ele.type = 'warning'
+						} else if (['0', '4'].includes(ele.value)) {
+							ele.type = 'danger'
+						}
+					})
+					this.componentData.tagField.insState.select = data
+				})
+			},
+			getLaboratoryDicts() {
+				this.$axios.post(this.$api.enums.selectEnumByCategory, {
+					category: "瀛愬疄楠屽"
+				}).then(res => {
+					this.tabList = res.data.map(ele => {
+						return {
+							label: ele.label,
+							value: ele.value
+						}
+					})
+					this.$nextTick(() => {
+						this.componentData.entity.childrenLaboratory = this.tabList[0].value
+					})
+				})
+			}
+		}
+	}
+</script>
\ No newline at end of file
diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue
index b180ebf..4e3f189 100644
--- a/src/components/view/b1-inspection-order.vue
+++ b/src/components/view/b1-inspection-order.vue
@@ -12,19 +12,19 @@
 	}
 
 	.search_thing {
-		width: 350px;
 		display: flex;
 		align-items: center;
+		height: 50px;
 	}
-
+	
 	.search_label {
-		width: 110px;
+		width: 120px;
 		font-size: 14px;
 		text-align: right;
 	}
-
+	
 	.search_input {
-		width: calc(100% - 110px);
+		width: calc(100% - 120px);
 	}
 
 	.table {
@@ -75,7 +75,7 @@
 				<el-row class="title">
 					<el-col :span="12" style="padding-left: 20px;">妫�楠屼笅鍗�</el-col>
 					<el-col :span="12" style="text-align: right;">
-						<el-button size="medium" type="primary" @click="playOrder(1)">涓嬪崟</el-button>
+						<el-button size="medium" type="primary" @click="playOrder(1)" v-if="addPower">涓嬪崟</el-button>
 					</el-col>
 				</el-row>
 			</div>
@@ -83,12 +83,12 @@
 				<div class="search_thing">
 					<div class="search_label">濮旀墭缂栧彿锛�</div>
 					<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
-							v-model="componentData.entity.deviceName" @keyup.enter.native="refreshTable()"></el-input></div>
+							v-model="componentData.entity.entrustCode" @keyup.enter.native="refreshTable()"></el-input></div>
 				</div>
 				<div class="search_thing">
 					<div class="search_label">鏍峰搧鍚嶇О锛�</div>
 					<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
-							v-model="componentData.entity.specificationModel" @keyup.enter.native="refreshTable()"></el-input></div>
+							v-model="componentData.entity.sample" @keyup.enter.native="refreshTable()"></el-input></div>
 				</div>
 				<div class="search_thing" style="padding-left: 30px;">
 					<el-button size="small" @click="refresh()">閲� 缃�</el-button>
@@ -99,11 +99,8 @@
 				<ul class="tab">
 					<li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li>
 				</ul>
-				<!-- 璇硶 瀛愮粍浠堕�氳繃 this.$emit +浼犲叆鏂规硶鍚� 璋冪敤鐖剁粍浠舵柟娉� 渚嬪  this.$emit锛坰electAllByOne锛� 灏遍渶鍦ㄧ埗缁勪欢澹版槑骞朵紶鍏�  @selectAllByOne="selectAllByOne"-->
 				<ValueTable ref="ValueTable" :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData"
-					:key="upIndex" style="height: calc(100% - 44px)" @selectAllByOne="selectAllByOne"
-					@handleDataLook="handleDataLook" @download="download" @handleVerify="handleVerify" @handlEquash="handlEquash"
-					@handleIssued="handleIssued" />
+					:key="upIndex" style="height: calc(100% - 44px)" />
 			</div>
 			<!-- 瀹℃牳 -->
 			<el-dialog title="涓嬪崟瀹℃牳" :visible.sync="verifyDialogVisible" width="30%" :before-close="handleClose">
@@ -146,22 +143,28 @@
 				</span>
 			</el-dialog>
 			<!-- 涓嬪彂 -->
-			<el-dialog title="妫�楠屼笅鍙�" :visible.sync="issuedDialogVisible" width="30%" :before-close="handleClose">
-				<el-form :label-position="labelPosition" :model="formData2" label-width="150px" ref="ruleForm">
-					<el-form-item label="绾﹀畾鏃堕棿锛�">
-						<el-date-picker style="width:100%" format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="formData2.appointed2"
-							type="date" size="small" placeholder="閫夋嫨鏃堕棿">
-						</el-date-picker>
-					</el-form-item>
-					<el-form-item >
-					</el-form-item>
-					<el-form-item label="鎸囨淳浜哄憳锛�">
-						<el-select v-model="formData2.id" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-							<el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value">
-							</el-option>
-						</el-select>
-					</el-form-item>
-				</el-form>
+			<el-dialog title="妫�楠屼笅鍙�" :visible.sync="issuedDialogVisible" width="400px" :before-close="handleClose">
+				<div class="body" style="max-height: 60vh;">
+					<el-row>
+						<el-col class="search_thing" :span="22">
+							<div class="search_label"><span class="required-span">* </span>绾﹀畾鏃堕棿锛�</div>
+							<div class="search_input">
+								<el-date-picker size="small" v-model="distributeData.appointed" type="date" placeholder="閫夋嫨鏃ユ湡"
+									value-format="yyyy-MM-dd" style="width: 100%;" format="yyyy-MM-dd">
+								</el-date-picker>
+							</div>
+						</el-col>
+						<el-col class="search_thing" :span="22">
+							<div class="search_label"><span class="required-span">* </span>鎸囨淳浜哄憳锛�</div>
+							<div class="search_input">
+								<el-select v-model="distributeData.userId" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+									<el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value">
+									</el-option>
+								</el-select>
+							</div>
+						</el-col>
+					</el-row>
+				</div>
 				<span slot="footer" class="dialog-footer">
 					<el-row>
 						<el-button @click="handleClose2">鍙� 娑�</el-button>
@@ -177,7 +180,7 @@
 			</el-dialog>
 		</div>
 		<div style="width: 100%;height: 100%;" v-if="active == 1">
-			<Add/>
+			<Add />
 		</div>
 	</div>
 </template>
@@ -199,21 +202,22 @@
 				verifyDialogVisible: false,
 				quashDialogVisible: false,
 				issuedDialogVisible: false,
-				issuedDialogVisible2: false,
 				dataDialogVisible: false,
 				formData: {},
-				formData0:{},
-				formData1:{},
-				formData2:{
-					id:'',
-					orderName:'',
-					data:'',
+				formData0: {},
+				formData1: {},
+				distributeData: {
+					orderId: '',
+					sampleId: '',
+					appointed: '',
+					userId: ''
 				},
 				// 浜哄憳鍒楄〃
 				personList: [],
-				labelPosition: 'right',
 				componentData: {
 					entity: {
+						entrustCode: null,
+						sample: null,
 						state: 1,
 						orderBy: {
 							field: 'id',
@@ -227,28 +231,44 @@
 						id: 'dataLook',
 						font: '鏁版嵁鏌ョ湅',
 						type: 'text',
-						method: 'handleDataLook'
+						method: 'handleDataLook',
+						disabFun: (row, index) => {
+							return row.state != 1
+						}
 					}, {
 						id: 'download',
 						font: '鎶ュ憡涓嬭浇',
 						type: 'text',
-						method: 'download'
+						method: 'download',
+						disabFun: (row, index) => {
+							return row.state != 1
+						}
 					}, {
 						id: 'verify',
 						font: '瀹℃牳',
 						type: 'text',
-						method: 'handleVerify'
+						method: 'handleVerify',
+						disabFun: (row, index) => {
+							return row.state != 0
+						}
 					}, {
 						id: 'quash',
 						font: '鎾ら攢',
 						type: 'text',
 						method: 'handlEquash'
 					}, {
-						id: 'issued',
 						font: '涓嬪彂',
 						type: 'text',
-						method: 'handleIssued'
+						method: 'handleIssued',
+						disabFun: (row, index) => {
+							return row.state != 1 || row.sendTime != null
+						}
 					}],
+					linkEvent:{
+					  entrustCode:{
+					    method:'selectAllByOne'
+					  }
+					},
 					tagField: {
 						type: {
 							select: [{
@@ -265,16 +285,13 @@
 								label: '绱ф��'
 							}]
 						},
-					},
-					linkEvent:{
-					  deviceName:{
-					    id: 'details',
-					    method:'selectAllByOne',
-					  }
+						createUser: {
+							select: []
+						}
 					},
 					selectField: {},
-					requiredAdd: ['largeCategory', 'subclass', 'deviceName', 'internalCode', 'specificationModel', 'manufacturer'],
-					requiredUp: ['largeCategory', 'subclass', 'deviceName', 'internalCode', 'specificationModel', 'manufacturer']
+					requiredAdd: [],
+					requiredUp: []
 				},
 				componentDataDataLook: {
 					entity: {
@@ -336,13 +353,14 @@
 		mounted() {
 			this.entityCopy = this.HaveJson(this.componentData.entity)
 			this.getPower()
+			this.getUserMenu()
 			this.getAuthorizedPerson()
 		},
 		methods: {
-			getAuthorizedPerson(){
-        	this.$axios.post(this.$api.deviceScope.selectDevicePrincipal).then(res => {
+			getAuthorizedPerson() {
+				this.$axios.get(this.$api.user.getUserMenu).then(res => {
 					let data = []
-					res.data.forEach(a=>{
+					res.data.forEach(a => {
 						data.push({
 							label: a.name,
 							value: a.id
@@ -350,7 +368,7 @@
 					})
 					this.personList = data
 				})
-      },
+			},
 			refreshTable() {
 				this.$refs['ValueTable'].selectList()
 			},
@@ -365,21 +383,15 @@
 				let del = false
 				let add = false
 				for (var i = 0; i < power.length; i++) {
-					if (power[i].menuMethod == 'upDeviceParameter') {
+					if (power[i].menuMethod == 'upInsOrder') {
 						up = true
 					}
-					if (power[i].menuMethod == 'delDeviceParameter') {
-						del = true
-					}
-					if (power[i].menuMethod == 'addDeviceParameter') {
+					if (power[i].menuMethod == 'addInsOrder') {
 						add = true
 					}
 				}
-				if (!del) {
-					this.componentData.do.splice(1, 1)
-				}
 				if (!up) {
-					this.componentData.do.splice(0, 1)
+					this.componentData.do.splice(4, 1)
 				}
 				this.addPower = add
 			},
@@ -399,6 +411,7 @@
 			},
 			// 璇︽儏
 			selectAllByOne(row) {
+				console.log(row);
 				//鎵撳紑寮规
 				this.dialogVisible = true;
 				//row = 鐐瑰嚮瀵瑰簲琛屽��
@@ -411,7 +424,6 @@
 			},
 			// 涓嬭浇鎶ュ憡
 			download(row) {
-
 			},
 			// 瀹℃牳
 			handleVerify(row) {
@@ -424,13 +436,25 @@
 			// 涓嬪彂
 			handleIssued(row) {
 				this.issuedDialogVisible = true;
+				this.$axios.post(this.$api.insOrder.selectOrderManDay,{
+					id: row.sampleId
+				}).then(res=>{
+					this.distributeData.orderId = row.id
+					this.distributeData.sampleId = row.sampleId
+					this.distributeData.appointed = res.data
+				})
 			},
-			submitForm2(){
+			submitForm2() {
+				if(this.distributeData.appointed==null||this.distributeData.appointed==''){
+					this.$message.error('绾﹀畾鏃堕棿鏈~鍐�')
+					return
+				}
 				this.upLoad = true;
-				this.$axios.post(this.$api.insOrder.getDeviceManager, this.formData2, {
-					headers: {
-						'Content-Type': 'application/json'
-					}
+				this.$axios.post(this.$api.insOrder.upInsOrder, {
+					orderId: this.distributeData.orderId,
+					sampleId: this.distributeData.sampleId,
+					appointed: this.distributeData.appointed,
+					userId: this.distributeData.userId
 				}).then(res => {
 					if (res.code === 201) {
 						this.upLoad = false
@@ -438,11 +462,10 @@
 					}
 					this.$message.success('淇敼鎴愬姛')
 					this.upLoad = false
+					this.issuedDialogVisible = false
 					this.refreshTable()
-					this.dialogVisible = false
 				}).catch(e => {
 					this.$message.error('淇敼澶辫触')
-					this.dialogVisible = false
 					this.upLoad = false
 				})
 			},
@@ -454,24 +477,6 @@
 				delete this.formData.createUser
 				delete this.formData.updateUser
 				this.formData.authorizedPerson = authorizedPerson
-				this.$axios.post(this.$api.insOrder.getDeviceManager, this.formData, {
-					headers: {
-						'Content-Type': 'application/json'
-					}
-				}).then(res => {
-					if (res.code === 201) {
-						this.upLoad = false
-						return
-					}
-					this.$message.success('淇敼鎴愬姛')
-					this.upLoad = false
-					this.refreshTable()
-					this.dialogVisible = false
-				}).catch(e => {
-					this.$message.error('淇敼澶辫触')
-					this.dialogVisible = false
-					this.upLoad = false
-				})
 			},
 			// 涓嬪崟
 			playOrder(num) {
@@ -481,7 +486,19 @@
 				this.tabIndex = i;
 				this.componentData.entity.state = m.value
 				this.refreshTable()
+			},
+			getUserMenu() {
+				this.$axios.get(this.$api.user.getUserMenu).then(res => {
+					let data = []
+					res.data.forEach(a => {
+						data.push({
+							label: a.name,
+							value: a.id
+						})
+					})
+					this.componentData.tagField.createUser.select = data
+				})
 			}
 		}
 	}
-</script>
+</script>
\ No newline at end of file
diff --git a/src/components/view/b2-standard.vue b/src/components/view/b2-standard.vue
index 4b39e82..463a9d3 100644
--- a/src/components/view/b2-standard.vue
+++ b/src/components/view/b2-standard.vue
@@ -161,7 +161,7 @@
 					<el-table-column prop="manHourGroup" label="宸ユ椂鍒嗙粍" width="100" show-overflow-tooltip></el-table-column>
 					<el-table-column prop="deviceGroup" label="璁惧缁�" width="120" show-overflow-tooltip></el-table-column>
 					<el-table-column prop="section" label="鍖洪棿" width="120" show-overflow-tooltip></el-table-column>
-					<el-table-column prop="ask" label="瑕佹眰鍊�" width="220px">
+					<el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
 						<template slot-scope="scope">
 							<el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable
 								@change="(value)=>upStandardProductList(value,scope.row.id)" v-if="upStandardProduct" type="textarea" :autosize="{ minRows: 1, maxRows: 3}"></el-input>
diff --git a/src/view/index.vue b/src/view/index.vue
index 200863a..c8ddf1c 100644
--- a/src/view/index.vue
+++ b/src/view/index.vue
@@ -426,10 +426,7 @@
 			removeTab(index) {
 				this.tabs.splice(index, 1);
 				let data = this.tabs[this.tabs.length - 1]
-				this.activeP = data.k;
-				this.tabActive = data.k;
-				this.activeBox = data.k
-				this.saveClick()
+				this.upTabActive(data.k)
 			},
 			allDel() {
 				this.activeBox = 0

--
Gitblit v1.9.3