| | |
| | | <style scoped> |
| | | ins-order-plan-main .title { |
| | | .ins-order-plan-main .title { |
| | | font-size: 20px; |
| | | color: #3A7BFA |
| | | } |
| | |
| | | border-radius: 8px 0 0 8px; |
| | | } |
| | | |
| | | .tab li:nth-child(3) { |
| | | .tab li:nth-last-child(1) { |
| | | border-radius: 0 8px 8px 0; |
| | | } |
| | | |
| | |
| | | .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"> |
| | |
| | | <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> |
| | |
| | | 是否认领委托编号<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">确 定</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_label" style="width:90px">交接人员:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="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> |
| | | <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"/> |
| | | </div> |
| | | <Inspection v-if="state==1" @goback="goback" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory"/> |
| | | <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory" :state="state"/> |
| | | </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 { number } from 'echarts' |
| | | export default { |
| | | components: { |
| | | ValueTable, |
| | |
| | | type: 'text', |
| | | method: 'handleInspection', |
| | | disabFun: (row, index) => { |
| | | return row.userId == null |
| | | 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.userId == null || row.orderUserId == null || row.insState == 5 || row.insState == 3 |
| | | } |
| | | }, |
| | | { |
| | | id: '', |
| | | font: '复核', |
| | | type: 'text', |
| | | disabFun: (row, index) => { |
| | | return row.userId == null || row.insState != 4 |
| | | } |
| | | method: 'handleReview', |
| | | /* disabFun: (row, index) => { |
| | | return row.userId == null || row.insState != 3 || row.verifyUser != 1 |
| | | } */ |
| | | }, { |
| | | id: '', |
| | | font: '认领', |
| | |
| | | upIndex: 0, |
| | | planTotal: 0, |
| | | insStateList: [], |
| | | state:0,//0:台账页,1:检验页面,默认为0 |
| | | activeFace: 0, //1:下单,2:查看,3:审核 |
| | | state:0,//0:台账页,1:检验页面,2检验页面(复核),默认为0 |
| | | activeFace: 0, //1:下单,2:查看,3:审核,默认为0 |
| | | currentId: null, |
| | | entityCopy: {}, |
| | | orderId: 0, |
| | | personList:[], |
| | | connectVisible:false, |
| | | connectPerson:'', |
| | | loading:false, |
| | | currentTime: null |
| | | } |
| | | }, |
| | |
| | | this.getLaboratoryDicts() |
| | | this.getTypeDicts() |
| | | this.getInsStateDicts() |
| | | this.getAuthorizedPerson() |
| | | this.currentTime = getYearAndMonthAndDays() |
| | | }, |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.componentData.entity) |
| | | this.getPower() |
| | | }, |
| | | methods: { |
| | | // 权限分配 |
| | | getPower(radio) { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let inspection = false |
| | | let connect = false |
| | | let review = false |
| | | let claim = 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 == 'claimInsOrderPlan') { |
| | | claim = true |
| | | } |
| | | } |
| | | if (!claim) { |
| | | this.componentData.do.splice(3, 1) |
| | | } |
| | | if (!review) { |
| | | this.componentData.do.splice(2, 1) |
| | | } |
| | | if (!connect) { |
| | | this.componentData.do.splice(1, 1) |
| | | } |
| | | if (!inspection) { |
| | | this.componentData.do.splice(0, 1) |
| | | } |
| | | }, |
| | | changeCheckBox(val) { |
| | | this.componentData.entity.userId = val?0:null |
| | | this.refreshTable() |
| | |
| | | } |
| | | }, |
| | | confirmClaim() { |
| | | this.loading = true; |
| | | this.$axios.post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code === 200 && res.data) { |
| | | this.loading = false; |
| | | this.$message.success("认领成功") |
| | | this.claimVisible = false |
| | | this.refreshTable() |
| | | } |
| | | }).catch(error => { |
| | | console.error(error) |
| | | this.loading = false; |
| | | }) |
| | | }, |
| | | refreshTable() { |
| | |
| | | row, |
| | | rowIndex |
| | | }) { |
| | | if (this.currentTime === row.appointed) { |
| | | if (this.currentTime == row.appointed) { |
| | | return 'highlight-warning-row-border' |
| | | } else if (this.currentTime > row.appointed) { |
| | | return 'highlight-danger-row-border' |
| | |
| | | handleInspection(row){ |
| | | this.state = 1; |
| | | this.orderId = row.id |
| | | } |
| | | }, |
| | | handleConnect(row){ |
| | | this.orderId = row.id |
| | | this.connectVisible=true; |
| | | }, |
| | | confirmConnect(){ |
| | | if(this.connectPerson){ |
| | | this.loading = true; |
| | | this.$axios.post(this.$api.insOrderPlan.upPlanUser, { |
| | | orderId:this.orderId, |
| | | userId:this.connectPerson |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.loading = false; |
| | | this.$message.success("操作成功") |
| | | this.refreshTable() |
| | | } |
| | | this.connectVisible = false |
| | | }).catch(error => { |
| | | console.error(error) |
| | | this.loading = false; |
| | | }) |
| | | }else{ |
| | | this.$message.error('未选择交接人员') |
| | | } |
| | | }, |
| | | handleReview(row){ |
| | | this.state = 2; |
| | | this.orderId = row.id |
| | | }, |
| | | 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 |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |