chenhaozhe
2 天以前 a34a85b1d856c2d79545f90e957e390ee7deeab3
受托加工入库单 模块 增加(未完成)
1个文件已添加
1596 ■■■■■ 已修改文件
pages/CKGL/Kf_InceptEntInBill/Kf_InceptEntInBill.vue 1596 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/CKGL/Kf_InceptEntInBill/Kf_InceptEntInBill.vue
New file
@@ -0,0 +1,1596 @@
<template>
    <view>
        <view class="form">
            <view class="form-item">
                <!-- <view class="title">条码:</view> -->
                <view class="title">{{ $t(`Gy.HBarCode`) == "Gy.HBarCode"?"条码": $t(`Gy.HBarCode`) }}:</view>
                <view class="right" style="width: 380rpx;">
                    <input :focus="barCodeFocus" v-model="hform.HBarCode" :placeholder="$t(`Gy.HBarCode_Placeholder`)"
                        @confirm="getCode(hform.HBarCode)" />
                </view>
                <uni-icons type="scan"
                    style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;"
                    size="20" @click="toScanCode"></uni-icons>
            </view>
            <view class="form-item">
                <view class="title">{{ $t(`Gy.HQty`) == "Gy.HQty"?"数量": $t(`Gy.HQty`) }}:</view>
                <view class="right">
                    <input v-model="hform.HQty" :placeholder="$t(`Gy.HQty_Placeholder`)" />
                </view>
            </view>
            <view class="form-item">
                <view class="title">{{ $t(`Gy.HWHName`) == "Gy.HWHName"?"仓库": $t(`Gy.HWHName`) }}:</view>
                <view class="right">
                    <uni-combox :candidates="arrayHWHName" :placeholder="$t(`Gy.HWHName_Placeholder`)" v-model="hform.HWHName"
                        @input="HWHNameChange"></uni-combox>
                </view>
            </view>
            <view class="form-item">
                <view class="title">
                    {{ $t(`Gy.HStockPlaceName`) == "Gy.HStockPlaceName"?"仓位": $t(`Gy.HStockPlaceName`) }}:
                </view>
                <view class="right" v-show="true">
                    <uni-combox :candidates="arrayHStockPlaceNameComputed" :placeholder="$t(`Gy.HStockPlaceName_Placeholder`)"
                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"
                        @confirm="HStockPlaceNameScan"></uni-combox>
                </view>
                <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" :placeholder="$t(`Gy.OperationDisabled`)"
                        :disabled="!showHStockPlaceName" /></view>
            </view>
            <view class="tabs">
                <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">
                    {{ $t(`Gy.SourceBillSelect`) == "Gy.SourceBillSelect"?"选择源单": $t(`Gy.SourceBillSelect`) }}
                </view>
                <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">
                    {{ $t(`Gy.TableHeaderInfo`) == "Gy.TableHeaderInfo"?"表头信息": $t(`Gy.TableHeaderInfo`) }}
                </view>
                <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">
                    {{ $t(`Gy.MaterInfo`) == "Gy.MaterInfo"?"物料信息": $t(`Gy.MaterInfo`) }}
                </view>
                <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">
                    {{ $t(`Gy.BarCodeInfo`) == "Gy.BarCodeInfo"?"条码信息": $t(`Gy.BarCodeInfo`) }}
                </view>
            </view>
            <view v-if="tabs == 0">
                <view class="form-item">
                    <view class="title">
                        {{ $t(`Gy.HMainSourceBillType`) == "Gy.HMainSourceBillType"?"源单类型": $t(`Gy.HMainSourceBillType`) }}:
                    </view>
                    <view class="right" v-show="showHMainSourceBillType">
                        <picker :range="arrayHMainSourceBillType" v-model="HMainSourceBillType"
                            @change="HMainSourceBillTypeChange">
                            <input name="HMainSourceBillType" disabled v-model="HMainSourceBillType"
                                :placeholder="$t(`Gy.HMainSourceBillType_Placeholder`)" />
                            <view class="picker-overlay"></view>
                        </picker>
                    </view>
                    <view class="righton" v-show="!showHMainSourceBillType">
                        <input name="HMainSourceBillType" disabled v-model="HMainSourceBillType"
                            :placeholder="$t(`HMainSourceBillType_Placeholder`)" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">
                        {{$t(`Gy.HMainSourceBillNo`) == "Gy.HMainSourceBillNo"?"源单单号": $t(`Gy.HMainSourceBillNo`) }}:
                    </view>
                    <view class="right" v-show="showHSourceBillNo">
                        <!-- <uni-combox v-if="reHSourceBillNo" :candidates="arrayHSourceBillNo" placeholder="请输入源单单号"
                            v-model="hform.HSourceBillNo" @input="HSourceBillNoChange"></uni-combox> -->
                        <input :focus="HSourceBillNoFocus" type="text" name="HSourceBillNo"
                            v-model="hform.HSourceBillNo" @confirm="onSourceBillBlurHandler" :placeholder="$t(`Gy.HMainSourceBillNo_Placeholder`)" />
                    </view>
                    <view class="icon-wrapper" v-show="showHSourceBillNo" :disabled="hform.HMainSourceBillType === -1">
                        <uni-icons type="scan" size="20" @click="toScanBillCode"></uni-icons>
                    </view>
                    <view class="icon-wrapper" v-show="showHSourceBillNo" :disabled="hform.HMainSourceBillType === -1">
                        <uni-icons type="search" size="20" @click="showBillList"></uni-icons>
                    </view>
                    <view class="righton" v-show="!showHSourceBillNo">
                        <input name="HSourceBillNo" disabled v-model="hform.HSourceBillNo" :placeholder="$t(`Gy.HMainSourceBillNo_Placeholder`)" />
                    </view>
                    <!-- <view class="right" v-show="showHSourceBillNo">
                        <uni-combox ref="uniComboxSourceBill" :isFocus="HSourceBillNoFocus"
                            :confirm-call="onSourceBillBlurHandler" v-if="reHSourceBillNo"
                            :candidates="arrayHSourceBillNo" placeholder="请输入源单单号" v-model="hform.HSourceBillNo"
                            @input="HSourceBillNoChange"></uni-combox>
                    </view>
                    <view class="righton" v-show="!showHSourceBillNo">
                        <input name="HSourceBillNo" disabled v-model="hform.HSourceBillNo" placeholder="请输入源单单号" />
                    </view> -->
                </view>
                <view class="form-item">
                    <view class="title">{{ $t(`Gy.HDate`) == "Gy.HDate"?"日期": $t(`Gy.HDate`) }}:</view>
                    <view class="right">
                        <picker mode="date" v-model="hform.HDate" @change="HDateChange">
                            <input disabled v-model="hform.HDate" :placeholder="$t(`Gy.HDate_Placeholder`)" />
                            <view class="picker-overlay"></view>
                        </picker>
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{ $t(`Gy.HMaker`) == "Gy.HMaker"?"制单人": $t(`Gy.HMaker`) }}:</view>
                    <view class="righton">
                        <input name="HMaker" disabled v-model="hform.HMaker" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{ $t(`Gy.HBillNo`) == "Gy.HBillNo"?"单据号": $t(`Gy.HBillNo`) }}:</view>
                    <view class="righton">
                        <input name="HBillNo" disabled v-model="hform.HBillNo" />
                    </view>
                    <view class="icon-wrapper">
                        <uni-icons type="scan" size="20" @click="qrCodeDisplay"></uni-icons>
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HInterID")}}:</view>
                    <view class="righton">
                        <input name="HInterID" disabled v-model="hform.HInterID" />
                    </view>
                </view>
            </view>
            <view v-if="tabs == 1">
                <view class="form-item">
                    <view class="title">{{$t("Gy.HKeeperName")}}:</view>
                    <view class="right">
                        <uni-combox :candidates="arrayHEmpName" :placeholder="$t('Gy.HKeeperName_Placeholder')" v-model="hform.HKeeperName"
                            @input="HKeeperNameChange"></uni-combox>
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HSecManagerName")}}:</view>
                    <view class="right">
                        <uni-combox :candidates="arrayHEmpName" :placeholder="$t('Gy.HSecManagerName_Placeholder')" v-model="hform.HSecManagerName"
                            @input="HSecManagerNameChange"></uni-combox>
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HDeptName")}}:</view>
                    <view class="right">
                        <uni-combox :candidates="arrayHDeptName" :placeholder="$t('Gy.HDeptName_Placeholder')" v-model="hform.HDeptName"
                            @input="HDeptNameChange"></uni-combox>
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HSupName")}}:</view>
                    <!-- <view class="right" v-show="showHSupName">
                        <uni-combox :candidates="arrayHSupName" placeholder="请选择供应商" v-model="hform.HSupName"
                            @input="HSupNameChange"></uni-combox>
                    </view> -->
                    <view class="righton">
                        <input name="HSupName" disabled v-model="hform.HSupName" placeholder="" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HStockOrgName")}}:</view>
                    <view class="righton">
                        <input name="HStockOrgName" disabled v-model="hform.HStockOrgName" />
                    </view>
                </view>
            </view>
            <view v-if="tabs == 2">
                <view class="list" v-for="(item,index) in Materlist" :key="index">
                    <uni-card :title="item.物料名称" style="margcmdSearchin: 10px;" @tap="delMater(item,$event)">
                        <!-- 物料代码作为可点击链接 -->
                        <view class="card-header" @tap.stop="gotoInventoryQuery(item.物料代码,$event)">
                            <text class="link-text">{{$t(`${HModName}.物料代码`)}}:{{item.物料代码}}</text>
                        </view>
                        <view class="card-detail">
                            <view class="detail">
                                <text>{{$t(`${HModName}.源单单号`)}}:</text>{{item.源单单号}}
                            </view>
                            <view class="detail">
                                <text>{{$t(`${HModName}.源单数量`)}}:</text>{{item.源单数量}}
                            </view>
                            <view class="detail">
                                <text>{{$t(`${HModName}.数量`)}}:</text>{{item.数量}}
                            </view>
                            <view class="detail">
                                <text>{{$t(`${HModName}.条码个数`)}}:</text>{{item.条码个数}}
                            </view>
                            <view class="detail" v-if="item.规格型号">
                                <text>{{$t(`${HModName}.规格型号`)}}:</text>{{item.规格型号}}
                            </view>
                            <view class="detail" v-if="item.辅助属性">
                                <text>{{$t(`${HModName}.辅助属性`)}}:</text>{{item.辅助属性}}
                            </view>
                            <view class="detail" v-if="item.款号">
                                <text>{{$t(`${HModName}.款号`)}}:</text>{{item.款号}}
                            </view>
                            <view class="detail" v-if="item.合计数量">
                                <text>{{$t(`${HModName}.合计数量`)}}:</text>{{item.合计数量}}
                            </view>
                            <view class="detail" v-if="item.单价">
                                <text>{{$t(`${HModName}.单价`)}}:</text>{{item.单价}}
                            </view>
                            <view class="detail" v-if="materMeta[0].HWHName && /兴达/.test(hform.HStockOrgName)">
                                <text>{{$t(`${HModName}.仓库`)}}:</text>{{materMeta[0].HWHName}}
                            </view>
                        </view>
                    </uni-card>
                </view>
                <view class="over" v-if="Materlist.length == 0">暂无数据</view>
            </view>
            <view v-if="tabs == 3">
                <view class="form-item">
                    <view class="title">{{$t("Gy.HBarCode_B")}}:</view>
                    <view class="righton">
                        <input name="HBarCode_B" disabled v-model="hform.HBarCode_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HMaterName_B")}}:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HMaterName_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HMaterModel_B")}}:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HMaterModel_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HBatchNo_B")}}:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HBatchNo_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HUnitName_B")}}:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HUnitName_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HQty_B")}}:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HQty_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HTMQty_B")}}:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HTMQty_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HWHName_B")}}:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HWHName_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.HSPName_B")}}:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HSPName_B" />
                    </view>
                </view>
            </view>
            <view class="buttons">
                <button class="btn-a" size="mini" @tap="submit">{{$t("Gy.submit")}}</button>
                <view style="flex: 1;"></view>
                <button class="btn-a" size="mini" @tap="addNew">{{$t("Gy.addNew")}}</button>
                <button class="btn-c" size="mini" @tap="goBack">{{$t("Gy.goBack")}}</button>
            </view>
        </view>
        <BillListPopupVue ref="billList" :HBillType="hform.HBillType" :HSourceBillType="hform.HMainSourceBillType"
            :HStockOrgID="hform.HStockOrgID"></BillListPopupVue>
        <BarCodePopupVue ref="barcodePopup"></BarCodePopupVue>
    </view>
