采购退料:列表选择、列表明细更改为存储过程,添加组织隔离,添加库位列表,添加隐藏完结单号功能
已修改2个文件
143 ■■■■ 文件已修改
H5/Js/PurchaseReturn.js 105 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/PurchaseReturn.aspx 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Js/PurchaseReturn.js
@@ -26,13 +26,21 @@
            messageCenter: {},
            messageId: 0,
            show: false,
            scanInfo: { barcodeNum: "", splitNum: "", barcode: "" },
            ip: "",
            port: "",
            oldBarInfo: [],
            cfBarInfo: [],
            selectKey: "",//查询关键字
            actions: [],//列表的值
            show: false,//列表展示
            // 当前选中行的索引
            currentIndex: -1,
            // 存储选中行数据对象
            selItem: {},
            ItemBarKw: [],//当天行相关条码库位信息
            DaaInfo: {},
        }
    },
    mounted() {
@@ -45,20 +53,76 @@
        //that.show = false;
    },
    methods: {
        getItemOutNo() {
            var that = this;
        /**
        * 处理行点击事件(单选逻辑)
        * @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", 'MesCgthSq/GetMesCgthSq', {
            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.itemOutNoList = json.data.tbBillList;
                        that.itemOutNoStr = that.itemOutNoList.map(s => {
                            return { name: s.billNo }
                        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 = [];
                        });
        },
        getItemOutNo() {
            var that = this;
            that.isLoading = true;
            that.AxiosHttp("post", 'MesCgthSq/GetMesCgthSq', {}, false)
                .then(function (res) {
                    var json = res;
                    if (json.status == 0) {
                        that.itemOutNoList = json.data.tbBillList;
                        if (!Array.isArray(that.itemOutNoList) || that.itemOutNoList.length === 0) {
                            that.$toast.fail("没有可用的数据");
                            that.show = false;
                        }
                        else {
                            that.itemOutNoStr = that.itemOutNoList.map(s => ({ name: s }));
                        that.show = true;
                        }
                    }
                    else {
                        that.$playSound('error');
@@ -100,38 +164,27 @@
        },
        onSelect(item) {
            // 默认情况下点击选项时不会自动收起
            // 可以通过 close-on-click-action 属性开启自动收起
            this.show = false;
            //let staf = this.stafList.filter(it => it.staffName === item.name);
            this.scanFormData.itemOutNo = item.name;
            let itemOut = this.itemOutNoList.filter(it => it.billNo == item.name);
            this.invItemOutId = itemOut[0].id;
            this.invItemOutId = item.name;
            this.ItemBarKw = []; // 选择申请单号后清空库位列表
            this.getItem();
        },
        getItem() {
            var that = this;
            that.isLoading = true;
            let itemOut = this.itemOutNoList.filter(it => it.billNo == that.scanFormData.itemOutNo);
            //this.invItemOutId = itemOut[0].id;
            that.AxiosHttp("post", 'MesCgthSq/GetSumItem', {
                //id: that.invItemOutId,
                billNo: that.scanFormData.itemOutNo,
                barcode: that.scanFormData.barcode,
            }, false)
                .then(function (res) {
                    var json = res;
                    if (json.status == 0) {
                        that.ItemDetail = json.data.tbBillList;
                        that.ItemDetail = {
                            items: json.data.tbBillList.items,
                            ysitems: json.data.tbBillList.ysitems,
                            allList: json.data.tbBillList.allList
                        };
                        that.$refs.barcode.focus();
                    }
                    else {
H5/PurchaseReturn.aspx
@@ -8,6 +8,12 @@
</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>
        <div class="content-wrapper">
    <van-nav-bar
  title="采购退料"
@@ -41,7 +47,7 @@
  <%--@change="SaveBarCodes"--%>
></van-field>
   <van-field
  v-model="scanFormData.itemNo"
  v-model="scanFormData.itemid"
  label="物料编码"
  placeholder="物料编码"
  disabled
@@ -78,7 +84,12 @@
            <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">
        <!-- 增加行点击与选中高亮 -->
            <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>
@@ -91,6 +102,25 @@
        </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>
@@ -100,7 +130,7 @@
        </van-row>
        <van-row v-for="(itm,index) in ItemDetail.ysitems" :key="index">
            <van-col span="8" class="text-left padding-left">
                <div class="blue-text">{{itm.itemNo}}</div>
                <div class="blue-text">{{itm.itemid}}</div>
                <div>{{itm.itemName}}</div>
            </van-col>
            <van-col span="8" class="text-left padding-left">
@@ -123,5 +153,5 @@
    <%--<comback ></comback>--%>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" Runat="Server">
    <script src="Js/PurchaseReturn.js?<%=1281111111 %>"></script>
    <script src="Js/PurchaseReturn.js?<%=1281111233 %>"></script>
</asp:Content>