南骏 池
2025-06-02 1aa48962bf1ae1ea53d7bca7eccdf3bc074fdda4
1.首检开发-v1
已修改2个文件
264 ■■■■■ 文件已修改
H5/IPQC_SJ/Add.aspx 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Js/IPQC_SJ/Add.js 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/IPQC_SJ/Add.aspx
@@ -105,6 +105,28 @@
                font-size: 0.16rem !important;
                color: blue !important;
            }
            /* 步进器样式 */
            .van-stepper__input
            {
              width: .5rem;
              height: .4rem;
            }
            .van-stepper__minus,.van-stepper__plus
            {
              width: .5rem;
              height: .4rem;
            }
            /* 单选框大小 */
            .van-radio__icon
            {
                -webkit-box-flex: 0;
                -webkit-flex: none;
                flex: none;
                height: 1em;
                font-size: .3333rem
            }
         
        </style>
</asp:Content>
@@ -285,35 +307,83 @@
                              <van-field label="项目名称" colon="true" v-model="jymxData.fcheckItem" readonly ></van-field>
                              <van-field label="规格要求" colon="true" v-model="jymxData.fspecRequ" readonly ></van-field>
                              <van-field label="检验工具" colon="true" v-model="jymxData.fcheckTool" readonly ></van-field>
                              <van-field label="检验数" colon="true" v-model="jymxData.checkQyt" readonly ></van-field>
                              <!-- <van-field label="检验数" colon="true" v-model="jymxData.checkQyt" readonly ></van-field> -->
                              <van-field label="下限" colon="true" v-model="jymxData.fdownAllow" readonly ></van-field>
                              <van-field label="标准值" colon="true" v-model="jymxData.fstand" readonly ></van-field>
                              <van-field label="上限" colon="true" v-model="jymxData.fupAllow" readonly ></van-field>
                              <%--<van-field label="AC数" colon="true" v-model="jymxData.facQty" readonly ></van-field>--%>
                              <van-field label="RE数" colon="true" v-model="jymxData.freQty" readonly ></van-field>
                              <van-field label="样本数" colon="true" v-model="jymxData.ybsl" readonly ></van-field>
                              <!-- <van-field label="RE数" colon="true" v-model="jymxData.freQty" readonly ></van-field> -->
                              <!-- <van-field label="样本数" colon="true" v-model="jymxData.ybsl" readonly ></van-field> -->
                              <%--<van-field label="预览结果" colon="true" v-model="jymxData.result" readonly ></van-field>--%>
                              <%--<van-field label="结果录入" colon="true" v-model="resultValue"  placeholder="请输入OK-数字或NG-数字"></van-field>--%>
                              
                              <van-field label="检测结果" colon="true" readonly >
                                   <template #input>
                                       <div style="text-align: center;">
                                           <van-tag round plain v-if="jymxData.fcheckResu === 'Y:合格'" type="success">合格</van-tag>
                                           <van-tag round plain v-else-if="jymxData.fcheckResu === 'N:不合格'" type="danger">不合格</van-tag>
                                           <van-tag round plain v-else type="warning">进行中</van-tag>
                                       </div>
                                   </template>
                                </van-field>
                              <van-field label="生产日期" v-if="jymxData.fcheckType === '关键部件一致性'" colon readonly class="wrap-field">
                                <template #input>
                                    <div class="wrap-content" @click="showScDatePicker = true">{{ jymxData.ipqcrzxxDate || '请选择日期' }}</div>
                                </template>
                                <!-- <template #button>
                                  <van-tag type="primary" style="font-size:15px" @click="showScDatePicker = true">选择</van-tag>
                                </template> -->
                            </van-field>
                            <!-- 只有当 jymxData.fcheckType 等于 "品水测试" 时才显示该字段 -->
                            <van-field v-if="jymxData.fcheckType === '品水测试'" label="是否有异味" colon="true" readonly>
                              <template #input>
                                <van-radio-group
                                  v-model="jymxData.ipqCpscs"
                                  direction="horizontal"
                                  class="custom-radio-group"
                                  @change="updateCpscs">
                                  <van-radio name="Y" shape="square">有</van-radio>
                                  <van-radio name="N" shape="square">无</van-radio>
                                </van-radio-group>
                              </template>
                            </van-field>
                              <van-field label="认证信息"   v-if='jymxData.isrzxx == 1' colon v-model="rzxxValue" placeholder="请输入认证信息" readonly class="wrap-field">
                                   <template #input>
                                       <div class="wrap-content">{{ rzxxValue }}</div>
                                     </template>
                              <van-field
                                label="使用数量"
                                colon="true"
                                v-if="jymxData.fcheckType === '关键部件一致性'">
                                <template #input>
                                  <van-stepper
                                    v-model="jymxData.ipqcrzxxNum"
                                    integer
                                    @change="updateRzxxNum(jymxData.ipqcrzxxNum)"
                                  />
                                </template>
                              </van-field>
                              <van-field label="认证信息"   v-if="jymxData.fcheckType === '关键部件一致性'" colon v-model="jymxData.ipqcrzxx" placeholder="请选择认证信息"  class="wrap-field" readonly>
                                   <template #button>
                                     <van-tag type="primary" style="font-size:15px" @click="updateRzxx()">输入</van-tag>
                                     <van-tag type="primary" style="font-size:15px" @click="selectRzxx()">选择</van-tag>
                                   </template>
                               </van-field>
                             <van-dialog v-model="showDialogRzxx" title="认证信息" :show-cancel-button="false"  @confirm="rzxxConfirm">
                               <van-action-sheet
                                  v-model="showRzxx"
                                  :actions="actions"
                                  @select="onRzxxSelect"
                                  title="请选择认证信息">
                              </van-action-sheet>
                            <van-popup v-model="showScDatePicker" position="bottom">
                              <van-datetime-picker
                                v-model="currentDate"
                                type="date"
                                title="选择生产日期"
                                :min-date="minDate"
                                :max-date="maxDate"
                                @confirm="confirmScDate"
                                @cancel="showScDatePicker = false"
                              />
                            </van-popup>
                               <template #input>
                                    <div class="wrap-content">{{ rzxxValue }}</div>
                                  </template>
                                <template #button>
                                  <van-tag type="primary" style="font-size:15px" @click="selectRzxx()">选择</van-tag>
                                </template>
                            </van-field>
                             <!-- <van-dialog v-model="showDialogRzxx" title="认证信息" :show-cancel-button="false"  @confirm="rzxxConfirm">
                               <van-field
                                 v-model="rzxxValue"
                                 rows="5"