</template>
<script>
    import getDateTime from '@/utils/getdateTime.js';
    import {
        getUserInfo
    } from "@/utils/auth.js";
    import {
        CommonUtils
    } from '@/utils/common';
    import {
        getUserStockRelation
    } from "@/utils/userRelationManager.js"
    import BillListPopupVue from '@/components/BillListPopup/BillListPopup.vue';
    import BarCodePopupVue from "@/components/BarCodePopup/BarCodePopup.vue";
    import {
        MpaasScan
    } from '@/utils/mpaasScan';
    export default {
        data() {
            return {
                HSourceBillNoFocus: false,
                barCodeFocus: false,
                userInfo: getUserInfo(),
                serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
                HModName: 'Kf_POStockInBill_PDA',
                ModRightName: 'CE_POStockIn',
                OperationType: 1,
                HInterID_Temp: '',
                HPageTitle: '采购入库单',
                materMeta: [
                ],
                showHStockPlaceName: false,
                showHMainSourceBillType: true,
                showHSourceBillNo: true,
                reHSourceBillNo: true,
                showHSupName: true,
                tabs: 0,
                HMainSourceBillType: '收料通知单',
                arrayHMainSourceBillType: ['收料通知单', '采购订单', '手工录入'],
                arrayHMainSourceBillValue: ['1103', '1101', '-1'],
                linterid: '',
                HBillNo: '',
                btnType: 0, //0新增,1修改,2审核,3反审核
                showmore: false,
                arrayHWHName: [], //仓库
                HWHNameList: [],
                arrayHStockPlaceName: [], //仓位
                HStockPlaceNameList: [],
                arrayHSourceBillNo: [], //源单单号
                HSourceBillNoList: [],
                arrayHEmpName: [], //操作员
                HEmpNameList: [],
                arrayHDeptName: [], //部门
                HDeptNameList: [],
                arrayHSupName: [], //供应商
                HSupNameList: [],
                Materlist: [],
                hform: {
                    HBillType: 1201,
                    HBillerID: uni.getStorageSync('HBillerID'),
                    HRedBlueFlag: false,
                    HBarCode: '',
                    HQty: '',
                    HQtyMust: '',
                    HWHName: getUserInfo().HWHName,
                    HWHID: getUserInfo().HWhID,
                    HStockPlaceName: getUserInfo().HSPName,
                    HStockPlaceID: getUserInfo().HSPID,
                    HMainSourceBillType: 1103,
                    HSourceBillNo: '', //CGDD000200
                    HDate: getDateTime.dateTimeStr('y-m-d'),
                    HMaker: uni.getStorageSync('HUserName'),
                    HBillNo: '',
                    HInterID: '',
                    HKeeperName: getUserInfo().HKeeperName,
                    HKeeperID: getUserInfo().HKeeperID,
                    HSecManagerName: getUserInfo().HSecManagerName,
                    HSecManagerID: getUserInfo().HSecManagerID,
                    HDeptName: getUserInfo().HDeptName,
                    HDeptID: getUserInfo().HDeptID,
                    HSupName: '',
                    HSupID: '',
                    HStockOrgName: uni.getStorageSync('Organization'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                    HBarCode_B: '',
                    HMaterName_B: '',
                    HMaterModel_B: '',
                    HBatchNo_B: '',
                    HUnitName_B: '',
                    HQty_B: '',
                    HTMQty_B: '',
                    HWHName_B: '',
                    HSPName_B: '',
                }
            }
        },
        components: {
            BillListPopupVue,
            BarCodePopupVue
        },
        computed: {
            arrayHStockPlaceNameComputed: {
                get() {
                    // 动态计算对应仓库的仓位
                    return this.HStockPlaceNameList
                        .filter(e => e['所属仓库'] == this.hform.HWHName)
                        .map(e => e['仓位名称'])
                }
            }
        },
        onLoad(e) {
            console.log(e, this.userInfo)
            this.OperationType = e.OperationType
            if (e.HInterID) {
                this.HInterID_Temp = e.HInterID
                // this.btnType = 1
                this.RoadBillMain(e.HInterID)
                this.barCodeFocus = true
            } else {
                this.getNewData();
                //如果服务器地址时海诚
                if (this.serverUrl == 'http://122.228.39.234:7177/API/') {
                    this.barCodeFocus = true
                } else {
                    this.HSourceBillNoFocus = true
                }
            }
            uni.$on('refreshList', () => {
                console.log('收到刷新指令!')
                this.DisBillEntryList() // 你的刷新方法
              })
            this.getHSupList()
            this.getHEmpList()
            this.getHDeptList()
            this.GetSourceBillType()
            this.getRelationStore()
            uni.$on('BillSelectComplete', (e) => {
                console.log("接收到的消息: ", e.HBillNo)
                this.getHBarCodeData(e.HBillNo)
                this.$refs.billList.exit()
            })
        },
        onUnload() {
            uni.$off('BillSelectComplete')
            this.$refs.billList.exit()
        },
        methods: {
            toScanBillCode() {
                MpaasScan.scanCode((res) => {
                    this.getHBarCodeData(res)
                })
            },
            async HWHNameScan(e) {
                return
                // 扫描仓库码
                console.log('仓库码: ', e);
                let index = this.HWHNameList.findIndex(elem => elem['条码编号'] == e)
                if (index == -1) {
                    uni.showToast({
                        icon: 'none',
                        title: '扫描仓库条码对应的仓库不存在...'
                    })
                } else {
                    this.HWHNameChange(this.HWHNameList[index]['仓库名称'])
                }
            },
            async HStockPlaceNameScan(e) {
                // 扫描仓位码
                console.log('Code: ', e);
                // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新
                this.hform.HStockPlaceID = 0
                this.hform.HStockPlaceName = ''
                try {
                    let res = await CommonUtils.doRequest2Async({
                        url: '/Gy_StockPlace/list',
                        data: {
                            sWhere: ` and 条码编号 = '${e}'`,
                            user: uni.getStorageSync('HUserName'),
                            Organization: uni.getStorageSync('Organization')
                        },
                    })
                    if (res.data.count == 1) {
                        this.hform.HStockPlaceID = res.data.data[0].HMainID
                        this.hform.HStockPlaceName = res.data.data[0].仓位名称
                        this.hform.HWHID = res.data.data[0].HWHID
                        this.hform.HWHName = res.data.data[0].所属仓库
                    } else {
                        uni.showToast({
                            title: '仓位数据请求失败',
                            icon: 'none'
                        })
                    }
                } catch (err) {
                    uni.showToast({
                        title: '仓位数据请求失败',
                        icon: 'none'
                    })
                }
            },
            async qrCodeDisplay() {
                try {
                    this.$refs.barcodePopup.setCodeInfo(this.hform.HBillNo)
                    await this.$nextTick()
                    this.$refs.barcodePopup.open()
                } catch (err) {
                    uni.showToast({
                        icon: 'none',
                        title: err
                    })
                }
            },
            async getRelationStore() {
                let {
                    data,
                    count
                } = await getUserStockRelation()
                console.log('count: ', count);
                if (count == 1) {
                    let WHIDList = []
                    Array.from(data).forEach(elem => {
                        WHIDList.push(elem.HItemID)
                    })
                    let sWhere = ` and HItemID in (${WHIDList.join(",")})`
                    this.getHBaseList({
                        sWhere: sWhere
                    })
                } else {
                    this.getHBaseList()
                }
            },
            async refreshHSourceBillState() {
                this.HSourceBillNoFocus = false
                await this.$nextTick(() => {
                    this.HSourceBillNoFocus = true
                    this.hform.HSourceBillNo = ""
                })
            },
            async refreshBarCodeState() {
                this.barCodeFocus = false
                await this.$nextTick(() => {
                    this.barCodeFocus = true
                    this.hform.HBarCode = ""
                })
            },
            //扫码
            toScanCode() {
                var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
                mpaasScanModule.mpaasScan({
                    'hideAlbum': true,
                    'timeoutInterval': '10', //超时时间
                    'timeoutText': '未识别到二维码' //超时提醒
                }, (ret) => {
                    console.log(ret.resp_result)
                    if (this.hform.HBarCode == '*') {
                        this.hform.HBarCode = this.hform.HBarCode + ret.resp_result
                    } else {
                        this.hform.HBarCode = ret.resp_result
                    }
                    this.getCode(this.hform.HBarCode)
                })
            },
            //日期
            HDateChange(e) {
                console.log(e.detail.value)
                this.hform.HDate = e.detail.value
            },
            async onSourceBillBlurHandler() {
                if (this.hform.HMainSourceBillType == -1) {
                    CommonUtils.playSound(1)
                    this.barCodeFocus = true
                    return
                }
                let inputVal = ''
                if (this.$refs.uniComboxSourceBill) {
                    inputVal = this.$refs.uniComboxSourceBill.inputVal || this.hform.HSourceBillNo
                } else {
                    inputVal = this.hform.HSourceBillNo
                }
                console.log('inputVal: ', inputVal);
                if (inputVal == '') {
                    CommonUtils.playSound(0)
                    this.refreshHSourceBillState()
                    return uni.showToast({
                        icon: 'none',
                        Message: '源单单号不得为空...'
                    })
                }
                this.getHBarCodeData(inputVal)
            },
            //基础仓库资料
            getHBaseList({
                sWhere = ""
            } = {}) {
                uni.request({
                    url: this.serverUrl + '/Gy_Warehouse/list',
                    data: {
                        sWhere: sWhere,
                        user: uni.getStorageSync('HUserName'),
                        Organization: uni.getStorageSync('Organization')
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            this.HWHNameList = res.data.data
                            for (var i = 0; i < res.data.data.length; i++) {
                                this.arrayHWHName[i] = res.data.data[i].仓库名称
                            }
                            this.HWHNameChange(getUserInfo()["HWhName"])
                        } else {
                            uni.showToast({
                                title: '仓库数据请求失败',
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            // 通过单据类型获取源单类型
            async GetSourceBillType() {
                CommonUtils.doRequest2({
                    url: '/Web/GetHSourceBillTypeByBillType',
                    data: {
                        HBillType: this.hform.HBillType,
                        Num: 2
                    },
                    resFunction: (res) => {
                        let {
                            data,
                            count,
                            Message
                        } = res.data
                        if (count == 1) {
                            // console.log('data: ', data);
                            if(data.length == 0){
                                // 数据库中没有配置,默认使用本地
                                return
                            }
                            this.arrayHMainSourceBillType = []
                            this.arrayHMainSourceBillValue = []
                            Array.from(data).forEach(e => {
                                this.arrayHMainSourceBillType.push(e['HSourceBillTypeName'])
                                this.arrayHMainSourceBillValue.push(e['HSourceBillType'])
                            })
                            let trans = (this.$t(`${this.HModName}.HSourceBillType2`)).split("@")
                            console.log('trans: ',trans);
                            this.arrayHMainSourceBillType.push(trans[0])
                            this.arrayHMainSourceBillValue.push(trans[1])
                            this.HMainSourceBillType = this.arrayHMainSourceBillType[0]
                            this.hform.HMainSourceBillType = this.arrayHMainSourceBillValue[0]
                        } else {
                            // 数据库中没有配置,则使用本地的配置
                            for(let i = 0;i<this.HMainSourceBillType; i++) {
                                let transed = this.$t(`${this.HModName}.HSourceBillType${i}`).split("@")
                                this.arrayHMainSourceBillType.push(transed[0])
                                this.arrayHMainSourceBillValue.push(transed[1])
                            }
                        }
                    }
                })
            },
            //源单资料
            getHYDList() {
                uni.request({
                    url: this.serverUrl + '/WEBSController/GetSourceBillList_Json',
                    data: {
                        HBillType: this.hform.HBillType,
                        HSourceBillType: this.hform.HMainSourceBillType,
                        HStockOrgID: this.hform.HStockOrgID,
                        HSourceBillNo: "",
                        HMater: "",
                        HCustom: ""
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            this.HSourceBillNoList = []
                            this.arrayHSourceBillNo = []
                            this.HSourceBillNoList = res.data.data
                            for (var i = 0; i < res.data.data.length; i++) {
                                this.arrayHSourceBillNo[i] = res.data.data[i].单据号
                            }
                            this.reHSourceBillNo = false
                            this.$nextTick(() => {
                                this.reHSourceBillNo = true
                            })
                        } else {
                            uni.showToast({
                                title: '源单数据请求失败',
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            //选择仓库
            HWHNameChange(e) {
                // var name = e.split("(")
                for (var i = 0; i < this.HWHNameList.length; i++) {
                    if (this.HWHNameList[i].仓库名称 == e) {
                        this.hform.HWHName = this.HWHNameList[i].仓库名称
                        this.hform.HWHID = this.HWHNameList[i].HItemID
                        this.HStockPlaceNameChange(null)
                        this.showHStockPlaceName = false
                        if (this.HWHNameList[i]['启用仓位'] == 'Y') {
                            this.showHStockPlaceName = true
                            this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"])
                        }
                    }
                }
            },
            // 获取仓位
            async getStockPlaceRemote(HSPGroupID) {
                try {
                    let res = await CommonUtils.doRequest2Async({
                        url: '/Gy_StockPlace/list',
                        data: {
                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
                            user: uni.getStorageSync('HUserName'),
                            Organization: uni.getStorageSync('Organization')
                        },
                    })
                    if (res.data.count == 1) {
                        this.HStockPlaceNameList = res.data.data
                        for (var i = 0; i < res.data.data.length; i++) {
                            this.arrayHStockPlaceName[i] = res.data.data[i].仓位名称
                        }
                    } else {
                        uni.showToast({
                            title: '仓位数据请求失败',
                            icon: 'none'
                        })
                    }
                } catch (err) {
                    uni.showToast({
                        title: '仓位数据请求失败',
                        icon: 'none'
                    })
                }
            },
            //选择仓位
            HStockPlaceNameChange(e) {
                console.log('e: ', e);
                let index = this.HStockPlaceNameList.findIndex(elem => elem['仓位名称'] == e)
                if (index != -1) {
                    this.hform.HStockPlaceName = this.HStockPlaceNameList[index].仓位名称
                    this.hform.HStockPlaceID = this.HStockPlaceNameList[index].HMainID
                } else {
                    this.hform.HStockPlaceName = ''
                    this.hform.HStockPlaceID = 0
                }
                // for (var i = 0; i < this.HStockPlaceNameList.length; i++) {
                //     if (this.HStockPlaceNameList[i].仓位名称 == e) {
                //         this.hform.HStockPlaceName = this.HStockPlaceNameList[i].仓位名称
                //         this.hform.HStockPlaceID = this.HStockPlaceNameList[i].HMainID
                //     }
                // }
            },
            //选择源单
            HSourceBillNoChange(e) {
                this.hform.HSourceBillNo = e
                this.getHBarCodeData(e)
                // for(var i=0;i<this.HSourceBillNoList.length;i++){
                //     if(this.HSourceBillNoList[i].单据号 == e){
                //         this.hform.HSourceBillNo = this.HSourceBillNoList[i].单据号
                //     }
                // }
            },
            //选择源单类型
            HMainSourceBillTypeChange(e) {
                this.HMainSourceBillType = this.arrayHMainSourceBillType[e.detail.value]
                let index = this.arrayHMainSourceBillType.findIndex(e => e == this.HMainSourceBillType)
                if (index != -1) {
                    this.hform.HMainSourceBillType = this.arrayHMainSourceBillValue[index]
                    // this.getHYDList()
                }
            },
            //获取供应商数据
            getHSupList() {
                if (!this.hform.HStockOrgID) {
                    var HOtherOrgID = 0;
                } else {
                    var HOtherOrgID = this.hform.HStockOrgID
                }
                uni.request({
                    url: this.serverUrl + '/Web/GetSupplierList_Json',
                    data: {
                        Supplier: '',
                        HOrgID: HOtherOrgID
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            this.HSupNameList = res.data.data
                            for (var i = 0; i < res.data.data.length; i++) {
                                this.arrayHSupName[i] = res.data.data[i].HName
                            }
                            this.$forceUpdate();
                        } else {
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '供应商数据请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            //选择供应商
            HSupNameChange(e) {
                for (var i = 0; i < this.HSupNameList.length; i++) {
                    if (this.HSupNameList[i].HName == e) {
                        this.hform.HSupID = this.HSupNameList[i].HItemID
                        this.hform.HSupName = this.HSupNameList[i].HName
                    }
                }
            },
            //获取使用部门数据
            getHDeptList() {
                uni.request({
                    url: this.serverUrl + '/Gy_Department/list',
                    data: {
                        sWhere: "",
                        user: uni.getStorageSync('HUserName'),
                        Organization: uni.getStorageSync('Organization')
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            this.HDeptNameList = res.data.data
                            for (var i = 0; i < res.data.data.length; i++) {
                                this.arrayHDeptName[i] = res.data.data[i].部门名称
                            }
                            this.$forceUpdate();
                        } else {
                            uni.showToast({
                                title: '部门数据请求失败',
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            //选择使用部门
            HDeptNameChange(e) {
                for (var i = 0; i < this.HDeptNameList.length; i++) {
                    if (this.HDeptNameList[i].部门名称 == e) {
                        this.hform.HDeptID = this.HDeptNameList[i].HItemID
                        this.hform.HDeptName = this.HDeptNameList[i].部门名称
                    }
                }
            },
            //操作员
            getHEmpList() {
                uni.request({
                    url: this.serverUrl + '/Web/GetEmployeeList_Json',
                    data: {
                        Employee: '',
                        HGroupID: 0,
                        HDeptID: uni.getStorageSync("HDeptID")
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            this.HEmpNameList = res.data.data
                            for (var i = 0; i < res.data.data.length; i++) {
                                this.arrayHEmpName[i] = res.data.data[i].HName
                            }
                            this.$forceUpdate();
                        } else {
                            uni.showToast({
                                title: '人员数据请求失败',
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            //保管
            HKeeperNameChange(e) {
                for (var i = 0; i < this.HEmpNameList.length; i++) {
                    if (this.HEmpNameList[i].HName == e) {
                        console.log(this.HEmpNameList[i])
                        this.hform.HKeeperID = this.HEmpNameList[i].HItemID
                        this.hform.HKeeperName = this.HEmpNameList[i].HName
                    }
                }
            },
            //验收
            HSecManagerNameChange(e) {
                for (var i = 0; i < this.HEmpNameList.length; i++) {
                    if (this.HEmpNameList[i].HName == e) {
                        this.hform.HSecManagerID = this.HEmpNameList[i].HItemID
                        this.hform.HSecManagerName = this.HEmpNameList[i].HName
                    }
                }
            },
            //选中源单
            getHBarCodeData(HBarCode) {
                uni.request({
                    url: this.serverUrl + '/WEBSController/Get_SourceBarCode_POStockIn_Json',
                    data: {
                        HInterID: this.hform.HInterID,
                        HBillNo: this.hform.HBillNo,
                        HBillType: this.hform.HBillType,
                        HSourceBillNo: HBarCode,
                        HSourceBillType: this.hform.HMainSourceBillType,
                        HMaker: this.hform.HMaker,
                        HStockOrgID: this.hform.HStockOrgID
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            var data = res.data.data
                            console.log(2, data);
                            this.hform.HSupName = data.hSupNameField
                            this.hform.HSupID = data.hSupIDField
                            if (data.hDeptIDField != 0) {
                                this.hform.HDeptID = data.hDeptIDField
                                this.hform.HDeptName = data.hDeptNameField
                            }
                            this.hform.HSourceBillNo = data.hSourceBillNoField
                            this.showHMainSourceBillType = false
                            if (data.hMulSourceFlagField == 0) {
                                this.showHSourceBillNo = false
                            }
                            this.tabs = 2
                            this.showHSupName = false
                            this.barCodeFocus = true
                            CommonUtils.playSound(1)
                            this.DisBillEntryList()
                        } else {
                            console.log('res.data.Message: ', res.data.Message);
                            this.refreshHSourceBillState()
                            CommonUtils.playSound(0)
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        this.refreshHSourceBillState()
                        CommonUtils.playSound(0)
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            //扫条码处理
            async getCode(HBarCode) {
                //仓库、仓位文本框为空时,清空对应ID
                if (!this.hform.HWHName) {
                    this.hform.HWHID = 0
                }
                if (!this.hform.HStockPlaceName) {
                    this.hform.HStockPlaceID = 0
                }
                var sOldBarCode = HBarCode
                var HDeleteFlag = sOldBarCode.substring(0, 1);
                var sBarCode = sOldBarCode.slice(1);
                var sHWHID = this.hform.HWHID
                var sHSPID = this.hform.HStockPlaceID
                var sHQty = this.hform.HQty
                var sSourceBillNo = this.hform.HSourceBillNo
                var sSourceBillType = this.hform.HMainSourceBillType
                var HSourceFlag = this.hform.HSourceBillNo == '' ? false : true
                console.log(this.hform.HSourceBillNo, HSourceFlag)
                if (HDeleteFlag == "*") {
                    if (sBarCode == "") {
                        CommonUtils.playSound(0)
                        this.refreshBarCodeState()
                        uni.showToast({
                            title: '请输入要删除的条码',
                            icon: 'none'
                        })
                    } else {
                        try {
                            let res = await CommonUtils.doRequest2Sync({
                                url: '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json',
                                data: {
                                    HInterID: this.hform.HInterID,
                                    HBillType: this.hform.HBillType,
                                    HBarCode: sBarCode
                                }
                            })
                            if (!res) {
                                return
                            }
                            console.log('删除条码', res.data);
                            this.hform.HBarCode = ''
                            if (res.data.count == 1) {
                                CommonUtils.playSound(1)
                                this.hform.HQty = ''
                                this.DisBillEntryList()
                            } else {
                                CommonUtils.playSound(0)
                                this.refreshBarCodeState()
                                uni.showToast({
                                    title: res.data.Message,
                                    icon: 'none'
                                })
                            }
                        } catch (err) {
                            this.refreshBarCodeState()
                            CommonUtils.playSound(0)
                            uni.showToast({
                                title: '接口请求失败: ' + err,
                                icon: 'none'
                            })
                        }
                    }
                } else {
                    var sBarCode = this.hform.HBarCode
                    if (sHQty == "") {
                        sHQty = 0;
                    }
                    try {
                        let res = await CommonUtils.doRequest2Sync({
                            url: '/WEBSController/Get_BarCode_Json',
                            data: {
                                sBarCode: sBarCode,
                                HInterID: this.hform.HInterID,
                                HBillType: this.hform.HBillType,
                                HBillNo: this.hform.HBillNo,
                                HMaker: this.hform.HMaker,
                                HWhID: sHWHID,
                                HSPID: sHSPID,
                                HQty: sHQty,
                                HRedBlueFlag: this.hform.HRedBlueFlag,
                                SourceFlag: HSourceFlag,
                                HSourceBillNo: sSourceBillNo,
                                HSourceBillType: sSourceBillType,
                                HStockOrgID: this.hform.HStockOrgID,
                                HScanStyle: "",
                                HCustom1: "",
                                HCustom2: ""
                            },
                        })
                        if (!res) {
                            return
                        }
                        console.log('扫码返回', res.data);
                        this.hform.HBarCode = ''
                        if (res.data.count == 1) {
                            CommonUtils.playSound(1)
                            var data = res.data.data
                            if (data.hBarTypeField == '仓库条码') {
                                this.hform.HWHName = data.hWhNameField
                                this.hform.HWHID = data.hWhIDField
                                this.hform.HStockPlaceName = ''
                                this.hform.HStockPlaceID = 0
                                if (data.hSPFlagField == 0) {
                                    this.showHStockPlaceName = false
                                } else {
                                    this.showHStockPlaceName = true
                                }
                            } else if (data.hBarTypeField == '仓位条码') {
                                this.hform.HWHName = data.hWhNameField
                                this.hform.HWHID = data.hWhIDField
                                this.hform.HStockPlaceName = data.hSPNameField
                                this.hform.HStockPlaceID = data.hSPIDField
                            } else if (data.hBarTypeField == '部门条码') {
                                this.hform.HDeptName = data.hDeptNameField
                                this.hform.HDeptID = data.hDeptIDField
                                this.tabs = 1
                            } else if (data.hBarTypeField == '源单条码') {
                                this.hform.HSupName = data.hSupNameField
                                this.hform.HSupID = data.hSupIDField
                                if (data.hDeptIDField != 0) {
                                    this.hform.HDeptID = data.hDeptIDField
                                    this.hform.HDeptName = data.hDeptNameField
                                }
                                this.hform.HSourceBillNo = data.hSourceBillNoField
                                //获取源单类型、源单单号
                                let index = this.arrayHMainSourceBillValue.findIndex(e => e == data
                                    .hSourceBillTypeField)
                                if (index != -1) {
                                    this.HMainSourceBillType = this.arrayHMainSourceBillType[index]
                                    this.hform.HMainSourceBillType = data.hSourceBillTypeField
                                    this.showHMainSourceBillType = false
                                }
                                if (data.hMulSourceFlagField == 0) {
                                    this.showHSourceBillNo = false
                                }
                                //供应商不可编辑
                                this.showHSupName = false
                                this.tabs = 2
                            } else { //物料条码
                                this.materMeta.push(data)
                                this.tabs = 2
                                if (!this.hform.HSourceBillNo) {
                                    this.hform.HSupName = data.hSupNameField
                                    this.hform.HSupID = data.hSupIDField
                                    this.hform.HSourceBillNo = data.hSourceBillNoField
                                    if (data.hDeptIDField != 0) {
                                        this.hform.HDeptID = data.hDeptIDField
                                        this.hform.HDeptName = data.hDeptNameField
                                    }
                                    console.log(data)
                                    //获取源单类型、源单单号
                                    this.hform.HMainSourceBillType = data.hSourceBillTypeField
                                    let index = this.arrayHMainSourceBillValue.findIndex(e => e ==
                                        data
                                        .hSourceBillTypeField)
                                    if (index != -1) {
                                        this.HMainSourceBillType = this.arrayHMainSourceBillType[
                                            index]
                                        this.hform.HMainSourceBillType = data.hSourceBillTypeField
                                        this.showHMainSourceBillType = false
                                    }
                                    if (data.hMulSourceFlagField == 0) {
                                        this.showHSourceBillNo = false
                                    }
                                    //供应商不可编辑
                                    this.showHSupName = false
                                }
                            }
                            //显示表体明细
                            this.DisBillEntryList()
                            //清空数量
                            this.hform.HQty = ''
                            //光标对准条码
                            this.refreshBarCodeState()
                        } else {
                            CommonUtils.playSound(0)
                            this.refreshBarCodeState()
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                        }
                    } catch (err) {
                        CommonUtils.playSound(0)
                        this.refreshBarCodeState()
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败: ' + err,
                            icon: 'none'
                        })
                    }
                }
            },
            //物料信息
            DisBillEntryList() {
                uni.request({
                    url: this.serverUrl + '/WEBSController/GetBillEntryTmpList_Json',
                    data: {
                        HInterID: this.hform.HInterID,
                        HBillNo: this.hform.HBillNo,
                        HBillType: this.hform.HBillType,
                        HStockOrgID: this.hform.HStockOrgID
                    },
                    success: (res) => {
                        console.log('物料', res.data)
                        if (res.data.count == 1) {
                            var data = res.data.data
                            this.materMeta = data.BarCodeDetailslist
                            this.Materlist = data.Materlist
                            if (/兴达/.test(uni.getStorageSync("Organization"))) {
                                // 兴达客户 带出 仓库
                                console.log("兴达带出默认仓库")
                                this.HWHNameChange(data.BarCodeDetailslist[0].HWHName)
                            }
                            if (!data.BarCodeDetailslist[0].HBarCode) {
                                this.hform.HMaterName_B = ''
                                this.hform.HMaterModel_B = ''
                                this.hform.HBatchNo_B = ''
                                this.hform.HUnitName_B = ''
                                this.hform.HQty_B = ''
                                this.hform.HTMQty_B = ''
                                this.hform.HWHName_B = ''
                                this.hform.HSPName_B = ''
                            } else {
                                this.hform.HBarCode_B = data.BarCodeDetailslist[0].HBarCode
                                this.hform.HMaterName_B = data.BarCodeDetailslist[0].HMaterName
                                this.hform.HMaterModel_B = data.BarCodeDetailslist[0].HMaterModel
                                this.hform.HBatchNo_B = data.BarCodeDetailslist[0].HBatchNo
                                this.hform.HUnitName_B = data.BarCodeDetailslist[0].HUnitName
                                this.hform.HQty_B = data.BarCodeDetailslist[0].HQty
                                this.hform.HTMQty_B = data.BarCodeDetailslist[0].HTMQty
                                this.hform.HWHName_B = data.BarCodeDetailslist[0].HWHName
                                this.hform.HSPName_B = data.BarCodeDetailslist[0].HSPName
                            }
                        } else {
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            gotoInventoryQuery(HMaterNumber) {
                console.log('跳转到库存查询,物料代码:', HMaterNumber);
                // 使用uni.navigateTo跳转到新页面
                uni.navigateTo({
                    url: `/pages/jishikucunchaxun/table?OperationType=2&HMaterNumber=${HMaterNumber}`,
                    success: (res) => {
                        console.log('跳转成功');
                    },
                    fail: (err) => {
                        console.error('跳转失败:', err);
                        // 如果页面不存在,可以跳转到默认页面
                        uni.showToast({
                            title: '功能正在开发中',
                            icon: 'none'
                        });
                    }
                });
            },
            delMater(item) {
                if (event && event.target.classList && event.target.classList.contains('link-text')) {
                    return; // 如果是链接点击,不执行删除
                }else{
                    uni.navigateTo({
                            url:'../tiaomamingxi/tiaomamingxi?HInterID=' + this.hform.HInterID + '&HMaterID=' + item.HMaterID + '&HBillType=' + this.hform.HBillType
                        })
                }
            },
            //新增
            getNewData() {
                uni.request({
                    url: this.serverUrl + '/WEBSController/GetMaxBillNoAndID_Json',
                    data: {
                        HBillType: this.hform.HBillType
                    },
                    success: (res) => {
                        // console.log(res.data)
                        if (res.data.count == 1) {
                            this.hform.HInterID = res.data.data[0].HInterID
                            this.hform.HBillNo = res.data.data[0].HBillNo
                        } else {
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            //修改回填数据
            RoadBillMain(HInterID) {
                uni.request({
                    url: this.serverUrl + '/WEBSController/GetSourceBill_Temp_Json',
                    data: {
                        HInterID: HInterID,
                        HBillType: this.hform.HBillType
                    },
                    success: (res) => {
                        console.log(33, res.data.data[0]);
                        if (res.data.count == 1) {
                            var data = res.data.data[0]
                            this.hform.HInterID = data.HInterID
                            this.hform.HBillNo = data.HBillNo
                            this.hform.HMainSourceBillType = data.HSourceBillType
                            this.hform.HSourceBillNo = data.HSourceBillNo
                            let index = this.arrayHMainSourceBillValue.findIndex(e => e == data
                                .HSourceBillType)
                            if (index != -1) {
                                this.HMainSourceBillType = this.arrayHMainSourceBillType[index]
                                this.hform.HMainSourceBillType = data.HSourceBillType
                                if (this.HMainSourceBillType != -1) {
                                    this.showHSupName = false
                                }
                            }
                            // if (data.HSourceBillType == 1103) {
                            //     this.hform.HMainSourceBillType = 1103
                            //     this.HMainSourceBillType = '收料通知单'
                            //     this.showHSupName = false
                            // } else if (data.HSourceBillType == 1102) {
                            //     this.hform.HMainSourceBillType = 1102
                            //     this.HMainSourceBillType = '采购订单'
                            //     this.showHSupName = false
                            // } else {
                            //     this.hform.HMainSourceBillType = -1
                            //     this.HMainSourceBillType = '手工录入'
                            // }
                            this.showHMainSourceBillType = false
                            //非多源单模式
                            if (data.HMulSourceBill == 0) {
                                this.showHSourceBillNo = false
                            }
                            this.hform.HDeptID = data.HDeptID
                            this.hform.HDeptName = data.HDeptName
                            this.hform.HSupID = data.HCusID
                            this.hform.HSupName = data.HSupName
                            this.DisBillEntryList()
                            this.tabs = 2
                        } else {
                            uni.showToast({
                                title: '获取数据回填失败',
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            addNew() {
                uni.redirectTo({
                    url: '/pages/caigouruku/POStockInBill?OperationType=1'
                })
            },
            async submit() {
                //仓库、仓位、保管、验收、部门、供应商文本框为空时,清空对应ID
                if (!this.hform.HWHName) {
                    this.hform.HWHID = 0
                }
                if (!this.hform.HStockPlaceName) {
                    this.hform.HStockPlaceID = 0
                }
                if (!this.hform.HKeeperName) {
                    this.hform.HKeeperID = 0
                }
                if (!this.hform.HSecManagerName) {
                    this.hform.HSecManagerID = 0
                }
                if (!this.hform.HDeptName) {
                    this.hform.HDeptID = 0
                }
                if (!this.hform.HSupName) {
                    this.hform.HSupID = 0
                }
                if (this.hform.HInterID == 0 || !this.hform.HInterID) {
                    uni.showToast({
                        title: '单据内码获取失败,错误的单据内码!',
                        icon: 'none'
                    })
                } else if (!this.hform.HBillNo) {
                    uni.showToast({
                        title: '单据号获取失败,错误的单据号!',
                        icon: 'none'
                    })
                } else if (!this.Materlist || this.Materlist.length == 0) {
                    uni.showToast({
                        title: '没有扫码信息,请先扫描条码,确认无误后再提交!',
                        icon: 'none'
                    })
                } else {
                    var s = 0;
                    for (var i = 0; i < this.Materlist.length; i++) {
                        if (this.Materlist[i].数量 > 0) {
                            s = 1;
                        }
                    }
                    if (s == 0) {
                        uni.showToast({
                            title: '没有扫描物料条码,请先扫描物料条码,确认无误后再提交!',
                            icon: 'none'
                        })
                    } else {
                        // uni.showLoading({
                        //     title: '请稍候'
                        // })
                        var sMainStr = JSON.stringify(this.hform);
                        try {
                            let res = await CommonUtils.doRequest2Sync({
                                url: '/WEBSController/set_SavePOStockInBill_Json',
                                method: 'POST',
                                data: {
                                    oMain: sMainStr
                                },
                            })
                            if (!res) {
                                return
                            }
                            console.log(1, res);
                            uni.hideLoading()
                            if (res.data.count == 1) {
                                // let sMain = JSON.stringify(this.materMeta) + ';' + this.hform
                                //     .HBillType + ';' + this.hform.HSourceBillNo
                                // 为条码设置出库单号和出库次数
                                // await this.Set_BarCodeBill(sMain)
                                uni.showModal({
                                    title: '提示',
                                    content: res.data.Message + '。是否继续新增?',
                                    success: (res) => {
                                        if (res.confirm) {
                                            console.log('用户点击确定');
                                            uni.redirectTo({
                                                url: '/pages/caigouruku/POStockInBill?OperationType=1'
                                            })
                                        } else if (res.cancel) {
                                            console.log('用户点击取消');
                                            // setTimeout(() => {
                                            //     uni.navigateBack();
                                            // }, 50)
                                        }
                                    }
                                });
                            } else {
                                CommonUtils.showTips({
                                    title: '温馨提示',
                                    message: res.data.Message
                                })
                            }
                        } catch (err) {
                            console.warn(err);
                            uni.showToast({
                                title: '接口请求失败:' + err,
                                icon: 'none'
                            })
                        }
                        // uni.request({
                        //     url: this.serverUrl + '/WEBSController/set_SavePOStockInBill_Json',
                        //     method: 'POST',
                        //     dataType: "json",
                        //     data: {
                        //         oMain: sMainStr
                        //     },
                        //     success: (res) => {
                        //         console.log(1, res);
                        //         uni.hideLoading()
                        //         if (res.data.count == 1) {
                        //             let sMain = JSON.stringify(this.materMeta) + ';' + this.hform
                        //                 .HBillType + ';' + this.hform.HSourceBillNo
                        //             // 为条码设置出库单号和出库次数
                        //             // await this.Set_BarCodeBill(sMain)
                        //             uni.showModal({
                        //                 title: '提示',
                        //                 content: res.data.Message + '。是否继续新增?(点击取消返回上级页面)',
                        //                 success: (res) => {
                        //                     if (res.confirm) {
                        //                         console.log('用户点击确定');
                        //                         uni.redirectTo({
                        //                             url: '/pages/caigouruku/POStockInBill?OperationType=1'
                        //                         })
                        //                     } else if (res.cancel) {
                        //                         console.log('用户点击取消');
                        //                         // setTimeout(() => {
                        //                         //     uni.navigateBack();
                        //                         // }, 50)
                        //                     }
                        //                 }
                        //             });
                        //         } else {
                        //             uni.showToast({
                        //                 title: res.data.Message,
                        //                 icon: 'none'
                        //             })
                        //         }
                        //     },
                        //     fail: (res) => {
                        //         console.log(res);
                        //         uni.showToast({
                        //             title: '接口请求失败',
                        //             icon: 'none'
                        //         })
                        //     },
                        // });
                    }
                }
            },
            showBillList() {
                this.$refs.billList.showPopup()
            },
            Set_BarCodeBill(sMain) {
                return new Promise((resolve, reject) => {
                    CommonUtils.doRequest2({
                        method: 'POST',
                        url: 'Sc_BarCode/Set_BarCodeBill',
                        data: {
                            msg: sMain
                        },
                        resFunction: (res) => {
                            let {
                                data,
                                count,
                                Message
                            } = res.data
                            if (count == 1) {
                                resolve()
                            } else {
                                reject(Message)
                            }
                        }
                    })
                })
            },
            goBack() {
                uni.showModal({
                    title: '提示',
                    content: '确认要退出当前页面吗?',
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
                            uni.redirectTo({
                                url: '/pages/caigouruku/POStockInBillList'
                            })
                        } else if (res.cancel) {
                            console.log('用户点击取消');
                        }
                    }
                });
            }
        }
    }
</script>
<style lang="scss" scoped>
    @import "../style/CKBillStyle.scss";
</style>