wtt
2025-12-29 d1806e8cb5b4cd5c60d62273f474edefb6c3ced7
添加模具退库单
2个文件已修改
2个文件已添加
1635 ■■■■■ 已修改文件
pages.json 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/MJGL/MouldScrapOutBill/MouldScrapOutBill.vue 1129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/MJGL/MouldScrapOutBill/MouldScrapOutBillList.vue 486 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/tab2.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json
@@ -1351,6 +1351,19 @@
            {
                "navigationBarTitleText" : "全检检验单(不良汇报)查询"
            }
        },
        {
            "path": "pages/MJGL/MouldScrapOutBill/MouldScrapOutBillList",
            "style": {
                "navigationBarTitleText": "模具报废出库单列表"
            }
        },
        {
            "path": "pages/MJGL/MouldScrapOutBill/MouldScrapOutBill",
            "style": {
                "navigationBarTitleText": "模具报废出库单",
                "enablePullDownRefresh": true
            }
        }
        
    ],
pages/MJGL/MouldScrapOutBill/MouldScrapOutBill.vue
New file
@@ -0,0 +1,1129 @@
<template>
    <view>
        <view class="form">
            <view class="form-item">
                <view class="title">条码</view>
                <view class="right" style="width: 350rpx;">
                    <input :focus="barCodeFocus" 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" @click="searchModule">
                <view class="title">器具</view>
                <view class="righton" style="width: 350rpx;">
                    <input  placeholder="请选择器具" />
                </view>
                <uni-icons type="search"
                    style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;"
                    size="20" ></uni-icons>
            </view>
            <view class="form-item">
                <view class="title">仓库:</view>
                <view class="right">
                    <uni-combox :candidates="arrayHWHName" placeholder="请输入(或扫描)仓库" v-model="hform.HWHName"
                        @input="HWHNameChange"></uni-combox>
                </view>
            </view>
            <view class="form-item">
                <view class="title">仓位:</view>
                <view class="right" v-show="showHStockPlaceName">
                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="请输入(或扫描)仓位"
                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
                </view>
                <view class="righton" v-show="!showHStockPlaceName">
                    <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName"
                        placeholder="不可操作" /></view>
            </view>
            <view class="form-item">
                <view class="title">保管:</view>
                <view class="right">
                    <uni-combox :candidates="arrayHEmpName" placeholder="请输入(或扫描)发料人" v-model="hform.HKeeperName"
                        @input="HScatterUserChange"></uni-combox>
                </view>
            </view>
            <view class="form-item">
                <view class="title">验收:</view>
                <view class="right">
                    <uni-combox :candidates="arrayHEmpName" placeholder="请输入(或扫描)领料人" v-model="hform.HSecManagerName"
                        @input="HCollectUserChange"></uni-combox>
                </view>
            </view>
            <view class="form-item">
                <view class="title">部门:</view>
                <view class="right">
                    <uni-combox :candidates="arrayHDeptName" placeholder="请选择部门" v-model="hform.HDeptName"
                        @input="HDeptNameChange"></uni-combox>
                </view>
            </view>
            <view class="tabs">
                <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">表头信息</view>
                <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">模具信息</view>
            </view>
            <view v-if="tabs == 0">
                <view class="form-item">
                    <view class="title">日期:</view>
                    <view class="right">
                        <picker mode="date" v-model="hform.HDate" @change="HDateChange">
                            <view class="picker-overlay"></view>
                            <input disabled v-model="hform.HDate" placeholder="请选择日期" />
                        </picker>
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">源单类型:</view>
                    <view class="right" :class="showHMainSourceBillType?'':'disabled'">
                        <zxz-uni-data-select
                            v-model="hform.HMainSourceBillType"
                            dataKey="typeName"
                            dataValue="typeID"
                            :filterable="true"
                            :localdata="HSourceBillTypeList"
                            :clear="false"
                            :disabled="!showHMainSourceBillType"
                            @change="HSourceBillTypeNameChange"
                        ></zxz-uni-data-select>
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">源单单号:</view>
                    <view class="right" v-show="showHSourceBillNo">
                        <!-- <uni-combox v-if="reHSourceBillNo" :candidates="arrayHSourceBillNo" placeholder="请输入源单单号"
                            v-model="hform.HSourceBillNo" @input="HSourceBillNoChange"></uni-combox> -->
                        <input :focus="HSourceBillNoFocus" type="text" name="HSourceBillNo"
                            v-model="hform.HSourceBillNo" @confirm="onSourceBillBlurHandler" placeholder="请输入源单单号" />
                    </view>
                    <view class="icon-wrapper" v-show="showHSourceBillNo" :disabled="hform.HMainSourceBillType === -1">
                        <uni-icons type="search" size="20" @click="showBillList"></uni-icons>
                    </view>
                    <view class="righton" v-show="!showHSourceBillNo">
                        <input name="HSourceBillNo" disabled v-model="hform.HSourceBillNo" placeholder="请输入源单单号" />
                    </view>
                    <!-- <view class="right" v-show="showHSourceBillNo">
                        <uni-combox ref="uniComboxSourceBill" :isFocus="HSourceBillNoFocus"
                            :confirm-call="onSourceBillBlurHandler" v-if="reHSourceBillNo"
                            :candidates="arrayHSourceBillNo" placeholder="请输入源单单号" v-model="hform.HSourceBillNo"
                            @input="HSourceBillNoChange"></uni-combox>
                    </view>
                    <view class="righton" v-show="!showHSourceBillNo">
                        <input name="HSourceBillNo" disabled v-model="hform.HSourceBillNo" placeholder="请输入源单单号" />
                    </view> -->
                </view>
                <view class="form-item">
                    <view class="title">制单人:</view>
                    <view class="righton">
                        <input name="HMaker" disabled v-model="hform.HMaker" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">单据号:</view>
                    <view class="righton">
                        <input name="HBillNo" disabled v-model="hform.HBillNo" />
                    </view>
                </view>
                <view class="form-item">
                    <view class="title">单据ID:</view>
                    <view class="righton">
                        <input name="HInterID" disabled v-model="hform.HInterID" />
                    </view>
                </view>
            </view>
            <view v-if="tabs==1">
                <view class="list" v-for="(item,index) in HMouldList" :key="index">
                     <uni-card :title="item.器具名称" style="margin: 10px;" @tap="delMater(item, $event)">
                                <!-- 器具代码作为可点击链接 -->
                                <view class="card-header">
                                    <text class="link-text">器具号:{{item.器具号}}</text>
                                </view>
                                <view class="card-detail">
                                    <view class="detail">
                                        <text>数量:</text>{{item.数量}}
                                    </view>
                                    <view class="detail">
                                        <text>器具条码:</text>{{item.器具条码}}
                                    </view>
                                </view>
                            </uni-card>
                </view>
                <view class="over" v-if="HMouldList.length == 0">暂无数据</view>
            </view>
            <view class="bottom-btn">
                <button class="btn-c" size="mini" @tap="goBack">退出</button>
                <button v-if="btnType == 1 && !isEdit" class="btn-a" size="mini" @tap="submit">提交</button>
                <!-- <button v-if="btnType != 1 && !isEdit" class="btn-a" size="mini" @tap="ifEdit">修改</button> -->
                <button v-if="btnType != 1 " class="btn-a" size="mini" @tap="submit">提交</button>
            </view>
        </view>
        <BillListPopupVue ref="billList" :HBillType="hform.HBillType" :HSourceBillType="hform.HMainSourceBillType"
            :HStockOrgID="hform.HStockOrgID"></BillListPopupVue>
        <BillListPopupMouldVue @BillSelectComplete="MouldBillHandler" ref="billListMould"></BillListPopupMouldVue>
    </view>
