chenhaozhe
2025-12-01 dc984ce6a4d20b85d64fd0a909cf49c640aec5aa
src/views/purchase/postockInBack/Kf_POStockInBackBill.vue
@@ -2,11 +2,12 @@
    <div v-loading="formLoading" v-if="formShow">
        <div style=" margin-bottom: 10px; border-bottom: 1px solid #f6f6f6;">
            <el-button type="primary" @click="submitForm" :disabled="subDisabled">保 存</el-button>
            <el-button type="primary" @click="set_CheckBill(0)" :disabled="checkDisabled">审 核</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="80px">
        <el-form ref="form" :model="form" :rules="rules" label-width="100px">
            <el-tabs v-model="activeName" type="card">
                <el-tab-pane label="基本信息" name="first">
                    <el-row>
@@ -23,8 +24,8 @@
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
                            <el-form-item label="辅助字段" prop="HInnerBillNo">
                                <el-input v-model="form.HInnerBillNo" placeholder="请输入辅助字段" />
                            <el-form-item label="内部单据号" prop="HInnerBillNo">
                                <el-input v-model="form.HInnerBillNo" placeholder="请输入内部单据号" />
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
@@ -32,40 +33,6 @@
                                <el-input v-model="form.HEmpName" placeholder="请输入业务员" disabled>
                                    <el-button slot="append" icon="el-icon-search"
                                        @click="openDataDialog(4, zhiyuanType = 'yewuyuan')"></el-button>
                                </el-input>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row>
                        <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, zhiyuanType = 'baoguanyuan')"></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, zhiyuanType = 'zhuguan')"></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, zhiyuanType = 'yanshou')"></el-button>
                                </el-input>
                            </el-form-item>
                        </el-col>
                        <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, ckType = 'form')"></el-button>
                                </el-input>
                            </el-form-item>
                        </el-col>
@@ -80,11 +47,69 @@
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
                            <el-form-item label="往来单位" prop="HSupName">
                            <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-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, ckType = 'form')"></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, zhiyuanType = 'tuiliaoyuan')"></el-button>
                                </el-input>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row>
                        <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, zhiyuanType = 'baoguanyuan')"></el-button>
                                </el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
                            <el-form-item label="负责人" prop="HManagerName">
                                <el-input v-model="form.HManagerName" placeholder="请输入负责人" disabled>
                                    <el-button slot="append" icon="el-icon-search"
                                        @click="openDataDialog(4, zhiyuanType = 'zhuguan')"></el-button>
                                </el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
                            <el-form-item label="源单类型" prop="HSourceBillType">
                                <el-select v-model="form.HSourceBillType" placeholder="请选择" style="width: 100%">
                                    <!-- <el-option v-for="(item, index) in HSourceBillTypeList" :key="index"
                                        :label="item.label" :value="item.value">
                                    </el-option> -->
                                </el-select>
                            </el-form-item>
                        </el-col>
                        <el-col :span="6">
                            <el-form-item label="选单号" prop="HSourceBillNo">
                                <el-input v-model="form.HSourceBillNo" placeholder="请输入选单号" disabled>
                                    <el-button slot="append" icon="el-icon-search"
                                        @click="openDataDialog(openNum)"></el-button>
                                </el-input>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row>
                        <el-col :span="12">
                            <el-form-item label="摘要" prop="HExplanation">
                                <el-input v-model="form.HExplanation" placeholder="请输入摘要" />
                            </el-form-item>
                        </el-col>
                        <el-col :span="12">
@@ -195,55 +220,18 @@
                </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('单位页面还没有', scope.row, dwType = 'jldw')"
                            @dblclick.native="openDataDialog('单位页面还没有', scope.row, dwType = 'jldw')" />
                        <span>{{ scope.row.计量单位 }}</span>
                    </template>
                </el-table-column>
                <el-table-column align="center" label="仓库" width="120">
                <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, ckType = 'zb')"
                            @dblclick.native="openDataDialog(2, scope.row, ckType = 'zb')" />
                    </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(9, scope.row)"
                            @dblclick.native="openDataDialog(9, scope.row)" />
                    </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('单位页面还没有', scope.row, dwType = 'kcfdw')"
                            @dblclick.native="openDataDialog('单位页面还没有', scope.row, dwType = 'kcfdw')" />
                    </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('单位页面还没有', scope.row, dwType = 'jbdw')"
                            @dblclick.native="openDataDialog('单位页面还没有', scope.row, dwType = 'jbdw')" />
                    </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('单位页面还没有', scope.row, dwType = 'fdw')"
                            @dblclick.native="openDataDialog('单位页面还没有', scope.row, dwType = 'fdw')" />
                    </template>
                </el-table-column>
                <el-table-column align="center" label="应收数量" width="120">
                    <template slot-scope="scope">
                        <el-input-number v-model="scope.row.HQtyMust" :min="1" style="width: 90px;"
                        <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">
                <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;"
                        <el-input-number v-model="scope.row.HQtyMust" :min="1" style="width: 90px;"
                            controls-position="right"></el-input-number>
                    </template>
                </el-table-column>
