From dab59f7624a2fb8d4114bb67b554ff09d91f810c Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期四, 10 四月 2025 13:07:36 +0800 Subject: [PATCH] Merge branch 'radio-frequency-cable' of http://114.132.189.42:9002/r/lims-ruoyi-before into radio-frequency-cable --- src/views/business/inspectionTask/index.vue | 191 +++++++++++++++++++---------------------------- 1 files changed, 77 insertions(+), 114 deletions(-) diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue index 5cdde1c..9c622a9 100644 --- a/src/views/business/inspectionTask/index.vue +++ b/src/views/business/inspectionTask/index.vue @@ -1,75 +1,62 @@ <template> - <div class="ins-order-plan-main"> + <div class="app-container"> <div style="height: 100%"> <div class="search"> - <div class="search_thing"> - <div class="search_label">濮旀墭缂栧彿锛�</div> - <div class="search_input"> + <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> - </div> - </div> - <div class="search_thing"> - <div class="search_label">妫�楠岀姸鎬侊細</div> - <div class="search_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> </el-select> - </div> - </div> - <div class="search_thing" style="padding-left: 30px"> - <el-button size="small" @click="refresh()">閲� 缃�</el-button> - <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> - </div> + </el-form-item> + <el-form-item> + <el-button size="mini" type="primary" @click="refreshTable()">鏌ヨ</el-button> + <el-button size="mini" @click="refresh()">閲嶇疆</el-button> + </el-form-item> + </el-form> </div> <div class="center"> <div class="center-options"> - <el-row> - <el-col :span="21"> - <div style="display: flex; align-items: center"> - <span style="font-size: 14px">璇曢獙瀹ょ绫�:</span> - <ul class="tab"> - <li v-for="(m, i) in tabList" :key="i" :class="{ active: i == tabIndex }" @click="handleTab(m, i)"> - {{ m.label.replace("璇曢獙瀹�", "") }} - </li> - </ul> - <div> - <el-checkbox v-model="alone" class="view-self-checkbox" - @change="changeCheckBox"><span>鎴戠殑浠诲姟</span></el-checkbox> - </div> - </div> - </el-col> - <el-col :span="3"> - <div class="center-title"> - <span>鎬昏浠诲姟鏁伴噺:</span> - <span>{{ page.total }}</span> - </div> - </el-col> - </el-row> + <div style="display: flex; align-items: center"> + <span style="font-size: 14px">璇曢獙瀹ょ绫�:</span> + <ul class="tab"> + <li v-for="(m, i) in tabList" :key="i" :class="{ active: i == tabIndex }" @click="handleTab(m, i)"> + {{ m.label.replace("璇曢獙瀹�", "") }} + </li> + </ul> + <div> + <el-checkbox v-model="alone" class="view-self-checkbox" + @change="changeCheckBox"><span>鎴戠殑浠诲姟</span></el-checkbox> + </div> + </div> + <div class="center-title"> + <span>鎬昏浠诲姟鏁伴噺:</span> + <span>{{ page.total }}</span> + </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)" v-if="tabIndex != 0">浜ゆ帴</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> @@ -77,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> @@ -102,8 +88,8 @@ </div> <el-dialog :visible.sync="claimVisible" title="鎻愮ず" width="400px"> 鏄惁璁ら濮旀墭缂栧彿<span style="color: #33c130">{{ - sampleUserForm.entrustCode - }}</span>鐨勪换鍔� + sampleUserForm.entrustCode + }}</span>鐨勪换鍔� <span slot="footer" class="dialog-footer"> <el-button @click="claimVisible = false">鍙� 娑�</el-button> <el-button :loading="loading" type="primary" @click="confirmClaim">纭� 瀹�</el-button> @@ -165,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"> @@ -181,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"> @@ -207,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"> @@ -222,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> @@ -247,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 { @@ -266,6 +253,7 @@ }, data() { return { + workShopId: null, issuedVisible: false, fullscreen: false, lookDialogVisible: false, @@ -343,7 +331,7 @@ }, { value: "Quarterly inspection", - label: "瀛e害妫�楠�", + label: "鍙潬鎬ф楠�", type: "warning", effect: "plain", }, @@ -509,6 +497,7 @@ } }, }, + { label: "妫�楠屼汉", prop: "checkUserName" }, { dataType: "action", fixed: "right", @@ -521,7 +510,7 @@ this.getRetestResultInfo(row); }, disabled: (row) => { - return row.insResult!=0 + return row.insResult != 0 }, }, { @@ -649,7 +638,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'; @@ -683,7 +672,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, @@ -791,6 +780,7 @@ } this.inspectorList = inspectorList; this.sonLaboratory = row.sonLaboratory; + this.workShopId = row.workShopId; this.state = 1; this.typeSource = row.typeSource; this.orderId = row.id; @@ -802,6 +792,7 @@ state: this.state, typeSource: this.typeSource, orderId: this.orderId, + workShopId: row.workShopId }, }); }, @@ -897,13 +888,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 }, // 缁戝畾妫�楠岄」缁戝畾 @@ -972,7 +963,7 @@ }); }); }, - beforeUpload (file) { + beforeUpload(file) { if (file.size > 1024 * 1024 * 10) { this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M'); this.$refs.upload.clearFiles() @@ -1000,14 +991,6 @@ }; </script> <style scoped> -.search { - background-color: #fff; - height: 40px; - display: flex; - align-items: center; - margin-top: 20px; -} - .search_thing { display: flex; align-items: center; @@ -1022,20 +1005,6 @@ .search_input { width: calc(100% - 120px); -} - -.ins-order-plan-main .search { - width: 100%; - height: 40px; - background-color: #fff; - border-radius: 3px; -} - -.ins-order-plan-main .center { - background-color: #fff; - border-radius: 3px; - padding: 20px; - padding-top: 0px; } .tab { @@ -1066,11 +1035,10 @@ color: #3a7bfa; } -.center .center-options .center-title { - width: 100%; +.center-options { display: flex; align-items: center; - justify-content: right; + justify-content: space-between; } .center .center-options .center-title span:last-child { @@ -1081,10 +1049,5 @@ .view-self-checkbox { margin-left: 50px; -} -</style> -<style> -.ins-order-plan-main .el-form-item__label { - color: #000; } </style> -- Gitblit v1.9.3