1
chenhaozhe
2025-07-17 0d60f8c83fdcd6295ad61f98ae4d96e1f3e46e96
1
8个文件已修改
4881 ■■■■■ 已修改文件
pages.json 577 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/caigourukujiaoyan/form.vue 935 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/caigourukujiaoyan/table.vue 515 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/index.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/qitarukujiaoyan/form.vue 926 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/qitarukujiaoyan/table.vue 492 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/weiwaibuliaojiaoyan/form.vue 926 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/weiwaibuliaojiaoyan/table.vue 492 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json
@@ -2,7 +2,7 @@
    "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
        {
            "path": "pages/index/login",
            "style": {
                "navigationBarTitleText": "登录",
                "navigationStyle": "custom"
@@ -164,7 +164,7 @@
                "navigationBarTitleText": "首件检验单",
                "enablePullDownRefresh": true
            }
        },{
        }, {
            "path": "pages/gongxuIn/form",
            "style": {
                "navigationBarTitleText": "工序进站接收单"
@@ -176,7 +176,7 @@
                "navigationBarTitleText": "工序进站接收单",
                "enablePullDownRefresh": true
            }
        },{
        }, {
            "path": "pages/gongxuOut/form",
            "style": {
                "navigationBarTitleText": "工序出站汇报单"
@@ -372,298 +372,287 @@
            }
        },
        {
                    "path": "pages/labelPrinter/index",
                    "style": {
                        "navigationBarTitleText": "标签打印"
                    }
                },
                {
                    "path": "pages/shebeiyunxingzhuangtai/shebeiyunxingzhuangtai",
                    "style": {
                        "navigationBarTitleText": "设备运行状态",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path": "pages/shebeiyunxingzhuangtai/detail",
                    "style": {
                        "navigationBarTitleText": "设备运行状态详情"
                    }
                },
                {
                    "path": "pages/mujvzhuangtai/mujvzhuangtai",
                    "style": {
                        "navigationBarTitleText": "模具状态分布",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path": "pages/mujvzhuangtai/detail",
                    "style": {
                        "navigationBarTitleText": "模具状态详情"
                    }
                },
                {
                    "path": "pages/tiaomachaima/tiaomachaima",
                    "style": {
                        "navigationBarTitleText": "条码拆码"
                    }
                },
                {
                    "path": "pages/wuliaosaoma/wuliaosaoma",
                    "style": {
                        "navigationBarTitleText": "物料清单"
                    }
                },
                {
                    "path": "pages/wuliaosaoma/detail",
                    "style": {
                        "navigationBarTitleText": "条码档案"
                    }
                },
                {
                    "path": "pages/caigouruku/table",
                    "style": {
                        "navigationBarTitleText": "采购入库",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path": "pages/caigouruku/form",
                    "style": {
                        "navigationBarTitleText": "采购入库单"
                    }
                },
                {
                    "path": "pages/caigoutuiliao/table",
                    "style": {
                        "navigationBarTitleText": "采购退料",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path": "pages/caigoutuiliao/form",
                    "style": {
                        "navigationBarTitleText": "采购退料单"
                    }
                },
                {
                    "path": "pages/xiaoshouchuku/table",
                    "style": {
                        "navigationBarTitleText": "销售出库",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path": "pages/xiaoshouchuku/form",
                    "style": {
                        "navigationBarTitleText": "销售出库单"
                    }
                },
                {
                    "path": "pages/xiaoshoutuihuo/table",
                    "style": {
                        "navigationBarTitleText": "销售退货",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path": "pages/xiaoshoutuihuo/form",
                    "style": {
                        "navigationBarTitleText": "销售退货单"
                    }
                },
                {
                    "path": "pages/qitachuku/qitachuku",
                    "style": {
                        "navigationBarTitleText": "其他出库",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path": "pages/qitachuku/form",
                    "style": {
                        "navigationBarTitleText": "其他出库单"
                    }
                },
                {
                    "path": "pages/qitaruku/qitaruku",
                    "style": {
                        "navigationBarTitleText": "其他入库",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path": "pages/qitaruku/form",
                    "style": {
                        "navigationBarTitleText": "其他入库单"
                    }
                },
                {
                    "path": "pages/tiaomadaying/tiaomadaying",
                    "style": {
                        "navigationBarTitleText": "来料条码打印"
                    }
                },
                {
                    "path": "pages/caigoudingdan/generate",
                    "style": {
                        "navigationBarTitleText": "条码生成"
                    }
                },
                {
                    "path": "pages/caigoudingdan/caigoudingdan",
                    "style": {
                        "navigationBarTitleText": "采购订单"
                    }
                },
                {
                    "path" : "pages/MJGL/shangmudan/table",
                    "style" :
                    {
                        "navigationBarTitleText" : "上模单"
                    }
                },
                {
                    "path" : "pages/MJGL/shangmudan/form",
                    "style" :
                    {
                        "navigationBarTitleText" : "上模单"
                    }
                },
                {
                    "path" : "pages/qitachukujiaoyan/qitachukujiaoyan",
                    "style" :
                    {
                        "navigationBarTitleText" : "其他出库校验",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path" : "pages/qitachukujiaoyan/detail",
                    "style" :
                    {
                        "navigationBarTitleText" : "其他出库单校验"
                    }
                },
                {
                    "path" : "pages/shengchanbuliaojiaoyan/CacheList",
                    "style" :
                    {
                        "navigationBarTitleText" : "生产补料校验",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path" : "pages/shengchanbuliaojiaoyan/form",
                    "style" :
                    {
                        "navigationBarTitleText" : "生产补料单校验"
                    }
                },
                {
                    "path" : "pages/xiaoshouchukujiaoyan/table",
                    "style" :
                    {
                        "navigationBarTitleText" : "销售出库校验",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path" : "pages/xiaoshouchukujiaoyan/form",
                    "style" :
                    {
                        "navigationBarTitleText" : "销售出库单校验"
                    }
                },
                {
                    "path" : "pages/weiwailingliaojiaoyan/table",
                    "style" :
                    {
                        "navigationBarTitleText" : "委外领料校验",
                        "enablePullDownRefresh": true
                    }
                },
                {
                    "path" : "pages/weiwailingliaojiaoyan/form",
                    "style" :
                    {
                        "navigationBarTitleText" : "委外领料单校验"
                    }
                },
                {
                    "path" : "pages/caigourukujiaoyan/table",
                    "style" :
                    {
                        "navigationBarTitleText" : "采购入库校验"
                    }
                },
                {
                    "path" : "pages/caigourukujiaoyan/form",
                    "style" :
                    {
                        "navigationBarTitleText" : "采购入库单校验"
                    }
                },
                {
                    "path" : "pages/qitarukujiaoyan/table",
                    "style" :
                    {
                        "navigationBarTitleText" : "其他入库校验"
                    }
                },
                {
                    "path" : "pages/qitarukujiaoyan/form",
                    "style" :
                    {
                        "navigationBarTitleText" : "其他入库单校验"
                    }
                },
                {
                    "path" : "pages/weiwaibuliaojiaoyan/table",
                    "style" :
                    {
                        "navigationBarTitleText" : "委外补料校验"
                    }
                },
                {
                    "path" : "pages/weiwaibuliaojiaoyan/form",
                    "style" :
                    {
                        "navigationBarTitleText" : "委外补料单校验"
                    }
                }
            "path": "pages/labelPrinter/index",
            "style": {
                "navigationBarTitleText": "标签打印"
            }
        },
        {
            "path": "pages/shebeiyunxingzhuangtai/shebeiyunxingzhuangtai",
            "style": {
                "navigationBarTitleText": "设备运行状态",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/shebeiyunxingzhuangtai/detail",
            "style": {
                "navigationBarTitleText": "设备运行状态详情"
            }
        },
        {
            "path": "pages/mujvzhuangtai/mujvzhuangtai",
            "style": {
                "navigationBarTitleText": "模具状态分布",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/mujvzhuangtai/detail",
            "style": {
                "navigationBarTitleText": "模具状态详情"
            }
        },
        {
            "path": "pages/tiaomachaima/tiaomachaima",
            "style": {
                "navigationBarTitleText": "条码拆码"
            }
        },
        {
            "path": "pages/wuliaosaoma/wuliaosaoma",
            "style": {
                "navigationBarTitleText": "物料清单"
            }
        },
        {
            "path": "pages/wuliaosaoma/detail",
            "style": {
                "navigationBarTitleText": "条码档案"
            }
        },
        {
            "path": "pages/caigouruku/table",
            "style": {
                "navigationBarTitleText": "采购入库",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/caigouruku/form",
            "style": {
                "navigationBarTitleText": "采购入库单"
            }
        },
        {
            "path": "pages/caigoutuiliao/table",
            "style": {
                "navigationBarTitleText": "采购退料",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/caigoutuiliao/form",
            "style": {
                "navigationBarTitleText": "采购退料单"
            }
        },
        {
            "path": "pages/xiaoshouchuku/table",
            "style": {
                "navigationBarTitleText": "销售出库",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/xiaoshouchuku/form",
            "style": {
                "navigationBarTitleText": "销售出库单"
            }
        },
        {
            "path": "pages/xiaoshoutuihuo/table",
            "style": {
                "navigationBarTitleText": "销售退货",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/xiaoshoutuihuo/form",
            "style": {
                "navigationBarTitleText": "销售退货单"
            }
        },
        {
            "path": "pages/qitachuku/qitachuku",
            "style": {
                "navigationBarTitleText": "其他出库",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/qitachuku/form",
            "style": {
                "navigationBarTitleText": "其他出库单"
            }
        },
        {
            "path": "pages/qitaruku/qitaruku",
            "style": {
                "navigationBarTitleText": "其他入库",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/qitaruku/form",
            "style": {
                "navigationBarTitleText": "其他入库单"
            }
        },
        {
            "path": "pages/tiaomadaying/tiaomadaying",
            "style": {
                "navigationBarTitleText": "来料条码打印"
            }
        },
        {
            "path": "pages/caigoudingdan/generate",
            "style": {
                "navigationBarTitleText": "条码生成"
            }
        },
        {
            "path": "pages/caigoudingdan/caigoudingdan",
            "style": {
                "navigationBarTitleText": "采购订单"
            }
        },
        {
            "path": "pages/MJGL/shangmudan/table",
            "style": {
                "navigationBarTitleText": "上模单"
            }
        },
        {
            "path": "pages/MJGL/shangmudan/form",
            "style": {
                "navigationBarTitleText": "上模单"
            }
        },
        {
            "path": "pages/qitachukujiaoyan/qitachukujiaoyan",
            "style": {
                "navigationBarTitleText": "其他出库校验",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/qitachukujiaoyan/detail",
            "style": {
                "navigationBarTitleText": "其他出库单校验"
            }
        },
        {
            "path": "pages/shengchanbuliaojiaoyan/CacheList",
            "style": {
                "navigationBarTitleText": "生产补料校验",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/shengchanbuliaojiaoyan/form",
            "style": {
                "navigationBarTitleText": "生产补料单校验"
            }
        },
        {
            "path": "pages/xiaoshouchukujiaoyan/table",
            "style": {
                "navigationBarTitleText": "销售出库校验",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/xiaoshouchukujiaoyan/form",
            "style": {
                "navigationBarTitleText": "销售出库单校验"
            }
        },
        {
            "path": "pages/weiwailingliaojiaoyan/table",
            "style": {
                "navigationBarTitleText": "委外领料校验",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/weiwailingliaojiaoyan/form",
            "style": {
                "navigationBarTitleText": "委外领料单校验"
            }
        },
        {
            "path": "pages/caigourukujiaoyan/table",
            "style": {
                "navigationBarTitleText": "采购入库校验",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/caigourukujiaoyan/form",
            "style": {
                "navigationBarTitleText": "采购入库单校验",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/qitarukujiaoyan/table",
            "style": {
                "navigationBarTitleText": "其他入库校验",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/qitarukujiaoyan/form",
            "style": {
                "navigationBarTitleText": "其他入库单校验"
            }
        },
        {
            "path": "pages/weiwaibuliaojiaoyan/table",
            "style": {
                "navigationBarTitleText": "委外补料校验",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/weiwaibuliaojiaoyan/form",
            "style": {
                "navigationBarTitleText": "委外补料单校验"
            }
        }
    ],
    "tabBar": {
         "color": "#888888", //tab 上的文字默认颜色,仅支持十六进制颜色
         "selectedColor": "#2d7dee", //tab 上的文字选中时的颜色,仅支持十六进制颜色
         "borderStyle": "black", //tabbar上边框的颜色, 仅支持 black / white
         "backgroundColor": "#ffffff", //tab 的背景色,仅支持十六进制颜色
         "list": [{
             "pagePath": "pages/index/index",
             "iconPath":"static/tabBar/home.png",
             "selectedIconPath":"static/tabBar/home-default.png",
             "text": "首页"
         },
         {
             "pagePath": "pages/index/tab1",
             "iconPath":"static/tabBar/icon1.png",
             "selectedIconPath":"static/tabBar/icon1-default.png",
             "text": "模块功能"
         },
         {
             "pagePath": "pages/index/tab2",
             "iconPath":"static/tabBar/icon2.png",
             "selectedIconPath":"static/tabBar/icon2-default.png",
             "text": "报表中心"
         },
         {
            "pagePath": "pages/index/mine",
            "iconPath":"static/tabBar/user.png",
            "selectedIconPath":"static/tabBar/user-default.png",
            "text": "我的"
         }]
     },
        "color": "#888888", //tab 上的文字默认颜色,仅支持十六进制颜色
        "selectedColor": "#2d7dee", //tab 上的文字选中时的颜色,仅支持十六进制颜色
        "borderStyle": "black", //tabbar上边框的颜色, 仅支持 black / white
        "backgroundColor": "#ffffff", //tab 的背景色,仅支持十六进制颜色
        "list": [{
                "pagePath": "pages/index/index",
                "iconPath": "static/tabBar/home.png",
                "selectedIconPath": "static/tabBar/home-default.png",
                "text": "首页"
            },
            {
                "pagePath": "pages/index/tab1",
                "iconPath": "static/tabBar/icon1.png",
                "selectedIconPath": "static/tabBar/icon1-default.png",
                "text": "模块功能"
            },
            {
                "pagePath": "pages/index/tab2",
                "iconPath": "static/tabBar/icon2.png",
                "selectedIconPath": "static/tabBar/icon2-default.png",
                "text": "报表中心"
            },
            {
                "pagePath": "pages/index/mine",
                "iconPath": "static/tabBar/user.png",
                "selectedIconPath": "static/tabBar/user-default.png",
                "text": "我的"
            }
        ]
    },
    "globalStyle": {
        "navigationBarTextStyle": "white",
        "navigationBarTitleText": "设备管理",
@@ -672,4 +661,4 @@
        "pageOrientation": "default"
    },
    "uniIdRouter": {}
}
}
pages/caigourukujiaoyan/form.vue
@@ -1,22 +1,947 @@
<template>
    <view>
        <view class="form">
            <view class="form-item">
                <view class="title">条码:</view>
                <view class="right">
                    <input v-model="hform.HBarCode" placeholder="请扫描(或输入)条码" @confirm="getCode(hform.HBarCode)" />
                </view>
                <uni-icons type="scan"
                    style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;"
                    size="20" @click="toScanCode"></uni-icons>
            </view>
            <view class="form-item">
                <view class="title">数量:</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" >
                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="请输入(或扫描)仓位"
                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
                </view>
                <!-- <view class="righton"><input v-model="hform.HStockPlaceName"
                      disabled 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>
            <view v-if="tabs == 1">
                <view class="form-item" v-show="showHBillNo">
                    <view class="title">单据号:</view>
                    <view class="right" style="width: 380rpx;">
                        <input name="HBillNo" v-model="hform.HBillNo" placeholder="请扫描(或输入)条码"
                            @confirm="GetMeesageByBillNo(hform.HBarCode)" />
                    </view>
                    <uni-icons type="scan"
                        style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;"
                        size="20" @click="toScanBillCode"></uni-icons>
                </view>
                <view class="form-item" v-show="!showHBillNo">
                    <view class="title">单据号:</view>
                    <view class="righton">
                        <input name="HBillNo" disabled v-model="hform.HBillNo" />
                    </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 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="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" v-if="item.规格型号">
                                <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 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 == 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>
                <button class="btn-c" size="mini" @tap="goBack">退出</button>
            </view>
        </view>
    </view>
</template>
<script>
    import getDateTime from '@/utils/getdateTime.js';
    import {
        getUserInfo
    } from "@/utils/auth.js";
    import {
        CommonUtils
    } from "@/utils/common.js"
    export default {
        data() {
            return {
                userInfo: getUserInfo(),
                serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
                HModName: 'Kf_POStockInBill_CheckList_PDA',
                ModRightName: 'CE_POStockInCheck',
                OperationType: 1,
                
                showHBillNo: true,
                tabs: 1,
                linterid: '',
                HBillNo: '',
                arrayHWHName: [], //仓库
                HWHNameList: [],
                arrayHStockPlaceName: [], //仓位
                HStockPlaceNameList: [],
                Materlist: [],
                hform: {
                    HBillType: 1206,
                    HBillerID: uni.getStorageSync('HBillerID'),
                    HRedBlueFlag: false,
                    HBarCode: '',
                    HQty: '',
                    HWHName: getUserInfo().HWHName,
                    HWHID: getUserInfo().HWhID,
                    HStockPlaceName: getUserInfo().HSPName,
                    HStockPlaceID: getUserInfo().HSPID,
                    HBillNo: '',
                    HInterID: '',
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgName: uni.getStorageSync('Organization'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                    HSourceBarCodeCtl: "N", //是否进行源单对应条码核对('Y'为核对)
                    chkHBarflag: 1,
                    HBarflag: 'Y',
                    HBarCode_B: '',
                    HMaterName_B: '',
                    HMaterModel_B: '',
                    HBatchNo_B: '',
                    HUnitName_B: '',
                    HQty_B: '',
                    HTMQty_B: '',
                    HWHName_B: '',
                    HSPName_B: '',
                }
            }
        },
        onLoad(e) {
            console.log(e, this.userInfo)
            this.OperationType = e.OperationType
            if (e.HBillNo) {
                this.hform.HBillNo = e.HBillNo
                this.GetMeesageByBillNo(e.HBillNo)
            } else {
                // this.getNewData()
            }
            this.getHBaseList()
        },
        methods: {
            //扫码
            toScanCode() {
                uni.scanCode({
                    onlyFromCamera: true,
                    success: (res) => {
                        console.log('条码内容:' + res.result);
                        // if(this.hform.HBarCode == '*'){
                        //     this.hform.HBarCode = this.hform.HBarCode + res.result
                        // }else{
                        //     this.hform.HBarCode = res.result
                        // }
                        this.hform.HBarCode = res.result
                        // this.GetMeesageByBillNo(this.hform.HBarCode)
                        this.getCode(this.hform.HBarCode)
                    }
                });
            },
            toScanBillCode() {
                uni.scanCode({
                    onlyFromCamera: true,
                    success: (res) => {
                        console.log('条码内容:' + res.result);
                        // if(this.hform.HBarCode == '*'){
                        //     this.hform.HBarCode = this.hform.HBarCode + res.result
                        // }else{
                        //     this.hform.HBarCode = res.result
                        // }
                        this.hform.HBillNo = res.result
                        this.GetMeesageByBillNo(this.hform.HBillNo)
                    }
                });
            },
            //扫描单据号条码
            GetMeesageByBillNo(e) {
                uni.request({
                    url: this.serverUrl + '/WEBSController/get_BillBarCode_BillCheck_Json',
                    data: {
                        HBillNo: this.hform.HBillNo,
                        HBillType: this.hform.HBillType,
                        HMaker: this.hform.HMaker,
                        HStockOrgID: this.hform.HStockOrgID
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            var data = res.data.data
                            console.log('单据信息: ', data)
                            this.hform.HInterID = data.hInterIDField
                            this.hform.HBillNo = data.hBillNoField
                            this.showHBillNo = false
                            //条码核对标记
                            if (data.hSourceBarCodeFlagField) {
                                this.hform.HSourceBarCodeCtl = "Y"
                                this.hform.chkHBarflag = true
                                this.hform.HBarflag = data
                            }
                            this.tabs = 2
                            this.DisBillEntryList();
                        } else {
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                            this.hform.HBillNo = ''
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            //基础仓库资料
            getHBaseList() {
                uni.request({
                    url: this.serverUrl + '/Gy_Warehouse/list',
                    data: {
                        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'
                        })
                    },
                });
            },
            //选择仓库
            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
                    }
                }
            },
            //选择仓位
            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
                    }
                }
            },
            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 == "") {
                        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.hform.HQty = ''
                                    this.DisBillEntryList()
                                } else {
                                    uni.showToast({
                                        title: res.data.Message,
                                        icon: 'none'
                                    })
                                }
                            },
                            fail: (res) => {
                                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) {
                                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
                                    //获取源单类型、源单单号
                                    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.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
                                        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 = ''
                            } else {
                                uni.showToast({
                                    title: res.data.Message,
                                    icon: 'none'
                                })
                            }
                        },
                        fail: (res) => {
                            console.log(res);
                            uni.showToast({
                                title: '接口请求失败',
                                icon: 'none'
                            })
                        },
                    });
                }
            },
            //物料信息
            DisBillEntryList() {
                uni.request({
                    url: this.serverUrl + '/WEBSController/GetKf_PonderationBillMain_Temp_BillCheck_New_Json',
                    data: {
                        HInterID: this.hform.HInterID,
                        HBillType: this.hform.HBillType,
                        HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl,
                        sWhere: ''
                    },
                    success: (res) => {
                        console.log('物料', res.data)
                        if (res.data.count == 1) {
                            var data = res.data.data
                            this.Materlist = data.Materlist
                            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_DeleteBarCodeByEntryID_BillCheck_New_Json',
                                data: {
                                    HInterID: this.hform.HInterID,
                                    HBillType: this.hform.HBillType,
                                    HSourceInterID: item.HSourceInterID,
                                    HSourceEntryID: item.HSourceEntryID,
                                    HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl
                                },
                                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'
                                    })
                                },
                            });
                        }
                    }
                });
            },
            submit() {
                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_SavePOStockInBill_BillCheck_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/caigourukujiaoyan/form?OperationType=1'
                                                })
                                            } else if (res.cancel) {
                                                console.log('用户点击取消');
                                                setTimeout(() => {
                                                    uni.navigateBack();
                                                }, 50)
                                            }
                                        }
                                    });
                                } else {
                                    // uni.showToast({
                                    //     title: res.data.Message,
                                    //     icon: 'none'
                                    // })
                                    uni.showModal({
                                        title: '温馨提示',
                                        content: res.data.Message,
                                        showCancel: false
                                    })
                                }
                            },
                            fail: (res) => {
                                console.log(res);
                                uni.showToast({
                                    title: '接口请求失败',
                                    icon: 'none'
                                })
                            },
                        });
                    }
                }
            },
            goBack() {
                uni.showModal({
                    title: '提示',
                    content: '确认要退出当前页面吗?',
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
                            uni.redirectTo({
                                url: '/pages/qitachukujiaoyan/qitachukujiaoyan'
                            })
                        } else if (res.cancel) {
                            console.log('用户点击取消');
                        }
                    }
                });
            }
        }
    }
