<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-row>
|
<el-col :span="6">
|
<el-form-item label="调入组织" prop="HSTOCKINORGID" >
|
<el-select v-model="form.HSTOCKINORGID" placeholder="请选择调入组织" :disabled="OperationType == 3" @change="StockInOrgChangeHandler">
|
<el-option
|
v-for="(item, index) in organizationList"
|
:key="index"
|
:label="item.Name"
|
:value="item.ID.toString()"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="调出组织" prop="HSTOCKOUTORGID">
|
<el-select v-model="form.HSTOCKOUTORGID" placeholder="请选择调出组织" :disabled="OperationType == 3" @change="StockOutOrgChangeHandler">
|
<el-option
|
v-for="(item, index) in organizationList"
|
:key="index"
|
:label="item.Name"
|
:value="item.ID.toString()"
|
>
|
</el-option>
|
</el-select>
|
</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.物料代码"
|
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">
|
<el-input
|
v-model="scope.row.辅助属性"
|
placeholder="请输入"
|
@keyup.native.f7="openDataDialog(7, scope.row)"
|
@dblclick.native="openDataDialog(7, scope.row)"
|
/>
|
</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="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HSTOCKORGID" disabled />
|
</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"
|
/>
|
<GyProperty
|
@deptEmitDb="dbEmitData"
|
@deptEmit="emitData"
|
:openPage="HModName"
|
v-if="propertyShow"
|
/>
|
<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 GyProperty from "@/views/basic/gyProperty/gyPropertyList.vue";
|
import moment from "moment";
|
|
export default {
|
name: "Kf_MoveStockRequestBillEdit",
|
components: {
|
Dept,
|
Warehouse,
|
RowSettings,
|
GyEmployee,
|
GySupplier,
|
Material,
|
GyProperty,
|
},
|
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, //物料数据组件
|
propertyShow: false, // 辅助属性基础资料
|
eHWHType: 1, //仓库弹窗区分标志
|
empType: 1, //职员弹窗区分标志
|
deptform: {}, //弹窗选中数据
|
openData: false, //数据弹窗
|
dialogTitle: "",
|
organizationList: JSON.parse(sessionStorage.getItem('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.getdata()
|
},
|
methods: {
|
StockInOrgChangeHandler(e) {
|
for(let i=0;i<this.editData.length;i++) {
|
this.editData[i].HSTOCKORGINID = e
|
}
|
},
|
StockOutOrgChangeHandler(e) {
|
for(let i=0;i<this.editData.length;i++) {
|
this.editData[i].HOtherOrgID = e
|
this.editData[i].HSTOCKORGID = e
|
}
|
},
|
getdata() {
|
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, num);
|
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) {
|
console.log(deptRow);
|
this.editData[this.zbIndex].HMaterID = deptRow.HItemID;
|
this.editData[this.zbIndex].物料代码 = deptRow.物料代码;
|
this.editData[this.zbIndex].物料名称 = deptRow.物料名称;
|
this.editData[this.zbIndex].规格型号 = deptRow.规格型号;
|
this.editData[this.zbIndex].计量单位 = deptRow.计量单位名称;
|
this.editData[this.zbIndex].HUnitID = deptRow.HUnitID;
|
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 if (num == "gyProperty") {
|
this.editData[this.zbIndex].HAuxPropID = deptRow.HItemID;
|
this.editData[this.zbIndex]["辅助属性"] = deptRow["辅助属性名称"];
|
|
this.propertyShow = 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() {
|
console.log(this.form.HDeptID && this.form.HDeptID != 0);
|
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;
|
if (dataForm.length > 0) {
|
this.form.HMangerName = dataForm[0].负责人;
|
this.form.HMangerID = dataForm[0].HEmpID;
|
}
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
}
|
},
|
/** 新增按钮操作 */
|
handleAdd() {
|
this.reset();
|
//新增获取单据号
|
this.getHBillNo();
|
let date = new Date();
|
this.$set(this.form, "HSTOCKOUTORGID", sessionStorage["OrganizationID"]);
|
this.$set(this.form, "HSTOCKINORGID", sessionStorage["OrganizationID"]);
|
this.$set(this.form, "HDate", moment(date).format("YYYY-MM-DD HH: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);
|
|
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].作废日期,
|
HSTOCKOUTORGID: data[0].HSTOCKOUTORGID.toString(),
|
HSTOCKINORGID: data[0].HSTOCKINORGID.toString(),
|
},
|
};
|
//子表
|
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].辅单位,
|
HSTOCKORGID: data[i]["HSTOCKORGID"],
|
HOtherOrgID: data[i]["HSTOCKORGID"],
|
HAuxPropID: data[i]["HAuxPropID"],
|
辅助属性: data[i]["辅助属性"],
|
});
|
}
|
this.editData = rowdata;
|
|
// 渲染完后再参与是否复制的判断
|
if (this.copyType == 1) {
|
this.getHBillNo();
|
let date = new Date();
|
this.form.HDate = moment(date).format("YYYY-MM-DDTHH:mm:ss");
|
}
|
|
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: "",
|
HSTOCKORGID: sessionStorage["OrganizationID"],
|
HOtherOrgID: sessionStorage["OrganizationID"],
|
HSTOCKORGINID: this.form.HSTOCKINORGID,
|
HAuxPropID: 0,
|
辅助属性: "",
|
};
|
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;
|
this.propertyShow = 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;
|
} else if (num == 7) {
|
this.dialogTitle = "辅助属性列表";
|
this.propertyShow = true;
|
this.openData = true;
|
}
|
},
|
},
|
};
|
</script>
|
<style>
|
.xsckdBox .el-date-editor.el-input {
|
width: 100%;
|
}
|
</style>
|