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/inspectionTask/index.vue | 93 +++++++++++++++++++++++----------------------- 1 files changed, 46 insertions(+), 47 deletions(-) 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; -- Gitblit v1.9.3