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/reportForInspection/index.vue | 190 ++++++++++++++++++++++++++++++-----------------
1 files changed, 120 insertions(+), 70 deletions(-)
diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue
index dbc9c18..2081aa0 100644
--- a/src/views/inspectionManagement/reportForInspection/index.vue
+++ b/src/views/inspectionManagement/reportForInspection/index.vue
@@ -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" v-model="insertData.num"/>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -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%" />
@@ -115,19 +108,30 @@
</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>
@@ -245,16 +249,20 @@
deleteMaterial,
addMaterial,
getMaterielName,
- getSpecification
+ getSpecification,
+ getChooseVersion,
+ lookProByVer
} from '@/api/inspection/rawmaterial'
export default {
data() {
return {
+ standardLibraryData:[],
+ chooseVersion: [],
userName: "",
devices: "",
addInspectionForm: {
- inspectionDate: ['2023-08-01', '2023-08-31'],
- version: 5
+ inspectionDate: [],
+ version: null
},
addInspectionFormRules: {
inspectionDate: [{
@@ -364,37 +372,37 @@
insertRule: {
fromDate: [{
required: true,
- message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ message: '璇烽�夋嫨鏉ユ枡鏃ユ湡',
trigger: 'blur'
}],
supplierName: [{
required: true,
- message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О',
trigger: 'blur'
}],
mName: [{
required: true,
- message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ message: '璇烽�夋嫨鐗╂枡鍚嶇О',
trigger: 'blur'
}],
mCode: [{
required: true,
- message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ message: '璇烽�夋嫨鐗╂枡',
trigger: 'blur'
}],
specificationsNumber: [{
required: true,
- message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ message: '璇烽�夋嫨瑙勬牸鍨嬪彿',
trigger: 'blur'
}],
unit: [{
required: true,
- message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ message: '璇疯緭鍏ュ崟浣�',
trigger: 'blur'
}],
num: [{
required: true,
- message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ message: '璇疯緭鍏ユ姤妫�鏁伴噺',
trigger: 'blur'
}]
},
@@ -405,7 +413,7 @@
this.getRawMaterialList()
},
mounted() {
- this.getMaterielName()
+ this.getMaterielName();
},
methods: {
handleChange() {
@@ -431,9 +439,9 @@
this.deviceoptions = res2.data;
},
resetForm(formName) {
- // this.addInspectionForm.inspectionDate = [],
- // this.$refs[formName].resetFields();
- // this.addReportDialog = false
+ this.addInspectionForm.inspectionDate = [],
+ this.$refs[formName].resetFields();
+ this.addReportDialog = false
},
removeFun(row, index) {
this.$confirm('纭鍒犻櫎璇ユ暟鎹悧?', '鎻愮ず', {
@@ -445,7 +453,7 @@
this.deleteMaterialFun(row, index);
}).catch(() => {});
},
- checkSelect(row, index) {
+ checkSelect(row) {
if (row.type === 1) {
return false;
} else {
@@ -453,6 +461,10 @@
}
},
handleSelectionChange(val) {
+ if (val.length > 1) {
+ this.$refs.inspectionTable.clearSelection();
+ this.$refs.inspectionTable.toggleRowSelection(val.pop())
+ }
this.checkData = val;
},
//鐢熸垚鎶ユ鍗曟寜閽�
@@ -463,36 +475,85 @@
if (this.checkData.length > 1) {
this.$message.error("鏈�澶氶�夋嫨涓�鏉℃暟鎹�!");
} else {
+ let mcode = this.checkData[0].materialCoding;
+ let name = this.checkData[0].materialName;
+ let specifications = this.checkData[0].specificationsModels;
+ this.getChooseVersionFun(mcode,name,specifications);
+ console.log(this.standardLibraryData);
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)=>{
+ console.log(res);
+ vm.standardLibraryData = res.data;
+ })
+
+ },
+ //鑾峰彇鐗堟湰鍒楄〃
+ 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 = {
- "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": val.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) {
let res = await addInspect(param);
const res2 = await selectInspectsListById({
@@ -501,7 +562,6 @@
this.resultData = res2.data;
this.inspectionForm = res2.data;
this.inspectionItems = res2.data.insProducts;
-
},
// 鑾峰彇鍒嗛〉鍒楄〃鏁版嵁
async getRawMaterialList() {
@@ -535,21 +595,6 @@
date: ''
}
this.getRawMaterialList()
- },
- radioclick() {
- console.log(this.inspectionTable);
- if (this.radioValue === 0) {
-
- }
- },
- getAllTableData() {
- this.getRawMaterialList()
- },
- getCheckData() {
-
- },
- getUnCheckData() {
-
},
// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
handleSizeChange(val) {
@@ -647,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