|
|
@ -1,33 +1,40 @@ |
|
|
|
<template> |
|
|
|
<el-dialog :title="isAddOrEdit=='edit' ? '编辑模板' :'添加模板'" visible width="800px" :before-close="cancel"> |
|
|
|
<el-form ref="formRef" :model="formData" :rules="rules" style="overflow: hidden;" label-width="120px"> |
|
|
|
<el-col :span="8" v-for="(value, key, index) in formDataDefaultItem" :key="index"> |
|
|
|
<el-dialog :title="isAddOrEdit=='edit' ? '编辑模板' :'添加模板'" visible width="80%" :before-close="cancel"> |
|
|
|
<el-form ref="formRef" :model="formData" :rules="rules" style="overflow: hidden;" label-width="200px"> |
|
|
|
<el-row> |
|
|
|
<el-col :span="6" v-for="(value, key, index) in formDataDefaultItem" :key="index"> |
|
|
|
<el-form-item |
|
|
|
:label="getColumnName(key)" |
|
|
|
:prop="key" |
|
|
|
> |
|
|
|
<el-input v-if="key!='PrinterTemplate-PrinterId'" v-model="formData[key]" :disabled="isAddOrEdit =='edit' && key == 'PrinterTemplate-TemplateId'" placeholder="请输入" /> |
|
|
|
<el-select v-else v-model="formData[key]" placeholder="请选择" > |
|
|
|
<el-option |
|
|
|
v-for="item in allPrinter" |
|
|
|
:key="item['Printer-PrinterId']" |
|
|
|
:label="item['Printer-Descr']" |
|
|
|
:value="item['Printer-PrinterId']"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<el-input |
|
|
|
v-if="key!='LabelTemplateHead-PictureTemplateToggle' && key!='LabelTemplateHead-BackgroundColorToggle' && key!='LabelTemplateHead-BackgroundPictureToggle'" |
|
|
|
v-model="formData[key]" |
|
|
|
:disabled="isAddOrEdit =='edit' && key == 'LabelTemplateHead-LabelTemplateId'" |
|
|
|
placeholder="请输入" /> |
|
|
|
<el-checkbox v-else v-model="formData[key]" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-table |
|
|
|
:data="formData['PrinterTemplate-PrinterTemplateLst']" |
|
|
|
:data="formData['LabelTemplateHead-LabelTemplateDetail']" |
|
|
|
style="width: 100%;margin-bottom:10px;" |
|
|
|
height="400px" |
|
|
|
border |
|
|
|
> |
|
|
|
<el-table-column type="index" width="40" /> |
|
|
|
<el-table-column v-for="(value, key, index) in defaultItem" :label="getColumnName(key)" :key="index" align="center"> |
|
|
|
<el-table-column v-for="(value, key, index) in defaultItem" width="150" :label="getColumnName(key)" :key="index" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input v-model="scope.row[key]" /> |
|
|
|
<el-input |
|
|
|
v-if="key!='LabelTemplateDetail-ValueParseToggle' && key!='LabelTemplateDetail-LabelItemFilled' && key!='LabelTemplateDetail-ShowBarcodeText'" |
|
|
|
v-model="scope.row[key]" /> |
|
|
|
<el-switch |
|
|
|
v-else |
|
|
|
v-model="scope.row[key]" |
|
|
|
active-color="#13ce66"> |
|
|
|
</el-switch> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column align="center" width="100"> |
|
|
@ -50,6 +57,7 @@ |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
<div slot="footer" class="dialog-footer"> |
|
|
|
<el-button type="primary" @click="save">确 定</el-button> |
|
|
@ -59,7 +67,7 @@ |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
|
|
|
|
import { addPrintertemplate, getPrintertemplateDetails, updatePrinter, getPrinterList } from '@/api/system/printerTemplate' |
|
|
|
import { addPrintertemplate, getPrintertemplateDetails, updatePrinter } from '@/api/system/printerTemplate' |
|
|
|
export default { |
|
|
|
props:{ |
|
|
|
item:{ |
|
|
@ -73,57 +81,57 @@ export default { |
|
|
|
return{ |
|
|
|
// 配置项模板 |
|
|
|
defaultItem:{ |
|
|
|
// "PrinterTemplateLst-TemplateId": undefined, |
|
|
|
"PrinterTemplateLst-Pos": undefined, |
|
|
|
"PrinterTemplateLst-VarName": undefined, |
|
|
|
"PrinterTemplateLst-VarValue": undefined, |
|
|
|
"PrinterTemplateLst-VarType": undefined |
|
|
|
// "LabelTemplateDetail-LabelTemplateId": undefined, |
|
|
|
"LabelTemplateDetail-Pos": undefined, |
|
|
|
"LabelTemplateDetail-X": undefined, |
|
|
|
"LabelTemplateDetail-Y": undefined, |
|
|
|
"LabelTemplateDetail-Height": undefined, |
|
|
|
"LabelTemplateDetail-Width": undefined, |
|
|
|
"LabelTemplateDetail-LabelItemType": undefined, |
|
|
|
"LabelTemplateDetail-ValueParseToggle": undefined, |
|
|
|
"LabelTemplateDetail-LabelItemValue": undefined, |
|
|
|
"LabelTemplateDetail-LabelItemPen": undefined, |
|
|
|
"LabelTemplateDetail-LabelItemFilled": undefined, |
|
|
|
"LabelTemplateDetail-LabelItemFont": undefined, |
|
|
|
"LabelTemplateDetail-ShowBarcodeText": undefined, |
|
|
|
}, |
|
|
|
// form表单模板 |
|
|
|
formDataDefaultItem:{ |
|
|
|
"PrinterTemplate-TemplateId": undefined, |
|
|
|
"PrinterTemplate-TemplateTye": undefined, |
|
|
|
"PrinterTemplate-Descr": undefined, |
|
|
|
"PrinterTemplate-Active": undefined, |
|
|
|
"PrinterTemplate-PrintQty": undefined, |
|
|
|
"PrinterTemplate-PlanQty": undefined, |
|
|
|
"PrinterTemplate-PrinterId": undefined, |
|
|
|
"PrinterTemplate-TemplateFile": undefined, |
|
|
|
"LabelTemplateHead-LabelTemplateId": undefined, |
|
|
|
"LabelTemplateHead-Descr": undefined, |
|
|
|
"LabelTemplateHead-Height": undefined, |
|
|
|
"LabelTemplateHead-Width": undefined, |
|
|
|
"LabelTemplateHead-PictureTemplateToggle": undefined, |
|
|
|
"LabelTemplateHead-LabelTemplateFile": undefined, |
|
|
|
"LabelTemplateHead-BackgroundColorToggle": undefined, |
|
|
|
"LabelTemplateHead-BackgroundColor": undefined, |
|
|
|
"LabelTemplateHead-BackgroundPictureToggle": undefined, |
|
|
|
"LabelTemplateHead-BackgroundPicture": undefined, |
|
|
|
}, |
|
|
|
formData:{ |
|
|
|
...this.formDataDefaultItem, |
|
|
|
"PrinterTemplate-PrinterTemplateLst": [] |
|
|
|
"LabelTemplateHead-LabelTemplateDetail": [] |
|
|
|
}, |
|
|
|
// 表单校验 |
|
|
|
rules: { |
|
|
|
'PrinterTemplate-TemplateId': [ |
|
|
|
'LabelTemplateHead-LabelTemplateId': [ |
|
|
|
{ required: true, message: '此项不能为空', trigger: 'blur' } |
|
|
|
], |
|
|
|
'PrinterTemplate-TemplateTye': [ |
|
|
|
{ required: true, message: '此项不能为空', trigger: 'blur' } |
|
|
|
], |
|
|
|
'PrinterTemplate-Descr': [ |
|
|
|
'LabelTemplateHead-Descr': [ |
|
|
|
{ required: true, message: '此项不能为空', trigger: 'blur' } |
|
|
|
] |
|
|
|
}, |
|
|
|
// 全量打印机列表 |
|
|
|
allPrinter:[] |
|
|
|
} |
|
|
|
}, |
|
|
|
created(){ |
|
|
|
getPrinterList().then(({code, data})=>{ |
|
|
|
if(code==200){ |
|
|
|
this.allPrinter=data||[] |
|
|
|
} |
|
|
|
}) |
|
|
|
if(this.isAddOrEdit=='edit' && this.item["PrinterTemplate-TemplateId"]){ |
|
|
|
if(this.isAddOrEdit=='edit' && this.item["LabelTemplateHead-LabelTemplateId"]){ |
|
|
|
this.getDetails(); |
|
|
|
} |
|
|
|
}, |
|
|
|
methods:{ |
|
|
|
// 获取详情 |
|
|
|
getDetails(){ |
|
|
|
getPrintertemplateDetails(this.item["PrinterTemplate-TemplateId"]).then(({code, data})=>{ |
|
|
|
getPrintertemplateDetails(this.item["LabelTemplateHead-LabelTemplateId"]).then(({code, data})=>{ |
|
|
|
if(code==200){ |
|
|
|
this.formData={...data} |
|
|
|
} |
|
|
@ -145,12 +153,15 @@ export default { |
|
|
|
edit(){ |
|
|
|
updatePrinter({ |
|
|
|
...this.formData, |
|
|
|
"PrinterTemplate-Active": Number(this.formData["PrinterTemplate-Active"]), |
|
|
|
"PrinterTemplate-PrintQty": Number(this.formData["PrinterTemplate-PrintQty"]), |
|
|
|
"PrinterTemplate-PlanQty": Number(this.formData["PrinterTemplate-PlanQty"]), |
|
|
|
'PrinterTemplate-PrinterTemplateLst': this.formData['PrinterTemplate-PrinterTemplateLst'].map(e=>{ |
|
|
|
e["PrinterTemplateLst-Pos"] =Number(e["PrinterTemplateLst-Pos"]); |
|
|
|
e["PrinterTemplateLst-TemplateId"] = this.formData["PrinterTemplate-TemplateId"]; |
|
|
|
"LabelTemplateHead-Height": Number(this.formData["LabelTemplateHead-Height"]), |
|
|
|
"LabelTemplateHead-Width": Number(this.formData["LabelTemplateHead-Width"]), |
|
|
|
'LabelTemplateHead-LabelTemplateDetail': this.formData['LabelTemplateHead-LabelTemplateDetail'].map(e=>{ |
|
|
|
e["LabelTemplateDetail-Pos"] =Number(e["LabelTemplateDetail-Pos"]); |
|
|
|
e["LabelTemplateDetail-X"] =Number(e["LabelTemplateDetail-X"]); |
|
|
|
e["LabelTemplateDetail-Y"] =Number(e["LabelTemplateDetail-Y"]); |
|
|
|
e["LabelTemplateDetail-Height"] =Number(e["LabelTemplateDetail-Height"]); |
|
|
|
e["LabelTemplateDetail-Width"] =Number(e["LabelTemplateDetail-Width"]); |
|
|
|
e["LabelTemplateDetail-LabelTemplateId"] = this.formData["LabelTemplateHead-LabelTemplateId"]; |
|
|
|
return e; |
|
|
|
}) |
|
|
|
}).then(({code})=>{ |
|
|
@ -164,12 +175,15 @@ export default { |
|
|
|
add(){ |
|
|
|
addPrintertemplate({ |
|
|
|
...this.formData, |
|
|
|
"PrinterTemplate-Active": Number(this.formData["PrinterTemplate-Active"]), |
|
|
|
"PrinterTemplate-PrintQty": Number(this.formData["PrinterTemplate-PrintQty"]), |
|
|
|
"PrinterTemplate-PlanQty": Number(this.formData["PrinterTemplate-PlanQty"]), |
|
|
|
'PrinterTemplate-PrinterTemplateLst': this.formData['PrinterTemplate-PrinterTemplateLst'].map(e=>{ |
|
|
|
e["PrinterTemplateLst-Pos"] =Number(e["PrinterTemplateLst-Pos"]); |
|
|
|
e["PrinterTemplateLst-TemplateId"] = this.formData["PrinterTemplate-TemplateId"]; |
|
|
|
"LabelTemplateHead-Height": Number(this.formData["LabelTemplateHead-Height"]), |
|
|
|
"LabelTemplateHead-Width": Number(this.formData["LabelTemplateHead-Width"]), |
|
|
|
'LabelTemplateHead-LabelTemplateDetail': this.formData['LabelTemplateHead-LabelTemplateDetail'].map(e=>{ |
|
|
|
e["LabelTemplateDetail-Pos"] =Number(e["LabelTemplateDetail-Pos"]); |
|
|
|
e["LabelTemplateDetail-X"] =Number(e["LabelTemplateDetail-X"]); |
|
|
|
e["LabelTemplateDetail-Y"] =Number(e["LabelTemplateDetail-Y"]); |
|
|
|
e["LabelTemplateDetail-Height"] =Number(e["LabelTemplateDetail-Height"]); |
|
|
|
e["LabelTemplateDetail-Width"] =Number(e["LabelTemplateDetail-Width"]); |
|
|
|
e["LabelTemplateDetail-LabelTemplateId"] = this.formData["LabelTemplateHead-LabelTemplateId"]; |
|
|
|
return e; |
|
|
|
}) |
|
|
|
}).then(({code})=>{ |
|
|
@ -185,11 +199,11 @@ export default { |
|
|
|
}, |
|
|
|
/** 新增属性 */ |
|
|
|
handleAddValst() { |
|
|
|
this.formData['PrinterTemplate-PrinterTemplateLst'].push({...this.defaultItem}) |
|
|
|
this.formData['LabelTemplateHead-LabelTemplateDetail'].push({...this.defaultItem}) |
|
|
|
}, |
|
|
|
/** 删除属性 */ |
|
|
|
handleDeleteValst(index) { |
|
|
|
this.formData['PrinterTemplate-PrinterTemplateLst'].splice(index, 1) |
|
|
|
this.formData['LabelTemplateHead-LabelTemplateDetail'].splice(index, 1) |
|
|
|
}, |
|
|
|
} |
|
|
|
} |