| | |
| | | color: #3A7BFA |
| | | } |
| | | |
| | | .search { |
| | | background-color: #fff; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_thing { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 50px; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 120px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 120px); |
| | | } |
| | | |
| | | .ins-order-plan-main .search { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | |
| | | |
| | | .center .center-options .center-title { |
| | | width: 100%; |
| | | text-align: right; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: right; |
| | | } |
| | | |
| | | .center .center-options .center-title span:last-child { |
| | |
| | | </style> |
| | | <template> |
| | | <div class="ins-order-plan-main"> |
| | | <p style="font-size: 16px;padding:19.5px 0px" v-show="state==0">检验任务</p> |
| | | <div class="search" v-show="state==0"> |
| | | <el-form :inline="true" :model="searchForm" class="form-inline"> |
| | | <el-form-item label="样品名称:"> |
| | | <el-input clearable v-model="searchForm.sampleName" size="small" placeholder="请输入"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="状态:"> |
| | | <el-select clearable size="small" v-model="searchForm.state" placeholder="请选择"> |
| | | <el-option v-for="(item,index) in insStateList" :key="index" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="small" @click="onReset">重置</el-button> |
| | | <el-button size="small" type="primary" @click="onSubmit">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="center" v-show="state==0"> |
| | | <div class="center-options"> |
| | | <el-row> |
| | | <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> |
| | | </ul> |
| | | <div> |
| | | <el-checkbox @change="changeCheckBox" class="view-self-checkbox" |
| | | v-model="viewSelf"><span>我的任务</span></el-checkbox> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div class="center-title"> |
| | | <span>总计任务数量:</span> |
| | | <span v-if="$refs.insOrderPlan != undefined">{{$refs.insOrderPlan.total}}</span> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-show="activeFace == 0&&state==0" style="height: 100%;"> |
| | | <p style="font-size: 16px;padding:19.5px 0px">检验任务</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="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> |
| | | <ValueTable :tableRowClassName="changeRowClass" class="value-table" ref="insOrderPlan" |
| | | :url="$api.insOrderPlan.selectInsOrderPlanList" :upUrl="$api.user.updateUser" :componentData="componentData" |
| | | :key="upIndex" @upUser="upUser" /> |
| | | <div class="center"> |
| | | <div class="center-options"> |
| | | <el-row> |
| | | <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> |
| | | </ul> |
| | | <div> |
| | | <el-checkbox @change="changeCheckBox" class="view-self-checkbox" |
| | | v-model="alone"><span>我的任务</span></el-checkbox> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div class="center-title"> |
| | | <span>总计任务数量:</span> |
| | | <span v-if="$refs.insOrderPlan != undefined">{{$refs.insOrderPlan.total}}</span> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <ValueTable :tableRowClassName="changeRowClass" class="value-table" ref="insOrderPlan" |
| | | :url="$api.insOrderPlan.selectInsOrderPlanList" :upUrl="$api.user.updateUser" :componentData="componentData" @handleInspection="handleInspection" |
| | | :key="upIndex"/> |
| | | </div> |
| | | </div> |
| | | <Inspection v-if="state==1" @goback="state=0"/> |
| | | <el-dialog title="提示" :visible.sync="claimVisible" width="400px"> |
| | | 是否认领委托编号<span style="color:#33C130">{{sampleUserForm.entrustCode}}</span>的任务 |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | <el-button type="primary" @click="confirmClaim">确 定</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="state=0"/> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { |
| | | getYearAndMonthAndDays |
| | | } from '../../util/date' |
| | | import Add from '../do/b1-ins-order/add.vue' |
| | | import { number } from 'echarts' |
| | | export default { |
| | | components: { |
| | | ValueTable, |
| | | Inspection |
| | | Inspection, |
| | | Add |
| | | }, |
| | | data() { |
| | | return { |
| | | viewSelf: false, |
| | | alone: false, |
| | | sampleUserForm: { |
| | | entrustCode: null, |
| | | insSampleId: null, |
| | | userId: null |
| | | }, |
| | | claimVisible: false, |
| | | searchForm: { |
| | | sampleName: null, |
| | | state: null |
| | | }, |
| | | tabList: [], |
| | | active: 1, |
| | | tabIndex: 0, |
| | | componentData: { |
| | | entity: { |
| | | viewSelf: false, |
| | | state: 1, |
| | | sonLaboratory: null, |
| | | insState: null, |
| | | sampleName: null, |
| | | orderBy: { |
| | | field: 'type', |
| | | order: 'desc' |
| | | } |
| | | userId: null |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | |
| | | id: '', |
| | | font: '检验', |
| | | type: 'text', |
| | | method: '', |
| | | field: [] |
| | | method: 'handleInspection' |
| | | }, { |
| | | id: '', |
| | | font: '交接', |
| | |
| | | type: 'text', |
| | | method: 'claimFun', |
| | | disabFun: (row, index) => { |
| | | return row.sampleUserId != null |
| | | return row.userId != null |
| | | } |
| | | } |
| | | ], |
| | | linkEvent: { |
| | | entrustCode: { |
| | | method: 'selectAllByOne' |
| | | } |
| | | }, |
| | | tagField: { |
| | | type: { |
| | | select: [] |
| | |
| | | upIndex: 0, |
| | | planTotal: 0, |
| | | insStateList: [], |
| | | state:0//0:台账页,1:检验页面,默认为0 |
| | | state:0,//0:台账页,1:检验页面,默认为0 |
| | | activeFace: 0, //1:下单,2:查看,3:审核 |
| | | currentId: null, |
| | | } |
| | | }, |
| | | created() { |
| | | this.getLaboratoryDicts() |
| | | this.getTypeDicts() |
| | | this.getInsStateDicts() |
| | | this.getLaboratoryDicts() |
| | | this.$nextTick(() => { |
| | | this.refreshTable() |
| | | }) |
| | | }, |
| | | methods: { |
| | | upUser() { |
| | | |
| | | }, |
| | | changeCheckBox(val) { |
| | | this.componentData.entity.viewSelf = val |
| | | this.$nextTick(() => { |
| | | this.refreshTable() |
| | | }) |
| | | this.componentData.entity.userId = val?0:null |
| | | this.refreshTable() |
| | | }, |
| | | claimFun(row) { |
| | | console.log(row) |
| | | if (row) { |
| | | this.sampleUserForm = { |
| | | entrustCode: row.entrustCode, |
| | |
| | | } |
| | | this.claimVisible = true |
| | | } |
| | | |
| | | }, |
| | | confirmClaim() { |
| | | this.$axios.post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, { |
| | |
| | | rowIndex |
| | | }) { |
| | | let currentTime = getYearAndMonthAndDays() |
| | | if (row.sendTime && currentTime === row.sendTime) { |
| | | if (currentTime === row.appointed) { |
| | | return 'highlight-warning-row-border' |
| | | } else if (row.sendTime && currentTime > row.sendTime) { |
| | | } else if (currentTime > row.appointed) { |
| | | return 'highlight-danger-row-border' |
| | | } |
| | | return '' |
| | |
| | | value: ele.value |
| | | } |
| | | }) |
| | | if(this.tabList.length>0){ |
| | | this.componentData.entity.sonLaboratory = this.tabList[0].value |
| | | } |
| | | this.refreshTable() |
| | | }) |
| | | } |
| | | }, |
| | | selectAllByOne(row) { |
| | | this.activeFace = 2; |
| | | this.currentId = parseInt(row.id) |
| | | }, |
| | | playOrder(num) { |
| | | this.activeFace = num |
| | | }, |
| | | handleInspection(row){ |
| | | this.state = 1; |
| | | } |
| | | } |
| | | } |
| | | </script> |