@@ -323,15 +393,25 @@
                                 placeholder="请输入认证信息"
                                 show-word-limit
                             />
                            </van-dialog>
                            </van-dialog> -->
                            <van-button 
                            block 
                            type="info" 
                            @click="openZrPopup"
                            :loading="ttrre"
                            loading-text="加载中..."
                            v-if="jymxData.fcheckItem === '制热性能'"
                            v-if="jymxData.fcheckType === '制热性能'"
                        >制热性能录入</van-button>
                        <van-field label="检测结果" colon="true" readonly >
                          <template #input>
                              <div style="text-align: center;">
                                  <van-tag round plain v-if="jymxData.fcheckResu === 'Y:合格'" type="success">合格</van-tag>
                                  <van-tag round plain v-else-if="jymxData.fcheckResu === 'N:不合格'" type="danger">不合格</van-tag>
                                  <van-tag round plain v-else type="warning">进行中</van-tag>
                              </div>
                          </template>
                       </van-field>
                             
                    </template>
                    <template>
@@ -556,7 +636,7 @@
  <%--<comback ></comback>--%>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" Runat="Server">
 <script src="../Js/IPQC_SJ/Add.js?<%=111112111148 %>"></script>
 <script src="../Js/IPQC_SJ/Add.js?<%=111112111154 %>"></script>
