From 6816ee4cbdaa253c2cd452e0e582a351860ffbe7 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期一, 07 四月 2025 16:35:36 +0800 Subject: [PATCH] 成品检验项分配人员 --- src/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue | 64 +++--- src/views/CNAS/resourceDemand/device/component/management.vue | 8 src/views/business/productOrder/components/issuedDialog.vue | 100 ++++++++++ src/views/statisticalCharts/itemInspectionAnalysis/index.vue | 156 ++++++--------- src/api/business/rawMaterialOrder.js | 9 src/views/business/productOrder/index.vue | 126 ++++++----- src/views/structural/capabilityAndLaboratory/capability/index.vue | 2 src/views/business/inspectionTask/components/EditInspectionItem.vue | 42 --- src/views/business/inspectionTask/index.vue | 93 ++++---- 9 files changed, 334 insertions(+), 266 deletions(-) diff --git a/src/api/business/rawMaterialOrder.js b/src/api/business/rawMaterialOrder.js index 76ee2b2..f5cbd4b 100644 --- a/src/api/business/rawMaterialOrder.js +++ b/src/api/business/rawMaterialOrder.js @@ -295,3 +295,12 @@ params: query, }); } + +// 妫�楠岄」鍒嗛厤浜哄憳 +export function batchUpdateInsProductCheckUser(query) { + return request({ + url: "/insOrder/batchUpdateInsProductCheckUser", + method: "post", + data: query, + }); +} diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue index 07ac2d6..42ff186 100644 --- a/src/views/CNAS/resourceDemand/device/component/management.vue +++ b/src/views/CNAS/resourceDemand/device/component/management.vue @@ -490,10 +490,10 @@ { label: "鎵�灞為儴闂�", prop: "laboratoryName" }, { label: "妫�楠岄」鐩�", prop: "insProductItem" }, { label: "鏍″噯鏈嶅姟鏈烘瀯", prop: "calibrationServices" }, - { label: "鏈�杩戞牎鍑嗘棩鏈�", prop: "lastCalibrationDateTwo" }, - { label: "鏈�杩戞牳鏌ユ棩鏈�", prop: "lastCalibrationDate" }, - { label: "涓嬫鏍″噯鏃ユ湡", prop: "nextCalibrationDateTwo" }, - { label: "涓嬫鏍告煡鏃ユ湡", prop: "nextCalibrationDate" }, + { label: "鏈�杩戞牎鍑嗘棩鏈�", prop: "lastCalibrationDate" }, + { label: "鏈�杩戞牳鏌ユ棩鏈�", prop: "lastCalibrationDateTwo" }, + { label: "涓嬫鏍″噯鏃ユ湡", prop: "nextCalibrationDate" }, + { label: "涓嬫鏍告煡鏃ユ湡", prop: "nextCalibrationDateTwo" }, { label: "璁惧鍒嗙被", prop: "largeCategory", dataType: "tag", formatData: (params) => { diff --git a/src/views/business/inspectionTask/components/EditInspectionItem.vue b/src/views/business/inspectionTask/components/EditInspectionItem.vue index fc13ce9..f2e9a21 100644 --- a/src/views/business/inspectionTask/components/EditInspectionItem.vue +++ b/src/views/business/inspectionTask/components/EditInspectionItem.vue @@ -1,11 +1,6 @@ <template> <div> - <el-dialog - :visible.sync="editInspectionDia" - title="淇敼妫�楠岄」" - width="80%" - @close="editInspectionDia = false" - > + <el-dialog :visible.sync="editInspectionDia" title="淇敼妫�楠岄」" width="80%" @close="editInspectionDia = false"> <div> <el-form :model="entity" :inline="true"> <el-form-item label="妫�楠岄」" prop="outputWorkTime"> @@ -16,14 +11,8 @@ </el-form-item> </el-form> </div> - <lims-table - :column="editColumn" - :table-data="editTableData" - :table-loading="editLoading" - :page="page" - height="560" - @pagination="pagination" - > + <lims-table :column="editColumn" :table-data="editTableData" :table-loading="editLoading" :page="page" + height="560" @pagination="pagination"> </lims-table> </el-dialog> <el-dialog :visible.sync="editAskDia" title="淇敼" width="50%"> @@ -35,30 +24,16 @@ <el-input v-model="editForm.tell" type="textarea"></el-input> </el-form-item> <el-form-item label="妫�楠屽�肩被鍨�"> - <el-select - v-model="editForm.inspectionValueType" - clearable - placeholder="璇烽�夋嫨" - size="small" - style="width: 100%" - > - <el-option - v-for="dict in inspectionValueType" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-select v-model="editForm.inspectionValueType" clearable placeholder="璇烽�夋嫨" size="small" + style="width: 100%"> + <el-option v-for="dict in inspectionValueType" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> </el-select> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="editAskDia = false">鍙� 娑�</el-button> - <el-button - :loading="handleEditLoading" - type="primary" - @click="handleEdit" - >纭� 瀹�</el-button - > + <el-button :loading="handleEditLoading" type="primary" @click="handleEdit">纭� 瀹�</el-button> </span> </el-dialog> </div> @@ -137,6 +112,7 @@ minWidth: "120px", prop: "model", }, + { label: "妫�楠屼汉", prop: "checkUserName" }, { dataType: "action", width: "80px", diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue index 6d01292..98a7ed7 100644 --- a/src/views/business/inspectionTask/index.vue +++ b/src/views/business/inspectionTask/index.vue @@ -5,12 +5,12 @@ <el-form :model="queryParams" ref="queryParams" size="small" :inline="true"> <el-form-item label="濮旀墭缂栧彿" prop="entrustCode"> <el-input v-model="queryParams.entrustCode" clearable placeholder="璇疯緭鍏�" size="small" - @keyup.enter.native="refreshTable()"></el-input> + @keyup.enter.native="refreshTable()"></el-input> </el-form-item> <el-form-item label="妫�楠岀姸鎬�" prop="insState"> <el-select v-model="queryParams.insState" size="small" style="width: 100%" @change="refreshTable()"> <el-option v-for="(a, i) in dict.type.inspection_task_state" :key="i" :label="a.label" - :value="a.value"></el-option> + :value="a.value"></el-option> </el-select> </el-form-item> <el-form-item> @@ -30,7 +30,7 @@ </ul> <div> <el-checkbox v-model="alone" class="view-self-checkbox" - @change="changeCheckBox"><span>鎴戠殑浠诲姟</span></el-checkbox> + @change="changeCheckBox"><span>鎴戠殑浠诲姟</span></el-checkbox> </div> </div> <div class="center-title"> @@ -39,27 +39,24 @@ </div> </div> <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" - :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination" - key="tableData0"> + :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination" key="tableData0"> <div slot="action" slot-scope="scope"> <el-button size="small" type="text" @click="handleDataLook(scope.row)">鏁版嵁鏌ョ湅</el-button> <el-button type="text" size="small" - :disabled="(scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5) && checkPermi(['update:product:onPlan'])" - @click="editInspection(scope.row)">淇敼妫�楠屽��</el-button> + :disabled="(scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5) && checkPermi(['update:product:onPlan'])" + @click="editInspection(scope.row)">淇敼妫�楠屽��</el-button> <el-button type="text" size="small" :disabled="( - scope.row.userName == null || - scope.row.insState == 3 || - scope.row.insState == 5 || - (scope.row.userName && !scope.row.userName.includes(nickName)) - )" - @click="handleInspection(scope.row)">妫�楠�</el-button> + scope.row.userName == null || + scope.row.insState == 3 || + scope.row.insState == 5 || + (scope.row.userName && !scope.row.userName.includes(nickName)) + )" @click="handleInspection(scope.row)">妫�楠�</el-button> <el-button type="text" size="small" :disabled="( - scope.row.userName == null || - scope.row.insState == 5 || - scope.row.insState == 3 || - (scope.row.userName && !scope.row.userName.includes(nickName)) - )" - @click="handleConnect(scope.row)">浜ゆ帴</el-button> + scope.row.userName == null || + scope.row.insState == 5 || + scope.row.insState == 3 || + (scope.row.userName && !scope.row.userName.includes(nickName)) + )" @click="handleConnect(scope.row)">浜ゆ帴</el-button> <el-button type="text" size="small" @click="viewInspectInfo(scope.row)">鍘熷璁板綍</el-button> <el-popover placement="bottom" trigger="hover" style="margin-left: 6px"> <template #reference> @@ -67,23 +64,22 @@ </template> <div> <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null || - (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px" type="text" size="small" @click="download(scope.row)">涓嬭浇鎶ュ憡</el-button> - <el-upload ref='upload' - :action="javaApi + '/insReport/inReport'" - :before-upload="beforeUpload" - :data="{id: scope.row.insReportId}" - :headers="uploadHeader" :on-error="onError" - :on-success="handleSuccessUp" - :show-file-list="false" - style="display: inline;margin: 0 6px" - accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'> + (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px" + type="text" size="small" @click="download(scope.row)">涓嬭浇鎶ュ憡</el-button> + <el-upload ref='upload' :action="javaApi + '/insReport/inReport'" :before-upload="beforeUpload" + :data="{ id: scope.row.insReportId }" :headers="uploadHeader" :on-error="onError" + :on-success="handleSuccessUp" :show-file-list="false" style="display: inline;margin: 0 6px" + accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'> <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null || - (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small" type="text">涓婁紶</el-button> + (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small" + type="text">涓婁紶</el-button> </el-upload> <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null || - (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleRestore(scope.row)">杩樺師</el-button> + (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" + @click="handleRestore(scope.row)">杩樺師</el-button> <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null || - (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleIssued(scope.row)">鏌ョ湅鎶ュ憡</el-button> + (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" + @click="handleIssued(scope.row)">鏌ョ湅鎶ュ憡</el-button> </div> </el-popover> </div> @@ -155,7 +151,7 @@ </el-button> </div> <el-table :data="bindTableData" style="width: 100%" height="70vh" v-loading="bindTableDataLoading" - :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border> + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border> <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150"> </el-table-column> <el-table-column prop="inspectionItem" label="妫�楠岄」" width="150"> @@ -171,7 +167,7 @@ </el-dialog> <el-dialog :visible.sync="bindAddDialogVisible" title="閫夋嫨缁戝畾" width="600px"> <el-table :data="bindAddTableData" style="width: 100%" height="60vh" - :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border @selection-change="handleBindAddSelectionChange"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150"> @@ -197,13 +193,14 @@ <!--鏌ョ湅宸ユ椂寮规--> <viewManHourDia ref="viewManHourDia"></viewManHourDia> <!--涓嶅悎鏍煎娴嬫煡鐪嬪脊妗�--> - <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" @closeRetestLook="closeRetestLook"></un-pass-retest-result> + <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" + @closeRetestLook="closeRetestLook"></un-pass-retest-result> <!--鎶ュ憡鏌ョ湅--> <el-dialog title="鎶ュ憡鏌ョ湅" :visible.sync="issuedVisible" width="80vw" :modal-append-to-body="false" - :fullscreen="fullscreen"> + :fullscreen="fullscreen"> <div class="full-screen"> <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen = true;" - v-if="!fullscreen"></i> + v-if="!fullscreen"></i> <img src="@/assets/images/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen = false;"> </div> <div style="height: 80vh;" v-if="issuedVisible"> @@ -212,7 +209,7 @@ </el-dialog> <el-dialog title="鏌ョ湅闄勪欢" :visible.sync="lookDialogVisible" width="800px" top="5vh" fullscreen> <filePreview v-if="lookDialogVisible" :fileUrl="javaApi + '/word/' + currentInfo.tempUrlPdf" :currentFile="{}" - style="max-height: 90vh;overflow-y: auto;" /> + style="max-height: 90vh;overflow-y: auto;" /> </el-dialog> </div> </template> @@ -237,8 +234,8 @@ selectSampleAndProductByOrderId, } from "@/api/business/inspectionTask.js"; import { mapGetters } from "vuex"; -import {getRetestResult} from "@/api/business/rawMaterialOrder"; -import {upReportUrl} from "@/api/business/insReport"; +import { getRetestResult } from "@/api/business/rawMaterialOrder"; +import { upReportUrl } from "@/api/business/insReport"; import onlyoffice from "@/components/Onlyoffice/onlyoffice.vue"; import filePreview from "@/components/Preview/filePreview.vue"; export default { @@ -499,6 +496,7 @@ } }, }, + { label: "妫�楠屼汉", prop: "checkUserName" }, { dataType: "action", fixed: "right", @@ -511,7 +509,7 @@ this.getRetestResultInfo(row); }, disabled: (row) => { - return row.insResult!=0 + return row.insResult != 0 }, }, { @@ -639,7 +637,7 @@ }, // 涓嬭浇鎶ュ憡 download(row) { - let url = (row.urlS===null||row.urlS==='')?row.url:row.urlS + let url = (row.urlS === null || row.urlS === '') ? row.url : row.urlS const link = document.createElement('a'); link.href = this.javaApi + url; link.target = '_blank'; @@ -673,7 +671,7 @@ fileName = row.tempUrlPdf fileType = "pdf" } - fileName = fileName.replace('/word/','') + fileName = fileName.replace('/word/', '') const userName = this.nickName this.option = { url: this.javaApi + "/word/" + fileName, @@ -887,13 +885,13 @@ }); }, // 鏌ョ湅涓嶅悎鏍煎娴嬬粨鏋� - getRetestResultInfo (row) { - getRetestResult({insProductId: row.insProductId}).then(res => { + getRetestResultInfo(row) { + getRetestResult({ insProductId: row.insProductId }).then(res => { this.retestVisible = true this.retestInfo = res.data }) }, - closeRetestLook () { + closeRetestLook() { this.retestVisible = false }, // 缁戝畾妫�楠岄」缁戝畾 @@ -962,7 +960,7 @@ }); }); }, - beforeUpload (file) { + beforeUpload(file) { if (file.size > 1024 * 1024 * 10) { this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M'); this.$refs.upload.clearFiles() @@ -1033,6 +1031,7 @@ border-color: #3a7bfa; color: #3a7bfa; } + .center-options { display: flex; align-items: center; diff --git a/src/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue b/src/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue index c829dac..c379f86 100644 --- a/src/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue +++ b/src/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue @@ -2,27 +2,28 @@ <div> <el-dialog title="鏁版嵁鏌ョ湅" :visible.sync="isShow" width="80%" @closed="$emit('closeDataLook')"> <ul class="tab"> - <li v-for="(m,i) in dataVisibleTitle" :key="i" :class="{active:i===dataVisibleIndex}" @click="handleDataVisibleTab(m,i)">{{m.label}}</li> + <li v-for="(m, i) in dataVisibleTitle" :key="i" :class="{ active: i === dataVisibleIndex }" + @click="handleDataVisibleTab(m, i)">{{ m.label }}</li> </ul> <div> - <lims-table :tableData="tableData" :column="column" - @pagination="pagination" height="500px" key="tableData" - :page="page" :tableLoading="tableLoading"></lims-table> + <lims-table :tableData="tableData" :column="column" @pagination="pagination" height="500px" key="tableData" + :page="page" :tableLoading="tableLoading"></lims-table> </div> </el-dialog> - <un-pass-retest-result :retestVisible="retestVisible" :retestInfo="retestInfo" @closeRetestLook="closeRetestLook" v-if="retestVisible"></un-pass-retest-result> + <un-pass-retest-result :retestVisible="retestVisible" :retestInfo="retestInfo" @closeRetestLook="closeRetestLook" + v-if="retestVisible"></un-pass-retest-result> </div> </template> <script> import UnPassRetestResult from "./unPassRetestResult.vue"; import limsTable from "@/components/Table/lims-table.vue"; -import {getRetestResult, selectSampleAndProductByOrderId} from "@/api/business/rawMaterialOrder"; +import { getRetestResult, selectSampleAndProductByOrderId } from "@/api/business/rawMaterialOrder"; export default { name: "dataLookVisible", // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� - components: {limsTable, UnPassRetestResult}, + components: { limsTable, UnPassRetestResult }, props: { dataDialogVisible: { type: Boolean, @@ -30,7 +31,7 @@ }, dataLookInfo: { type: Object, - default: () => {} + default: () => { } }, }, data() { @@ -39,17 +40,17 @@ tableData: [], tableLoading: false, column: [ - {label: '鏍峰搧缂栧彿', prop: 'sampleCode'}, - {label: '鏍峰搧鍚嶇О', prop: 'sample'}, - {label: '妫�楠岄」鍒嗙被', prop: 'inspectionItemClass'}, - {label: '妫�楠岄」', prop: 'inspectionItem'}, - {label: '妫�楠屽瓙椤�', prop: 'inspectionItemSubclass'}, - {label: '鍗曚綅', prop: 'unit'}, - {label: '鏍峰搧鍨嬪彿', prop: 'model'}, - {label: '鏉′欢', prop: 'radius'}, - {label: '鐢电紗鏍囪瘑', prop: 'cableTag'}, - {label: '璇曢獙瑕佹眰', prop: 'tell'}, - {label: '妫�楠岀粨鏋�', prop: 'lastValue'}, + { label: '鏍峰搧缂栧彿', prop: 'sampleCode' }, + { label: '鏍峰搧鍚嶇О', prop: 'sample' }, + { label: '妫�楠岄」鍒嗙被', prop: 'inspectionItemClass' }, + { label: '妫�楠岄」', prop: 'inspectionItem' }, + { label: '妫�楠屽瓙椤�', prop: 'inspectionItemSubclass' }, + { label: '鍗曚綅', prop: 'unit' }, + { label: '鏍峰搧鍨嬪彿', prop: 'model' }, + { label: '鏉′欢', prop: 'radius' }, + { label: '鐢电紗鏍囪瘑', prop: 'cableTag' }, + { label: '璇曢獙瑕佹眰', prop: 'tell' }, + { label: '妫�楠岀粨鏋�', prop: 'lastValue' }, { dataType: 'tag', label: '缁撴灉鍒ゅ畾', @@ -72,11 +73,12 @@ return 'danger' } else if (params == 3) { return '' - } else { + } else { return null } } }, + { label: "妫�楠屼汉", prop: "checkUserName" }, { dataType: 'action', fixed: 'right', @@ -89,17 +91,17 @@ clickFun: (row) => { this.getRetestResult(row); }, - disabled: (row, index) => { - return row.insResult!=0 + disabled: (row, index) => { + return row.insResult != 0 } }, ] } ], page: { - total:0, - size:10, - current:1 + total: 0, + size: 10, + current: 1 }, isShow: this.dataDialogVisible, dataVisibleTitle: [ @@ -126,7 +128,7 @@ // 鏂规硶闆嗗悎 methods: { // 鍒囨崲鏁版嵁鏌ョ湅tab鏍� - handleDataVisibleTab (m, i) { + handleDataVisibleTab(m, i) { this.dataVisibleIndex = i this.refreshTable() }, @@ -138,7 +140,7 @@ this.entity.id = this.dataLookInfo.quarterOrderId } this.tableLoading = true - const params = {...this.entity, ...this.page} + const params = { ...this.entity, ...this.page } selectSampleAndProductByOrderId(params).then(res => { this.tableLoading = false if (res.code === 200) { @@ -149,18 +151,18 @@ this.tableLoading = false }) }, - pagination (page) { + pagination(page) { this.page.size = page.limit this.refreshTable() }, // 鏌ョ湅涓嶅悎鏍煎娴嬬粨鏋� - getRetestResult (row) { - getRetestResult({insProductId: row.insProductId}).then(res => { + getRetestResult(row) { + getRetestResult({ insProductId: row.insProductId }).then(res => { this.retestVisible = true this.retestInfo = res.data }) }, - closeRetestLook () { + closeRetestLook() { this.retestVisible = false }, }, diff --git a/src/views/business/productOrder/components/issuedDialog.vue b/src/views/business/productOrder/components/issuedDialog.vue new file mode 100644 index 0000000..484a3f4 --- /dev/null +++ b/src/views/business/productOrder/components/issuedDialog.vue @@ -0,0 +1,100 @@ +<template> + <div> + <!-- 妫�楠岄」鍒嗛厤 --> + <el-dialog :visible.sync="issuedDialog" title="鍒嗛厤妫�楠岄」" top="5vh" width="80%" :loading="tableLoading"> + <el-table :data="tableData" style="width: 100%" height="70vh"> + <el-table-column label="鏍峰搧缂栧彿" prop="sampleCode" width="160px"> + </el-table-column> + <el-table-column label="鏍峰搧鍚嶇О" prop="sample"> + </el-table-column> + <el-table-column label="鏍峰搧鍨嬪彿" prop="model" width="190px"> + </el-table-column> + <el-table-column label="妫�楠岄」鍒嗙被" prop="inspectionItemClass"> + </el-table-column> + <el-table-column label="妫�楠岄」" prop="inspectionItem"> + </el-table-column> + <el-table-column label="妫�楠屽瓙椤�" prop="inspectionItemSubclass"> + </el-table-column> + <el-table-column label="鍒嗛厤浜哄憳" prop="checkUserId"> + <template slot-scope="scope"> + <el-select v-model="scope.row.checkUserId" clearable filterable placeholder="璇烽�夋嫨" size="small" + style="width: 100%;"> + <el-option v-for="(item, i) in personList" :key="i + 'gbnm.'" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </template> + </el-table-column> + <el-table-column label="璇曢獙瀹�" prop="sonLaboratory"> + </el-table-column> + </el-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="issuedDialog = false">鍙� 娑�</el-button> + <el-button :loading="submitLoading" type="primary" @click="submit">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> +</template> + +<script> +import { selectSampleAndProductByOrderId, batchUpdateInsProductCheckUser } from "@/api/business/rawMaterialOrder"; +import { selectUserCondition } from "@/api/performance/class"; +export default { + data() { + return { + issuedDialog: false, + tableData: [], + tableLoading: false, + submitLoading: false, + personList: [] + } + }, + mounted() { + + }, + methods: { + init(row) { + this.issuedDialog = true; + this.getList(row.id) + this.getAuthorizedPerson() + }, + getList(id) { + this.tableLoading = true + selectSampleAndProductByOrderId({ page: -1, size: -1, id }).then(res => { + this.tableLoading = false + if (res.code === 200) { + this.tableData = res.data.records + } + }).catch(err => { + this.tableLoading = false + }) + }, + // 鑾峰彇鎸囨淳浜哄憳涓嬫媺鍒楄〃 + getAuthorizedPerson() { + selectUserCondition({ type: 1 }).then(res => { + let data = [] + res.data.forEach(a => { + data.push({ + label: a.name, + value: a.id + }) + }) + this.personList = data + }) + }, + submit() { + this.submitLoading = true; + batchUpdateInsProductCheckUser({ insProductDtoList: this.tableData }).then(res => { + this.submitLoading = false; + if (res.code == 200) { + this.$message.success('鍒嗛厤鎴愬姛') + this.issuedDialog = false + } + }).catch(err => { + this.submitLoading = false; + }) + } + } +} +</script> + +<style></style> \ No newline at end of file diff --git a/src/views/business/productOrder/index.vue b/src/views/business/productOrder/index.vue index 027fda7..80e631e 100644 --- a/src/views/business/productOrder/index.vue +++ b/src/views/business/productOrder/index.vue @@ -32,7 +32,7 @@ </el-form-item> <el-form-item> <el-button :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text" - @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button> + @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button> <el-button size="mini" type="primary" @click="refreshTable()">鏌ヨ</el-button> <el-button size="mini" @click="refresh()">閲嶇疆</el-button> </el-form-item> @@ -41,12 +41,18 @@ <div class="table-tab"> <div> <ul class="tab"> - <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">寰呭鏍�</li> - <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">妫�楠屼腑</li> - <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" @click="handleTab(2)">濮旀墭宸叉</li> - <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">鎶芥牱宸叉</li> - <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">閫�鍥�</li> - <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">鎾ら攢</li> + <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">寰呭鏍� + </li> + <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">妫�楠屼腑 + </li> + <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" + @click="handleTab(2)">濮旀墭宸叉</li> + <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)"> + 鎶芥牱宸叉</li> + <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">閫�鍥� + </li> + <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)"> + 鎾ら攢</li> <li :class="{ active: tabIndex === 6 }" v-if="checkPermi(['get:insOrder:all'])" @click="handleTab(6)">鍏ㄩ儴</li> </ul> </div> @@ -86,8 +92,8 @@ </el-dialog> <!-- 鎾ら攢 --> <el-dialog :before-close="handleClose" :visible.sync="quashDialogVisible" title="涓嬪崟鎾ら攢" width="30%"> - <p v-if="!isQuash" style="font-size:16px;color:#333333">濮旀墭缂栧彿<span - style="color:#34BD66">{{ this.insOrderRow.entrustCode }}</span>鐨勪俊鎭槸鍚︽挙閿�</p> + <p v-if="!isQuash" style="font-size:16px;color:#333333">濮旀墭缂栧彿<span style="color:#34BD66">{{ + this.insOrderRow.entrustCode }}</span>鐨勪俊鎭槸鍚︽挙閿�</p> <el-form v-else ref="ruleForm" :label-position="labelPosition" :model="formData" label-width="150px"> <el-form-item label="璇疯緭鍏ユ挙閿�鍘熷洜锛�"> <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input> @@ -105,7 +111,7 @@ </span> </el-dialog> <!-- 涓嬪彂 --> - <el-dialog :before-close="handleClose" :visible.sync="issuedDialogVisible" title="妫�楠屽垎閰�" width="400px"> + <!-- <el-dialog :before-close="handleClose" :visible.sync="issuedDialogVisible" title="妫�楠屽垎閰�" width="400px"> <div class="body" style="max-height: 60vh;"> <el-row> <el-col class="search_thing" style="width: 95%;"> @@ -145,7 +151,7 @@ <el-button :loading="upLoad" type="primary" @click="submitForm2">纭� 瀹�</el-button> </el-row> </span> - </el-dialog> + </el-dialog> --> <el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%" @close="closeDia"> <div v-if="dataDialogVisible"> <lims-table :tableData="tableDataLook" :column="tableDataLookColumn" @pagination="tableDataLookPagination" @@ -168,7 +174,8 @@ <span slot="footer" class="dialog-footer"> <el-row> <el-button @click="handleNo">{{ deleteTilte == '鎾ら攢' ? '鍙� 娑�' : '涓嶉�氳繃' }}</el-button> - <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '鎾ら攢' ? '纭� 瀹�' : '閫氳繃'}}</el-button> + <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '鎾ら攢' ? '纭� 瀹�' : + '閫氳繃' }}</el-button> </el-row> </span> </el-dialog> @@ -263,8 +270,8 @@ <el-row style="margin-top: 0.01cm;font-size: 0.20cm;"> <el-col style="display: flex;align-items: center;"><span>鏍峰搧鐘舵��: </span> - <span style="white-space: nowrap;"><span v-if="item.insState == 0">鈭�</span><span v-if="item.insState != 0" - class="scor"></span>寰呮 + <span style="white-space: nowrap;"><span v-if="item.insState == 0">鈭�</span><span + v-if="item.insState != 0" class="scor"></span>寰呮 <span v-if="item.insState == 1">鈭�</span><span v-if="item.insState != 1" class="scor"></span>鍦ㄦ <span v-if="item.insState == 2">鈭�</span><span v-if="item.insState != 2" class="scor"></span>宸叉 <span v-if="item.isLeave == 1">鈭�</span><span v-if="item.isLeave != 1" class="scor"></span>鐣欐牱</span> @@ -293,6 +300,7 @@ @closePrintDialog="closePrintDialog"></print-dialog> <!--娣诲姞閬楁紡妫�楠岄」寮规--> <add-inspection-dia v-if="addInspectionDia" ref="addInspectionDia"></add-inspection-dia> + <issuedDialog ref="issuedDialog" /> <!-- <Inspection v-if="state>0" :key="InspectionKey" :inspectorList="inspectorList" :orderId="orderId"--> <!-- :sonLaboratory="sonLaboratory" :state="state"--> <!-- :typeSource="typeSource" @goback="goback" @refreshView="refreshView"/>--> @@ -305,6 +313,7 @@ import PrintDialog from "@/views/business/productOrder/components/printDialog.vue"; import AddInspectionDia from "@/views/business/productOrder/components/addInspectionDia.vue"; import limsTable from "@/components/Table/lims-table.vue"; +import issuedDialog from './components/issuedDialog.vue' import { checkUpdate, delInsOrder, rawAllInsOrderExport, @@ -314,14 +323,15 @@ } from "@/api/business/productOrder"; import { selectUserCondition } from "@/api/performance/class"; import { downFile, getFileList, selectSampleAndProductByOrderId } from "@/api/business/rawMaterialOrder"; -import {mapGetters} from "vuex"; +import { mapGetters } from "vuex"; export default { name: 'ProductOrder', components: { limsTable, AddInspectionDia, PrintDialog, - vueQr + vueQr, + issuedDialog }, data() { return { @@ -498,7 +508,7 @@ this.handleIssued(row); }, disabled: (row, index) => { - return row.state != 1 || !!row.assign + return row.state != 1 }, showHide: (row) => { return this.tabIndex === 1 @@ -600,6 +610,7 @@ } } }, + { label: "妫�楠屼汉", prop: "checkUserName" }, ], filesDialogVisible: false, // 闄勪欢鏌ョ湅寮规 tableDataFile: [], @@ -666,7 +677,7 @@ entrustCodeInfo: {}, submitCodeLoading: false, // 浜哄憳鍒楄〃 - personList: [], + // personList: [], orderId: '', revocationInsProductIds: '', componentDataDelete: [], @@ -753,7 +764,7 @@ }, mounted() { this.refreshTable() - this.getAuthorizedPerson() + // this.getAuthorizedPerson() }, activated() { this.refreshTable() @@ -772,7 +783,7 @@ } const params = { ...this.entity, state: this.tabList[this.tabIndex].value } this.tableLoading = true - selectInsOrderParameter({...this.page,...params}).then(res => { + selectInsOrderParameter({ ...this.page, ...params }).then(res => { this.upIndex++ this.tableLoading = false if (res.code === 200) { @@ -914,18 +925,18 @@ this.printDialog = false }, // 鑾峰彇鎸囨淳浜哄憳涓嬫媺鍒楄〃 - getAuthorizedPerson() { - selectUserCondition({ type: 1 }).then(res => { - let data = [] - res.data.forEach(a => { - data.push({ - label: a.name, - value: a.id - }) - }) - this.personList = data - }) - }, + // getAuthorizedPerson() { + // selectUserCondition({ type: 1 }).then(res => { + // let data = [] + // res.data.forEach(a => { + // data.push({ + // label: a.name, + // value: a.id + // }) + // }) + // this.personList = data + // }) + // }, handleClose() { this.verifyDialogVisible = false; this.quashDialogVisible = false; @@ -974,7 +985,7 @@ this.tableDataLookPage.size = page.limit this.getDataTableList(this.currentRow) }, - closeDia () { + closeDia() { this.tableDataLookPage = { total: 0, size: 20, @@ -1016,8 +1027,8 @@ // 涓嬭浇鎶ュ憡 download(row) { let url = row.urlS ? row.urlS : row.url; - if(url){ - url = url.split('.')[0]+'.pdf' + if (url) { + url = url.split('.')[0] + '.pdf' const link = document.createElement('a'); link.href = this.javaApi + url; link.target = '_blank'; @@ -1104,28 +1115,29 @@ }, // 涓嬪彂 handleIssued(row) { - this.issuedDialogVisible = true; - selectOrderManDay({ - id: row.id - }).then(res => { - this.distributeData.orderId = row.id - this.distributeData.sampleId = row.sampleId - this.distributeData.appointed = res.data - this.distributeData.type = row.type - }) - upPlanUser2({ - orderId: row.id, - }).then(res => { - if (res.code === 200 && res.data.length > 0) { - this.sonLaboratoryList = []; - res.data.forEach(m => { - this.sonLaboratoryList.push({ - value: m, - label: m - }) - }) - } - }) + // this.issuedDialogVisible = true; + this.$refs.issuedDialog.init(row) + // selectOrderManDay({ + // id: row.id + // }).then(res => { + // this.distributeData.orderId = row.id + // this.distributeData.sampleId = row.sampleId + // this.distributeData.appointed = res.data + // this.distributeData.type = row.type + // }) + // upPlanUser2({ + // orderId: row.id, + // }).then(res => { + // if (res.code === 200 && res.data.length > 0) { + // this.sonLaboratoryList = []; + // res.data.forEach(m => { + // this.sonLaboratoryList.push({ + // value: m, + // label: m + // }) + // }) + // } + // }) }, submitForm2() { if (this.distributeData.appointed == null || this.distributeData.appointed == '') { diff --git a/src/views/statisticalCharts/itemInspectionAnalysis/index.vue b/src/views/statisticalCharts/itemInspectionAnalysis/index.vue index 315bd84..39c9d7d 100644 --- a/src/views/statisticalCharts/itemInspectionAnalysis/index.vue +++ b/src/views/statisticalCharts/itemInspectionAnalysis/index.vue @@ -3,16 +3,8 @@ <div v-if="!isShowDataCom"> <el-form ref="entity" size="small" :inline="true"> <el-form-item style="width: 16%;"> - <el-date-picker - v-model="datePicker" - end-placeholder="缁撴潫鏃ユ湡" - format="yyyy-MM-dd" - placeholder="閫夋嫨鏃ユ湡" - range-separator="鑷�" - size="small" - start-placeholder="寮�濮嬫棩鏈�" - style="width: 100%;" - type="daterange" + <el-date-picker v-model="datePicker" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" + range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" style="width: 100%;" type="daterange" value-format="yyyy-MM-dd"> </el-date-picker> </el-form-item> @@ -26,13 +18,9 @@ <el-input v-model="supplierName" clearable placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" size="small"></el-input> </el-form-item> <el-form-item label="妫�楠岄」鍚嶇О" prop="supplierName"> - <el-select v-model="itemNames" :loading="selectLoading" clearable multiple placeholder="璇烽�夋嫨" - size="small" style="width: 90%;" @focus="getItemList"> - <el-option - v-for="item in itemNamesList" - :key="item.value" - :label="item.label" - :value="item.value"> + <el-select v-model="itemNames" :loading="selectLoading" clearable multiple placeholder="璇烽�夋嫨" size="small" + style="width: 90%;" @focus="getItemList"> + <el-option v-for="item in itemNamesList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> @@ -49,10 +37,8 @@ <div>鍘熸潗鏂欓」妫�鍒嗘瀽鍒楄〃</div> <el-button size="small" type="primary" @click="openShowData">鏌ョ湅鏁版嵁鍒嗘瀽</el-button> </div> - <lims-table :tableData="editTableData" :column="editColumn" - height="400" key="tableData" :isSelection="true" - :handleSelectionChange="handleSelectionChange" - :tableLoading="editLoading"></lims-table> + <lims-table :tableData="editTableData" :column="editColumn" height="400" key="tableData" :isSelection="true" + :handleSelectionChange="handleSelectionChange" :tableLoading="editLoading"></lims-table> </div> </el-col> </el-row> @@ -60,14 +46,9 @@ <el-col :span="6" style="padding-top: 14px"> <div style="display: flex;margin-left: 10px;align-items: center"> <span style="width: 100px">鍒嗙粍绫诲瀷锛�</span> - <el-select v-model="groupType" clearable placeholder="璇烽�夋嫨" - size="small" - style="width: 90%;" @change="getBarInfo"> - <el-option - v-for="item in groupTypeList" - :key="item.value" - :label="item.label" - :value="item.value"> + <el-select v-model="groupType" clearable placeholder="璇烽�夋嫨" size="small" style="width: 90%;" + @change="getBarInfo"> + <el-option v-for="item in groupTypeList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </div> @@ -77,16 +58,8 @@ <el-col :span="24"> <div class="inspection-card"> <div class="title">妫�楠岄」鏁版嵁瀵规瘮</div> - <Echarts ref="chart" - :chartStyle="chartStyle" - :dataset="dataset" - :grid="grid" - :options="echartsOptions" - :series="echartsSeries" - :tooltip="tooltip" - :xAxis="xAxis" - :yAxis="yAxis" - style="height: 40vh;"></Echarts> + <Echarts ref="chart" :chartStyle="chartStyle" :dataset="dataset" :grid="grid" :options="echartsOptions" + :series="echartsSeries" :tooltip="tooltip" :xAxis="xAxis" :yAxis="yAxis" style="height: 40vh;"></Echarts> </div> </el-col> </el-row> @@ -94,29 +67,21 @@ <el-col :span="24"> <div class="inspection-card"> <div class="title">鍘熸潗鏂欓」妫�鍚堟牸鐜�</div> - <Echarts ref="chart" - :chartStyle="chartStyle" - :dataset="dataset1" - :grid="grid" - :options="echartsOptions1" - :series="echartsSeries1" - :tooltip="tooltip" - :xAxis="xAxis" - :yAxis="yAxis1" - style="height: 40vh;"></Echarts> + <Echarts ref="chart" :chartStyle="chartStyle" :dataset="dataset1" :grid="grid" :options="echartsOptions1" + :series="echartsSeries1" :tooltip="tooltip" :xAxis="xAxis" :yAxis="yAxis1" style="height: 40vh;"> + </Echarts> </div> </el-col> </el-row> </div> <el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%"> <div v-if="dataDialogVisible" style="height: 70vh;overflow-y: auto;"> - <lims-table :tableData="tableData" :column="column" - @pagination="pagination" key="tableData" - :page="page" :tableLoading="tableLoading"></lims-table> + <lims-table :tableData="tableData" :column="column" @pagination="pagination" key="tableData" :page="page" + :tableLoading="tableLoading"></lims-table> </div> </el-dialog> - <DataComparison v-if="isShowDataCom" :comparisonData="comparisonData" - :selectRow="selectRow" @goBack="goBack"></DataComparison> + <DataComparison v-if="isShowDataCom" :comparisonData="comparisonData" :selectRow="selectRow" @goBack="goBack"> + </DataComparison> </div> </template> @@ -130,20 +95,20 @@ getRawProductAnalysisAllList, getRawProductAnalysisRawPass, getRawSupplierCompare } from "@/api/statisticalCharts/dataAnalysis"; -import {selectSampleAndProductByOrderId} from "@/api/business/rawMaterialOrder"; +import { selectSampleAndProductByOrderId } from "@/api/business/rawMaterialOrder"; export default { name: "ItemInspectionAnalysis", // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� - components: {limsTable, Echarts, DataComparison}, + components: { limsTable, Echarts, DataComparison }, data() { // 杩欓噷瀛樻斁鏁版嵁 return { selectChangeRows: [], // 閫変腑鐨勬暟鎹� groupTypeList: [ - {label: '鏍峰搧', value: '0'}, - {label: '鍚屼竴鍘傚, 鍚屼竴鍨嬪彿, 涓嶅悓鎵规', value: '1'}, - {label: '鍚屼竴鍨嬪彿, 涓嶅悓鍘傚', value: '2'}, + { label: '鏍峰搧', value: '0' }, + { label: '鍚屼竴鍘傚, 鍚屼竴鍨嬪彿, 涓嶅悓鎵规', value: '1' }, + { label: '鍚屼竴鍨嬪彿, 涓嶅悓鍘傚', value: '2' }, ], itemNames: [], // 妫�楠岄」鍚嶇О itemNamesList: [], @@ -241,15 +206,15 @@ label: '鏍峰搧鍨嬪彿', minWidth: '300px', prop: 'sampleModel' - },{ + }, { label: '涓嬪彂鏃堕棿', minWidth: '120px', prop: 'sendTime' - },{ + }, { label: '鎶佃揪鐨勯噰璐暟閲�', minWidth: '130px', prop: 'qtyArrived' - },{ + }, { label: '鍗曚綅', minWidth: '120px', prop: 'buyUnitMeas' @@ -276,17 +241,17 @@ tableData: [], tableLoading: false, column: [ - {label: '鏍峰搧缂栧彿', prop: 'sampleCode'}, - {label: '鏍峰搧鍚嶇О', prop: 'sample'}, - {label: '妫�楠岄」鍒嗙被', prop: 'inspectionItemClass'}, - {label: '妫�楠岄」', prop: 'inspectionItem'}, - {label: '妫�楠屽瓙椤�', prop: 'inspectionItemSubclass'}, - {label: '鍗曚綅', prop: 'unit'}, - {label: '鏍峰搧鍨嬪彿', prop: 'model'}, - {label: '鏉′欢', prop: 'radius'}, - {label: '鐢电紗鏍囪瘑', prop: 'cableTag'}, - {label: '璇曢獙瑕佹眰', prop: 'tell'}, - {label: '妫�楠岀粨鏋�', prop: 'lastValue'}, + { label: '鏍峰搧缂栧彿', prop: 'sampleCode' }, + { label: '鏍峰搧鍚嶇О', prop: 'sample' }, + { label: '妫�楠岄」鍒嗙被', prop: 'inspectionItemClass' }, + { label: '妫�楠岄」', prop: 'inspectionItem' }, + { label: '妫�楠屽瓙椤�', prop: 'inspectionItemSubclass' }, + { label: '鍗曚綅', prop: 'unit' }, + { label: '鏍峰搧鍨嬪彿', prop: 'model' }, + { label: '鏉′欢', prop: 'radius' }, + { label: '鐢电紗鏍囪瘑', prop: 'cableTag' }, + { label: '璇曢獙瑕佹眰', prop: 'tell' }, + { label: '妫�楠岀粨鏋�', prop: 'lastValue' }, { dataType: 'tag', label: '缁撴灉鍒ゅ畾', @@ -309,16 +274,17 @@ return 'danger' } else if (params == 3) { return '' - } else { + } else { return null } } - } + }, + { label: "妫�楠屼汉", prop: "checkUserName" }, ], page: { - total:0, - size:10, - current:1 + total: 0, + size: 10, + current: 1 }, currentRow: {}, isShowDataCom: false, @@ -331,7 +297,7 @@ }, // 鏂规硶闆嗗悎 methods: { - getBarInfo (val) { + getBarInfo(val) { if (val === '1') { if (!this.modelName || !this.supplierName) { this.$message.warning('鍨嬪彿鎴栦緵搴斿晢涓嶈兘涓虹┖') @@ -371,10 +337,12 @@ return } for (let i = 0; i < res.data.itemNames.length; i++) { - this.echartsSeries.push({type: 'line', label: { + this.echartsSeries.push({ + type: 'line', label: { show: true, position: 'top' - },}) + }, + }) } this.dataset.dimensions = this.HaveJson(res.data.itemNames) this.dataset.dimensions.unshift('product') @@ -399,15 +367,17 @@ return } for (let i = 0; i < res.data.itemNames.length; i++) { - this.echartsSeries1.push({type: 'line',tooltip: { + this.echartsSeries1.push({ + type: 'line', tooltip: { valueFormatter: function (value) { return value + '%'; } - },label: { + }, label: { show: true, position: 'top', formatter: (params) => params.value[params.dimensionNames[params.encode.y[0]]] + '%' - },}) + }, + }) } this.dataset1.dimensions = this.HaveJson(res.data.itemNames) this.dataset1.dimensions.unshift('product') @@ -423,7 +393,7 @@ }, // 鏌ヨ鍥炶皟 refreshTable(row) { - selectSampleAndProductByOrderId({id: row.id, ...this.page}).then(res => { + selectSampleAndProductByOrderId({ id: row.id, ...this.page }).then(res => { this.tableLoading = false if (res.code === 200) { this.tableData = res.data.records @@ -433,11 +403,11 @@ this.tableLoading = false }) }, - pagination (page) { + pagination(page) { this.page.size = page.limit this.refreshTable(this.currentRow) }, - changeData () { + changeData() { if (this.datePicker !== null && this.datePicker.length > 0) { this.beginDate = this.datePicker[0] + ' 00:00:00' this.endDate = this.datePicker[1] + ' 23:59:59' @@ -449,7 +419,7 @@ this.getBar1() this.getTableData() }, - getTableData () { + getTableData() { this.editLoading = true const params = { beginDate: this.beginDate, @@ -467,7 +437,7 @@ }) }, // 鑾峰彇妫�楠岄」涓嬫媺妗� - getItemList () { + getItemList() { this.selectLoading = true this.itemNamesList = [] const params = { @@ -490,10 +460,10 @@ this.selectLoading = false }) }, - goBack () { + goBack() { this.isShowDataCom = false }, - openShowData () { + openShowData() { if (this.selectChangeRows.length !== 5) { this.$message.warning('璇烽�夋嫨5鏉℃暟鎹�') return @@ -520,7 +490,7 @@ this.isShowDataCom = true }) }, - handleSelectionChange (val) { + handleSelectionChange(val) { this.selectChangeRows = val }, }, @@ -528,7 +498,7 @@ </script> <style scoped> -.inspection-card{ +.inspection-card { width: 100%; margin-top: 10px; } diff --git a/src/views/structural/capabilityAndLaboratory/capability/index.vue b/src/views/structural/capabilityAndLaboratory/capability/index.vue index f184385..cbb2b79 100644 --- a/src/views/structural/capabilityAndLaboratory/capability/index.vue +++ b/src/views/structural/capabilityAndLaboratory/capability/index.vue @@ -283,7 +283,7 @@ this.bindPartFirst(row); }, disabled: (row) => { - return row.product + return !!row.product } }, { -- Gitblit v1.9.3