From e132d7d87ff834eb231bd39c82c3be22bae2d80b Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期一, 28 八月 2023 09:10:59 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/api/experiment/checkTheReport.js | 9 + src/views/experiment/inspectionApplication/index.vue | 210 +++++++++++++++++----------------- src/components/experiment/checkTheReport/index.vue | 60 +++++---- src/views/inspectionManagement/reportForInspection/index.vue | 7 src/views/experiment/checkTheReport/index.vue | 37 +++-- src/api/experiment/planAssignments.js | 16 ++ 6 files changed, 191 insertions(+), 148 deletions(-) diff --git a/src/api/experiment/checkTheReport.js b/src/api/experiment/checkTheReport.js index 940fb8a..7484a0e 100644 --- a/src/api/experiment/checkTheReport.js +++ b/src/api/experiment/checkTheReport.js @@ -7,3 +7,12 @@ params }) } + +//鑾峰彇鎶ュ憡鍐呯殑鏁版嵁 +export function getReportData(params) { + return request({ + url: '/report/getReportContext', + method: 'post', + params + }) +} diff --git a/src/api/experiment/planAssignments.js b/src/api/experiment/planAssignments.js index e2bae08..51f20e3 100644 --- a/src/api/experiment/planAssignments.js +++ b/src/api/experiment/planAssignments.js @@ -55,3 +55,19 @@ params }) } +//鍘熸潗鏂欐楠屽垪琛� +export function YANcailiso(params) { + return request({ + url: '/raw-material/selectAll', + method: 'get', + params + }) +} +//鐗堟湰鍙� +export function chooseVer(params) { + return request({ + url: '/inspection/chooseVer', + method: 'get', + params + }) +} diff --git a/src/components/experiment/checkTheReport/index.vue b/src/components/experiment/checkTheReport/index.vue index 72f4c28..fe7d0f5 100644 --- a/src/components/experiment/checkTheReport/index.vue +++ b/src/components/experiment/checkTheReport/index.vue @@ -8,25 +8,27 @@ <table> <tr> <td>鏉愭枡鍚嶇О</td> - <td colspan="5"></td> + <td colspan="5">{{reportData.name}}</td> </tr> <tr> <td>瑙勬牸鍨嬪彿</td> - <td colspan="2"></td> + <td colspan="2"> + {{reportData.specifications.split("-")[1]}} + </td> <td>鏉愭枡鍘傚</td> - <td colspan="2"></td> + <td colspan="2">{{reportData.supplier}}</td> </tr> <tr> - <td>鏉愭枡鎵瑰彿</td> - <td colspan="2"></td> + <td>鏉愭枡缂栧彿</td> + <td colspan="2">{{reportData.imCode}}</td> <td>妫�娴嬬紪鍙�</td> - <td colspan="2"></td> + <td colspan="2">{{reportData.insCode}}</td> </tr> <tr> <td>妫�娴嬩緷鎹�</td> - <td colspan="2"></td> + <td colspan="2">{{reportData.specifications.split("-")[0]}}</td> <td>妫�娴嬬被鍒�</td> - <td colspan="2"></td> + <td colspan="2">鍘熸潗鏂�</td> </tr> <tr> <td>搴忓彿</td> @@ -36,32 +38,30 @@ <td>妫�娴嬬粨鏋�</td> <td>鍗曢」鍒ゆ柇</td> </tr> - <tr v-for="item in 15" :key="item"> - <td>{{item}}</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <tr v-for="(item,index) in reportData.products" :key="item"> + <td>{{index+1}}</td> + <td>{{item.ipName}}</td> + <td>{{item.unit}}</td> + <td>{{item.required}}</td> + <td>{{item.testValue}}</td> + <td>{{item.testState == 1 ? "鈭�" : "X"}}</td> </tr> <tr> - <td colspan="6">妫�楠岀粨璁猴細</td> + <td colspan="6">妫�楠岀粨璁猴細{{reportData.type == 1 ? "鍚堟牸" : "涓嶅悎鏍�"}}</td> </tr> <tr> <td colspan="6"> - 娉細鈥溾垰鈥濊〃绀鸿椤圭洰鍚堟牸锛屸�溍椻�濊〃绀鸿椤圭洰涓嶅悎鏍尖�溾�斺�濊〃绀鸿椤圭洰涓嶈姹傛娴嬨�� + 娉細鈥溾垰鈥濊〃绀鸿椤圭洰鍚堟牸锛屸�溍椻�濊〃绀鸿椤圭洰涓嶅悎鏍硷紝鈥溾�斺�濊〃绀鸿椤圭洰涓嶈姹傛娴嬨�� </td> </tr> </table> <el-row class="date-group" :gutter="20"> - <el-col :span="8">妫�娴嬨�佹棩鏈燂細<span>2023-08-25</span></el-col> - <el-col :span="8">瀹℃牳銆佹棩鏈燂細<span>2023-08-25</span></el-col> - <el-col :span="8">鎵瑰噯銆佹棩鏈燂細<span>2023-08-25</span></el-col> + <el-col :span="12">妫�娴嬨�佹棩鏈燂細<span>{{reportData.createTime}}</span></el-col> + <el-col :span="12">瀹℃牳銆佹棩鏈燂細<span>{{reportData.checkTime}}</span></el-col> </el-row> <p class="footer"> - <span>缂栧彿:</span><span>ZTT/ICSRCP18-003</span> - <span> 鍙戣鏃ユ湡:</span><span>2023-08-25</span> - <span> 鍙戣閮ㄩ棬:</span><span>璐ㄩ噺閮�</span> + <span>缂栧彿:</span><span>{{reportData.reportCode}}</span> + <span> 鍙戣鏃ユ湡:</span><span>{{new Date() | formatDate}}</span> <span> 淇濆瓨鏈熼檺:</span><span>闀挎湡</span> </p> </div> @@ -73,7 +73,17 @@ return { logoSrc : require("@/assets/404_images/logo.png"), } - } + }, + methods:{ + formatDate(val){ + var dt = new Date(val); + let year = dt.getFullYear(); + let month = (dt.getMonth() + 1).toString().padStart(2,'0'); + let date = dt.getDate().toString().padStart(2,'0'); + return `${year}-${month}-${date}`; + } + }, + props:["reportData"] }) </script> <style scoped lang="scss"> @@ -105,7 +115,7 @@ border: 2px solid black; } tr,td,th{ - padding: 15px 20px; + padding: 5px 5px; } .date-group .el-col{ text-align: center; diff --git a/src/views/experiment/checkTheReport/index.vue b/src/views/experiment/checkTheReport/index.vue index 171ca9d..ab2d6ee 100644 --- a/src/views/experiment/checkTheReport/index.vue +++ b/src/views/experiment/checkTheReport/index.vue @@ -57,10 +57,10 @@ :visible.sync="dialogVisible" width="60%"> <span slot="footer" class="dialog-footer"> - <el-button type="primary" size="small" @click="printFun()">鎵撳嵃</el-button> + <el-button type="primary" @click="printFun()">鎵撳嵃</el-button> </span> <div class="printStyle"> - <preview id="printDiv"></preview> + <preview id="printDiv" :reportData="reportData"></preview> </div> </el-dialog> <div class="table-box"> @@ -93,14 +93,14 @@ </template></el-table-column > <el-table-column - prop="materialCode" + prop="reportCode" label="鎶ュ憡鍗曞彿" sortable min-width="10%" > <template slot-scope="scope"> <span style="color: #409eff;"> - {{ scope.row.materialCode }} + {{ scope.row.reportCode }} </span> </template></el-table-column > @@ -179,12 +179,13 @@ </template> <script> -import { selectAllReport } from "@/api/experiment/checkTheReport"; +import { selectAllReport,getReportData } from "@/api/experiment/checkTheReport"; import Preview from "@/components/experiment/checkTheReport/index.vue"; import PrintJS from 'print-js' export default { data() { return { + reportData: [], searchData:{ sample_code:'', reportCode:'', @@ -203,25 +204,31 @@ this.getData(); }, mounted(){ - // this.dialogVisible = true; }, components:{ Preview }, methods: { - //棰勮鎸夐挳 - previewFun(){ + async queryReportByRCode(code){ + const resp = await getReportData({code:code}); + this.reportData = resp.data; + console.log(this.reportData); + }, + //鏌ョ湅鎶ュ憡鎸夐挳 + previewFun(row){ this.dialogVisible = true; + this.queryReportByRCode(row.reportCode); }, //鎵撳嵃鎸夐挳 printFun(){ - PrintJS({ - printable: "printDiv", - type: "html", - // header: "鍘熸潗鏂欐娴嬫姤鍛�", - targetStyles: ["*"], - ignoreElements: ["no-ignore"], - }); + this.dialogVisible = false; + PrintJS({ + printable: "printDiv", + type: "html", + // header: "鍘熸潗鏂欐娴嬫姤鍛�", + targetStyles: ["*"], + ignoreElements: ["no-ignore"], + }); }, // 鐘舵�佹寜閽� handleRadioChange() { diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue index e53dd3a..e6f5023 100644 --- a/src/views/experiment/inspectionApplication/index.vue +++ b/src/views/experiment/inspectionApplication/index.vue @@ -252,44 +252,44 @@ <el-form :model="commisionSelection" ref="commisionTable" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> <el-row :gutter="100"> <el-col :span="10"> - <el-form-item label="鏉ユ枡鏃ユ湡锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.formTime" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> + <el-form-item label="濮旀墭缂栧彿"> + <el-input style="width: 300px" type="text" :value="commisionSelection.entrust_coding" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> - <el-form-item label="渚涘簲鍟嗗悕绉帮細"> - <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" placeholder="璇疯緭鍏ュ鎵樺崟浣�" autocomplete="off" /> + <el-form-item label="濮旀墭鍗曚綅"> + <el-input style="width: 300px" type="text" :value="commisionSelection.entrusted" placeholder="璇疯緭鍏ュ鎵樺崟浣�" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> - <el-form-item label="濮旀墭缂栧彿锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.mcode" placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" autocomplete="off" /> + <el-form-item label="鏍峰搧缂栧彿"> + <el-input style="width: 300px" type="text" :value="commisionSelection.samples_number" placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> - <el-form-item label="濮旀墭鍚嶇О锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.name" placeholder="璇疯緭鍏ユ牱鍝佸悕绉�" autocomplete="off" /> + <el-form-item label="鏍峰搧鍚嶇О"> + <el-input style="width: 300px" type="text" :value="commisionSelection.sample_name" placeholder="璇疯緭鍏ユ牱鍝佸悕绉�" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.specifications" placeholder="璇疯緭鍏ュ瀷鍙疯鏍�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="commisionSelection.specifications_models" placeholder="璇疯緭鍏ュ瀷鍙疯鏍�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> - <el-form-item label="鍗曚綅锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> + <el-form-item label="閫佽揪鏃堕棿"> + <el-input style="width: 300px" type="text" :value="commisionSelection.dateSurvey" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> - <el-form-item label="鏁伴噺锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.num" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> + <el-form-item label="瀹屾垚鏈熼檺"> + <el-input style="width: 300px" type="text" :value="commisionSelection.completionDeadline" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> @@ -379,21 +379,21 @@ <el-dialog title="鏍囧噯搴�" :visible.sync="Standardframe" - width="48%" - - > - <!-- <el-form :model="form"> - <el-form-item label="璇烽�夋嫨瀹℃牳缁撴灉:" :label-width="formLabelWidth"> - </el-form-item> - </el-form> --> - - <!-- <div slot="footer" class="dialog-footer"> --> + width="48%"> + <el-card> + <template slot-scope="scope" > + <span>鐗堟湰閫夋嫨锛�</span> + <el-select v-model="commisionTable" size="small" slot="append" style="width: 220px;"> + <el-option v-for="item in BANben" :key="item.id" :label="item.name" :value="item.name"></el-option> + </el-select> + </template> + </el-card> <el-table :data="tableData" style="width: 100%; margin-bottom: 20px" row-key="name" border - height="calc(100vh - 250px)" + default-expand-all ref="multipleTable" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" @@ -445,7 +445,11 @@ </template> </el-table-column> </el-table> - <!-- </div> --> + <span slot="footer" class="dialog-footer"> + <el-button @click="Standardframe = false">鍙� 娑�</el-button> + <el-button type="primary" @click="Standardframe = false">纭� 瀹�</el-button> + </span> + </el-dialog> <!-- 鍘熸潗鏂欐楠屾ā鎬佹 --> @@ -461,11 +465,10 @@ :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" :data="rawMaterialTable" style="width: 100%" - @selection-change="handleSelectionChange" + @selection-change="handleSelectionChange_0" > - <el-table-column + <el-table-column type="selection" - label="" min-width="10%" /> <el-table-column @@ -474,7 +477,7 @@ min-width="8%" /> <el-table-column - prop="dateSurvey" + prop="createTime" label="鏉ユ枡鏃ユ湡" min-width="8%" /> @@ -519,12 +522,12 @@ min-width="8%" /> <el-table-column - prop="createTime" + prop="dateSurvey" label="妫�楠屾棩鏈�" min-width="8%" /> <el-table-column - prop="state" + prop="condition" label="鐘舵��" min-width="8%" > @@ -556,50 +559,32 @@ @selection-change="handleSelectionChange" style="width: 100%" > - <el-table-column - type="selection" - min-width="10%" - /> - <el-table-column - type="index" - label="搴忓彿" - min-width="10%" - /> - <el-table-column - prop="formTime" - label="濮旀墭bian'ha" - min-width="10%" - /> - <el-table-column - prop="supplier" - label="渚涘簲鍟嗗悕绉�" - min-width="12%" - /> - <el-table-column - prop="mcode" - label="鏉愭枡缂栫爜" - min-width="8%" - /> - <el-table-column - prop="specifications" - label="瑙勬牸鍨嬪彿" - min-width="8%" - /> - <el-table-column - prop="unit" - label="鍗曚綅" - min-width="12%" - /> - <el-table-column - prop="num" - label="鏁伴噺" - min-width="8%" - /> - <el-table-column - prop="checkdate_" - label="妫�楠屾棩鏈�" - min-width="8%" - /> + <el-table-column type="selection" 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="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="inspection_status" label="鐘舵��" min-width="8%"> + <template slot-scope="scope"> + <div v-if="scope.row.inspection_status === 1"> + <span style="color: green;">宸叉娴�</span> + </div> + <div v-else> + <span style="color: red;">寰呮娴�</span> + </div> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" min-width="8%"> + <template slot-scope="scope"> + <el-button type="text" size="small">鍒犻櫎</el-button> + </template> + </el-table-column> </el-table> <span slot="footer" class="dialog-footer"> <el-button @click="commisionVisible = false">鍙� 娑�</el-button> @@ -615,7 +600,7 @@ </template> <script> - import { selectInspectsList, selectAll, addInspect,getCommisionList} from '@/api/experiment/planAssignments' + import { selectInspectsList, selectAll, addInspect,getCommisionList,YANcailiso,chooseVer} from '@/api/experiment/planAssignments' export default { data() { return { @@ -625,34 +610,11 @@ type: '', state: '', }, + valu:{}, icode:'', inspectionTable: [], rawMaterialTable: [], - commisionTable: [{ - specifications_models: "GGXH-AAAAA", - inspectionTime: "2023-08-03", - id: 2, - samples_number: 0, - dateSurvey: "2023-08-03", - entrusted: "闃块噷宸村反", - completionDeadline: "2023-08-03", - contacts: "灏忛粦", - entrust_coding: "SL20230803000003", - sample_name: "鍙戝姩鏈�", - inspection_status: 1 - },{ - specifications_models: "GGXH-AAAAA", - inspectionTime: "2023-08-03", - id: 2, - samples_number: 0, - dateSurvey: "2023-08-03", - entrusted: "闃块噷宸村反", - completionDeadline: "2023-08-03", - contacts: "灏忛粦", - entrust_coding: "SL20230803000003", - sample_name: "鍙戝姩鏈�", - inspection_status: 1 - }], + commisionTable: [], finishedTable: { deliverydate: '', supplier: '', @@ -709,7 +671,10 @@ commisionVisible: false, tmp: '', Standardframe: false, - tableData: [] + tableData: [], + tableRow:{}, + BANben:[], + select_1: [] } }, watch: { @@ -735,11 +700,27 @@ this.$router.push({name:'Viewdetails',query: {id:row.id}}); this.selectInspectsList() }, + //鐗堟湰搴� + async chooseVer() { + const res = await chooseVer ({ + mcode:this.commisionTable.entrust_coding, + name:this.commisionTable.entrusted, + scifications:this.commisionTable.specifications_models + }) + console.log(res); + this.BANben = res.data.row + }, //濮旀墭妫�楠� async getCommisionList() { const res = await getCommisionList({pageNo:1,pageSize:10 }) + console.log(res); this.commisionTable = res.data - console.log(this.commisionTable); + }, + //鍘熸潗鏂� + async selecYANcailisotAllAPI() { + const res = await YANcailiso({pageNo:1,pageSize:10 }) + console.log(res); + this.rawMaterialTable = res.data.row }, async selectInspectsList() { // 鑾峰彇鍒嗛〉鍒楄〃 @@ -833,9 +814,10 @@ // this.$router.push({ name: 'ReportForInspection' }); }else if(this.type === 1){ this.commisionVisible = true - getCommisionList({pageNo:1,pageSize:10}).then(res=>{ - this.commisionTable = res.data - }) + getCnList({pageNo:1,pageSize:10}).then(res=>{ + // consommisioole.log(res); + this.commisionTable = res.data.row + }) } },100) }, @@ -902,7 +884,25 @@ }, //纭畾璺宠浆 QUEding(){ + // this.tableRow = a this.Standardframe = true + chooseVer({mcode:this.select_1[0].materialCoding, + name:this.select_1[0].materialName, + scifications:this.select_1[0].specificationsModels}).then(res => { + this.BANben = res.data.row + console.log(this.BANben); + }) + + }, + handleSelectionChange_0(val){ + this.select_1 = [] + val.forEach(v => { + let obj = {} + obj.materialCoding = v.materialCoding + obj.materialName = v.materialName + obj.specificationsModels = v.specificationsModels + this.select_1.push(obj) + }) } } } diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue index e48728d..a2d7b1e 100644 --- a/src/views/inspectionManagement/reportForInspection/index.vue +++ b/src/views/inspectionManagement/reportForInspection/index.vue @@ -123,13 +123,13 @@ min-width="8%" /> <el-table-column - prop="condition" + prop="type" label="鐘舵��" min-width="8%" > <template slot-scope="scope"> - <span :style="{ color: scope.row.condition === 1 ? 'green' : 'red' }"> - {{ scope.row.condition === 1 ? '宸叉娴�':'鏈娴�' }} + <span :style="{ color: scope.row.type === 1 ? 'green' : 'red' }"> + {{ scope.row.type === 1 ? '宸叉娴�':'鏈娴�' }} </span> </template> </el-table-column> @@ -386,6 +386,7 @@ // console.log(res) this.inspectionTable = res.data.row this.data = res.data.row + console.log(res.data.row); this.total = res.data.total }, async search(){ -- Gitblit v1.9.3