</asp:Content>
H5/Js/IPQC_SJ/Add.js
@@ -98,6 +98,17 @@
                //    message: '上传失败',
                //},
            ],
            //时间选择参数
            showScDatePicker: false,
            minDate: new Date(new Date().getFullYear() - 1, 0, 1),  // 过去一年
            maxDate: new Date(new Date().getFullYear() + 1, 11, 31), // 未来一年
            currentDate: new Date(),
            scDate: '',  // 存储格式化后的日期
            //认证信息选择
            showRzxx: false,
            actions: [],
        }
    },
    mounted() {
@@ -342,9 +353,10 @@
            this.showDialog= true
        },
        updateRzxx() {
            this.showDialogRzxx = true
        },
        // updateRzxx() {
        //     this.showDialogRzxx = true
        // },
        //删除检验明细记录
        deleteDetail13(guid12) {
            const that = this;
            var guid1 = that.formData.guid;//主表id
@@ -380,6 +392,7 @@
                that.isLoading = false;
            });
        },
        //更新认证信息
        rzxxConfirm() {
            var that = this;
            var guid1 = that.formData.guid;//主表id
@@ -393,7 +406,7 @@
                var json = res;
                if (json.status == 0) {
                    that.$notify({ type: 'success', message: '输入成功' });
                    that.refreshJYItem();//刷新检验项目
                    //that.refreshJYItem();//刷新检验项目
                }
                else {
                    that.$toast.fail(json.message);
@@ -406,6 +419,7 @@
                that.isLoading = false;
            });
        },
        //更新不合格表述
        remarksConfirm() {
            const that = this;
            that.isLoading = true;
@@ -666,5 +680,125 @@
            }, 100);
            console.log(that.formTbData.temperatureData);
        },
        //保存生产日期
        confirmScDate(value) {
            const date = new Date(value);
            this.scDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
            //this.rzxxValue = this.scDate; // 同时更新认证信息字段
            console.log(this.scDate);
            var that = this;
            var guid1 = that.formData.guid;//主表id
            var mxguid = that.tableData[that.tabActive].guid;//检验项目的guid
            that.isLoading = true;
            that.AxiosHttp("post", 'Ipqc/updateScDate', {
                gid: guid1,
                mxguid: mxguid,
                scDateValue: that.scDate,//输入的认证信息
            }, true, 0).then(function (res) {
                var json = res;
                if (json.status == 0) {
                    that.$notify({ type: 'success', message: '输入成功' });
                    that.refreshJYItem();//刷新检验项目
                }
                else {
                    that.$toast.fail(json.message);
                }
                //that.$notify({ type: 'success', message: json.message });
                that.isLoading = false;
            }).catch(function (error) {
                that.$toast.fail("网络错误,请重试!");
                that.inRzxxValue = null;
                that.isLoading = false;
            });
            this.showScDatePicker = false;
        },
        selectRzxx() {
            this.showRzxx = true;
            this.getRzxxList();
        },
        //获取认证信息相关列表
        getRzxxList() {
            var that = this;
            that.isLoading = true;
            var mxguid = that.tableData[that.tabActive].guid;//检验项目的guid
            that.AxiosHttp("post", 'Ipqc/GetRzxxList', {
                // 根据实际接口需要传递参数
                mxguid: mxguid,
            }, false)
            .then(function (res) {
                if (res.status == 0) {
                    that.actions = res.data.tbBillList.map(item => {
                        return { name: item.defect_name } // 根据实际数据结构调整
                    });
                } else {
                    that.$toast.fail(res.message);
                }
                that.isLoading = false;
            })
            .catch(function (error) {
                that.isLoading = false;
                that.$toast.fail("获取认证信息失败");
            });
        },
        //选择认证信息
        onRzxxSelect(item) {
            this.showRzxx = false;
            this.rzxxValue = item.name;
            this.rzxxConfirm();
            //this.refreshJYItem();//刷新检验项目
            // 如果需要获取详细信息可在此处调用其他方法
        },
        //更新认证信息使用数量
        updateRzxxNum(value, index) {
            // 添加防抖判断
            if (this.isLoading) {
                return;
            }
            const that = this;
            that.isLoading = true;
            that.AxiosHttp("post", 'Ipqc/saveIpqcrzxxNum', {
                guid: that.tableData[that.tabActive].guid,
                ipqcrzxxNum: value
            }, true, 0).then(res => {
                if (res.status == 0) {
                    //that.$notify({ type: 'success', message: '数量更新成功' });
                    //that.refreshJYItem();//刷新检验项目
                } else {
                    that.$toast.fail(res.rtnMsg);
                }
                that.isLoading = false;
            }).catch(error => {
                that.isLoading = false;
                that.$toast.fail("网络错误,请重试!");
            });
        },
        //更新是否有无异味
        updateCpscs(value) {
            // 添加防抖判断
            if (this.isLoading) {
                return;
            }
            const that = this;
            that.isLoading = true;
            if (!value) return;
            that.AxiosHttp("post", 'Ipqc/saveIpqCpscs', {
                guid: that.tableData[that.tabActive].guid,
                ipqCpscs: value
            }, true, 0).then(res => {
                if (res.status == 0) {
                    //that.refreshJYItem();
                } else {
                    that.$toast.fail(res.rtnMsg);
                }
                that.isLoading = false;
            }).catch(error => {
                that.isLoading = false;
                that.$toast.fail("网络错误,请重试!");
            });
        },
    }
})