</template>
<script>
    import getDateTime from '@/utils/getdateTime.js';
    import {
        getUserInfo
    } from "@/utils/auth.js";
    import { CommonUtils } from '@/utils/common';
    import BillListPopupVue from '../../../components/BillListPopup/BillListPopup.vue';
    import BillListPopupMouldVue from '../../../components/BillListPopup/BillListPopup_Mould.vue';
    export default {
        data() {
            return {
                HSourceBillNoFocus: false,
                barCodeFocus: true,//条码光标
                userInfo: getUserInfo(),
                serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
                tabs: 0,
                btnType:1,//1新增,3修改
                linterid:'',
                arrayHEmpName: [],
                HEmpNameList: [],
                arrayHWHName: [], //仓库
                HWHNameList: [],
                arrayHStockPlaceName: [], //仓位
                HStockPlaceNameList: [],
                arrayHDeptName: [], //部门
                HDeptNameList: [],
                arrayHCusName: [], //客户
                HCusNameList: [],
                arrayHSupplierName:[],//供应商
                HSuplierList:[],
                linterid: '',
                HBillNo: '',
                showHStockPlaceName: true,
                HMouldList:[],
                isEdit: false,
                showHMainSourceBillType: true,
                showHSourceBillNo: true,
                //源单类型
                HSourceBillTypeList:[{typeID:"-1",typeName:"手工录入"}],
                hform: {
                    HBarCode: '',
                    HInterID: '',
                    HBillType: 3832,
                    HWHName: getUserInfo().HWHName,
                    HWHID: getUserInfo().HWhID,
                    HStockPlaceName: getUserInfo().HSPName,
                    HStockPlaceID: getUserInfo().HSPID,
                    HKeeperName: getUserInfo().User,
                    HKeeperID: getUserInfo().User,//发料人
                    HSecManagerName: getUserInfo().HEmpName,
                    HSecManagerID: getUserInfo().HEmpID,//领料人
                    HDeptName: getUserInfo().HDept,
                    HDeptID: getUserInfo().HDeptID,
                    //源单信息
                    HMainSourceBillType: "-1",
                    HSourceBillNo: '', //CGDD000200
                    HDate: getDateTime.dateTimeStr('y-m-d'),
                    HMaker: uni.getStorageSync('HUserName'),
                    HRedBlueFlag:'false',
                    HStockOrgName: uni.getStorageSync('Organization'),
                    HStockOrgID: uni.getStorageSync('OrganizationID'),
                    HStockOutOrgID:uni.getStorageSync('OrganizationID'),
                    HBarCode_B:'',
                    HMouldName_B:'',
                    HMouldID_B:'',
                    HMouldCount_B:'',
                }
            }
        },
        components: {
            BillListPopupVue,
            BillListPopupMouldVue
        },
        methods: {
            searchModule() {
                this.$refs['billListMould'].showPopup()
            },
            MouldBillHandler(mould) {
                if(!mould.enableMultiSourceBill){
                    let val = mould.val[0]
                    this.hform.HBarCode = val['条码编号']
                    this.getCode(this.hform.HBarCode)
                }
                this.$refs['billListMould'].exit()
            },
            // 读取缓存
            loadCache() {
                const pages = getCurrentPages()
                // 获取页面栈中的最后一个元素,也就是当前显示的页面
                const currentPage = pages[pages.length - 1]
                let HBillTypeCache = uni.getStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`)
                if (HBillTypeCache) {
                    this.hform.HMainSourceBillType = HBillTypeCache.HSourceBillType
                }
            },
            //扫码
            toScanCode() {
                var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
                mpaasScanModule.mpaasScan({
                    'hideAlbum': true,
                    'timeoutInterval': '10', //超时时间
                    'timeoutText': '未识别到二维码' //超时提醒
                }, (ret) => {
                    console.log(ret.resp_result)
                    if (this.hform.HBarCode == '*') {
                        this.hform.HBarCode = this.hform.HBarCode + ret.resp_result
                    } else {
                        this.hform.HBarCode = ret.resp_result
                    }
                    this.getCode(this.hform.HBarCode)
                })
            },
            getNewData() {
                CommonUtils.doRequest("/WEBSController/GetMaxBillNoAndID_Json", {
                        HBillType: this.hform.HBillType
                    },
                    (res) => {
                        let res1 = res.data;
                        let {
                            data,
                            count
                        } = res1
                        if (count == 1) {
                            this.hform.HInterID = data[0].HInterID
                            this.hform.HBillNo = data[0].HBillNo
                        } else {
                            uni.showToast({
                                title: data.Message,
                                icon: 'none'
                            })
                        }
                    })
            },
            async getCode(HBarCode) {
                //仓库、仓位文本框为空时,清空对应ID
                if (!this.hform.HWHName) {
                    this.hform.HWHID = 0
                }
                if (!this.hform.HStockPlaceName) {
                    this.hform.HStockPlaceID = 0
                }
                var sHWHID = this.hform.HWHID
                var sHSPID = this.hform.HStockPlaceID
                var sOldBarCode = HBarCode;
                var HDeleteFlag = sOldBarCode.substring(0, 1); //取条码第一个字符
                var sBarCode = sOldBarCode.slice(1); //获取第一个字符以外的全部字符
                var sSourceBillNo = this.hform.HSourceBillNo
                var sSourceBillType =this.hform.HMainSourceBillType
                if(sSourceBillType != -1&&sSourceBillNo==""){
                    uni.showToast({
                        title: "请先选择源单",
                        icon: 'none'
                    })
                    return
                }
                if (HDeleteFlag == '*') {
                    if (sBarCode == "") {
                        uni.showToast({
                            title: '请输入要删除的条码',
                            icon: 'none'
                        });
                    } else {
                        try {
                            let res = await CommonUtils.doRequest2Sync({
                                url: '/MouldController/set_DelMouldStockBillMain_Temp_Json',
                                data: {
                                    HInterID: this.hform.HInterID,
                                    HBillType: this.hform.HBillType,
                                    HBarCode: sBarCode
                                },
                            })
                            if (!res) {
                                return
                            }
                            console.log('删除条码', res.data);
                            this.hform.HBarCode = '';
                            if (res.data.count == 1) {
                                this.hform.HQty = ''
                            } else {
                                uni.showToast({
                                    title: res.data.Message,
                                    icon: 'none'
                                })
                            }
                        } catch (err) {
                            console.log(res);
                            uni.showToast({
                                title: '接口请求失败',
                                icon: 'none'
                            })
                        }
                    }
                }else
                {
                    var sBarCode = this.hform.HBarCode
                    try {
                        let res = await CommonUtils.doRequest2Sync({
                            url: '/MouldController/Get_CheckTypeByMouldBarCode_Json',
                            data: {
                                sBarCode: sBarCode,
                                HInterID: this.hform.HInterID,
                                HBillType: this.hform.HBillType,
                                HBillNo: this.hform.HBillNo,
                                HMaker: this.hform.HMaker,
                                HWhID: sHWHID,
                                HSPID: sHSPID,
                                HSCWhID:0,
                                HSCSPID: 0,
                                HRedBlueFlag: this.hform.HRedBlueFlag,
                                HSourceBillNo: sSourceBillNo,
                                HSourceBillType: sSourceBillType,
                                HStockOrgID: this.hform.HStockOrgID,
                                HStockOutOrgID: this.hform.HStockOutOrgID,
                            },
                        })
                        if (!res) {
                            return
                        }
                        console.log('检查扫码返回的数据', res.data);
                        this.hform.HBarCode=''
                        if(res.data.count==1){
                            this.tabs = 1
                            this.DisBillEntryList()
                            this.showHMainSourceBillType = false
                            this.showHSourceBillNo = false
                        }
                        else {
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                        }
                    } catch (err) {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    }
                }
            },
            //仓库监听事件
            HWHNameChange(e) {
                for (var i = 0; i < this.HWHNameList.length; i++) {
                    if (this.HWHNameList[i]["HName"] == e) {
                        this.hform.HWHName = this.HWHNameList[i]["HName"]
                        this.hform.HWHID = this.HWHNameList[i].HItemID
                        this.showHStockPlaceName = this.HWHNameList[i].HIsStockMgr
                    }
                }
            },
            HStockPlaceNameChange(e) {
                for (var i = 0; i < this.HStockPlaceNameList.length; i++) {
                    if (this.HStockPlaceNameList[i]["HWhName"] == e) {
                        this.hform.HStockPlaceID = this.HStockPlaceNameList[i].HItemID
                        this.hform.HStockPlaceName = this.HStockPlaceNameList[i]["HWhName"]
                    }
                }
            },
            /* #region 仓库仓位获取下拉框 */
            getHBaseList() {
                CommonUtils.doRequest(
                    "/Web/GetWarehouseList_Json_New", {
                        Warehouse: "",
                        HOrgID: uni.getStorageSync('OrganizationID')
                    },
                    (res) => {
                        let res1 = res.data
                        let {
                            data,
                            count
                        } = res1
                        if (count == 1) {
                            this.HWHNameList = data
                            for (var i = 0; i < data.length; i++) {
                                this.arrayHWHName[i] = data[i]["HName"]
                            }
                        } else {
                            uni.showToast({
                                title: '仓库数据请求失败',
                                icon: 'none'
                            })
                        }
                    },
                )
                CommonUtils.doRequest(
                    "/WEBSController/GetStockPlaceList_Json", {
                        StockPlace: '',
                        HWhID: this.hform.HWHID,
                        HStockOrgID: uni.getStorageSync('OrganizationID')
                    },
                    (res) => {
                        let res1 = res.data
                        console.log(res1)
                        let {
                            data,
                            count
                        } = res1
                        if (count == 1) {
                            this.HStockPlaceNameList = data
                            for (var i = 0; i < data.length; i++) {
                                this.arrayHStockPlaceName[i] = data[i]["HWhName"]
                            }
                        } else {
                            uni.showToast({
                                title: '仓位数据请求失败',
                                icon: 'none'
                            })
                        }
                    },
                )
            },
            /* #endregion */
            getHEmpList() {
                CommonUtils.doRequest("/Web/GetEmployeeList_Json", {
                        Employee: '',
                        HGroupID: 0
                    },
                    (res) => {
                        if (res.data.count == 1) {
                            this.HEmpNameList = res.data.data
                            for (var i = 0; i < res.data.data.length; i++) {
                                this.arrayHEmpName[i] = res.data.data[i].HName
                            }
                            this.$forceUpdate();
                        } else {
                            uni.showToast({
                                title: '人员数据请求失败',
                                icon: 'none'
                            })
                        }
                    },
                )
            },
            HScatterUserChange(e) {
                for (var i = 0; i < this.HEmpNameList.length; i++) {
                    if (this.HEmpNameList[i].HName == e) {
                        this.hform.HKeeperID = this.HEmpNameList[i].HItemID
                        this.hform.HKeeperName = this.HEmpNameList[i].HName
                    }
                }
            },
            HCollectUserChange(e) {
                for (var i = 0; i < this.HEmpNameList.length; i++) {
                    if (this.HEmpNameList[i].HName == e) {
                        this.hform.HSecManagerID = this.HEmpNameList[i].HItemID
                        this.hform.HSecManagerName = this.HEmpNameList[i].HName
                    }
                }
            },
            //获取使用部门数据
            getHDeptList() {
                uni.request({
                    url: this.serverUrl + '/Gy_Department/list',
                    data: {
                        sWhere: "",
                        user: uni.getStorageSync('HUserName'),
                        Organization: uni.getStorageSync('Organization')
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            this.HDeptNameList = res.data.data
                            for (var i = 0; i < res.data.data.length; i++) {
                                this.arrayHDeptName[i] = res.data.data[i].部门名称
                            }
                            this.$forceUpdate();
                        } else {
                            uni.showToast({
                                title: '部门数据请求失败',
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            getHCusList() {
                CommonUtils.doRequest(
                    "/Gy_Customer/list", {
                        sWhere: "",
                        user: uni.getStorageSync('HUserName'),
                        Organization: uni.getStorageSync('Organization')
                    },
                    (res) => {
                        let res1 = res.data
                        let {
                            data,
                            count
                        } = res1
                        if (count == 1) {
                            this.HCusNameList = data
                            for (var i = 0; i < data.length; i++) {
                                this.arrayHCusName[i] = data[i].客户名称
                            }
                            this.$forceUpdate();
                        } else {
                            uni.showToast({
                                title: data.Message,
                                icon: 'none'
                            })
                        }
                    }
                )
            },
            getHSupList() {
                CommonUtils.doRequest(
                    "/Gy_Supplier/list", {
                        sWhere: "",
                        user: uni.getStorageSync('HUserName'),
                        Organization: uni.getStorageSync('Organization')
                    },
                    (res) => {
                        let res1 = res.data
                        let {
                            data,
                            count
                        } = res1
                        if (count == 1) {
                            this.HSuplierList = data
                            for (var i = 0; i < data.length; i++) {
                                this.arrayHSupplierName[i] = data[i].供应商名称
                            }
                            this.$forceUpdate();
                        } else {
                            uni.showToast({
                                title: data.Message,
                                icon: 'none'
                            })
                        }
                    }
                )
            },
            //选择使用部门
            HDeptNameChange(e) {
                for (var i = 0; i < this.HDeptNameList.length; i++) {
                    if (this.HDeptNameList[i].部门名称 == e) {
                        this.hform.HDeptID = this.HDeptNameList[i].HItemID
                        this.hform.HDeptName = this.HDeptNameList[i].部门名称
                    }
                }
            },
            HDateChange(e) {
                console.log(e.detail.value)
                this.hform.HDate = e.detail.value
            },
            //器具信息
            DisBillEntryList() {
                CommonUtils.doRequest(
                    "/MouldController/GetMouldBillEntryTmpList_Json", {
                        HInterID: this.hform.HInterID,
                        HBillNo: this.hform.HBillNo,
                        HBillType: this.hform.HBillType
                    },
                    (res) => {
                        console.log('器具', res.data)
                        var data = res.data.data
                        this.HMouldList = data;
                        if (res.data.count==0) {
                            this.HMouldList = [];
                            this.hform.HMouldCount_B = ''
                            this.hform.HMouldID_B = ''
                            this.hform.HMouldName_B = ''
                        } else {
                            this.hform.HMouldCount_B = data[0].HQty
                            this.hform.HMouldID_B = data[0].HMouldID
                            this.hform.HMouldName_B = data[0].HMouldName
                            this.hform.HBarCode_B=data[0].HBarCode
                        }
                    },
                )
            },
            goBack() {
                uni.showModal({
                    title: '提示',
                    content: '确认要退出当前页面吗?',
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
                            uni.redirectTo({
                                url: '/pages/MJGL/MouldScrapOutBill/MouldScrapOutBillList'
                            })
                        } else if (res.cancel) {
                            console.log('用户点击取消');
                        }
                    }
                });
            },
            ifEdit(){
                this.isEdit = true
                this.hform.eventType = 'Modify'
            },
            async submit() {
                //仓库、仓位、保管、验收、部门、供应商文本框为空时,清空对应ID
                if (!this.hform.HWHName) {
                    this.hform.HWHID = 0
                }
                if (!this.hform.HStockPlaceName) {
                    this.hform.HStockPlaceID = 0
                }
                if (!this.hform.HKeeperName) {
                    this.hform.HKeeperID = 0
                }
                if (!this.hform.HSecManagerName) {
                    this.hform.HSecManagerID = 0
                }
                if (!this.hform.HDeptName) {
                    this.hform.HDeptID = 0
                }
                // if (!this.hform.HSupName) {
                //     this.hform.HSupID = 0
                // }
                if (this.hform.HInterID == 0 || !this.hform.HInterID) {
                    uni.showToast({
                        title: '单据内码获取失败,错误的单据内码!',
                        icon: 'none'
                    })
                } else if (!this.hform.HBillNo) {
                    uni.showToast({
                        title: '单据号获取失败,错误的单据号!',
                        icon: 'none'
                    })
                } else {
                    if (this.hform.HMouldID_B == 0||this.hform.HMouldID_B ==null) {
                        uni.showToast({
                            title: '没有扫描器具条码,请先扫描器具条码,确认无误后再提交!',
                            icon: 'none'
                        })
                    } else {
                        uni.showLoading({
                            title: '请稍候'
                        })
                        let sMainStr = JSON.stringify(this.hform);
                        console.log("主表:" + sMainStr)
                        try {
                            let res = await CommonUtils.doRequest2Sync({
                                url: '/MouldController/set_SaveMouldScrapOutBill_Json',
                                method: 'POST',
                                data: {
                                   oMain: sMainStr
                                },
                            })
                            if (!res) {
                                return
                            }
                            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/mjgl/MouldScrapOutBill/MouldScrapOutBill'
                                            })
                                        } else if (res.cancel) {
                                            console.log('用户点击取消');
                                            setTimeout(() => {
                                                uni.navigateBack();
                                            }, 50)
                                        }
                                    }
                                });
                            } else {
                                // uni.showToast({
                                //     title: res.data.Message,
                                //     icon: 'none'
                                // })
                                uni.showModal({
                                    content: res.data.Message,
                                    showCancel: false,
                                    complete() {
                                        uni.hideLoading()
                                    }
                                })
                            }
                        } catch (err) {
                            console.warn(err);
                            uni.showToast({
                                title: '接口请求失败:' + err,
                                icon: 'none'
                            })
                        }
                    }
                }
            },
            showBillList() {
                this.$refs.billList.showPopup()
            },
            HSourceBillTypeNameChange(e) {
                const pages = getCurrentPages()
                // 获取页面栈中的最后一个元素,也就是当前显示的页面
                const currentPage = pages[pages.length - 1]
                // 选择源单类型后 缓存当前页面选择
                uni.setStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`, {
                    HSourceBillType: this.hform.HMainSourceBillType
                })
            },
            //选中源单
            getHBarCodeData(HBarCode) {
                uni.request({
                    url: this.serverUrl + '/MouldController/Get_SourceBarCode_ProdOut_Json',
                    data: {
                        HInterID: this.hform.HInterID,
                        HBillNo: this.hform.HBillNo,
                        HBillType: this.hform.HBillType,
                        HSourceBillNo: HBarCode,
                        HSourceBillType: this.hform.HMainSourceBillType,
                        HMaker: this.hform.HMaker,
                        HStockOrgID: this.hform.HStockOrgID
                    },
                    success: (res) => {
                        if (res.data.count == 1) {
                            var data = res.data.data[0]
                            console.log(2, data);
                            this.hform.HSourceBillNo = data.HSourceBillNo
                            this.showHMainSourceBillType = false
                            //默认非多源单
                            this.showHSourceBillNo = false
                            this.tabs = 1
                            CommonUtils.playSound(1)
                            //光标对准条码
                            this.refreshBarCodeState()
                            this.DisBillEntryList()
                        } else {
                            console.log('res.data.Message: ', res.data.Message);
                            CommonUtils.playSound(0)
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                        }
                    },
                    fail: (res) => {
                        CommonUtils.playSound(0)
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            icon: 'none'
                        })
                    },
                });
            },
            async refreshBarCodeState() {
                this.barCodeFocus = false
                await this.$nextTick(() => {
                    this.barCodeFocus = true
                    this.hform.HBarCode = ""
                })
            },
            delMater(item) {
                uni.showModal({
                    title: '提示',
                    content: '确认要删除 "' + item.器具号 + '" 所有扫码记录?删除后将不可恢复!',
                    success: (res) => {
                        if (res.confirm) {
                            uni.request({
                                url: this.serverUrl +
                                    '/MouldController/set_DelMouldStockBillMain_Temp_Json',
                                data: {
                                    HInterID: this.hform.HInterID,
                                    HBarCode: item.HBarCode,
                                    HBillType: this.hform.HBillType
                                },
                                success: (res) => {
                                    if (res.data.count == 1) {
                                        this.DisBillEntryList()
                                    } else {
                                        uni.showToast({
                                            title: res.data.Message,
                                            icon: 'none'
                                        })
                                    }
                                },
                                fail: (res) => {
                                    console.log(res);
                                    uni.showToast({
                                        title: '接口请求失败',
                                        icon: 'none'
                                    })
                                }
                            });
                        }
                    }
                });
            },
            onLoad(e) {
                console.log(e, this.userInfo)
                console.log(getUserInfo().HEmpName)
                if(e.linterid){
                    this.btnType = 3
                    this.linterid = e.linterid
                    this.HBillNo = e.HBillNo
                    this.getEditData(e.linterid, e.HBillNo)
                }else{
                    this.getNewData()
                }
                this.getHBaseList()
                this.getHCusList()
                this.getHEmpList()
                this.getHDeptList()
                this.getHSupList()
                setTimeout(() => {
                  this.$nextTick(() => {
                      this.loadCache()
                  })
                }, 300);
                uni.$on('BillSelectComplete', (e) => {
                    console.log("接收到的消息: ", e.HBillNo)
                    this.getHBarCodeData(e.HBillNo)
                    this.$refs.billList.exit()
                })
                //this.getHEmpList()
            },
            //重要选择源单必须添加这个否则出现严重bug
            onUnload() {
                uni.$off('BillSelectComplete')
            },
        }
    }
