1
chenhaozhe
2025-09-25 6927c7867aee716e373f65a07c12536c6dcc6d34
1
2个文件已添加
6个文件已修改
2273 ■■■■■ 已修改文件
pages.json 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/caigouruku/form.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/caigoutuiliao/form.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/index.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/tab2.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/shengchantuiliao/form.vue 1712 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/shengchantuiliao/table.vue 511 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/xiaoshouchuku/form.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json
@@ -795,6 +795,20 @@
            {
                "navigationBarTitleText" : "拆托扫码"
            }
        },
        {
            "path" : "pages/shengchantuiliao/table",
            "style" :
            {
                "navigationBarTitleText" : "生产退料"
            }
        },
        {
            "path" : "pages/shengchantuiliao/form",
            "style" :
            {
                "navigationBarTitleText" : "生产退料单"
            }
        }
    ],
    "tabBar": {
pages/caigouruku/form.vue
@@ -1576,6 +1576,7 @@
        .title {
            width: 208rpx;
            flex-shrink: 0;
            text {
                color: red;
pages/caigoutuiliao/form.vue
@@ -263,7 +263,8 @@
    import BarCodePopupVue from "../../components/BarCodePopup/BarCodePopup.vue";
    export default {
        components: {
            BillListPopupVue,BarCodePopupVue
            BillListPopupVue,
            BarCodePopupVue
        },
        data() {
            return {
@@ -286,7 +287,9 @@
                tabs: 0,
                HMainSourceBillType: '退料通知单',
                arrayHMainSourceBillType: ['退料通知单', '采购订单', '手工录入'],
                arrayHMainSourceBillType: ['退料通知单', '采购订单', '采购入库单',
                    '手工录入'
                ],
                linterid: '',
                HBillNo: '',
@@ -383,7 +386,7 @@
                    this.$refs.barcodePopup.setCodeInfo(this.hform.HBillNo)
                    await this.$nextTick()
                    this.$refs.barcodePopup.open()
                }catch(err) {
                } catch (err) {
                    uni.showToast({
                        icon: 'none',
                        title: err
@@ -702,6 +705,9 @@
                } else if (this.HMainSourceBillType == '采购订单') {
                    this.hform.HMainSourceBillType = 1102
                    // this.getHYDList()
                } else if (this.HMainSourceBillType == '采购入库单') {
                    this.hform.HMainSourceBillType = 1204
                } else {
                    this.hform.HMainSourceBillType = -1
                    // this.getHYDList()
@@ -1030,6 +1036,10 @@
                                        this.HMainSourceBillType = '采购订单'
                                        this.hform.HMainSourceBillType = 1102
                                        this.showHMainSourceBillType = false
                                    } else if (data.hSourceBillType == 1204) {
                                        this.HMainSourceBillType = '采购入库单'
                                        this.hform.HMainSourceBillType = 1204
                                        this.showHMainSourceBillType = false
                                    } else {
                                        this.HMainSourceBillType = '手工录入'
                                        this.hform.HMainSourceBillType = -1
@@ -1256,6 +1266,10 @@
                                this.hform.HMainSourceBillType = 1102
                                this.HMainSourceBillType = '采购订单'
                                this.showHSupName = false
                            }else if (data.HSourceBillType == 1204) {
                                this.hform.HMainSourceBillType = 1204
                                this.HMainSourceBillType = '采购入库单'
                                this.showHSupName = false
                            } else {
                                this.hform.HMainSourceBillType = -1
                                this.HMainSourceBillType = '手工录入'
pages/index/index.vue
@@ -223,6 +223,13 @@
                        url: `/pages/chaituosaoma/form`,
                        id: 26,
                        hidden: false,
                    },
                    {
                        img: '../../static/icon/icon8.png',
                        text: '生产退料新增',
                        url: `/pages/shengchantuiliao/form`,
                        id: 27,
                        hidden: false,
                    }
                    ],
                    // itemData: [{
pages/index/tab2.vue
@@ -238,6 +238,13 @@
                    id: 32,
                    hidden: !this.judgeHidden(),
                },
                {
                    img: '../../static/icon/icon8.png',
                    text: '生产退料单暂存列表',
                    url: `/pages/shengchantuiliao/table`,
                    id: 33,
                    hidden: false,
                }
                // {
                //     img: '../../static/icon/icon8.png',
                //     text: '检验报告',
pages/shengchantuiliao/form.vue
New file
@@ -0,0 +1,1712 @@
<template>
    <view>
        <view class="form">
            <view class="form-item">
                <view class="title">条码:</view>
                <view class="right" >
                    <input :focus="barCodeFocus" v-model="hform.HBarCode" placeholder="请扫描(或输入)条码"
                        @confirm="getCode(hform.HBarCode)" />
                </view>
                <view class="icon-wrapper">
                    <uni-icons type="scan" size="20" @click="toScanCode"></uni-icons>
                </view>
            </view>
            <view class="form-item">
                <view class="title">数量:</view>
                <view class="right">
                    <input v-model="hform.HQty" placeholder="请输入数量" />
                </view>
            </view>
            <view class="form-item">
                <view class="title">仓库:</view>
                <view class="right">
                    <uni-combox :candidates="arrayHWHName" placeholder="请输入(或扫描)仓库" v-model="hform.HWHName"
                        @input="HWHNameChange"></uni-combox>
                </view>
            </view>
            <view class="form-item">
                <view class="title">仓位:</view>
                <view class="right" v-show="showHStockPlaceName">
                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="请输入(或扫描)仓位"
                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
                </view>
                <view class="righton" v-show="!showHStockPlaceName">
                    <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="不可操作" />
                </view>
            </view>
            <view class="tabs">
                <view :class="tabs == 0 ? 'on' : ''" @tap="tabs = 0">选择源单</view>
                <view :class="tabs == 1 ? 'on' : ''" @tap="tabs = 1">表头信息</view>
                <view :class="tabs == 2 ? 'on' : ''" @tap="tabs = 2">物料信息</view>
                <view :class="tabs == 3 ? 'on' : ''" @tap="tabs = 3">条码信息</view>
                <view :class="tabs == 4 ? 'on' : ''" @tap="tabs = 4">下架信息</view>
            </view>
            <view v-if="tabs == 0">
                <view class="form-item">
                    <view class="title">源单类型:</view>
                    <view class="right" v-show="showHMainSourceBillType">
                        <picker :range="arrayHMainSourceBillType" v-model="HMainSourceBillType"
                            @change="HMainSourceBillTypeChange">
                            <input disabled name="HMainSourceBillType" v-model="HMainSourceBillType"
                                placeholder="请选择源单类型" />
                            <view class="picker-overlay"></view>
                        </picker>
                    </view>
                    <view class="righton" v-show="!showHMainSourceBillType">
                        <input name="HMainSourceBillType" disabled v-model="HMainSourceBillType"
                            placeholder="请选择源单类型" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">源单单号:</view>
                    <view class="right" v-show="showHSourceBillNo">
                        <!-- <uni-combox v-if="reHSourceBillNo" :candidates="arrayHSourceBillNo" placeholder="请输入源单单号"
                            v-model="hform.HSourceBillNo" @input="HSourceBillNoChange"></uni-combox> -->
                        <input type="text" :focus="HSourceBillNoFocus" name="HSourceBillNo"
                            @confirm="onHSourceBillNoConfirmHandler" v-model="hform.HSourceBillNo"
                            placeholder="请输入源单单号" />
                    </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="请输入源单单号" />
                    </view>
                </view>
                <!-- <view class="form-item">
                    <view class="title">先进先出仓:</view>
                    <view class="right">
                        <uni-combox :candidates="arrayHWHName" placeholder="请选择" v-model="hform.HFIFOWHName"
                            @input="HFIFOWHNameChange"></uni-combox>
                    </view>
                </view> -->
                <view class="form-item">
                    <view class="title">日期:</view>
                    <view class="right">
                        <picker mode="date" v-model="hform.HDate" @change="HDateChange">
                            <view class="picker-overlay"></view>
                            <input disabled v-model="hform.HDate" placeholder="请选择日期" />
                        </picker>
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">制单人:</view>
                    <view class="righton">
                        <input name="HMaker" disabled v-model="hform.HMaker" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">单据号:</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">单据ID:</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">保管:</view>
                    <view class="right">
                        <uni-combox :candidates="arrayHEmpName" placeholder="请选择保管员" v-model="hform.HKeeperName"
                            @input="HKeeperNameChange"></uni-combox>
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">验收:</view>
                    <view class="right">
                        <uni-combox :candidates="arrayHEmpName" placeholder="请选择验收员" v-model="hform.HSecManagerName"
                            @input="HSecManagerNameChange"></uni-combox>
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">部门:</view>
                    <view class="right">
                        <uni-combox :candidates="arrayHDeptName" placeholder="请选择部门" v-model="hform.HDeptName"
                            @input="HDeptNameChange"></uni-combox>
                    </view>
                </view>
                <!-- <view class="form-item">
                    <view class="title">客户:</view>
                    <view class="right" v-show="showHSupName">
                        <uni-combox :candidates="arrayHSupName" placeholder="请选择客户" v-model="hform.HSupName"
                            @input="HSupNameChange"></uni-combox>
                    </view>
                    <view class="righton" v-show="!showHSupName">
                        <input name="HSupName" disabled v-model="hform.HSupName" placeholder="请选择客户" />
                    </view>
                </view> -->
                <view class="form-item">
                    <view class="title">组织:</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.物料名称" :extra="item.物料代码" style="margin: 10px;" @tap="delMater(item)">
                        <view class="card-detail">
                            <view class="detail">
                                <text>源单单号:</text>{{ item.源单单号 }}
                            </view>
                            <view class="detail">
                                <text>源单数量:</text>{{ item.源单数量 }}
                            </view>
                            <view class="detail">
                                <text>数量:</text>{{ item.数量 }}
                            </view>
                            <view class="detail">
                                <text>条码个数:</text>{{ item.条码个数 }}
                            </view>
                            <view class="detail" v-if="item.规格型号">
                                <text>规格型号:</text>{{ item.规格型号 }}
                            </view>
                            <view class="detail" v-if="item.辅助属性">
                                <text>辅助属性:</text>{{ item.辅助属性 }}
                            </view>
                        </view>
                    </uni-card>
                </view>
                <view class="over" v-if="Materlist.length == 0">暂无数据</view>
            </view>
            <view v-if="tabs == 4">
                <view class="list" v-for="(item, index) in FIFOlist" :key="index">
                    <uni-card :title="item.HMaterName" :extra="item.HMaterNumber" style="margin: 10px;"
                        @tap="delMater(item)">
                        <view class="card-detail">
                            <view class="detail">
                                <text>数量:</text>{{ item.HQty }}
                            </view>
                            <view class="detail">
                                <text>下架数量:</text>{{ item.HQtyMust }}
                            </view>
                            <view class="detail">
                                <text>仓库:</text>{{ item.HWhName }}
                            </view>
                            <view class="detail">
                                <text>仓位:</text>{{ item.HSPName }}
                            </view>
                            <view class="detail">
                                <text>规格型号:</text>{{ item.HMaterModel }}
                            </view>
                            <view class="detail" v-if="item.HBatchNo">
                                <text>批号:</text>{{ item.HBatchNo }}
                            </view>
                            <view class="detail" v-if="item.HAuxPropName">
                                <text>辅助属性:</text>{{ item.HAuxPropName }}
                            </view>
                        </view>
                    </uni-card>
                </view>
                <view class="over" v-if="FIFOlist.length == 0">暂无数据</view>
            </view>
            <view v-if="tabs == 3">
                <view class="form-item">
                    <view class="title">条码:</view>
                    <view class="righton">
                        <input name="HBarCode_B" disabled v-model="hform.HBarCode_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">物料:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HMaterName_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">规格:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HMaterModel_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">批次:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HBatchNo_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">单位:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HUnitName_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">数量:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HQty_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">容量:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HTMQty_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">仓库:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HWHName_B" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">仓位:</view>
                    <view class="righton">
                        <input disabled v-model="hform.HSPName_B" />
                    </view>
                </view>
            </view>
            <view class="bottom-btn">
                <button class="btn-a" size="mini" @tap="submit">提交</button>
                <view style="flex: 1;"></view>
                <button class="btn-a" size="mini" @tap="addNew">新增</button>
                <button class="btn-c" size="mini" @tap="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 BillListPopupVue from '../../components/BillListPopup/BillListPopup.vue';
    import BarCodePopupVue from "../../components/BarCodePopup/BarCodePopup.vue";
    import {
        CommonUtils
    } from '../../utils/common';
    import {
        getUserStockRelation
    } from "@/utils/userRelationManager.js"
    export default {
        data() {
            return {
                userInfo: getUserInfo(),
                serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
                HModName: 'Kf_MateOutBackBillList_PDA',
                ModRightName: 'CE_MateOutBack',
                OperationType: 1,
                HInterID_Temp: '',
                showHStockPlaceName: false,
                showHMainSourceBillType: true,
                showHSourceBillNo: true,
                reHSourceBillNo: true,
                showHSupName: true,
                barCodeFocus: false,
                HSourceBillNoFocus: false,
                tabs: 0,
                HMainSourceBillType: '生产用料清单',
                arrayHMainSourceBillType: ['生产用料清单', '生产领料单', '手工录入'],
                arrayHMainSourceBillValue: [3720, 1204, -1],
                linterid: '',
                HBillNo: '',
                btnType: 0, //0新增,1修改,2审核,3反审核
                showmore: false,
                arrayHWHName: [], //仓库
                HWHNameList: [],
                arrayHStockPlaceName: [], //仓位
                HStockPlaceNameList: [],
                arrayHSourceBillNo: [], //源单单号
                HSourceBillNoList: [],
                arrayHEmpName: [], //操作员
                HEmpNameList: [],
                arrayHDeptName: [], //部门
                HDeptNameList: [],
                arrayHSupName: [], //客户
                HSupNameList: [],
                Materlist: [],
                FIFOlist: [],
                hform: {
                    HBillType: 1244,
                    HBillerID: uni.getStorageSync('HBillerID'),
                    HRedBlueFlag: false,
                    HBarCode: '',
                    HQty: '',
                    HWHName: getUserInfo().HWHName,
                    HWHID: getUserInfo().HWhID,
                    HStockPlaceName: getUserInfo().HSPName,
                    HStockPlaceID: getUserInfo().HSPID,
                    HMainSourceBillType: 3720,
                    HSourceBillNo: '', //CGDD000200
                    HFIFOWHName: '',
                    HFIFOWHID: '',
                    HDate: getDateTime.dateTimeStr('y-m-d'),
                    HMaker: uni.getStorageSync('HUserName'),
                    HBillNo: '',
                    HInterID: '',
                    HKeeperName: getUserInfo().HKeeper,
                    HKeeperID: getUserInfo().HKeeperID,
                    HSecManagerName: getUserInfo().HSecManager,
                    HSecManagerID: getUserInfo().HSecManagerID,
                    HDeptName: getUserInfo().HDept,
                    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
        },
        onLoad(e) {
            console.log(e, this.userInfo)
            this.OperationType = e.OperationType
            if (e.HInterID) {
                this.HInterID_Temp = e.HInterID
                // this.btnType = 1
                this.barCodeFocus = true
                this.RoadBillMain(e.HInterID)
            } else {
                this.HSourceBillNoFocus = true
                this.getNewData()
            }
            // this.getHBaseList()
            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')
        },
        methods: {
            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()
                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.hform.HSourceBillNo = ""
                    this.HSourceBillNoFocus = true
                })
            },
            async refreshBarCodeState() {
                this.barCodeFocus = false
                await this.$nextTick(() => {
                    this.hform.HBarCode = ""
                    this.barCodeFocus = true
                })
            },
            onHSourceBillNoConfirmHandler() {
                if (this.hform.HMainSourceBillType == -1) {
                    // 手工录入不进行提交
                    this.playSound(1)
                    return
                }
                this.getHBarCodeData(this.hform.HSourceBillNo)
            },
            playSound(e) {
                const innerAudioContext = uni.createInnerAudioContext();
                if (e == 1) {
                    innerAudioContext.src = '/static/success.wav';
                } else {
                    innerAudioContext.src = '/static/jingbao.wav';
                }
                innerAudioContext.play(); // 播放音频
            },
            //扫码
            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)
                })
            },
            showBillList() {
                this.$refs.billList.showPopup()
            },
            //扫其他(仓库,仓位)
            // toScanData(e){
            //     uni.scanCode({
            //         onlyFromCamera: true,
            //         success: (res) => {
            //             console.log('条码内容:' + res.result);
            //             var code = res.result
            //             if(e == 1){
            //                 uni.request({
            //                     url: this.serverUrl + '/WEBSController/GetWarehouse_Json',
            //                     data: {HBarCode:code,HStockOrgID:uni.getStorageSync('OrganizationID')},
            //                     success: (res) => {
            //                         this.hform.HStockPlaceID = 0
            //                         this.hform.HStockPlaceName = ''
            //                         this.showHStockPlaceName = true
            //                         if(res.data.count == 1){
            //                             var data = res.data.data[0]
            //                             this.hform.HWHID = data.HItemID
            //                             this.hform.HWHName = data.HName
            //                             if (data.HSPFlag == 0) {
            //                                 this.showHStockPlaceName = false
            //                             }
            //                         }else{
            //                             this.hform.HWHID = 0
            //                             this.hform.HWHName = ''
            //                             uni.showToast({
            //                                 title:res.data.Message,
            //                                 icon:'none'
            //                             })
            //                         }
            //                     },
            //                     fail: (res) => {
            //                         console.log(res);
            //                         uni.showToast({
            //                             title:'仓库数据请求失败',
            //                             icon:'none'
            //                         })
            //                     },
            //                 });
            //             }else if(e == 2){
            //                 uni.request({
            //                     url: this.serverUrl + '/WEBSController/GetStockPlace_Json',
            //                     data: {HBarCode:code,HStockOrgID:uni.getStorageSync('OrganizationID'),HWhID: this.hform.HWHID},
            //                     success: (res) => {
            //                         if(res.data.count == 1){
            //                             var data = res.data.data[0]
            //                             this.hform.HWHID = data.HWHID
            //                             this.hform.HWHName = data.HWhName
            //                             this.hform.HStockPlaceID = data.HItemID
            //                             this.hform.HStockPlaceName = data.HName
            //                         }else{
            //                             this.hform.HWHID = 0
            //                             this.hform.HWHName = ''
            //                             this.hform.HStockPlaceID = 0
            //                             this.hform.HStockPlaceName = ''
            //                             uni.showToast({
            //                                 title:res.data.Message,
            //                                 icon:'none'
            //                             })
            //                         }
            //                     },
            //                     fail: (res) => {
            //                         console.log(res);
            //                         uni.showToast({
            //                             title:'仓库数据请求失败',
            //                             icon:'none'
            //                         })
            //                     },
            //                 });
            //             }
            //         }
            //     });
            // },
            //日期
            HDateChange(e) {
                console.log(e.detail.value)
                this.hform.HDate = e.detail.value
            },
            //基础仓库资料
            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].仓库名称
                            }
                        } else {
                            uni.showToast({
                                title: '仓库数据请求失败',
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
                uni.request({
                    url: this.serverUrl + '/Gy_StockPlace/list',
                    data: {
                        sWhere: "",
                        user: uni.getStorageSync('HUserName'),
                        Organization: uni.getStorageSync('Organization')
                    },
                    success: (res) => {
                        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'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
                // this.getHYDList()
            },
            // 通过单据类型获取源单类型
            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);
                            this.arrayHMainSourceBillType = []
                            this.arrayHMainSourceBillValue = []
                            Array.from(data).forEach(e => {
                                this.arrayHMainSourceBillType.push(e['HSourceBillTypeName'])
                                this.arrayHMainSourceBillValue.push(e['HSourceBillType'])
                            })
                            this.arrayHMainSourceBillType.push('手工录入')
                            this.arrayHMainSourceBillValue.push('-1')
                            this.HMainSourceBillType = this.arrayHMainSourceBillType[0]
                            this.hform.HMainSourceBillType = this.arrayHMainSourceBillValue[0]
                        } else {
                            uni.showToast({
                                icon: 'none',
                                title: Message
                            })
                        }
                    }
                })
            },
            //源单资料
            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 = 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
                        if (this.HWHNameList[i]['启用仓位'] == 'Y') {
                            this.showHStockPlaceName = true
                        } else {
                            this.hform.HStockPlaceName = ''
                            this.showHStockPlaceName = false
                        }
                    }
                }
            },
            HFIFOWHNameChange(e) {
                for (var i = 0; i < this.HWHNameList.length; i++) {
                    if (this.HWHNameList[i].仓库名称 == e) {
                        this.hform.HFIFOWHName = this.HWHNameList[i].仓库名称
                        this.hform.HFIFOWHID = this.HWHNameList[i].HItemID
                    }
                }
            },
            //选择仓位
            HStockPlaceNameChange(e) {
                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].HItemID
                    }
                }
            },
            //选择源单
            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() {
                uni.request({
                    url: this.serverUrl + '/Gy_Customer/list',
                    data: {
                        sWhere: "",
                        user: uni.getStorageSync('HUserName'),
                        Organization: uni.getStorageSync('Organization')
                    },
                    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].客户名称
                            }
                            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].客户名称 == e) {
                        this.hform.HSupID = this.HSupNameList[i].HItemID
                        this.hform.HSupName = this.HSupNameList[i].客户名称
                    }
                }
            },
            //获取使用部门数据
            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
                    },
                    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) {
                if (!this.hform.HFIFOWHName) {
                    this.hform.HFIFOWHID = 0
                }
                uni.request({
                    url: this.serverUrl + '/WEBSController/Get_SourceBarCode_MateOutBack_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,
                        HFIFOWHID: this.hform.HFIFOWHID,
                        HPTQty: this.hform.HPTQty || 0,
                        HPlanMode: this.hform.HPlanMode || 0
                    },
                    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
                            this.playSound(1)
                            this.DisBillEntryList()
                        } else {
                            this.playSound(0)
                            this.refreshHSourceBillState()
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        this.playSound(0)
                        this.refreshHSourceBillState()
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            //扫条码处理
            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 == "") {
                        this.playSound(0)
                        uni.showToast({
                            title: '请扫描要删除的条码',
                            icon: 'none'
                        })
                    } else {
                        uni.request({
                            url: this.serverUrl +
                                '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json',
                            data: {
                                HInterID: this.hform.HInterID,
                                HBillType: this.hform.HBillType,
                                HBarCode: sBarCode
                            },
                            success: (res) => {
                                console.log('删除条码', res.data);
                                this.hform.HBarCode = ''
                                if (res.data.count == 1) {
                                    this.playSound(1)
                                    this.hform.HQty = ''
                                    this.DisBillEntryList()
                                } else {
                                    this.playSound(0)
                                    this.refreshBarCodeState()
                                    uni.showToast({
                                        title: res.data.Message,
                                        icon: 'none'
                                    })
                                }
                            },
                            fail: (res) => {
                                this.playSound(0)
                                this.refreshBarCodeState()
                                console.log(res);
                                uni.showToast({
                                    title: '接口请求失败',
                                    icon: 'none'
                                })
                            },
                        });
                    }
                } else {
                    var sBarCode = this.hform.HBarCode
                    if (sHQty == "") {
                        sHQty = 0;
                    }
                    uni.request({
                        url: this.serverUrl + '/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: ""
                        },
                        success: (res) => {
                            console.log('扫码返回', res.data);
                            this.hform.HBarCode = ''
                            if (res.data.count == 1) {
                                this.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
                                    //获取源单类型、源单单号
                                    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.hSourceBillTypeField == "3710") {
                                    //                                this.HMainSourceBillType = '生产订单'
                                    //                                this.hform.HMainSourceBillType = 3710
                                    //                                this.showHMainSourceBillType = false
                                    //                            } else if (data.hSourceBillTypeField == "3711") {
                                    //                                this.HMainSourceBillType = '生产汇报单'
                                    //                                this.hform.HMainSourceBillType = 3711
                                    //                                this.showHMainSourceBillType = false
                                    //                            } else if (data.hSourceBillTypeField == "3714") {
                                    //                                this.HMainSourceBillType = '工序汇报单'
                                    //                                this.hform.HMainSourceBillType = 3714
                                    //                                this.showHMainSourceBillType = false
                                    //                            } else {
                                    //                                this.HMainSourceBillType = '手工录入'
                                    //                                this.hform.HMainSourceBillType = -1
                                    //                                this.showHMainSourceBillType = false
                                    //                            }
                                    if (data.hMulSourceFlagField == 0) {
                                        this.showHSourceBillNo = false
                                    }
                                    //客户不可编辑
                                    this.showHSupName = false
                                    this.tabs = 2
                                } else { //物料条码
                                    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.hSourceBillTypeField == "1103") {
                                        //     this.HMainSourceBillType = '收料通知单'
                                        //     this.hform.HMainSourceBillType = 1103
                                        //     this.showHMainSourceBillType = false
                                        // } else if (data.hSourceBillTypeField == "1102") {
                                        //     this.HMainSourceBillType = '采购订单'
                                        //     this.hform.HMainSourceBillType = 1102
                                        //     this.showHMainSourceBillType = false
                                        // } else {
                                        //     this.HMainSourceBillType = '手工录入'
                                        //     this.hform.HMainSourceBillType = -1
                                        //     this.showHMainSourceBillType = false
                                        // }
                                        if (data.hMulSourceFlagField == 0) {
                                            this.showHSourceBillNo = false
                                        }
                                        //供应商不可编辑
                                        this.showHSupName = false
                                    }
                                }
                                //显示表体明细
                                this.DisBillEntryList()
                                //清空数量
                                this.hform.HQty = ''
                                this.refreshBarCodeState()
                            } else {
                                this.playSound(0)
                                this.refreshBarCodeState()
                                uni.showToast({
                                    title: res.data.Message,
                                    icon: 'none'
                                })
                            }
                        },
                        fail: (res) => {
                            this.playSound(0)
                            this.refreshBarCodeState()
                            console.log(res);
                            uni.showToast({
                                title: '接口请求失败',
                                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.Materlist = data.Materlist
                            if (data.FIFOlist.length != 0) {
                                if (data.FIFOlist[0].HMaterID != 0) {
                                    this.FIFOlist = data.FIFOlist
                                }
                            }
                            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'
                        })
                    },
                });
            },
            //删除物料码
            delMater(item) {
                uni.showModal({
                    title: '提示',
                    content: '确认要删除 " ' + item.物料名称 + ' " 所有扫码记录?删除后将不可恢复!',
                    success: (res) => {
                        if (res.confirm) {
                            uni.request({
                                url: this.serverUrl +
                                    '/WEBSController/set_DelPonderationBillMain_Temp_InterIDAndSource_Json',
                                data: {
                                    HInterID: this.hform.HInterID,
                                    HMaterID: item.HMaterID,
                                    HAuxPropID: item.HAuxPropID,
                                    HMTONo: item.HMTONo,
                                    HSourceInterID: item.HSourceInterID,
                                    HSourceEntryID: item.HSourceEntryID,
                                    HBillType: this.hform.HBillType
                                },
                                success: (res) => {
                                    if (res.data.count == 1) {
                                        this.DisBillEntryList()
                                    } else {
                                        uni.showToast({
                                            title: res.data.Message,
                                            icon: 'none'
                                        })
                                    }
                                },
                                fail: (res) => {
                                    console.log(res);
                                    uni.showToast({
                                        title: '接口请求失败',
                                        icon: 'none'
                                    })
                                },
                            });
                        }
                    }
                });
            },
            //新增
            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 == 3710) {
                            //     this.hform.HMainSourceBillType = 3710
                            //     this.HMainSourceBillType = '生产订单'
                            //     this.showHSupName = false
                            // } else if (data.HSourceBillType == 3711) {
                            //     this.hform.HMainSourceBillType = 3711
                            //     this.HMainSourceBillType = '生产汇报单'
                            //     this.showHSupName = false
                            // } else if (data.HSourceBillType == 3714) {
                            //     this.hform.HMainSourceBillType = 3714
                            //     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.HCusName
                            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/shengchantuiliao/form?OperationType=1'
                })
            },
            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);
                        uni.request({
                            url: this.serverUrl + '/WEBSController/set_SaveMateOutBackBill_Json',
                            method: 'POST',
                            dataType: "json",
                            data: {
                                oMain: sMainStr
                            },
                            success: (res) => {
                                console.log(1, res);
                                uni.hideLoading()
                                if (res.data.count == 1) {
                                    uni.showModal({
                                        title: '提示',
                                        content: res.data.Message + '。是否继续新增?(点击取消返回上级页面)',
                                        success: (res) => {
                                            if (res.confirm) {
                                                console.log('用户点击确定');
                                                uni.redirectTo({
                                                    url: '/pages/shengchantuiliao/form?OperationType=1'
                                                })
                                            } else if (res.cancel) {
                                                console.log('用户点击取消');
                                                // setTimeout(() => {
                                                //     uni.navigateBack();
                                                // }, 500)
                                            }
                                        }
                                    });
                                } else {
                                    uni.showToast({
                                        title: res.data.Message,
                                        icon: 'none'
                                    })
                                }
                            },
                            fail: (res) => {
                                console.log(res);
                                uni.showToast({
                                    title: '接口请求失败',
                                    icon: 'none'
                                })
                            },
                        });
                    }
                }
            },
            goBack() {
                uni.showModal({
                    title: '提示',
                    content: '确认要退出当前页面吗?',
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
                            uni.navigateBack({
                                url: '/pages/shengchanlingliaoshengdan/table'
                            })
                        } else if (res.cancel) {
                            console.log('用户点击取消');
                        }
                    }
                });
            }
        }
    }
