9 changed files with 1166 additions and 391 deletions
@ -0,0 +1,129 @@ |
|||||
|
<template> |
||||
|
<el-dialog |
||||
|
:title="!dataForm.carId ? '新增' : '修改'" |
||||
|
:close-on-click-modal="false" |
||||
|
:visible.sync="visible"> |
||||
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px"> |
||||
|
<el-form-item label="车型名称" prop="carName"> |
||||
|
<el-input v-model="dataForm.carName" placeholder="车型名称"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="导航类型" prop="navigationType"> |
||||
|
<el-input v-model="dataForm.navigationType" placeholder="导航类型"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="备注" prop="remarks"> |
||||
|
<el-input v-model="dataForm.remarks" placeholder="备注"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否启用" prop="isOn"> |
||||
|
<el-input v-model="dataForm.isOn" placeholder="是否启用"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="创建者ID" prop="createUserId"> |
||||
|
<el-input v-model="dataForm.createUserId" placeholder="创建者ID"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="创建时间" prop="createTime"> |
||||
|
<el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<span slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="visible = false">取消</el-button> |
||||
|
<el-button type="primary" @click="dataFormSubmit()">确定</el-button> |
||||
|
</span> |
||||
|
</el-dialog> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
visible: false, |
||||
|
dataForm: { |
||||
|
carId: 0, |
||||
|
carName: '', |
||||
|
navigationType: '', |
||||
|
remarks: '', |
||||
|
isOn: '', |
||||
|
createUserId: '', |
||||
|
createTime: '' |
||||
|
}, |
||||
|
dataRule: { |
||||
|
carName: [ |
||||
|
{ required: true, message: '车型名称不能为空', trigger: 'blur' } |
||||
|
], |
||||
|
navigationType: [ |
||||
|
{ required: true, message: '导航类型不能为空', trigger: 'blur' } |
||||
|
], |
||||
|
remarks: [ |
||||
|
{ required: true, message: '备注不能为空', trigger: 'blur' } |
||||
|
], |
||||
|
isOn: [ |
||||
|
{ required: true, message: '是否启用不能为空', trigger: 'blur' } |
||||
|
], |
||||
|
createUserId: [ |
||||
|
{ required: true, message: '创建者ID不能为空', trigger: 'blur' } |
||||
|
], |
||||
|
createTime: [ |
||||
|
{ required: true, message: '创建时间不能为空', trigger: 'blur' } |
||||
|
] |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
init (id) { |
||||
|
this.dataForm.carId = id || 0 |
||||
|
this.visible = true |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs['dataForm'].resetFields() |
||||
|
if (this.dataForm.carId) { |
||||
|
this.$http({ |
||||
|
url: this.$http.adornUrl(`/tickets/car/info/${this.dataForm.carId}`), |
||||
|
method: 'get', |
||||
|
params: this.$http.adornParams() |
||||
|
}).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.dataForm.carName = data.car.carName |
||||
|
this.dataForm.navigationType = data.car.navigationType |
||||
|
this.dataForm.remarks = data.car.remarks |
||||
|
this.dataForm.isOn = data.car.isOn |
||||
|
this.dataForm.createUserId = data.car.createUserId |
||||
|
this.dataForm.createTime = data.car.createTime |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 表单提交 |
||||
|
dataFormSubmit () { |
||||
|
this.$refs['dataForm'].validate((valid) => { |
||||
|
if (valid) { |
||||
|
this.$http({ |
||||
|
url: this.$http.adornUrl(`/tickets/car/${!this.dataForm.carId ? 'save' : 'update'}`), |
||||
|
method: 'post', |
||||
|
data: this.$http.adornData({ |
||||
|
'carId': this.dataForm.carId || undefined, |
||||
|
'carName': this.dataForm.carName, |
||||
|
'navigationType': this.dataForm.navigationType, |
||||
|
'remarks': this.dataForm.remarks, |
||||
|
'isOn': this.dataForm.isOn, |
||||
|
'createUserId': this.dataForm.createUserId, |
||||
|
'createTime': this.dataForm.createTime |
||||
|
}) |
||||
|
}).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
this.visible = false |
||||
|
this.$emit('refreshDataList') |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$message.error(data.msg) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
@ -0,0 +1,193 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config"> |
||||
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item> |
||||
|
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button @click="getDataList()">查询</el-button> |
||||
|
<el-button v-if="isAuth('tickets:car:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button> |
||||
|
<el-button v-if="isAuth('tickets:car:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-table |
||||
|
:data="dataList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
@selection-change="selectionChangeHandle" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
type="selection" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="50"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="carId" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="id"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="carName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="车型名称"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="navigationType" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="导航类型"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="remarks" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="备注"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="isOn" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="是否启用"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="createUserId" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="创建者ID"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="createTime" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="创建时间"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="150" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.carId)">修改</el-button> |
||||
|
<el-button type="text" size="small" @click="deleteHandle(scope.row.carId)">删除</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-pagination |
||||
|
@size-change="sizeChangeHandle" |
||||
|
@current-change="currentChangeHandle" |
||||
|
:current-page="pageIndex" |
||||
|
:page-sizes="[10, 20, 50, 100]" |
||||
|
:page-size="pageSize" |
||||
|
:total="totalPage" |
||||
|
layout="total, sizes, prev, pager, next, jumper"> |
||||
|
</el-pagination> |
||||
|
<!-- 弹窗, 新增 / 修改 --> |
||||
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import AddOrUpdate from './car-add-or-update' |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
dataForm: { |
||||
|
key: '' |
||||
|
}, |
||||
|
dataList: [], |
||||
|
pageIndex: 1, |
||||
|
pageSize: 10, |
||||
|
totalPage: 0, |
||||
|
dataListLoading: false, |
||||
|
dataListSelections: [], |
||||
|
addOrUpdateVisible: false |
||||
|
} |
||||
|
}, |
||||
|
components: { |
||||
|
AddOrUpdate |
||||
|
}, |
||||
|
activated () { |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取数据列表 |
||||
|
getDataList () { |
||||
|
this.dataListLoading = true |
||||
|
this.$http({ |
||||
|
url: this.$http.adornUrl('/tickets/car/list'), |
||||
|
method: 'get', |
||||
|
params: this.$http.adornParams({ |
||||
|
'page': this.pageIndex, |
||||
|
'limit': this.pageSize, |
||||
|
'key': this.dataForm.key |
||||
|
}) |
||||
|
}).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.dataList = data.page.list |
||||
|
this.totalPage = data.page.totalCount |
||||
|
} else { |
||||
|
this.dataList = [] |
||||
|
this.totalPage = 0 |
||||
|
} |
||||
|
this.dataListLoading = false |
||||
|
}) |
||||
|
}, |
||||
|
// 每页数 |
||||
|
sizeChangeHandle (val) { |
||||
|
this.pageSize = val |
||||
|
this.pageIndex = 1 |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
// 当前页 |
||||
|
currentChangeHandle (val) { |
||||
|
this.pageIndex = val |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
// 多选 |
||||
|
selectionChangeHandle (val) { |
||||
|
this.dataListSelections = val |
||||
|
}, |
||||
|
// 新增 / 修改 |
||||
|
addOrUpdateHandle (id) { |
||||
|
this.addOrUpdateVisible = true |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.addOrUpdate.init(id) |
||||
|
}) |
||||
|
}, |
||||
|
// 删除 |
||||
|
deleteHandle (id) { |
||||
|
var ids = id ? [id] : this.dataListSelections.map(item => { |
||||
|
return item.carId |
||||
|
}) |
||||
|
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
this.$http({ |
||||
|
url: this.$http.adornUrl('/tickets/car/delete'), |
||||
|
method: 'post', |
||||
|
data: this.$http.adornData(ids, false) |
||||
|
}).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
this.getDataList() |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$message.error(data.msg) |
||||
|
} |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
@ -0,0 +1,191 @@ |
|||||
|
<template> |
||||
|
<el-dialog |
||||
|
title="合同基本信息" |
||||
|
:close-on-click-modal="false" |
||||
|
:visible.sync="visible"> |
||||
|
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="114px"> |
||||
|
<el-row> |
||||
|
<el-col :span="9"> |
||||
|
<el-form-item label="合同类型"> |
||||
|
<el-select v-model="dataForm.type" placeholder="合同类型"> |
||||
|
<el-option label="区域一" value="shanghai"></el-option> |
||||
|
<el-option label="区域二" value="beijing"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<el-form-item label="工单编号"> |
||||
|
<el-input v-model="dataForm.code" placeholder="工单编号"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<el-form-item label="是否主合同"> |
||||
|
<el-switch |
||||
|
v-model="dataForm.isS" |
||||
|
active-color="#13ce66" |
||||
|
inactive-color="#ff4949"> |
||||
|
</el-switch> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="9"> |
||||
|
<el-form-item label="关联主合同编号"> |
||||
|
<el-input v-model="dataForm.code" placeholder="关联主合同编号"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<el-form-item label="客户"> |
||||
|
<el-select v-model="dataForm.type" placeholder="客户"> |
||||
|
<el-option label="区域一" value="shanghai"></el-option> |
||||
|
<el-option label="区域二" value="beijing"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="9"> |
||||
|
<el-form-item label="保修期"> |
||||
|
<el-input v-model="dataForm.code" placeholder="保修期"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<el-form-item label="付款方式"> |
||||
|
<el-select v-model="dataForm.type" placeholder="付款方式"> |
||||
|
<el-option label="区域一" value="shanghai"></el-option> |
||||
|
<el-option label="区域二" value="beijing"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row type="flex" justify="space-between"> |
||||
|
<el-col :span="6"> |
||||
|
<el-button type="primary">新增一行</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<el-form-item label="总计"> |
||||
|
<el-input v-model="dataForm.code" placeholder="总计"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
<el-table |
||||
|
:data="dataList" |
||||
|
border |
||||
|
style="width: 100%;" |
||||
|
max-height="200"> |
||||
|
<el-table-column |
||||
|
type="selection" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="50"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="code" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="物料编号"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="物料名称"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="型号"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="单价"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="价格系数"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="价格系数"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="对外价格"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="数量"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="总价"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="总价"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="备注"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="70" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="text" size="small">删除行</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<span slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="visible = false">取消</el-button> |
||||
|
<el-button type="primary" @click="dataFormSubmit()">确定</el-button> |
||||
|
</span> |
||||
|
</el-dialog> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
visible: false, |
||||
|
dataForm: { |
||||
|
type: '', |
||||
|
code: '', |
||||
|
isS: true |
||||
|
}, |
||||
|
dataList: [{code: '100010'}, {code: '100010'}, {code: '100010'}] |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
init (id) { |
||||
|
this.visible = true |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs['dataForm'].resetFields() |
||||
|
}) |
||||
|
}, |
||||
|
// 表单提交 |
||||
|
dataFormSubmit () {} |
||||
|
} |
||||
|
} |
||||
|
</script> |
@ -0,0 +1,246 @@ |
|||||
|
<template> |
||||
|
<div class="mod-order"> |
||||
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item label="合同类型"> |
||||
|
<el-select v-model="dataForm.type" placeholder="合同类型"> |
||||
|
<el-option label="区域一" value="shanghai"></el-option> |
||||
|
<el-option label="区域二" value="beijing"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="合同编号"> |
||||
|
<el-input v-model="dataForm.number" placeholder="合同编号" clearable></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="客户名称"> |
||||
|
<el-input v-model="dataForm.name" placeholder="客户名称" clearable></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button @click="getDataList()">查询</el-button> |
||||
|
<el-button type="primary" @click="addOrUpdateHandle">新增</el-button> |
||||
|
<el-button type="primary" @click="addAndPrint">打印</el-button> |
||||
|
<el-button type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">删除</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-table |
||||
|
:data="dataList" |
||||
|
border |
||||
|
v-loading="dataListLoading" |
||||
|
@selection-change="selectionChangeHandle" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column |
||||
|
type="selection" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="50"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="合同编号"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="合同类型"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="是否主合同"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="客户名称"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="关联主合同号"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="是否验收"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="生成时间"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="验收时间"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="备注"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roleName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="质保期限(月)"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="150" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="text" size="small" @click="addTempHandle(scope.row.id)">模板生成</el-button> |
||||
|
<el-button type="text" size="small">上传附件</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-pagination |
||||
|
@size-change="sizeChangeHandle" |
||||
|
@current-change="currentChangeHandle" |
||||
|
:current-page="pageIndex" |
||||
|
:page-sizes="[10, 20, 50, 100]" |
||||
|
:page-size="pageSize" |
||||
|
:total="totalPage" |
||||
|
layout="total, sizes, prev, pager, next, jumper"> |
||||
|
</el-pagination> |
||||
|
<!-- 弹窗, 新增 / 修改 --> |
||||
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
||||
|
<temp-add v-if="tempVisible" ref="tempAdd"></temp-add> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import AddOrUpdate from './contract-add-or-update' |
||||
|
import TempAdd from './temp-add' |
||||
|
import { getLodop } from '@/utils/lodop/LodopFuncs' |
||||
|
export default { |
||||
|
components: { |
||||
|
AddOrUpdate, |
||||
|
TempAdd |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
dataForm: { |
||||
|
type: '', |
||||
|
number: '', |
||||
|
name: '' |
||||
|
}, |
||||
|
dataList: [], |
||||
|
pageIndex: 1, |
||||
|
pageSize: 10, |
||||
|
totalPage: 0, |
||||
|
dataListLoading: false, |
||||
|
dataListSelections: [], |
||||
|
addOrUpdateVisible: false, |
||||
|
tempVisible: false |
||||
|
} |
||||
|
}, |
||||
|
activated () { |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取数据列表 |
||||
|
getDataList () { |
||||
|
this.dataListLoading = true |
||||
|
this.$http({ |
||||
|
url: this.$http.adornUrl('/sys/role/list'), |
||||
|
method: 'get', |
||||
|
params: this.$http.adornParams({ |
||||
|
'page': this.pageIndex, |
||||
|
'limit': this.pageSize, |
||||
|
'roleName': this.dataForm.roleName |
||||
|
}) |
||||
|
}).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.dataList = data.page.list |
||||
|
this.totalPage = data.page.totalCount |
||||
|
} else { |
||||
|
this.dataList = [] |
||||
|
this.totalPage = 0 |
||||
|
} |
||||
|
this.dataListLoading = false |
||||
|
}) |
||||
|
}, |
||||
|
// 每页数 |
||||
|
sizeChangeHandle (val) { |
||||
|
this.pageSize = val |
||||
|
this.pageIndex = 1 |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
// 当前页 |
||||
|
currentChangeHandle (val) { |
||||
|
this.pageIndex = val |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
// 多选 |
||||
|
selectionChangeHandle (val) { |
||||
|
this.dataListSelections = val |
||||
|
}, |
||||
|
// 新增 |
||||
|
addOrUpdateHandle (id) { |
||||
|
this.addOrUpdateVisible = true |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.addOrUpdate.init(id) |
||||
|
}) |
||||
|
}, |
||||
|
// 打印 |
||||
|
addAndPrint () { |
||||
|
const LODOP = getLodop() |
||||
|
LODOP.SET_SHOW_MODE('HIDE_DISBUTTIN_SETUP', 1)// 隐藏那些无效按钮 |
||||
|
// 打印纸张大小设置https://www.it610.com/article/2094844.html |
||||
|
LODOP.SET_PRINT_PAGESIZE(1, '60mm', '40mm', '1') |
||||
|
// LODOP.ADD_PRINT_RECT('0mm', '0mm', '50mm', '30mm', 0, 1) |
||||
|
LODOP.ADD_PRINT_BARCODE('4.3mm', '8mm', '50mm', '30mm', '128Auto', {a: 1}) |
||||
|
LODOP.PREVIEW()// 预览 |
||||
|
// LODOP.PRINT()// 打印 |
||||
|
}, |
||||
|
// 删除 |
||||
|
deleteHandle (id) { |
||||
|
var ids = id ? [id] : this.dataListSelections.map(item => { |
||||
|
return item.roleId |
||||
|
}) |
||||
|
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
this.$http({ |
||||
|
url: this.$http.adornUrl('/sys/role/delete'), |
||||
|
method: 'post', |
||||
|
data: this.$http.adornData(ids, false) |
||||
|
}).then(({data}) => { |
||||
|
if (data && data.code === 0) { |
||||
|
this.$message({ |
||||
|
message: '操作成功', |
||||
|
type: 'success', |
||||
|
duration: 1500, |
||||
|
onClose: () => { |
||||
|
this.getDataList() |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$message.error(data.msg) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(() => {}) |
||||
|
}, |
||||
|
// 生成模板 |
||||
|
addTempHandle (id) { |
||||
|
this.tempVisible = true |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.tempAdd.init(id) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
Loading…
Reference in new issue