From 5fa8a62362c5a12f68d53e0a2e9e1f5d8d562356 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 25 三月 2025 10:03:39 +0800
Subject: [PATCH] 检验任务时间排序修改
---
src/components/view/b1-inspect-order-plan.vue | 2355 ++++++++++++++++++++++++++++------------------------------
1 files changed, 1,151 insertions(+), 1,204 deletions(-)
diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue
index 2cfc34e..e24c5f2 100644
--- a/src/components/view/b1-inspect-order-plan.vue
+++ b/src/components/view/b1-inspect-order-plan.vue
@@ -1,286 +1,252 @@
<style scoped>
- .ins-order-plan-main .title {
- font-size: 20px;
- color: #3A7BFA
- }
+.ins-order-plan-main .title {
+ font-size: 20px;
+ color: #3A7BFA
+}
- .search {
- background-color: #fff;
- height: 80px;
- display: flex;
- align-items: center;
- }
+.search {
+ background-color: #fff;
+ height: 80px;
+ display: flex;
+ align-items: center;
+}
- .search_thing {
- display: flex;
- align-items: center;
- height: 50px;
- }
+.search_thing {
+ display: flex;
+ align-items: center;
+ height: 50px;
+}
- .search_label {
- width: 120px;
- font-size: 14px;
- text-align: right;
- }
+.search_label {
+ width: 120px;
+ font-size: 14px;
+ text-align: right;
+}
- .search_input {
- width: calc(100% - 120px);
- }
+.search_input {
+ width: calc(100% - 120px);
+}
- .ins-order-plan-main .search {
- width: 100%;
- margin-bottom: 10px;
- height: 80px;
- background-color: #fff;
- border-radius: 3px;
- }
+.ins-order-plan-main .search {
+ width: 100%;
+ margin-bottom: 10px;
+ height: 80px;
+ background-color: #fff;
+ border-radius: 3px;
+}
- .search .form-inline {
- height: 50px;
- padding-top: 20px;
- padding-left: 50px;
- }
+.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 {
+ 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);
- }
+.ins-order-plan-main .center .value-table {
+ width: 100%;
+ height: calc(100% - 68px);
+}
- .tab {
- list-style-type: none;
- display: flex;
- }
+.tab {
+ list-style-type: none;
+ display: flex;
+}
- .tab li {
- line-height: 24px;
- padding: 6px 14px;
- font-size: 14px;
- color: #333333;
- border: 1px solid #EEEEEE;
- cursor: pointer;
- }
+.tab li {
+ line-height: 24px;
+ padding: 6px 14px;
+ font-size: 14px;
+ color: #333333;
+ border: 1px solid #EEEEEE;
+ cursor: pointer;
+}
- .tab li:nth-child(1) {
- border-radius: 8px 0 0 8px;
- }
+.tab li:nth-child(1) {
+ border-radius: 8px 0 0 8px;
+}
- .tab li:nth-last-child(1) {
- border-radius: 0 8px 8px 0;
- }
+.tab li:nth-last-child(1) {
+ border-radius: 0 8px 8px 0;
+}
- .tab li.active {
- border-color: #3A7BFA;
- color: #3A7BFA;
- }
+.tab li.active {
+ border-color: #3A7BFA;
+ color: #3A7BFA;
+}
- .center .center-options .center-title {
- width: 100%;
- display: flex;
- align-items: center;
- justify-content: right;
- }
+.center .center-options .center-title {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: right;
+}
- .center .center-options .center-title span:last-child {
- color: #3A7BFA;
- font-size: 23px;
- font-weight: 400;
- }
+.center .center-options .center-title span:last-child {
+ color: #3A7BFA;
+ font-size: 23px;
+ font-weight: 400;
+}
- .view-self-checkbox {
- margin-left: 50px;
- }
- .draggable-row {
- cursor: move;
- position: relative;
- }
- .node_i {
- color: orange;
- font-size: 18px;
- }
- .custom-tree-node .el-button {
- opacity: 0;
- }
+.view-self-checkbox {
+ margin-left: 50px;
+}
- .custom-tree-node:hover .el-button {
- opacity: 1;
- }
- .el-dialog {
- position: relative;
- }
+.draggable-row {
+ cursor: move;
+ position: relative;
+}
+
+.node_i {
+ color: orange;
+ font-size: 18px;
+}
+
+.custom-tree-node .el-button {
+ opacity: 0;
+}
+
+.custom-tree-node:hover .el-button {
+ opacity: 1;
+}
+
+.el-dialog {
+ position: relative;
+}
</style>
<style>
- .ins-order-plan-main .el-form-item__label{
- color: #000;
- }
+.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;
- }
+.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 class="search">
- <div class="search_thing">
- <div class="search_label">濮旀墭缂栧彿锛�</div>
- <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.entrustCode" @keyup.enter.native="refreshTable()"></el-input></div>
- </div>
- <div class="search_thing">
- <div class="search_label">妫�楠岀姸鎬侊細</div>
- <div class="search_input">
- <el-select size="small" v-model="componentData.entity.insState" 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>
- </div>
- </div>
+ <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 class="search">
<div class="search_thing">
- <div class="search_label">鏍峰搧缂栧彿锛�</div>
- <div class="search_input">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.sampleCOde" @keyup.enter.native="refreshTable()"></el-input>
- </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>
- </div>
- <div class="center">
- <div class="center-options">
- <el-row>
- <el-col :span="18">
- <div style="display: flex;align-items: center;margin-bottom: 10px;">
- <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 @change="changeCheckBox" class="view-self-checkbox"
- v-model="alone"><span>鎴戠殑浠诲姟</span></el-checkbox>
- </div>
- </div>
- </el-col>
- <el-col :span="6">
- <div class="center-title">
- <el-button size="small" type="primary" @click="qrCodeVisible=true" v-if="selectWarehouse">鎵爜鎶ユ</el-button>
- <el-button size="small" type="primary" @click="exportVisible=true" style="margin-right: 16px;" v-if="selectWarehouse">鍑哄簱</el-button>
- <span>鎬昏浠诲姟鏁伴噺:</span>
- <span>{{total}}</span>
- </div>
- </el-col>
- </el-row>
- </div>
- <!-- <ValueTable :tableRowClassName="changeRowClass" class="value-table" ref="insOrderPlan"
+ <div class="search_label">濮旀墭缂栧彿锛�</div>
+ <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="componentData.entity.entrustCode" @keyup.enter.native="refreshTable()"></el-input></div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">妫�楠岀姸鎬侊細</div>
+ <div class="search_input">
+ <el-select size="small" v-model="componentData.entity.insState" 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>
+ </div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">鏍峰搧缂栧彿锛�</div>
+ <div class="search_input">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="componentData.entity.sampleCOde"
+ @keyup.enter.native="refreshTable()"></el-input>
+ </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>
+ </div>
+ <div class="center">
+ <div class="center-options">
+ <el-row>
+ <el-col :span="18">
+ <div style="display: flex;align-items: center;margin-bottom: 10px;">
+ <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 @change="changeCheckBox" class="view-self-checkbox"
+ v-model="alone"><span>鎴戠殑浠诲姟</span></el-checkbox>
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="6">
+ <div class="center-title">
+ <el-button size="small" type="primary" @click="qrCodeVisible = true"
+ v-if="selectWarehouse">鎵爜鎶ユ</el-button>
+ <el-button size="small" type="primary" @click="exportVisible = true" style="margin-right: 16px;"
+ v-if="selectWarehouse">鍑哄簱</el-button>
+ <span>鎬昏浠诲姟鏁伴噺:</span>
+ <span>{{ total }}</span>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- <ValueTable :tableRowClassName="changeRowClass" class="value-table" ref="insOrderPlan"
:isColumnWidth="true"
:url="$api.insOrderPlan.selectInsOrderPlanList" :upUrl="$api.user.updateUser" :componentData="componentData" @handleInspection="handleInspection"
:key="upIndex"/> -->
- <el-table
- :data="tableData"
- ref="table0"
- border
- style="width: 100%;"
- height="calc(100% - 80px)"
- :row-class-name="rowClassName"
- v-loading="tableLoading"
- row-key="orderStateId"
- >
- <el-table-column
- prop="entrustCode"
- label="濮旀墭缂栧彿"
- width="140px"
- >
+ <el-table :data="tableData" ref="table0" border style="width: 100%;" height="calc(100% - 80px)"
+ :row-class-name="rowClassName" v-loading="tableLoading" row-key="orderStateId" @sort-change="sortChange">
+ <el-table-column prop="entrustCode" label="濮旀墭缂栧彿" width="140px">
<template slot-scope="scope">
- <el-button @click="selectAllByOne(scope.row)" type="text" size="small">{{ scope.row.entrustCode }}</el-button>
+ <el-button @click="selectAllByOne(scope.row)" type="text" size="small">{{ scope.row.entrustCode
+ }}</el-button>
</template>
</el-table-column>
- <el-table-column
- prop="sample"
- label="鏍峰搧鍚嶇О"
- width="100px"
- ></el-table-column>
- <el-table-column
- prop="sampleCode"
- label="鏍峰搧缂栧彿"
- width="170px"
- ></el-table-column>
- <el-table-column
- prop="type"
- label="绱ф�ョ▼搴�"
- width="100px"
- >
+ <el-table-column prop="sample" label="鏍峰搧鍚嶇О" width="100px"></el-table-column>
+ <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" width="170px"></el-table-column>
+ <el-table-column prop="type" label="绱ф�ョ▼搴�" width="100px">
<template slot-scope="scope">
- <el-tag :type="typeList.find(m=>m.value==scope.row.type)?typeList.find(m=>m.value==scope.row.type).type:''" size="small">{{ typeList.find(m=>m.value==scope.row.type)?typeList.find(m=>m.value==scope.row.type).label:'' }}</el-tag>
+ <el-tag
+ :type="typeList.find(m => m.value == scope.row.type) ? typeList.find(m => m.value == scope.row.type).type : ''"
+ size="small">{{
+ typeList.find(m => m.value == scope.row.type) ? typeList.find(m => m.value == scope.row.type).label : ''
+ }}</el-tag>
</template>
</el-table-column>
- <el-table-column
- prop="insState"
- label="鐘舵��"
- width="100px"
- >
- <template slot-scope="scope">
- <el-tag :type="insStateList.find(m=>m.value==scope.row.insState).type" size="small">{{ insStateList.find(m=>m.value==scope.row.insState).label }}</el-tag>
+ <el-table-column prop="insState" label="鐘舵��" width="100px">
+ <template slot-scope="scope">
+ <el-tag :type="insStateList.find(m => m.value == scope.row.insState).type" size="small">{{
+ insStateList.find(m => m.value == scope.row.insState).label }}</el-tag>
</template></el-table-column>
- <el-table-column
- prop="userName"
- label="妫�楠屼汉"
- width="140px"
- ></el-table-column>
- <el-table-column
- prop="checkName"
- label="澶嶆牳浜�"
- width="100px"
- ></el-table-column>
- <el-table-column
- prop="appointed"
- label="绾﹀畾鏃堕棿"
- width="120px"
- ></el-table-column>
- <el-table-column
- prop="sendTime"
- label="涓嬪彂鏃堕棿"
- width="160px"
- ></el-table-column>
- <el-table-column
- prop="insTime"
- label="妫�楠屽紑濮嬫椂闂�"
- width="160px"
- ></el-table-column>
- <el-table-column
- prop="submitTime"
- label="妫�楠岀粨鏉熸椂闂�"
- width="160px"
- ></el-table-column>
- <el-table-column
- prop="verifyTell"
- label="鐞嗙敱"
- width="150px"
- ></el-table-column>
- <el-table-column
- fixed="right"
- align="center" label="鎿嶄綔"
- width="340px"
- >
- <template slot-scope="scope">
- <el-button @click="handleDataLook(scope.row)" type="text" size="small">鏁版嵁鏌ョ湅</el-button>
- <el-button @click="handleInspection(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5||scope.row.insState == 6||(scope.row.userName&&!scope.row.userName.includes(userName))" v-if="inspection">妫�楠�</el-button>
- <el-button @click="handleConnect(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState == 5 || scope.row.insState == 3||scope.row.insState == 6||(scope.row.userName&&!scope.row.userName.includes(userName))" v-if="connect">浜ゆ帴</el-button>
- <el-button @click="cancelSubmitPlan(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState != 3 ||(scope.row.userName&&!scope.row.userName.includes(userName))" v-if="inspection">鎾ら攢</el-button>
- <el-button @click="handleReview(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState != 3 ||(scope.row.checkName&&!scope.row.checkName.includes(userName))" v-if="review">澶嶆牳</el-button>
- <el-button @click="handleReview0(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || (scope.row.insState != 4&&scope.row.insState != 5&&scope.row.insState != 6) " v-if="verifyPlan2">绾犳澶嶆牳</el-button>
- <el-button @click="claimFun(scope.row)" type="text" size="small" :disabled="scope.row.userName != null || scope.row.checkName!=null" v-if="claim">璁ら</el-button>
- <el-button @click="lookHistory0(scope.row)" type="text" size="small">鏌ョ湅璁板綍</el-button>
- </template>
+ <el-table-column prop="userName" label="妫�楠屼汉" width="140px"></el-table-column>
+ <el-table-column prop="checkName" label="澶嶆牳浜�" width="100px"></el-table-column>
+ <el-table-column prop="createTime" label="鎶ユ鏃堕棿" width="120px" sortable></el-table-column>
+ <el-table-column prop="appointed" label="绾﹀畾鏃堕棿" width="120px" sortable></el-table-column>
+ <el-table-column prop="sendTime" label="涓嬪彂鏃堕棿" width="160px" sortable></el-table-column>
+ <el-table-column prop="insTime" label="妫�楠屽紑濮嬫椂闂�" width="160px" sortable></el-table-column>
+ <el-table-column prop="submitTime" label="妫�楠岀粨鏉熸椂闂�" width="160px" sortable></el-table-column>
+ <el-table-column prop="verifyTell" label="鐞嗙敱" width="150px"></el-table-column>
+ <el-table-column fixed="right" align="center" label="鎿嶄綔" width="340px">
+ <template slot-scope="scope">
+ <el-button @click="handleDataLook(scope.row)" type="text" size="small">鏁版嵁鏌ョ湅</el-button>
+ <el-button @click="handleInspection(scope.row)" type="text" size="small"
+ :disabled="scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5 || scope.row.insState == 6 || (scope.row.userName && !scope.row.userName.includes(userName))"
+ v-if="inspection">妫�楠�</el-button>
+ <el-button @click="handleConnect(scope.row)" type="text" size="small"
+ :disabled="scope.row.userName == null || scope.row.insState == 5 || scope.row.insState == 3 || scope.row.insState == 6 || (scope.row.userName && !scope.row.userName.includes(userName))"
+ v-if="connect">浜ゆ帴</el-button>
+ <el-button @click="cancelSubmitPlan(scope.row)" type="text" size="small"
+ :disabled="scope.row.userName == null || scope.row.insState != 3 || (scope.row.userName && !scope.row.userName.includes(userName))"
+ v-if="inspection">鎾ら攢</el-button>
+ <el-button @click="handleReview(scope.row)" type="text" size="small"
+ :disabled="scope.row.userName == null || scope.row.insState != 3 || (scope.row.checkName && !scope.row.checkName.includes(userName))"
+ v-if="review">澶嶆牳</el-button>
+ <el-button @click="handleReview0(scope.row)" type="text" size="small"
+ :disabled="scope.row.userName == null || (scope.row.insState != 4 && scope.row.insState != 5 && scope.row.insState != 6)"
+ v-if="verifyPlan2">绾犳澶嶆牳</el-button>
+ <el-button @click="claimFun(scope.row)" type="text" size="small"
+ :disabled="scope.row.userName != null || scope.row.checkName != null" v-if="claim">璁ら</el-button>
+ <el-button @click="lookHistory0(scope.row)" type="text" size="small">鏌ョ湅璁板綍</el-button>
+ </template>
</el-table-column>
</el-table>
<div style="display: flex;justify-content: flex-end;width: 100%;margin-top: 10px;">
@@ -290,25 +256,21 @@
:total="total">
</el-pagination>
</div>
- </div>
- </div>
- <el-dialog title="鎻愮ず" :visible.sync="claimVisible" width="400px">
- 鏄惁璁ら濮旀墭缂栧彿<span style="color:#33C130">{{sampleUserForm.entrustCode}}</span>鐨勪换鍔�
- <span slot="footer" class="dialog-footer">
- <el-button @click="claimVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="confirmClaim" :loading="loading">纭� 瀹�</el-button>
- </span>
- </el-dialog>
+ </div>
+ </div>
+ <el-dialog title="鎻愮ず" :visible.sync="claimVisible" width="400px">
+ 鏄惁璁ら濮旀墭缂栧彿<span style="color:#33C130">{{ sampleUserForm.entrustCode }}</span>鐨勪换鍔�
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="claimVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmClaim" :loading="loading">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
<el-dialog title="妫�楠屼氦鎺�" :visible.sync="connectVisible" width="400px">
- <div class="search_thing">
+ <div class="search_thing">
<div class="search_label" style="width:90px"><span class="required-span">* </span>浜ゆ帴浜哄憳锛�</div>
<div class="search_input">
<el-select v-model="connect.connectPerson" placeholder="璇烽�夋嫨" style="width: 100%;" filterable>
- <el-option
- v-for="item in personList"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
@@ -326,69 +288,51 @@
</el-select>
</div>
</div> -->
- <span slot="footer" class="dialog-footer">
- <el-button @click="connectVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="confirmConnect" :loading="loading">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- <div style="width: 100%;height: 100%;" v-if="activeFace >0">
- <Add :active="activeFace" :currentId="currentId" :examine="examine"/>
- </div>
- <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :inspectorList="inspectorList" :sonLaboratory="componentData.entity.sonLaboratory" :state="state" :orderStateId="orderStateId" :version="version" :isLook="isLook" :num1="num1" :orderId0="orderId0" :userInfo="userInfo" ref="Inspection" />
- <el-dialog title="鏁版嵁鏌ョ湅" :visible.sync="dataDialogVisible" width="80%">
- <div style="height: 70vh;overflow-y: auto;" v-if="dataDialogVisible">
- <ValueTable ref="ValueTableDataLook" :rowKey="'insProductId'" :url="$api.insOrder.selectSampleAndProductByOrderId"
- :componentData="componentDataDataLook"/>
- </div>
- </el-dialog>
- <el-dialog title="鏌ョ湅璁板綍" :visible.sync="historyDialogVisible" width="50%">
- <el-table
- :data="historyList"
- border
- style="width: 100%">
- <el-table-column
- prop="submitTime"
- label="鎻愪氦鏃ユ湡"
- min-width="150">
- </el-table-column>
- <el-table-column
- prop="submitUserName"
- label="鎻愪氦浜�"
- min-width="90">
- </el-table-column>
- <el-table-column
- prop="term"
- label="瀹為獙闃舵"
- min-width="120">
- </el-table-column>
- <el-table-column
- prop="note"
- label="瀹為獙鎿嶄綔"
- min-width="120">
- </el-table-column>
- <el-table-column
- prop="tell"
- label="鍐嶆妫�楠屽師鍥�"
- min-width="120">
- </el-table-column>
- <el-table-column
- fixed="right"
- label="鎿嶄綔"
- min-width="100">
- <template slot-scope="scope">
- <el-button @click="lookHistory(scope.row)" type="text" size="small">鏌ョ湅</el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-dialog>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="connectVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmConnect" :loading="loading">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <div style="width: 100%;height: 100%;" v-if="activeFace > 0">
+ <Add :active="activeFace" :currentId="currentId" :examine="examine" />
+ </div>
+ <Inspection v-if="state > 0" @goback="goback" :orderId="orderId" :inspectorList="inspectorList"
+ :sonLaboratory="componentData.entity.sonLaboratory" :state="state" :orderStateId="orderStateId" :version="version"
+ :isLook="isLook" :num1="num1" :orderId0="orderId0" :userInfo="userInfo" ref="Inspection" />
+ <el-dialog title="鏁版嵁鏌ョ湅" :visible.sync="dataDialogVisible" width="80%">
+ <div style="height: 70vh;overflow-y: auto;" v-if="dataDialogVisible">
+ <ValueTable ref="ValueTableDataLook" :rowKey="'insProductId'"
+ :url="$api.insOrder.selectSampleAndProductByOrderId" :componentData="componentDataDataLook" />
+ </div>
+ </el-dialog>
+ <el-dialog title="鏌ョ湅璁板綍" :visible.sync="historyDialogVisible" width="50%">
+ <el-table :data="historyList" border style="width: 100%">
+ <el-table-column prop="submitTime" label="鎻愪氦鏃ユ湡" min-width="150">
+ </el-table-column>
+ <el-table-column prop="submitUserName" label="鎻愪氦浜�" min-width="90">
+ </el-table-column>
+ <el-table-column prop="term" label="瀹為獙闃舵" min-width="120">
+ </el-table-column>
+ <el-table-column prop="note" label="瀹為獙鎿嶄綔" min-width="120">
+ </el-table-column>
+ <el-table-column prop="tell" label="鍐嶆妫�楠屽師鍥�" min-width="120">
+ </el-table-column>
+ <el-table-column fixed="right" label="鎿嶄綔" min-width="100">
+ <template slot-scope="scope">
+ <el-button @click="lookHistory(scope.row)" type="text" size="small">鏌ョ湅</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-dialog>
<el-dialog title="鎵爜妫�楠�" :visible.sync="qrCodeVisible" width="400px">
<el-row>
<el-col class="search_thing" :span="24">
<div class="search_label" style="width: 90px"><span class="required-span">* </span>鏍峰搧缂栧彿锛�</div>
<div class="search_input">
<el-input v-model="sampleCode" size="small" clearable :disabled="sampleCodeBtnDisabled">
- <el-tooltip :content="sampleCodeBtnDisabled?'鎵嬪姩杈撳叆':'鎵爜鏋緭鍏�'" placement="top" slot="append">
- <el-button type="primary" icon="el-icon-edit" @click="sampleCodeBtnDisabled=!sampleCodeBtnDisabled"></el-button>
+ <el-tooltip :content="sampleCodeBtnDisabled ? '鎵嬪姩杈撳叆' : '鎵爜鏋緭鍏�'" placement="top" slot="append">
+ <el-button type="primary" icon="el-icon-edit"
+ @click="sampleCodeBtnDisabled = !sampleCodeBtnDisabled"></el-button>
</el-tooltip>
</el-input>
</div>
@@ -402,14 +346,13 @@
</el-col>
</el-row>
<el-tree :data="storageList" ref="tree" :props="{ children: 'warehouseShelfList', label: 'name' }" node-key="id"
- :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
- @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="qrCodeVisible"
- empty-text="鏆傛棤鏁版嵁">
+ :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
+ @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="qrCodeVisible" empty-text="鏆傛棤鏁版嵁">
<div class="custom-tree-node" slot-scope="{ node, data }">
<el-row>
<el-col :span="24">
<span><i
- :class="`node_i ${data.warehouseShelfList != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
+ :class="`node_i ${data.warehouseShelfList != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
{{ data.name }}</span>
</el-col>
</el-row>
@@ -426,8 +369,9 @@
<div class="search_label" style="width: 90px"><span class="required-span">* </span>鏍峰搧缂栧彿锛�</div>
<div class="search_input">
<el-input v-model="sampleCode" size="small" clearable :disabled="sampleCodeBtnDisabled">
- <el-tooltip :content="sampleCodeBtnDisabled?'鎵嬪姩杈撳叆':'鎵爜鏋緭鍏�'" placement="top" slot="append">
- <el-button type="primary" icon="el-icon-edit" @click="sampleCodeBtnDisabled=!sampleCodeBtnDisabled"></el-button>
+ <el-tooltip :content="sampleCodeBtnDisabled ? '鎵嬪姩杈撳叆' : '鎵爜鏋緭鍏�'" placement="top" slot="append">
+ <el-button type="primary" icon="el-icon-edit"
+ @click="sampleCodeBtnDisabled = !sampleCodeBtnDisabled"></el-button>
</el-tooltip>
</el-input>
</div>
@@ -446,14 +390,8 @@
</span>
</el-dialog>
<el-dialog title="绾犳澶嶆牳" :visible="upInsReviewDia" width="600px" :close-on-click-modal="false" :show-close="false">
- <el-radio-group
- v-model="verifyPlanInfo.type"
- style="display: flex;flex-direction: column"
- v-if="upInsReviewDia"
- >
- <el-radio :label="1" style="margin: 10px 0; "
- :inert="false">缁х画娴嬭瘯涓嬩竴涓牱鍝佹垨鍏朵粬绔欑偣浠诲姟</el-radio
- >
+ <el-radio-group v-model="verifyPlanInfo.type" style="display: flex;flex-direction: column" v-if="upInsReviewDia">
+ <el-radio :label="1" style="margin: 10px 0; " :inert="false">缁х画娴嬭瘯涓嬩竴涓牱鍝佹垨鍏朵粬绔欑偣浠诲姟</el-radio>
<el-radio :label="0" style="margin: 10px 0; " :inert="false">鍐嶆妫�楠岃鏍峰搧</el-radio>
<el-radio :label="2" style="margin: 10px 0; " :inert="false">姝ゅ鎵樺崟缁撴潫</el-radio>
<p style="font-size: 12px;color:red">
@@ -461,910 +399,919 @@
</p>
</el-radio-group>
<p style="margin-top: 16px;margin-bottom: 6px;"><span style="color:red;margin-right: 4px;">*</span>绾犳鍘熷洜锛�</p>
- <el-input
- type="textarea"
- :rows="2"
- placeholder="璇疯緭鍏�"
- v-model="verifyPlanInfo.tell">
+ <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏�" v-model="verifyPlanInfo.tell">
</el-input>
<span slot="footer" class="dialog-footer">
<el-button @click="upInsReviewDia = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="upInsReview" :loading="reviewLoading"
- >纭� 瀹�</el-button
- >
+ <el-button type="primary" @click="upInsReview" :loading="reviewLoading">纭� 瀹�</el-button>
</span>
</el-dialog>
- <input id="ScanCodeInfo" v-model="codeInfo" @keyup.enter="keyup" style="opacity: 0;height: 0px;margin: 0px;padding: 0px;position: absolute;top: 0;"></input>
+ <input id="ScanCodeInfo" v-model="codeInfo" @keyup.enter="keyup"
+ style="opacity: 0;height: 0px;margin: 0px;padding: 0px;position: absolute;top: 0;"></input>
</div>
</template>
<script>
- import ValueTable from '../tool/value-table.vue'
- import Inspection from '../do/b1-inspect-order-plan/Inspection.vue'
- import {
- getYearAndMonthAndDays
- } from '../../util/date'
- import Add from '../do/b1-ins-order/add.vue'
- import Sortable from 'sortablejs';
- export default {
- components: {
- ValueTable,
- Inspection,
- Add
- },
- data() {
- return {
- currentHistory:{},
- historyDialogVisible:false,
- historyList:[],
- orderStateId:null,
- version:null,
- examine: null,
- inspectorList: [],//妫�楠屼汉鍛樺垪琛�
- alone: false,
- sampleUserForm: {
- entrustCode: null,
- insSampleId: null,
- userId: null
- },
- claimVisible: false,
- tabList: [],
- active: 1,
- tabIndex: 0,
- componentDataDataLook: {
- entity: {
- id: 0,
- orderBy: {
- field: 'sampleCode',
- order: 'asc'
- }
- },
- isIndex: false,
- showSelect: false,
- select: false,
- do: [],
- 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:5
- }
- ]
+import ValueTable from '../tool/value-table.vue'
+import Inspection from '../do/b1-inspect-order-plan/Inspection.vue'
+import {
+ getYearAndMonthAndDays
+} from '../../util/date'
+import Add from '../do/b1-ins-order/add.vue'
+import Sortable from 'sortablejs';
+export default {
+ components: {
+ ValueTable,
+ Inspection,
+ Add
+ },
+ data() {
+ return {
+ currentHistory: {},
+ historyDialogVisible: false,
+ historyList: [],
+ orderStateId: null,
+ version: null,
+ examine: null,
+ inspectorList: [],//妫�楠屼汉鍛樺垪琛�
+ alone: false,
+ sampleUserForm: {
+ entrustCode: null,
+ insSampleId: null,
+ userId: null
+ },
+ claimVisible: false,
+ tabList: [],
+ active: 1,
+ tabIndex: 0,
+ componentDataDataLook: {
+ entity: {
+ id: 0,
+ orderBy: {
+ field: 'sampleCode',
+ order: 'asc'
+ }
+ },
+ isIndex: false,
+ showSelect: false,
+ select: false,
+ do: [],
+ tagField: {
+ insState: {
+ select: []
},
- requiredAdd: [],
- requiredUp: []
- },
- dataDialogVisible: false,
- componentData: {
- entity: {
- sonLaboratory: null,
- insState: null,
- userId: null,
- sampleCode:null,
- },
- sortable:true,
- isIndex: true,
- showSelect: false,
- select: false,
- init: false,
- needSort: ['createTime', 'sendTime', 'type', 'appointed', 'insState'],
- do: [{
- id: '',
- font: '鏁版嵁鏌ョ湅',
- type: 'text',
- method: 'handleDataLook',
- //disabFun: (row, index) => {
- //const user = JSON.parse(localStorage.getItem('user'))
- // let currentUserName = ''
- // if(user){
- // currentUserName = user.name
- //}
- //return row.userName.indexOf(currentUserName)<0 && row.checkName.indexOf(currentUserName)<0
- //}
- },{
- id: '',
- font: '妫�楠�',
- type: 'text',
- method: 'handleInspection',
- disabFun: (row, index) => {
- return row.userName == null || row.insState == 3 || row.insState == 5||row.insState == 6||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name))
- }
- // disabFun: (row, index) => {
- // return row.userId == null || row.insState == 3 || row.insState == 5
- // }
- }, {
- id: '',
- font: '浜ゆ帴',
- type: 'text',
- method: 'handleConnect',
- disabFun: (row, index) => {
- return row.userName == null || row.insState == 5 || row.insState == 3||row.insState == 6||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name))
- }
- },
- {
- id: '',
- font: '澶嶆牳',
- type: 'text',
- method: 'handleReview',
- disabFun: (row, userName) => {
- return row.userName == null || row.insState != 3 ||(row.checkName&&!row.checkName.includes(JSON.parse(localStorage.getItem("user")).name))
- }
- }, {
- id: '',
- font: '璁ら',
- type: 'text',
- method: 'claimFun',
- disabFun: (row, index) => {
- return row.userName != null || row.checkName!=null
- }
- }, {
- id: '',
- font: '鏌ョ湅璁板綍',
- type: 'text',
- method: 'claimFun',
- disabFun: (row, index) => {
- return !row.num1 || row.num1<2
- }
- }
- ],
- 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'
- }]
- }
- },
- selectField: {},
- requiredAdd: [],
- requiredUp: []
- },
- userName:JSON.parse(localStorage.getItem("user")).name,
- upIndex: 0,
- planTotal: 0,
- insStateList: [],
- state:0,//0:鍙拌处椤碉紝1锛氭楠岄〉闈�,2妫�楠岄〉闈�(澶嶆牳)锛岄粯璁や负0
- activeFace: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍革紝榛樿涓�0
- currentId: null,
- entityCopy: {},
- orderId: null,
- orderId0:null,
- personList:[],
- connectVisible:false,
- connect:{
- connectPerson:'',
- // sonLaboratory:''
+ insResult: {
+ select: [{
+ value: 1,
+ label: '鍚堟牸',
+ type: 'success'
+ }, {
+ value: 0,
+ label: '涓嶅悎鏍�',
+ type: 'danger'
+ }, {
+ value: 3,
+ label: '涓嶅垽瀹�',
+ type: ''
+ }]
+ }
},
- loading:false,
- currentTime: null,
- sonLaboratoryList:[],
- tableData: [],
- page:{
- current:1,
- size:20,
+ selectField: {},
+ spanConfig: {
+ rows: [
+ {
+ name: 'sampleCode',
+ index: 0
+ },
+ {
+ name: 'sample',
+ index: 1
+ },
+ {
+ name: 'model',
+ index: 5
+ }
+ ]
},
- total:0,
- tableLoading:false,
- jumpTeam:false,
- insResultList:[{
- value: 0,
- label: '涓嶅悎鏍�',
- type: 'danger'
- },{
- value: 1,
- label: '鍚堟牸',
- type: 'success'
- },{
- value: '',
- label: '鏈嚭缁撴灉',
- type: 'info'
- }],
- typeList:[],
- getInsProduct2:false,
- claim:false,
- review:false,
- verifyPlan2:false,
- connect:false,
- inspection:false,
- isLook:false,//鏄惁鏄煡鐪嬪巻鍙查〉闈�
- num1:null,
- codeInfo:null,
- startTime:null,
- scanInsOrderState:false,
- qrCodeVisible: false,
- sampleCode: '',
- entrustCode:'',
- storageList:[],
- expandedKeys: [],
- selectTree: [],
- upLoadStorage: false,
- exportVisible: false,
- upLoadExport: false,
- selectWarehouse:false,
- userInfo:{
- name:[],
- ids:[]
- },
- sampleCodeBtnDisabled:true,
- upInsReviewDia:false,
- verifyPlanInfo:{
- tell:null,
- type:null
- },
- reviewLoading:false
- }
- },
- watch:{
- qrCodeVisible(newVal){
- if(newVal){
- // this.$message.success('鎵爜锛氭墦寮�')
- this.selectList()
- this.sampleCode = null
- this.entrustCode = null
- let input = document.getElementById('ScanCodeInfo');
- input.focus();
- this.startTime = setInterval(()=>{
- input.focus()
- },1000)
- }else{
- // this.$message.warning('鎵爜锛氬叧闂�')
- clearInterval(this.startTime)
- this.sampleCodeBtnDisabled=true
- }
+ requiredAdd: [],
+ requiredUp: []
},
- exportVisible(newVal){
- if(newVal){
- // this.$message.success('鎵爜锛氭墦寮�')
- this.sampleCode = null
- this.entrustCode = null
- let input = document.getElementById('ScanCodeInfo');
- input.focus();
- this.startTime = setInterval(()=>{
- input.focus()
- },1000)
- }else{
- // this.$message.warning('鎵爜锛氬叧闂�')
- clearInterval(this.startTime)
- this.sampleCodeBtnDisabled=true
+ dataDialogVisible: false,
+ componentData: {
+ entity: {
+ sonLaboratory: null,
+ insState: null,
+ userId: null,
+ sampleCode: null,
+ orderBy: {
+ field: 'createTime,appointed,sendTime,insTime,submitTime',
+ order: 'asc'
+ }
+ },
+ sortable: true,
+ isIndex: true,
+ showSelect: false,
+ select: false,
+ init: false,
+ needSort: ['createTime', 'sendTime', 'type', 'appointed', 'insState'],
+ do: [{
+ id: '',
+ font: '鏁版嵁鏌ョ湅',
+ type: 'text',
+ method: 'handleDataLook',
+ //disabFun: (row, index) => {
+ //const user = JSON.parse(localStorage.getItem('user'))
+ // let currentUserName = ''
+ // if(user){
+ // currentUserName = user.name
+ //}
+ //return row.userName.indexOf(currentUserName)<0 && row.checkName.indexOf(currentUserName)<0
+ //}
+ }, {
+ id: '',
+ font: '妫�楠�',
+ type: 'text',
+ method: 'handleInspection',
+ disabFun: (row, index) => {
+ return row.userName == null || row.insState == 3 || row.insState == 5 || row.insState == 6 || (row.userName && !row.userName.includes(JSON.parse(localStorage.getItem("user")).name))
+ }
+ // disabFun: (row, index) => {
+ // return row.userId == null || row.insState == 3 || row.insState == 5
+ // }
+ }, {
+ id: '',
+ font: '浜ゆ帴',
+ type: 'text',
+ method: 'handleConnect',
+ disabFun: (row, index) => {
+ return row.userName == null || row.insState == 5 || row.insState == 3 || row.insState == 6 || (row.userName && !row.userName.includes(JSON.parse(localStorage.getItem("user")).name))
+ }
+ },
+ {
+ id: '',
+ font: '澶嶆牳',
+ type: 'text',
+ method: 'handleReview',
+ disabFun: (row, userName) => {
+ return row.userName == null || row.insState != 3 || (row.checkName && !row.checkName.includes(JSON.parse(localStorage.getItem("user")).name))
+ }
+ }, {
+ id: '',
+ font: '璁ら',
+ type: 'text',
+ method: 'claimFun',
+ disabFun: (row, index) => {
+ return row.userName != null || row.checkName != null
+ }
+ }, {
+ id: '',
+ font: '鏌ョ湅璁板綍',
+ type: 'text',
+ method: 'claimFun',
+ disabFun: (row, index) => {
+ return !row.num1 || row.num1 < 2
+ }
}
+ ],
+ 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'
+ }]
+ }
+ },
+ selectField: {},
+ requiredAdd: [],
+ requiredUp: []
},
- sampleCodeBtnDisabled(val){
- if(!val){
- this.startTime&&clearInterval(this.startTime)
- }else if(this.exportVisible||this.qrCodeVisible){
- // this.sampleCode = null
- // this.entrustCode = null
- let input = document.getElementById('ScanCodeInfo');
- input.focus();
- this.startTime = setInterval(()=>{
- input.focus()
- },1000)
- }
+ userName: JSON.parse(localStorage.getItem("user")).name,
+ upIndex: 0,
+ planTotal: 0,
+ insStateList: [],
+ state: 0,//0:鍙拌处椤碉紝1锛氭楠岄〉闈�,2妫�楠岄〉闈�(澶嶆牳)锛岄粯璁や负0
+ activeFace: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍革紝榛樿涓�0
+ currentId: null,
+ entityCopy: {},
+ orderId: null,
+ orderId0: null,
+ personList: [],
+ connectVisible: false,
+ connect: {
+ connectPerson: '',
+ // sonLaboratory:''
+ },
+ loading: false,
+ currentTime: null,
+ sonLaboratoryList: [],
+ tableData: [],
+ page: {
+ current: 1,
+ size: 20,
+ },
+ total: 0,
+ tableLoading: false,
+ jumpTeam: false,
+ insResultList: [{
+ value: 0,
+ label: '涓嶅悎鏍�',
+ type: 'danger'
+ }, {
+ value: 1,
+ label: '鍚堟牸',
+ type: 'success'
+ }, {
+ value: '',
+ label: '鏈嚭缁撴灉',
+ type: 'info'
+ }],
+ typeList: [],
+ getInsProduct2: false,
+ claim: false,
+ review: false,
+ verifyPlan2: false,
+ connect: false,
+ inspection: false,
+ isLook: false,//鏄惁鏄煡鐪嬪巻鍙查〉闈�
+ num1: null,
+ codeInfo: null,
+ startTime: null,
+ scanInsOrderState: false,
+ qrCodeVisible: false,
+ sampleCode: '',
+ entrustCode: '',
+ storageList: [],
+ expandedKeys: [],
+ selectTree: [],
+ upLoadStorage: false,
+ exportVisible: false,
+ upLoadExport: false,
+ selectWarehouse: false,
+ userInfo: {
+ name: [],
+ ids: []
+ },
+ sampleCodeBtnDisabled: true,
+ upInsReviewDia: false,
+ verifyPlanInfo: {
+ tell: null,
+ type: null
+ },
+ reviewLoading: false
+ }
+ },
+ watch: {
+ qrCodeVisible(newVal) {
+ if (newVal) {
+ // this.$message.success('鎵爜锛氭墦寮�')
+ this.selectList()
+ this.sampleCode = null
+ this.entrustCode = null
+ let input = document.getElementById('ScanCodeInfo');
+ input.focus();
+ this.startTime = setInterval(() => {
+ input.focus()
+ }, 1000)
+ } else {
+ // this.$message.warning('鎵爜锛氬叧闂�')
+ clearInterval(this.startTime)
+ this.sampleCodeBtnDisabled = true
}
},
- created() {
- this.getLaboratoryDicts()
- this.getTypeDicts()
- this.getInsStateDicts()
- this.getAuthorizedPerson()
- this.currentTime = getYearAndMonthAndDays()
- },
- mounted() {
- this.entityCopy = this.HaveJson(this.componentData.entity)
- this.getPower()
- if(this.jumpTeam){
- this.initializeSortable();
+ exportVisible(newVal) {
+ if (newVal) {
+ // this.$message.success('鎵爜锛氭墦寮�')
+ this.sampleCode = null
+ this.entrustCode = null
+ let input = document.getElementById('ScanCodeInfo');
+ input.focus();
+ this.startTime = setInterval(() => {
+ input.focus()
+ }, 1000)
+ } else {
+ // this.$message.warning('鎵爜锛氬叧闂�')
+ clearInterval(this.startTime)
+ this.sampleCodeBtnDisabled = true
}
- },
- methods: {
- selectList () {
- this.$axios.get(this.$api.warehouse.selectWarehouse).then(res => {
- this.warehouse = res.data
- this.storageList = this.HaveJson(res.data).map(item=>{
- item.warehouseShelfList&&item.warehouseShelfList.length>0&&item.warehouseShelfList.map(m=>{
- let warehouseShelfList = [];
- let warehouseShelfList0 = []
- let warehouseCellList = m.warehouseCellList?m.warehouseCellList:[]
- warehouseCellList.forEach(a=>{
- if(warehouseShelfList.find(n=>n.id==a.row)){
- warehouseShelfList0.push({
- name:a.col+'鍒�',
- id:a.col
- })
- }else if(warehouseShelfList.length==0){
- warehouseShelfList.push({
- name:a.row+'灞�',
- id:a.row
- })
- warehouseShelfList0.push({
- name:a.col+'鍒�',
- id:a.col
- })
- }else if(!warehouseShelfList.find(n=>n.id==a.row)){
- warehouseShelfList[warehouseShelfList.length-1].warehouseShelfList = JSON.parse(JSON.stringify(warehouseShelfList0))
- warehouseShelfList0 = []
- warehouseShelfList.push({
- name:a.row+'灞�',
- id:a.row
- })
- warehouseShelfList0.push({
- name:a.col+'鍒�',
- id:a.col
- })
- }
- })
- warehouseShelfList[warehouseShelfList.length-1].warehouseShelfList = JSON.parse(JSON.stringify(warehouseShelfList0))
- m.warehouseShelfList = warehouseShelfList;
- return m;
+ },
+ sampleCodeBtnDisabled(val) {
+ if (!val) {
+ this.startTime && clearInterval(this.startTime)
+ } else if (this.exportVisible || this.qrCodeVisible) {
+ // this.sampleCode = null
+ // this.entrustCode = null
+ let input = document.getElementById('ScanCodeInfo');
+ input.focus();
+ this.startTime = setInterval(() => {
+ input.focus()
+ }, 1000)
+ }
+ }
+ },
+ created() {
+ this.getLaboratoryDicts()
+ this.getTypeDicts()
+ this.getInsStateDicts()
+ this.getAuthorizedPerson()
+ this.currentTime = getYearAndMonthAndDays()
+ },
+ mounted() {
+ this.entityCopy = this.HaveJson(this.componentData.entity)
+ this.getPower()
+ if (this.jumpTeam) {
+ this.initializeSortable();
+ }
+ },
+ methods: {
+ selectList() {
+ this.$axios.get(this.$api.warehouse.selectWarehouse).then(res => {
+ this.warehouse = res.data
+ this.storageList = this.HaveJson(res.data).map(item => {
+ item.warehouseShelfList && item.warehouseShelfList.length > 0 && item.warehouseShelfList.map(m => {
+ let warehouseShelfList = [];
+ let warehouseShelfList0 = []
+ let warehouseCellList = m.warehouseCellList ? m.warehouseCellList : []
+ warehouseCellList.forEach(a => {
+ if (warehouseShelfList.find(n => n.id == a.row)) {
+ warehouseShelfList0.push({
+ name: a.col + '鍒�',
+ id: a.col
+ })
+ } else if (warehouseShelfList.length == 0) {
+ warehouseShelfList.push({
+ name: a.row + '灞�',
+ id: a.row
+ })
+ warehouseShelfList0.push({
+ name: a.col + '鍒�',
+ id: a.col
+ })
+ } else if (!warehouseShelfList.find(n => n.id == a.row)) {
+ warehouseShelfList[warehouseShelfList.length - 1].warehouseShelfList = JSON.parse(JSON.stringify(warehouseShelfList0))
+ warehouseShelfList0 = []
+ warehouseShelfList.push({
+ name: a.row + '灞�',
+ id: a.row
+ })
+ warehouseShelfList0.push({
+ name: a.col + '鍒�',
+ id: a.col
+ })
+ }
})
- return item;
+ warehouseShelfList[warehouseShelfList.length - 1].warehouseShelfList = JSON.parse(JSON.stringify(warehouseShelfList0))
+ m.warehouseShelfList = warehouseShelfList;
+ return m;
})
+ return item;
})
- },
- filterNode(value, data) {
- if (!value) return true;
- return data.label.indexOf(value) !== -1;
- },
- handleNodeClick(val, node, el) { //鏍戠殑鍊�
- this.selectTree[node.level-1] = val.id;
- },
- nodeOpen(data, node, el) {
- $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
- this.selectTree[node.level-1] = data.id;
- },
- nodeClose(data, node, el) {
- $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
- },
- // 鎵爜鎶ユ
- confirmStorage() {
- if (!this.sampleCode) {
- this.$message.error('璇峰~鍐欐牱鍝佺紪鍙�')
+ })
+ },
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.label.indexOf(value) !== -1;
+ },
+ handleNodeClick(val, node, el) { //鏍戠殑鍊�
+ this.selectTree[node.level - 1] = val.id;
+ },
+ nodeOpen(data, node, el) {
+ $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
+ this.selectTree[node.level - 1] = data.id;
+ },
+ nodeClose(data, node, el) {
+ $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
+ },
+ // 鎵爜鎶ユ
+ confirmStorage() {
+ if (!this.sampleCode) {
+ this.$message.error('璇峰~鍐欐牱鍝佺紪鍙�')
+ return
+ }
+ if (!this.entrustCode) {
+ this.$message.error('璇峰~鍐欒鍗曠紪鍙�')
+ return
+ }
+ if (this.selectTree.length < 4) {
+ this.$message.error('璇烽�夋嫨鏍峰搧鍏ュ簱浣嶇疆')
+ return
+ }
+ this.upLoadStorage = true;
+ this.$axios.post(this.$api.insOrderPlan.scanInsOrderState, {
+ trees: this.selectTree.join('-'),
+ sampleCode: this.sampleCode,
+ entrustCode: this.entrustCode,
+ sonLaboratory: this.componentData.entity.sonLaboratory
+ }).then(res => {
+ this.upLoadStorage = false;
+ this.qrCodeVisible = false
+ this.sampleCode = '';
+ this.entrustCode = '';
+ this.selectTree = []
+ if (res.code == 201) {
+ this.$message.error('娣诲姞澶辫触')
return
}
- if (!this.entrustCode) {
- this.$message.error('璇峰~鍐欒鍗曠紪鍙�')
+ this.$message.success('娣诲姞鎴愬姛')
+ this.refreshTable()
+ })
+ },
+ // 纭鍑哄簱
+ confirmExport() {
+ if (!this.sampleCode) {
+ this.$message.error('璇峰~鍐欐牱鍝佺紪鍙�')
+ return
+ }
+ if (!this.entrustCode) {
+ this.$message.error('璇峰~鍐欒鍗曠紪鍙�')
+ return
+ }
+ this.upLoadExport = true;
+ this.$axios.post(this.$api.insOrderPlan.outInsOrderState, {
+ sampleCode: this.sampleCode,
+ entrustCode: this.entrustCode,
+ sonLaboratory: this.componentData.entity.sonLaboratory
+ }).then(res => {
+ this.upLoadExport = false;
+ this.exportVisible = false
+ this.sampleCode = '';
+ this.entrustCode = '';
+ if (res.code == 201) {
+ this.$message.error('鍑哄簱澶辫触')
return
}
- if (this.selectTree.length < 4) {
- this.$message.error('璇烽�夋嫨鏍峰搧鍏ュ簱浣嶇疆')
- return
- }
- this.upLoadStorage = true;
- this.$axios.post(this.$api.insOrderPlan.scanInsOrderState, {
- trees: this.selectTree.join('-'),
- sampleCode:this.sampleCode,
- entrustCode:this.entrustCode,
- sonLaboratory: this.componentData.entity.sonLaboratory
- }).then(res => {
- this.upLoadStorage = false;
- this.qrCodeVisible = false
- this.sampleCode = '';
- this.entrustCode = '';
- this.selectTree = []
- if (res.code == 201) {
- this.$message.error('娣诲姞澶辫触')
- return
- }
- this.$message.success('娣诲姞鎴愬姛')
- this.refreshTable()
- })
- },
- // 纭鍑哄簱
- confirmExport () {
- if (!this.sampleCode) {
- this.$message.error('璇峰~鍐欐牱鍝佺紪鍙�')
- return
- }
- if (!this.entrustCode) {
- this.$message.error('璇峰~鍐欒鍗曠紪鍙�')
- return
- }
- this.upLoadExport = true;
- this.$axios.post(this.$api.insOrderPlan.outInsOrderState, {
- sampleCode:this.sampleCode,
- entrustCode:this.entrustCode,
- sonLaboratory: this.componentData.entity.sonLaboratory
- }).then(res => {
- this.upLoadExport = false;
- this.exportVisible = false
- this.sampleCode = '';
- this.entrustCode = '';
- if (res.code == 201) {
- this.$message.error('鍑哄簱澶辫触')
- return
- }
- this.$message.success('鍑哄簱鎴愬姛')
- this.handleShelf(this.entity.shelfId)
- })
- },
- // 鎵爜鏋寜涓�
- keyup(e){
- var codeInfo = null
- try{
- console.log(2222,this.codeInfo)
- codeInfo = JSON.parse(this.codeInfo)
- if(!codeInfo||codeInfo.sampleCode==undefined||codeInfo.entrustCode==undefined){
- this.$message.error('璇ヤ簩缁寸爜鏈夎')
- }else{
- this.sampleCode = codeInfo.sampleCode
- this.entrustCode = codeInfo.entrustCode
- }
- }catch(e){
- this.$message.error('璇疯皟鑷宠嫳鏂囬敭鐩�')
- console.log(e)
- }
- this.codeInfo = null
- },
- // 鎷栨嫿
- initializeSortable() {
- const tableBody = this.$refs.table0.$el.querySelector('.el-table__body-wrapper > table > tbody');
- if (tableBody) {
- Sortable.create(tableBody, {
- handle: '.el-table__row', // 鎷栧姩鎵嬫焺
- animation: 200,
- onEnd: this.handleSortEnd,
- });
+ this.$message.success('鍑哄簱鎴愬姛')
+ this.handleShelf(this.entity.shelfId)
+ })
+ },
+ // 鎵爜鏋寜涓�
+ keyup(e) {
+ var codeInfo = null
+ try {
+ console.log(2222, this.codeInfo)
+ codeInfo = JSON.parse(this.codeInfo)
+ if (!codeInfo || codeInfo.sampleCode == undefined || codeInfo.entrustCode == undefined) {
+ this.$message.error('璇ヤ簩缁寸爜鏈夎')
} else {
- console.error('Table body not found.');
+ this.sampleCode = codeInfo.sampleCode
+ this.entrustCode = codeInfo.entrustCode
}
- },
- handleSortEnd(evt) {
- const oldIndex = evt.oldIndex;
- const newIndex = evt.newIndex;
- const movedItem = this.tableData[oldIndex];
- if (oldIndex !== newIndex) {
- this.tableData.splice(oldIndex, 1);
- this.tableData.splice(newIndex, 0, movedItem);
- }
- this.upIndex++
- this.$axios.post(this.$api.insOrderPlan.jumpTeam,
- {
- id: movedItem.orderStateId,
- sort: newIndex+1,
- ...this.page
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }
- ).then(res => {
-
- })
- },
- rowClassName({ row, rowIndex }) {
- return 'draggable-row';
- },
- // 鏁版嵁鏌ョ湅
- handleDataLook(row) {
- this.componentDataDataLook.entity.id = row.id
- this.dataDialogVisible = true;
- },
- // 鏉冮檺鍒嗛厤
- getPower(radio) {
- let power = JSON.parse(sessionStorage.getItem('power'))
- let inspection = false
- let connect = false
- let review = false
- let claim = false
- let jumpTeam = false
- let verifyPlan2 = false
- // let getInsProduct2 = false
- // let getInsOrderUserList = false
- for (var i = 0; i < power.length; i++) {
- if (power[i].menuMethod == 'doInsOrder') {
- inspection = true
- }
- if (power[i].menuMethod == 'upPlanUser') {
- connect = true
- }
- if (power[i].menuMethod == 'verifyPlan') {
- review = true
- }
- if (power[i].menuMethod == 'verifyPlan2') {
- verifyPlan2 = true
- }
- if (power[i].menuMethod == 'claimInsOrderPlan') {
- claim = true
- }
- if (power[i].menuMethod == 'jumpTeam') {
- jumpTeam = true
- }
- // if (power[i].menuMethod == 'getInsProduct2') {
- // getInsProduct2 = true
- // }
- if (power[i].menuMethod == 'scanInsOrderState') {
- this.scanInsOrderState = true
- }
- if (power[i].menuMethod == 'scanInsOrderState') {
- this.selectWarehouse = true
- }
- }
- // if (!getInsProduct2) {
- // this.componentData.do.splice(5, 1)
- // }
- // if (!claim) {
- // this.componentData.do.splice(4, 1)
- // }
- // if (!review) {
- // this.componentData.do.splice(3, 1)
- // }
- // if (!connect) {
- // this.componentData.do.splice(2, 1)
- // }
- // if (!inspection) {
- // this.componentData.do.splice(1, 1)
- // }
- // this.getInsProduct2 = getInsProduct2
- this.claim = claim
- this.review = review
- this.verifyPlan2 =verifyPlan2
- this.connect = connect
- this.inspection = inspection
- this.jumpTeam = jumpTeam
- },
- changeCheckBox(val) {
- this.componentData.entity.userId = val?0:null
- this.refreshTable()
- },
- refresh() {
- this.componentData.entity = this.HaveJson(this.entityCopy)
- if(this.tabList.length>0){
- this.tabIndex = 0
- this.componentData.entity.sonLaboratory = this.tabList[0].value
- }
- this.refreshTable()
- },
- claimFun(row) {
- if (row) {
- this.sampleUserForm = {
- entrustCode: row.entrustCode,
- insSampleId: row.sampleId,
- sonLaboratory: row.sonLaboratory,
- }
- this.claimVisible = true
- }
- },
- confirmClaim() {
- this.loading = true;
- // this.sampleUserForm.insSampleId = this.orderId
- this.$axios.post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, {
- headers: {
- 'Content-Type': 'application/json'
- },
- noQs:true
- },).then(res => {
- if (res.code === 200 && res.data) {
- this.loading = false;
- this.$message.success("璁ら鎴愬姛")
- this.claimVisible = false
- this.refreshTable('page')
- } else {
- this.loading = false;
- }
- }).catch(error => {
- console.error(error)
- this.loading = false;
- })
- },
- refreshTable() {
- this.tableLoading = true
- this.$axios.post(this.$api.insOrderPlan.selectInsOrderPlanList,{
- entity:this.componentData.entity,
- page:this.page
+ } catch (e) {
+ this.$message.error('璇疯皟鑷宠嫳鏂囬敭鐩�')
+ console.log(e)
+ }
+ this.codeInfo = null
+ },
+ // 鎷栨嫿
+ initializeSortable() {
+ const tableBody = this.$refs.table0.$el.querySelector('.el-table__body-wrapper > table > tbody');
+ if (tableBody) {
+ Sortable.create(tableBody, {
+ handle: '.el-table__row', // 鎷栧姩鎵嬫焺
+ animation: 200,
+ onEnd: this.handleSortEnd,
+ });
+ } else {
+ console.error('Table body not found.');
+ }
+ },
+ handleSortEnd(evt) {
+ const oldIndex = evt.oldIndex;
+ const newIndex = evt.newIndex;
+ const movedItem = this.tableData[oldIndex];
+ if (oldIndex !== newIndex) {
+ this.tableData.splice(oldIndex, 1);
+ this.tableData.splice(newIndex, 0, movedItem);
+ }
+ this.upIndex++
+ this.$axios.post(this.$api.insOrderPlan.jumpTeam,
+ {
+ id: movedItem.orderStateId,
+ sort: newIndex + 1,
+ ...this.page
}, {
- headers: {
- 'Content-Type': 'application/json'
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }
+ ).then(res => {
+
+ })
+ },
+ rowClassName({ row, rowIndex }) {
+ return 'draggable-row';
+ },
+ // 鏁版嵁鏌ョ湅
+ handleDataLook(row) {
+ this.componentDataDataLook.entity.id = row.id
+ this.dataDialogVisible = true;
+ },
+ // 鏉冮檺鍒嗛厤
+ getPower(radio) {
+ let power = JSON.parse(sessionStorage.getItem('power'))
+ let inspection = false
+ let connect = false
+ let review = false
+ let claim = false
+ let jumpTeam = false
+ let verifyPlan2 = false
+ // let getInsProduct2 = false
+ // let getInsOrderUserList = false
+ for (var i = 0; i < power.length; i++) {
+ if (power[i].menuMethod == 'doInsOrder') {
+ inspection = true
+ }
+ if (power[i].menuMethod == 'upPlanUser') {
+ connect = true
+ }
+ if (power[i].menuMethod == 'verifyPlan') {
+ review = true
+ }
+ if (power[i].menuMethod == 'verifyPlan2') {
+ verifyPlan2 = true
+ }
+ if (power[i].menuMethod == 'claimInsOrderPlan') {
+ claim = true
+ }
+ if (power[i].menuMethod == 'jumpTeam') {
+ jumpTeam = true
+ }
+ // if (power[i].menuMethod == 'getInsProduct2') {
+ // getInsProduct2 = true
+ // }
+ if (power[i].menuMethod == 'scanInsOrderState') {
+ this.scanInsOrderState = true
+ }
+ if (power[i].menuMethod == 'scanInsOrderState') {
+ this.selectWarehouse = true
+ }
+ }
+ // if (!getInsProduct2) {
+ // this.componentData.do.splice(5, 1)
+ // }
+ // if (!claim) {
+ // this.componentData.do.splice(4, 1)
+ // }
+ // if (!review) {
+ // this.componentData.do.splice(3, 1)
+ // }
+ // if (!connect) {
+ // this.componentData.do.splice(2, 1)
+ // }
+ // if (!inspection) {
+ // this.componentData.do.splice(1, 1)
+ // }
+ // this.getInsProduct2 = getInsProduct2
+ this.claim = claim
+ this.review = review
+ this.verifyPlan2 = verifyPlan2
+ this.connect = connect
+ this.inspection = inspection
+ this.jumpTeam = jumpTeam
+ },
+ changeCheckBox(val) {
+ this.componentData.entity.userId = val ? 0 : null
+ this.refreshTable()
+ },
+ refresh() {
+ this.componentData.entity = this.HaveJson(this.entityCopy)
+ if (this.tabList.length > 0) {
+ this.tabIndex = 0
+ this.componentData.entity.sonLaboratory = this.tabList[0].value
+ }
+ this.refreshTable()
+ },
+ claimFun(row) {
+ if (row) {
+ this.sampleUserForm = {
+ entrustCode: row.entrustCode,
+ insSampleId: row.sampleId,
+ sonLaboratory: row.sonLaboratory,
+ }
+ this.claimVisible = true
+ }
+ },
+ confirmClaim() {
+ this.loading = true;
+ // this.sampleUserForm.insSampleId = this.orderId
+ this.$axios.post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, {
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ noQs: true
+ },).then(res => {
+ if (res.code === 200 && res.data) {
+ this.loading = false;
+ this.$message.success("璁ら鎴愬姛")
+ this.claimVisible = false
+ this.refreshTable('page')
+ } else {
+ this.loading = false;
+ }
+ }).catch(error => {
+ console.error(error)
+ this.loading = false;
+ })
+ },
+ refreshTable() {
+ this.tableLoading = true
+ this.$axios.post(this.$api.insOrderPlan.selectInsOrderPlanList, {
+ entity: this.componentData.entity,
+ page: this.page
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then((res) => {
+ this.tableLoading = false
+ this.total = res.data.body.total
+ this.tableData = res.data.body.records
+ // this.$refs.table0.doLayout()
+ })
+ },
+ changeRowClass({
+ row,
+ rowIndex
+ }) {
+ if (this.currentTime == row.appointed) {
+ return 'highlight-warning-row-border'
+ } else if (this.currentTime > row.appointed) {
+ return 'highlight-danger-row-border'
+ }
+ return ''
+ },
+ onReset() {
+ this.searchForm = {
+ sampleName: null,
+ state: null,
+ }
+ this.componentData.entity.insState = null
+ this.componentData.entity.sampleName = null
+ this.refreshTable()
+ },
+ onSubmit() {
+ this.componentData.entity.insState = this.searchForm.state
+ this.componentData.entity.sampleName = this.searchForm.sampleName
+ this.$nextTick(() => {
+ this.refreshTable()
+ })
+ },
+ handleTab(m, i) {
+ this.tabIndex = i;
+ this.componentData.entity.sonLaboratory = m.value
+ 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'
}
- }).then((res) => {
- this.tableLoading = false
- this.total = res.data.body.total
- this.tableData = res.data.body.records
- // this.$refs.table0.doLayout()
})
- },
- changeRowClass({
- row,
- rowIndex
- }) {
- if (this.currentTime == row.appointed) {
- return 'highlight-warning-row-border'
- } else if (this.currentTime > row.appointed) {
- return 'highlight-danger-row-border'
- }
- return ''
- },
- onReset() {
- this.searchForm = {
- sampleName: null,
- state: null,
- }
- this.componentData.entity.insState = null
- this.componentData.entity.sampleName = null
- this.refreshTable()
- },
- onSubmit() {
- this.componentData.entity.insState = this.searchForm.state
- this.componentData.entity.sampleName = this.searchForm.sampleName
- this.$nextTick(() => {
- this.refreshTable()
- })
- },
- handleTab(m, i) {
- this.tabIndex = i;
- this.componentData.entity.sonLaboratory = m.value
- 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
- this.typeList = 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, {
- category: "瀛愬疄楠屽"
- }).then(res => {
- this.tabList = res.data.map(ele => {
- return {
- label: ele.label,
- value: ele.value
- }
- })
- if(this.tabList.length>0){
- this.componentData.entity.sonLaboratory = this.tabList[0].value
- }
- this.refreshTable()
- })
- },
- selectAllByOne(row) {
- this.activeFace = 2;
- this.examine = 1;
- this.currentId = parseInt(row.id)
- },
- playOrder(num) {
- this.activeFace = num
- },
- goback() {
- this.state = 0
- this.refreshTable('page')
- },
- handleInspection(row){
- //褰撳墠妫�楠屼换鍔$殑妫�楠屼汉鍒楄〃
- let inspectorList = []
- if(row.userName){
- inspectorList = row.userName.split(',')
+ this.componentData.tagField.type.select = data
+ this.typeList = 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, {
+ category: "瀛愬疄楠屽"
+ }).then(res => {
+ this.tabList = res.data.map(ele => {
+ return {
+ label: ele.label,
+ value: ele.value
+ }
+ })
+ if (this.tabList.length > 0) {
+ this.componentData.entity.sonLaboratory = this.tabList[0].value
}
- let user = JSON.parse(localStorage.getItem('user'))
- if(user){
- inspectorList.push(user.name)
- }
- this.inspectorList = inspectorList
- this.orderId = row.sampleId
- this.orderId0 = row.id
- this.version = row.version
- this.orderStateId = row.orderStateId
- this.state = 1;
- this.userInfo.name = row.userName.split(',')
- this.userInfo.ids = row.userNameId.split(',')
- this.isLook = false
- },
- handleConnect(row){
- this.orderId = row.sampleId
- this.orderId0 = 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
- // })
- // })
- // // this.connect.sonLaboratory = this.sonLaboratoryList[0].value
- // }
- // })
- },
- cancelSubmitPlan(row){
- this.$confirm('纭畾鎾ら攢姝ゆ妫�楠屾彁浜�?', "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- }).then(() => {
- this.$axios.post(this.$api.insOrderPlan.cancelSubmitPlan, {
+ this.refreshTable()
+ })
+ },
+ selectAllByOne(row) {
+ this.activeFace = 2;
+ this.examine = 1;
+ this.currentId = parseInt(row.id)
+ },
+ playOrder(num) {
+ this.activeFace = num
+ },
+ goback() {
+ this.state = 0
+ this.refreshTable('page')
+ },
+ handleInspection(row) {
+ //褰撳墠妫�楠屼换鍔$殑妫�楠屼汉鍒楄〃
+ let inspectorList = []
+ if (row.userName) {
+ inspectorList = row.userName.split(',')
+ }
+ let user = JSON.parse(localStorage.getItem('user'))
+ if (user) {
+ inspectorList.push(user.name)
+ }
+ this.inspectorList = inspectorList
+ this.orderId = row.sampleId
+ this.orderId0 = row.id
+ this.version = row.version
+ this.orderStateId = row.orderStateId
+ this.state = 1;
+ this.userInfo.name = row.userName.split(',')
+ this.userInfo.ids = row.userNameId.split(',')
+ this.isLook = false
+ },
+ handleConnect(row) {
+ this.orderId = row.sampleId
+ this.orderId0 = 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
+ // })
+ // })
+ // // this.connect.sonLaboratory = this.sonLaboratoryList[0].value
+ // }
+ // })
+ },
+ cancelSubmitPlan(row) {
+ this.$confirm('纭畾鎾ら攢姝ゆ妫�楠屾彁浜�?', "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(() => {
+ this.$axios.post(this.$api.insOrderPlan.cancelSubmitPlan, {
orderStateId: row.orderStateId
- }).then(res => {
- if(res.code==201){
+ }).then(res => {
+ if (res.code == 201) {
return
}
this.$message.success("鎿嶄綔鎴愬姛")
this.refreshTable('page')
- }).catch(() => {})
- }).catch(() => {})
- },
- confirmConnect(){
- if(this.connect.connectPerson==null||this.connect.connectPerson==''||this.connect.connectPerson==undefined){
- this.$message.error('鏈�夋嫨浜ゆ帴浜哄憳')
- return
- }
- // if(this.connect.sonLaboratory==null||this.connect.sonLaboratory==''||this.connect.sonLaboratory==undefined){
- // this.$message.error('鏈�夋嫨璇曢獙瀹�')
- // return
- // }
- this.loading = true;
- this.$axios.post(this.$api.insOrderPlan.upPlanUser, {
- sampleId:this.orderId,
- userId:this.connect.connectPerson,
- sonLaboratory:this.componentData.entity.sonLaboratory,
- }).then(res => {
- if (res.code === 200) {
- this.loading = false;
- this.$message.success("鎿嶄綔鎴愬姛")
- this.refreshTable('page')
- }
- this.connectVisible = false
- }).catch(error => {
- console.error(error)
- this.loading = false;
- })
- },
- handleReview(row){
- this.state = 2;
- this.orderId = row.sampleId
- this.orderId0 = row.id
- this.version = row.version
- this.orderStateId = row.orderStateId
- this.isLook = false
- },
- getAuthorizedPerson() {
- this.$axios.get(this.$api.user.getUserMenu).then(res => {
- let data = []
- res.data.forEach(a => {
- data.push({
- label: a.name,
- value: a.id
- })
- })
- this.personList = data
- })
- },
- lookHistory0(row){
- this.currentHistory = row
- this.$axios.post(this.$api.insOrderPlan.getInsOrderUserList, {
- insOrderStateId:row.orderStateId,
- }).then(res => {
- this.historyList = res.data
- this.historyDialogVisible = true
- })
- },
- lookHistory(row){
- this.isLook = true
- this.state = 2;
- this.orderId = this.currentHistory.sampleId
- this.orderId0 = this.currentHistory.id
- this.version = this.currentHistory.version
- this.orderStateId = this.currentHistory.orderStateId
- this.num1 = row.num
- this.historyDialogVisible = false
- },
- // 绾犳澶嶆牳
- upInsReview(){
- if(this.verifyPlanInfo.type!=0&&this.verifyPlanInfo.type!=1&&this.verifyPlanInfo.type!=2){
- return this.$message.error("璇烽�夋嫨澶嶆牳鐘舵��");
- }
- if(!this.verifyPlanInfo.tell){
- return this.$message.error("璇疯緭鍏ョ籂姝e鏍哥殑鍘熷洜");
- }
- this.reviewLoading = true;
- this.$axios
- .post(this.$api.insOrderPlan.verifyPlan2, {
- sampleId: this.verifyPlanInfo.sampleId,
- type: this.verifyPlanInfo.type,
- laboratory: this.componentData.entity.sonLaboratory,
- tell: this.verifyPlanInfo.tell
- })
- .then(res => {
- if (res.code === 200) {
- this.$message.success("鎿嶄綔鎴愬姛");
- this.upInsReviewDia = false;
- this.refreshTable()
- }
- this.reviewLoading = false;
- })
- .catch(error => {
- console.error(error);
- this.reviewLoading = false;
- });
- },
- handleReview0(row){
- this.verifyPlanInfo = JSON.parse(JSON.stringify(row));
- this.$set(this.verifyPlanInfo,'tell',null)
- this.$set(this.verifyPlanInfo,'type',null)
- this.upInsReviewDia = true
+ }).catch(() => { })
+ }).catch(() => { })
+ },
+ confirmConnect() {
+ if (this.connect.connectPerson == null || this.connect.connectPerson == '' || this.connect.connectPerson == undefined) {
+ this.$message.error('鏈�夋嫨浜ゆ帴浜哄憳')
+ return
}
- }
- }
+ // if(this.connect.sonLaboratory==null||this.connect.sonLaboratory==''||this.connect.sonLaboratory==undefined){
+ // this.$message.error('鏈�夋嫨璇曢獙瀹�')
+ // return
+ // }
+ this.loading = true;
+ this.$axios.post(this.$api.insOrderPlan.upPlanUser, {
+ sampleId: this.orderId,
+ userId: this.connect.connectPerson,
+ sonLaboratory: this.componentData.entity.sonLaboratory,
+ }).then(res => {
+ if (res.code === 200) {
+ this.loading = false;
+ this.$message.success("鎿嶄綔鎴愬姛")
+ this.refreshTable('page')
+ }
+ this.connectVisible = false
+ }).catch(error => {
+ console.error(error)
+ this.loading = false;
+ })
+ },
+ handleReview(row) {
+ this.state = 2;
+ this.orderId = row.sampleId
+ this.orderId0 = row.id
+ this.version = row.version
+ this.orderStateId = row.orderStateId
+ this.isLook = false
+ },
+ getAuthorizedPerson() {
+ this.$axios.get(this.$api.user.getUserMenu).then(res => {
+ let data = []
+ res.data.forEach(a => {
+ data.push({
+ label: a.name,
+ value: a.id
+ })
+ })
+ this.personList = data
+ })
+ },
+ lookHistory0(row) {
+ this.currentHistory = row
+ this.$axios.post(this.$api.insOrderPlan.getInsOrderUserList, {
+ insOrderStateId: row.orderStateId,
+ }).then(res => {
+ this.historyList = res.data
+ this.historyDialogVisible = true
+ })
+ },
+ lookHistory(row) {
+ this.isLook = true
+ this.state = 2;
+ this.orderId = this.currentHistory.sampleId
+ this.orderId0 = this.currentHistory.id
+ this.version = this.currentHistory.version
+ this.orderStateId = this.currentHistory.orderStateId
+ this.num1 = row.num
+ this.historyDialogVisible = false
+ },
+ // 绾犳澶嶆牳
+ upInsReview() {
+ if (this.verifyPlanInfo.type != 0 && this.verifyPlanInfo.type != 1 && this.verifyPlanInfo.type != 2) {
+ return this.$message.error("璇烽�夋嫨澶嶆牳鐘舵��");
+ }
+ if (!this.verifyPlanInfo.tell) {
+ return this.$message.error("璇疯緭鍏ョ籂姝e鏍哥殑鍘熷洜");
+ }
+ this.reviewLoading = true;
+ this.$axios
+ .post(this.$api.insOrderPlan.verifyPlan2, {
+ sampleId: this.verifyPlanInfo.sampleId,
+ type: this.verifyPlanInfo.type,
+ laboratory: this.componentData.entity.sonLaboratory,
+ tell: this.verifyPlanInfo.tell
+ })
+ .then(res => {
+ if (res.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.upInsReviewDia = false;
+ this.refreshTable()
+ }
+ this.reviewLoading = false;
+ })
+ .catch(error => {
+ console.error(error);
+ this.reviewLoading = false;
+ });
+ },
+ handleReview0(row) {
+ this.verifyPlanInfo = JSON.parse(JSON.stringify(row));
+ this.$set(this.verifyPlanInfo, 'tell', null)
+ this.$set(this.verifyPlanInfo, 'type', null)
+ this.upInsReviewDia = true
+ },
+ sortChange(ob) {
+ this.componentData.entity.orderBy = {}
+ this.componentData.entity.orderBy.field = ob.prop
+ if (ob.order == 'ascending') {
+ this.componentData.entity.orderBy.order = 'asc'
+ } else if (ob.order == 'descending') {
+ this.componentData.entity.orderBy.order = 'desc'
+ }
+ this.refreshTable()
+ }
+ }
+}
</script>
--
Gitblit v1.9.3