南骏 池
2025-03-20 14b1756e21ba4401ce5916f035576804f4be5878
H5/Js/LLJ/Add.js
@@ -28,6 +28,8 @@
            tableData: [],//返回的检验项目
            jymxData: [],//展示的检验项目
            okNum:'',//合格数
            ngNum: '',//不合格数
            ttrre: false,
            show: false,
            tableMxData: [],
@@ -35,8 +37,8 @@
            inputValue: '',//特征值输入
            resultValue: '',//检验结果录入
            showButton: false,//右上角菜单触发
            okValue: '',
            ngValue: ''
            okValue: '',//OK-数量
            ngValue: ''//NG-数量
        }
    },
    mounted() {
@@ -51,6 +53,23 @@
        this.init();
    },
    methods: {
        // 输入过滤
        handleNumberInput1(value) {
            // 去除非数字并确保首位不为0(除非是单独的0)
            this.okValue = value.replace(/[^\d]/g, '') // 去除非数字字符
                .replace(/^0+(?!$)/, ''); // 去除开头的0,除非整个字符串是0
        },
        handleNumberInput2(value) {
            // 去除非数字并确保首位不为0(除非是单独的0)
            this.ngValue = value.replace(/[^\d]/g, '') // 去除非数字字符
                .replace(/^0+(?!$)/, ''); // 去除开头的0,除非整个字符串是0
        },
        handleNumberInput3(value) {
            this.inputValue = value.replace(/[^\d.]/g, '')  // 1. 去除非数字和小数点
                .replace(/(\..*)\./g, '$1')               // 2. 禁止多个小数点
                .replace(/^\./g, '');
        },
        togglePopup(index) {
            // 切换指定索引的 popup 状态
            var that = this;
@@ -66,6 +85,15 @@
            }, true, 1).then(function (res1) {
                if (res1.rtnCode == 1) {
                    that.tableMxData = res1.rtnData;
                    // 统计合格数和不合格数
                    const list = res1.rtnData?.list || []; // 确保 list 是数组,避免 undefined 错误
                    const okNum = list.filter(item => item.fstand === '√').length;
                    const ngNum = list.length - okNum;
                    // 将结果保存到指定变量(如 that 的成员属性)
                    that.okNum = okNum;
                    that.ngNum = ngNum;
                } else {
                    that.$toast.fail(res1.rtnMsg);
                }
@@ -77,11 +105,113 @@
        },
        handleTabClick() {
            console.log(this.tabActive)
            this.togglePopup(this.tabActive)
        getInputOK() {
            var that = this;
            var jys = that.tableData[that.tabActive].checkQyt;//检验项目的检验数
            if (jys < that.okValue) {
                that.$toast.fail("录入数量不能大于检验数!");
                that.okValue = null;
                //that.$refs.okValue.focus();
                return;
            }
            // 切换指定索引的 popup 状态
            var resultValue = "OK-" + this.okValue;
            this.getInput(resultValue);
            that.okValue = null;
        },
        getInputNG() {
            var that = this;
            var jys = that.tableData[that.tabActive].checkQyt;//检验项目的检验数
            if (jys < that.ngValue) {
                that.$toast.fail("录入数量不能大于检验数!");
                that.ngValue = null;
                //that.$refs.ngValue.focus();
                return;
            }
            // 切换指定索引的 popup 状态
            var resultValue = "NG-" + this.ngValue;
            this.getInput(resultValue);
            that.ngValue = null;
        },
        getInput(resultValue) {
            // 切换指定索引的 popup 状态
            var that = this;
            var guid1 = that.formData.guid;//主表id
            var mxguid = that.tableData[that.tabActive].guid;//检验项目的guid
            console.log(that.formData);
            var input = resultValue;//拼接检验值
            that.AxiosHttp("post", 'MesQaItemsDetect01Manager/EdtModel12', {
                inOrderGuid1: guid1,
                inOrderGuid5: mxguid,
                inP1: input,//或者0k-19,或者ng-19
            }, true, 1).then(function (res1) {
                if (res1.rtnCode == 1) {
                    that.$notify({
                        type: 'success', message: res1.rtnMsg
                    });
                    that.refreshJYItem();//刷新检验项目
                    //that.tableData = null;
                    //that.$refs.inputValue.focus();
                } else {
                    that.$toast.fail(res1.rtnMsg);
                }
            }).catch(function (error) {
                that.$toast.fail("网络错误,请重试!");
                console.log(error);
            });
        },
        getInputTZZ() {
            // 切换指定索引的 popup 状态
            var that = this;
            var mxguid = that.tableData[that.tabActive].guid;//检验项目的guid
            var input = that.inputValue;
            that.AxiosHttp("post", 'MesQaItemsDetect01Manager/EditYangLi', {
                dt05Guid: mxguid,
                fSeq : "pda",
                fVal : input,
            }, true, 1).then(function (res1) {
                if (res1.rtnData.outSum == 1) {
                    that.$notify({
                        type: 'success', message: res1.rtnMsg
                    });
                    that.okValue = null;
                    that.refreshJYItem();//刷新检验项目
                    //that.handleTabClick();//刷新检验明细面板
                    //that.$refs.inputValue.focus();
                    that.inputValue = null;
                } else {
                    that.$toast.fail(res1.rtnMsg);
                    that.inputValue = null;
                }
            }).catch(function (error) {
                that.$toast.fail("网络错误,请重试!");
                that.inputValue = null;
            });
        },
        handleTabClick() {
            console.log(this.tabActive)
            this.togglePopup(this.tabActive);
        },
        //检验明细刷新
        refreshJYItem() {
            const that = this;
            return that.AxiosHttp("post", 'LLJ/getJYItem', {
                releaseNo: that.formData.releaseNo
            }, false).then(res1 => {
                const tableData = res1.data.tbBillList || [];
                that.tableData = tableData;
                that.handleTabClick();//刷新检验明细面板
            }).catch(error => {
                that.$toast.fail("网络错误,请重试!");
                console.error('Refresh error:', error);
            });
        },
        //主页面加载
        init() {
            
            //alert(this.Request("id"));
@@ -172,24 +302,32 @@
            });
        },
        removeXJ() {
            const that = this;
            var that = this;
            // 添加确认弹窗
            that.$dialog.confirm({
                title: '操作确认',
                message: '确认要重新加载检验项目吗?',
                confirmButtonText: '确认',
                cancelButtonText: '取消'
            }).then(() => {  // 确认回调
                that.AxiosHttp("post", 'MesQaItemsDetect01Manager/ReloadModel5', {
                    guid: that.formData.guid
                }, true, 1).then(res1 => {
                    if (res1.rtnCode == 1) {
                        that.$notify({ type: 'success', message: '重新加载成功' });
                        that.init();
                    } else {
                        that.$toast.fail(res1.rtnMsg);
                    }
                }).catch(error => {
                    that.$toast.fail("网络错误,请重试!");
                    console.error('Reload error:', error);
                });
            that.AxiosHttp("post", 'MesQaItemsDetect01Manager/ReloadModel5', {
                guid: that.formData.guid
            }, true, 1).then(function (res1) {
                if (res1.rtnCode == 1) {
                    that.$notify({ type: 'success', message: '重新加载成功' });
                    that.init();
                } else {
                    that.$toast.fail(res1.rtnMsg);
                }
            }).catch(function (error) {
                that.$toast.fail("网络错误,请重试!");
                console.log(error);
            }).catch(() => {  // 取消回调
                that.$toast('已取消操作');
            });
        },
        GetBack1() {
            window.history.back();