@@ -256,6 +244,35 @@
                <el-table-column align="center" label="金额" width="120">
                    <template slot-scope="scope">
                        <span>{{ scope.row.HMoney }}</span>
                    </template>
                </el-table-column>
                <el-table-column align="center" label="采购金额" width="120">
                    <template slot-scope="scope">
                        <span>{{ scope.row.HOrderPrice }}</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(2, scope.row, ckType = 'zb')"
                            @dblclick.native="openDataDialog(2, scope.row, ckType = 'zb')" />
                    </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(9, scope.row)"
                            @dblclick.native="openDataDialog(9, scope.row)" />
                    </template>
                </el-table-column>
                <el-table-column align="center" label="批次" width="120">
                    <template slot-scope="scope">
                        <el-input v-model="scope.row.HBatchNo" />
                    </template>
                </el-table-column>
                <el-table-column align="center" label="备注" width="120">
                    <template slot-scope="scope">
                        <el-input v-model="scope.row.HRemark" />
                    </template>
                </el-table-column>
                <el-table-column align="center" label="操作" width="55" fixed="right">
@@ -297,7 +314,7 @@
import moment from 'moment';
export default {
    name: 'Kf_StockOutRequestBill',
    name: 'Kf_POStockInBackBill',
    components: { Dept, Warehouse, Material, RowSettings, GyEmployee, GySupplier, GyStockPlace },
    props: {
        OperationType: { type: Number, },
@@ -308,7 +325,8 @@
    },
    data() {
        return {
            HModName: "Kf_StockOutRequestBill",
            HModName: "Kf_POStockInBackBill",
            checkDisabled: true,
            allVal: undefined,
            zhiyuanType: '',
            ckType: '',
@@ -332,7 +350,7 @@
            deptform: {},//弹窗选中数据
            openData: false,//数据弹窗
            dialogTitle: '',
            organizationList: [],//组织列表
            organizationList: JSON.parse(sessionStorage.getItem('organizationList')),//组织列表
            subDisabled: false,//编辑页面保存按钮是否禁用(true禁用,false可用)
            // OperationType: this.$route.query.OperationType,//保存类型(新增1修改3)
            HInterID: null,
@@ -380,40 +398,204 @@
            form: {},
            // 表单校验
            rules: {
                HDate: [
                    { required: true, message: "日期不能为空", trigger: "blur" }
                HEmpName: [
                    { required: true, message: "请选择业务员!", trigger: "blur" }
                ],
                HExRate: [
                    { required: true, message: "汇率不能为空", trigger: "blur" }
                HDeptName: [
                    { required: true, message: "请选择部门", trigger: "blur" }
                ],
                HSupName: [
                    { required: true, message: "请选择供应商!", trigger: "blur" }
                ],
                HWHName: [
                    { required: true, message: "请选择仓库!", trigger: "blur" }
                ],
                HSecManagerName: [
                    { required: true, message: "请选择退料员!", trigger: "blur" }
                ]
            }
        };
    },
    created() {
        this.fetchData()
        this.getHSourceBillType()
        this.getdata()
    },
    methods: {
        fetchData() {
            axios.get(this.baseURL + "/Web/GetOrganizations", {
        getHSourceBillType() {
            axios.get(this.baseURL + "/Web/GetHSourceBillType", {
                "HName": '采购退料单', "Num": 2
            }).then(response => {
                console.log(response)
                var HSourceBillTypes = "";
                if (response.data.count == 1) {
                    this.organizationList = response.data.data;//组织列表
                    let data = response.data.data
                    for (var i = 0; i < data.length; i++) {
                        HSourceBillTypes += data[i].HSourceBillType + data[i].HSourceBillTypeName;
                    }
                    console.log(111, HSourceBillTypes)
                }
            }).catch(error => {
                console.log(error)
                this.$modal.msgError("接口请求失败!");
            });
        },
        getdata() {
            this.formShow = false
            this.formLoading = true
            if ((this.OperationType == 1 && this.copyType != 1) || (!this.OperationType && !this.copyType)) {
            if (this.OperationType == 4) {
                this.reset()
                //新增获取单据号
                this.getHBillNo()
                if (this.HSouceBillType == "1105") {
                    this.setInit_PushBill_ByPOInStockBackBill();
                } else if (this.HSouceBillType == "1201") {
                    this.setInit_PushBill_ByPOStockInBillInit();
                }
            } else if ((this.OperationType == 1 && this.copyType != 1) || (!this.OperationType && !this.copyType)) {
                this.handleAdd()
            } else if (this.OperationType == 3 || this.copyType == 1) {
                this.handleUpdate()
            }
        },
        //#region 下推页面初始化-退料通知单
        setInit_PushBill_ByPOInStockBackBill() {
            //获取
            var data = getUrlVars_JSON().data;
            var dataArray = [];
            for (var i = 0; i < data.length; i++) {
                var temp = this.getPushSource_POInStockBackInit(data[i].hmainid, data[i].hsubid);
                if (temp != "none") {
                    dataArray.push(temp);
                } else {
                    return;
                }
            }
            this.form.HMainSourceInterID = 0
            this.form.HMainSourceEntryID = 0
            this.form.HMainSourceBillNo = ""
            this.form.HMainSourceBillType = this.HSouceBillType
            this.form.HDeptID = dataArray[0].HDeptID
            this.form.HDeptName = dataArray[0].部门
            this.form.HManagerID = dataArray[0].HManagerID
            this.form.HManagerName = dataArray[0].主管
            this.form.HWHID = dataArray[0].主表仓库ID == null ? 0 : dataArray[0].主表仓库ID
            this.form.HWHName = dataArray[0].主表仓库
            this.form.HEmpID = dataArray[0].HEmpID
            this.form.HEmpName = dataArray[0].业务员
            this.form.HSupID = dataArray[0].HSupID
            this.form.HSupName = dataArray[0].供应商
            this.form.HCurID = dataArray[0].HCurID
            this.form.HCurName = dataArray[0].币别
            this.form.HExRate = dataArray[0].汇率
            this.form.HAddress = data.交货地点
            this.form.HRemark = data.表头备注
            this.form.HInnerBillNo = data.内部单据号
            //子表  赋值
            this.editData = [];
            for (var i = 0; i < dataArray.length; i++) {
                this.editData.push(
                    {
                        "HMaterID": dataArray[i].HMaterID
                        , "物料代码": dataArray[i].物料代码
                        , "物料名称": dataArray[i].物料名称
                        , "规格型号": dataArray[i].规格型号
                        , "HUnitID": dataArray[i].HUnitID
                        , "计量单位": dataArray[i].计量单位
                        , "HWHID": dataArray[i].HWHID
                        , "发料仓库": dataArray[i].收料仓库
                        , "HSPID": dataArray[i].HSPID
                        , "仓位名称": dataArray[i].仓位名称
                        , "HSecUnitID": dataArray[i].HSecUnitID
                        , "辅助单位": dataArray[i].辅助单位
                        , "HQty": dataArray[i].数量.toFixed(6)
                        , "HQtyMust": dataArray[i].数量.toFixed(6)
                        , "HPrice": dataArray[i].单价.toFixed(4)
                        , 'HDiscountRate': dataArray[i].折扣率                                                    //
                        , 'HRelTaxPrice': "0"
                        , "HTaxRate": dataArray[i].税率
                        , 'HTaxMoney': dataArray[i].税额                                                     //
                        , "HMoney": dataArray[i].金额.toFixed(2)
                        , "HRemark": dataArray[i].表体备注
                        , "HSourceInterID": dataArray[i].hmainid
                        , "HSourceEntryID": dataArray[i].hsubid
                        , "HSourceBillNo": dataArray[i].单据号
                        , "HSourceBillType": dataArray[i].HBillType
                        , "HRelationQty": "0"
                        , "HRelationMoney": "0"
                        , 'HPOOrderInterID': "0"
                        , 'HPOOrderEntryID': "0"
                        , 'HPOOrderBillNo': ""
                        , 'HSeOrderTaxPrice': dataArray[i].含税单价.toFixed(4)
                        , "HSeOrderInterID": dataArray[i].hmainid
                        , "HSeOrderEntryID": dataArray[i].hsubid
                        , "HSeOrderBillNo": dataArray[i].单据号
                    }
                );
            }
        },
        //#endregion
        //#region 下推页面初始化-采购入库单
        setInit_PushBill_ByPOStockInBillInit() {
            //获取
            var data = getUrlVars_JSON().data;
            var dataArray = [];
            for (var i = 0; i < data.length; i++) {
                var temp = getPushSource_POStockInBillInit(data[i].hmainid, data[i].hsubid);
                if (temp != "none") {
                    dataArray.push(temp);
                } else {
                    return;
                }
            }
            this.form.HInnerBillNo = dataArray[0].内部单据号
            this.form.HSupID = dataArray[0].HSupID
            this.form.HSupName = dataArray[0].供应商
            this.form.HEmpID = dataArray[0].HEmpID
            this.form.HEmpName = dataArray[0].业务员
            this.form.HWHID = dataArray[0].主表仓库ID
            this.form.HWHName = dataArray[0].主表仓库
            this.form.HKeeperID = dataArray[0].HKeeperID
            this.form.HKeeperName = dataArray[0].保管员
            this.form.HDeptName = dataArray[0].部门
            this.form.HDeptID = dataArray[0].HDeptID
            this.form.HManagerID = dataArray[0].HManagerID
            this.form.HManagerName = dataArray[0].负责人
            this.form.HExRate = dataArray[0].汇率
            this.form.HSourceBillType = this.HSouceBillType
            //子表  赋值
            this.editData = [];
            for (var i = 0; i < dataArray.length; i++) {
                this.editData.push(
                    {
                        "HMaterID": dataArray[i].HMaterID
                        , "物料代码": dataArray[i].物料代码
                        , "物料名称": dataArray[i].物料名称
                        , "规格型号": dataArray[i].规格型号
                        , "HUnitID": dataArray[i].HUnitID
                        , "计量单位": dataArray[i].计量单位
                        , "HWHID": dataArray[i].HWHID
                        , "发料仓库": dataArray[i].收料仓库
                        , "HSPID": dataArray[i].HSPID
                        , "仓位名称": dataArray[i].仓位名称
                        , "HQty": dataArray[i].实收数量.toFixed(6) - dataArray[i].关联数量.toFixed(6)
                        , "HQtyMust": dataArray[i].实收数量.toFixed(6) - dataArray[i].关联数量.toFixed(6)
                        , "HPrice": dataArray[i].单价.toFixed(4)
                        , "HMoney": dataArray[i].金额.toFixed(2)
                        , "HOrderPrice": dataArray[i].采购金额
                        , "HRemark": dataArray[i].表体备注
                        , "HBatchNo": dataArray[i].批次
                        , "HSourceInterID": dataArray[i].hmainid
                        , "HSourceEntryID": dataArray[i].hsubid
                        , "HSourceBillNo": dataArray[i].单据号
                        , "HSourceBillType": dataArray[i].HBillType
                        , "HRelationQty": "0"
                        , "HRelationMoney": "0"
                    }
                );
            }
        },
        //#endregion
        // 获取参数_传递的JSON格式参数
        getUrlVars_JSON() {
            var datajson;
@@ -422,9 +604,10 @@
            datajson = JSON.parse(decodeURI(arr));
            return datajson;
        },
        //根据主内码与子内码获取源单销售订单数据
        getPushSourceBillInit(HSourceInterID, HSourceEntryID) {
            axios.get(this.baseURL + '/Xs_SeOrderBill/loadXs_SeOrderBill_Push', {
        //根据主内码与子内码获取源单退料通知单数据
        getPushSource_POInStockBackInit(HSourceInterID, HSourceEntryID) {
            var res = "none";
            axios.get(this.baseURL + '/Cg_POInStockBackBill/loadCg_POInStockBackBill_Push', {
                params: {
                    "HInterID": HSourceInterID
                    , "HSubID": HSourceEntryID
@@ -432,13 +615,36 @@
            }).then(response => {
                let result = response.data
                if (result.code == 1) { // 说明验证成功了,
                    this.temp = result.data[0];
                    res = result.data[0];
                } else {
                    this.temp = result.data;
                    res = result.data;
                }
            }).catch(error => {
                res = "none";
                this.$modal.msgError("接口请求失败!");
            });
            return res;
        },
        // 根据主内码与子内码获取源单采购入库单数据
        getPushSource_POStockInBillInit(HSourceInterID, HSourceEntryID) {
            var res = "none";
            axios.get(this.baseURL + '/Kf_POStockInBill/loadKf_POStockInBillEdit_Push', {
                params: {
                    "HInterID": HSourceInterID
                    , "HSubID": HSourceEntryID
                },
            }).then(response => {
                let result = response.data
                if (result.code == 1) { // 说明验证成功了,
                    res = result.data[0];
                } else {
                    res = result.data;
                }
            }).catch(error => {
                res = "none";
                this.$modal.msgError("接口请求失败!");
            });
            return res;
        },
        handleRowHide() {
            this.rowHideShow = true
@@ -468,19 +674,19 @@
                        this.form.HWHName = deptRow.仓库名称;
                    } else if (this.ckType == 'zb') {
                        this.editData[this.zbIndex].HWHID = deptRow.HItemID;
                        this.editData[this.zbIndex].仓库 = deptRow.仓库名称;
                        this.editData[this.zbIndex].发料仓库 = deptRow.仓库名称;
                    }
                    this.warehouseShow = false
                    this.openData = false
                } else if (num == 3) {
                    console.log(deptRow)
                    console.log(deptRow.计量单位名称)
                    this.editData[this.zbIndex].HMaterID = deptRow.HItemID;
                    this.editData[this.zbIndex].物料代码 = deptRow.物料代码;
                    this.editData[this.zbIndex].物料名称 = deptRow.物料名称;
                    this.editData[this.zbIndex].HUnitID = deptRow.HUnitID;
                    this.editData[this.zbIndex].规格型号 = deptRow.规格型号
                    this.editData[this.zbIndex].HUnitID = deptRow.HUnitID;
                    this.editData[this.zbIndex].计量单位 = deptRow.计量单位名称
                    this.editData[this.zbIndex].HTaxPrice = deptRow.含税成本价
                    this.editData[this.zbIndex].HTaxRate = deptRow.默认税率
                    this.materialShow = false
                    this.openData = false
                } else if (num == 4) {
@@ -491,9 +697,9 @@
                        this.form.HKeeperName = deptRow.职员名称
                        this.form.HKeeperID = deptRow.HItemID
                    } else if (this.zhiyuanType == 'zhuguan') {
                        this.form.HMangerName = deptRow.职员名称
                        this.form.HMangerID = deptRow.HItemID
                    } else if (this.zhiyuanType == 'yanshou') {
                        this.form.HManagerName = deptRow.职员名称
                        this.form.HManagerID = deptRow.HItemID
                    } else if (this.zhiyuanType == 'tuiliaoyuan') {
                        this.form.HSecManagerName = deptRow.职员名称
                        this.form.HSecManagerID = deptRow.HItemID
                    }
@@ -506,7 +712,7 @@
                    this.openData = false
                } else if (num == 9) {
                    this.editData[this.zbIndex].HSPID = deptRow.HMainID;
                    this.editData[this.zbIndex].仓位 = deptRow.仓位名称;
                    this.editData[this.zbIndex].仓位名称 = deptRow.仓位名称;
                    this.gyStockPlaceShow = false
                    this.openData = false
                }
@@ -531,37 +737,39 @@
        //销售出库单新增编辑表单初始化
        reset() {
            this.form = {
                HBillNo:'',
                HInterID: 0,
                HBillNo: '',
                HDate: moment(new Date()).format('YYYY-MM-DD'),
                HSSDate:moment(new Date()).format('YYYY-MM-DD'),
                HAddress:'',
                HDeptName:'',
                HDeptID:0,
                HSupID:0,
                HSupName:'',
                HEmpID:0,
                HEmpName:'',
                HCurID:0,
                HCurName:'',
                HExRate:'',
                HManagerName:'',
                HManagerID:0,
                HPSStyleID:0,
                HPSStyleName:'',
                HSSID:0,
                HSSName:'',
                HLinkMan:'',
                HLinkPhone:'',
                HInnerBillNo:'',
                HRemark:'',
                HMaker:sessionStorage["HSupName"],
                HChecker:'',
                HCloseMan:'',
                HMakeDate:'',
                HCheckDate:'',
                HCloseDate:'',
                HUpDateDate:'',
                HDeleteDate:'',
                HReceiveDate: moment(new Date()).format('YYYY-MM-DD'),
                HAddress: '',
                HInnerBillNo: '',
                HEmpID: 0,
                HEmpName: '',
                HDeptName: '',
                HDeptID: 0,
                HSupID: 0,
                HSupName: '',
                HWHName: '',
                HWHID: 0,
                HSecManagerName: '',
                HSecManagerID: 0,
                HKeeperName: '',
                HKeeperID: 0,
                HManagerName: '',
                HManagerID: 0,
                HSourceBillType: '',
                HExplanation: '',
                HRemark: '',
                HMaker: sessionStorage["HSupName"],
                HChecker: '',
                HCloseMan: '',
                HUpDater: '',
                HDeleteMan: '',
                HMakeDate: moment(new Date()).format('YYYY-MM-DD'),
                HCheckDate: '',
                HCloseDate: '',
                HUpDateDate: '',
                HDeleteDate: '',
            }
            this.editData = []
@@ -626,16 +834,13 @@
            })
        },
        getHBillNo() {
            axios.get(this.baseURL + "/Web/GetMAXNum", {
            axios.get(this.baseURL + "/WEBSController/GetMaxBillNoAndID_Json", {
                params: {
                    HBillType: '1242'
                    HBillType: '1239'
                }
            }).then(response => {
                this.form.HMaker = sessionStorage["HUserName"]
                this.form.HBillNo = response.data.data[0].HBillNo
                this.form.HInterID = response.data.data[0].HInterID
                // this.copyType = 0
                // this.getCzyglByUser()
            }).catch(error => {
                this.$modal.msgError("接口请求失败!");
            });
@@ -646,74 +851,55 @@
        handleUpdate() {
            this.reset()
            let rowHmainid = this.linterid
            axios.get(this.baseURL + "/Kf_StockOutRequestBill/cx", {
            axios.get(this.baseURL + "/Kf_POStockInBackBill/cx", {
                params: { 'HInterID': rowHmainid }
            }).then(response => {
                if (response.data.count == 1) {
                    var result = response.data
                    var data = response.data.data[0]
                    this.allVal = data
                    this.form.BillType = data.HSourceBillType
                    if (this.copyType == 1) {
                        this.getHBillNo()
                        let date = new Date()
                        this.form.HDate = moment(date).format('YYYY-MM-DD')
                    } else {
                        this.form.HBillNo = data.单据号
                        // this.form.HInterID = data.HInterID
                        this.form.HDate = data.日期
                        this.form.HMaker = data.制单人
                        this.form.HUpDater = data.修改人
                        this.form.HChecker = data.审核人
                        this.form.HMakeDate = data.制单日期
                        this.form.HUpDateDate = data.修改日期
                        this.form.HCheckDate = data.审核日期
                        this.form.HCloseMan = data.关闭人
                        this.form.HDeleteMan = data.作废人
                        this.form.HCloseDate = data.关闭日期
                        this.form.HDeleteDate = data.作废日期
                    }
                    this.form.HAddress = data.交货地点
                    this.form.HDeptName = data.部门
                    this.form.HDeptID = data.HDeptID
                    this.form.HBillNo = data.单据号
                    this.form.HDate = moment(data.日期).format('YYYY-MM-DD')
                    this.form.HInnerBillNo = data.内部单据号
                    this.form.HSupID = data.HSupID
                    this.form.HSupName = data.供应商
                    this.form.HEmpID = data.HEmpID
                    this.form.HEmpName = data.业务员
                    this.form.HCurID = data.HCurID
                    this.form.HCurName = data.币别
                    this.form.HExRate = data.汇率
                    this.form.HManagerName = data.主管
                    this.form.HWHID = data.主表仓库ID
                    this.form.HWHName = data.主表仓库
                    this.form.HSecManagerID = data.HSecManagerID
                    this.form.HSecManagerName = data.验收员
                    this.form.HKeeperID = data.HKeeperID
                    this.form.HKeeperName = data.保管员
                    this.form.HDeptName = data.部门
                    this.form.HDeptID = data.HDeptID
                    this.form.HSourceBillType = data.源单类型
                    this.form.HManagerID = data.HManagerID
                    this.form.HPSStyleID = data.HPSStyleID
                    this.form.HPSStyleName = data.采购方式
                    this.form.HSSID = data.HSSID
                    this.form.HSSName = data.结算方式
                    this.form.HLinkMan = data.联系人
                    this.form.HLinkPhone = data.联系电话
                    this.form.HInnerBillNo = data.辅助字段
                    this.form.HManagerName = data.负责人
                    this.form.HExRate = data.汇率
                    this.form.HExplanation = data.摘要
                    this.form.HRemark = data.表头备注
                    this.form.HMaker = data.制单人
                    this.form.HChecker = data.审核人
                    this.form.HCloseMan = data.关闭人
                    this.form.HUpDater = data.修改人
                    this.form.HDeleteDate = data.作废人
                    this.form.HMakeDate = data.制单日期 == null ? "" : moment(data.制单日期).format('YYYY-MM-DD hh:mm:ss')
                    this.form.HCheckDate = data.审核日期 == null ? "" : moment(data.审核日期).format('YYYY-MM-DD hh:mm:ss')
                    this.form.HCloseDate = data.关闭日期 == null ? "" : moment(data.关闭日期).format('YYYY-MM-DD hh:mm:ss')
                    this.form.HUpDateDate = data.修改日期 == null ? "" : moment(data.修改日期).format('YYYY-MM-DD hh:mm:ss')
                    this.form.HDeleteDate = data.作废日期 == null ? "" : moment(data.作废日期).format('YYYY-MM-DD hh:mm:ss')
                    for (var i = 0; i < result.data.length; i++) {
                        this.editData.push(
                            {
                                "HMaterID": result.data[i].HMaterID,
                                "物料代码": result.data[i].物料代码,
                                "物料名称": result.data[i].物料名称,
                                "规格型号": result.data[i].规格型号,
                                "HUnitID": result.data[i].HUnitID,
                                "计量单位": result.data[i].计量单位,
                                "HQty": result.data[i].数量,
                                "HRemark": result.data[i].表体备注,
                                "HPrice": result.data[i].单价,
                                "HMoney": result.data[i].金额,
                                "HTaxRate": result.data[i].税率,
                                "HTaxMoney": result.data[i].金额 * result.data[i].税率,
                                "HlineTotal": result.data[i].金额 + result.data[i].税额,
                                "HlineTotalBB": (result.data[i].金额 + result.data[i].税额) * result.data[i].汇率,
                                "HTaxPrice": result.data[i].含税单价,
                                "HDiscountRate": result.data[i].折扣率,
                                "HRelTaxPrice": data.实际含税单价,
                                "HDate": moment(result.data[i].交货日期).format('YYYY-MM-DD')
                                "HMaterID": result.data[i].HMaterID, "物料代码": result.data[i].物料代码, "物料名称": result.data[i].物料名称, "规格型号": result.data[i].规格型号, "HUnitID": result.data[i].HUnitID, "计量单位": result.data[i].计量单位,
                                "HQty": result.data[i].实收数量, "HQtyMust": result.data[i].应收数量, "HRemark": result.data[i].表体备注, "HPrice": result.data[i].单价, "HMoney": result.data[i].金额, "HOrderPrice": result.data[i].采购金额, "HWHID": result.data[i].HWHID, "发料仓库": result.data[i].收料仓库, "HSPID": result.data[i].HSPID, "仓位名称": result.data[i].仓位名称,
                                "HBatchNo": result.data[i].批次,
                                "HSourceBillNo": result.data[i].源单单号,    //源单号
                                "HSourceBillType": result.data[i].源单类型,   //源单类型
                                "HSourceInterID": result.data[i].源单主内码,   //源单主内码
                                "HSourceEntryID": result.data[i].源单子内码     //源单子内码
                            }
                        );
                    }
@@ -734,9 +920,11 @@
                this.$modal.msgError("请选择一行数据编辑!");
            } else {
                let obj = {
                    "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 1, "计量单位": "", "HWHID": "0", "仓库": "",
                    "HSPID": "0", "仓位": "", "HSecUnitID": "1", "库存辅单位": "", "HBASEUNITID": "1", "基本单位": "",
                    "HEXTAUXUNITID": "1", "辅单位": "", "HQtyMust": "0", "HQty": "0", "HPrice": "0", "HMoney": "0", "HRemark": ""
                    "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HQty": "", "HRemark": "",
                    "HPrice": "0", "HMoney": "0", "HOrderPrice": "0", "HWHID": 0, "发料仓库": "",
                    "HSPID": 0, "仓位名称": "", "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0,
                    "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "",
                    "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0,
                }
                if (index) {
                    this.editData.splice(index, 0, obj);
@@ -805,15 +993,60 @@
            }
        },
        // 编辑提交保存
        //#region 保存按钮
        submitForm() {
            //#region 判断源单状态
            if (this.OperationType == 1 || this.OperationType == 4) {
                if (this.form.HSourceBillType == "1105") {
                    for (var i = 0; i < this.editData.length; i++) {
                        var HSourceBillData = "";
                        var HSourceBillData = this.getPushSource_POInStockBackInit(this.editData[i].HSourceInterID, this.editData[i].HSourceEntryID);            //获取源单数据
                        if (HSourceBillData != "none") {
                            if (HSourceBillData == null) {
                                this.$modal.msgError("保存失败!第" + (i + 1) + "行:未查询到源单单据!");
                                return;
                            } else if (HSourceBillData.状态 != "已审核") {
                                var err = "保存失败!原因:第" + (i + 1) + "行-源单单据状态为“" + HSourceBillData.状态 + "”,不允许保存!";
                                this.$modal.msgError(err);
                                return;
                            } else if (HSourceBillData.行状态 == "已关闭") {
                                this.$modal.msgError("保存失败!第" + (i + 1) + "行:该行记录行状态为'已关闭'状态!");
                                return;
                            }
                        } else {
                            return;
                        }
                    }
                } else if (this.form.HSourceBillType == "1201") {
                    for (var i = 0; i < this.editData.length; i++) {
                        var HSourceBillData = "";
                        var HSourceBillData = this.getPushSource_POStockInBillInit(this.editData[i].HSourceInterID, this.editData[i].HSourceEntryID);            //获取源单数据
                        if (HSourceBillData != "none") {
                            if (HSourceBillData == null) {
                                this.$modal.msgError("保存失败!第" + (i + 1) + "行:未查询到源单单据!");
                                return;
                            }
                        } else {
                            return;
                        }
                    }
                }
                else {
                    this.$modal.msgError('当前不支持该源单!!')
                    return
                }
            }
            this.set_SaveBill();
        },
        // 编辑提交保存
        set_SaveBill() {
            this.$refs["form"].validate(valid => {
                if (valid) {
                    let fhck = false
                    this.editData.map((item, index) => {
                        if (!item.仓库) {
                        if (!item.物料代码) {
                            fhck = true
                            this.$modal.msgError("第" + (index + 1) + "行:仓库未选择!");
                            this.$modal.msgError("第" + (index + 1) + "行:物料代码不能为空!");
                        }
                    })
                    this.$nextTick(() => {
@@ -824,15 +1057,16 @@
                            var sMainSub = sMainStr + ';' + sSubStr + ';' + this.OperationType + ";" + sessionStorage["HUserName"] + ';' + sAllStr;
                            axios({
                                method: 'post',
                                url: this.baseURL + "/Kf_StockOutRequestBill/StockOutRequestBillEdit",
                                url: this.baseURL + "/Kf_POStockInBackBill/POStockInBackBillEdit",
                                data: {
                                    'sMainSub': sMainSub
                                },
                            }).then(response => {
                                if (response.data.count == 1) {
                                    this.subDisabled = true//设置保存按钮不可用
                                    this.subDisabled = true//设置保存按钮不可用
                                    this.checkDisabled = false
                                    this.$modal.msgSuccess(response.data.Message);
                                    this.close()
                                    // this.close()
                                } else {
                                    this.$modal.msgError(response.data.Message);
                                }
@@ -845,15 +1079,15 @@
            });
        },
        // 反审核/审核数据
        set_CheckBill(num, form) {
            var InterID = form.hmainid || form.HInterID
        set_CheckBill(num) {
            //逻辑审核方法
            axios.get(this.baseURL + "/Kf_SellOutBill/AuditKf_SellOutBill", {
            axios.get(this.baseURL + "/Kf_POStockInBackBill/AuditProcessReportList", {
                params: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] }
            }).then(response => {
                let result = response.data
                if (result.code == 1) {
                    this.$modal.msgSuccess('操作成功');
                    this.close()
                }
                else {
                    this.$modal.msgError("错误:" + result.code + result.Message,);