From aca7c994977ecb1cc8fb3b7740a04192135a40a9 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 04 九月 2023 15:04:20 +0800
Subject: [PATCH] 	modified:   .env.development 	modified:   src/views/CNAS/nonConformanceManage/index.vue 	modified:   src/views/CNAS/reviewAnnualPlan/index.vue 	modified:   src/views/CNAS/satisfactionSurveys/index.vue 	modified:   src/views/experiment/checkTheReport/index.vue 	modified:   src/views/experiment/inspectionApplication/index.vue 	modified:   src/views/experiment/nonConformanceReview/index.vue 	modified:   src/views/experiment/nonConformingFeedback/index.vue 	modified:   src/views/experiment/reportAuditing/index.vue 	modified:   src/views/inspectionManagement/commissionInspection/index.vue 	modified:   src/views/inspectionManagement/reportForInspection/index.vue 	modified:   src/views/laboratory/ledger/index.vue 	modified:   src/views/laboratory/measure/index.vue 	modified:   src/views/laboratory/personnel/index.vue 	modified:   src/views/laboratory/role/index.vue 	modified:   src/views/message/toDo/index.vue

---
 src/views/inspectionManagement/reportForInspection/index.vue |  340 +++++++++++++++++++++-----------------------------------
 1 files changed, 126 insertions(+), 214 deletions(-)

diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue
index c2cbe46..1a39e40 100644
--- a/src/views/inspectionManagement/reportForInspection/index.vue
+++ b/src/views/inspectionManagement/reportForInspection/index.vue
@@ -1,6 +1,6 @@
 <template>
 	<div class="content-main">
-		<div class="rawPage" v-if="!showNewPage">
+		<div class="rawPage">
 			<div class="top-bar">
 				<el-form ref="form" :inline="true" :model="searchData">
 					<el-form-item label="鏉愭枡缂栫爜:" position="left" class="sermargin">
@@ -8,7 +8,7 @@
 						</el-input>
 					</el-form-item>
 					<el-form-item label="鏉愭枡鍚嶇О:" class="sermargin">
-						<el-input v-model="searchData.name" class="input-form" placeholder="璇疯緭鍏�">
+						<el-input v-model="searchData.name" class="input-form" placeholder="璇疯緭鍏ユ潗鏂欏悕绉�">
 						</el-input>
 					</el-form-item>
 					<el-form-item label="鐘舵��:" class="sermargin">
@@ -18,8 +18,8 @@
 						</el-select>
 					</el-form-item>
 					<el-form-item label="鏉ユ枡鏃ユ湡:" style="margin-right: 20px;">
-						<el-input v-model="searchData.date" class="input-form" placeholder="璇疯緭鍏�">
-						</el-input>
+						<el-date-picker value-format="yyyy-MM-dd" v-model="searchData.date" class="input-form" placeholder="璇烽�夋嫨鏉ユ枡鏃ユ湡">
+						</el-date-picker>
 					</el-form-item>
 					<el-form-item>
 						<el-button type="primary" @click="search">鏌ヨ</el-button>
@@ -30,7 +30,7 @@
 			</div>
 			<el-dialog title="鏂板鍘熸潗鏂欐姤妫�" :visible.sync="addReportVisible" width="40%">
 				<el-form ref="addMaterialForm" :rules="insertRule" :model="insertData" :inline="true" label-position="right"
-					label-width="80px">
+					label-width="100px">
 					<el-form-item label="鏉ユ枡鏃ユ湡:" prop="fromDate">
 						<el-date-picker v-model="insertData.fromDate" type="date" value-format="yyyy-MM-dd"></el-date-picker>
 					</el-form-item>
@@ -54,7 +54,7 @@
 						<el-input type="text" v-model="insertData.unit" />
 					</el-form-item>
 					<el-form-item label="鏁伴噺:" prop="num">
-						<el-input type="number" v-model="insertData.num"/>
+						<el-input type="number" min="0" v-model="insertData.num"/>
 					</el-form-item>
 				</el-form>
 				<span slot="footer" class="dialog-footer">
@@ -64,25 +64,18 @@
 			</el-dialog>
 			<div class="library-table">
 				<div class="table-header">
