zjh
2025-09-12 2ba045658a9e6a1a28cf0bdf1a751395ad283c62
iqc提交检验时,会判断是否要提交异常处置单
已修改2个文件
已添加1个文件
199 ■■■■ 文件已修改
pages.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/QC/LLJ/Add.vue 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/QC/LLJ/IqcYcczFrom.vue 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json
@@ -154,6 +154,13 @@
            }
        },
        {
            "path": "pages/QC/LLJ/IqcYcczFrom",
            "style": {
                "navigationBarTitleText": "IQC异常处置单",
                "enablePullDownRefresh": false
            }
        },
        {
            "path": "pages/QC/LLJ/yzxFrom",
            "style": {
                "navigationBarTitleText": "一致性核对",
pages/QC/LLJ/Add.vue
@@ -79,6 +79,7 @@
        <!-- <a class="sysLike"v-if="this.current" @click="toSysSubmitFrom(formData.releaseNo)">实验室送检</a>
        <a class="sysLike" @click="toYzxSubmitFrom(formData.releaseNo)">一致性核对</a>
         -->
      <button class="secondary-btn" v-if="!this.current" @click="toYCCZFrom(formData.releaseNo)">异常处置单</button>
      <button class="secondary-btn" v-if="this.current" @click="toSysSubmitFrom(formData.releaseNo)">实验室送检</button>
      <button class="secondary-btn" @click="toYzxSubmitFrom(formData.releaseNo)">一致性核对</button>
      <button class="secondary-btn" v-if="this.current"  @click="getInspectionItems">获取检验项目</button>
@@ -278,29 +279,66 @@
            releaseNo: this.formData.releaseNo
        }
    }).then(res => {
     if (res.status==0) {
         uni.showToast({
             title: res.message.toString(),
             icon: 'success',
             duration: 2000
         })
          // å¦‚果有页面跳转,需要用定时器延迟
                 setTimeout(() => {
                    if(this.type==="A"){
                        uni.navigateTo({
                            url: 'ScanCode'
                        });
                    }else{
                        uni.navigateTo({
                            url: 'List'
                        });
                    }
                    // uni.navigateTo({
                    //     url: 'List'
                    // });
                 }, 2000); // ä¿æŒä¸Ž duration ç›¸åŒçš„æ—¶é•¿
            if(res.message.toString()=='IQC提交成功!请提交异常处置单'){
                uni.showModal({
                  title: "提示",
                  content: res.message.toString(),
                  confirmText: "确定",
                  cancelText: "取消", // å¦‚果要自定义取消按钮文字
                  showCancel: true,   // å…è®¸æ˜¾ç¤ºå–消按钮
                  success: (res) => {
                      debugger
                    if (res.confirm) {
                      uni.navigateTo({
                          url: 'IqcYcczFrom?releaseNo=' +  this.formData.releaseNo+'&userID='+this.$loginInfo.account+'&qty='+this.formData.fcovertQty
                      });
                    } else if (res.cancel) {
                      // å¦‚果有页面跳转,需要用定时器延迟
                             setTimeout(() => {
                                                  if(this.type==="A"){
                                                      uni.navigateTo({
                                                          url: 'ScanCode'
                                                      });
                                                  }else{
                                                      uni.navigateTo({
                                                          url: 'List'
                                                      });
                                                  }
                                                  // uni.navigateTo({
                                                  //     url: 'List'
                                                  // });
                             }, 2000); // ä¿æŒä¸Ž duration ç›¸åŒçš„æ—¶é•¿
                    }
                  }
                })
            }else{
                uni.showToast({
                    title: res.message.toString(),
                    icon: 'success',
                    duration: 2000
                })
                 // å¦‚果有页面跳转,需要用定时器延迟
                        setTimeout(() => {
                            if(this.type==="A"){
                                uni.navigateTo({
                                    url: 'ScanCode'
                                });
                            }else{
                                uni.navigateTo({
                                    url: 'List'
                                });
                            }
                            // uni.navigateTo({
                            //     url: 'List'
                            // });
                        }, 2000); // ä¿æŒä¸Ž duration ç›¸åŒçš„æ—¶é•¿
            }
         
     } else {
         uni.showModal({
@@ -388,6 +426,11 @@
            url: 'SysSubmitFrom?releaseNo=' + releaseNo+'&userID='+this.$loginInfo.account
        });
    },
    toYCCZFrom(releaseNo){
        uni.navigateTo({
            url: 'IqcYcczFrom?releaseNo=' + releaseNo+'&userID='+this.$loginInfo.account+'&qty='+this.formData.fcovertQty
        });
    },
    toYzxSubmitFrom(releaseNo){
        uni.navigateTo({
            url: 'yzxFrom?id=' +this.formData.id+'&current='+this.current
pages/QC/LLJ/IqcYcczFrom.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,105 @@
<template>
    <view class="form-container">
        <u--form :model="formData" ref="uForm">
            <u-form-item label="检验单号" label-width="150rpx">
                <u-input v-model="formData.PI_BILLNO" disabled />
            </u-form-item>
            <u-form-item label="用户" label-width="150rpx">
                <u-input v-model="formData.PI_USER" disabled />
            </u-form-item>
            <u-form-item label="批次数量" label-width="150rpx">
                <u-input v-model="formData.PI_QTY" disabled />
            </u-form-item>
            <u-form-item label="不良数量" label-width="150rpx" prop="PI_BADQTY" :required="true">
                <u-input v-model="formData.PI_BADQTY" type="digit" placeholder="请输入不良数量" />
            </u-form-item>
            <u-button type="primary" @click="submitForm" class="submit-btn">
                æäº¤
            </u-button>
        </u--form>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                formData: {
                    PI_BILLNO: '',   // æ£€éªŒå•号
                    PI_USER: '',     // å§”托人
                    PI_QTY: '',      // æ‰¹æ¬¡æ•°é‡
                    PI_BADQTY: ''    // ä¸è‰¯æ•°é‡
                },
                rules: {
                    PI_BILLNO: [{ required: true, message: '请输入检验单号', trigger: 'change' }],
                    PI_USER: [{ required: true, message: '请输入委托人', trigger: 'change' }],
                    PI_BADQTY: [
                        { required: true, message: '请输入不良数量', trigger: 'change' },
                        {
                            validator: (rule, value, callback) => {
                                if (value === '' || value === null) {
                                    return new Error('请输入不良数量');
                                }
                                // å¿…须是非负数字(整数或小数)
                                if (!/^\d+(\.\d+)?$/.test(value)) {
                                    return new Error('请输入非负数字');
                                }
                                // è½¬æˆæµ®ç‚¹æ•°æ¯”较
                                const badQty = parseFloat(value);
                                const totalQty = parseFloat(this.formData.PI_QTY || 0);
                                if (badQty > totalQty) {
                                    return new Error('不良数量不能大于批次数量');
                                }
                                return true;
                            },
                            trigger: 'change'
                        }
                    ]
                }
            };
        },
        methods: {
            onReady() {
                this.$refs.uForm.setRules(this.rules);
            },
            onLoad(options) {
                this.formData.PI_BILLNO = options.releaseNo || '';
                this.formData.PI_USER = options.userID || '';
                this.formData.PI_QTY = options.qty || '';
            },
            async submitForm() {
                try {
                    const valid = await this.$refs.uForm.validate();
                    if (valid) {
                        this.$post({
                            url: "/LLJ/SaveYcczSubmit",
                            data: JSON.stringify(this.formData)
                        }).then(res => {
                            if (res.status == 0) {
                                uni.showToast({ title: '提交成功', icon: 'success' });
                                setTimeout(() => uni.navigateBack(), 2000);
                            } else {
                                uni.showToast({ title: res.message, icon: 'error' });
                            }
                        });
                    }
                } catch (error) {
                    uni.showToast({ title: '请填写必填项', icon: 'error' });
                }
            }
        }
    };
</script>
<style>
    .form-container {
        padding: 30rpx;
    }
    .submit-btn {
        margin-top: 60rpx;
    }
</style>