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