二维码显示模块(待优化)
This commit is contained in:
parent
622a46a1bb
commit
6f6d77bb72
85
src/components/barcodeImg/index.vue
Normal file
85
src/components/barcodeImg/index.vue
Normal file
@ -0,0 +1,85 @@
|
||||
<template>
|
||||
<div class="flex-container">
|
||||
<el-image class="barcodeClass" fit="scale-down" :src="form.barcodeUrl">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getBarcodeUrl } from "@/api/mes/wm/barcode";
|
||||
|
||||
export default {
|
||||
name: 'BarcodeImg',
|
||||
props: {
|
||||
|
||||
bussinessId: {
|
||||
type: Number,
|
||||
default: -1
|
||||
},
|
||||
bussinessCode: {
|
||||
type: String,
|
||||
default: null
|
||||
},
|
||||
barcodeFormart: {
|
||||
type: String,
|
||||
default: 'QR_CODE'
|
||||
},
|
||||
barcodeType: {
|
||||
type: String,
|
||||
default : null
|
||||
},
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
form: {
|
||||
barcodeUrl: null
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getBarcode(){
|
||||
debugger;
|
||||
|
||||
this.form.barcodeUrl = null;
|
||||
if(this.bussinessCode == null){
|
||||
return ;
|
||||
}
|
||||
//二维码查询参数
|
||||
let barcodeParams = {
|
||||
bussinessId: this.bussinessId,
|
||||
bussinessCode: this.bussinessCode,
|
||||
barcodeFormart: this.barcodeFormart,
|
||||
barcodeType: this.barcodeType
|
||||
};
|
||||
getBarcodeUrl(barcodeParams).then( response =>{
|
||||
if(response.data != null){
|
||||
//this.$set(this.form,'barcodeUrl',response.data.barcodeUrl);//强制刷新DOM
|
||||
this.form.barcodeUrl = response.data.barcodeUrl;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
},
|
||||
watch: {
|
||||
'bussinessCode': 'getBarcode'
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.barcodeClass {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
border: 1px dashed;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.flex-container{
|
||||
display: flex;
|
||||
justify-content: center; /* 水平居中 */
|
||||
align-items: center; /* 垂直居中 */
|
||||
}
|
||||
</style>
|
@ -225,77 +225,76 @@
|
||||
<el-dialog :title="title" :visible.sync="open" width="960px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="工单编号" prop="workorderCode">
|
||||
<el-input v-model="form.workorderCode" placeholder="请输入工单编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label-width="80">
|
||||
<el-switch v-model="autoGenFlag"
|
||||
active-color="#13ce66"
|
||||
active-text="自动生成"
|
||||
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="工单名称" prop="workorderName">
|
||||
<el-input v-model="form.workorderName" placeholder="请输入工单名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="来源类型" prop="orderSource">
|
||||
<el-radio-group v-model="form.orderSource" disabled v-if="optType=='view'">
|
||||
<el-radio
|
||||
v-for="dict in dict.type.mes_workorder_sourcetype"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
<el-radio-group v-model="form.orderSource" v-else>
|
||||
<el-radio
|
||||
v-for="dict in dict.type.mes_workorder_sourcetype"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="form.orderSource == 'ORDER'">
|
||||
<el-form-item label="订单编号" prop="sourceCode">
|
||||
<el-input v-model="form.sourceCode" placeholder="请输入订单编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="工单类型" prop="workorderType">
|
||||
<el-select v-model="form.workorderType" placeholder="请选择类型">
|
||||
<el-option
|
||||
v-for="dict in dict.type.mes_workorder_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工单编号" prop="workorderCode">
|
||||
<el-input v-model="form.workorderCode" placeholder="请输入工单编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="80">
|
||||
<el-switch v-model="autoGenFlag"
|
||||
active-color="#13ce66"
|
||||
active-text="自动生成"
|
||||
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view' && form.status =='PREPARE'">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<BarcodeImg :bussinessId="form.workorderId" :bussinessCode="form.workorderCode" barcodeType="WORKORDER"></BarcodeImg>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工单名称" prop="workorderName">
|
||||
<el-input v-model="form.workorderName" placeholder="请输入工单名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="来源类型" prop="orderSource">
|
||||
<el-radio-group v-model="form.orderSource" disabled v-if="optType=='view'">
|
||||
<el-radio
|
||||
v-for="dict in dict.type.mes_workorder_sourcetype"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
<el-radio-group v-model="form.orderSource" v-else>
|
||||
<el-radio
|
||||
v-for="dict in dict.type.mes_workorder_sourcetype"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8" v-if="form.orderSource == 'ORDER'">
|
||||
<el-form-item label="订单编号" prop="sourceCode">
|
||||
<el-input v-model="form.sourceCode" placeholder="请输入订单编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="单据状态" prop="status">
|
||||
<el-select v-model="form.status" disabled placeholder="请选择单据状态">
|
||||
<el-option
|
||||
v-for="dict in dict.type.mes_order_status"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工单类型" prop="workorderType">
|
||||
<el-select v-model="form.workorderType" placeholder="请选择类型">
|
||||
<el-option
|
||||
v-for="dict in dict.type.mes_workorder_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="产品编号" prop="productCode">
|
||||
<el-input v-model="form.productCode" placeholder="请选择产品" >
|
||||
<el-button slot="append" @click="handleSelectProduct" icon="el-icon-search"></el-button>
|
||||
@ -303,7 +302,7 @@
|
||||
<ItemSelect ref="itemSelect" @onSelected="onItemSelected" > </ItemSelect>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产品名称" prop="productName">
|
||||
<el-input v-model="form.productName" placeholder="请选择产品" disabled/>
|
||||
</el-form-item>
|
||||
@ -415,6 +414,7 @@ import ClientSelect from "@/components/clientSelect/single.vue";
|
||||
import VendorSelect from "@/components/vendorSelect/single.vue";
|
||||
import {genCode} from "@/api/system/autocode/rule"
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import BarcodeImg from "@/components/barcodeImg/index.vue"
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
|
||||
export default {
|
||||
@ -426,7 +426,8 @@ export default {
|
||||
ClientSelect,
|
||||
VendorSelect,
|
||||
Workorderbom,
|
||||
WorkorderItemList
|
||||
WorkorderItemList,
|
||||
BarcodeImg
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
Loading…
Reference in New Issue
Block a user