</script>
<style lang="scss" scoped>
    .form {
        width: 668rpx;
        margin: 20rpx auto;
        padding-bottom: 240rpx;
    }
    .tab_area {
        width: 100%;
        height: 50rpx;
    }
    .other {
        margin-top: 8rpx;
        text-align: center;
        font-size: 28rpx;
        padding: 4rpx 18rpx;
        color: #1890FF;
    }
    .tabs {
        width: 100%;
        display: flex;
        border-bottom: 1px solid #ddd;
        margin: 20rpx 0;
        view {
            width: 25%;
            font-size: 30rpx;
            color: #555;
            text-align: center;
            padding: 16rpx 0;
        }
        .on {
            color: #3a78ff;
            font-weight: bold;
            border-bottom: 3px solid #3a78ff;
        }
    }
    .form-item {
        display: flex;
        align-items: center;
        font-size: 30rpx;
        padding: 6rpx 0;
        gap: 12rpx;
        .title {
            width: 208rpx;
            flex-shrink: 0;
            text {
                color: red;
                font-weight: bold;
            }
        }
        .disabled {
            border: 1px solid #e4e4e4;
            background-color: #e4e4e4;
        }
        .right {
            // width: 450rpx;
            flex: 1;
            border-radius: 22rpx;
            border: 1px solid #acacac;
            position: relative;
            display: flex;
            picker {
                width: 100%;
            }
            .uni-combox {
                width: 100%;
            }
        }
        .righton {
            // width: 450rpx;
            flex: 1;
            border-radius: 22rpx;
            border: 1px solid #e4e4e4;
            background-color: #e4e4e4;
            position: relative;
            display: flex;
        }
        input {
            width: 100%;
            padding: 8rpx 20rpx;
            font-size: 30rpx;
        }
        textarea {
            width: 98%;
            padding: 8rpx 20rpx;
            font-size: 30rpx;
        }
        .icon-wrapper {
            background-color: #3A78FF;
            border-radius: 100%;
            width: 52rpx;
            height: 52rpx;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-shrink: 0;
            .uni-icons {
                color: #fff !important;
            }
        }
        .icon-wrapper[disabled] {
            background-color: rgba(228, 228, 228, 1);
            pointer-events: none;
            touch-action: none;
        }
    }
    .bottom-btn {
        width: 100%;
        box-sizing: border-box;
        // height: 120rpx;
        position: fixed;
        bottom: 0;
        left: 0;
        background-color: #fff;
        box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
        padding: 30rpx 40rpx 40rpx 40rpx;
        display: flex;
        flex-direction: row;
        gap: 10rpx;
        button {
            border-radius: 50rpx;
            width: 180rpx;
            height: 66rpx;
            line-height: 66rpx;
            font-size: 28rpx;
        }
        .btn-a {
            background-color: #3A78FF;
            color: #fff;
        }
        .btn-b {
            background-color: #41a863;
            color: #fff;
        }
        .btn-c {
            background-color: #acacac;
            color: #fff;
            // position: absolute;
            // right: 120rpx;
        }
        .btn-d {
            background-color: #ff8901;
            color: #fff;
        }
    }
    .list {
        width: 100%;
        .card-detail {
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            line-height: 120%;
            .detail {
                // width: 50%;
                font-size: 26rpx;
                margin-bottom: 12rpx;
                color: #555;
                margin-right: 20rpx;
                text {
                    color: #999;
                    font-size: 26rpx;
                }
            }
        }
        .more {
            color: #888;
            font-size: 24rpx;
            display: flex;
            border-top: 1px solid #eee;
            padding-top: 20rpx;
            .part {
                width: 50%;
                text-align: center;
            }
        }
    }
