licp
2024-03-22 0b89c49a1e3ab87368b689d985e28a977a9bb84e
合并冲突
已修改5个文件
219 ■■■■■ 文件已修改
src/components/do/b1-ins-order/add.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-inspect-order-plan/Inspection.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/tool/value-table.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-inspect-order-plan.vue 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-inspection-order.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/add.vue
@@ -245,7 +245,7 @@
                </el-table-column>
                <el-table-column prop="standardMethodListId" label="检验标准" align="center" min-width="100">
                    <template slot-scope="scope">
                        <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null" placeholder="检验标准" size="small"
                        <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1" placeholder="检验标准" size="small"
                            :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)" @focus="methodFocus" :readonly="active>1">
                            <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
                            </el-option>
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -1,10 +1,10 @@
<style scoped>
    .ins-order-plan-main .title {
    .title {
        height: 60px;
        line-height: 60px;
    }
    .ins-order-plan-main .search {
    .search {
        width: 100%;
        margin-bottom: 10px;
        height: 140px;
@@ -18,7 +18,7 @@
        padding-left: 50px;
    }
    .ins-order-plan-main .center {
    .center {
        width: calc(100% - 40px);
        height: calc(100% - 60px - 80px - 40px);
        background-color: #fff;
@@ -27,7 +27,7 @@
    }
</style>
<style>
    .ins-order-plan-main .el-form-item__label{
    .el-form-item__label{
        color: #000;
    }
  .el-drawer__header::before {
@@ -45,7 +45,7 @@
  }
</style>
<template>
    <div class="ins-order-plan-main">
    <div>
        <el-row class="title">
                    <el-col :span="12" style="padding-left: 20px;">样品详情</el-col>
                    <el-col :span="12" style="text-align: right;">
src/components/tool/value-table.vue
@@ -36,30 +36,30 @@
    }
</style>
<style>
    .value-table .highlight-warning-row-border td {
    /* .value-table .highlight-warning-row-border td {
        border-top: 2px solid #ffcd29;
        border-bottom: 2px solid #ffcd29;
    }
    } */
    .value-table .highlight-warning-row-border td:first-child {
        border-left: 2px solid #ffcd29;
        border-left: 4px solid #ffcd29;
    }
    .value-table .highlight-warning-row-border td:last-child {
        border-right: 2px solid #ffcd29;
        border-right: 4px solid #ffcd29;
    }
    .value-table .highlight-danger-row-border td {
    /* .value-table .highlight-danger-row-border td {
        border-top: 2px solid red;
        border-bottom: 2px solid red;
    }
    } */
    .value-table .highlight-danger-row-border td:first-child {
        border-left: 2px solid red;
        border-left: 4px solid red;
    }
    .value-table .highlight-danger-row-border td:last-child {
        border-right: 2px solid red;
        border-right: 4px solid red;
    }
    .value-table .el-upload {
src/components/view/b1-inspect-order-plan.vue
@@ -4,6 +4,29 @@
        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;
@@ -60,9 +83,9 @@
    .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 {
@@ -82,52 +105,55 @@
</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">
@@ -135,6 +161,10 @@
                <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>
@@ -144,38 +174,31 @@
    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,
@@ -185,8 +208,7 @@
                            id: '',
                            font: '检验',
                            type: 'text',
                            method: '',
                            field: []
                            method: 'handleInspection'
                        }, {
                            id: '',
                            font: '交接',
@@ -204,10 +226,15 @@
                            type: 'text',
                            method: 'claimFun',
                            disabFun: (row, index) => {
                                return row.sampleUserId != null
                                return row.userId != null
                            }
                        }
                    ],
                    linkEvent: {
                        entrustCode: {
                            method: 'selectAllByOne'
                        }
                    },
                    tagField: {
                        type: {
                            select: []
@@ -223,29 +250,22 @@
                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,
@@ -253,7 +273,6 @@
                    }
                    this.claimVisible = true
                }
            },
            confirmClaim() {
                this.$axios.post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, {
@@ -278,9 +297,9 @@
                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 ''
@@ -352,8 +371,22 @@
                            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>
src/components/view/b1-inspection-order.vue
@@ -447,7 +447,7 @@
            handleIssued(row) {
                this.issuedDialogVisible = true;
                this.$axios.post(this.$api.insOrder.selectOrderManDay, {
                    id: row.sampleId
                    id: row.id
                }).then(res => {
                    this.distributeData.orderId = row.id
                    this.distributeData.sampleId = row.sampleId