From 34a7e21b3508ac0f5f011d958210fdb7176d726b Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期六, 09 九月 2023 11:54:05 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/lims-before

---
 src/views/experiment/inspectionApplication/index.vue |  205 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 131 insertions(+), 74 deletions(-)

diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue
index 31f2a90..5b93901 100644
--- a/src/views/experiment/inspectionApplication/index.vue
+++ b/src/views/experiment/inspectionApplication/index.vue
@@ -29,7 +29,7 @@
 					</el-form>
 					<el-form class="rightBtn">
 						<el-form-item class="createBtn">
-							<el-button size="small" type="primary" icon="el-icon-plus" @click="checkTypeVisible = true"
+							<el-button size="small" type="primary" icon="el-icon-plus" @click="showAddDialog"
 								style="background-color: rgb(1, 102, 226);">鏂板妫�楠屽崟</el-button>
 						</el-form-item>
 						<el-form-item class="getDataBtn">
@@ -53,7 +53,12 @@
 									<div v-if="scope.row.type === 1"><el-tag type="warning">鎴愬搧妫�楠�</el-tag></div>
 								</template>
 							</el-table-column>
-							<el-table-column prop="formTime" label="鏉ユ枡鏃ユ湡" min-width="90px" />
+							<el-table-column prop="formTime" label="鏉ユ枡鏃ユ湡" min-width="90px">
+								<template slot-scope="scope">
+									<p v-if="scope.row.type!=1">{{scope.row.formTime}}</p>
+									<p v-else>/</p>
+								</template>
+							</el-table-column>
 							<el-table-column prop="supplier" label="渚涘簲鍟嗗悕绉�" min-width="150px" show-overflow-tooltip />
 							<el-table-column prop="mcode" label="鍘熸潗鏂欑紪鐮�" min-width="170px" />
 							<el-table-column prop="name" label="鍘熸潗鏂欏悕绉�" min-width="90px" />
@@ -63,9 +68,9 @@
 							<el-table-column prop="createTime" label="鐧昏鏃ユ湡" min-width="90px" />
 							<el-table-column prop="inspection_status" label="妫�楠岀粨鏋�" min-width="95px">
 								<template slot-scope="scope">
-									<el-tag class="tag" effect="dark" type="danger" disable-transitions
+									<el-tag style="text-align: center;" class="tag" effect="dark" type="danger" disable-transitions
 										v-if="scope.row.inspection_status == 0">涓嶅悎鏍�</el-tag>
-									<el-tag class="tag" effect="dark" type="success" disable-transitions
+									<el-tag style="text-align: center;" class="tag" effect="dark" type="success" disable-transitions
 										v-else-if="scope.row.inspection_status == 1">鍚堟牸</el-tag>
 								</template>
 							</el-table-column>
@@ -93,10 +98,10 @@
 							<el-radio-group v-model="type" @click.native="handleRadioChange">
 								<el-radio :style="`background-color: ${type==0?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`"
 									:label="0" border>鍘熸潗鏂欐楠�</el-radio>
