From 037a7112a2bc9e38bb2f398ff5ca740ac01a8fb2 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期四, 20 二月 2025 10:21:05 +0800 Subject: [PATCH] 检验任务搬迁30% --- src/views/business/inspectionTask/index.vue | 1008 +++++++++++++++++++++++----------------------------------- 1 files changed, 406 insertions(+), 602 deletions(-) diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue index 80b4a18..6dccaa2 100644 --- a/src/views/business/inspectionTask/index.vue +++ b/src/views/business/inspectionTask/index.vue @@ -1,14 +1,10 @@ <style scoped> -.ins-order-plan-main .title { - font-size: 20px; - color: #3a7bfa; -} - .search { background-color: #fff; - height: 80px; + height: 40px; display: flex; align-items: center; + margin-top: 20px; } .search_thing { @@ -18,7 +14,7 @@ } .search_label { - width: 120px; + width: 100px; font-size: 14px; text-align: right; } @@ -29,39 +25,27 @@ .ins-order-plan-main .search { width: 100%; - margin-bottom: 10px; - height: 80px; + height: 40px; background-color: #fff; border-radius: 3px; -} - -.search .form-inline { - height: 50px; - padding-top: 20px; - padding-left: 50px; } .ins-order-plan-main .center { - width: calc(100% - 40px); - height: calc(100% - 60px - 80px - 40px); background-color: #fff; border-radius: 3px; padding: 20px; -} - -.ins-order-plan-main .center .value-table { - width: 100%; - height: calc(100% - 68px); + padding-top: 0px; } .tab { list-style-type: none; display: flex; + padding-left: 6px; } .tab li { line-height: 24px; - padding: 6px 14px; + padding: 4px 10px; font-size: 14px; color: #333333; border: 1px solid #eeeeee; @@ -102,133 +86,68 @@ .ins-order-plan-main .el-form-item__label { color: #000; } - -.ins-order-plan-main .el-table th.el-table__cell > .cell { - height: 46px; - line-height: 30px; -} </style> <template> <div class="ins-order-plan-main"> - <div v-show="activeFace == 0 && state == 0" style="height: 100%"> - <p - style=" - font-size: 16px; - padding-left: 20px; - text-align: left; - height: 60px; - line-height: 60px; - " - > - 妫�楠屼换鍔� - </p> + <div v-show="activeFace == 0" style="height: 100%"> <div class="search"> <div class="search_thing"> <div class="search_label">濮旀墭缂栧彿锛�</div> <div class="search_input"> - <el-input - v-model="componentData.entity.entrustCode" - clearable - placeholder="璇疯緭鍏�" - size="small" - @keyup.enter.native="refreshTable()" - ></el-input> + <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-select - v-model="componentData.entity.insState" - size="small" - style="width: 100%" - @change="refreshTable()" - > - <el-option - v-for="(a, i) in insStateList" - :key="i" - :label="a.label" - :value="a.value" - ></el-option> + <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">--> - <!-- <div class="search_label">涓嬪崟绫诲埆锛�</div>--> - <!-- <div class="search_input">--> - <!-- <el-select v-model="componentData.entity.typeSource" clearable size="small" style="width: 100%;" @change="refreshTable()">--> - <!-- <el-option v-for="(a, i) in typeSourceList" :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 - > + <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> </div> </div> <div class="center"> <div class="center-options"> <el-row> <el-col :span="21"> - <div - style="display: flex; align-items: center; margin-bottom: 10px" - > - <span style="margin-right: 8px">璇曢獙瀹ょ绫�:</span> + <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)" - > + <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 - > + <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 v-if="$refs.insOrderPlan != undefined">{{ - $refs.insOrderPlan.total - }}</span> + <span>{{ page.total }}</span> </div> </el-col> </el-row> </div> - <ValueTable - :key="upIndex" - ref="insOrderPlan" - :componentData="componentData" - :isColumnWidth="true" - :tableRowClassName="changeRowClass" - :upUrl="$api.user.updateUser" - :url="$api.insOrderPlan.selectInsOrderPlanList" - class="value-table" - @handleInspection="handleInspection" - /> + <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" + :height="'calc(100vh - 300px)'" @pagination="pagination" key="tableData0"></lims-table> </div> </div> <el-dialog :visible.sync="claimVisible" title="鎻愮ず" width="400px"> 鏄惁璁ら濮旀墭缂栧彿<span style="color: #33c130">{{ sampleUserForm.entrustCode - }}</span - >鐨勪换鍔� + }}</span>鐨勪换鍔� <span slot="footer" class="dialog-footer"> <el-button @click="claimVisible = false">鍙� 娑�</el-button> - <el-button :loading="loading" type="primary" @click="confirmClaim" - >纭� 瀹�</el-button - > + <el-button :loading="loading" type="primary" @click="confirmClaim">纭� 瀹�</el-button> </span> </el-dialog> <el-dialog :visible.sync="connectVisible" title="妫�楠屼氦鎺�" width="400px"> @@ -237,18 +156,8 @@ <span class="required-span">* </span>浜ゆ帴浜哄憳锛� </div> <div class="search_input"> - <el-select - v-model="connect.connectPerson" - filterable - placeholder="璇烽�夋嫨" - style="width: 100%" - > - <el-option - v-for="item in personList" - :key="item.value" - :label="item.label" - :value="item.value" - > + <el-select v-model="connect.connectPerson" filterable placeholder="璇烽�夋嫨" style="width: 100%"> + <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </div> @@ -258,39 +167,21 @@ <span class="required-span">* </span>璇曢獙瀹わ細 </div> <div class="search_input"> - <el-select - v-model="connect.sonLaboratory" - filterable - placeholder="璇烽�夋嫨" - style="width: 100%" - > - <el-option - v-for="item in sonLaboratoryList" - :key="item.value" - :label="item.label" - :value="item.value" - > + <el-select v-model="connect.sonLaboratory" filterable placeholder="璇烽�夋嫨" style="width: 100%"> + <el-option v-for="item in sonLaboratoryList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="connectVisible = false">鍙� 娑�</el-button> - <el-button :loading="loading" type="primary" @click="confirmConnect" - >纭� 瀹�</el-button - > + <el-button :loading="loading" type="primary" @click="confirmConnect">纭� 瀹�</el-button> </span> </el-dialog> - <div - v-if="activeFace > 0 && isCopper == null" - style="width: 100%; height: 100%" - > + <div v-if="activeFace > 0 && isCopper == null" style="width: 100%; height: 100%"> <!-- <Add :active="activeFace" :currentId="currentId" :examine="examine" /> --> </div> - <div - v-if="activeFace > 0 && isCopper == 0" - style="width: 100%; height: 100%" - > + <div v-if="activeFace > 0 && isCopper == 0" style="width: 100%; height: 100%"> <!-- <CustomsInspection :active="activeFace" :currentId="currentId" @@ -298,10 +189,7 @@ :isReport="isReport" /> --> </div> - <div - v-if="activeFace > 0 && isCopper == 1" - style="width: 100%; height: 100%" - > + <div v-if="activeFace > 0 && isCopper == 1" style="width: 100%; height: 100%"> <!-- <CopperOrder :active="activeFace" :currentId="currentId"></CopperOrder> --> </div> <!--<Inspection @@ -317,43 +205,23 @@ />--> <el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%"> <div v-if="dataDialogVisible" style="height: 70vh; overflow-y: auto"> - <ValueTable - ref="ValueTableDataLook" - :componentData="componentDataDataLook" - :rowKey="'insProductId'" - :url="$api.insOrder.selectSampleAndProductByOrderId" - /> + <lims-table :tableData="lookTableData" :column="lookColumn" :page="lookPage" :tableLoading="lookTableLoading" + :height="'60vh'" @pagination="lookPagination" key="tableData1"></lims-table> </div> </el-dialog> - <el-dialog - :visible.sync="bindDialogVisible" - title="妫�楠岄」缁戝畾" - width="600px" - > - <div - slot="title" - style=" + <el-dialog :visible.sync="bindDialogVisible" title="妫�楠岄」缁戝畾" width="600px"> + <div slot="title" style=" display: flex; align-items: center; justify-content: space-between; - " - > + "> <span>妫�楠岄」缁戝畾</span> - <el-button - style="float: right; margin-left: 360px" - size="small" - @click="openBindAdd" - type="primary" - > + <el-button style="float: right; margin-left: 360px" size="small" @click="openBindAdd" type="primary"> 鏂板 </el-button> </div> <el-table :data="bindTableData" style="width: 100%" height="70vh"> - <el-table-column - prop="inspectionItemClass" - label="妫�楠岄」鍒嗙被" - width="150" - > + <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150"> </el-table-column> <el-table-column prop="inspectionItem" label="妫�楠岄」" width="150"> </el-table-column> @@ -361,30 +229,16 @@ </el-table-column> <el-table-column label="鎿嶄綔"> <template slot-scope="scope"> - <el-button size="mini" type="text" @click="handleDelete(scope.row)" - >鍒犻櫎</el-button - > + <el-button size="mini" type="text" @click="handleDelete(scope.row)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> </el-dialog> - <el-dialog - :visible.sync="bindAddDialogVisible" - title="閫夋嫨缁戝畾" - width="600px" - > - <el-table - :data="bindAddTableData" - style="width: 100%" - height="60vh" - @selection-change="handleBindAddSelectionChange" - > + <el-dialog :visible.sync="bindAddDialogVisible" title="閫夋嫨缁戝畾" width="600px"> + <el-table :data="bindAddTableData" style="width: 100%" height="60vh" + @selection-change="handleBindAddSelectionChange"> <el-table-column type="selection" width="55"> </el-table-column> - <el-table-column - prop="inspectionItemClass" - label="妫�楠岄」鍒嗙被" - width="150" - > + <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150"> </el-table-column> <el-table-column prop="inspectionItem" label="妫�楠岄」" width="150"> </el-table-column> @@ -393,17 +247,9 @@ </el-table> <span slot="footer" class="dialog-footer"> <el-button @click="bindAddDialogVisible = false">鍙� 娑�</el-button> - <el-button :loading="loading" type="primary" @click="bindAdd" - >缁� 瀹�</el-button - > + <el-button :loading="loading" type="primary" @click="bindAdd">缁� 瀹�</el-button> </span> </el-dialog> - <un-pass-retest-result - v-if="retestVisible" - :retestInfo="retestInfo" - :retestVisible="retestVisible" - @closeRetestLook="closeRetestLook" - ></un-pass-retest-result> <!--浜т笟閾句俊鎭煡鐪�--> <!-- <ShowInfo v-if="showInfoDialog" @@ -423,15 +269,34 @@ // import ShowInfo from "../do/b1-material-ins-order/showInfo.vue"; // import CopperOrder from "../do/b1-material-ins-order/copper-order.vue"; import EditInspectionItem from "./components/EditInspectionItem.vue"; +import limsTable from "@/components/Table/lims-table.vue"; +import { + claimInsOrderPlan, + upPlanUser2, + upPlanUser, + selectUserCondition, + getBindingProductByProductId, + getProductTreeByProductId, + bindingProductTreeByProductId, + delProductTreeByProductId, + selectInsOrderPlanList, + selectSampleAndProductByOrderId, +} from "@/api/business/inspectionTask.js"; +import { mapGetters } from "vuex"; export default { components: { EditInspectionItem, // CopperOrder, // ShowInfo, ValueTable, + limsTable, // Inspection, // Add, // CustomsInspection, + }, + dicts: ["urgency_level", "inspection_task_state"], + computed: { + ...mapGetters(["nickName", "userId"]), }, data() { return { @@ -456,262 +321,7 @@ ], active: 1, tabIndex: 0, - componentDataDataLook: { - entity: { - id: 0, - orderBy: { - field: "sampleCode", - order: "asc", - }, - }, - isIndex: false, - showSelect: false, - select: false, - do: [ - { - id: "parent", - font: "涓嶅悎鏍煎娴嬫煡鐪�", - type: "text", - method: "getRetestResult", - disabFun: (row, index) => { - return row.insResult != 0; - }, - }, - { - id: "parent", - font: "妫�楠岄」缁戝畾", - type: "text", - method: "getBinding", - disabFun: (row, index) => { - return ( - this.lookInfo.userName == null || - this.lookInfo.insState == 3 || - this.lookInfo.insState == 5 - ); - }, - }, - ], - tagField: { - insState: { - select: [], - }, - insResult: { - select: [ - { - value: 1, - label: "鍚堟牸", - type: "success", - }, - { - value: 0, - label: "涓嶅悎鏍�", - type: "danger", - }, - { - value: 3, - label: "涓嶅垽瀹�", - type: "", - }, - ], - }, - }, - selectField: {}, - spanConfig: { - rows: [ - { - name: "sampleCode", - index: 0, - }, - { - name: "sample", - index: 1, - }, - { - name: "model", - index: 6, - }, - ], - }, - requiredAdd: [], - requiredUp: [], - }, dataDialogVisible: false, - componentData: { - entity: { - orderBy: { - field: "entrustCode", - order: "asc", - }, - sonLaboratory: null, - insState: null, - userId: null, - typeSource: null, - }, - isIndex: true, - showSelect: false, - select: false, - init: false, - needSort: ["createTime", "sendTime", "type", "appointed", "insState"], - do: [ - { - id: "", - font: "鏁版嵁鏌ョ湅", - type: "text", - method: "handleDataLook", - }, - { - id: "", - font: "淇敼妫�楠屽��", - type: "text", - method: "editInspection", - disabFun: (row, index) => { - return ( - row.userName == null || row.insState == 3 || row.insState == 5 - ); - }, - }, - { - id: "", - font: "妫�楠�", - type: "text", - method: "handleInspection", - disabFun: (row, index) => { - return ( - row.userName == null || - row.insState == 3 || - row.insState == 5 || - (row.userName && - !row.userName.includes( - JSON.parse(localStorage.getItem("user")).name - )) - ); - }, - }, - { - id: "", - font: "浜ゆ帴", - type: "text", - method: "handleConnect", - disabFun: (row, index) => { - return ( - row.userName == null || - row.insState == 5 || - row.insState == 3 || - (row.userName && - !row.userName.includes( - JSON.parse(localStorage.getItem("user")).name - )) - ); - }, - }, - // { - // font: '浜т笟閾�', - // type: 'text', - // method: 'openInfoDialog', - // disabFun: (row, index) => { - // return row.typeSource !== 1 - // } - // }, - // { - // id: '', - // font: '璁ら', - // type: 'text', - // method: 'claimFun', - // disabFun: (row, index) => { - // return row.userName != null || row.checkName!=null - // } - // }, - { - id: "", - font: "鍘熷璁板綍", - type: "text", - method: "viewInspectInfo", - }, - ], - linkEvent: { - entrustCode: { - method: "selectAllByOne", - }, - }, - tagField: { - type: { - select: [], - }, - insState: { - select: [], - }, - insResult: { - select: [ - { - value: 0, - label: "涓嶅悎鏍�", - type: "danger", - }, - { - value: 1, - label: "鍚堟牸", - type: "success", - }, - { - value: "", - label: "鏈嚭缁撴灉", - type: "info", - }, - ], - }, - typeSource: { - select: [ - { - value: 0, - label: "鎴愬搧涓嬪崟", - type: "info", - }, - { - value: 1, - label: "鍘熸潗鏂欎笅鍗�", - type: "info", - }, - { - value: 2, - label: "鍘熸潗鏂欎笅鍗�", - type: "info", - }, - ], - }, - orderType: { - select: [ - { - value: "Customer-ordered test", - label: "濮旀墭璇曢獙", - type: "success", - effect: "plain", - }, - { - value: "鎶芥", - label: "鎶芥", - type: "", - effect: "plain", - }, - { - value: "杩涘巶妫�楠�", - label: "杩涘巶妫�楠�", - type: "info", - effect: "plain", - }, - { - value: "Quarterly inspection", - label: "瀛e害妫�楠�", - type: "warning", - effect: "plain", - }, - ], - }, - }, - selectField: {}, - requiredAdd: [], - requiredUp: [], - }, - upIndex: 0, planTotal: 0, insStateList: [], state: 0, // 0:鍙拌处椤碉紝1锛氭楠岄〉闈�,2妫�楠岄〉闈�(澶嶆牳)锛岄粯璁や负0,3鏁版嵁鏌ョ湅 @@ -737,59 +347,318 @@ customsInspection: {}, showInfoDialog: false, // 浜т笟閾句俊鎭煡鐪� isReport: 0, - retestVisible: false, retestInfo: [], isCopper: null, bindCurrentInfo: {}, lookInfo: {}, + orderTypeList: [ + { + value: "Customer-ordered test", + label: "濮旀墭璇曢獙", + type: "success", + effect: "plain", + }, + { + value: "鎶芥", + label: "鎶芥", + type: "", + effect: "plain", + }, + { + value: "杩涘巶妫�楠�", + label: "杩涘巶妫�楠�", + type: "info", + effect: "plain", + }, + { + value: "Quarterly inspection", + label: "瀛e害妫�楠�", + type: "warning", + effect: "plain", + }, + ], + urgencyLevel: [], + inspectionTaskState: [], + tableData: [], + column: [ + { + label: "濮旀墭缂栧彿", + prop: "entrustCode", + width: "140px", + dataType: "link", + linkMethod: "selectAllByOne", + }, + { label: "鏍峰搧鍚嶇О", prop: "sample", width: "140px" }, + { + label: "涓嬪崟绫诲埆", + prop: "typeSource", + dataType: "tag", + formatData: (params) => { + if (params == 0) { + return "鎴愬搧涓嬪崟"; + } else { + return "鍘熸潗鏂欎笅鍗�"; + } + }, + }, + { label: "鏍峰搧鍨嬪彿", prop: "sampleModel", width: "120px" }, + { + label: "绱ф�ョ▼搴�", + prop: "type", + dataType: "tag", + formatData: (params) => { + return this.urgencyLevel.find((m) => m.value == params).label; + }, + }, + { + label: "妫�楠岀被鍨�", + prop: "orderType", + dataType: "tag", + formatData: (params) => { + return this.orderTypeList.find((m) => m.value == params).label; + }, + formatType: (params) => { + return this.orderTypeList.find((m) => m.value == params).type; + }, + }, + { + label: "鐘舵��", + prop: "insState", + dataType: "tag", + formatData: (params) => { + return this.inspectionTaskState.find((m) => m.value == params) + .label; + }, + formatType: (params) => { + return this.inspectionTaskState.find((m) => m.value == params).type; + }, + }, + { label: "妫�楠屼汉", prop: "userName" }, + { label: "澶嶆牳浜�", prop: "checkName" }, + { label: "绾﹀畾鏃堕棿", prop: "appointed" }, + { label: "涓嬪彂鏃堕棿", prop: "sendTime", width: "140px" }, + { label: "妫�楠屽紑濮嬫椂闂�", prop: "insTime", width: "140px" }, + { label: "鐞嗙敱", prop: "verifyTell", width: "140px" }, + { + dataType: "action", + fixed: "right", + label: "鎿嶄綔", + operation: [ + { + name: "鏁版嵁鏌ョ湅", + type: "text", + clickFun: (row) => { + this.handleDataLook(row); + }, + }, + { + name: "淇敼妫�楠屽��", + type: "text", + clickFun: (row) => { + this.editInspection(row); + }, + disabled: (row) => { + return ( + row.userName == null || row.insState == 3 || row.insState == 5 + ); + }, + }, + { + name: "妫�楠�", + type: "text", + clickFun: (row) => { + this.handleInspection(row); + }, + disabled: (row) => { + return ( + row.userName == null || + row.insState == 3 || + row.insState == 5 || + (row.userName && !row.userName.includes(this.nickName)) + ); + }, + }, + { + name: "浜ゆ帴", + type: "text", + clickFun: (row) => { + this.handleConnect(row); + }, + disabled: (row) => { + return ( + row.userName == null || + row.insState == 5 || + row.insState == 3 || + (row.userName && !row.userName.includes(this.nickName)) + ); + }, + }, + { + name: "鍘熷璁板綍", + type: "text", + clickFun: (row) => { + this.viewInspectInfo(row); + }, + }, + ], + }, + ], + page: { + total: 0, + size: 10, + current: 0, + }, + tableLoading: false, + queryParams: {}, + insResultList: [ + { + value: 1, + label: "鍚堟牸", + type: "success", + }, + { + value: 0, + label: "涓嶅悎鏍�", + type: "danger", + }, + { + value: 3, + label: "涓嶅垽瀹�", + type: "", + }, + ], + // 鏁版嵁鏌ョ湅鐩稿叧瀛楁---寮�濮� + lookTableData: [], + lookColumn: [ + { + label: "鏍峰搧缂栧彿", + prop: "sampleCode", + width: "140px", + mergeCol: true, //鍚堝苟鍒� + }, + { label: "鏍峰搧鍚嶇О", prop: "sample", width: "140px", mergeCol: true }, + { label: "妫�楠岄」鍒嗙被", prop: "inspectionItemClass" }, + { label: "妫�楠岄」", prop: "inspectionItem", width: "140px" }, + { label: "妫�楠屽瓙椤�", prop: "inspectionItemSubclass" }, + { label: "鍗曚綅", prop: "unit" }, + { label: "鏍峰搧鍨嬪彿", prop: "model", mergeCol: true }, + { label: "鏉′欢", prop: "radius" }, + { label: "鐢电紗鏍囪瘑", prop: "cableTag" }, + { label: "璇曢獙瑕佹眰", prop: "tell" }, + { label: "妫�楠岀粨鏋�", prop: "lastValue" }, + { + label: "缁撴灉鍒ゅ畾", + prop: "insResult", + dataType: "tag", + formatData: (params) => { + return this.insResultList.find((m) => m.value == params).label; + }, + formatType: (params) => { + return this.insResultList.find((m) => m.value == params).type; + }, + }, + { + dataType: "action", + fixed: "right", + label: "鎿嶄綔", + operation: [ + { + name: "妫�楠岄」缁戝畾", + type: "text", + clickFun: (row) => { + this.getBinding(row); + }, + disabled: (row) => { + return ( + this.lookInfo.userName == null || + this.lookInfo.insState == 3 || + this.lookInfo.insState == 5 + ); + }, + }, + ], + }, + ], + lookPage: { + total: 0, + size: 10, + current: 0, + }, + lookTableLoading: false, + // 鏁版嵁鏌ョ湅鐩稿叧瀛楁---缁撴潫 }; }, created() { - // this.getLaboratoryDicts() - this.getTypeDicts(); - this.getInsStateDicts(); this.getAuthorizedPerson(); this.currentTime = getYearAndMonthAndDays(); + this.getDicts("urgency_level").then((response) => { + this.urgencyLevel = this.dictToValue(response.data); + }); + this.getDicts("inspection_task_state").then((response) => { + this.inspectionTaskState = this.dictToValue(response.data); + }); }, mounted() { - this.entityCopy = this.HaveJson(this.componentData.entity); - let user = JSON.parse(localStorage.getItem("user")); - this.componentData.entity.userId = user.userId; - this.getPower(); + this.queryParams.userId = this.userId; + // this.getPower(); this.refreshTable(); }, methods: { + getList() { + this.tableLoading = true; + let param = { ...this.queryParams, ...this.page }; + delete param.total; + selectInsOrderPlanList({ ...param }) + .then((res) => { + this.tableLoading = false; + if (res.code === 200) { + this.tableData = res.data.records; + this.page.total = res.data.total; + } + }) + .catch((err) => { + this.tableLoading = false; + }); + }, + pagination({ page, limit }) { + this.page.current = page; + this.page.size = limit; + this.getList(); + }, + getLookList() { + this.lookTableLoading = true; + let param = { id: this.lookInfo.id, ...this.lookPage }; + delete param.total; + selectSampleAndProductByOrderId({ ...param }) + .then((res) => { + this.lookTableLoading = false; + if (res.code === 200) { + this.lookTableData = res.data.records; + this.lookPage.total = res.data.total; + this.dataDialogVisible = true; + } + }) + .catch((err) => { + this.lookTableLoading = false; + }); + }, + lookPagination({ page, limit }) { + this.lookPage.current = page; + this.lookPage.size = limit; + this.getLookList(); + }, // 淇敼妫�楠屽�� editInspection(row) { this.$refs.editInspectionItem.showDialog(row.id); }, // 鍒锋柊椤甸潰 refreshView() { - this.InspectionKey++; + this.getList(); }, // 鏁版嵁鏌ョ湅 handleDataLook(row) { this.lookInfo = row; - this.componentDataDataLook.entity.id = row.id; - this.dataDialogVisible = true; - }, - // 鏌ョ湅涓嶅悎鏍煎娴嬬粨鏋� - getRetestResult(row) { - this.$axios - .get( - this.$api.insOrder.getRetestResult + - "?insProductId=" + - row.insProductId - ) - .then((res) => { - if (res.code == 201) return; - this.retestVisible = true; - this.retestInfo = res.data; - }); - }, - // - closeRetestLook() { - this.retestVisible = false; + this.getLookList(); }, // 鏉冮檺鍒嗛厤 getPower(radio) { @@ -826,15 +695,19 @@ } }, changeCheckBox(val) { - this.componentData.entity.userId = val ? 0 : null; + this.queryParams.userId = val ? 0 : null; this.refreshTable(); }, refresh() { - this.componentData.entity = this.HaveJson(this.entityCopy); - let user = JSON.parse(localStorage.getItem("user")); - this.componentData.entity.userId = user.userId; + this.queryParams = {}; + this.queryParams.userId = this.userId; this.alone = true; this.refreshTable(); + }, + refreshTable(e) { + this.page.current = 1; + this.queryParams.typeSource = this.tabIndex; + this.getList(); }, // claimFun(row) { // if (row) { @@ -855,12 +728,7 @@ }, confirmClaim() { this.loading = true; - this.$axios - .post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, { - headers: { - "Content-Type": "application/json", - }, - }) + claimInsOrderPlan(this.sampleUserForm) .then((res) => { if (res.code === 200 && res.data) { this.loading = false; @@ -873,10 +741,6 @@ console.error(error); this.loading = false; }); - }, - refreshTable(e) { - this.componentData.entity.typeSource = this.tabIndex; - this.$refs.insOrderPlan.selectList(e); }, changeRowClass({ row, rowIndex }) { if (this.currentTime == row.appointed) { @@ -891,61 +755,21 @@ sampleName: null, state: null, }; - this.componentData.entity.insState = null; - this.componentData.entity.sampleName = null; + this.queryParams.insState = null; + this.queryParams.sampleName = null; this.refreshTable(); }, onSubmit() { - this.componentData.entity.insState = this.searchForm.state; - this.componentData.entity.sampleName = this.searchForm.sampleName; + this.queryParams.insState = this.searchForm.state; + this.queryParams.sampleName = this.searchForm.sampleName; this.$nextTick(() => { this.refreshTable(); }); }, handleTab(m, i) { this.tabIndex = i; - this.componentData.entity.sonLaboratory = ""; + this.queryParams.sonLaboratory = ""; this.refreshTable(); - }, - getTypeDicts() { - this.$axios - .post(this.$api.enums.selectEnumByCategory, { - category: "绱ф�ョ▼搴�", - }) - .then((res) => { - let data = res.data; - data.forEach((ele) => { - if (ele.value === "0") { - ele.type = "success"; - } else if (ele.value === "1") { - ele.type = "warning"; - } else if (ele.value === "2") { - ele.type = "danger"; - } - }); - this.componentData.tagField.type.select = data; - }); - }, - getInsStateDicts() { - this.$axios - .post(this.$api.enums.selectEnumByCategory, { - category: "妫�楠屼换鍔$姸鎬�", - }) - .then((res) => { - let data = res.data; - this.insStateList = data; - data.forEach((ele) => { - //0:寰呮楠� 1:妫�楠屼腑 2:宸叉楠� 3:寰呭鏍� 4:澶嶆牳鏈�氳繃 5:澶嶆牳閫氳繃 - if (["2", "5"].includes(ele.value)) { - ele.type = "success"; - } else if (["1", "3"].includes(ele.value)) { - ele.type = "warning"; - } else if (["0", "4"].includes(ele.value)) { - ele.type = "danger"; - } - }); - this.componentData.tagField.insState.select = data; - }); }, // getLaboratoryDicts() { // this.$axios.post(this.$api.enums.selectEnumByCategory, { @@ -985,15 +809,24 @@ if (row.userName) { inspectorList = row.userName.split(","); } - let user = JSON.parse(localStorage.getItem("user")); - if (user) { - inspectorList.push(user.name); + if (this.nickName) { + inspectorList.push(this.nickName); } this.inspectorList = inspectorList; this.sonLaboratory = row.sonLaboratory; this.state = 1; this.typeSource = row.typeSource; this.orderId = row.id; + this.$router.push({ + path: "/inspectionTask/inspection", + query: { + inspectorList: this.inspectorList, + sonLaboratory: this.sonLaboratory, + state: this.state, + typeSource: this.typeSource, + orderId: this.orderId, + }, + }); }, // 鏌ョ湅妫�楠屾暟鎹� viewInspectInfo(row) { @@ -1002,9 +835,8 @@ if (row.userName) { inspectorList = row.userName.split(","); } - let user = JSON.parse(localStorage.getItem("user")); - if (user) { - inspectorList.push(user.name); + if (this.nickName) { + inspectorList.push(this.nickName); } this.inspectorList = inspectorList; this.sonLaboratory = row.sonLaboratory; @@ -1016,22 +848,18 @@ this.orderId = row.id; this.connect = {}; this.connectVisible = true; - this.$axios - .post(this.$api.insOrderPlan.upPlanUser2, { - orderId: this.orderId, - }) - .then((res) => { - if (res.code === 200 && res.data.length > 0) { - this.sonLaboratoryList = []; - res.data.forEach((m) => { - this.sonLaboratoryList.push({ - value: m, - label: m, - }); + upPlanUser2({ orderId: this.orderId }).then((res) => { + if (res.code === 200 && res.data.length > 0) { + this.sonLaboratoryList = []; + res.data.forEach((m) => { + this.sonLaboratoryList.push({ + value: m, + label: m, }); - this.connect.sonLaboratory = this.sonLaboratoryList[0].value; - } - }); + }); + this.connect.sonLaboratory = this.sonLaboratoryList[0].value; + } + }); }, confirmConnect() { if ( @@ -1051,12 +879,11 @@ return; } this.loading = true; - this.$axios - .post(this.$api.insOrderPlan.upPlanUser, { - orderId: this.orderId, - userId: this.connect.connectPerson, - sonLaboratory: this.connect.sonLaboratory, - }) + upPlanUser({ + orderId: this.orderId, + userId: this.connect.connectPerson, + sonLaboratory: this.connect.sonLaboratory, + }) .then((res) => { if (res.code === 200) { this.loading = false; @@ -1075,7 +902,7 @@ this.orderId = row.id; }, getAuthorizedPerson() { - this.$axios.get(this.$api.user.getUserMenu).then((res) => { + selectUserCondition({ type: 1 }).then((res) => { let data = []; res.data.forEach((a) => { data.push({ @@ -1089,12 +916,7 @@ // 缁戝畾妫�楠岄」缁戝畾 getBinding(row) { this.bindCurrentInfo = row; - this.$axios - .get( - this.$api.insOrderPlan.getBindingProductByProductId + - "?productId=" + - row.insProductId - ) + getBindingProductByProductId({ productId: row.insProductId }) .then((res) => { if (res.coe == 201) { // this.$message.error('鏈粦瀹氭楠岄」') @@ -1109,12 +931,9 @@ }); }, openBindAdd() { - this.$axios - .get( - this.$api.insOrderPlan.getProductTreeByProductId + - "?productId=" + - this.bindCurrentInfo.insProductId - ) + getProductTreeByProductId({ + productId: this.bindCurrentInfo.insProductId, + }) .then((res) => { if (res.coe == 201) { // this.$message.error('鏈粦瀹氭楠岄」') @@ -1140,20 +959,10 @@ delete item.template; }); this.loading = true; - this.$axios - .post( - this.$api.insOrderPlan.bindingProductTreeByProductId, - { - insProductId: this.bindCurrentInfo.insProductId, - insProductBindingList: this.chooseBindAddList, - }, - { - headers: { - "Content-Type": "application/json", - }, - noQs: true, - } - ) + bindingProductTreeByProductId({ + insProductId: this.bindCurrentInfo.insProductId, + insProductBindingList: this.chooseBindAddList, + }) .then((res) => { this.loading = false; if (res.code == 201) { @@ -1174,12 +983,7 @@ cancelButtonText: "鍙栨秷", type: "warning", }).then(async () => { - this.$axios - .get( - this.$api.insOrderPlan.delProductTreeByProductId + - "?productId=" + - row.id - ) + delProductTreeByProductId({ productId: row.id }) .then((res) => { if (res.coe == 201) { // this.$message.error('鏈粦瀹氭楠岄」') -- Gitblit v1.9.3