rev:冲突处理

This commit is contained in:
zhangzhiqiang
2023-05-29 12:15:59 +08:00
parent 5ef00cf5ce
commit 9ae43259e3
45 changed files with 882 additions and 585 deletions

View File

@@ -12,21 +12,8 @@
<el-form-item label="工单编码">
<el-input v-model="form.workorder_code" style="width: 200px;" />
</el-form-item>
<el-form-item label="所属工序">
<el-select
v-model="form.workprocedure_id"
clearable
size="mini"
class="filter-item"
style="width: 200px;"
>
<el-option
v-for="item in workprocedureList"
:key="item.workprocedure_id"
:label="item.workprocedure_name"
:value="item.workprocedure_id"
/>
</el-select>
<el-form-item label="所属工序" >
<el-input v-model="form.workprocedure_name" style="width: 200px;" />
</el-form-item>
<el-form-item v-if="false" label="物料标识">
<el-input v-model="form.material_id" style="width: 200px;" />
@@ -99,6 +86,7 @@
clearable
filterable
placeholder="请选择"
@change="crud.toQuery"
>
<el-option
v-for="item in dict.PDM_BI_SHIFTTYPE"
@@ -108,43 +96,37 @@
/>
</el-select>
</el-form-item>
<el-form-item label="产品系列">
<treeselect
v-model="form.product_series"
disabled
:options="classes3"
:auto-load-root-options="false"
:load-options="loadChildNodes"
style="width: 200px;"
placeholder=""
/>
<el-form-item label="物料系列">
<el-input v-model="form.class_name" style="width: 200px;" />
</el-form-item>
<el-form-item label="销售单标识">
<el-input v-model="form.sale_id" style="width: 200px;" />
</el-form-item>
<el-form-item label="是否搬运">
<el-radio
v-for="item in dict.IS_OR_NOT"
:key="item.id"
v-model="form.is_needmove"
:label="item.value"
>{{ item.label }}
</el-radio>
<el-form-item label="是否搬运" prop="is_needmove" :formatter="formatBoolean" >
<el-select
v-model="form.is_needmove" style="width: 200px" clearable filterable >
<el-option v-for="item in trueorfalse" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<el-form-item label="允许修改报工数量">
<el-radio
v-for="item in dict.IS_OR_NOT"
:key="item.id"
<el-select
v-model="form.is_canupdate_update"
:label="item.value"
>{{ item.label }}
</el-radio>
style="width: 200px"
clearable
filterable
>
<el-option
v-for="item in trueorfalse"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
</el-card>
<div class="crud-opts2" style="margin-top: 30px;margin-bottom: 15px">
<span class="role-span">工单生产记录详情</span>
<span class="role-span">工单报工记录详情</span>
<span class="crud-opts-right2">
<!--左侧插槽-->
<slot name="left" />
@@ -161,20 +143,30 @@
:highlight-current-row="true"
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
<el-table-column prop="device_code" label="设备编码" align="center" />
<el-table-column prop="seq_number" label="顺序号" />
<el-table-column prop="workorder_code" label="工单编号" />
<el-table-column prop="shift_type_scode" label="班次类型" />
<el-table-column prop="shift_type_scode" label="班次类型">
<template slot-scope="scope">
{{ dict.label.PDM_BI_SHIFTTYPE[scope.row.shift_type_scode] }}
</template>
</el-table-column>
<el-table-column prop="product_area" label="生产车间" />
<el-table-column prop="device_name" label="设备名称" align="center" min-width="200" show-overflow-tooltip />
<el-table-column prop="dq_init_qty" label="电气期初数量" />
<el-table-column prop="person_init_qty" label="人员期初数量" />
<el-table-column prop="dq_report_qty" label="电气报工数量" />
<el-table-column prop="person_report_qty" label="人员报工数量" />
<el-table-column prop="dq_finish_qty" label="电气期末数量" />
<el-table-column prop="device_code" label="设备编码" align="center" />
<el-table-column prop="needproduct_qty" label="待生产数" />
<el-table-column prop="report_qty" label="报工数量" />
<el-table-column prop="nok_qty" label="报废数量" />
<el-table-column prop="repare_qty" label="报修数量" />
<el-table-column prop="person_finish_qty" label="人员期末数量" />
<el-table-column prop="operatetime_start" label="开工时间" />
<el-table-column prop="operatetime_end" label="完工时间" />
<el-table-column prop="nick_name" label="操作人" align="center" />
<el-table-column prop="report_status" label="报工状态" >
<template slot-scope="scope">
{{ reportStatus[scope.row.report_status-1].label }}
</template>
</el-table-column>
<el-table-column prop="produce_person_name" label="操作人" align="center" />
<el-table-column prop="confirm_name" label="审核人" align="center" />
<el-table-column prop="confirm_time" label="审核时间" align="center" />
</el-table>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
@@ -187,14 +179,13 @@
import { crud } from '@crud/crud'
import crudWorkProcedure from '@/api/wms/basedata/pdm/workProcedure'
import crudProduceshiftorder from '@/views/wms/product_manage/workorder/produceshiftorder'
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudClassstandard from '@/api/wms/basedata/master/classstandard'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
export default {
name: 'ViewDialog',
components: { Treeselect },
dicts: ['PDM_BI_SHIFTTYPE', 'MPS_BD_ORDERSTATUS', 'is_used', 'PDM_BI_ORDERTYPE', 'IS_OR_NOT'],
components: { },
dicts: ['PDM_BI_SHIFTTYPE', 'MPS_BD_ORDERSTATUS', 'PDM_BI_ORDERTYPE' ],
mixins: [crud()],
props: {
dialogShow: {
@@ -211,9 +202,11 @@ export default {
data() {
return {
dialogVisible: false,
classes3: [],
trueorfalse:[{value: true, label: '是' }, {value: false, label: '否'}],
reportStatus:[{value: '1', label: '创建记录' }, {value: '2', label: '报工完成'}, {value: '3', label: '审核完成'}],
form: {
sale_id: null,
class_name: null,
workorder_id: null,
workorder_code: null,
producedeviceorder_code: null,
@@ -263,77 +256,27 @@ export default {
methods: {
open() {
this.getworkprocedure()
this.initClass3()
this.is_null()
crudProduceshiftorder.getDtl({ workorder_id: this.form.workorder_id }).then(res => {
this.tableData = res
this.getMaterialClass()
crudProduceshiftorder.reportQuery({ workorder_id: this.form.workorder_id }).then(res => {
this.tableData = res.content
})
},
is_null() {
// 物料系列为空,新增
if (!this.form.product_series) {
this.form.product_series = null // 必须为null否则会出现unknown
} else { // 更新
this.getSubTypes('03', this.form.product_series)
formatBoolean: function(row, column) {
alert(row)
var ret = ''
if (row[column.property] === true) {
ret = '是' // 根据自己的需求设定
} else {
ret = '否'
}
return ret
},
getSubTypes(type, id) {
const that = this
crudClassstandard.getClassSuperior(id).then(res => {
const data = res.content
that.buildTree(data)
if (type === '03') {
that.classes3 = data
}
})
},
queryClassId() {
getMaterialClass() {
const param = {
'class_idStr': this.class_idStr
'material_id': this.form.material_id
}
crudClassstandard.queryClassById(param).then(res => {
this.classes = res.content.map(obj => {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
},
buildTree(classes) {
classes.forEach(data => {
if (data.children) {
this.buildTree(data.children)
}
if (data.hasChildren && !data.children) {
data.children = null // 重点代码
}
})
},
// 获取子节点数据
loadChildNodes({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) {
crudClassstandard.getClass({ pid: parentNode.id }).then(res => {
parentNode.children = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
setTimeout(() => {
callback()
}, 100)
})
}
},
initClass3() {
const param = {
parent_class_code: '07'
}
crudClassstandard.getClassType(param).then(res => {
const data = res.content
this.buildTree(data)
this.classes3 = data
this.form.class_name = res.content[0].class_name
})
},
getworkprocedure() {

View File

@@ -99,7 +99,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="产品系列" style="height: 20px;">
<el-form-item label="物料系列" style="height: 20px;">
<treeselect
v-model="query.product_series"
:options="classes3"
@@ -165,16 +165,6 @@
>
导入
</el-button>
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-printer"
size="mini"
@click="print"
>
打印
</el-button>
<el-button
slot="right"
class="filter-item"
@@ -203,7 +193,7 @@
type="success"
icon="el-icon-position"
size="mini"
@click="report()"
@click="report(crud.selections)"
>
报工审核
</el-button>
@@ -386,15 +376,17 @@
<el-link type="warning" @click="toView(scope.row)">{{ scope.row.workorder_code }}</el-link>
</template>
</el-table-column>
<el-table-column prop="shift_type_scode" label="班次类型">
<el-table-column prop="workorder_status" label="工单状态">
<template slot-scope="scope">
{{ dict.label.PDM_BI_SHIFTTYPE[scope.row.shift_type_scode] }}
{{ dict.label.MPS_BD_ORDERSTATUS[scope.row.workorder_status] }}
</template>
</el-table-column>
<!-- <el-table-column prop="workprocedure_code" label="工序编码" />-->
<el-table-column prop="product_area" label="生产车间" />
<el-table-column prop="plan_qty" label="计划数量" />
<el-table-column prop="real_qty" label="实际数量" />
<el-table-column prop="real_qty" label="报工总数" />
<el-table-column prop="nok_qty" label="报废总数" />
<el-table-column prop="report_qty" label="报修总数" />
<el-table-column prop="person_name" label="生产人员" />
<el-table-column prop="person_real_qty" label="人员实际数量" width="100" show-overflow-tooltip />
<el-table-column prop="dq_real_qty" label="电气实际数量" width="100" show-overflow-tooltip />
@@ -406,19 +398,12 @@
<el-table-column prop="realproducestart_date" label="实际开始时间" width="100" show-overflow-tooltip />
<el-table-column prop="realproduceend_date" label="实际结束时间" width="100" show-overflow-tooltip />
<el-table-column prop="device_code" label="当前设备编码" width="100" show-overflow-tooltip />
<el-table-column prop="is_canupdate_update" label="操作工是否允许修改报工数" width="200" show-overflow-tooltip>
<el-table-column prop="is_canupdate_update" label="允许修改报工数" :formatter="formatBoolean" width="200" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="is_needmove" label="是否搬运" :formatter="formatBoolean" />
<el-table-column prop="shift_type_scode" label="班次类型">
<template slot-scope="scope">
{{ dict.label.IS_OR_NOT[scope.row.is_canupdate_update] }}
</template>
</el-table-column>
<el-table-column prop="workorder_status" label="工单状态">
<template slot-scope="scope">
{{ dict.label.MPS_BD_ORDERSTATUS[scope.row.workorder_status] }}
</template>
</el-table-column>
<el-table-column prop="is_needmove" label="是否搬运">
<template slot-scope="scope">
{{ dict.label.IS_OR_NOT[scope.row.is_needmove] }}
{{ dict.label.PDM_BI_SHIFTTYPE[scope.row.shift_type_scode] }}
</template>
</el-table-column>
<el-table-column prop="create_type" label="创建类型" show-overflow-tooltip>
@@ -426,17 +411,16 @@
{{ dict.label.WORKORDER_CREATE_TYPE[scope.row.create_type] }}
</template>
</el-table-column>
<el-table-column prop="is_error" label="是否异常">
<template slot-scope="scope">
{{ dict.label.IS_OR_NOT[scope.row.is_error] }}
</template>
</el-table-column>
<el-table-column prop="is_error" :formatter="formatBoolean" label="是否异常"></el-table-column>
<el-table-column prop="error_info" label="异常信息" show-overflow-tooltip />
<el-table-column prop="remark" label="备注" />
<el-table-column prop="current_produce_person_name" label="操作工" show-overflow-tooltip />
<el-table-column prop="create_name" label="创建人" show-overflow-tooltip />
<el-table-column prop="create_time" label="创建时间" show-overflow-tooltip />
<el-table-column prop="update_name" label="修改" show-overflow-tooltip />
<el-table-column prop="update_time" label="修改时间" show-overflow-tooltip />
<el-table-column prop="down_name" label="下发" show-overflow-tooltip />
<el-table-column prop="down_time" label="下发时间" show-overflow-tooltip />
<el-table-column prop="confirm_name" label="完工人" show-overflow-tooltip />
<el-table-column prop="confirm_time" label="完工时间" show-overflow-tooltip />
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
@@ -456,7 +440,7 @@
@setMaterValue="setMaterValue"
/>
<ViewDialog ref="child3" />
<reportDialog ref="report" />
<reportDialog ref="report" @AddChanged="querytable" />
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="tableChanged3" />
<AddDialog :dialog-show.sync="addShow" @AddChanged="querytable" />
<ReplaceDeviceDialog ref="child4" @AddChanged="querytable" />
@@ -480,8 +464,6 @@ import crudClassstandard from '@/api/wms/basedata/master/classstandard'
import AddDialog from '@/views/wms/product_manage/workorder/AddDialog'
import UploadDialog from '@/views/wms/product_manage/workorder/UploadDialog'
import ReplaceDeviceDialog from '@/views/wms/product_manage/workorder/ReplaceDeviceDialog'
import orderExt from '@/views/wms/product_manage/workorder/orderExt'
import {getLodop} from '@/assets/js/lodop/LodopFuncs'
const defaultForm = {
workorder_id: null,
@@ -522,7 +504,7 @@ const defaultForm = {
}
export default {
name: 'Produceshiftorder',
components: { AddDialog, pagination, crudOperation, rrOperation, udOperation, MaterDtl, Treeselect, ViewDialog,reportDialog, UploadDialog, ReplaceDeviceDialog },
components: { AddDialog, pagination, crudOperation, rrOperation, udOperation, MaterDtl, Treeselect, ViewDialog, reportDialog, UploadDialog, ReplaceDeviceDialog },
mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['PDM_BI_SHIFTTYPE', 'MPS_BD_ORDERSTATUS', 'WORKORDER_CREATE_TYPE', 'is_used', 'PDM_BI_ORDERTYPE', 'IS_OR_NOT', 'product_area'],
cruds() {
@@ -598,6 +580,15 @@ export default {
this.initClass3()
},
methods: {
formatBoolean: function(row, column) {
var ret = ''
if (row[column.property] === true) {
ret = '是' // 根据自己的需求设定
} else {
ret = '否'
}
return ret
},
tableChanged3() {
this.crud.toQuery()
},
@@ -642,38 +633,6 @@ export default {
const day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate()
return [year, month, day].join('-') + ' ' + ['18', '30', '00'].join(':')
},
print() {
debugger
if (this.crud.selections.length <= 0 || this.crud.selections.length > 1) {
this.$message('请选择一条工单进行打印!')
return
}
let a = this.crud.selections[0]
orderExt.getExtList(a).then(res => {
if (res.length == 0 || !res) {
this.crud.notify('该工单需要打印的箱数为0', CRUD.NOTIFICATION_TYPE.INFO)
return
}
res.forEach((item) => {
const LODOP = getLodop()
LODOP.SET_SHOW_MODE('HIDE_DISBUTTIN_SETUP', 1)// 隐藏那些无效按钮
// 打印纸张大小设置https://www.it610.com/article/2094844.html
LODOP.SET_PRINT_PAGESIZE(1, '80mm', '50mm', '')
// LODOP.ADD_PRINT_RECT('0mm', '0mm', '48mm', '28mm', 0, 1)
LODOP.ADD_PRINT_BARCODE('10mm', '12mm', '60mm', '25mm', '128Auto', item.bar_code)
LODOP.SET_PRINT_STYLEA(0, 'ShowBarText', 0)
LODOP.ADD_PRINT_TEXT('35mm', '22mm', '40mm', '20mm', item.bar_code.substring(0, 9))
LODOP.SET_PRINT_STYLEA(0, 'FontSize', 20)
LODOP.ADD_PRINT_TEXT('42mm', '25mm', '40mm', '20mm', item.bar_code.substring(9, 16))
console.log(item.barcode)
LODOP.SET_PRINT_STYLEA(0, 'FontSize', 20)
LODOP.PRINT()// 打印
// LODOP.PREVIEW()
})
this.crud.notify('打印成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
this.crud.toQuery()
},
queryClassId() {
const param = {
'class_idStr': this.class_idStr
@@ -743,8 +702,8 @@ export default {
}
},
// 查看
report() {
this.$refs.report.setForm()
report(row) {
this.$refs.report.setForm(row[0])
},
// 强制完成
forceFinish(rows) {
@@ -788,7 +747,9 @@ export default {
return true
}
},
close() {
this.$emit('AddChanged')
},
// 强制完成禁用条件
is_finished(rows) {
var length = rows.length

View File

@@ -103,9 +103,9 @@ export function getReportWork(data) {
})
}
export function getDtl(data) {
export function reportQuery(data) {
return request({
url: 'api/produceWorkorder/getDtl',
url: '/api/produceWorkorder/reportQuery',
method: 'post',
data
})
@@ -134,5 +134,12 @@ export function replaceDevice(data) {
data
})
}
export function reportApprove(data) {
return request({
url: '/api/produceWorkorder/reportApprove',
method: 'post',
data
})
}
export default { add, addRows, edit, del, submits, unSubmits, getTable, openStart, saveReport, finish, getReportWork, forceFinish, getDtl, excelImport, getNotWorkDeviceByWorkproceduceId, replaceDevice }
export default { add, addRows, edit, del, submits, reportApprove, unSubmits, getTable, openStart, saveReport, finish, getReportWork, forceFinish, reportQuery, excelImport, getNotWorkDeviceByWorkproceduceId, replaceDevice }

View File

@@ -10,18 +10,18 @@
<el-card class="box-card" shadow="never">
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="180px">
<el-form-item label="工单编码">
<el-input v-model="form.workorder_code" style="width: 200px;" />
<el-input v-model="form.workorder_code" style="width: 200px;" clearable/>
</el-form-item>
<el-form-item label="只显示未审核">
<el-switch
v-model="form.is_report"
active-color="#409EFF"
inactive-color="#F56C6C"
active-value="true"
inactive-valu="false"
active-value='true'
inactive-valu='false'
/>
</el-form-item>
<el-dropdown split-button type="primary" class="filter-item" @click>
<el-dropdown split-button type="primary" class="filter-item" @click="report()">
<i class="el-icon-search el-icon--left" />查询
</el-dropdown>
</el-form>
@@ -40,26 +40,57 @@
ref="table"
:data="tableData"
style="width: 100%;"
max-height="300"
max-height="600"
border
:highlight-current-row="true"
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
<el-table-column prop="device_code" label="设备编码" align="center" />
<el-table-column prop="workorder_code" label="工单编号" />
<el-table-column prop="shift_type_scode" label="班次类型" />
<el-table-column prop="seq_number" label="报工顺序号" />
<el-table-column prop="shift_type_scode" label="班次类型">
<template slot-scope="scope">
{{ dict.label.PDM_BI_SHIFTTYPE[scope.row.shift_type_scode] }}
</template>
</el-table-column>
<el-table-column prop="product_area" label="生产车间" />
<el-table-column prop="device_name" label="设备名称" align="center" min-width="200" show-overflow-tooltip />
<el-table-column prop="dq_init_qty" label="电气期初数量" />
<el-table-column prop="person_init_qty" label="人员期初数量" />
<el-table-column prop="dq_report_qty" label="电气报工数量" />
<el-table-column prop="person_report_qty" label="人员报工数量" />
<el-table-column prop="dq_finish_qty" label="电气期末数量" />
<el-table-column prop="device_code" label="设备编码" align="center" />
<el-table-column prop="needproduct_qty" label="待生产数" />
<el-table-column prop="report_qty" label="报工数量" >
<template slot-scope="scope">
<el-input v-model = scope.row.report_qty></el-input>
</template>
</el-table-column>
<el-table-column prop="nok_qty" label="报废数量" >
<template slot-scope="scope">
<el-input v-model = scope.row.nok_qty></el-input>
</template>
</el-table-column>
<el-table-column prop="repare_qty" label="报修数量" >
<template slot-scope="scope">
<el-input v-model = scope.row.repare_qty></el-input>
</template>
</el-table-column>
<el-table-column prop="person_finish_qty" label="人员期末数量" />
<el-table-column prop="operatetime_start" label="开工时间" />
<el-table-column prop="operatetime_end" label="完工时间" />
<el-table-column prop="nick_name" label="操作人" align="center" />
<el-table-column prop="report_status" label="报工状态" >
<template slot-scope="scope">
{{ reportStatus[scope.row.report_status-1].label }}
</template>
</el-table-column>
<el-table-column prop="produce_person_name" label="操作人" align="center" />
<el-table-column prop="confirm_name" label="审核人" align="center" />
<el-table-column prop="confirm_time" label="审核时间" align="center" />
<el-table-column label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<el-button :disabled="scope.row.report_status !=='1'" size="mini" style="margin-left: -1px;margin-right: 2px" type="text" @click="reportApprove(scope.row)">提交审核</el-button>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<!-- <pagination />-->
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="dialogVisible = false">确定</el-button>
@@ -68,7 +99,6 @@
</template>
<script>
import { crud } from '@crud/crud'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudProduceshiftorder from '@/views/wms/product_manage/workorder/produceshiftorder'
@@ -76,7 +106,7 @@ export default {
name: 'ViewDialog',
components: { },
dicts: ['PDM_BI_SHIFTTYPE', 'MPS_BD_ORDERSTATUS', 'is_used', 'PDM_BI_ORDERTYPE', 'IS_OR_NOT'],
mixins: [crud()],
mixins: [],
props: {
dialogShow: {
type: Boolean,
@@ -92,9 +122,11 @@ export default {
data() {
return {
dialogVisible: false,
classes3: [],
trueorfalse: [{ value: true, label: '是' }, { value: false, label: '否' }],
reportStatus: [{ value: '1', label: '创建记录' }, { value: '2', label: '报工完成' }, { value: '3', label: '审核完成' }],
form: {
sale_id: null,
is_report: null,
workorder_id: null,
workorder_code: null,
producedeviceorder_code: null,
@@ -142,13 +174,26 @@ export default {
}
},
methods: {
close() {
this.$emit('AddChanged')
},
open() {
// this.getworkprocedure()
// this.initClass3()
// this.is_null()
// crudProduceshiftorder.getDtl({ workorder_id: this.form.workorder_id }).then(res => {
// this.tableData = res
// })
crudProduceshiftorder.reportQuery({ workorder_code: this.form.workorder_code }).then(res => {
this.tableData = res.content
})
},
report() {
crudProduceshiftorder.reportQuery({ workorder_code: this.form.workorder_code, is_report: this.form.is_report }).then(res => {
this.tableData = res.content
})
},
reportApprove(data) {
const arr = []
arr.push(data)
crudProduceshiftorder.reportApprove(arr).then(res => {
this.tableData = res.content
this.report()
})
},
setForm() {
this.dialogVisible = true