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 | 181 +++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 165 insertions(+), 16 deletions(-) diff --git a/src/views/inspectionManagement/commissionInspection/index.vue b/src/views/inspectionManagement/commissionInspection/index.vue index 3a9c084..b4bc55b 100644 --- a/src/views/inspectionManagement/commissionInspection/index.vue +++ b/src/views/inspectionManagement/commissionInspection/index.vue @@ -53,25 +53,25 @@ </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%" /> <el-table-column prop="samples_number" label="鏍峰搧鏁伴噺" min-width="8%" /> <el-table-column prop="sample_name" label="鏍峰搧鍚嶇О" min-width="8%" /> <el-table-column prop="specifications_models" label="瑙勬牸鍨嬪彿" min-width="12%" /> - <el-table-column prop="dateSurvey" label="閫佹牱鏃堕棿" min-width="8%" /> + <el-table-column prop="inspectionTime" label="閫佹牱鏃堕棿" min-width="8%" /> <el-table-column prop="completionDeadline" label="瀹屾垚鏈熼檺" min-width="8%" /> <el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" /> - <el-table-column prop="inspectionTime" label="妫�楠屾棩鏈�" min-width="8%" /> + <el-table-column prop="insTime" label="妫�楠屾棩鏈�" min-width="8%" /> <el-table-column prop="inspection_status" label="鐘舵��" min-width="8%"> <template slot-scope="scope"> <div v-if="scope.row.inspection_status === 0"> @@ -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> @@ -133,11 +160,29 @@ import { getCommisionList, getViewUUID, - selectViewUUID + selectViewUUID, + 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: '', @@ -191,11 +236,117 @@ }, updated() { if (this.$router.currentRoute.name === 'AddCommision') { - // console.log(this.$router.currentRoute.name) this.showDetail = true } }, 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, @@ -203,7 +354,6 @@ }) this.commisionTable = res.data.row this.total = res.data.total - // console.log(res) // 鑾峰彇鎵�鏈夌殑濮旀墭鍗曚綅鍚嶇О const allDepartmentNames = [...new Set(this.commisionTable.map(item => item.entrusted))] // 灏哸llDepartmentNames杞崲涓簅ptions闇�瑕佺殑鏍煎紡 @@ -235,11 +385,9 @@ inspectionStatus: this.radioValue }) } - // console.log(res) this.commisionTable = res.data.row this.total = res.data.total }, - // 閲嶇疆鏂规硶 reset() { // 閲嶇疆鎼滅储鏉′欢 @@ -252,7 +400,6 @@ }, async radioclick() { // 澶勭悊鐐瑰嚮radio鐨勬椂闂� - console.log('radioValue', this.radioValue) if (this.radioValue === 0) { this.getCommisionList() } else { @@ -261,7 +408,6 @@ pageSize: this.pageSize, inspectionStatus: this.radioValue }) - // console.log(res) this.commisionTable = res.data.row this.total = res.data.total } @@ -269,7 +415,6 @@ }, // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 async handleSizeChange(val) { - // console.log(`姣忛〉 ${val} 鏉) this.currentPage = 1 this.pageSize = val if (this.radioValue === 0) { @@ -286,7 +431,6 @@ }, // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤� async handleCurrentChange(val) { - // console.log(`褰撳墠椤�: ${val}`) this.currentPage = val if (this.radioValue === 0) { this.getCommisionList() @@ -329,13 +473,18 @@ } }, handleClick(row){ - console.log(row); + delLink({ + id: row.id + }).then(res=>{ + this.$message.success('鍒犻櫎鎴愬姛') + this.getCommisionList() + }) } } } </script> -<style scoped> +<style scoped lang="scss"> .top-bar { margin: -25px -15px; background: #fff; -- Gitblit v1.9.3