</script>
<style lang="scss" scoped>
    .form {
        width: 668rpx;
        margin: 20rpx auto;
        padding-bottom: 240rpx;
    }
    .tab_area {
        width: 100%;
        height: 50rpx;
    }
    .other {
        margin-top: 8rpx;
        text-align: center;
        font-size: 28rpx;
        padding: 4rpx 18rpx;
        color: #1890FF;
    }
    .tabs {
        width: 100%;
        display: flex;
        border-bottom: 1px solid #ddd;
        margin: 20rpx 0;
        view {
            width: 25%;
            font-size: 30rpx;
            color: #555;
            text-align: center;
            padding: 16rpx 0;
        }
        .on {
            color: #3a78ff;
            font-weight: bold;
            border-bottom: 3px solid #3a78ff;
        }
    }
    .form-item {
        display: flex;
        align-items: center;
        font-size: 30rpx;
        padding: 6rpx 0;
        gap: 12rpx;
        .title {
            width: 208rpx;
            flex-shrink: 0;
            text {
                color: red;
                font-weight: bold;
            }
        }
        .right {
            // width: 450rpx;
            flex: 1;
            border-radius: 22rpx;
            border: 1px solid #acacac;
            position: relative;
            display: flex;
            picker {
                width: 100%;
            }
            .uni-combox {
                width: 100%
            }
        }
        .righton {
            width: 450rpx;
            border-radius: 22rpx;
            border: 1px solid #e4e4e4;
            background-color: #e4e4e4;
        }
        input {
            width: 100%;
            padding: 8rpx 20rpx;
            font-size: 30rpx;
        }
        textarea {
            width: 98%;
            padding: 8rpx 20rpx;
            font-size: 30rpx;
        }
        .icon-wrapper {
            background-color: #3A78FF;
            padding: 6rpx;
            width: 40rpx;
            height: 40rpx;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-shrink: 0;
            .uni-icons {
                color: #fff !important;
            }
        }
        .icon-wrapper[disabled] {
            background-color: rgba(228, 228, 228, 1);
            pointer-events: none;
            touch-action: none;
        }
    }
    .bottom-btn {
        width: 100%;
        box-sizing: border-box;
        // height: 120rpx;
        position: fixed;
        bottom: 0;
        left: 0;
        background-color: #fff;
        box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
        padding: 30rpx 40rpx 40rpx 40rpx;
        display: flex;
        flex-direction: row;
        gap: 10rpx;
        button {
            border-radius: 50rpx;
            width: 180rpx;
            height: 66rpx;
            line-height: 66rpx;
            font-size: 28rpx;
        }
        .btn-a {
            background-color: #3A78FF;
            color: #fff;
        }
        .btn-b {
            background-color: #41a863;
            color: #fff;
        }
        .btn-c {
            background-color: #acacac;
            color: #fff;
            // position: absolute;
            // right: 120rpx;
        }
        .btn-d {
            background-color: #ff8901;
            color: #fff;
        }
    }
    .list {
        width: 100%;
        .card-detail {
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            line-height: 120%;
            .detail {
                // width: 50%;
                font-size: 26rpx;
                margin-bottom: 12rpx;
                color: #555;
                margin-right: 20rpx;
                text {
                    color: #999;
                    font-size: 26rpx;
                }
            }
        }
        .more {
            color: #888;
            font-size: 24rpx;
            display: flex;
            border-top: 1px solid #eee;
            padding-top: 20rpx;
            .part {
                width: 50%;
                text-align: center;
            }
        }
    }
