From b723865e2b3ad6032d10deda501644ebabef8368 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 31 八月 2023 15:43:58 +0800
Subject: [PATCH] 	modified:   src/api/inspection/commisioninspection.js 	modified:   src/api/inspection/rawmaterial.js 	modified:   src/views/inspectionManagement/commissionInspection/index.vue 	modified:   src/views/inspectionManagement/reportForInspection/index.vue

---
 src/views/inspectionManagement/commissionInspection/index.vue |  160 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 155 insertions(+), 5 deletions(-)

diff --git a/src/views/inspectionManagement/commissionInspection/index.vue b/src/views/inspectionManagement/commissionInspection/index.vue
index 51c08b0..b4bc55b 100644
--- a/src/views/inspectionManagement/commissionInspection/index.vue
+++ b/src/views/inspectionManagement/commissionInspection/index.vue
@@ -53,15 +53,15 @@
 							</el-radio-group>
 						</div>
 						<div class="generateInsp">
-							<el-button type="primary" size="mini" icon="el-icon-document"
+							<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="commisionTable" :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="commisionTable" style="width: 100%">
-							<el-table-column type="selection" min-width="10%" />
+							:data="commisionTable" @selection-change="handleSelectionChange" style="width: 100%">
+							<el-table-column type="selection" :selectable="checkSelect" 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="entrusted" label="濮旀墭鍗曚綅" min-width="12%" />
@@ -126,6 +126,33 @@
 		</el-dialog>
 		<!-- 闅愯棌鍩熻緭鍏ユ鐢ㄦ潵澶嶅埗 -->
 		<input id="copyContext" style="position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;" />
+		<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 @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 :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>
 </template>
 
@@ -134,11 +161,28 @@
 		getCommisionList,
 		getViewUUID,
 		selectViewUUID,
-		delLink
+		delLink,
+		chooseVersion,
+		lookProByVer
 	} from '@/api/inspection/commisioninspection'
 	export default {
 		data() {
 			return {
+				standardLibraryData:[],
+        		chooseVersion: [],
+				addInspectionForm: {
+					inspectionDate: [],
+					version: null
+				},
+				addInspectionFormRules: {
+					inspectionDate: [{
+						required: true,
+						message: '璇烽�夋嫨鏃ユ湡鍖洪棿',
+						trigger: 'change'
+					}],
+				},
+				addReportDialog: false,
+				checkData: [],
 				form: [],
 				searchData: {
 					code: '',
@@ -196,6 +240,113 @@
 			}
 		},
 		methods: {
+			resetForm(formName) {
+				this.addInspectionForm.inspectionDate = [],
+				this.$refs[formName].resetFields();
+				this.addReportDialog = false
+			},
+			checkSelect(row) {
+				if (row.type === 1) {
+					return false;
+				} else {
+					return true;
+				}
+			},
+			handleSelectionChange(val) {
+				if (val.length > 1) {
+					this.$refs.commisionTable.clearSelection();
+					this.$refs.commisionTable.toggleRowSelection(val.pop())
+				}
+				this.checkData = val;
+				console.log(this.checkData);
+			},
+			//鐢熸垚鎶ユ鍗曠‘璁ゆ寜閽�
+			confirmBtn(formName) {
+				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,
+					// 	"id": val.id,
+					// 	"mcode": val.materialCoding,
+					// 	"name": val.materialName,
+					// 	"num": val.quantity,
+					// 	"specifications": val.specificationsModels,
+					// 	"startTime": dateArr[0],
+					// 	"supplier": val.supplierName,
+					// 	"type": val.type,
+					// 	"unit": val.unit,
+					// 	"version": this.addInspectionForm.version
+					// }
+					// // this.createReport(obj);
+					// this.addReportDialog = false;
+					// this.initNewSelection();
+					// this.showNewPage = true;
+					}
+				});
+			},
+			//鐢熸垚鎶ユ鍗曟寜閽�
+			addReportBtn() {
+				if (this.checkData.length < 1) {
+					this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�!");
+				} else {
+					if (this.checkData.length > 1) {
+						this.$message.error("鏈�澶氶�夋嫨涓�鏉℃暟鎹�!");
+					} else {
+						let mcode = this.checkData[0].entrust_coding;
+						let name = this.checkData[0].sample_name;
+						let specifications = this.checkData[0].specifications_models;
+						let id = this.checkData[0].id;
+						this.getChooseVersionFun(mcode,name,specifications,id);
+						this.addReportDialog = true;
+					}
+				}
+			},
+			changeVersionFun(){
+				let mCode = this.checkData[0].entrust_coding;
+				let name = this.checkData[0].sample_name;
+				let specifications = this.checkData[0].specifications_models;
+				let version = this.addInspectionForm.version;
+				let id = this.checkData[0].id;
+				this.getProByVersion(mCode,name,specifications,version,id);
+			},
+			//鑾峰彇鐗堟湰涓嬬殑鏍囧噯搴撴暟鎹�
+			async getProByVersion(mCode,name,specifications,version,id){
+				var vm = this;
+				await lookProByVer({
+					id : id,
+					mcode : mCode,
+					name : name,
+					specifications : specifications,
+					version: version
+				}).then((res)=>{
+					console.log(res);
+					vm.standardLibraryData = res.data;
+				})
+			},
+			//鑾峰彇鐗堟湰鍒楄〃
+			async getChooseVersionFun(mCode,name,specifications,id){
+				var vm = this;
+				this.chooseVersion = [];
+				await chooseVersion({
+				mcode : mCode,
+				name : name,
+				specifications : specifications
+				}).then((res)=>{
+					vm.getProByVersion(mCode,name,specifications,res.data[0],id);
+					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];
+				});
+			},
 			async getCommisionList() {
 				const res = await getCommisionList({
 					pageNo: this.currentPage,
@@ -237,7 +388,6 @@
 				this.commisionTable = res.data.row
 				this.total = res.data.total
 			},
-
 			// 閲嶇疆鏂规硶
 			reset() {
 				// 閲嶇疆鎼滅储鏉′欢

--
Gitblit v1.9.3