rev:维修单填报新增备件出库
This commit is contained in:
@@ -180,7 +180,8 @@
|
||||
{{ fun(scope.row.total_qty) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip min-width="120" />
|
||||
<el-table-column label="来源单据号" align="center" prop="source_id" show-overflow-tooltip min-width="120" />
|
||||
<el-table-column label="制单人" align="center" prop="create_name" />
|
||||
<el-table-column label="制单时间" align="center" prop="create_time" width="150" />
|
||||
<el-table-column label="修改人" align="center" prop="update_name" />
|
||||
|
||||
@@ -77,6 +77,9 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="crud.status.edit !== 0 || crud.status.view !== 0 " label="维修人" prop="update_optname">
|
||||
<el-input v-model.trim="form.update_optname" v-show="crud.status.edit !== 0 || crud.status.view !== 0 " style="width: 200px;" :disabled="crud.status.view > 0" />
|
||||
</el-form-item>
|
||||
<el-form-item v-show="crud.status.edit === 1" label="预计修复时间(小时)" prop="estimaterepair_times">
|
||||
<el-input-number v-show="crud.status.edit === 1" v-model="form.estimaterepair_times" :disabled="crud.status.view > 0" :precision="1" :min="0" :max="999" style="width: 200px" :controls="false" />
|
||||
</el-form-item>
|
||||
|
||||
@@ -152,4 +152,12 @@ export function getDeviceInfo(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export default { findByCode, add, edit, del, getDtl, submit, startRepair, endRepair, submitRepair, confirmRepair, submitResuft, getResult, outRepair, checkRepair, uditRepair, getNormBom, getFileBom, submitReceive, getDeviceInfo }
|
||||
export function getIosMst(data) {
|
||||
return request({
|
||||
url: 'api/devicerepairquery/getIosMst',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { findByCode, add, edit, del, getDtl, submit, startRepair, endRepair, submitRepair, confirmRepair, submitResuft, getResult, outRepair, checkRepair, uditRepair, getNormBom, getFileBom, submitReceive, getDeviceInfo, getIosMst }
|
||||
|
||||
@@ -244,6 +244,9 @@ export default {
|
||||
if (data.invstatus !== '01') {
|
||||
return this.crud.notify('只能对生成状态的单据提交', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
}
|
||||
if (data.update_optname === '') {
|
||||
return this.crud.notify('维修人不允许为空', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
}
|
||||
crudDevicerepairmst.submit(data).then(res => {
|
||||
this.crud.notify('提交成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.crud.toQuery()
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
:before-close="handleClose"
|
||||
destroy-on-close
|
||||
@close="close"
|
||||
@open="open"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="18" style="border: 1px solid white">
|
||||
@@ -14,7 +15,7 @@
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<span>
|
||||
<el-button icon="el-icon-check" size="mini" type="primary" @click="submitMain">预保存</el-button>
|
||||
<!-- <el-button icon="el-icon-check" size="mini" type="primary" @click="submitMain">预保存</el-button>-->
|
||||
<el-button icon="el-icon-check" size="mini" type="primary" @click="endRepair">保存并结束</el-button>
|
||||
<el-button icon="el-icon-close" size="mini" type="info" @click="close">关闭</el-button>
|
||||
</span>
|
||||
@@ -23,19 +24,19 @@
|
||||
|
||||
<el-form ref="form" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;" :inline="true" :model="form" size="mini" label-width="120px" label-suffix=":">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="单据号" prop="repair_code">
|
||||
<el-input v-model.trim="form.repair_code" style="width: 200px;" disabled placeholder="系统自动生成" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="计划维修日期" prop="plan_start_date">
|
||||
<el-date-picker v-model="form.plan_start_date" type="date" placeholder="选择日期" style="width: 200px" value-format="yyyy-MM-dd" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="维修类型" prop="maintenancecycle">
|
||||
<el-select
|
||||
v-model="form.maintenancecycle"
|
||||
@@ -55,21 +56,26 @@
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="设备名称" prop="device_name">
|
||||
<el-input v-model.trim="form.device_name" :disabled="true" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="维修人" prop="update_optname">
|
||||
<el-input v-model.trim="form.update_optname" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="班组配合人" prop="product_person_name">
|
||||
<el-input v-model.trim="form.product_person_name" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="备件出库">
|
||||
<el-switch v-model="form.switch" active-color="#13ce66" inactive-color="#ff4949" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
@@ -122,6 +128,23 @@
|
||||
<span class="role-span">项目明细</span>
|
||||
</div>
|
||||
|
||||
<div class="crud-opts2" style="margin-bottom: 5px;">
|
||||
<span class="crud-opts-right2">
|
||||
<!--左侧插槽-->
|
||||
<slot name="left" />
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="success"
|
||||
icon="el-icon-position"
|
||||
size="mini"
|
||||
@click="putItem"
|
||||
>
|
||||
添加项目
|
||||
</el-button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<el-card class="box-card" shadow="never" :body-style="{padding:'0'}">
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
@@ -154,18 +177,159 @@
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="danger" class="filter-item" size="mini" icon="el-icon-delete" :disabled="scope.row.isfinish === '1'" @click.native.prevent="delRow(scope.$index, form.tableData)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
|
||||
<div v-if="form.switch" class="crud-opts2">
|
||||
<span class="role-span">新增备件出库</span>
|
||||
</div>
|
||||
|
||||
<div v-if="form.switch" class="crud-opts2">
|
||||
<el-form
|
||||
ref="form"
|
||||
:inline="true"
|
||||
:model="form2"
|
||||
:rules="rules"
|
||||
size="mini"
|
||||
label-width="85px"
|
||||
label-suffix=":"
|
||||
>
|
||||
<el-form-item label="业务类型" prop="bill_type">
|
||||
<el-select
|
||||
v-model="form2.bill_type"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="业务类型"
|
||||
class="filter-item"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.EM_BI_OUT_TYPE"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="仓库" prop="stor_id">
|
||||
<label slot="label">仓库</label>
|
||||
<el-select
|
||||
v-model="form2.stor_id"
|
||||
clearable
|
||||
class="filter-item"
|
||||
style="width: 210px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in storlist"
|
||||
:key="item.stor_id"
|
||||
:label="item.stor_name"
|
||||
:value="item.stor_id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="车间" prop="workshop_id">
|
||||
<label slot="label">车间</label>
|
||||
<el-select
|
||||
v-model="form2.workshop_id"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="全部"
|
||||
class="filter-item"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.product_area"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div v-if="form.switch" class="crud-opts2" style="margin-bottom: 5px;">
|
||||
<span class="crud-opts-right2">
|
||||
<!--左侧插槽-->
|
||||
<slot name="left" />
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="success"
|
||||
icon="el-icon-position"
|
||||
size="mini"
|
||||
@click="insertEvent"
|
||||
>
|
||||
添加库存
|
||||
</el-button>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<el-card v-if="form.switch" class="box-card" shadow="never" :body-style="{padding:'0'}">
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
ref="table2"
|
||||
:data="form2.tableDataDtl"
|
||||
style="width: 100%;"
|
||||
max-height="500"
|
||||
border
|
||||
:highlight-current-row="true"
|
||||
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="55" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="material_code" label="备件编码" />
|
||||
<el-table-column show-overflow-tooltip prop="material_name" label="备件名称" />
|
||||
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库数量">
|
||||
<template slot-scope="scope">
|
||||
<el-input-number
|
||||
v-model="form2.tableDataDtl[scope.$index].plan_qty"
|
||||
size="small"
|
||||
:controls="false"
|
||||
controls-position="right"
|
||||
precision="3"
|
||||
:min="0"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" />
|
||||
<el-table-column show-overflow-tooltip prop="remark" label="明细备注">
|
||||
<template slot-scope="scope">
|
||||
<el-input
|
||||
v-model="form2.tableDataDtl[scope.$index].remark"
|
||||
size="small"
|
||||
:controls="false"
|
||||
controls-position="right"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="danger" class="filter-item" size="mini" icon="el-icon-delete" @click.native.prevent="delRow(scope.$index, form2.tableDataDtl)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
|
||||
<ItemDialog :dialog-show.sync="itemDialog" :is-single="false" :open-param="openParam" @tableChanged1="tableChanged1" />
|
||||
<StructIvt :dialog-show.sync="ivtShow" @setMaterValue="tableChanged" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
import CRUD, { crud } from '@crud/crud'
|
||||
import crudDevicerepairmst from '@/views/wms/device_manage/repair/devicerepair/devicerepairmst'
|
||||
import ItemDialog from '@/views/wms/device_manage/repair/devicerepairplan/ItemDialog'
|
||||
import crudStorattr from '@/views/wms/storage_manage/basedata/basedata'
|
||||
import StructIvt from '@/views/wms/device_manage/ios/embiout/StructIvt'
|
||||
|
||||
export default {
|
||||
name: 'ExecuteDialog',
|
||||
dicts: ['EM_DEVICE_WX_INVTYPE', 'IS_OR_NOT'],
|
||||
dicts: ['EM_DEVICE_WX_INVTYPE', 'IS_OR_NOT', 'EM_BI_OUT_TYPE', 'product_area'],
|
||||
components: { ItemDialog, StructIvt },
|
||||
mixins: [crud()],
|
||||
props: {
|
||||
dialogShow: {
|
||||
@@ -179,8 +343,19 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
switch: false,
|
||||
tableData: []
|
||||
},
|
||||
form2: {
|
||||
bill_type: '',
|
||||
stor_id: '',
|
||||
workshop_id: '',
|
||||
total_qty: '0',
|
||||
tableDataDtl: []
|
||||
},
|
||||
storlist: [],
|
||||
itemDialog: false,
|
||||
ivtShow: false,
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
@@ -202,6 +377,11 @@ export default {
|
||||
.catch(_ => {
|
||||
})
|
||||
},
|
||||
open() {
|
||||
crudStorattr.getStor({ 'stor_type': '6' }).then(res => {
|
||||
this.storlist = res.content
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$emit('update:dialogShow', false)
|
||||
},
|
||||
@@ -214,12 +394,95 @@ export default {
|
||||
})
|
||||
},
|
||||
endRepair() {
|
||||
const data = this.form
|
||||
// 校验备件出库
|
||||
if (this.form.switch) {
|
||||
if (this.form2.bill_type === '') {
|
||||
this.crud.notify('请选择业务类型!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return false
|
||||
}
|
||||
|
||||
if (this.form2.stor_id === '') {
|
||||
this.crud.notify('请选择仓库!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return false
|
||||
}
|
||||
|
||||
if (this.form2.workshop_id === '') {
|
||||
this.crud.notify('请选择车间!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return false
|
||||
}
|
||||
|
||||
if (this.form2.tableDataDtl.length === 0) {
|
||||
this.crud.notify('请添加备件!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return false
|
||||
}
|
||||
|
||||
for (let i = 0; i < this.form2.tableDataDtl.length; i++) {
|
||||
const row = this.form2.tableDataDtl[i]
|
||||
if (!row.plan_qty) {
|
||||
this.crud.notify('数量不能为空', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const data = {
|
||||
'form': this.form,
|
||||
'form2': this.form2
|
||||
}
|
||||
crudDevicerepairmst.endRepair(data).then(res => {
|
||||
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.crud.toQuery()
|
||||
this.dialogVisible = false
|
||||
})
|
||||
},
|
||||
putItem() {
|
||||
this.openParam = this.form
|
||||
this.itemDialog = true
|
||||
},
|
||||
tableChanged1(row) {
|
||||
const arr = row
|
||||
const data = this.form.tableData
|
||||
arr.forEach((item) => {
|
||||
if (this.form.tableData.length !== 0) {
|
||||
this.fla = false
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
if (data[i].repair_item_id === item.repair_item_id) {
|
||||
this.fla = true
|
||||
}
|
||||
}
|
||||
if (this.fla === false) {
|
||||
this.form.tableData.push(item)
|
||||
}
|
||||
} else {
|
||||
this.form.tableData.push(item)
|
||||
}
|
||||
})
|
||||
},
|
||||
insertEvent(row) {
|
||||
this.ivtShow = true
|
||||
},
|
||||
delRow(index, rows) {
|
||||
rows.splice(index, 1)
|
||||
},
|
||||
tableChanged(rows) {
|
||||
// 对新增的行进行校验不能存在相同物料批次
|
||||
rows.forEach((item) => {
|
||||
let same_mater = true
|
||||
this.form2.tableDataDtl.forEach((row) => {
|
||||
if (row.material_code === item.material_code) {
|
||||
same_mater = false
|
||||
}
|
||||
})
|
||||
if (same_mater) {
|
||||
item.quality_scode = '01'
|
||||
item.ivt_level = '01'
|
||||
item.is_active = '1'
|
||||
item.plan_qty = item.canuse_qty
|
||||
this.form2.total_qty = parseFloat(this.form2.total_qty) + parseFloat(item.plan_qty)
|
||||
this.form2.tableDataDtl.splice(-1, 0, item)
|
||||
}
|
||||
})
|
||||
this.form2.detail_count = this.form2.tableDataDtl.length
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -250,4 +513,8 @@ export default {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.crud-opts2 .crud-opts-right2 {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
@close="close"
|
||||
>
|
||||
<el-form ref="form" :inline="true" :model="form4" :rules="rules" size="mini" label-width="150px" label-suffix=":">
|
||||
<el-row>
|
||||
<!-- <el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="维修人" prop="update_optname">
|
||||
<el-input v-model.trim="form4.update_optname" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-row>-->
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="预计修复时间(小时)" prop="estimaterepair_times">
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="维修领用"
|
||||
title="维修详情"
|
||||
append-to-body
|
||||
:visible.sync="dialogVisible"
|
||||
fullscreen
|
||||
:before-close="handleClose"
|
||||
destroy-on-close
|
||||
@close="close"
|
||||
@open="open"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="20" style="border: 1px solid white">
|
||||
@@ -97,22 +98,7 @@
|
||||
</el-card>
|
||||
|
||||
<div class="crud-opts2">
|
||||
<span class="role-span">设备bom</span>
|
||||
<span class="crud-opts-right2">
|
||||
<!--左侧插槽-->
|
||||
<slot name="left" />
|
||||
<el-button
|
||||
slot="left"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
icon="el-icon-check"
|
||||
size="mini"
|
||||
disabled
|
||||
@click="addChange"
|
||||
>
|
||||
添加更换件
|
||||
</el-button>
|
||||
</span>
|
||||
<span class="role-span">备件出库明细</span>
|
||||
</div>
|
||||
|
||||
<el-card class="box-card" shadow="never" :body-style="{padding:'0'}">
|
||||
@@ -127,18 +113,11 @@
|
||||
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="55" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="repair_item_code" label="维修项目编号" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="device_code" label="设备编码" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="sparepart_only_id" label="备件唯一标识" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="change_only_id" label="更换备件唯一标识" align="center" />
|
||||
|
||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="danger" disabled class="filter-item" size="mini" icon="el-icon-delete" @click.native.prevent="delRow(scope.$index, tableData)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column show-overflow-tooltip prop="material_code" label="备件编码" />
|
||||
<el-table-column show-overflow-tooltip prop="material_name" label="备件名称" />
|
||||
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库数量" />
|
||||
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" />
|
||||
<el-table-column show-overflow-tooltip prop="remark" label="明细备注" />
|
||||
</el-table>
|
||||
</el-card>
|
||||
|
||||
@@ -152,6 +131,7 @@
|
||||
import crudDevicerepairmst from '@/views/wms/device_manage/repair/devicerepair/devicerepairmst'
|
||||
import CRUD, { crud } from '@crud/crud'
|
||||
import AddChangeDialog from '@/views/wms/device_manage/repair/devicerepairpa/AddChangeDialog'
|
||||
import crudProductOut from '@/views/wms/device_manage/ios/embiout/embiout'
|
||||
|
||||
export default {
|
||||
name: 'ReceiveDialog',
|
||||
@@ -188,6 +168,13 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
crudDevicerepairmst.getIosMst(this.form3).then(res => {
|
||||
crudProductOut.getIODtl({ 'iostorinv_id': res.iostorinv_id }).then(res => {
|
||||
this.tableData = res
|
||||
})
|
||||
})
|
||||
},
|
||||
handleClose(done) {
|
||||
this.$confirm('确认关闭?')
|
||||
.then(_ => {
|
||||
|
||||
Reference in New Issue
Block a user