</style>
pages/shengchantuiliao/table.vue
New file
@@ -0,0 +1,511 @@
<template>
    <view class="content">
        <view class="tabs">
            <view :class="tabs == 0 ? 'on':''" @tap="changeTab(0)">缓存列表</view>
            <view :class="tabs == 1 ? 'on':''" @tap="changeTab(1)">已上传列表</view>
        </view>
        <view style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view>
        <view class="form" v-if="tabs == 0">
            <view class="buttons" @tap="add">
                <uni-icons type="plus" style="margin-right: 10rpx;" size="22"></uni-icons>新增
            </view>
        </view>
        <view class="form" v-if="tabs == 1">
            <view class="form-item">
                <view class="title">单据号:</view>
                <view class="right">
                    <input v-model="hform.HBillNo" placeholder="请输入单据号" />
                </view>
            </view>
            <view class="form-item">
                <view class="title">源单单号:</view>
                <view class="right">
                    <input v-model="hform.HSourceBillNo" placeholder="请输入源单单号" />
                </view>
            </view>
            <view class="buttons">
                <button class="btn-a" size="mini" type="default" @tap="clear">重置</button>
                <button class="btn-c" size="mini" type="default" @tap="search">查询</button>
            </view>
        </view>
        <view style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view>
        <view class="list" v-for="(item,index) in showList" :key="index" v-if="tabs==0">
            <uni-card :title="item.制单日期.substr(0,10)" :extra="item.单据号" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index">
                <view class="card-detail">
                    <view class="detail" v-if="item.制单人">
                        <text>制单人:</text>{{item.制单人}}
                    </view>
                    <view class="detail" v-if="item.单据内码">
                        <text>单据内码:</text>{{item.单据内码}}
                    </view>
                    <view class="detail" v-if="item.数量">
                        <text>数量:</text>{{item.数量}}
                    </view>
                    <view class="detail" v-if="item.源单单号">
                        <text>源单单号:</text>{{item.源单单号}}
                    </view>
                    <view class="detail" v-if="item.组织">
                        <text>组织:</text>{{item.组织}}
                    </view>
                </view>
                <view class="more">
                    <view class="part" style="border-right: 1px solid #eee;color: #3a78ff;" @tap.stop="edit(item)">
                        <uni-icons type="compose" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>编辑
                    </view>
                    <view class="part" style="color: #da0000;" @tap.stop="del(item)">
                        <uni-icons type="trash" style="color: #da0000;margin-right: 10rpx;" size="18"></uni-icons>删除
                    </view>
                </view>
            </uni-card>
        </view>
        <view class="list" v-for="(item,index) in showList" :key="index" v-if="tabs==1">
            <uni-card :title="item.日期" :extra="item.单据号" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index">
                <view class="card-detail">
                    <view class="detail" v-if="item.状态">
                        <text>状态:</text>{{item.状态}}
                    </view>
                    <view class="detail" v-if="item.制单人">
                        <text>制单人:</text>{{item.制单人}}
                    </view>
                    <view class="detail" v-if="item.数量">
                        <text>数量:</text>{{item.数量}}
                    </view>
                    <view class="detail" v-if="item.源单单号">
                        <text>源单单号:</text>{{item.源单单号}}
                    </view>
                    <view class="detail" v-if="item.物料代码">
                        <text>物料代码:</text>{{item.物料代码}}
                    </view>
                    <view class="detail" v-if="item.物料名称">
                        <text>物料名称:</text>{{item.物料名称}}
                    </view>
                    <view class="detail" v-if="item.规格型号">
                        <text>规格型号:</text>{{item.规格型号}}
                    </view>
                    <view class="detail" v-if="item.组织">
                        <text>组织:</text>{{item.组织}}
                    </view>
                </view>
                <view class="more">
                    <view class="part" style="color: #3a78ff;width: 100%;" @tap.stop="qrCodeDisplay(item)">
                        <uni-icons type="scan" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>显示二维码
                    </view>
                    <view class="part" style="color: #d98d00;width: 100%;" @tap.stop="revoke(item)">
                        <uni-icons type="undo" style="color: #d98d00;margin-right: 10rpx;" size="18"></uni-icons>撤销
                    </view>
                </view>
            </uni-card>
        </view>
        <view class="over" v-if="!listData || listData.length == 0">暂无数据</view>
        <view class="over" v-if="listData.length != 0 && listData.length != showList.length">加载中...</view>
        <view class="over" v-if="listData.length != 0 && listData.length == showList.length">已到底</view>
        <BarCodePopupVue ref="barcodePopup"></BarCodePopupVue>
    </view>