</script>
<style>
<style lang="scss" scoped>
    .form {
        width: 668rpx;
        margin: 20rpx auto;
        padding-bottom: 240rpx;
    }
</style>
    .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;
            flex: 1;
        }
        .on {
            color: #3a78ff;
            font-weight: bold;
            border-bottom: 3px solid #3a78ff;
        }
    }
    .form-item {
        display: flex;
        align-items: center;
        font-size: 30rpx;
        padding: 6rpx 0;
        .title {
            width: 208rpx;
            text {
                color: red;
                font-weight: bold;
            }
        }
        .right {
            flex: 1;
            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;
        }
        textarea {
            width: 98%;
            padding: 8rpx 20rpx;
            font-size: 30rpx;
        }
    }
    .bottom-btn {
        width: 100%;
        // 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;
        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/caigourukujiaoyan/table.vue
@@ -1,22 +1,525 @@
<template>
    <view>
    <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>
                <view class="more">
                    <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>
    </view>
</template>
<script>
    import {
        getUserInfo
    } from "@/utils/auth.js";
    export default {
        data() {
            return {
                userInfo: getUserInfo(),
                serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
                tabs: 0,
                urls: '/WEBSController/GetKf_PonderationBillMain_TempList_BillCheck_Json',
                MvarReportTitle: '采购入库单校验缓存列表',
                hform: {
                    HBillNo: '',
                    HSourceBillNo: '',
                    HBillType: 1201,
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                },
                sWhere: '',
                listData: [],
                showList: [],
                showDetail: -1,
                page: 1,
            }
        },
        onLoad() {
            //用户模块权限判断
            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);
        },
        methods: {
            CheckModRight() {
                uni.request({
                    url: this.serverUrl + '/WEBSController/CheckModRight_Json',
                    data: {
                        ModRightName: 'CE_POStockInCheck',
                        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_BillCheck_Json'
                }
                if (this.tabs == 1) {
                    this.urls = '/WEBSController/GetKf_ICStockBillQueryList_User_BillCheck_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: 1201,
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                }
                this.getList()
            },
            add() {
                uni.navigateTo({
                    url: './form?OperationType=1'
                })
            },
            //编辑
            edit(item) {
                console.log(item)
                uni.navigateTo({
                    url: './form?OperationType=2&HBillNo=' + item.HBillNo
                })
                //             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){
                //                     }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/DeleteTempBillList_BillCheck_Json',
                                data: {
                                    HInterID: item.HInterID,
                                    HBillNo: item.单据号,
                                    HBillType: this.hform.HBillType,
                                    HMaker: uni.getStorageSync('HUserName'),
                                    HStockOrgID: this.hform.HStockOrgID,
                                    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_BillCheck_Json',
                                data: {
                                    HInterID: item.HInterID,
                                    HBillNo: item.单据号,
                                    HBillType: this.hform.HBillType,
                                    HMaker: uni.getStorageSync('HUserName'),
                                    HStockOrgID: this.hform.HStockOrgID,
                                    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>
<style lang="scss" scoped>
    .form {
        width: 640rpx;
        margin: 20rpx auto;
        margin-top: 90rpx;
    }
</style>
    .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/index/index.vue
@@ -221,6 +221,24 @@
                        url: '/pages/weiwailingliaojiaoyan/table',
                        id: 34,
                    },
                    {
                        img: '../../static/icon/icon16.png',
                        text: '采购入库校验',
                        url: '/pages/caigourukujiaoyan/table',
                        id: 35,
                    },
                    {
                        img: '../../static/icon/icon16.png',
                        text: '其他入库校验',
                        url: '/pages/qitarukujiaoyan/table',
                        id: 36,
                    },
                    {
                        img: '../../static/icon/icon16.png',
                        text: '委外补料校验',
                        url: '/pages/weiwaibuliaojiaoyan/table',
                        id: 37,
                    },
                ]
            }
        },
pages/qitarukujiaoyan/form.vue
@@ -1,22 +1,938 @@
<template>
    <view>
        <view class="form">
            <view class="form-item">
                <view class="title">条码:</view>
                <view class="right">
                    <input v-model="hform.HBarCode" placeholder="请扫描(或输入)条码" @confirm="getCode(hform.HBarCode)" />
                </view>
                <uni-icons type="scan"
                    style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;"
                    size="20" @click="toScanCode"></uni-icons>
            </view>
            <view class="form-item">
                <view class="title">数量:</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" >
                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="请输入(或扫描)仓位"
                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
                </view>
                <!-- <view class="righton"><input v-model="hform.HStockPlaceName"
                      disabled 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>
            <view v-if="tabs == 1">
                <view class="form-item" v-show="showHBillNo">
                    <view class="title">单据号:</view>
                    <view class="right" style="width: 380rpx;">
                        <input name="HBillNo" v-model="hform.HBillNo" placeholder="请扫描(或输入)条码"
                            @confirm="GetMeesageByBillNo(hform.HBarCode)" />
                    </view>
                    <uni-icons type="scan"
                        style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;"
                        size="20" @click="toScanBillCode"></uni-icons>
                </view>
                <view class="form-item" v-show="!showHBillNo">
                    <view class="title">单据号:</view>
                    <view class="righton">
                        <input name="HBillNo" disabled v-model="hform.HBillNo" />
                    </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 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="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" v-if="item.规格型号">
                                <text>规格型号:</text>{{item.规格型号}}
                            </view>
                            <view class="detail">
                                <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 == 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>
                <button class="btn-c" size="mini" @tap="goBack">退出</button>
            </view>
        </view>
    </view>
</template>
<script>
    import getDateTime from '@/utils/getdateTime.js';
    import {
        getUserInfo
    } from "@/utils/auth.js";
    import {
        CommonUtils
    } from "@/utils/common.js"
    export default {
        data() {
            return {
                userInfo: getUserInfo(),
                serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
                HModName: 'Kf_OtherInBill_CheckList_PDA',
                ModRightName: 'CE_OtherInCheck',
                OperationType: 1,
                
                showHBillNo: true,
                tabs: 1,
                linterid: '',
                HBillNo: '',
                arrayHWHName: [], //仓库
                HWHNameList: [],
                arrayHStockPlaceName: [], //仓位
                HStockPlaceNameList: [],
                Materlist: [],
                hform: {
                    HBillType: 1203,
                    HBillerID: uni.getStorageSync('HBillerID'),
                    HRedBlueFlag: false,
                    HBarCode: '',
                    HQty: '',
                    HWHName: getUserInfo().HWHName,
                    HWHID: getUserInfo().HWhID,
                    HStockPlaceName: getUserInfo().HSPName,
                    HStockPlaceID: getUserInfo().HSPID,
                    HBillNo: '',
                    HInterID: '',
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgName: uni.getStorageSync('Organization'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                    HSourceBarCodeCtl: "N", //是否进行源单对应条码核对('Y'为核对)
                    chkHBarflag: 1,
                    HBarflag: 'Y',
                    HBarCode_B: '',
                    HMaterName_B: '',
                    HMaterModel_B: '',
                    HBatchNo_B: '',
                    HUnitName_B: '',
                    HQty_B: '',
                    HTMQty_B: '',
                    HWHName_B: '',
                    HSPName_B: '',
                }
            }
        },
        onLoad(e) {
            console.log(e, this.userInfo)
            this.OperationType = e.OperationType
            if (e.HBillNo) {
                this.hform.HBillNo = e.HBillNo
                this.GetMeesageByBillNo(e.HBillNo)
            } else {
                // this.getNewData()
            }
            this.getHBaseList()
        },
        methods: {
            //扫码
            toScanCode() {
                uni.scanCode({
                    onlyFromCamera: true,
                    success: (res) => {
                        console.log('条码内容:' + res.result);
                        // if(this.hform.HBarCode == '*'){
                        //     this.hform.HBarCode = this.hform.HBarCode + res.result
                        // }else{
                        //     this.hform.HBarCode = res.result
                        // }
                        this.hform.HBarCode = res.result
                        // this.GetMeesageByBillNo(this.hform.HBarCode)
                        this.getCode(this.hform.HBarCode)
                    }
                });
            },
            toScanBillCode() {
                uni.scanCode({
                    onlyFromCamera: true,
                    success: (res) => {
                        console.log('条码内容:' + res.result);
                        // if(this.hform.HBarCode == '*'){
                        //     this.hform.HBarCode = this.hform.HBarCode + res.result
                        // }else{
                        //     this.hform.HBarCode = res.result
                        // }
                        this.hform.HBillNo = res.result
                        this.GetMeesageByBillNo(this.hform.HBillNo)
                    }
                });
            },
            //扫描单据号条码
            GetMeesageByBillNo(e) {
                uni.request({
                    url: this.serverUrl + '/WEBSController/get_BillBarCode_BillCheck_Json',
                    data: {
                        HBillNo: this.hform.HBillNo,
                        HBillType: this.hform.HBillType,
                        HMaker: this.hform.HMaker,
                        HStockOrgID: this.hform.HStockOrgID
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            var data = res.data.data
                            console.log('单据信息: ', data)
                            this.hform.HInterID = data.hInterIDField
                            this.hform.HBillNo = data.hBillNoField
                            this.showHBillNo = false
                            //条码核对标记
                            if (data.hSourceBarCodeFlagField) {
                                this.hform.HSourceBarCodeCtl = "Y"
                                this.hform.chkHBarflag = true
                                this.hform.HBarflag = data
                            }
                            this.tabs = 2
                            this.DisBillEntryList();
                        } else {
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                            this.hform.HBillNo = ''
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            //基础仓库资料
            getHBaseList() {
                uni.request({
                    url: this.serverUrl + '/Gy_Warehouse/list',
                    data: {
                        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'
                        })
                    },
                });
            },
            //选择仓库
            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
                    }
                }
            },
            //选择仓位
            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
                    }
                }
            },
            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 == "") {
                        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.hform.HQty = ''
                                    this.DisBillEntryList()
                                } else {
                                    uni.showToast({
                                        title: res.data.Message,
                                        icon: 'none'
                                    })
                                }
                            },
                            fail: (res) => {
                                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) {
                                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
                                    //获取源单类型、源单单号
                                    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.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
                                        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 = ''
                            } else {
                                uni.showToast({
                                    title: res.data.Message,
                                    icon: 'none'
                                })
                            }
                        },
                        fail: (res) => {
                            console.log(res);
                            uni.showToast({
                                title: '接口请求失败',
                                icon: 'none'
                            })
                        },
                    });
                }
            },
            //物料信息
            DisBillEntryList() {
                uni.request({
                    url: this.serverUrl + '/WEBSController/GetKf_PonderationBillMain_Temp_BillCheck_New_Json',
                    data: {
                        HInterID: this.hform.HInterID,
                        HBillType: this.hform.HBillType,
                        HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl,
                        sWhere: ''
                    },
                    success: (res) => {
                        console.log('物料', res.data)
                        if (res.data.count == 1) {
                            var data = res.data.data
                            this.Materlist = data.Materlist
                            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_DeleteBarCodeByEntryID_BillCheck_New_Json',
                                data: {
                                    HInterID: this.hform.HInterID,
                                    HBillType: this.hform.HBillType,
                                    HSourceInterID: item.HSourceInterID,
                                    HSourceEntryID: item.HSourceEntryID,
                                    HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl
                                },
                                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'
                                    })
                                },
                            });
                        }
                    }
                });
            },
            submit() {
                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_SaveOtherInBill_BillCheck_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/qitaruku/form?OperationType=1'
                                                })
                                            } else if (res.cancel) {
                                                console.log('用户点击取消');
                                                setTimeout(() => {
                                                    uni.navigateBack();
                                                }, 50)
                                            }
                                        }
                                    });
                                } else {
                                    // uni.showToast({
                                    //     title: res.data.Message,
                                    //     icon: 'none'
                                    // })
                                    uni.showModal({
                                        title: '温馨提示',
                                        content: res.data.Message,
                                        showCancel: false
                                    })
                                }
                            },
                            fail: (res) => {
                                console.log(res);
                                uni.showToast({
                                    title: '接口请求失败',
                                    icon: 'none'
                                })
                            },
                        });
                    }
                }
            },
            goBack() {
                uni.showModal({
                    title: '提示',
                    content: '确认要退出当前页面吗?',
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
                            uni.redirectTo({
                                url: '/pages/qitaruku/table'
                            })
                        } else if (res.cancel) {
                            console.log('用户点击取消');
                        }
                    }
                });
            }
        }
    }
</script>
<style>
<style lang="scss" scoped>
    .form {
        width: 668rpx;
        margin: 20rpx auto;
        padding-bottom: 240rpx;
    }
</style>
    .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;
            flex: 1;
        }
        .on {
            color: #3a78ff;
            font-weight: bold;
            border-bottom: 3px solid #3a78ff;
        }
    }
    .form-item {
        display: flex;
        align-items: center;
        font-size: 30rpx;
        padding: 6rpx 0;
        .title {
            width: 208rpx;
            text {
                color: red;
                font-weight: bold;
            }
        }
        .right {
            flex: 1;
            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;
        }
        textarea {
            width: 98%;
            padding: 8rpx 20rpx;
            font-size: 30rpx;
        }
    }
    .bottom-btn {
        width: 100%;
        // 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;
        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/qitarukujiaoyan/table.vue
@@ -1,22 +1,498 @@
<template>
    <view>
    <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>
                <view class="more">
                    <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>
    </view>
</template>
<script>
    import { getUserInfo } from "@/utils/auth.js";
    export default {
        data() {
            return {
        data() {
            return {
                userInfo:getUserInfo(),
                serverUrl: uni.getStorageSync('serverUrl')||'http://47.96.97.237/API',
                tabs: 0,
                urls:'/WEBSController/GetKf_PonderationBillMain_TempList_BillCheck_Json',
                MvarReportTitle:'生产补料单校验缓存列表',
                hform:{
                    HBillNo:'',
                    HSourceBillNo:'',
                    HBillType: 1203,
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                },
                sWhere:'',
                listData:[],
                showList:[],
                showDetail:-1,
                
            }
                page:1,
            }
        },
        onLoad() {
            //用户模块权限判断
            this.CheckModRight()
            this.changeTab(0)
            console.log(this.userInfo,uni.getStorageSync('HUserName'))
        },
        methods: {
        }
        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);
        },
        methods: {
            CheckModRight(){
                uni.request({
                    url: this.serverUrl + '/WEBSController/CheckModRight_Json',
                    data:{
                        ModRightName: 'CE_OtherInCheck',
                        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_BillCheck_Json'
                }
                if(this.tabs == 1){
                    this.urls = '/WEBSController/GetKf_ICStockBillQueryList_User_BillCheck_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: 1203,
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                }
                this.getList()
            },
            add(){
                uni.navigateTo({
                    url:'./form?OperationType=1'
                })
            },
            //编辑
            edit(item){
                console.log(item)
                uni.navigateTo({
                    url:'./form?OperationType=2&HBillNo=' + item.HBillNo
                })
    //             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){
    //                     }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/DeleteTempBillList_BillCheck_Json',
                                data:{
                                    HInterID: item.HInterID,
                                    HBillNo: item.单据号,
                                    HBillType: this.hform.HBillType,
                                    HMaker: uni.getStorageSync('HUserName'),
                                    HStockOrgID:this.hform.HStockOrgID,
                                    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_BillCheck_Json',
                                data:{
                                    HInterID: item.HInterID,
                                    HBillNo: item.单据号,
                                    HBillType: this.hform.HBillType,
                                    HMaker: uni.getStorageSync('HUserName'),
                                    HStockOrgID:this.hform.HStockOrgID,
                                    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>
<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/weiwaibuliaojiaoyan/form.vue
@@ -1,22 +1,938 @@
<template>
    <view>
        <view class="form">
            <view class="form-item">
                <view class="title">条码:</view>
                <view class="right">
                    <input v-model="hform.HBarCode" placeholder="请扫描(或输入)条码" @confirm="getCode(hform.HBarCode)" />
                </view>
                <uni-icons type="scan"
                    style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;"
                    size="20" @click="toScanCode"></uni-icons>
            </view>
            <view class="form-item">
                <view class="title">数量:</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" >
                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="请输入(或扫描)仓位"
                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
                </view>
                <!-- <view class="righton"><input v-model="hform.HStockPlaceName"
                      disabled 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>
            <view v-if="tabs == 1">
                <view class="form-item" v-show="showHBillNo">
                    <view class="title">单据号:</view>
                    <view class="right" style="width: 380rpx;">
                        <input name="HBillNo" v-model="hform.HBillNo" placeholder="请扫描(或输入)条码"
                            @confirm="GetMeesageByBillNo(hform.HBarCode)" />
                    </view>
                    <uni-icons type="scan"
                        style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;"
                        size="20" @click="toScanBillCode"></uni-icons>
                </view>
                <view class="form-item" v-show="!showHBillNo">
                    <view class="title">单据号:</view>
                    <view class="righton">
                        <input name="HBillNo" disabled v-model="hform.HBillNo" />
                    </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 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="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" v-if="item.规格型号">
                                <text>规格型号:</text>{{item.规格型号}}
                            </view>
                            <view class="detail">
                                <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 == 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>
                <button class="btn-c" size="mini" @tap="goBack">退出</button>
            </view>
        </view>
    </view>
</template>
<script>
    import getDateTime from '@/utils/getdateTime.js';
    import {
        getUserInfo
    } from "@/utils/auth.js";
    import {
        CommonUtils
    } from "@/utils/common.js"
    export default {
        data() {
            return {
                userInfo: getUserInfo(),
                serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
                HModName: 'Kf_EntrustReplenishOutBill_Check_PDA',
                ModRightName: 'CE_EntrustReplenishOutCheck',
                OperationType: 1,
                
                showHBillNo: true,
                tabs: 1,
                linterid: '',
                HBillNo: '',
                arrayHWHName: [], //仓库
                HWHNameList: [],
                arrayHStockPlaceName: [], //仓位
                HStockPlaceNameList: [],
                Materlist: [],
                hform: {
                    HBillType: 1255,
                    HBillerID: uni.getStorageSync('HBillerID'),
                    HRedBlueFlag: false,
                    HBarCode: '',
                    HQty: '',
                    HWHName: getUserInfo().HWHName,
                    HWHID: getUserInfo().HWhID,
                    HStockPlaceName: getUserInfo().HSPName,
                    HStockPlaceID: getUserInfo().HSPID,
                    HBillNo: '',
                    HInterID: '',
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgName: uni.getStorageSync('Organization'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                    HSourceBarCodeCtl: "N", //是否进行源单对应条码核对('Y'为核对)
                    chkHBarflag: 1,
                    HBarflag: 'Y',
                    HBarCode_B: '',
                    HMaterName_B: '',
                    HMaterModel_B: '',
                    HBatchNo_B: '',
                    HUnitName_B: '',
                    HQty_B: '',
                    HTMQty_B: '',
                    HWHName_B: '',
                    HSPName_B: '',
                }
            }
        },
        onLoad(e) {
            console.log(e, this.userInfo)
            this.OperationType = e.OperationType
            if (e.HBillNo) {
                this.hform.HBillNo = e.HBillNo
                this.GetMeesageByBillNo(e.HBillNo)
            } else {
                // this.getNewData()
            }
            this.getHBaseList()
        },
        methods: {
            //扫码
            toScanCode() {
                uni.scanCode({
                    onlyFromCamera: true,
                    success: (res) => {
                        console.log('条码内容:' + res.result);
                        // if(this.hform.HBarCode == '*'){
                        //     this.hform.HBarCode = this.hform.HBarCode + res.result
                        // }else{
                        //     this.hform.HBarCode = res.result
                        // }
                        this.hform.HBarCode = res.result
                        // this.GetMeesageByBillNo(this.hform.HBarCode)
                        this.getCode(this.hform.HBarCode)
                    }
                });
            },
            toScanBillCode() {
                uni.scanCode({
                    onlyFromCamera: true,
                    success: (res) => {
                        console.log('条码内容:' + res.result);
                        // if(this.hform.HBarCode == '*'){
                        //     this.hform.HBarCode = this.hform.HBarCode + res.result
                        // }else{
                        //     this.hform.HBarCode = res.result
                        // }
                        this.hform.HBillNo = res.result
                        this.GetMeesageByBillNo(this.hform.HBillNo)
                    }
                });
            },
            //扫描单据号条码
            GetMeesageByBillNo(e) {
                uni.request({
                    url: this.serverUrl + '/WEBSController/get_BillBarCode_BillCheck_Json',
                    data: {
                        HBillNo: this.hform.HBillNo,
                        HBillType: this.hform.HBillType,
                        HMaker: this.hform.HMaker,
                        HStockOrgID: this.hform.HStockOrgID
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            var data = res.data.data
                            console.log('单据信息: ', data)
                            this.hform.HInterID = data.hInterIDField
                            this.hform.HBillNo = data.hBillNoField
                            this.showHBillNo = false
                            //条码核对标记
                            if (data.hSourceBarCodeFlagField) {
                                this.hform.HSourceBarCodeCtl = "Y"
                                this.hform.chkHBarflag = true
                                this.hform.HBarflag = data
                            }
                            this.tabs = 2
                            this.DisBillEntryList();
                        } else {
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                            this.hform.HBillNo = ''
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            //基础仓库资料
            getHBaseList() {
                uni.request({
                    url: this.serverUrl + '/Gy_Warehouse/list',
                    data: {
                        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'
                        })
                    },
                });
            },
            //选择仓库
            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
                    }
                }
            },
            //选择仓位
            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
                    }
                }
            },
            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 == "") {
                        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.hform.HQty = ''
                                    this.DisBillEntryList()
                                } else {
                                    uni.showToast({
                                        title: res.data.Message,
                                        icon: 'none'
                                    })
                                }
                            },
                            fail: (res) => {
                                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) {
                                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
                                    //获取源单类型、源单单号
                                    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.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
                                        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 = ''
                            } else {
                                uni.showToast({
                                    title: res.data.Message,
                                    icon: 'none'
                                })
                            }
                        },
                        fail: (res) => {
                            console.log(res);
                            uni.showToast({
                                title: '接口请求失败',
                                icon: 'none'
                            })
                        },
                    });
                }
            },
            //物料信息
            DisBillEntryList() {
                uni.request({
                    url: this.serverUrl + '/WEBSController/GetKf_PonderationBillMain_Temp_BillCheck_New_Json',
                    data: {
                        HInterID: this.hform.HInterID,
                        HBillType: this.hform.HBillType,
                        HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl,
                        sWhere: ''
                    },
                    success: (res) => {
                        console.log('物料', res.data)
                        if (res.data.count == 1) {
                            var data = res.data.data
                            this.Materlist = data.Materlist
                            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_DeleteBarCodeByEntryID_BillCheck_New_Json',
                                data: {
                                    HInterID: this.hform.HInterID,
                                    HBillType: this.hform.HBillType,
                                    HSourceInterID: item.HSourceInterID,
                                    HSourceEntryID: item.HSourceEntryID,
                                    HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl
                                },
                                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'
                                    })
                                },
                            });
                        }
                    }
                });
            },
            submit() {
                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_SaveSellOutBill_BillCheck_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/shengchanlingliao/form?OperationType=1'
                                                })
                                            } else if (res.cancel) {
                                                console.log('用户点击取消');
                                                setTimeout(() => {
                                                    uni.navigateBack();
                                                }, 50)
                                            }
                                        }
                                    });
                                } else {
                                    // uni.showToast({
                                    //     title: res.data.Message,
                                    //     icon: 'none'
                                    // })
                                    uni.showModal({
                                        title: '温馨提示',
                                        content: res.data.Message,
                                        showCancel: false
                                    })
                                }
                            },
                            fail: (res) => {
                                console.log(res);
                                uni.showToast({
                                    title: '接口请求失败',
                                    icon: 'none'
                                })
                            },
                        });
                    }
                }
            },
            goBack() {
                uni.showModal({
                    title: '提示',
                    content: '确认要退出当前页面吗?',
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
                            uni.redirectTo({
                                url: '/pages/qitachukujiaoyan/qitachukujiaoyan'
                            })
                        } else if (res.cancel) {
                            console.log('用户点击取消');
                        }
                    }
                });
            }
        }
    }
</script>
<style>
<style lang="scss" scoped>
    .form {
        width: 668rpx;
        margin: 20rpx auto;
        padding-bottom: 240rpx;
    }
</style>
    .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;
            flex: 1;
        }
        .on {
            color: #3a78ff;
            font-weight: bold;
            border-bottom: 3px solid #3a78ff;
        }
    }
    .form-item {
        display: flex;
        align-items: center;
        font-size: 30rpx;
        padding: 6rpx 0;
        .title {
            width: 208rpx;
            text {
                color: red;
                font-weight: bold;
            }
        }
        .right {
            flex: 1;
            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;
        }
        textarea {
            width: 98%;
            padding: 8rpx 20rpx;
            font-size: 30rpx;
        }
    }
    .bottom-btn {
        width: 100%;
        // 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;
        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/weiwaibuliaojiaoyan/table.vue
@@ -1,22 +1,498 @@
<template>
    <view>
    <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>
                <view class="more">
                    <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>
    </view>
</template>
<script>
    import { getUserInfo } from "@/utils/auth.js";
    export default {
        data() {
            return {
        data() {
            return {
                userInfo:getUserInfo(),
                serverUrl: uni.getStorageSync('serverUrl')||'http://47.96.97.237/API',
                tabs: 0,
                urls:'/WEBSController/GetKf_PonderationBillMain_TempList_BillCheck_Json',
                MvarReportTitle:'生产补料单校验缓存列表',
                hform:{
                    HBillNo:'',
                    HSourceBillNo:'',
                    HBillType: 1255,
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                },
                sWhere:'',
                listData:[],
                showList:[],
                showDetail:-1,
                
            }
                page:1,
            }
        },
        onLoad() {
            //用户模块权限判断
            this.CheckModRight()
            this.changeTab(0)
            console.log(this.userInfo,uni.getStorageSync('HUserName'))
        },
        methods: {
        }
        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);
        },
        methods: {
            CheckModRight(){
                uni.request({
                    url: this.serverUrl + '/WEBSController/CheckModRight_Json',
                    data:{
                        ModRightName: 'CE_EntrustReplenishOutCheck',
                        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_BillCheck_Json'
                }
                if(this.tabs == 1){
                    this.urls = '/WEBSController/GetKf_ICStockBillQueryList_User_BillCheck_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: 1255,
                    HMaker: uni.getStorageSync('HUserName'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                }
                this.getList()
            },
            add(){
                uni.navigateTo({
                    url:'./form?OperationType=1'
                })
            },
            //编辑
            edit(item){
                console.log(item)
                uni.navigateTo({
                    url:'./form?OperationType=2&HBillNo=' + item.HBillNo
                })
    //             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){
    //                     }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/DeleteTempBillList_BillCheck_Json',
                                data:{
                                    HInterID: item.HInterID,
                                    HBillNo: item.单据号,
                                    HBillType: this.hform.HBillType,
                                    HMaker: uni.getStorageSync('HUserName'),
                                    HStockOrgID:this.hform.HStockOrgID,
                                    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_BillCheck_Json',
                                data:{
                                    HInterID: item.HInterID,
                                    HBillNo: item.单据号,
                                    HBillType: this.hform.HBillType,
                                    HMaker: uni.getStorageSync('HUserName'),
                                    HStockOrgID:this.hform.HStockOrgID,
                                    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>
<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>