-					<div class="search-bar">
-						<el-radio-group v-model="radioValue" @change="radioclick">
-							<el-radio-button v-for="option in radioOptions" :key="option.value"
-								:label="option.value">{{ option.label }}</el-radio-button>
-						</el-radio-group>
-					</div>
 					<div class="generateInsp">
 						<el-button @click="addReportBtn" type="primary" size="mini" icon="el-icon-document"
 							style="background-color: rgb(1, 102, 226);">鐢熸垚鎶ユ鍗�</el-button>
 					</div>
 				</div>
 				<div class="table-box">
-					<el-table ref="inspectionTable" :max-height="600" :cell-style="{textAlign: 'center'}"
-						:header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
+					<el-table ref="inspectionTable" :max-height="450" :cell-style="{textAlign: 'left'}"
+						:header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'left'}"
 						:data="inspectionTable" style="width: 100%" @selection-change="handleSelectionChange">
-						<el-table-column type="selection" :selectable="checkSelect" min-width="5%">
-						</el-table-column>
+						<el-table-column type="selection" :selectable="checkSelect" min-width="5%"></el-table-column>
 						<el-table-column type="index" label="搴忓彿" min-width="8%" />
-						<el-table-column prop="createTime" label="鏉ユ枡鏃ユ湡" min-width="8%" />
+						<el-table-column prop="dateSurvey" label="鏉ユ枡鏃ユ湡" min-width="8%" />
 						<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" min-width="12%" />
 						<el-table-column prop="materialCoding" label="鏉愭枡缂栫爜" min-width="8%" />
 						<el-table-column prop="materialName" label="鏉愭枡鍚嶇О" min-width="8%" />
@@ -91,7 +84,6 @@
 						<el-table-column prop="quantity" label="鏁伴噺" min-width="5%" />
 						<el-table-column prop="inspectionDate" label="鎶ユ鏃ユ湡" min-width="8%" />
 						<el-table-column prop="surveyor" label="妫�楠屼汉" min-width="8%" />
-						<el-table-column prop="dateSurvey" label="妫�楠屾棩鏈�" min-width="8%" />
 						<el-table-column prop="type" label="鐘舵��" min-width="8%">
 							<template slot-scope="scope">
 								<span :style="{ color: scope.row.type === 1 ? 'green' : 'red' }">
@@ -115,123 +107,35 @@
 				</div>
 			</div>
 		</div>
-		<el-dialog title="閫夋嫨鏃ユ湡" :visible.sync="addReportDialog" width="30%">
-			<el-form :model="addInspectionForm" :rules="addInspectionFormRules" rule="addInspectionForm">
+		<el-dialog title="閫夋嫨鏃ユ湡" :visible.sync="addReportDialog" width="60%">
+			<el-form :model="addInspectionForm" :rules="addInspectionFormRules" ref="addInspectionForm">
 				<el-form-item label="妫�楠屾棩鏈�" label-width="100px" prop="inspectionDate">
 					<el-date-picker v-model="addInspectionForm.inspectionDate" type="daterange" value-format="yyyy-MM-dd"
 						range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡">
 					</el-date-picker>
 				</el-form-item>
-				<el-form-item label="鐗堟湰" label-width="100px" prop="version">
-					<el-select v-model="addInspectionForm.version" placeholder="璇烽�夋嫨鐗堟湰">
-						<el-option v-for="(item,index) in 5" :key="index" :value="item" :label="item"></el-option>
+				<el-form-item label="褰撳墠鐗堟湰" label-width="100px" prop="version">
+					<el-select @change="changeVersionFun" v-model="addInspectionForm.version" placeholder="璇烽�夋嫨鐗堟湰">
+						<el-option v-for="item in chooseVersion" :key="item.value" :label="item.label" :value="item.value" ></el-option>
 					</el-select>
 				</el-form-item>
 			</el-form>
+      <el-table
+        style="width:90%;margin-left:5%" 
+        :data="standardLibraryData" row-key="id" border
+        default-expand-all ref="multipleTable"
+        :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+        <el-table-column type="index" width="50px" label="搴忓彿"></el-table-column>
+        <el-table-column label="椤圭洰鍚嶇О" prop="name" sortable></el-table-column>
+        <el-table-column prop="unit" label="鍗曚綅" sortable></el-table-column>
+        <el-table-column label="鏍囧噯鍊�" prop="required" sortable></el-table-column>
+        <el-table-column prop="internal" label="鍐呮帶鍊�" sortable></el-table-column>
+      </el-table>
 			<div slot="footer" class="dialog-footer">
 				<el-button @click="resetForm('addInspectionForm')">鍙� 娑�</el-button>
 				<el-button type="primary" @click="confirmBtn('addInspectionForm')">纭� 瀹�</el-button>
 			</div>
 		</el-dialog>
