<template>
|
<div v-loading="formLoading" v-if="formShow">
|
<div style=" margin-bottom: 10px; border-bottom: 1px solid #f6f6f6;">
|
<!-- <el-button type="primary" @click="handleAdd(OperationType = 1)" v-if="addBtnShow">新增</el-button> -->
|
<el-button type="primary" @click="submitForm" :disabled="subDisabled">保 存</el-button>
|
<!-- <el-button type="primary" @click="set_CheckBill(1, form)">审 核</el-button> -->
|
<el-button type="primary" @click="close">退 出</el-button>
|
<!-- <el-button @click="cancel">取 消</el-button> -->
|
</div>
|
<div style="margin: 10px; font-size: 28px; font-weight: bold; text-align: center;">调拨申请单</div>
|
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
|
<el-tabs v-model="activeName" type="card">
|
<el-tab-pane label="基本信息" name="first">
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="单据号" prop="HBillNo">
|
<el-input v-model="form.HBillNo" placeholder="请输入单据号" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="日期" prop="HDate">
|
<el-date-picker v-model="form.HDate" type="date" placeholder="选择日期" value-format="yyyy-MM-ddT">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="辅助字段" prop="HInnerBillNo">
|
<el-input v-model="form.HInnerBillNo" placeholder="" disabled/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="往来单位" prop="HSupName">
|
<el-input v-model="form.HSupName" placeholder="请选择往来单位" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(6)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="业务员" prop="HEmpName">
|
<el-input v-model="form.HEmpName" placeholder="请选择" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(4,empType=1)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="主管" prop="HMangerName">
|
<el-input v-model="form.HMangerName" placeholder="请选择" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(4,empType=2)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="验收员" prop="HSecManagerName">
|
<el-input v-model="form.HSecManagerName" placeholder="请选择" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(4,empType=3)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="保管员" prop="HKeeperName">
|
<el-input v-model="form.HKeeperName" placeholder="请选择" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(4,empType=4)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="调入仓库" prop="HWHName">
|
<el-input v-model="form.HWHName" placeholder="请选择调入仓库" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(2,eHWHType=1)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="调出仓库" prop="HSCWHName">
|
<el-input v-model="form.HSCWHName" placeholder="请选择调出仓库" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(2,eHWHType=2)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="部门" prop="HDeptName">
|
<el-input v-model="form.HDeptName" placeholder="请选择部门" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(1)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="备注" prop="HRemark">
|
<el-input v-model="form.HRemark" placeholder="请输入备注" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
<el-tab-pane label="制单信息" name="third">
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="制单人" prop="HMaker">
|
<el-input v-model="form.HMaker" placeholder="请输入制单人" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="修改人" prop="HUpDater">
|
<el-input v-model="form.HUpDater" placeholder="请输入修改人" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="审核人" prop="HChecker">
|
<el-input v-model="form.HChecker" placeholder="请输入审核人" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="关闭人" prop="HCloseMan">
|
<el-input v-model="form.HCloseMan" placeholder="请输入关闭人" disabled />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="制单日期" prop="HMakeDate">
|
<el-date-picker v-model="form.HMakeDate" type="date" placeholder="选择制单日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="修改日期" prop="HUpDateDate">
|
<el-date-picker v-model="form.HUpDateDate" type="date" placeholder="选择审核日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="审核日期" prop="HCheckDate">
|
<el-date-picker v-model="form.HCheckDate" type="date" placeholder="选择审核日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="关闭日期" prop="HCloseDate">
|
<el-date-picker v-model="form.HCloseDate" type="date" placeholder="选择关闭日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="作废人" prop="HDeleteMan">
|
<el-input v-model="form.HDeleteMan" placeholder="请输入作废人" disabled />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="作废日期" prop="HDeleteDate">
|
<el-date-picker v-model="form.HDeleteDate" type="date" placeholder="选择作废日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
</el-tabs>
|
|
<el-tabs v-model="activeName1" type="border-card">
|
<el-tab-pane label="明细信息" name="first">
|
<div style="margin-bottom: 10px;">
|
<el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb()" size="mini">增加一行</el-button>
|
<el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb(zbIndex, 1)"
|
size="mini">插入一行</el-button>
|
<el-button type="success" plain icon="el-icon-plus" @click="handleCopyZbRow" size="mini">复制一行</el-button>
|
<el-button type="success" plain icon="el-icon-arrow-up" @click="handleMoveRowUp(zbSelForm)"
|
size="mini">上移</el-button>
|
<el-button type="success" plain icon="el-icon-arrow-down" @click="handleMoveRowDown(zbSelForm)"
|
size="mini">下移</el-button>
|
</div>
|
<el-table :data="editData" style="width: 100%" height="300" width="100%" ref="zbTable"
|
@selection-change="handleTableZbEdit" :row-class-name="rowSysZbIndex" show-summary border>
|
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column align="center" label="序号" type="index" width="80" />
|
<el-table-column align="center" label="物料代码" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HMaterID" placeholder="请输入" @keyup.native.f7="openDataDialog(3, scope.row)"
|
@dblclick.native="openDataDialog(3, scope.row)" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="物料名称" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.物料名称 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="规格型号" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.规格型号 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="计量单位" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.计量单位 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="换算率" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HSecUnitRate }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="辅助计量单位" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.辅助计量单位 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="应收数量" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HQtyMust }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="实收数量" width="120">
|
<template slot-scope="scope">
|
<el-input-number v-model="scope.row.HQty" :min="1" style="width: 90px;"
|
controls-position="right"></el-input-number>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="单价" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HPrice" placeholder="请输入" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="金额" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HMoney" placeholder="请输入" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="调出单价" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HOutPrice" placeholder="请输入" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="调出金额" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HOutMoney" placeholder="请输入" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="调入仓库" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.调入仓库" placeholder="请输入" @keyup.native.f7="openDataDialog(2, scope.row ,eHWHType=3)"
|
@dblclick.native="openDataDialog(2, scope.row ,eHWHType=3)" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="调出仓库" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.调出仓库" placeholder="请输入" @keyup.native.f7="openDataDialog(2, scope.row ,eHWHType=4)"
|
@dblclick.native="openDataDialog(2, scope.row ,eHWHType=4)" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="基本计量单位" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.基本计量单位 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="辅单位" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.辅单位 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="备注" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HRemark" placeholder="请输入备注" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="操作" width="55" fixed="right">
|
<template slot-scope="scope">
|
<el-button type="danger" icon="el-icon-delete" size="mini" circle
|
@click="handleDeleteSysZb(scope.row)"></el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-tab-pane>
|
</el-tabs>
|
|
</el-form>
|
<!-- 弹窗 -->
|
<el-dialog :title="dialogTitle" :visible.sync="openData" width="1280px" append-to-body>
|
<Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="deptShow" />
|
<Warehouse @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="warehouseShow" />
|
<GyEmployee @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyEmployeeShow" />
|
<GySupplier @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gySupplierShow" />
|
<Material @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="materialShow" />
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="deptClickSub">确 定</el-button>
|
<el-button @click="deptClose">取 消</el-button>
|
</div>
|
</el-dialog>
|
<el-dialog title="隐藏列设置" :visible.sync="openRowHide" width="816px" append-to-body>
|
<RowSettings :colName="btResList" :HModName="HModName" @rowEditClose="rowSetClose" v-if="rowHideShow" />
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import axios from 'axios'
|
import RowSettings from '@/views/component/rowSettings'
|
import GyEmployee from '@/views/basic/gyEmployee/gyEmployee.vue'
|
import Dept from '@/views/basic/gy/gyDepartment'
|
import Warehouse from '@/views/basic/gyWarehouse/gyWarehouse.vue'
|
import GySupplier from '@/views/basic/gy/gySupplier.vue'
|
import Material from '@/views/gyMaterial/GyMaterial.vue'
|
import moment from 'moment';
|
|
export default {
|
name: 'Kf_MoveStockRequestBillEdit',
|
components: { Dept, Warehouse, RowSettings, GyEmployee,GySupplier,Material },
|
props: {
|
OperationType: { type: Number, },
|
linterid: { type: Number, },
|
HSouceBillType: { type: String, },
|
propsData: { type: String, },
|
copyType: { type: Number, },
|
},
|
data() {
|
return {
|
HModName: "Kf_MoveStockRequestBillEdit",
|
formShow: false,
|
temp: undefined,
|
formLoading: true,
|
rowHideShow: false,
|
openRowHide: false,
|
addBtnShow: false,
|
zbIndex: null,
|
zbSelForm: {},//子表选中数据
|
dialogTypeNum: null,//部门弹窗1,仓库弹窗2
|
deptShow: false,//部门数据组件
|
warehouseShow: false,//仓库数据组件
|
gyEmployeeShow: false,//销售员数据组件
|
gySupplierShow: false,//供应商数据组件
|
materialShow: false,//物料数据组件
|
eHWHType:1,//仓库弹窗区分标志
|
empType:1,//职员弹窗区分标志
|
deptform: {},//弹窗选中数据
|
openData: false,//数据弹窗
|
dialogTitle: '',
|
organizationList: [],//组织列表
|
subDisabled: false,//编辑页面保存按钮是否禁用(true禁用,false可用)
|
// OperationType: this.$route.query.OperationType,//保存类型(新增1修改2)
|
HInterID: 0,
|
baseURL: process.env.VUE_APP_BASE_API,
|
checkedSysZb: [],
|
editData: [],//子表
|
editData1: [],//汇总子表
|
editBtData: [],//子表表头
|
allVal:[],
|
activeName: 'first',
|
activeName1:'first',
|
// 弹出层标题
|
title: "",
|
// 是否显示弹出层
|
open: false,
|
// 日期范围
|
dateRange: [],
|
// 查询参数
|
queryParams: {
|
HBillNo: '',
|
HInitTimeCycle: 29,
|
HProjectNumber: '',
|
HCusID: null,
|
HMaterNumber: '',
|
HMaterName: '',
|
ColName1: '',
|
ColName2: '',
|
ColName: '',
|
Comparator1: '',
|
Comparator2: '',
|
Comparator: '',
|
ColContent1: '',
|
ColContent2: '',
|
ColContent: '',
|
},
|
// 显示搜索条件
|
showSearch: true,
|
// 选中数组
|
ids: [],
|
// 非单个禁用
|
single: true,
|
// 非多个禁用
|
multiple: true,
|
// 遮罩层
|
loading: true,
|
btResList: [],
|
// 表单参数
|
form: {},
|
// 表单校验
|
rules: {
|
HDate: [
|
{ required: true, message: "日期不能为空", trigger: "blur" }
|
],
|
HSupName: [
|
{ required: true, message: "往来单位不能为空", trigger: "blur" }
|
],
|
HEmpName: [
|
{ required: true, message: "业务员不能为空", trigger: "blur" }
|
],
|
HMangerName: [
|
{ required: true, message: "主管不能为空", trigger: "blur" }
|
],
|
HSecManagerName: [
|
{ required: true, message: "验收员不能为空", trigger: "blur" }
|
],
|
HKeeperName: [
|
{ required: true, message: "保管员不能为空", trigger: "blur" }
|
],
|
HWHName: [
|
{ required: true, message: "调入仓库不能为空", trigger: "blur" }
|
],
|
HSCWHName: [
|
{ required: true, message: "调出仓库不能为空", trigger: "blur" }
|
],
|
HDeptName: [
|
{ required: true, message: "部门不能为空", trigger: "blur" }
|
],
|
}
|
};
|
},
|
created() {
|
this.fetchData()
|
this.getdata()
|
},
|
methods: {
|
fetchData() {
|
axios.get(this.baseURL + "/Web/GetOrganizations", {
|
}).then(response => {
|
if (response.data.count == 1) {
|
this.organizationList = response.data.data;//组织列表
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
getdata() {
|
console.log(this.copyType, this.OperationType)
|
this.formShow = false
|
this.formLoading = true
|
if ((this.OperationType == 1 && this.copyType != 1) || (!this.OperationType && !this.copyType)) {
|
this.handleAdd()
|
} else if (this.OperationType == 3 || this.copyType == 1) {
|
this.handleUpdate()
|
}
|
},
|
// 获取参数_传递的JSON格式参数
|
getUrlVars_JSON() {
|
var datajson;
|
var str = this.propsData; //获取链接中传递的参数
|
var arr = str.substring(str.lastIndexOf("=") + 1);
|
datajson = JSON.parse(decodeURI(arr));
|
return datajson;
|
},
|
handleRowHide() {
|
this.rowHideShow = true
|
this.openRowHide = true
|
},
|
rowSetClose(val) {
|
this.rowHideShow = false
|
this.openRowHide = val
|
},
|
|
HStockOrgChange(val) {
|
console.log(549,val,this.zbIndex)
|
console.log(this.organizationList)
|
|
// let options=undefined
|
// this.form=this.organizationList.find(option => option.ID === val)?.Name || '';
|
},
|
//弹窗赋值
|
dbEmitData(deptRow, num) {
|
// num=1部门 num=2仓库
|
console.log(deptRow)
|
if (deptRow.HItemID || deptRow.hmainid) {
|
if (num == 1) {
|
this.form.HDeptName = deptRow.部门名称
|
this.form.HDeptID = deptRow.HItemID
|
this.deptShow = false
|
this.openData = false
|
} else if (num == 2) {
|
if(this.eHWHType == 1){
|
this.form.HWHName = deptRow.仓库名称
|
this.form.HWHID = deptRow.HItemID
|
}else if(this.eHWHType == 2){
|
this.form.HSCWHName = deptRow.仓库名称
|
this.form.HSCWHID = deptRow.HItemID
|
}else if(this.eHWHType == 3){
|
this.editData[this.zbIndex].HWHID = deptRow.HItemID
|
this.editData[this.zbIndex].调入仓库 = deptRow.仓库名称
|
}else if(this.eHWHType == 4){
|
this.editData[this.zbIndex].HSCWHID = deptRow.HItemID
|
this.editData[this.zbIndex].调出仓库 = deptRow.仓库名称
|
}
|
this.warehouseShow = false
|
this.openData = false
|
} else if (num == 3){
|
this.editData[this.zbIndex].HMaterID = deptRow.HItemID
|
this.editData[this.zbIndex].物料代码 = deptRow.物料代码
|
this.editData[this.zbIndex].物料名称 = deptRow.物料名称
|
this.editData[this.zbIndex].规格型号 = deptRow.规格型号
|
this.materialShow = false
|
this.openData = false
|
} else if (num == 4) {
|
if(this.empType == 1){
|
this.form.HEmpName = deptRow.职员名称
|
this.form.HEmpID = deptRow.HItemID
|
}else if(this.empType == 2){
|
this.form.HMangerName = deptRow.职员名称
|
this.form.HMangerID = deptRow.HItemID
|
}else if(this.empType == 3){
|
this.form.HSecManagerName = deptRow.职员名称
|
this.form.HSecManagerID = deptRow.HItemID
|
}else if(this.empType == 4){
|
this.form.HKeeperName = deptRow.职员名称
|
this.form.HKeeperID = deptRow.HItemID
|
}else
|
this.gyEmployeeShow = false
|
this.openData = false
|
} else if (num == 6) {
|
this.form.HSupName = deptRow.供应商名称
|
this.form.HSupID = deptRow.HItemID
|
this.gySupplierShow = false
|
this.openData = false
|
}
|
} else {
|
this.$modal.msgError("请选择单条数据!");
|
}
|
|
},
|
emitData(deptRow, num) {
|
this.dialogTypeNum = num
|
this.deptform = deptRow
|
},
|
deptClickSub() {
|
this.dbEmitData(this.deptform, this.dialogTypeNum)
|
this.deptform = {}
|
},
|
deptClose() {
|
this.deptform = {}
|
this.openData = false
|
},
|
|
//表单初始化
|
reset() {
|
this.form = {
|
HBillNo: '',
|
HInterID: 0,
|
HDate: new Date(),
|
HSupTypeID:1,
|
HSupName:'',
|
HSupID:0,
|
HDeptName: sessionStorage["HDept"] || '',
|
HDeptID: sessionStorage["HDeptID"] || 0,
|
HWHName:'',
|
HWHID:0,
|
HSCWHName:'',
|
HSCWHID:0,
|
HEmpName:'',
|
HEmpID:'',
|
HMangerName:'',
|
HMangerID:'',
|
HSecManagerName:'',
|
HSecManagerID:'',
|
HKeeperName:'',
|
HKeeperID:'',
|
HExplanation:'',
|
HRemark:'',
|
|
HMaker: '',
|
HUpDater: '',
|
HChecker: '',
|
HMakeDate: new Date(),
|
HUpDateDate: '',
|
HCheckDate: '',
|
HCloseMan: '',
|
HDeleteMan: '',
|
HCloseDate: '',
|
HDeleteDate: '',
|
}
|
this.editData = []
|
this.editData1 = []
|
this.editBtData = []
|
this.ids = []
|
this.subDisabled = false
|
this.addBtnShow = false
|
// this.$refs.tableData.clearSelection()
|
this.activeName = 'first'
|
this.activeName1 = 'first'
|
this.resetForm("form");
|
},
|
//退出
|
close() {
|
this.reset()
|
console.log(this.$route.path)
|
if (!this.OperationType && !this.copyType) {
|
console.log(this.$route.path)
|
const obj = { fullPath: this.$route.path, path: this.$route.path, name: this.$route.name, };
|
this.$tab.closePage(obj).then(res => {
|
const latestView = res.visitedViews.slice(-1)[0]
|
if (latestView) {
|
this.$router.push(latestView.fullPath)
|
} else {
|
if (obj.name === 'Dashboard') {
|
this.$router.replace({ path: '/redirect' + obj.fullPath })
|
} else {
|
this.$router.push('/')
|
}
|
}
|
});
|
} else {
|
this.formShow = false
|
this.$emit('editClose', false)
|
}
|
},
|
//根据用户获取对应职员、部门、销售主管
|
getCzyglByUser() {
|
if(this.form.HDeptID && this.form.HDeptID!=0){
|
axios.get(this.baseURL + '/Gy_Department/list', {
|
params: { "sWhere": "and HItemID = '" + this.form.HDeptID + "'", "user": sessionStorage["HUserName"], "Organization": sessionStorage["Organization"] }
|
}).then(response => {
|
let dataForm = response.data.data[0]
|
this.form.HMangerID = dataForm.HEmpID
|
this.form.HMangerName = dataForm.负责人
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
}
|
},
|
/** 新增按钮操作 */
|
handleAdd() {
|
this.reset()
|
//新增获取单据号
|
this.getHBillNo()
|
let date = new Date()
|
this.form.HDate = moment(date).format('YYYY-MM-DDTHH:mm:ss')
|
if (this.OperationType == 1) {
|
this.handleAddSysZb()
|
}
|
this.$nextTick(() => {
|
this.formShow = true
|
this.formLoading = false
|
})
|
},
|
getHBillNo() {
|
axios.get(this.baseURL + "/Web/GetMAXNum", {
|
params: {
|
HBillType: '1243'
|
}
|
}).then(response => {
|
this.form.HMaker = sessionStorage["HUserName"]
|
this.form.HBillNo = response.data.data[0].HBillNo
|
this.form.HInterID = response.data.data[0].HInterID
|
this.getCzyglByUser()
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
/** 修改按钮操作 */
|
handleUpdate() {
|
this.reset()
|
let rowHmainid = this.linterid
|
console.log(this.linterid)
|
//主表
|
axios.get(this.baseURL + "/Kf_MoveStockRequestBill/cx", {
|
params: { 'HInterID': rowHmainid }
|
}).then(response => {
|
if (response.data.count == 1) {
|
var result = response.data
|
var data = response.data.data
|
console.log(result,data)
|
if (this.copyType == 1) {
|
this.getHBillNo()
|
let date = new Date()
|
this.form.HDate = moment(date).format('YYYY-MM-DDTHH:mm:ss')
|
} else {
|
this.allVal = data[0]
|
this.form = {
|
"HBillNo": data[0].单据号
|
, "HDate": data[0].日期
|
, "HDeptName": data[0].部门
|
, "HDeptID": data[0].HDeptID
|
, "HSupID": data[0].HSupID
|
, "HSupName": data[0].往来单位
|
, "HEmpID": data[0].HEmpID
|
, "HEmpName": data[0].业务员
|
, "HMangerName": data[0].主管
|
, "HMangerID": data[0].HMangerID
|
, "HSecManagerName": data[0].验收员
|
, "HSecManagerID": data[0].HSecManagerID
|
, "HKeeperName": data[0].保管员
|
, "HKeeperID": data[0].HKeeperID
|
|
, "HWHID": data[0].主调入仓库ID
|
, "HWHName": data[0].主调入仓库
|
, "HSCWHID": data[0].主调出仓库ID
|
, "HSCWHName": data[0].主调出仓库
|
|
, "HInnerBillNo": data[0].辅助字段
|
, "HRemark": data[0].表头备注
|
, "HMaker": data[0].制单人
|
, "HChecker": data[0].审核人
|
, "HCloseMan": data[0].关闭人
|
, "HMakeDate": data[0].制单日期
|
, "HCheckDate": data[0].审核日期
|
, "HCloseDate": data[0].关闭日期
|
, "HUpDateDate": data[0].修改日期
|
, "HDeleteDate": data[0].作废日期
|
}
|
//子表
|
var rowdata = [];
|
for (let i = 0; i < data.length; i++) {
|
rowdata.push(
|
{
|
"HMaterID": data[i].HMaterID, "物料代码": data[i].物料代码, "物料名称": data[i].物料名称, "规格型号": data[i].规格型号,
|
"HUnitID": data[i].HUnitID, "计量单位": data[i].计量单位, "HSecUnitRate": data[i].换算率,
|
"HSecUnitID": data[i].HSecUnitID, "辅助计量单位": data[i].辅助计量单位
|
, "HQtyMust": data[i].应收数量, "HQty": data[i].实收数量, "HRemark": data[i].表体备注
|
, "HPrice": data[i].单价, "HMoney": data[i].金额, "HOutPrice": data[i].调出单价, "HOutMoney": data[i].调出金额
|
, "HWHID": data[i].HWHID, "调入仓库": data[i].调入仓库, "HSCWHID": data[i].HSCWHID, "调出仓库": data[i].调出仓库,
|
"HBASEUNITID": data[i].HBASEUNITID, "基本计量单位": data[i].基本计量单位,
|
"HEXTAUXUNITID": data[i].HEXTAUXUNITID, "辅单位": data[i].辅单位
|
}
|
)
|
}
|
this.editData = rowdata
|
}
|
this.formShow = true
|
this.formLoading = false
|
}
|
}).catch(error => {
|
console.log(error)
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
/** 子表明细序号 */
|
rowSysZbIndex({ row, rowIndex }) {
|
row.index = rowIndex + 1;
|
},
|
/** 编辑页子表添加按钮操作 */
|
handleAddSysZb(index, num) {
|
if (num == 1 && !index) {
|
this.$modal.msgError("请选择一行数据编辑!");
|
} else {
|
let obj = {
|
"HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HSecUnitRate": "0",
|
"HSecUnitID": "0", "辅助计量单位": "", "HQtyMust": "0", "HQty": "0", "HPrice": "0", "HMoney": "0",
|
"HOutPrice": "0", "HOutMoney": "0", "HWHID": "0", "调入仓库": "", "HSCWHID": "0", "调出仓库": "",
|
"HBASEUNITID": "0", "基本计量单位": "", "HEXTAUXUNITID": "0", "辅单位": "","HRemark": ""}
|
if (index) {
|
this.editData.splice(index, 0, obj);
|
this.$set(this.editData, index, obj)
|
} else {
|
this.editData.push(obj);
|
}
|
}
|
},
|
handleCopyZbRow() {
|
if (!this.zbIndex) {
|
this.$modal.msgError("请选择一行数据")
|
} else {
|
let copyRow = JSON.parse(JSON.stringify(this.zbSelForm))
|
this.editData.push(copyRow);
|
}
|
},
|
handleMoveRowUp(zbSelForm) {
|
if (!this.zbIndex) {
|
this.$modal.msgError("请选择一行数据")
|
} else {
|
if (zbSelForm.index == 1) {
|
this.$modal.msgError("第一行数据无法上移");
|
} else { // 确保不是第一行
|
let num = zbSelForm.index - 1
|
const record = this.editData.splice(num, 1)[0];
|
this.editData.splice(num - 1, 0, record);
|
}
|
}
|
},
|
handleMoveRowDown(zbSelForm) {
|
if (!this.zbIndex) {
|
this.$modal.msgError("请选择一行数据")
|
} else {
|
if (zbSelForm.index == this.editData.length) {
|
this.$modal.msgError("最后一行数据无法下移");
|
} else { // 确保不是第一行
|
let num = zbSelForm.index - 1
|
const record = this.editData.splice(num, 1)[0];
|
this.editData.splice(num + 1, 0, record);
|
}
|
}
|
},
|
/** 编辑页子表删除按钮操作 */
|
handleDeleteSysZb(row) {
|
this.checkedSysZb = []
|
this.checkedSysZb.push(row.index)
|
if (this.checkedSysZb.length == 0) {
|
this.$modal.msgError("请先选择要删除的商品订单明细数据");
|
} else {
|
const editData = this.editData;
|
const checkedSysZb = this.checkedSysZb;
|
this.editData = editData.filter(function (item) {
|
return checkedSysZb.indexOf(item.index) == -1
|
});
|
}
|
},
|
/** 编辑页子表复选框选中数据 */
|
handleTableZbEdit(selection) {
|
this.checkedSysZb = selection.map(item => item.index)
|
this.zbSelForm = selection[0]
|
this.zbIndex = this.checkedSysZb[0]
|
if (selection.length > 1) {
|
const del_row = selection.shift()
|
this.$refs.zbTable.toggleRowSelection(del_row, false) //设置这一行取消选中
|
}
|
},
|
// 编辑提交保存
|
submitForm() {
|
this.$refs["form"].validate(valid => {
|
if (valid) {
|
let fhck = false
|
if(this.editData.length == 0){
|
fhck = true
|
this.$modal.msgError("没有物料明细记录!");
|
}
|
this.editData.map((item, index) => {
|
if (!item.HMaterID) {
|
fhck = true
|
this.$modal.msgError("第" + (index + 1) + "行:器具未选择!");
|
}else if(!item.HQty || item.HQty == 0){
|
fhck = true
|
this.$modal.msgError("第" + (index + 1) + "行:数量不能为0!");
|
}
|
})
|
this.$nextTick(() => {
|
if (!fhck) {
|
var Operation = null
|
if(!this.OperationType){
|
Operation = 1
|
}else{
|
Operation = this.OperationType
|
if(Operation == 3){
|
this.form.HInterID = this.linterid
|
}
|
}
|
var sMainStr = JSON.stringify(this.form);
|
var sSubStr = JSON.stringify(this.editData);
|
var sAllStr = JSON.stringify(this.allVal);
|
var sMainSub = sMainStr + ';' + sSubStr + ';' + Operation + ";" + sessionStorage["HUserName"] + ";" + sAllStr;
|
axios({
|
method: 'post',
|
url: this.baseURL + "/Kf_MoveStockRequestBill/Kf_MoveStockRequestBillEdit",
|
data: {
|
'sMainSub': sMainSub
|
},
|
}).then(response => {
|
if (response.data.count == 1) {
|
this.subDisabled = true//设置保存按钮不可用
|
this.$modal.msgSuccess(response.data.Message);
|
this.addBtnShow = true
|
this.close()
|
} else {
|
this.$modal.msgError(response.data.code + response.data.Message);
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
}
|
})
|
}
|
});
|
},
|
showReset() {
|
this.deptShow = false
|
this.warehouseShow = false
|
this.gyEmployeeShow = false
|
this.gySupplierShow = false
|
this.materialShow = false
|
},
|
// 打开数据列表弹窗
|
openDataDialog(num, row) {
|
//num1部门,2出库仓库,3物料,4销售员
|
if (row) {
|
this.zbIndex = row.index - 1
|
}
|
this.showReset()
|
if (num == 1) {
|
this.dialogTitle = '部门列表'
|
this.deptShow = true
|
this.openData = true
|
} else if (num == 2) {
|
this.dialogTitle = '仓库列表'
|
this.warehouseShow = true
|
this.openData = true
|
} else if (num == 3) {
|
this.dialogTitle = '物料列表'
|
this.materialShow = true
|
this.openData = true
|
} else if (num == 4) {
|
if(this.empType == 1){
|
this.dialogTitle = '业务员列表'
|
}else if(this.empType == 2){
|
this.dialogTitle = '主管列表'
|
}else if(this.empType == 3){
|
this.dialogTitle = '验收员列表'
|
}else if(this.empType == 4){
|
this.dialogTitle = '保管员列表'
|
}
|
this.gyEmployeeShow = true
|
this.openData = true
|
} else if (num == 6) {
|
this.dialogTitle = '供应商列表'
|
this.gySupplierShow = true
|
this.openData = true
|
}
|
},
|
}
|
};
|
</script>
|
<style>
|
.xsckdBox .el-date-editor.el-input {
|
width: 100%;
|
}
|
</style>
|