parent
bf252f3d84
commit
dc557ea31e
3 changed files with 547 additions and 587 deletions
@ -0,0 +1,252 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<!-- 计量管理 --> |
||||||
|
<avue-crud |
||||||
|
:option="addOption" |
||||||
|
:table-loading="loading" |
||||||
|
:data="data" |
||||||
|
v-model="form" |
||||||
|
v-model:page="page" |
||||||
|
ref="crud" |
||||||
|
@row-del="rowDel" |
||||||
|
@search-change="searchChange" |
||||||
|
@search-reset="searchReset" |
||||||
|
@selection-change="selectionChange" |
||||||
|
@current-change="currentChange" |
||||||
|
@size-change="sizeChange" |
||||||
|
@refresh-change="refreshChange" |
||||||
|
@on-load="onLoad" |
||||||
|
@sort-change="sortChange" |
||||||
|
> |
||||||
|
<template #menu-right> </template> |
||||||
|
|
||||||
|
<template #menu-left> |
||||||
|
<el-button |
||||||
|
type="primary" |
||||||
|
@click="addApply" |
||||||
|
v-if="permission.maintenancetools_maintenanceRequest" |
||||||
|
> |
||||||
|
保养申请 |
||||||
|
</el-button> |
||||||
|
</template> |
||||||
|
</avue-crud> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { addRecorderList, applyRecorder } from '@/api/equiptManagement/maintenancetools'; |
||||||
|
import { mapGetters } from 'vuex'; |
||||||
|
export default { |
||||||
|
data() { |
||||||
|
return { |
||||||
|
addDialog: false, |
||||||
|
addData: [], |
||||||
|
loading: false, |
||||||
|
data: [], |
||||||
|
form: {}, |
||||||
|
query: {}, |
||||||
|
selectionList: [], |
||||||
|
addSelectionList: [], |
||||||
|
addPage: { |
||||||
|
pageSize: 10, |
||||||
|
currentPage: 1, |
||||||
|
total: 0, |
||||||
|
}, |
||||||
|
page: { |
||||||
|
pageSize: 10, |
||||||
|
currentPage: 1, |
||||||
|
total: 0, |
||||||
|
}, |
||||||
|
|
||||||
|
addOption: { |
||||||
|
columnSort: true, |
||||||
|
tip: false, |
||||||
|
height: 'auto', |
||||||
|
align: 'center', |
||||||
|
calcHeight: 32, |
||||||
|
simplePage: false, |
||||||
|
searchShow: true, |
||||||
|
searchMenuSpan: 6, |
||||||
|
searchIcon: true, |
||||||
|
searchIndex: 3, |
||||||
|
tree: false, |
||||||
|
border: true, |
||||||
|
index: false, |
||||||
|
selection: true, |
||||||
|
viewBtn: false, |
||||||
|
delBtn: false, |
||||||
|
editBtn: false, |
||||||
|
addBtnIcon: ' ', |
||||||
|
viewBtnIcon: ' ', |
||||||
|
delBtnIcon: ' ', |
||||||
|
editBtnIcon: ' ', |
||||||
|
addBtn: false, |
||||||
|
labelWidth: 120, |
||||||
|
menu: false, |
||||||
|
menuWidth: 200, |
||||||
|
dialogWidth: 600, |
||||||
|
dialogClickModal: false, |
||||||
|
searchEnter: true, |
||||||
|
excelBtn: true, |
||||||
|
gridBtn: false, |
||||||
|
searchShowBtn: false, |
||||||
|
showOverflowTooltip: true, |
||||||
|
searchLabelPosition: 'left', |
||||||
|
searchLabelWidth:'auto', |
||||||
|
searchGutter: 24, |
||||||
|
searchSpan: 6, |
||||||
|
menuAlign: 'left', |
||||||
|
gridBtn: false, |
||||||
|
searchMenuPosition: 'right', |
||||||
|
column: [ |
||||||
|
{ |
||||||
|
label: '物料名称', |
||||||
|
prop: 'goodsName', |
||||||
|
span: 24, |
||||||
|
labelWidth: 140, |
||||||
|
overflow: true, |
||||||
|
search: true, |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '物料规格', |
||||||
|
prop: 'specifications', |
||||||
|
span: 24, |
||||||
|
labelWidth: 140, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '批次号', |
||||||
|
prop: 'piNo', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: true, |
||||||
|
width: 150, |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '仓库', |
||||||
|
prop: 'shName', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: true, |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '库位号', |
||||||
|
prop: 'location', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: true, |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '库存数量', |
||||||
|
prop: 'quantity', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '等级', |
||||||
|
prop: 'quantityLevel', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '金额', |
||||||
|
prop: 'balanceMoney', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '累计使用次数', |
||||||
|
prop: 'sumNum', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '使用次数', |
||||||
|
prop: 'stayMaintainNum', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
}; |
||||||
|
}, |
||||||
|
computed: { |
||||||
|
...mapGetters(['permission']), |
||||||
|
}, |
||||||
|
mounted() {}, |
||||||
|
methods: { |
||||||
|
addApply() { |
||||||
|
if (this.selectionList.length == 0) { |
||||||
|
this.$message.error('请至少选择一条数据'); |
||||||
|
return; |
||||||
|
} |
||||||
|
this.$confirm('确定进行保养申请吗?', { |
||||||
|
confirmButtonText: '确定', |
||||||
|
cancelButtonText: '取消', |
||||||
|
type: 'warning', |
||||||
|
}).then(() => { |
||||||
|
applyRecorder({ |
||||||
|
ids: this.selectionList.map(item => item.id).join(','), |
||||||
|
}).then(res => { |
||||||
|
if (res.data.code == 200) { |
||||||
|
this.$message.success('申请成功'); |
||||||
|
this.onLoad(); |
||||||
|
} |
||||||
|
}); |
||||||
|
}); |
||||||
|
}, |
||||||
|
selectionChange(list) { |
||||||
|
this.selectionList = list; |
||||||
|
}, |
||||||
|
addSelectionChange(list) { |
||||||
|
this.addSelectionList = list; |
||||||
|
}, |
||||||
|
searchChange(params, done) { |
||||||
|
this.page.currentPage = 1; |
||||||
|
this.query = params; |
||||||
|
this.onLoad(); |
||||||
|
done(); |
||||||
|
}, |
||||||
|
searchReset() { |
||||||
|
this.query = {}; |
||||||
|
this.onLoad(); |
||||||
|
}, |
||||||
|
sortChange({ prop, order }) { |
||||||
|
this.query.descs = undefined; |
||||||
|
this.query.ascs = undefined; |
||||||
|
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs'; |
||||||
|
this.query[orderByFieldKey] = !prop |
||||||
|
? undefined |
||||||
|
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase(); |
||||||
|
// // 重新加载数据 |
||||||
|
this.onLoad(); |
||||||
|
}, |
||||||
|
onLoad() { |
||||||
|
this.loading = true; |
||||||
|
addRecorderList({ |
||||||
|
current: this.page.currentPage, |
||||||
|
size: this.page.pageSize, |
||||||
|
...this.query, |
||||||
|
}).then(res => { |
||||||
|
this.data = res.data.data.records; |
||||||
|
this.page.total = res.data.data.total; |
||||||
|
this.loading = false; |
||||||
|
}); |
||||||
|
}, |
||||||
|
}, |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss"> |
||||||
|
.addOption-box { |
||||||
|
.avue-crud__header { |
||||||
|
min-height: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
||||||
@ -0,0 +1,284 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<!-- 量具使用记录 --> |
||||||
|
<avue-crud |
||||||
|
:option="option" |
||||||
|
:table-loading="loading" |
||||||
|
:data="data" |
||||||
|
v-model="form" |
||||||
|
v-model:page="page" |
||||||
|
ref="crud" |
||||||
|
@row-update="rowUpdate" |
||||||
|
@row-save="rowSave" |
||||||
|
@search-change="searchChange" |
||||||
|
@search-reset="searchReset" |
||||||
|
@selection-change="selectionChange" |
||||||
|
@current-change="currentChange" |
||||||
|
@size-change="sizeChange" |
||||||
|
@refresh-change="refreshChange" |
||||||
|
@on-load="onLoad" |
||||||
|
></avue-crud> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { getRecorderList } from '@/api/equiptManagement/maintenancetools'; |
||||||
|
export default { |
||||||
|
data() { |
||||||
|
return { |
||||||
|
loading: false, |
||||||
|
data: [], |
||||||
|
form: {}, |
||||||
|
page: { |
||||||
|
pageSize: 10, |
||||||
|
currentPage: 1, |
||||||
|
total: 0, |
||||||
|
}, |
||||||
|
option: { |
||||||
|
columnSort: true, |
||||||
|
tip: false, |
||||||
|
height: 'auto', |
||||||
|
align: 'center', |
||||||
|
calcHeight: 32, |
||||||
|
simplePage: false, |
||||||
|
searchShow: true, |
||||||
|
searchMenuSpan: 6, |
||||||
|
searchIcon: true, |
||||||
|
searchIndex: 3, |
||||||
|
tree: false, |
||||||
|
border: true, |
||||||
|
index: true, |
||||||
|
selection: false, |
||||||
|
viewBtn: false, |
||||||
|
delBtn: false, |
||||||
|
editBtn: false, |
||||||
|
addBtnIcon: ' ', |
||||||
|
viewBtnIcon: ' ', |
||||||
|
delBtnIcon: ' ', |
||||||
|
editBtnIcon: ' ', |
||||||
|
addBtn: false, |
||||||
|
labelWidth: 120, |
||||||
|
menu: false, |
||||||
|
menuWidth: 200, |
||||||
|
dialogWidth: 600, |
||||||
|
dialogClickModal: false, |
||||||
|
searchEnter: true, |
||||||
|
excelBtn: true, |
||||||
|
gridBtn: false, |
||||||
|
searchShowBtn: false, |
||||||
|
showOverflowTooltip: true, |
||||||
|
searchLabelPosition: 'left', |
||||||
|
searchLabelWidth:'auto', |
||||||
|
searchGutter: 24, |
||||||
|
searchSpan: 6, |
||||||
|
menuAlign: 'left', |
||||||
|
gridBtn: false, |
||||||
|
searchMenuPosition: 'right', |
||||||
|
column: [ |
||||||
|
{ |
||||||
|
label: '保养单号', |
||||||
|
prop: 'mmCode', |
||||||
|
span: 24, |
||||||
|
labelWidth: 140, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入保养单号', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '物料名称', |
||||||
|
prop: 'goodsName', |
||||||
|
span: 24, |
||||||
|
labelWidth: 140, |
||||||
|
overflow: true, |
||||||
|
search: true, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入物料名称', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '物料规格', |
||||||
|
prop: 'specifications', |
||||||
|
span: 24, |
||||||
|
labelWidth: 140, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入物料规格', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '生产批次号', |
||||||
|
prop: 'piNo', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: true, |
||||||
|
width: 150, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入生产批次号', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '仓库', |
||||||
|
prop: 'shName', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: true, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入仓库', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '库位号', |
||||||
|
prop: 'location', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: true, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入库位号', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '库存数量', |
||||||
|
prop: 'quantity', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入库存数量', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '等级', |
||||||
|
prop: 'quantityLevel', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入等级', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '金额', |
||||||
|
prop: 'balanceMoney', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入金额', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '累计使用次数', |
||||||
|
prop: 'sumNum', |
||||||
|
span: 24, |
||||||
|
overflow: true, |
||||||
|
search: false, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入累计使用次数', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '当前状态', |
||||||
|
prop: 'status', |
||||||
|
type: 'select', |
||||||
|
span: 24, |
||||||
|
labelWidth: 140, |
||||||
|
overflow: true, |
||||||
|
search: true, |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
required: true, |
||||||
|
message: '请输入当前状态', |
||||||
|
trigger: 'blur', |
||||||
|
}, |
||||||
|
], |
||||||
|
// 0 新建 1 已申请 |
||||||
|
dicData: [ |
||||||
|
{ label: '新建', value: 0 }, |
||||||
|
{ label: '已申请', value: 1 }, |
||||||
|
], |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
}; |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
searchChange(params, done) { |
||||||
|
this.page.currentPage = 1; |
||||||
|
this.query = params; |
||||||
|
this.onLoad(); |
||||||
|
done(); |
||||||
|
}, |
||||||
|
searchReset() { |
||||||
|
this.query = {}; |
||||||
|
this.onLoad(); |
||||||
|
}, |
||||||
|
sortChange({ prop, order }) { |
||||||
|
this.query.descs = undefined; |
||||||
|
this.query.ascs = undefined; |
||||||
|
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs'; |
||||||
|
this.query[orderByFieldKey] = !prop |
||||||
|
? undefined |
||||||
|
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase(); |
||||||
|
// // 重新加载数据 |
||||||
|
this.onLoad(); |
||||||
|
}, |
||||||
|
onLoad() { |
||||||
|
this.loading = true; |
||||||
|
getRecorderList({ |
||||||
|
current: this.page.currentPage, |
||||||
|
size: this.page.pageSize, |
||||||
|
...this.query, |
||||||
|
}).then(res => { |
||||||
|
this.data = res.data.data.records; |
||||||
|
this.page.total = res.data.data.total; |
||||||
|
this.loading = false; |
||||||
|
}); |
||||||
|
}, |
||||||
|
}, |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style></style> |
||||||
@ -1,598 +1,22 @@ |
|||||||
<template> |
<template> |
||||||
<basic-container> |
<basic-container> |
||||||
<!-- 计量管理 --> |
<el-tabs v-model="activeName" @tab-click="handleClick"> |
||||||
<avue-crud |
<el-tab-pane label="保养申请" name="1"></el-tab-pane> |
||||||
:option="option" |
<el-tab-pane label="保养记录" name="2"></el-tab-pane> |
||||||
:table-loading="loading" |
</el-tabs> |
||||||
:data="data" |
<maintenanceList v-if="activeName == '1'"></maintenanceList> |
||||||
v-model="form" |
<maintenanceRecord v-if="activeName == '2'"></maintenanceRecord> |
||||||
v-model:page="page" |
|
||||||
ref="crud" |
|
||||||
@row-del="rowDel" |
|
||||||
@search-change="searchChange" |
|
||||||
@search-reset="searchReset" |
|
||||||
@selection-change="selectionChange" |
|
||||||
@current-change="currentChange" |
|
||||||
@size-change="sizeChange" |
|
||||||
@refresh-change="refreshChange" |
|
||||||
@on-load="onLoad" |
|
||||||
@sort-change="sortChange" |
|
||||||
> |
|
||||||
<template #menu-right> |
|
||||||
<!-- <el-button type="warning" @click="handleAdd" plain>待申请</el-button> |
|
||||||
<el-button type="success" @click="handleAdd" plain>已申请</el-button> --> |
|
||||||
</template> |
|
||||||
<!-- <template #goodsName="{ row }">{{ row.stRealtimeStock.coGoods.goodsName }}</template> |
|
||||||
<template #specifications="{ row }">{{ row.stRealtimeStock.coGoods.specifications }}</template> |
|
||||||
<template #piNo="{ row }">{{ row.stRealtimeStock.piNo }}</template> |
|
||||||
<template #shName="{ row }">{{ row.stRealtimeStock.coStorehouse.shName }}</template> |
|
||||||
<template #location="{ row }">{{ row.stRealtimeStock.storageLocation.location }}</template> |
|
||||||
<template #quantity="{ row }">{{ row.stRealtimeStock.quantity }}</template> --> |
|
||||||
<template #menu-left> |
|
||||||
<el-button type="primary" @click="handleAdd" v-if="permission.maintenancetools_add"> |
|
||||||
新增 |
|
||||||
</el-button> |
|
||||||
<el-button |
|
||||||
type="primary" |
|
||||||
@click="addApply" |
|
||||||
v-if="permission.maintenancetools_maintenanceRequest" |
|
||||||
> |
|
||||||
保养申请 |
|
||||||
</el-button> |
|
||||||
</template> |
|
||||||
</avue-crud> |
|
||||||
<el-dialog v-model="addDialog" append-to-body width="80%" title="新增"> |
|
||||||
<div style="display: flex; justify-content: flex-end; margin-bottom: 10px"> |
|
||||||
<el-button type="primary" @click="addMaintain">加入保养</el-button> |
|
||||||
</div> |
|
||||||
<avue-crud |
|
||||||
class="addOption-box" |
|
||||||
:option="addOption" |
|
||||||
:table-loading="loading" |
|
||||||
:data="addData" |
|
||||||
v-model="form" |
|
||||||
v-model:page="addPage" |
|
||||||
ref="addCrud" |
|
||||||
@selection-change="addSelectionChange" |
|
||||||
@current-change="currentChange" |
|
||||||
@size-change="sizeChange" |
|
||||||
@refresh-change="refreshChange" |
|
||||||
></avue-crud> |
|
||||||
<!-- <el-table :data="addData"> |
|
||||||
<el-table-column type="selection"></el-table-column> |
|
||||||
<el-table-column label="物料名称" align="center" prop="coGoods.goodsName"></el-table-column> |
|
||||||
<el-table-column label="物料规格" align="center" prop="coGoods.specifications"></el-table-column> |
|
||||||
<el-table-column label="生产批次号" align="center" prop="piNo"></el-table-column> |
|
||||||
<el-table-column label="仓库" align="center" prop="coStorehouse.shName"></el-table-column> |
|
||||||
<el-table-column label="库位号" align="center" prop="storageLocation.location"></el-table-column> |
|
||||||
<el-table-column label="库存数量" align="center" prop="quantity"></el-table-column> |
|
||||||
<el-table-column label="等级" align="center" prop="quantityLevel"></el-table-column> |
|
||||||
<el-table-column label="金额" align="center" prop="balanceMoney"></el-table-column> |
|
||||||
<el-table-column label="累计使用次数" align="center" prop="sumNum"></el-table-column> |
|
||||||
</el-table> --> |
|
||||||
</el-dialog> |
|
||||||
</basic-container> |
</basic-container> |
||||||
</template> |
</template> |
||||||
|
|
||||||
<script> |
<script> |
||||||
import { |
import maintenanceList from './components/maintenanceList.vue'; |
||||||
getRecorderList, |
import maintenanceRecord from './components/maintenanceRecord.vue'; |
||||||
addRecorderList, |
|
||||||
addRecorder, |
|
||||||
applyRecorder, |
|
||||||
} from '@/api/equiptManagement/maintenancetools'; |
|
||||||
import { mapGetters } from 'vuex'; |
|
||||||
export default { |
export default { |
||||||
|
components: { maintenanceList, maintenanceRecord }, |
||||||
data() { |
data() { |
||||||
return { |
return { |
||||||
addDialog: false, |
activeName: '1', |
||||||
addData: [], |
|
||||||
loading: false, |
|
||||||
data: [], |
|
||||||
form: {}, |
|
||||||
query: {}, |
|
||||||
selectionList: [], |
|
||||||
addSelectionList: [], |
|
||||||
addPage: { |
|
||||||
pageSize: 10, |
|
||||||
currentPage: 1, |
|
||||||
total: 0, |
|
||||||
}, |
|
||||||
page: { |
|
||||||
pageSize: 10, |
|
||||||
currentPage: 1, |
|
||||||
total: 0, |
|
||||||
}, |
|
||||||
option: { |
|
||||||
columnSort: true, |
|
||||||
tip: false, |
|
||||||
height: 'auto', |
|
||||||
align: 'center', |
|
||||||
calcHeight: 32, |
|
||||||
simplePage: false, |
|
||||||
searchShow: true, |
|
||||||
searchMenuSpan: 6, |
|
||||||
searchIcon: true, |
|
||||||
searchIndex: 3, |
|
||||||
tree: false, |
|
||||||
border: true, |
|
||||||
index: false, |
|
||||||
selection: true, |
|
||||||
viewBtn: false, |
|
||||||
delBtn: false, |
|
||||||
editBtn: false, |
|
||||||
addBtnIcon: ' ', |
|
||||||
viewBtnIcon: ' ', |
|
||||||
delBtnIcon: ' ', |
|
||||||
editBtnIcon: ' ', |
|
||||||
addBtn: false, |
|
||||||
labelWidth: 120, |
|
||||||
menu: false, |
|
||||||
menuWidth: 200, |
|
||||||
dialogWidth: 600, |
|
||||||
dialogClickModal: false, |
|
||||||
searchEnter: true, |
|
||||||
excelBtn: true, |
|
||||||
gridBtn: false, |
|
||||||
searchShowBtn: false, |
|
||||||
showOverflowTooltip: true, |
|
||||||
searchLabelPosition: 'left', |
|
||||||
searchGutter: 24, |
|
||||||
searchSpan: 6, |
|
||||||
menuAlign: 'left', |
|
||||||
gridBtn: false, |
|
||||||
searchMenuPosition: 'right', |
|
||||||
column: [ |
|
||||||
{ |
|
||||||
label: '保养单号', |
|
||||||
prop: 'mmCode', |
|
||||||
span: 24, |
|
||||||
labelWidth: 140, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
sortable: 'custom', |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入保养单号', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '物料名称', |
|
||||||
prop: 'goodsName', |
|
||||||
span: 24, |
|
||||||
labelWidth: 140, |
|
||||||
overflow: true, |
|
||||||
search: true, |
|
||||||
sortable: 'custom', |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入物料名称', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '物料规格', |
|
||||||
prop: 'specifications', |
|
||||||
span: 24, |
|
||||||
labelWidth: 140, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
sortable: 'custom', |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入物料规格', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '生产批次号', |
|
||||||
prop: 'piNo', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: true, |
|
||||||
width: 150, |
|
||||||
searchLabelWidth: 100, |
|
||||||
sortable: 'custom', |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入生产批次号', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '仓库', |
|
||||||
prop: 'shName', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: true, |
|
||||||
searchLabelWidth: 60, |
|
||||||
sortable: 'custom', |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入仓库', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '库位号', |
|
||||||
prop: 'location', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: true, |
|
||||||
sortable: 'custom', |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入库位号', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '库存数量', |
|
||||||
prop: 'quantity', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
sortable: 'custom', |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入库存数量', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '等级', |
|
||||||
prop: 'quantityLevel', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
sortable: 'custom', |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入等级', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '金额', |
|
||||||
prop: 'balanceMoney', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
sortable: 'custom', |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入金额', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '累计使用次数', |
|
||||||
prop: 'sumNum', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
sortable: 'custom', |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入累计使用次数', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '当前状态', |
|
||||||
prop: 'status', |
|
||||||
type: 'select', |
|
||||||
span: 24, |
|
||||||
labelWidth: 140, |
|
||||||
overflow: true, |
|
||||||
search: true, |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入当前状态', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
// 0 新建 1 已申请 |
|
||||||
dicData: [ |
|
||||||
{ label: '新建', value: 0 }, |
|
||||||
{ label: '已申请', value: 1 }, |
|
||||||
], |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
addOption: { |
|
||||||
columnSort: true, |
|
||||||
tip: false, |
|
||||||
refreshBtn: false, |
|
||||||
height: 'auto', |
|
||||||
align: 'center', |
|
||||||
calcHeight: 32, |
|
||||||
simplePage: false, |
|
||||||
searchShow: true, |
|
||||||
searchMenuSpan: 6, |
|
||||||
searchIcon: true, |
|
||||||
searchIndex: 3, |
|
||||||
tree: false, |
|
||||||
border: true, |
|
||||||
index: false, |
|
||||||
selection: true, |
|
||||||
viewBtn: false, |
|
||||||
delBtn: false, |
|
||||||
columnBtn: false, |
|
||||||
editBtn: false, |
|
||||||
addBtnIcon: ' ', |
|
||||||
viewBtnIcon: ' ', |
|
||||||
delBtnIcon: ' ', |
|
||||||
editBtnIcon: ' ', |
|
||||||
addBtn: false, |
|
||||||
labelWidth: 120, |
|
||||||
menu: false, |
|
||||||
menuWidth: 200, |
|
||||||
dialogWidth: 600, |
|
||||||
dialogClickModal: false, |
|
||||||
searchEnter: true, |
|
||||||
excelBtn: false, |
|
||||||
gridBtn: false, |
|
||||||
searchShowBtn: false, |
|
||||||
showOverflowTooltip: true, |
|
||||||
searchLabelPosition: 'left', |
|
||||||
searchGutter: 24, |
|
||||||
searchSpan: 6, |
|
||||||
menuAlign: 'left', |
|
||||||
gridBtn: false, |
|
||||||
searchMenuPosition: 'right', |
|
||||||
column: [ |
|
||||||
{ |
|
||||||
label: '物料名称', |
|
||||||
prop: 'goodsName', |
|
||||||
span: 24, |
|
||||||
labelWidth: 140, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入物料名称', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '物料规格', |
|
||||||
prop: 'specifications', |
|
||||||
span: 24, |
|
||||||
labelWidth: 140, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入物料规格', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '生产批次号', |
|
||||||
prop: 'piNo', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
width: 150, |
|
||||||
searchLabelWidth: 100, |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入生产批次号', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '仓库', |
|
||||||
prop: 'shName', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
searchLabelWidth: 60, |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入仓库', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '库位号', |
|
||||||
prop: 'location', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入库位号', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '库存数量', |
|
||||||
prop: 'quantity', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入库存数量', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '等级', |
|
||||||
prop: 'quantityLevel', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入等级', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '金额', |
|
||||||
prop: 'balanceMoney', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入金额', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
{ |
|
||||||
label: '累计使用次数', |
|
||||||
prop: 'sumNum', |
|
||||||
span: 24, |
|
||||||
overflow: true, |
|
||||||
search: false, |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入累计使用次数', |
|
||||||
trigger: 'blur', |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
}; |
}; |
||||||
}, |
}, |
||||||
computed: { |
|
||||||
...mapGetters(['permission']), |
|
||||||
}, |
|
||||||
mounted() {}, |
|
||||||
methods: { |
|
||||||
handleAdd() { |
|
||||||
addRecorderList().then(res => { |
|
||||||
console.log('res-----------', res); |
|
||||||
this.addData = res.data.data.records; |
|
||||||
this.addPage.total = res.data.data.total; |
|
||||||
this.addDialog = true; |
|
||||||
}); |
|
||||||
}, |
|
||||||
addApply() { |
|
||||||
if (this.selectionList.length == 0) { |
|
||||||
this.$message.error('请至少选择一条数据'); |
|
||||||
return; |
|
||||||
} |
|
||||||
this.$confirm('确定进行保养申请吗?', { |
|
||||||
confirmButtonText: '确定', |
|
||||||
cancelButtonText: '取消', |
|
||||||
type: 'warning', |
|
||||||
}).then(() => { |
|
||||||
applyRecorder({ |
|
||||||
ids: this.selectionList.map(item => item.id).join(','), |
|
||||||
}).then(res => { |
|
||||||
if (res.data.code == 200) { |
|
||||||
this.$message.success('申请成功'); |
|
||||||
this.onLoad(); |
|
||||||
} |
|
||||||
}); |
|
||||||
}); |
|
||||||
}, |
|
||||||
selectionChange(list) { |
|
||||||
this.selectionList = list; |
|
||||||
}, |
|
||||||
addSelectionChange(list) { |
|
||||||
this.addSelectionList = list; |
|
||||||
}, |
|
||||||
addMaintain() { |
|
||||||
if (this.addSelectionList.length == 0) { |
|
||||||
this.$message.error('请至少选择一条数据'); |
|
||||||
return; |
|
||||||
} |
|
||||||
addRecorder({ |
|
||||||
ids: this.addSelectionList.map(item => item.id).join(','), |
|
||||||
}).then(res => { |
|
||||||
if (res.data.code == 200) { |
|
||||||
this.$message.success('新增成功'); |
|
||||||
this.addDialog = false; |
|
||||||
this.onLoad(); |
|
||||||
} |
|
||||||
}); |
|
||||||
}, |
|
||||||
searchChange(params, done) { |
|
||||||
this.page.currentPage = 1; |
|
||||||
this.query = params; |
|
||||||
this.onLoad(); |
|
||||||
done(); |
|
||||||
}, |
|
||||||
searchReset() { |
|
||||||
this.query = {}; |
|
||||||
this.onLoad(); |
|
||||||
}, |
|
||||||
sortChange({ prop, order }) { |
|
||||||
this.query.descs = undefined; |
|
||||||
this.query.ascs = undefined; |
|
||||||
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs'; |
|
||||||
this.query[orderByFieldKey] = !prop |
|
||||||
? undefined |
|
||||||
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase(); |
|
||||||
// // 重新加载数据 |
|
||||||
this.onLoad(); |
|
||||||
}, |
|
||||||
onLoad() { |
|
||||||
this.loading = true; |
|
||||||
getRecorderList({ |
|
||||||
current: this.page.currentPage, |
|
||||||
size: this.page.pageSize, |
|
||||||
...this.query, |
|
||||||
}).then(res => { |
|
||||||
this.data = res.data.data.records; |
|
||||||
this.page.total = res.data.data.total; |
|
||||||
this.loading = false; |
|
||||||
}); |
|
||||||
}, |
|
||||||
}, |
|
||||||
}; |
}; |
||||||
</script> |
</script> |
||||||
|
|
||||||
<style lang="scss"> |
|
||||||
.addOption-box { |
|
||||||
.avue-crud__header { |
|
||||||
min-height: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
</style> |
|
||||||
Loading…
Reference in new issue