<template>
|
<el-dialog
|
:close-on-click-modal="false"
|
:fullscreen="isFullScreen"
|
:visible.sync="visible">
|
<template slot="title">
|
<i :class="isFullScreen?'icon-zuixiaohua':'icon-quanpingzuidahua'"
|
style="position: absolute; right: 52px; float: right" @click="fullscreen">
|
</i>
|
<span>{{title}}</span>
|
</template>
|
<el-tabs type="border-card" ref="tabs">
|
<el-tab-pane label="材料">
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px" class="l-mes">
|
<el-row >
|
<el-col :span="12">
|
<el-form-item label="领料号" prop="resNo" >
|
<el-input v-model="dataForm.resNo" placeholder="领料号" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="申请日期" prop="resDate">
|
<el-date-picker
|
readonly
|
style="width: 100%"
|
v-model="moment"
|
type="datetime"
|
placeholder="选择日期时间"
|
value-format="yyyy-MM-dd HH:mm:ss">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="12">
|
<el-form-item label="申请人" prop="resUser">
|
<el-input v-model="dataForm.resUser" placeholder="申请人" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="工厂" prop="factoryId">
|
<el-select v-model="dataForm.factoryId" filterable placeholder="" style="width:100%">
|
<el-option
|
v-for="item in factoryOptions"
|
:key="item.id"
|
:label="item.factoryName"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="12">
|
<el-form-item label="出库类型" prop="resType">
|
<el-select v-model="dataForm.resType" filterable placeholder="请选择出库类型" style= "width:100%" >
|
<el-option
|
v-for="(item,index) in this.resTypeOptions"
|
:label="item.stockCodeName"
|
:value="item.id"
|
:key="index">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
</el-tab-pane>
|
<el-tab-pane label="材料申请明细">
|
<el-row>
|
<el-col :span="12">
|
<reserve-detail :paramObj="paramObj" :visible="visible" ref="reserveDetail" @refreshDataList="reserveDetailList">
|
</reserve-detail>
|
</el-col>
|
<el-col :span="12">
|
<prepare-detail :reserveMainId="dataForm.id" ref="prepareDetail" :disabled="dataForm.resStatus" :visible="visible" @refreshDataList="prepareDataList">
|
</prepare-detail>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
</el-tabs>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="visible = false">取消</el-button>
|
<el-button @click="visible = false">确定</el-button>
|
</span>
|
</el-dialog>
|
</template>
|
|
<script>
|
import {getObj} from '@/api/warehouse/reservemain'
|
import {mapGetters} from 'vuex'
|
import ReserveDetail from './reservedetail'
|
import PrepareDetail from './preparedetail'
|
import {loadStockInCode} from "../../../api/warehouse/stockincode";
|
import {loadFactoryList} from "../../../api/basic/factory";
|
|
export default {
|
data () {
|
return {
|
factoryOptions: [],
|
title: '',
|
paramObj:{},
|
isFullScreen: true,
|
isDisable: false,//表单重复提交
|
addOrUpdateVisible:false,
|
resTypeOptions:[],
|
moment:'',
|
visible: false,
|
dataForm: {
|
id: 0,
|
resNo: '',
|
resDate: '',
|
resUser: '',
|
factoryId: '',
|
resType: '',
|
resStatus: ''
|
},
|
dataRule: {
|
resType: [
|
{ required: true, message: '零件编号不能为空', trigger: 'blur' }
|
],
|
}
|
}
|
},
|
computed: {
|
...mapGetters(['permissions','userInfo'])
|
},
|
components: {
|
ReserveDetail,
|
PrepareDetail
|
},
|
created() {
|
this.initStockInCodeSelect()
|
this.initFactorySelect()
|
},
|
methods: {
|
init (id) {
|
this.dataForm.id = id || 0
|
this.visible = true
|
this.paramObj.warehouseMainId =this.dataForm.id
|
this.dataForm.resUser = this.userInfo.username
|
this.moment=new Date()
|
this.dataList = []
|
this.$nextTick(() => {
|
this.$refs['dataForm'].resetFields()
|
this.isFullScreen = true
|
if (this.dataForm.id) {
|
getObj(this.dataForm.id).then(response => {
|
this.dataForm = response.data.data
|
this.title = '修改'
|
})
|
}
|
else {
|
this.title = '新增'
|
this.$refs['tabs'].currentName = '0'
|
}
|
})
|
},
|
// 获取工厂的数据
|
initFactorySelect() {
|
loadFactoryList().then(res => {
|
this.factoryOptions = res.data
|
})
|
},
|
// 获取出入库原因码的数据
|
initStockInCodeSelect() {
|
loadStockInCode(Object.assign(
|
{
|
stockCodeType : 1,
|
stockCodeStatus : 1
|
}
|
)).then(res => {
|
this.resTypeOptions = res.data.data;
|
})
|
},
|
// 全屏
|
fullscreen() {
|
this.isFullScreen = !this.isFullScreen
|
},
|
prepareDataList(){
|
this.$refs.reserveDetail.getData()
|
},
|
reserveDetailList(partId,warehouseReserveDetailId){
|
this.$refs.prepareDetail.getUpdateDataList(partId,warehouseReserveDetailId)
|
},
|
}
|
}
|
</script>
|