| | |
| | | .ins-order-plan-main .el-form-item__label{ |
| | | color: #000; |
| | | } |
| | | |
| | | .ins-order-plan-main .el-table th.el-table__cell>.cell{ |
| | | height: 46px; |
| | | line-height: 30px; |
| | | } |
| | | </style> |
| | | <template> |
| | | <div class="ins-order-plan-main"> |
| | | <div v-show="activeFace == 0&&state==0" style="height: 100%;"> |
| | | <p style="font-size: 16px;padding:19.5px 0px">检验任务</p> |
| | | <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> |
| | |
| | | <el-col :span="21"> |
| | | <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}} |
| | | <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label.replace('试验室','')}} |
| | | </li> |
| | | </ul> |
| | | <div> |
| | |
| | | </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"/> |
| | | </div> |
| | |
| | | </el-dialog> |
| | | <el-dialog title="检验交接" :visible.sync="connectVisible" width="400px"> |
| | | <div class="search_thing"> |
| | | <div class="search_label" style="width:90px">交接人员:</div> |
| | | <div class="search_label" style="width:90px"><span class="required-span">* </span>交接人员:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="connectPerson" placeholder="请选择" style="width: 100%;"> |
| | | <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> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <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.sonLaboratory" placeholder="请选择" style="width: 100%;" filterable> |
| | | <el-option |
| | | v-for="item in sonLaboratoryList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | |
| | | <Add :active="activeFace" :currentId="currentId"/> |
| | | </div> |
| | | <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory" :state="state"/> |
| | | </div> |
| | | <el-dialog title="数据查看" :visible.sync="dataDialogVisible" width="80%"> |
| | | <div style="height: 70vh;overflow-y: auto;" v-if="dataDialogVisible"> |
| | | <ValueTable ref="ValueTableDataLook" :url="$api.insOrder.selectSampleAndProductByOrderId" |
| | | :componentData="componentDataDataLook"/> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../tool/value-table.vue' |
| | | import Inspection from '../do/b1-inspect-order-plan/Inspection.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 { CellGroup } from 'iview' |
| | | export default { |
| | | components: { |
| | | ValueTable, |
| | |
| | | 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' |
| | | }] |
| | | } |
| | | }, |
| | | selectField: {}, |
| | | spanConfig:{ |
| | | rows:[ |
| | | { |
| | | name:'sampleCode', |
| | | index:0 |
| | | }, |
| | | { |
| | | name:'sample', |
| | | index:1 |
| | | }, |
| | | { |
| | | name:'model', |
| | | index:5 |
| | | } |
| | | ] |
| | | }, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | dataDialogVisible: false, |
| | | componentData: { |
| | | entity: { |
| | | sonLaboratory: null, |
| | |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | sort: 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.userId == null |
| | | return row.userName == null || row.insState == 3 || row.insState == 5||(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.userId == null |
| | | return row.userName == null || row.insState == 5 || row.insState == 3||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name)) |
| | | } |
| | | }, |
| | | { |
| | |
| | | font: '复核', |
| | | type: 'text', |
| | | method: 'handleReview', |
| | | // disabFun: (row, index) => { |
| | | // return row.userId == null || row.insState != 4 |
| | | // } |
| | | 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.userId != null |
| | | return row.userName != null || row.checkName!=null |
| | | } |
| | | } |
| | | ], |
| | |
| | | orderId: 0, |
| | | personList:[], |
| | | connectVisible:false, |
| | | connectPerson:'', |
| | | connect:{ |
| | | connectPerson:'', |
| | | sonLaboratory:'' |
| | | }, |
| | | loading:false, |
| | | currentTime: null |
| | | currentTime: null, |
| | | sonLaboratoryList:[] |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | this.getPower() |
| | | }, |
| | | methods: { |
| | | // 数据查看 |
| | | handleDataLook(row) { |
| | | this.componentDataDataLook.entity.id = row.id |
| | | this.dataDialogVisible = true; |
| | | }, |
| | | // 权限分配 |
| | | getPower(radio) { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | |
| | | if (row) { |
| | | this.sampleUserForm = { |
| | | entrustCode: row.entrustCode, |
| | | insSampleId: row.id |
| | | insSampleId: row.id, |
| | | sonLaboratory: row.sonLaboratory, |
| | | } |
| | | this.claimVisible = true |
| | | } |
| | |
| | | this.loading = false; |
| | | this.$message.success("认领成功") |
| | | this.claimVisible = false |
| | | this.refreshTable() |
| | | this.refreshTable('page') |
| | | } |
| | | }).catch(error => { |
| | | console.error(error) |
| | | this.loading = false; |
| | | }) |
| | | }, |
| | | refreshTable() { |
| | | this.$refs.insOrderPlan.selectList() |
| | | refreshTable(e) { |
| | | this.$refs.insOrderPlan.selectList(e) |
| | | }, |
| | | changeRowClass({ |
| | | row, |
| | |
| | | }, |
| | | goback() { |
| | | this.state = 0 |
| | | this.refreshTable() |
| | | this.refreshTable('page') |
| | | }, |
| | | handleInspection(row){ |
| | | this.state = 1; |
| | |
| | | }, |
| | | handleConnect(row){ |
| | | this.orderId = row.id |
| | | this.connect = {} |
| | | this.connectVisible=true; |
| | | this.$axios.post(this.$api.insOrderPlan.upPlanUser2, { |
| | | orderId:this.orderId, |
| | | }).then(res => { |
| | | if (res.code === 200&&res.data.length>0) { |
| | | this.sonLaboratoryList = []; |
| | | res.data.forEach(m=>{ |
| | | this.sonLaboratoryList.push({ |
| | | value:m, |
| | | label:m |
| | | }) |
| | | }) |
| | | this.connect.sonLaboratory = this.sonLaboratoryList[0].value |
| | | } |
| | | }) |
| | | }, |
| | | confirmConnect(){ |
| | | if(this.connectPerson){ |
| | | this.loading = true; |
| | | 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, { |
| | | orderId:this.orderId, |
| | | userId:this.connectPerson |
| | | userId:this.connect.connectPerson, |
| | | sonLaboratory:this.connect.sonLaboratory, |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.loading = false; |
| | | this.$message.success("操作成功") |
| | | this.refreshTable() |
| | | this.refreshTable('page') |
| | | } |
| | | this.connectVisible = false |
| | | }).catch(error => { |
| | | console.error(error) |
| | | this.loading = false; |
| | | }) |
| | | }else{ |
| | | this.$message.error('未选择交接人员') |
| | | } |
| | | }, |
| | | handleReview(row){ |
| | | this.state = 2; |