|
|
@ -0,0 +1,196 @@ |
|
|
|
<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-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-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-table |
|
|
|
:data="formData['PrinterTemplate-PrinterTemplateLst']" |
|
|
|
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"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input v-model="scope.row[key]" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column align="center" width="100"> |
|
|
|
<template slot="header" slot-scope="scope"> |
|
|
|
<el-button |
|
|
|
size="mini" |
|
|
|
type="success" |
|
|
|
@click="handleAddValst(scope.row)" |
|
|
|
>新增</el-button> |
|
|
|
</template> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button |
|
|
|
size="mini" |
|
|
|
type="danger" |
|
|
|
round |
|
|
|
plain |
|
|
|
@click="handleDeleteValst(scope.$index)" |
|
|
|
>删除</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-col> |
|
|
|
</el-form> |
|
|
|
<div slot="footer" class="dialog-footer"> |
|
|
|
<el-button type="primary" @click="save">确 定</el-button> |
|
|
|
<el-button @click="cancel">取 消</el-button> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
|
|
|
|
import { addPrintertemplate, getPrintertemplateDetails, updatePrinter, getPrinterList } from '@/api/system/printerTemplate' |
|
|
|
export default { |
|
|
|
props:{ |
|
|
|
item:{ |
|
|
|
default:{} |
|
|
|
}, |
|
|
|
isAddOrEdit:{ |
|
|
|
default:'' |
|
|
|
} |
|
|
|
}, |
|
|
|
data(){ |
|
|
|
return{ |
|
|
|
// 配置项模板 |
|
|
|
defaultItem:{ |
|
|
|
// "PrinterTemplateLst-TemplateId": undefined, |
|
|
|
"PrinterTemplateLst-Pos": undefined, |
|
|
|
"PrinterTemplateLst-VarName": undefined, |
|
|
|
"PrinterTemplateLst-VarValue": undefined, |
|
|
|
"PrinterTemplateLst-VarType": 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, |
|
|
|
}, |
|
|
|
formData:{ |
|
|
|
...this.formDataDefaultItem, |
|
|
|
"PrinterTemplate-PrinterTemplateLst": [] |
|
|
|
}, |
|
|
|
// 表单校验 |
|
|
|
rules: { |
|
|
|
'PrinterTemplate-TemplateId': [ |
|
|
|
{ required: true, message: '此项不能为空', trigger: 'blur' } |
|
|
|
], |
|
|
|
'PrinterTemplate-TemplateTye': [ |
|
|
|
{ required: true, message: '此项不能为空', trigger: 'blur' } |
|
|
|
], |
|
|
|
'PrinterTemplate-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"]){ |
|
|
|
this.getDetails(); |
|
|
|
} |
|
|
|
}, |
|
|
|
methods:{ |
|
|
|
// 获取详情 |
|
|
|
getDetails(){ |
|
|
|
getPrintertemplateDetails(this.item["PrinterTemplate-TemplateId"]).then(({code, data})=>{ |
|
|
|
if(code==200){ |
|
|
|
this.formData={...data} |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 保存 |
|
|
|
save(){ |
|
|
|
this.$refs['formRef'].validate(valid => { |
|
|
|
if(valid){ |
|
|
|
if(this.isAddOrEdit=='add'){ |
|
|
|
this.add(); |
|
|
|
}else{ |
|
|
|
this.edit(); |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 编辑 |
|
|
|
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"]; |
|
|
|
return e; |
|
|
|
}) |
|
|
|
}).then(({code})=>{ |
|
|
|
if(code===200){ |
|
|
|
this.msgSuccess('编辑成功') |
|
|
|
this.$emit("getList") |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 添加 |
|
|
|
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"]; |
|
|
|
return e; |
|
|
|
}) |
|
|
|
}).then(({code})=>{ |
|
|
|
if(code===200){ |
|
|
|
this.msgSuccess('添加成功') |
|
|
|
this.$emit("getList") |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 取消按钮 |
|
|
|
cancel() { |
|
|
|
this.$emit('closeAddOrEdit') |
|
|
|
}, |
|
|
|
/** 新增属性 */ |
|
|
|
handleAddValst() { |
|
|
|
this.formData['PrinterTemplate-PrinterTemplateLst'].push({...this.defaultItem}) |
|
|
|
}, |
|
|
|
/** 删除属性 */ |
|
|
|
handleDeleteValst(index) { |
|
|
|
this.formData['PrinterTemplate-PrinterTemplateLst'].splice(index, 1) |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |