1.其他出库优化
2.销售出库优化
3.委外领料申请(未完成)
4.采购退货优化
5.物料分区
已修改6个文件
已添加3个文件
509 ■■■■■ 文件已修改
H5/Js/Qtck.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Js/Wwck.js 273 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Js/Xsck.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/PurchaseReturn.aspx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Qtck.aspx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Scll.aspx 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Wwck.aspx 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Wwck.aspx.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Xsck.aspx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Js/Qtck.js
@@ -147,6 +147,10 @@
                        //that.ItemBlDetail = json.data.tbBillList;
                        that.$refs.barcode.focus();
                        that.barcode = "";
                        // é‡ç½®æ‰€æœ‰è¡Œçš„选中状态
                        that.currentIndex = -1;
                        that.ItemBarKw = [];
                    }
                    else {
                        that.$toast.fail(json.message);
H5/Js/Wwck.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,273 @@
var vm = new Vue({
    el: '#app',
    data: function () {
        return {
            isLoading: false,
            userInfo: {
                "loginGuid": '',
                "loginAccount": '',
            },
            modeInfo: { daa001: "", planNo: "" },
            scanInfo: { barcodeNum: "", splitNum: "", barcode: "" },
            ItemDetail: [],
            ip: "",
            port: "",
            oldBarInfo: [],
            cfBarInfo: [],
            selectKey: "",//查询关键字
            actions: [],//列表的值
            show: false,//列表展示
            // å½“前选中行的索引
            currentIndex: -1,
            // å­˜å‚¨é€‰ä¸­è¡Œæ•°æ®å¯¹è±¡
            selItem: {},
            ItemBarKw: [],//当天行相关条码库位信息
            DaaInfo: {},
        }
    },
    mounted() {
        var that = this;
        this.userInfo = {
            loginGuid: this.GetLoginInfor().loginGuid,
            loginAccount: this.GetLoginInfor().loginAccount,
        };
    },
    methods: {
        /**
        * å¤„理行点击事件(单选逻辑)
        * @param {Object} item å½“前行数据
        * @param {Number} index å½“前行索引
        */
        handleRowClick(item, index) {
            if (this.isLoading) {
                return;
            }
            // é‡ç½®æ‰€æœ‰è¡Œçš„选中状态
            this.currentIndex = -1;
            // è®¾ç½®å½“前选中行
            this.currentIndex = index;
            this.selItem = {
                itemid: item.itemId,//驼峰命名法
                index: index
            };
            console.log('当前选中项:', this.selItem); // è°ƒè¯•用
            this.GetBarKwByItem();
        },
        //获取库位信息
        GetBarKwByItem() {
            //Womdaa
            //WwGd
            var that = this;
            that.isLoading = true;
            that.AxiosHttp("post", 'Womdaa/GetBarKwByItem', {
                itemId: that.selItem.itemid,
                userName: that.userInfo.loginAccount
            }, false)
                .then(function (res) {
                    var json = res;
                    if (json.status == 0) {
                        that.ItemBarKw = json.data.tbBillList;
                    }
                    else {
                        that.$toast.fail(json.message);
                        that.$playSound('error');
                        that.ItemBarKw = [];
                    }
                    that.isLoading = false;
                })
                .catch(function (error) {
                    that.isLoading = false;
                    that.$toast.fail("网络错误,请重试!");
                    that.$playSound('error');
                    console.log(error);
                    that.ItemBarKw = [];
                });
        },
        getModel() {
            var that = this;
            that.isLoading = true;
            that.AxiosHttp("post", 'WwGd/GetItemsByDaa001', {
                daa001: that.modeInfo.daa001,
                userName: that.userInfo.loginAccount
            }, false)
                .then(function (res) {
                    var json = res;
                    if (json.status == 0) {
                        that.ItemDetail = json.data.tbBillList;
                        that.DaaInfo = json.data.tbBillList.daaInfo;
                        that.modeInfo.planNo = json.data.tbBillList.planNo;
                        that.modeInfo.startTime = json.data.tbBillList.startTime;
                        that.$refs.barcode.focus();
                    }
                    else {
                        that.$toast.fail(json.message);
                        that.$playSound('error');
                        that.$refs.daa001.focus();
                        that.modeInfo.daa001 = "";
                        that.modeInfo.planNo = "";
                        that.modeInfo.startTime = "";
                        that.ItemDetail = [];
                    }
                    that.isLoading = false;
                })
                .catch(function (error) {
                    that.isLoading = false;
                    that.$toast.fail("网络错误,请重试!");
                    console.log(error);
                    that.$refs.daa001.focus();
                    that.modeInfo.daa001 = "";
                });
        },
        //扫码
        getScan() {
            var that = this;
            if (that.modeInfo.daa001.length <= 0) {
                that.$toast.fail("委外工单不能为空!");
                return;
            }
            that.isLoading = true;
            that.AxiosHttp("post", 'WwGd/ScanCode', {
                daa001: that.modeInfo.daa001,
                userName: that.userInfo.loginAccount,
                barcode: that.scanInfo.barcode,
            }, false)
                .then(function (res) {
                    var json = res;
                    if (json.status == 0) {
                        // that.scanInfo = json.data.tbBillList;
                        that.$notify({ type: 'success', message: json.message });
                        that.getModel();
                        that.$refs.barcode.focus();
                        that.scanInfo.barcode = null;
                    }
                    else if (json.status == 2) {
                        that.$refs.splitNum.focus();
                        that.scanInfo.splitNum = json.data.tbBillList.splitNum;
                        that.scanInfo.barcodeNum = json.data.tbBillList.barcodeNum;
                    }
                    else {
                        that.$toast.fail(json.message);
                        that.$refs.barcode.focus();
                    }
                    //that.$notify({ type: 'success', message: json.message });
                    that.isLoading = false;
                })
                .catch(function (error) {
                    that.isLoading = false;
                    that.$toast.fail("网络错误,请重试!");
                    console.log(error);
                    that.$refs.barcode.focus();
                });
        },
        //拆分
        getChaiFen() {
            var that = this;
            if (that.modeInfo.daa001.length <= 0) {
                that.$toast.fail("委外工单号不能为空!");
                return;
            }
            if (that.scanInfo.splitNum * 1 <= 0) {
                that.$toast.fail("拆分数量不能为空!");
                return;
            }
            if (that.scanInfo.barcode.length * 1 <= 0) {
                that.$toast.fail("物料条码不能为空!");
                return;
            }
            that.isLoading = true;
            that.AxiosHttp("post", 'WwGd/ScanCodeCF', {
                daa001: that.modeInfo.daa001,
                userName: that.userInfo.loginAccount,
                barcode: that.scanInfo.barcode,
                Num: that.scanInfo.splitNum,
            }, false)
                .then(function (res) {
                    var json = res;
                    if (json.status == 0) {
                        //  that.modeInfo = json.data.tbBillList;
                        that.$notify({ type: 'success', message: json.message });
                        that.getModel();
                        that.$refs.barcode.focus();
                        that.scanInfo.barcode = null;
                        that.scanInfo.barcodeNum = "";
                        that.scanInfo.splitNum = "";
                    }
                    else {
                        that.$toast.fail(json.message);
                        that.$refs.splitNum.focus();
                    }
                    that.isLoading = false;
                })
                .catch(function (error) {
                    that.isLoading = false;
                    that.$toast.fail("网络错误,请重试!");
                    console.log(error);
                    that.$refs.splitNum.focus();
                });
        },
        //获取工单信息
        getInfo() {
            this.show = true;
            var that = this;
            that.actions = [];
            that.isLoading = true;
            that.AxiosHttp("post", 'WwGd/GetWWCKsq', {//WwGd/GetXcslDaa
                type: '委外领料',
                selectKey: that.selectKey,
            }, false)
                .then(function (res) {
                    var json = res;
                    if (json.status == 0) {
                        if (json.data.tbBillList.length <= 0) {
                            that.$toast.fail("没有可用的数据");
                            that.$playSound('error');
                        } else {
                            that.itemInfo = json.data.tbBillList;
                            that.actions = json.data.tbBillList.map(item => {
                                return {
                                    name: item.daaInfo,  // æ‹¼æŽ¥å­—段
                                    subname: item.startTime
                                };
                            });
                        }
                    }
                    else {
                        that.$toast.fail(json.message);
                        that.$playSound('error');
                    }
                    that.isLoading = false;
                })
                .catch(function (error) {
                    that.isLoading = false;
                    that.$toast.fail("网络错误,请重试!");
                    that.$playSound('error');
                    console.log(error);
                });
        },
        onSelect(item) {
            // é»˜è®¤æƒ…况下点击选项时不会自动收起
            // å¯ä»¥é€šè¿‡ close-on-click-action å±žæ€§å¼€å¯è‡ªåŠ¨æ”¶èµ·
            this.show = false;
            console.log(item);
            // æ­£åˆ™åŒ¹é…ç¬¬ä¸€ä¸ªæ–¹æ‹¬å·å†…容
            const regex = /\[([^\]]+)\]/;
            const matchResult = item.name.match(regex);
            if (matchResult && matchResult[1]) {
                this.modeInfo.daa001 = matchResult[1]; // PPBOM00000088-1
                console.log('提取的DAA001:', this.modeInfo.daa001);
            } else {
                this.$toast.fail('工单号格式异常');
                this.modeInfo.daa001 = '';
            }
            this.getModel();
            //this.$toast(item.name);
        },
    }
})
H5/Js/Xsck.js
@@ -150,6 +150,9 @@
                        that.zdy = json.data.tbBillList.allList[0].createNmae;
                        //that.daa001 = json.data.tbBillList.item1;
                        that.$refs.barcode.focus();
                        // é‡ç½®æ‰€æœ‰è¡Œçš„选中状态
                        that.currentIndex = -1;
                        that.ItemBarKw = [];
                    }
                    else {
                        that.$toast.fail(json.message);
@@ -303,6 +306,8 @@
                    if (json.status == 0) {
                        that.ItemBlDetail = json.data.pendingList;
                        that.$notify({ type: 'success', message: '扫描成功' });
                        that.$playSound('success');
                        that.sendPrintMessage(json.data.tbBillList);
                        that.$refs.barcode.focus();
                        that.barcode = "";
                        that.num = "";
H5/PurchaseReturn.aspx
@@ -153,5 +153,5 @@
    <%--<comback ></comback>--%>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" Runat="Server">
    <script src="Js/PurchaseReturn.js?<%=1281111233 %>"></script>
    <script src="Js/PurchaseReturn.js?<%=1281111234 %>"></script>
</asp:Content>
H5/Qtck.aspx
@@ -165,5 +165,5 @@
  <%--<comback ></comback>--%>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" Runat="Server">
 <script src="Js/Qtck.js?<%=111307 %>"></script>
 <script src="Js/Qtck.js?<%=111309 %>"></script>
</asp:Content>
H5/Scll.aspx
@@ -121,8 +121,9 @@
        <van-tabs color="#000" title-active-color="#0283EF">
            <van-tab title="待扫物料" class="mySolid font">
                <van-row>
                    <van-col span="8" class="text-left padding-left">物料</van-col>
                    <van-col span="8" class="text-left padding-left">规格</van-col>
                    <van-col span="6" class="text-left padding-left">物料</van-col>
                    <van-col span="6" class="text-left padding-left">规格</van-col>
                    <van-col span="4">分区</van-col>
                    <van-col span="3">待扫</van-col>
                    <van-col span="5">推荐库位</van-col>
                </van-row>
@@ -131,13 +132,14 @@
                        :key="index"
                        :style="{ background: currentIndex === index ? '#87CEEB' : '' }"
                        @click.native="handleRowClick(itm, index)">
                        <van-col span="8" class="text-left padding-left">
                        <van-col span="6" class="text-left padding-left">
                            <div class="blue-text">{{itm.itemNo}}</div>
                            <div>{{itm.itemName}}</div>
                        </van-col>
                        <van-col span="8" class="text-left padding-left">
                        <van-col span="6" class="text-left padding-left">
                            <div>{{itm.itemModel}}</div>
                        </van-col>
                        <van-col span="4">{{itm.wlfq}}</van-col>
                        <van-col span="3" class="blue-text">{{itm.dsQty}}</van-col>
                        <van-col span="5">{{itm.recoKw}}</van-col>
                    </van-col>
@@ -165,19 +167,21 @@
            <van-tab title="已扫物料" class="mySolid font">
                <van-row>
                    <van-col span="8" class="text-left padding-left">物料</van-col>
                    <van-col span="8" class="text-left padding-left">规格</van-col>
                    <van-col span="6" class="text-left padding-left">物料</van-col>
                    <van-col span="6" class="text-left padding-left">规格</van-col>
                    <van-col span="4">分区</van-col>
                    <van-col span="3">需领数</van-col>
                    <van-col span="5">已领数</van-col>
                </van-row>
                <van-row v-for="(itm,index) in ItemDetail.ysitems" :key="index">
                    <van-col span="8" class="text-left padding-left">
                    <van-col span="6" class="text-left padding-left">
                        <div class="blue-text">{{itm.itemNo}}</div>
                        <div>{{itm.itemName}}</div>
                    </van-col>
                    <van-col span="8" class="text-left padding-left">
                    <van-col span="6" class="text-left padding-left">
                        <div>{{itm.itemModel}}</div>
                    </van-col>
                    <van-col span="4">{{itm.wlfq}}</van-col>
                    <van-col span="3">{{itm.fQty}}</van-col>
                    <van-col span="5" class="blue-text">{{itm.sQty}}</van-col>
                </van-row>
H5/Wwck.aspx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,187 @@
<%@ Page Title="委外出库" Language="C#" MasterPageFile="~/Mst.master" AutoEventWireup="true"  %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    <style>
    .bg-info {
        background-color:#fff;
    }
          .org-info {
        height: 0.5rem;
        line-height: 0.5rem;
        padding: 0 0.16rem;
    }
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
            <van-notice-bar
    :scrollable="false"
    :text="'当前组织:' + (Cookies.get('orgName') || '暂无组织信息')"
    class="org-info"
/></van-notice-bar>
    <van-nav-bar
  title="委外领料"
  left-text="返回"
  left-arrow
  @click-left="GoBack()"
></van-nav-bar>
    <div class="mySolid">
        <van-cell-group>
                <van-field
                    ref ="selectKey"
                value=""
                label="申请单号"
                clearable
                    placeholder="请选择申请单号"
                :right-icon-size="19"
                    v-model="selectKey"
                ><template #button>
                <van-button size="small" type="info" plain @click="getInfo" >选择</van-button>
                </template></van-field>
  <van-field
    ref="daa001"
    v-model="modeInfo.daa001"
    label="委外工单"
    clearable
     placeholder="请扫码"
    :right-icon-size="19"
     v-focus.noKeyboard
    @keyup.enter.native="getModel"
      autofocus="true"
  ></van-field>
  <van-field
    v-model="modeInfo.planNo"
   label="任务单号"
   clearable
   :right-icon-size="19"
   placeholder="任务单号"
   disabled
></van-field>
<%--                <van-field
                    v-model="DaaInfo.startTime"
                    label="开工时间"
                    clearable
                    :right-icon-size="19"
                    placeholder="开工时间"
                    disabled>
                </van-field>
                <van-field
                    v-model="DaaInfo.lineName"
                    label="线体名称"
                    clearable
                    :right-icon-size="19"
                    placeholder="线体名称"
                    disabled>
                </van-field>--%>
 <van-field
   ref="barcode"
   v-model="scanInfo.barcode"
  label="物料条码"
   clearable
 placeholder="请扫码"
  :right-icon-size="19"
  v-focus.noKeyboard
  @keyup.enter.native="getScan"
></van-field>
   <van-field
  v-model="scanInfo.barcodeNum"
  label="条码数量"
  placeholder="条码数量"
  disabled
></van-field>
  <van-field
      ref="splitNum"
    v-model="scanInfo.splitNum"
    center
    clearable
    label="发料数量"
    placeholder="发料数量"
  >
    <van-button slot="button" type="info" size="small"  plain @click="getChaiFen">条码拆分</van-button>
  </van-field>
</van-cell-group>
    </div>
    <van-action-sheet v-model="show" :actions="actions" @select="onSelect" ></van-action-sheet>
    <van-tabs color="#000" title-active-color="#0283EF">
    <van-tab title="待扫物料" class="mySolid font">
        <van-row>
            <van-col span="8" class="text-left padding-left">物料</van-col>
            <van-col span="8" class="text-left padding-left">规格</van-col>
            <van-col span="3">待扫</van-col>
            <van-col span="5">推荐库位</van-col>
        </van-row>
        <!-- å¢žåŠ è¡Œç‚¹å‡»ä¸Žé€‰ä¸­é«˜äº® -->
            <van-row
            v-for="(itm,index) in ItemDetail.items"
            :key="index"
            :style="{ background: currentIndex === index ? '#87CEEB' : '' }"
            @click.native="handleRowClick(itm, index)">
            <van-col span="8" class="text-left padding-left">
                <div class="blue-text">{{itm.itemNo}}</div>
                <div>{{itm.itemName}}</div>
            </van-col>
            <van-col span="8" class="text-left padding-left">
                <div>{{itm.itemModel}}</div>
            </van-col>
            <van-col span="3" class="blue-text">{{itm.dsQty}}</van-col>
            <van-col span="5">{{itm.recoKw}}</van-col>
        </van-row>
    </van-tab>
                    <van-tab title="库位列表" class="mySolid font">
                <van-row>
                    <van-col span="10" class="text-left padding-left">条码编号</van-col>
                    <van-col span="5" class="text-left padding-left">库位</van-col>
                    <van-col span="4">数量</van-col>
                    <van-col span="5">仓库</van-col>
                </van-row>
                <van-row v-for="(itm,index) in ItemBarKw" :key="index">
                    <van-col span="10" class="text-left padding-left">
                        <div class="blue-text">{{itm.iteM_BARCODE}}</div>
                    </van-col>
                    <van-col span="5" class="text-left padding-left">
                        <div>{{itm.depoT_SECTIONS_CODE}}</div>
                    </van-col>
                    <van-col span="4" class="blue-text">{{itm.quantity}}</van-col>
                    <van-col span="5" >{{itm.depot_name}}</van-col>
                </van-row>
            </van-tab>
    <van-tab title="已扫物料" class="mySolid font">
        <van-row>
            <van-col span="8" class="text-left padding-left">物料</van-col>
            <van-col span="8" class="text-left padding-left">规格</van-col>
            <van-col span="3">需领数</van-col>
            <van-col span="5">已领数</van-col>
        </van-row>
        <van-row v-for="(itm,index) in ItemDetail.ysitems" :key="index"><%--ItemBlDetail.ysitems--%>
            <van-col span="8" class="text-left padding-left">
                <div class="blue-text">{{itm.itemNo}}</div>
                <div>{{itm.itemName}}</div>
            </van-col>
            <van-col span="8" class="text-left padding-left">
                <div>{{itm.itemModel}}</div>
            </van-col>
            <van-col span="3">{{itm.fQty}}</van-col>
            <van-col span="5" class="blue-text">{{itm.sQty}}</van-col>
        </van-row>
    </van-tab>
</van-tabs>
    </div>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder3" Runat="Server">
    <comloading  v-if="isLoading"></comloading>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" Runat="Server">
    <script src="Js/Wwck.js?<%=101 %>"></script>
</asp:Content>
H5/Wwck.aspx.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class H5_Scll : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
}
H5/Xsck.aspx
@@ -151,5 +151,5 @@
  <%--<comback ></comback>--%>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" Runat="Server">
 <script src="Js/Xsck.js?<%=12711114 %>"></script>
 <script src="Js/Xsck.js?<%=12711115 %>"></script>
</asp:Content>