<style scoped>
|
.ins_order_add {
|
width: 100%;
|
height: 100%;
|
}
|
|
.title {
|
height: 60px;
|
line-height: 60px;
|
}
|
|
.search {
|
width: calc(100% - 40px);
|
background-color: #fff;
|
padding: 10px 40px 10px 0;
|
}
|
|
.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);
|
}
|
</style>
|
<style>
|
.ins_order_add .el-input-group__append,
|
.el-input-group__prepend {
|
padding: 0 10px;
|
}
|
</style>
|
|
<template>
|
<div class="ins_order_add">
|
<div>
|
<el-row class="title">
|
<el-col :span="6" style="padding-left: 20px;">委托单信息</el-col>
|
<el-col :span="18" style="text-align: right;">
|
<el-select v-model="template" size="medium" placeholder="下单模板" style="margin-right: 10px;">
|
<el-option v-for="(a, ai) in templates" :key="ai" :value="a.value" :label="a.label"></el-option>
|
</el-select>
|
<el-button size="medium" @click="">
|
<span style="color: #3A7BFA;">保存模板</span>
|
</el-button>
|
<el-button size="medium" type="primary" @click="save">提交</el-button>
|
<el-button size="medium" @click="$parent.playOrder(0)">
|
<span style="color: #3A7BFA;">返回</span>
|
</el-button>
|
</el-col>
|
</el-row>
|
</div>
|
<div class="search">
|
<el-row>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label">委托编号:</div>
|
<div class="search_input">
|
<el-input v-model="addObj.entrustCode" size="small" placeholder="系统生成" disabled></el-input>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label"><span class="required-span">* </span>样品编号:</div>
|
<div class="search_input">
|
<el-input v-model="addObj.sampleCode" size="small" placeholder="请输入" clearable></el-input>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label"><span class="required-span">* </span>下单客户:</div>
|
<div class="search_input">
|
<el-input readonly size="small" v-model="addObj.custom">
|
<template slot="append"><el-button slot="append" icon="el-icon-search"
|
@click="selectUserDia = true"></el-button></template>
|
</el-input>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label"><span class="required-span">* </span>下单单位:</div>
|
<div class="search_input">
|
<el-input size="small" placeholder="选择下单客户" clearable disabled v-model="addObj.company"></el-input>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label"><span class="required-span">* </span>样品名称:</div>
|
<div class="search_input">
|
<el-input readonly size="small" v-model="addObj.sample">
|
<template slot="append"><el-button slot="append" icon="el-icon-search" @click=""></el-button></template>
|
</el-input>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label"><span class="required-span">* </span>实验室名称:</div>
|
<div class="search_input">
|
<el-input size="small" clearable disabled v-model="addObj.laboratory"></el-input>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label"><span class="required-span">* </span>样品类型:</div>
|
<div class="search_input">
|
<el-input size="small" clearable disabled v-model="addObj.sampleType"></el-input>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label"><span class="required-span">* </span>规格型号:</div>
|
<div class="search_input">
|
<el-input size="small" placeholder="请输入" clearable v-model="addObj.model"></el-input>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label">约定时间:</div>
|
<div class="search_input">
|
<el-date-picker type="date" placeholder="选择日期" size="small" value-format="yyyy-MM-dd" style="width: 100%;"
|
v-model="addObj.appointedTime"></el-date-picker>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label"><span class="required-span">* </span>紧急程度:</div>
|
<div class="search_input">
|
<el-select size="small" style="width: 100%;" clearable v-model="addObj.type">
|
<el-option v-for="(a, ai) in type" :key="ai" :value="a.value" :label="a.label"></el-option>
|
</el-select>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label"><span class="required-span">* </span>样品数量:</div>
|
<div class="search_input">
|
<el-input-number size="small" v-model="addObj.sampleNum" :controls="false" :min="0" :precision="0" style="width: 50%;"></el-input-number>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label">OTC订单号:</div>
|
<div class="search_input">
|
<el-input size="small" placeholder="请输入" clearable v-model="addObj.otcCode"></el-input>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label">样品留样:</div>
|
<div class="search_input">
|
<el-radio-group v-model="addObj.isLeave" @change="addObj.leaveNum = null">
|
<el-radio :label="1">留样</el-radio>
|
<el-radio :label="0">不留样</el-radio>
|
</el-radio-group>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="6">
|
<div class="search_label">留样数量:</div>
|
<div class="search_input">
|
<el-input-number size="small" v-model="addObj.leaveNum" :controls="false" :min="0" :disabled="addObj.isLeave == 0" style="width: 50%;"></el-input-number>
|
</div>
|
</el-col>
|
<el-col class="search_thing" :span="12">
|
<div class="search_label">备注:</div>
|
<div class="search_input">
|
<el-input size="small" placeholder="请输入" clearable v-model="addObj.remark"></el-input>
|
</div>
|
</el-col>
|
</el-row>
|
</div>
|
<el-dialog title="选择客户" :visible.sync="selectUserDia" width="70%">
|
<div class="body" style="height: 60vh;" v-if="selectUserDia">
|
<ValueTable ref="ValueTable2" :url="$api.user.selectCustomPageList" :componentData="componentData2" />
|
</div>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="selectUserDia = false">取 消</el-button>
|
<el-button type="primary" @click="selectUser">确 定</el-button>
|
</span>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import ValueTable from '../../tool/value-table.vue'
|
export default {
|
components: {
|
ValueTable
|
},
|
data() {
|
return {
|
template: null,
|
templates: [],
|
addObj: {
|
entrustCode: null,
|
sampleCode: null,
|
custom: null,
|
company: null,
|
userId: null,
|
type: '0',
|
code: null,
|
laboratory: null,
|
appointedTime: null,
|
sample: null,
|
sampleType: null,
|
sampleNum: null,
|
model: null,
|
isLeave: 0,
|
leaveNum: null,
|
remark: null,
|
otcCode: null
|
},
|
type: [],
|
selectUserDia: false,
|
componentData2: {
|
entity: {
|
orderBy: {
|
field: 'id',
|
order: 'asc'
|
}
|
},
|
isIndex: true,
|
showSelect: true,
|
select: false,
|
do: [],
|
tagField: {
|
state: {
|
select: [{
|
value: 1,
|
type: 'success',
|
label: '启用'
|
}, {
|
value: 0,
|
type: 'danger',
|
label: '停用'
|
}]
|
}
|
},
|
selectField: {},
|
}
|
}
|
},
|
mounted() {
|
this.selectEnumByCategoryForType()
|
},
|
methods:{
|
selectEnumByCategoryForType() {
|
this.$axios.post(this.$api.enums.selectEnumByCategory, {
|
category: "紧急程度"
|
}).then(res => {
|
this.type = res.data
|
})
|
},
|
selectUser() {
|
let selects = this.$refs.ValueTable2.multipleSelection
|
if (selects.length == 0) {
|
this.$message.error('未选择数据')
|
return
|
}
|
delete selects['orderBy']
|
delete selects['updateUser']
|
delete selects['updateTime']
|
this.addObj.userId = selects.id
|
this.addObj.company = selects.company
|
this.addObj.custom = selects.name
|
this.addObj.code = selects.code
|
this.selectUserDia = false
|
},
|
save(){
|
console.log(this.addObj);
|
}
|
}
|
}
|
</script>
|