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/api/inspection/commisioninspection.js                     |   16 +++
 src/views/inspectionManagement/reportForInspection/index.vue  |   92 ++++++++----------
 src/api/inspection/rawmaterial.js                             |    2 
 src/views/inspectionManagement/commissionInspection/index.vue |  160 +++++++++++++++++++++++++++++++-
 4 files changed, 213 insertions(+), 57 deletions(-)

diff --git a/src/api/inspection/commisioninspection.js b/src/api/inspection/commisioninspection.js
index 95df195..5f49894 100644
--- a/src/api/inspection/commisioninspection.js
+++ b/src/api/inspection/commisioninspection.js
@@ -95,4 +95,20 @@
     method: 'get',
 		params
   })
+}
+
+export function chooseVersion(params){
+  return request({
+    url: '/link-basic-table/chooseVer',
+    method: 'get',
+		params
+  })
+}
+
+export function lookProByVer(params){
+  return request({
+    url: '/link-basic-table/lookProByVer',
+    method: 'get',
+		params
+  })
 }
\ No newline at end of file
diff --git a/src/api/inspection/rawmaterial.js b/src/api/inspection/rawmaterial.js
index d21c70b..1c487a9 100644
--- a/src/api/inspection/rawmaterial.js
+++ b/src/api/inspection/rawmaterial.js
@@ -12,7 +12,7 @@
 //鏂板鎶ユ鍗�
 export function addInspect(data){
   return request({
-    url: '/inspection/addInspect',
+    url: '/raw-material/addInspect',
     method: 'post',
     data
   })
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() {
 				// 閲嶇疆鎼滅储鏉′欢
diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue
index 6dbbd6f..2081aa0 100644
--- a/src/views/inspectionManagement/reportForInspection/index.vue
+++ b/src/views/inspectionManagement/reportForInspection/index.vue
@@ -64,12 +64,6 @@
 			</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>
@@ -79,8 +73,7 @@
 					<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'}"
 						: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="supplierName" label="渚涘簲鍟嗗悕绉�" min-width="12%" />
@@ -116,7 +109,7 @@
 			</div>
 		</div>
 		<el-dialog title="閫夋嫨鏃ユ湡" :visible.sync="addReportDialog" width="60%">
-			<el-form :model="addInspectionForm" :rules="addInspectionFormRules" rule="addInspectionForm">
+			<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="缁撴潫鏃ユ湡">
@@ -446,8 +439,8 @@
 				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) {
@@ -460,7 +453,7 @@
 					this.deleteMaterialFun(row, index);
 				}).catch(() => {});
 			},
-			checkSelect(row, index) {
+			checkSelect(row) {
 				if (row.type === 1) {
 					return false;
 				} else {
@@ -468,8 +461,11 @@
 				}
 			},
 			handleSelectionChange(val) {
+        if (val.length > 1) {
+					this.$refs.inspectionTable.clearSelection();
+					this.$refs.inspectionTable.toggleRowSelection(val.pop())
+				}
 				this.checkData = val;
-        console.log(val);
 			},
 			//鐢熸垚鎶ユ鍗曟寜閽�
 			addReportBtn() {
@@ -530,28 +526,32 @@
       },
 			//鐢熸垚鎶ユ鍗曠‘璁ゆ寜閽�
 			confirmBtn(formName) {
-				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;
+        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;
+          }
+        }));
 			},
 			//鐢熸垚鎶ユ鍗�
 			async createReport(param) {
@@ -595,21 +595,6 @@
 					date: ''
 				}
 				this.getRawMaterialList()
-			},
-			radioclick() {
-				console.log(this.inspectionTable);
-				if (this.radioValue === 0) {
-
-				}
-			},
-			getAllTableData() {
-				this.getRawMaterialList()
-			},
-			getCheckData() {
-
-			},
-			getUnCheckData() {
-
 			},
 			// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
 			handleSizeChange(val) {
@@ -707,10 +692,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