</style>
pages/MJGL/MouldScrapOutBill/MouldScrapOutBillList.vue
New file
@@ -0,0 +1,486 @@
<template>
    <view class="content">
        <view class="form">
            <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.HCreateBy" placeholder="请输入制单人" />
                </view>
            </view>
            <view class="form-item">
                <view class="title">开始时间:</view>
                <view class="right">
                    <picker mode="date" :value="hform.BenginHCreateDate" @change="BenginHCreateDateChange">
                        <view class="picker-overlay"></view>
                        <input name="BenginHCreateDate" disabled :value="hform.BenginHCreateDate" placeholder="请选择" />
                    </picker>
                </view>
            </view>
            <view class="form-item">
                <view class="title">结束时间:</view>
                <view class="right">
                    <picker mode="date" :value="hform.EndHCreateDate" @change="EndHCreateDateChange">
                        <view class="picker-overlay"></view>
                        <input name="EndHCreateDate" disabled :value="hform.EndHCreateDate" placeholder="请选择" />
                    </picker>
                </view>
            </view>
            <view class="buttons">
                <button class="btn-a" size="mini" type="default" @tap="clear">重置</button>
                <button class="btn-b" size="mini" type="default" @tap="creat">新增</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">
            <uni-card :title="item.单据号" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index">
                <view class="detail" v-if="item.模具代码">
                    <text>模具代码:</text>{{item.模具代码}}
                </view>
                <view class="detail" v-if="item.模具名称">
                    <text>模具名称:</text>{{item.模具名称}}
                </view>
                <view class="detail" v-if="item.规格型号">
                    <text>规格型号:</text>{{item.规格型号}}
                </view>
                <view class="detail" v-if="item.发料人">
                    <text>发料人:</text>{{item.发料人}}
                </view>
                <view class="detail" v-if="item.领料人">
                    <text>领料人:</text>{{item.领料人}}
                </view>
                <view class="detail" v-if="item.部门">
                    <text>部门:</text>{{item.部门}}
                </view>
                <view class="detail" v-if="item.往来类型名称">
                    <text>往来类型名称:</text>{{item.往来类型名称}}
                </view>
                <view class="detail" v-if="item.往来单位">
                    <text>往来单位:</text>{{item.往来单位}}
                </view>
                <view 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.开始日期.substr(0,10)}}
                </view>
                <view class="detail" v-if="item.结束日期">
                    <text>结束日期:</text>{{item.结束日期.substr(0,10)}}
                </view>
                <view class="detail" v-if="item.表体备注">
                    <text>表体备注:</text>{{item.表体备注}}
                </view>
                <view class="detail" v-if="item.关闭类型">
                    <text>关闭类型:</text>{{item.关闭类型}}
                </view>
                <view class="card-detail" v-if="showDetail == index">
                    <view class="detail" v-if="item.制单人">
                        <text>制单人:</text>{{item.制单人}}
                    </view>
                    <view class="detail" v-if="item.制单日期">
                        <text>制单日期:</text>{{item.制单日期.substr(0,10)}}
                    </view>
                    <view class="detail" v-if="item.审核人">
                        <text>审核人:</text>{{item.审核人}}
                    </view>
                    <view class="detail" v-if="item.审核日期">
                        <text>审核日期:</text>{{item.审核日期.substr(0,10)}}
                    </view>
                    <view class="detail" v-if="item.修改人">
                        <text>修改人:</text>{{item.修改人}}
                    </view>
                    <view class="detail" v-if="item.修改日期">
                        <text>修改日期:</text>{{item.修改日期.substr(0,10)}}
                    </view>
                    <view class="detail" v-if="item.关闭人">
                        <text>关闭人:</text>{{item.关闭人}}
                    </view>
                    <view class="detail" v-if="item.关闭日期">
                        <text>关闭日期:</text>{{item.关闭日期.substr(0,10)}}
                    </view>
                    <view class="detail" v-if="item.作废人">
                        <text>作废人:</text>{{item.作废人}}
                    </view>
                    <view class="detail" v-if="item.作废日期">
                        <text>作废日期:</text>{{item.作废日期.substr(0,10)}}
                    </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.hbilltype">
                        <text>hbilltype:</text>{{item.hbilltype}}
                    </view>
                    <view class="detail" v-if="item.摘要">
                        <text>摘要:</text>{{item.摘要}}
                    </view>
                </view>
                <view class="more" v-if="showDetail == index && operations != index">
                    <view class="part" style="border-right: 1px solid #eee;">
                        <uni-icons type="top" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>收起
                    </view>
                    <view class="part" @tap.stop="operations = operations==index?-1:index">
                        <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>操作
                    </view>
                </view>
                <view class="more" v-if="showDetail != index && operations != index">
                    <view class="part" style="border-right: 1px solid #eee;">
                        <uni-icons type="bottom" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>更多信息
                    </view>
                    <view class="part" @tap.stop="operations = operations==index?-1:index">
                        <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>操作
                    </view>
                </view>
                <view class="op" v-if="operations == index">
                    <!-- <button class="op3" size="mini" plain @tap.stop="edit(item)">编辑</button> -->
                    <!-- <button class="op4" size="mini" plain @tap.stop="del(item)">删除</button> -->
                    <button class="op5" size="mini" plain @tap.stop="operations = -1">取消操作</button>
                </view>
            </uni-card>
        </view>
        <view class="over" v-if="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',
                hform:{
                    HBillNo:'',
                    HCreateBy:'',
                    BenginHCreateDate:'',
                    EndHCreateDate:'',
                },
                sWhere:"",
                listData:[],
                showList:[],
                showDetail:-1,
                operations:-1,
                page:1,
                size:100
            }
        },
        onLoad() {
            this.getList()
            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: {
            getPage(page,list){
                let sindex = (parseInt(page) - 1) * 20
                let eindex = parseInt(page) * 20
                let newList = list.slice(sindex,eindex)
                return newList
            },
            getList(){
                console.log(this.sWhere)
                uni.showLoading({
                    title:'加载中...'
                })
                uni.request({
                    url: this.serverUrl + '/Sc_MouldScrapOutHouseBill/page',
                    data:{
                        sWhere: this.sWhere,
                        user: uni.getStorageSync('HUserName'),
                        page:1,
                        size:100
                    },
                    success: (res) => {
                        console.log(1,uni.getStorageSync('Organization'));
                        console.log(1,res);
                        if(res.data.code ==1){
                            this.listData = res.data.data
                            this.showList = this.getPage(this.page,this.listData)
                            setTimeout(()=>{
                                 uni.hideLoading()
                            }, 1000)
                        }else{
                            uni.hideLoading()
                            uni.showToast({
                                title:res.data.Message,
                                icon:'none'
                            })
                        }
                    },
                    fail: (res) => {
                        console.log(res);
                        uni.hideLoading()
                        uni.showToast({
                            title:'接口请求失败',
                            icon:'none'
                        })
                    },
                });
            },
            //选择单据日期
            BenginHCreateDateChange(e){
                console.log(e.detail.value)
                this.hform.BenginHCreateDate = e.detail.value
            },
            //选择单据日期
            EndHCreateDateChange(e){
                console.log(e.detail.value)
                this.hform.EndHCreateDate = e.detail.value
            },
            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.HCreateBy) {
                    this.sWhere += " and 制单人 like '%" + this.hform.HCreateBy + "%'";
                }
                if (this.hform.BenginHCreateDate) {
                    this.sWhere += " and CONVERT(varchar(100),日期, 23) >= '" + this.hform.BenginHCreateDate + "'";
                }
                if (this.hform.EndHCreateDate) {
                    this.sWhere += " and CONVERT(varchar(100),日期, 23) <= '" + this.hform.EndHCreateDate + "'";
                }
                this.getList()
            },
            creat(){
                uni.navigateTo({
                    url:'/pages/MJGL/MouldScrapOutBill/MouldScrapOutBill'
                })
            },
            clear(){
                this.listData = []
                this.page = 1
                this.showList = []
                this.sWhere = ''
                this.showDetail = -1,
                this.operations = -1,
                this.hform = {
                    HBillNo:'',
                    HCreateBy:'',
                    BenginHCreateDate:'',
                    EndHCreateDate:'',
                }
                this.getList()
            },
            //TODO   子表列表
            // toSon(item){
            //     uni.navigateTo({
            //         url:'/pages/baoyangjilu/Sb_EquipMaintainRuleList_son?HInterID=' + item.hmainid
            //         + '&设备名称=' + item.设备名称
            //         + '&设备代码=' + item.设备代码,
            //     })
            // },
            //编辑
            edit(item){
                console.log(item)
                uni.navigateTo({
                    url:'/pages/MJGL/MouldScrapOutBill/MouldScrapOutBill?linterid=' + item.hmainid + '&HBillNo=' + item.单据号
                })
            },
            //删除
            del(item){
                console.log(item)
                uni.showModal({
                    title: '提示',
                    content: '确认要删除吗,删除后不能恢复',
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定',);
                            uni.request({
                                url: this.serverUrl + '/Sc_MouldScrapOutHouseBill/DeltetMouldScrapOutHouseBill',
                                data:{
                                    HInterID: item.hmainid,
                                    user: uni.getStorageSync('HUserName')
                                },
                                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.showToast({
                                        title:'接口请求失败',
                                        icon:'none'
                                    })
                                },
                            });
                        } else if (res.cancel) {
                            console.log('用户点击取消');
                        }
                    }
                });
            },
        }
    }
