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> |
||||
<basic-container> |
||||
<!-- 计量管理 --> |
||||
<avue-crud |
||||
:option="option" |
||||
: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> |
||||
<!-- <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> |
||||
<el-tabs v-model="activeName" @tab-click="handleClick"> |
||||
<el-tab-pane label="保养申请" name="1"></el-tab-pane> |
||||
<el-tab-pane label="保养记录" name="2"></el-tab-pane> |
||||
</el-tabs> |
||||
<maintenanceList v-if="activeName == '1'"></maintenanceList> |
||||
<maintenanceRecord v-if="activeName == '2'"></maintenanceRecord> |
||||
</basic-container> |
||||
</template> |
||||
|
||||
<script> |
||||
import { |
||||
getRecorderList, |
||||
addRecorderList, |
||||
addRecorder, |
||||
applyRecorder, |
||||
} from '@/api/equiptManagement/maintenancetools'; |
||||
import { mapGetters } from 'vuex'; |
||||
import maintenanceList from './components/maintenanceList.vue'; |
||||
import maintenanceRecord from './components/maintenanceRecord.vue'; |
||||
export default { |
||||
components: { maintenanceList, maintenanceRecord }, |
||||
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, |
||||
}, |
||||
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', |
||||
}, |
||||
], |
||||
}, |
||||
], |
||||
}, |
||||
activeName: '1', |
||||
}; |
||||
}, |
||||
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> |
||||
|
||||
<style lang="scss"> |
||||
.addOption-box { |
||||
.avue-crud__header { |
||||
min-height: 0; |
||||
} |
||||
} |
||||
</style> |
||||
</script> |
||||
Loading…
Reference in new issue