Reviewed-on: http://101.201.121.115:3000/leo/LAPP_GAAS_GFrame_WEBFRONT/pulls/116 Reviewed-by: wangxy <xinyao.wang@le-it.com.cn>pull/118/head
@ -0,0 +1,51 @@ | |||
import request from '@/utils/request' | |||
// 查询打印机模板列表 | |||
export function getPrintertemplate(params) { | |||
return request({ | |||
url: '/admin/base/printertemplate/query', | |||
method: 'get', | |||
params | |||
}) | |||
} | |||
// 新增 | |||
export function addPrintertemplate(data) { | |||
return request({ | |||
url: '/admin/base/printertemplate/insertone', | |||
method: 'post', | |||
data | |||
}) | |||
} | |||
// 修改 | |||
export function updatePrinter(data) { | |||
return request({ | |||
url: '/admin/base/printertemplate/updateone', | |||
method: 'put', | |||
data | |||
}) | |||
} | |||
// 删除 | |||
export function delPrinter(id) { | |||
return request({ | |||
url: `/admin/base/printertemplate/deleteone/${id}`, | |||
method: 'delete' | |||
}) | |||
} | |||
// 详情 | |||
export function getPrintertemplateDetails(id) { | |||
return request({ | |||
url: `/admin/base/printertemplate/get/${id}`, | |||
method: 'get' | |||
}) | |||
} | |||
// 打印机集合 | |||
export function getPrinterList(){ | |||
return request({ | |||
url: '/admin/base/printer/query', | |||
method: 'get' | |||
}) | |||
} |
@ -0,0 +1,176 @@ | |||
<template> | |||
<div class="app-container"> | |||
<el-form ref="queryForm" :model="queryParams" :inline="true"> | |||
<el-form-item label="打印模板ID"> | |||
<el-input | |||
v-model.trim="queryParams.templateId" | |||
placeholder="请输入查询内容" | |||
size="small" | |||
style="width: 200px" | |||
/> | |||
</el-form-item> | |||
<el-form-item> | |||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | |||
<el-button type="primary" icon="el-icon-search" size="mini" @click="reset">重置</el-button> | |||
<el-button | |||
size="mini" | |||
type="primary" | |||
icon="el-icon-plus" | |||
@click="handleAdd" | |||
>新增</el-button> | |||
</el-form-item> | |||
</el-form> | |||
<el-table v-loading="loading" :data="dataList" border> | |||
<el-table-column | |||
v-for="(item, index) in headers" | |||
:key="index" | |||
:label="getColumnName(item)" | |||
:show-overflow-tooltip="true" | |||
width="156px" | |||
> | |||
<template slot-scope="scope"> | |||
<span>{{ scope.row[item] }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center" width="130" fixed="right"> | |||
<template slot-scope="scope"> | |||
<el-button | |||
size="mini" | |||
type="text" | |||
icon="el-icon-edit" | |||
@click="handleUpdate(scope.row)" | |||
>修改</el-button | |||
> | |||
<el-button | |||
size="mini" | |||
type="text" | |||
icon="el-icon-delete" | |||
@click="handleDelete(scope.row)" | |||
>删除</el-button | |||
> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
<pagination | |||
v-show="queryParams.total > 0" | |||
:total="queryParams.total" | |||
:page.sync="queryParams.pageNumber" | |||
:limit.sync="queryParams._pageSize" | |||
@pagination="getList" | |||
/> | |||
<PrinterTemplateAddEdit v-if="isAddOrEdit" :isAddOrEdit="isAddOrEdit" :item="item" @closeAddOrEdit="closeAddOrEdit" @getList="getList" /> | |||
</div> | |||
</template> | |||
<script> | |||
import { getPrintertemplate, delPrinter } from '@/api/system/printerTemplate' | |||
import PrinterTemplateAddEdit from './printerTemplate/PrinterTemplateAddOrEdit.vue' | |||
export default { | |||
name: 'PrinterTemplate', | |||
components:{ | |||
PrinterTemplateAddEdit | |||
}, | |||
data() { | |||
return { | |||
// 当前要编辑的对象 | |||
item:{}, | |||
// 是否显示添加编辑界面 | |||
isAddOrEdit:'', // add-添加, edit-编辑 | |||
// 查询参数 | |||
queryParams:{ | |||
pageNumber:1, | |||
_pageSize:10, | |||
total:0, | |||
templateId: undefined | |||
}, | |||
// 默认字段 | |||
defaultItem: { | |||
"PrinterTemplate-PlantNr": '', | |||
"PrinterTemplate-TemplateId": "", | |||
"PrinterTemplate-TemplateTye": "", | |||
"PrinterTemplate-Descr": "", | |||
"PrinterTemplate-Active": "", | |||
"PrinterTemplate-PrintQty": "", | |||
"PrinterTemplate-PlanQty": "", | |||
"PrinterTemplate-PrinterId": "", | |||
"PrinterTemplate-TemplateFile": "", | |||
"PrinterTemplate-LastModify": "", | |||
"PrinterTemplate-LastUser": "", | |||
"PrinterTemplate-CreateTime": "" | |||
}, | |||
// table 表头 | |||
headers:[], | |||
// 数据列表 | |||
dataList:[], | |||
// 加载 | |||
loading:false | |||
} | |||
}, | |||
created() { | |||
for(let key in this.defaultItem){ | |||
this.headers.push(key); | |||
} | |||
}, | |||
mounted(){ | |||
this.getList(); | |||
}, | |||
methods: { | |||
/** 查询模板列表 */ | |||
getList() { | |||
this.isAddOrEdit='' | |||
this.item={} | |||
this.loading=true; | |||
if (!this.queryParams.templateId) this.queryParams.templateId = undefined | |||
getPrintertemplate(this.queryParams).then(({code, data:{count, records}})=>{ | |||
this.loading=false; | |||
if(code===200){ | |||
this.queryParams.total=count, | |||
this.dataList=records||[] | |||
} | |||
}) | |||
}, | |||
reset(){ | |||
this.queryParams.templateId=undefined; | |||
this.handleQuery(); | |||
}, | |||
/** 搜索按钮操作 */ | |||
handleQuery() { | |||
this.queryParams.pageNumber = 1 | |||
this.getList() | |||
}, | |||
/** 新增按钮操作 */ | |||
handleAdd() { | |||
this.isAddOrEdit='add' | |||
this.item={} | |||
}, | |||
/** 修改按钮操作 */ | |||
handleUpdate(row) { | |||
this.isAddOrEdit='edit' | |||
this.item=row | |||
}, | |||
/** 删除按钮操作 */ | |||
handleDelete(row) { | |||
this.$confirm('是否确认删除当前数据项?', '警告', { | |||
confirmButtonText: '确定', | |||
cancelButtonText: '取消', | |||
type: 'warning' | |||
}).then(function() { | |||
return delPrinter(row['PrinterTemplate-TemplateId']) | |||
}).then(() => { | |||
this.msgSuccess('删除成功') | |||
if(this.queryParams.pageNumber>1 && this.dataList.length===1){ | |||
this.queryParams.pageNumber-=1 | |||
} | |||
this.getList() | |||
}).catch(function() {}) | |||
}, | |||
// 关闭添加编辑界面 | |||
closeAddOrEdit(){ | |||
this.isAddOrEdit='' | |||
this.item={} | |||
} | |||
} | |||
} | |||
</script> |
@ -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> |