</script>
<style lang="scss" scoped>
    .form{
        width: 640rpx;
        margin: 20rpx auto;
    }
    .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;
        }
    }
    .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;
        }
    }
    .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;
            }
        }
        .op{
            display: flex;
            justify-content: space-around;
            margin-top: 20rpx;
            button{
                padding: 0;
                width: 130rpx;
                font-size: 25rpx;
            }
            .op1{
                border: 1px solid #41a863;
                color: #41a863;
            }
            .op2{
                border: 1px solid #d98d00;
                color: #d98d00;
            }
            .op3{
                border: 1px solid #3a78ff;
                color: #3a78ff;
            }
            .op4{
                border: 1px solid #da0000;
                color: #da0000;
            }
            .op5{
                border: 1px solid #888;
                color: #888;
            }
        }
    }
</style>
pages/index/tab2.vue
@@ -426,6 +426,13 @@
                    },
                    {
                        "img": "../../static/icon/icon8.png",
                        "text": "模具报废出库单列表",
                        "url": "/pages/MJGL/MouldScrapOutBill/MouldScrapOutBillList",
                        "id": 51,
                        "hidden": false
                    },
                    {
                        "img": "../../static/icon/icon8.png",
                        "text": "装箱单暂存列表",
                        "url": "/pages/zhuangxiangdan/table",
                        "id": 52,