-								<el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`"
-									:label="1" border>濮旀墭妫�楠�</el-radio>
 								<el-radio :style="`background-color: ${type==2?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`"
-									:label="2" border>鎴愬搧妫�楠�</el-radio>
+									:label="2" border>濮旀墭妫�楠�</el-radio>
+								<el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`"
+									:label="1" border>鎴愬搧妫�楠�</el-radio>
 							</el-radio-group>
 						</div>
 						<div v-if="type === 0">
@@ -154,20 +159,20 @@
 									<el-col :span="10">
 										<el-form-item label="妫�楠屾椂闂达細">
 											<el-date-picker v-model="infoForm.checkdate" type="daterange" range-separator="鑷�"
-												start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" style="width: 300px;">
+												start-placeholder="寮�濮嬫棩鏈�" value-format="yyyy-MM-dd" end-placeholder="缁撴潫鏃ユ湡" style="width: 300px;">
 											</el-date-picker>
 										</el-form-item>
 									</el-col>
 								</el-row>
 							</el-form>
 						</div>
-						<div v-if="type === 1">
+						<div v-if="type === 2">
 							<el-form :model="commisionSelection" ref="commisionSelection" class="checkTypeForm" label-position="top"
 								label-width="200px" size="mini">
 								<el-row :gutter="100">
 									<el-col :span="10">
 										<el-form-item label="濮旀墭缂栧彿">
-											<el-input style="width: 300px" type="text" disabled :value="commisionSelection.entrust_coding"
+											<el-input style="width: 300px" type="text" disabled :value="commisionSelection.entrustCoding"
 												placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" />
 										</el-form-item>
 									</el-col>
@@ -196,69 +201,57 @@
 									<el-col :span="10">
 										<el-form-item label="瑙勬牸鍨嬪彿锛�">
 											<el-input style="width: 300px" type="text" disabled :value="commisionSelection.specifications"
-												placeholder="璇疯緭鍏ュ瀷鍙疯鏍�" autocomplete="off" />
+												placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" />
 										</el-form-item>
 									</el-col>
 									<el-col :span="10">
 										<el-form-item label="閫佽揪鏃堕棿">
-											<el-input style="width: 300px" type="text" disabled :value="commisionSelection.supplier"
-												placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" />
+											<el-input style="width: 300px" type="text" disabled :value="commisionSelection.formTime"
+												placeholder="璇疯緭鍏ラ�佽揪鏃堕棿" autocomplete="off" />
 										</el-form-item>
 									</el-col>
 								</el-row>
 								<el-row :gutter="100">
 									<el-col :span="10">
 										<el-form-item label="瀹屾垚鏈熼檺">
-											<el-input style="width: 300px" type="text" disabled :value="commisionSelection.completionDeadline"
-												placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" />
+											<el-input style="width: 300px" type="text" disabled :value="commisionSelection.endTime"
+												placeholder="璇疯緭鍏ュ畬鎴愭湡闄�" autocomplete="off" />
 										</el-form-item>
 									</el-col>
 									<el-col :span="10">
 										<el-form-item label="妫�楠屾棩鏈燂細">
 											<el-date-picker v-model="commisionSelection.checkdate" type="daterange" range-separator="鑷�"
-												start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" style="width: 300px;">
+												start-placeholder="寮�濮嬫棩鏈�" value-format="yyyy-MM-dd" end-placeholder="缁撴潫鏃ユ湡" style="width: 300px;">
 											</el-date-picker>
 										</el-form-item>
 									</el-col>
 								</el-row>
 							</el-form>
 						</div>
-						<div v-if="type === 2">
+						<div v-if="type === 1">
 							<el-form :model="finishedTable" ref="finishedTable" class="checkTypeForm" label-position="top"
 								label-width="200px" size="mini">
 								<el-row :gutter="100">
 									<el-col :span="10">
-										<el-form-item label="鏉ユ枡鏃ユ湡锛�">
-											<el-input style="width: 300px" type="text" v-model="finishedTable.deliverydate"
-												placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" />
-										</el-form-item>
-									</el-col>
-									<el-col :span="10">
-										<el-form-item label="渚涘簲鍟嗗悕绉帮細">
-											<el-input style="width: 300px" type="text" v-model="finishedTable.supplier" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О"
-												autocomplete="off" />
-										</el-form-item>
-									</el-col>
-								</el-row>
-								<el-row :gutter="100">
-									<el-col :span="10">
 										<el-form-item label="鎴愬搧缂栫爜锛�">
-											<el-input style="width: 300px" type="text" v-model="finishedTable.code" placeholder="璇疯緭鍏ユ垚鍝佺紪鐮�"
+											<el-input style="width: 300px" type="text" disabled v-model="finishedTable.code" placeholder="璇疯緭鍏ユ垚鍝佺紪鐮�"
 												autocomplete="off" />
 										</el-form-item>
 									</el-col>
 									<el-col :span="10">
 										<el-form-item label="鎴愬搧鍚嶇О锛�">
-											<el-input style="width: 300px" type="text" v-model="finishedTable.name" placeholder="璇疯緭鍏ユ垚鍝佸悕绉�"
-												autocomplete="off" />
+											<el-select style="width: 300px" v-model="finishedTable.name" @change="getSpecifications">
+												<el-option v-for="(item,index) in mList" :key="index" :label="item.name" :value="item.id"></el-option>
+											</el-select>
 										</el-form-item>
 									</el-col>
 								</el-row>
 								<el-row :gutter="100">
 									<el-col :span="10">
 										<el-form-item label="瑙勬牸鍨嬪彿锛�">
-											<el-input style="width: 300px" type="text" v-model="finishedTable.modelandspecification"
-												placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" />
+												<el-cascader style="width: 300px" v-model="finishedTable.modelandspecification" 
+												:options="specificationList" @change="changeSpe"
+												:props="{label:'name',value:'id',children:'children'}"></el-cascader>
 										</el-form-item>
 									</el-col>
 									<el-col :span="10">
@@ -271,14 +264,14 @@
 								<el-row :gutter="100">
 									<el-col :span="10">
 										<el-form-item label="鏁伴噺锛�">
-											<el-input style="width: 300px" type="text" v-model="finishedTable.amount" placeholder="璇疯緭鍏ユ暟閲�"
+											<el-input style="width: 300px" min="0" type="number" v-model="finishedTable.amount" placeholder="璇疯緭鍏ユ暟閲�"
 												autocomplete="off" />
 										</el-form-item>
 									</el-col>
 									<el-col :span="10">
 										<el-form-item label="妫�楠屾椂闂达細">
 											<el-date-picker v-model="finishedTable.checkdate" type="daterange" range-separator="鑷�"
-												start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" style="width: 300px;">
+												start-placeholder="寮�濮嬫棩鏈�" value-format="yyyy-MM-dd" end-placeholder="缁撴潫鏃ユ湡" style="width: 300px;">
 											</el-date-picker>
 										</el-form-item>
 									</el-col>
@@ -356,13 +349,13 @@
 						:data="commisionTable" @selection-change="handleSelectionChange" style="width: 100%">
 						<el-table-column type="selection" min-width="10%" />
 						<el-table-column type="index" label="搴忓彿" min-width="10%" />
-						<el-table-column prop="entrust_coding" label="濮旀墭缂栧彿" min-width="10%" />
+						<el-table-column prop="entrustCoding" label="濮旀墭缂栧彿" min-width="10%" />
 						<el-table-column prop="supplier" label="濮旀墭鍗曚綅" min-width="12%" />
 						<el-table-column prop="mcode" label="鏍峰搧缂栧彿" min-width="8%" />
 						<el-table-column prop="name" label="鏍峰搧鍚嶇О" min-width="8%" />
 						<el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="12%" />
-						<el-table-column prop="endTime" label="閫佽揪鏃堕棿" min-width="8%" />
-						<el-table-column prop="formTime" label="瀹屾垚鏈熼檺" min-width="8%" />
+						<el-table-column prop="formTime" label="閫佽揪鏃堕棿" min-width="8%" />
+						<el-table-column prop="endTime" label="瀹屾垚鏈熼檺" min-width="8%" />
 						<el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" />
 						<el-table-column prop="endTime" label="妫�楠屾棩鏈�" min-width="8%" />
 						<el-table-column prop="inspection_status" label="鐘舵��" min-width="8%">
@@ -373,11 +366,6 @@
 								<div v-else>
 									<span style="color: red;">寰呮娴�</span>
 								</div>
-							</template>
-						</el-table-column>
-						<el-table-column label="鎿嶄綔" min-width="8%">
-							<template slot-scope="scope">
-								<el-button type="text" size="small">鍒犻櫎</el-button>
 							</template>
 						</el-table-column>
 					</el-table>
@@ -401,11 +389,16 @@
 		addInspect,
 		chooseVer,
 		lookProByVer,
-		delInspect
+		delInspect,
+		getSpecificationByMaterielId,
+		getMaterielList
 	} from '@/api/experiment/planAssignments'
 	export default {
 		data() {
 			return {
+				speName:"",
+				specificationList: [],
+				mList:[],
 				showDetail: false,
 				searchData: {
 					applicationnumber: '',
@@ -419,8 +412,6 @@
 				rawMaterialTable: [],
 				commisionTable: [],
 				finishedTable: {
-					deliverydate: '',
-					supplier: '',
 					code: '',
 					name: '',
 					modelandspecification: '',
@@ -431,7 +422,7 @@
 				selectedValue: null,
 				infoForm: {},
 				commisionSelection: {
-					entrust_coding: '',
+					entrustCoding: '',
 					entrusted: '',
 					samples_number: '',
 					sample_name: '',
@@ -470,7 +461,7 @@
 				pageSize: 10, // 姣忛〉鐨勬暟鎹潯鏁�
 				radioValue: '鍏ㄩ儴',
 				checkTypeVisible: false,
-				type: 2, // 榛樿涓嶉�変腑鐨勭姸鎬�
+				type: 1, // 榛樿涓嶉�変腑鐨勭姸鎬�
 				rawmaterialVisible: false,
 				commisionVisible: false,
 				tmp: {},
@@ -488,6 +479,30 @@
 				handler(val, oldval) {},
 				// 娣卞害瑙傚療鐩戝惉
 				deep: true
+			},
+			checkTypeVisible(newVal){
+				if(newVal == false){
+					this.finishedTable = {
+						code: '',
+						name: '',
+						modelandspecification: '',
+						unit: '',
+						amount: '',
+						checkdate: []
+					};
+					this.infoForm = {};
+					this.commisionSelection = {
+						entrustCoding: '',
+						entrusted: '',
+						samples_number: '',
+						sample_name: '',
+						specifications_models: '',
+						dateSurvey: '',
+						completionDeadline: '',
+						contacts: '',
+						inspectionTime: ''
+					};
+				}
 			}
 		},
 		created() {
@@ -497,7 +512,54 @@
 			if (this.$route.name === 'ForInspectionDetail') this.showDetail = true
 		},
 		methods: {
+			changeSpe(val){
+				console.log(val);
+				this.tmp.specificationsId = val[val.length-1];
+				let arr1 = this.specificationList.filter(item=>{
+					return item.id==val[0]
+				});
+				let arr2 = arr1[0].children.filter(item=>{
+					return item.id = val[1]
+				})
+				let speName = arr1[0].name + "-" + arr2[0].name;
+				this.speName = speName;
+				console.log(arr1);
+				console.log(arr2);
+
+			},
+			getSpecifications(val){
+				if(val != null){
+					this.selectSpecificationByMaterielId(val);
+					let item = this.mList.filter(item => {
+							return item.id == val;
+					});
+					this.finishedTable.code = item[0].code;
+					this.tmp.mcode = item[0].code;
+					this.tmp.name = item[0].name;
+				}
+			},
+			async selectSpecificationByMaterielId(mId){
+				await getSpecificationByMaterielId({id : mId}).then(res=>{
+					this.specificationList = res.data.children;
+				}).catch(error => {
+					this.$message.error(error.message);
+				});
+			},
+			//鏄剧ず鏂板妫�楠屽崟妯℃�佹
+			showAddDialog(){
+				this.selectMaterielList();
+				this.checkTypeVisible = true
+			},
+			//鑾峰彇鎴愬搧淇℃伅
+			async selectMaterielList(){
+				await getMaterielList().then(res=>{
+					this.mList = res.data
+				}).catch(error => {
+					this.$message.error(error.message);
+				});
+			},
 			async selectAll() {
+
 				const res = selectAll({
 					type: 0
 				})
@@ -605,7 +667,7 @@
 						})
 					}
 				}
-				this.total = this.inspectionTable.length
+				this.total = this.res.data.total;
 			},
 			reset() {
 				this.countSize = 1;
@@ -627,11 +689,11 @@
 			},
 			handleCommisionSelection() {
 				this.commisionSelection = this.tmp
+				this.commisionSelection.checkdate = []
 				this.commisionVisible = false
 			},
 			handleRawMaterialSelection() {
 				this.infoForm = this.tmp
-				console.log(this.infoForm);
 				this.rawmaterialVisible = false
 			},
 			handleRadioChange() {
@@ -654,7 +716,7 @@
 							})
 							this.rawMaterialTable = arr
 						})
-					} else if (this.type === 1) {
+					} else if (this.type === 2) {
 						this.commisionVisible = true
 						selectAll({
 							type: 2
@@ -666,6 +728,7 @@
 								checkdate.push(item['updateTime'])
 								item['checkdate'] = checkdate // 妫�楠屾棩鏈�
 							})
+							
 							this.commisionTable = res.data
 						})
 					}
@@ -674,6 +737,7 @@
 			// 鏂板妫�楠�
 			async addInspection() {
 				let obj = {};
+				//鍘熸潗鏂�
 				if (this.type === 0) {
 					obj = {
 						endTime: this.infoForm.checkdate[1],
@@ -690,7 +754,8 @@
 						version: this.version
 					}
 				}
-				if (this.type === 1) {
+				//濮旀墭
+				if (this.type === 2) {
 					obj = {
 						endTime: this.commisionSelection.checkdate[1],
 						formTime: this.commisionSelection.formTime,
@@ -698,6 +763,7 @@
 						name: this.commisionSelection.name,
 						num: this.commisionSelection.num,
 						specifications: this.commisionSelection.specifications,
+						specificationId:this.commisionSelection.specificationsId,
 						startTime: this.commisionSelection.checkdate[0],
 						supplier: this.commisionSelection.supplier,
 						type: this.type,
@@ -705,16 +771,18 @@
 						version: this.version
 					}
 				}
-				if (this.type === 2) {
+				//鎴愬搧
+				if (this.type === 1) {
 					obj = {
+						supplier:"/",
+						formTime: "2023-09-09",
 						endTime: this.finishedTable.checkdate[1],
-						formTime: this.finishedTable.deliverydate,
 						mcode: this.finishedTable.code,
-						name: this.finishedTable.name,
+						name: this.tmp.name,
 						num: parseInt(this.finishedTable.amount),
-						specifications: this.finishedTable.modelandspecification,
-						startTime: this.finishedTable.checkdate[1],
-						supplier: this.finishedTable.supplier,
+						specifications: this.speName,
+						specificationId: this.finishedTable.modelandspecification[1],
+						startTime: this.finishedTable.checkdate[0],
 						type: this.type,
 						unit: this.finishedTable.unit,
 						version: this.version
@@ -725,7 +793,7 @@
 						message: '娣诲姞鎴愬姛锛�',
 						type: 'success'
 					});
-					this.type = 2
+					this.type = 1
 					this.checkTypeVisible = false
 					this.$router.push(`Viewdetails/${res.data}`)
 				}).catch(error=>{
@@ -743,20 +811,9 @@
 				this.currentPage = val
 				this.selectInspectsList()
 			},
-			// 	//琛ㄥ崟鏍¢獙
-			// validateForm(infoForm){
-			// 	console.log(this.infoForm);
-
-			// 	if (infoForm.checkdate == undefined) {
-			//   		alert('璇疯緭鍏ユ楠屾椂闂�');
-			// 		return false;
-			// 	}
-			// 	// 鏍¢獙閫氳繃
-			// 	return true;
-			// },
 			//纭畾璺宠浆
 			QUEding() {
-				if (this.infoForm.checkdate[0] == undefined || this.infoForm.checkdate[1] == undefined) {
+				if (this.type==0 &&(this.infoForm.checkdate[0] == undefined || this.infoForm.checkdate[1] == undefined)) {
 					this.$message({
 						message: '璇烽�夋嫨妫�楠屾椂闂�',
 						type: 'warning'

--
Gitblit v1.9.3