</template>
<script>
    import { getUserInfo } from "@/utils/auth.js";
    import BarCodePopupVue from "../../components/BarCodePopup/BarCodePopup.vue";
    export default {
        data() {
            return {
                userInfo:getUserInfo(),
                serverUrl: uni.getStorageSync('serverUrl')||'http://47.96.97.237/API',
                tabs:0,
                urls:'/WEBSController/GetKf_PonderationBillMain_TempList_New_Json',
                MvarReportTitle:'生产领料单缓存列表',
                hform:{
                    HBillNo:'',
                    HSourceBillNo:'',
                    HBillType: 1244,
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                },
                sWhere:'',
                listData:[],
                showList:[],
                showDetail:-1,
                page:1,
            }
        },
        onShow() {
            //用户模块权限判断
            this.CheckModRight()
            this.changeTab(0)
            console.log(this.userInfo,uni.getStorageSync('HUserName'))
        },
        onReachBottom: function() {
            this.page++
            setTimeout(() => {
                this.showList = this.showList.concat(this.getPage(this.page,this.listData))
            }, 100)
        },
        onPullDownRefresh: function() {
            this.clear()
            setTimeout(()=>{
                uni.stopPullDownRefresh();
            }, 1000);
        },
        components: {
            BarCodePopupVue
        },
        methods: {
            async qrCodeDisplay(item) {
                this.$refs.barcodePopup.setCodeInfo(item.HBillNo)
                await this.$nextTick()
                this.$refs.barcodePopup.open()
            },
            CheckModRight(){
                uni.request({
                    url: this.serverUrl + '/WEBSController/CheckModRight_Json',
                    data:{
                        ModRightName: 'CE_MateOutBack',
                        HUserName: uni.getStorageSync('HUserName')
                    },
                    success: (res) => {
                        if(res.data.count == 1){}else{
                            uni.showToast({
                                title:res.data.Message,
                                icon:'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title:'接口请求失败',
                            icon:'none'
                        })
                    },
                });
            },
            getPage(page,list){
                let sindex = (parseInt(page) - 1) * 20
                let eindex = parseInt(page) * 20
                let newList = list.slice(sindex,eindex)
                return newList
            },
            changeTab(e){
                this.tabs = e
                this.page = 1
                this.showList = []
                if(this.tabs == 0){
                    this.urls = '/WEBSController/GetKf_PonderationBillMain_TempList_New_Json'
                }
                if(this.tabs == 1){
                    this.urls = '/WEBSController/GetKf_ICStockBillQueryList_User_Json'
                }
                this.getList()
            },
            getList(){
                uni.showLoading({
                    title:'加载中...'
                })
                uni.request({
                    url: this.serverUrl + this.urls,
                    data: this.hform,
                    success: (res) => {
                        console.log(1,res);
                        if(res.data.count == 1){
                            this.listData = res.data.data
                            this.showList = this.getPage(this.page,this.listData)
                            setTimeout(()=>{
                                 uni.hideLoading()
                            }, 1000)
                        }else{
                            uni.hideLoading()
                            this.listData = []
                            uni.showToast({
                                title:res.data.Message,
                                icon:'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.hideLoading()
                        uni.showToast({
                            title:'接口请求失败',
                            icon:'none'
                        })
                    },
                });
            },
            search(){
                this.sWhere = ''
                this.listData = []
                this.page = 1
                this.showList = []
                console.log(this.hform)
                // if (this.hform.HBillNo) {
                //     this.sWhere += " and 单据号 like '%" + this.hform.HBillNo + "%'";
                // }
                // if (this.hform.HSourceBillNo) {
                //     this.sWhere += " and 设备类型 like '%" + this.hform.HSourceBillNo + "%'";
                // }
                this.getList()
            },
            clear(){
                this.listData = []
                this.page = 1
                this.showList = []
                this.sWhere = ''
                this.hform = {
                    HBillNo:'',
                    HSourceBillNo:'',
                    HBillType: 1244,
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                }
                this.getList()
            },
            add(){
                uni.navigateTo({
                    url:'./form?OperationType=1'
                })
            },
            //编辑
            edit(item){
                console.log(item)
                uni.request({
                    url: this.serverUrl + '/WEBSController/TempList_Modify_Json',
                    data:{ "HInterID": item.HInterID, "HBillNo": item.单据号, "HBillType": this.hform.HBillType },
                    success: (res) => {
                        console.log(1,res);
                        if(res.data.count == 1){
                            uni.navigateTo({
                                url:'./form?OperationType=2&HInterID=' + item.HInterID
                            })
                        }else{
                            uni.showToast({
                                title:res.data.Message,
                                icon:'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.hideLoading()
                        uni.showToast({
                            title:'接口请求失败',
                            icon:'none'
                        })
                    },
                })
            },
            //删除
            del(item){
                // console.log(item.hmainid,uni.getStorageSync('HUserName'))
                uni.showModal({
                    title: '提示',
                    content: '确认要删除记录?删除后不能恢复',
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
                            uni.request({
                                url: this.serverUrl + '/WEBSController/set_DelPonderationBillMain_Temp_New_Json',
                                data:{
                                    HInterID: item.HInterID,
                                    HBillNo: item.单据号,
                                    HBillType: this.hform.HBillType,
                                    HMaker: uni.getStorageSync('HUserName'),
                                    MvarReportTitle:this.MvarReportTitle,
                                },
                                success: (res) => {
                                    console.log(1,res);
                                    if(res.data.count == 1){
                                        this.clear()
                                    }
                                    uni.showToast({
                                        title:res.data.Message,
                                        icon:'none'
                                    })
                                },
                                fail: (res) => {
                                    console.log(res);
                                    uni.hideLoading()
                                    uni.showToast({
                                        title:'接口请求失败',
                                        icon:'none'
                                    })
                                },
                            });
                        } else if (res.cancel) {
                            console.log('用户点击取消');
                        }
                    }
                });
            },
            //撤销
            revoke(item){
                // console.log(item.hmainid,uni.getStorageSync('HUserName'))
                uni.showModal({
                    title: '提示',
                    content: '是否确认撤销',
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
                            uni.request({
                                url: this.serverUrl + '/WEBSController/set_DeleteICStockBillAndWMS_Json',
                                data:{
                                    HInterID: item.HInterID,
                                    HBillNo: item.单据号,
                                    HBillType: this.hform.HBillType,
                                    HMaker: uni.getStorageSync('HUserName'),
                                    MvarReportTitle:this.MvarReportTitle,
                                },
                                success: (res) => {
                                    console.log(1,res);
                                    if(res.data.count == 1){
                                        this.clear()
                                    }
                                    uni.showToast({
                                        title:res.data.Message,
                                        icon:'none'
                                    })
                                },
                                fail: (res) => {
                                    console.log(res);
                                    uni.hideLoading()
                                    uni.showToast({
                                        title:'接口请求失败',
                                        icon:'none'
                                    })
                                },
                            });
                        } else if (res.cancel) {
                            console.log('用户点击取消');
                        }
                    }
                });
            },
        }
    }
</script>
<style lang="scss" scoped>
    .form{
        width: 640rpx;
        margin: 20rpx auto;
        margin-top: 90rpx;
    }
    .tabs{
        width: 100%;
        position: fixed;
        left: 0;
        z-index: 9;
        display: flex;
        background-color: #e5e5e5;
        view{
            width: 50%;
            font-size: 30rpx;
            color: #333;
            text-align: center;
            padding: 16rpx 0;
        }
        .on{
            color: #3a78ff;
            font-weight: bold;
            border-bottom: 3px solid #3a78ff;
        }
    }
    .buttons{
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 20rpx;
        button{
            border-radius: 50rpx;
            width: 180rpx;
            height: 66rpx;
            line-height: 66rpx;
            font-size: 28rpx;
        }
        .btn-a{
            background-color: #acacac;
            color: #fff;
        }
        .btn-b{
            background-color: #41a863;
            color: #fff;
        }
        .btn-c{
            background-color: #3a78ff;
            color: #fff;
        }
    }
    .form-item{
        display: flex;
        align-items: center;
        font-size: 28rpx;
        padding: 6rpx 0;
        .title{
            width: 180rpx;
            text{
                color: red;
                font-weight: bold;
            }
        }
        .right{
            width: 450rpx;
            border-radius: 22rpx;
            border: 1px solid #acacac;
        }
        .righton{
            width: 450rpx;
            border-radius: 22rpx;
            border: 1px solid #e4e4e4;
            background-color: #e4e4e4;
        }
        input{
            width: 100%;
            padding: 8rpx 20rpx;
            font-size: 30rpx;
        }
    }
    .list{
        width: 100%;
        .card-detail{
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            line-height: 120%;
            .detail{
                // width: 50%;
                font-size: 26rpx;
                margin-bottom: 12rpx;
                color: #555;
                margin-right: 20rpx;
                text{
                    color: #999;
                    font-size: 26rpx;
                }
            }
        }
        .more{
            color: #888;
            font-size: 26rpx;
            display: flex;
            border-top: 1px solid #eee;
            padding-top: 20rpx;
            .part{
                width: 50%;
                display: flex;align-items: center;justify-content: center;
            }
        }
    }
</style>
pages/xiaoshouchuku/form.vue
@@ -1589,6 +1589,7 @@
        .title {
            width: 208rpx;
            flex-shrink: 0;
            text {
                color: red;