Browse Source

打印机模板

pull/115/head
liwei 3 years ago
parent
commit
6a7dde7378
3 changed files with 423 additions and 0 deletions
  1. +51
    -0
      src/api/system/printerTemplate.js
  2. +176
    -0
      src/views/system/printer/printerTemplate.vue
  3. +196
    -0
      src/views/system/printer/printerTemplate/PrinterTemplateAddOrEdit.vue

+ 51
- 0
src/api/system/printerTemplate.js View File

@ -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'
})
}

+ 176
- 0
src/views/system/printer/printerTemplate.vue View File

@ -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>

+ 196
- 0
src/views/system/printer/printerTemplate/PrinterTemplateAddOrEdit.vue View File

@ -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>

Loading…
Cancel
Save