-
-		<!-- 鐢熸垚鎶ユ鍗� -->
-		<div class="newPage" v-if="showNewPage">
-			<!-- 鏂板椤甸潰 -->
-			<div class="inspectionForm">
-				<el-form :model="inspectionForm" label-position="right" label-width="100px" size="mini">
-					<div class="formwrapper">
-						<el-row>
-							<el-col :span="8">
-								<el-form-item label="鏉ユ枡鏃ユ湡锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.formTime" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="渚涘簲鍟嗗悕绉帮細">
-									<el-input style="width: 180px;" :value="inspectionForm.supplier" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="鏍峰搧缂栧彿锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.code" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-						</el-row>
-						<el-row>
-							<el-col :span="8">
-								<el-form-item label="鏍峰搧鍚嶇О锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.name" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="瑙勬牸鍨嬪彿锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.specifications" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="鍗曚綅锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.unit" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-						</el-row>
-						<el-row>
-							<el-col :span="8">
-								<el-form-item label="鏁伴噺锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.num" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="鎶ユ鏃ユ湡锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.endTime" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="鎶ユ浜猴細">
-									<el-input style="width: 180px;" :value="inspectionForm.userName" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-						</el-row>
-					</div>
-				</el-form>
-			</div>
-			<div class="inspectionProject">
-				<div class="header">
-					<span style="font-size: 14px">妫�楠岄」鐩�</span>
-					<div>
-						<!-- <el-button  type="primary" plain size="mini">淇濆瓨</el-button> -->
-						<el-button @click="showNewPage = false" type="primary" plain size="mini" icon="el-icon-back">杩斿洖</el-button>
-					</div>
-				</div>
-				<el-table :max-height="800" :cell-style="{textAlign: 'center'}"
-					:header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
-					:data="inspectionItems">
-					<el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
-					<el-table-column prop="name" label="椤圭洰" width="250"></el-table-column>
-					<el-table-column prop="unit" label="鍗曚綅" width="125"></el-table-column>
-					<el-table-column prop="required" label="鏍囧噯鍊�" width="125"></el-table-column>
-					<el-table-column prop="internal" label="鍐呮祴鍊�" width="125"></el-table-column>
-					<el-table-column prop="testValue" label="妫�楠屽��" width="125"></el-table-column>
-					<el-table-column prop="userName" label="妫�楠屼汉">
-						<template slot-scope="scope">
-							<el-select @blur="blurOptions(scope.row)" v-model="scope.row.check" size="small" slot="append"
-								style="width: 260px;">
-								<el-option v-for="(item,index) in checkeroptions" :key="index" :value="item.id"
-									:label="item.name"></el-option>
-							</el-select>
-						</template>
-					</el-table-column>
-					<el-table-column prop="device" label="璇曢獙璁惧">
-						<template slot-scope="scope">
-							<el-select @blur="blurOptions(scope.row)" v-model="scope.row.device" size="small" slot="append"
-								style="width: 260px;">
-								<el-option v-for="(item,index) in deviceoptions" :key="index" :value="item.id"
-									:label="item.equipmentName"></el-option>
-							</el-select>
-						</template>
-					</el-table-column>
-				</el-table>
-			</div>
-		</div>
 	</div>
 </template>
 
@@ -245,16 +149,18 @@
 		deleteMaterial,
 		addMaterial,
 		getMaterielName,
-		getSpecification
+		getSpecification,
+    getChooseVersion,
+    lookProByVer
 	} from '@/api/inspection/rawmaterial'
 	export default {
 		data() {
 			return {
-				userName: "",
-				devices: "",
+        standardLibraryData:[],
+        chooseVersion: [],
 				addInspectionForm: {
-					inspectionDate: ['2023-08-01', '2023-08-31'],
-					version: 5
+					inspectionDate: [],
+					version: null
 				},
 				addInspectionFormRules: {
 					inspectionDate: [{
@@ -307,20 +213,6 @@
 					value: 0,
 					label: '鏈姤妫�'
 				}],
-				deviceoptions: [{
-					value: 0,
-					label: '鎷夊姏鏈�'
-				}, {
-					value: 1,
-					label: '鎷栨媺鏈�'
-				}],
-				checkeroptions: [{
-					value: 0,
-					label: '榛勫皬鏄�'
-				}, {
-					value: 1,
-					label: '寮犱笁'
-				}],
 				radioOptions: [{
 					label: '鍏ㄩ儴',
 					value: null
@@ -332,35 +224,11 @@
 					label: '鏈姤妫�'
 				}],
 				radioValue: null,
-				inspectionTable: [{
-					createTime: '2023-07-28',
-					supplier_name: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
-					materialCoding: 'BP214274',
-					materialName: '閾濆寘閽㈢粸绾�',
-					specificationsModels: 'JLHA/G1A-185/30-26/7',
-					unit: '鍚�',
-					quantity: 21,
-					dateSurvey: '2023-08-02',
-					surveyor: '榛勫皬鏄�',
-					inspectionDate: '2023-12-09',
-					condition: 1
-				}],
+				inspectionTable: [],
 				currentPage: 1,
 				pageSize: 10,
 				total: 20,
 				data: '',
-				showNewPage: false,
-				inspectionForm: {},
-				inspectionItems: [{
-					index: 1,
-					name: "aaa",
-					unit: "KB",
-					required: "1",
-					internal: "2",
-					testValue: "3",
-					userName: "",
-					device: ""
-				}],
 				insertRule: {
 					fromDate: [{
 						required: true,
@@ -405,7 +273,14 @@
 			this.getRawMaterialList()
 		},
 		mounted() {
-			this.getMaterielName()
+			this.getMaterielName();
+		},
+		watch:{
+			addReportDialog(newVal){
+				if(newVal === false){
+					this.resetForm("addInspectionForm");
+				}
+			}
 		},
 		methods: {
 			handleChange() {
@@ -421,18 +296,9 @@
 					this.$message.error(error.message);
 				});
 			},
-			blurOptions(row) {
-				console.log("鏇存柊", row);
-			},
-			async initNewSelection() {
-				const res = await selectUser();
-				const res2 = await selectEquipment();
-				this.checkeroptions = res.data;
-				this.deviceoptions = res2.data;
-			},
 			resetForm(formName) {
-				// this.addInspectionForm.inspectionDate = [],
-				// this.$refs[formName].resetFields();
+				this.addInspectionForm.inspectionDate = [],
+				this.$refs[formName].resetFields();
 				this.addReportDialog = false
 			},
 			removeFun(row, index) {
@@ -441,11 +307,10 @@
 					cancelButtonText: '鍙栨秷',
 					type: 'warning'
 				}).then(() => {
-					console.log(row.id);
 					this.deleteMaterialFun(row, index);
 				}).catch(() => {});
 			},
-			checkSelect(row, index) {
+			checkSelect(row) {
 				if (row.type === 1) {
 					return false;
 				} else {
@@ -453,7 +318,14 @@
 				}
 			},
 			handleSelectionChange(val) {
-				this.checkData = val;
+				if (val.length > 1) {
+					let data = val.pop();
+					this.$refs.inspectionTable.clearSelection();
+					this.$refs.inspectionTable.toggleRowSelection(data);
+					this.checkData = new Array(data);
+				}else{
+					this.checkData = val;
+				}
 			},
 			//鐢熸垚鎶ユ鍗曟寜閽�
 			addReportBtn() {
@@ -463,16 +335,65 @@
 					if (this.checkData.length > 1) {
 						this.$message.error("鏈�澶氶�夋嫨涓�鏉℃暟鎹�!");
 					} else {
+            			let mcode = this.checkData[0].materialCoding;
+            			let name = this.checkData[0].materialName;
+            			let speId = this.checkData[0].specificationsId;
+            			this.getChooseVersionFun(mcode,name,speId);
 						this.addReportDialog = true;
 					}
 				}
 			},
+			changeVersionFun(){
+				let mCode = this.checkData[0].materialCoding;
+				let name = this.checkData[0].materialName;
+				let specifications = this.checkData[0].specificationsModels;
+				let version = this.addInspectionForm.version;
+				this.getProByVersion(mCode,name,specifications,version);
+			},
+			//鑾峰彇鐗堟湰涓嬬殑鏍囧噯搴撴暟鎹�
+			async getProByVersion(mCode,name,specifications,version){
+				var vm = this;
+				await lookProByVer({
+					mcode : mCode,
+					name : name,
+					specifications : specifications,
+					version: version
+				}).then((res)=>{
+					var arr = res.data;
+					for(var i=0;i<arr.length;i++){
+						arr[i].id = "0" + i;
+					}
+					vm.standardLibraryData = arr;
+				})
+				
+			},
+			//鑾峰彇鐗堟湰鍒楄〃
+			async getChooseVersionFun(mCode,name,specifications){
+				var vm = this;
+				this.chooseVersion = [];
+				await getChooseVersion({
+				mcode : mCode,
+				name : name,
+				specifications : specifications
+				}).then((res)=>{
+					vm.getProByVersion(mCode,name,specifications,res.data[0])
+					for(let i=0;i<res.data.length;i++){
+						vm.chooseVersion.push({
+						value: res.data[i],
+						label: "V"+res.data[i]
+						});
+					}
+					vm.addInspectionForm.version = res.data[0];
+				});
+			},
 			//鐢熸垚鎶ユ鍗曠‘璁ゆ寜閽�
 			confirmBtn(formName) {
-				let dateArr = this.addInspectionForm.inspectionDate;
-				//娣诲姞鎶ユ鍗�
-				let val = this.checkData[0];
-				let obj = {
+				this.$refs[formName].validate((valid=>{
+				if(valid){
+					let dateArr = this.addInspectionForm.inspectionDate;
+					//娣诲姞鎶ユ鍗�
+					let val = this.checkData[0];
+					let obj = {
 					"endTime": dateArr[1],
 					"experiment": "",
 					"formTime": val.createTime,
@@ -481,27 +402,28 @@
 					"name": val.materialName,
 					"num": val.quantity,
 					"specifications": val.specificationsModels,
+					"specificationsId": val.specificationsId,
 					"startTime": dateArr[0],
 					"supplier": val.supplierName,
 					"type": val.type,
 					"unit": val.unit,
-					"version": val.version
+					"version": this.addInspectionForm.version
+					}
+					// this.createReport(obj);
+					console.log("obj---",obj);
+					this.addReportDialog = false;
 				}
-				// this.createReport(obj);
-				this.addReportDialog = false;
-				this.initNewSelection();
-				this.showNewPage = true;
+				}));
 			},
-			//鐢熸垚鎶ヤ环鍗�
+			//鐢熸垚鎶ユ鍗�
 			async createReport(param) {
-				let res = await addInspect(param);
-				const res2 = await selectInspectsListById({
-					id: res.data
+				await addInspect(param).then(res =>{
+					this.search();
+					this.$message.success('鎶ユ鎴愬姛')
+					this.$router.push(`/experiment/Viewdetails/${res.data}`)
+				}).catch(error =>{
+					this.$message.error('鎶ユ澶辫触')
 				});
-				this.resultData = res2.data;
-				this.inspectionForm = res2.data;
-				this.inspectionItems = res2.data.insProducts;
-
 			},
 			// 鑾峰彇鍒嗛〉鍒楄〃鏁版嵁
 			async getRawMaterialList() {
@@ -535,21 +457,6 @@
 					date: ''
 				}
 				this.getRawMaterialList()
-			},
-			radioclick() {
-				console.log(this.inspectionTable);
-				if (this.radioValue === 0) {
-
-				}
-			},
-			getAllTableData() {
-				this.getRawMaterialList()
-			},
-			getCheckData() {
-
-			},
-			getUnCheckData() {
-
 			},
 			// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
 			handleSizeChange(val) {
@@ -647,10 +554,15 @@
 			flex-direction: column;
 
 			.table-header {
+        width: 100%;
+        height: 70px;
 				padding: 20px;
 				display: flex;
 				justify-content: space-between;
-
+        .generateInsp{
+          position: relative;
+          left: 92%;
+        }
 				.el-form-item {
 					margin-bottom: 30px !important;
 				}

--
Gitblit v1.9.3