You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
5.3 KiB
171 lines
5.3 KiB
<template> |
|
<basic-container> |
|
<!-- 报工管理 --> |
|
<el-tabs v-model="tabPosition" class="demo-tabs" @tab-change="tabPositionChange"> |
|
<el-tab-pane label="报工调整" name="workReporting"></el-tab-pane> |
|
<el-tab-pane label="报工调整记录" name="workReportingLog"></el-tab-pane> |
|
</el-tabs> |
|
|
|
<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"> |
|
<template #menu-left v-if="tabPosition == 'workReporting'"> |
|
<el-form :inline="true" v-model="searchForm"> |
|
<el-form-item> |
|
<el-input placeholder="请扫描流程卡号"></el-input> |
|
</el-form-item> |
|
<el-form-item> |
|
<el-button type="primary">保存</el-button> |
|
<el-button type="primary" @click="changeTeam">转班</el-button> |
|
</el-form-item> |
|
</el-form> |
|
</template> |
|
<template #userName="{ row }"> |
|
{{ row.receiveMan.userName }} |
|
</template> |
|
<template #cardNo="{ row }"> |
|
{{ row.prWorkOrder.cardNo }} |
|
</template> |
|
<template #partCode="{ row }"> |
|
{{ row.prWorkOrder.pjYieldOrder.partCode }} |
|
</template> |
|
<template #batchNo="{ row }"> |
|
{{ row.prWorkOrder.batchNo }} |
|
</template> |
|
<template #ppsName="{ row }"> |
|
{{ row.procedureSet.ppsName }} |
|
</template> |
|
<template #oriMakeTeam="{ row }"> |
|
{{ row.makeTeam.tsName }} |
|
</template> |
|
<template #oriReceiveMan="{ row }"> |
|
{{ row.receiveMan.tsName }} |
|
</template> |
|
<template #detail="{ row }" v-if="tabPosition == 'workReporting'"> |
|
<el-button type='text' @click='handleDetail(row)'>详情</el-button> |
|
</template> |
|
</avue-crud> |
|
<el-dialog append-to-body title='详情' v-model="detailDialog"> |
|
<div style="display:flex;justify-content: flex-end;"> |
|
<el-button type="primary">保存</el-button> |
|
</div> |
|
<el-table :data="tableData" style="margin-top:20px;"> |
|
<el-table-column label='数量' prop="workQty"></el-table-column> |
|
<el-table-column label='报工时间' prop="makeTime"></el-table-column> |
|
<el-table-column label='报工人' prop="worker.userId"></el-table-column> |
|
</el-table> |
|
</el-dialog> |
|
<el-dialog append-to-body title='转班' v-model="teamDialog"> |
|
<el-form ref="teamForm" :model="teamForm" :rules="teamRules"> |
|
<el-form-item> |
|
旧班组:{{ data[0].prWorkOrder.makeTeam.tsName }} |
|
</el-form-item> |
|
<el-form-item label="新班组" prop="makeTeam"> |
|
<el-select v-model="teamForm.makeTeam"> |
|
<el-option label='班组一' value="1"></el-option> |
|
</el-select> |
|
</el-form-item> |
|
</el-form> |
|
<template #footer> |
|
<span class="dialog-footer"> |
|
<el-button @click="teamDialog = false">取 消</el-button> |
|
<el-button type="primary" @click="submit">确 定</el-button> |
|
</span> |
|
</template> |
|
</el-dialog> |
|
</basic-container> |
|
</template> |
|
|
|
<script> |
|
import wordReporting from './js/wordReporting'; |
|
import workReportingData from './js/workReportingData' |
|
export default { |
|
data() { |
|
return { |
|
tabPosition: 'workReporting', |
|
loading: false, |
|
data: [], |
|
form: {}, |
|
detailDialog: false, |
|
teamDialog: false, |
|
teamForm: {}, |
|
teamRules: { |
|
makeTeam: [{ required: true, message: '请选择新班组', trigger: 'blur' }] |
|
}, |
|
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: true, |
|
viewBtn: false, |
|
delBtn: false, |
|
editBtn: false, |
|
delBtnIcon: ' ', |
|
addBtn: false, |
|
labelWidth: 120, |
|
searchLabelWidth: 120, |
|
menu: true, |
|
menuWidth: 200, |
|
dialogWidth: 600, |
|
dialogClickModal: false, |
|
searchEnter: true, |
|
excelBtn: true, |
|
gridBtn: false, |
|
searchShowBtn: false, |
|
showOverflowTooltip: true, |
|
column: [] |
|
} |
|
} |
|
}, |
|
mounted() { |
|
this.option.menu = false |
|
this.option.column = wordReporting[this.tabPosition] |
|
}, |
|
methods: { |
|
tabPositionChange() { |
|
this.option.column = wordReporting[this.tabPosition] |
|
if(this.tabPosition == 'workReporting'){ |
|
this.data = workReportingData['data'] |
|
}else{ |
|
this.data = workReportingData['data'] |
|
} |
|
this.page.total = this.data.length |
|
}, |
|
handleDetail() { |
|
this.detailDialog = true |
|
}, |
|
changeTeam() { |
|
this.teamDialog = true |
|
}, |
|
submit() { |
|
this.$refs.teamForm.validate(valid => { |
|
if (valid) { |
|
this.teamDialog = false |
|
} |
|
}) |
|
}, |
|
onLoad() { |
|
this.data = workReportingData['data'] |
|
this.page.total = this.data.length |
|
} |
|
}, |
|
|
|
} |
|
</script> |
|
|
|
<style></style> |