南骏 池
2025-05-30 0b3b3c54a8a6e4012cea104f1c63965215daeff2
1.首检检验表格生成
已修改2个文件
156 ■■■■ 文件已修改
H5/IPQC_SJ/Add.aspx 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/Js/IPQC_SJ/Add.js 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/IPQC_SJ/Add.aspx
@@ -32,12 +32,12 @@
            }
            /* 标题样式 */
            .custom-label .van-cell__title {
              font-size: 0.28rem !important;
              line-height: 1.0;
              color: #fff !important;
              background-color: #1989fa; /* 品牌蓝色 */
              color: #1989fa !important; /* 修改为蓝色 */
              background-color: transparent !important; /* 透明背景 */
              border: 1px solid #1989fa; /* 添加蓝色边框 */
              padding: 0.1rem 0.1rem;
              border-radius: 0.12rem;
              margin: 0.1rem 0;
@@ -92,7 +92,7 @@
            }
            .van-field__control {
                text-align: center;
                text-align: left;
                padding: 4px 8px;
/*                border: 1px solid #ccc;*/
                border-radius: 4px;
@@ -101,6 +101,7 @@
            /* 新增局部样式 */
            .temperature-input .van-field__control,
            .flow-input .van-field__control {
              text-align: center;
                font-size: 0.16rem !important;
                color: blue !important;
            }
@@ -181,7 +182,7 @@
                  </template>
              </van-field>
              <!-- 新增炙热性能按钮 -->
              <van-tag type="primary" style="font-size:15px" @click="openZrPopup">炙热性能</van-tag>
              <!-- <van-tag type="primary" style="font-size:15px" @click="openZrPopup">炙热性能</van-tag> -->
            <van-dialog v-model="showDialog" title="不合格描述" :show-cancel-button="false"  @confirm="remarksConfirm">
              <van-field
                v-model="remarks"
@@ -228,24 +229,31 @@
        
                       <van-col span="10" center class="text-left padding-left" >
                           <van-cell center
                            center :title="item.fcheckItem" @click="togglePopup(index)"></van-cell>
                            center
                            :title="item.fcheckItem"
                            @click="togglePopup(index)">
                        </van-cell>
                      </van-col>
                      <van-col span="8" >
                            <van-cell center 
                                center :title="item.fenterQty + '/' + item.checkQyt" @click="togglePopup(index)"></van-cell>
                                center :title="item.fenterQty + '/' + item.checkQyt"
                                @click="togglePopup(index)"></van-cell>
                        </van-col>
                      <van-col center span="6" >
                          <van-cell center
                            center v-if="item.fcheckResu === 'Y:合格'">
                            <van-tag round  plain type="success" style="font-size:15px" @click="togglePopup(index)">合格</van-tag>
                            <van-tag round  plain type="success"
                                @click="togglePopup(index)">合格</van-tag>
                          </van-cell>
                          <van-cell center
                          center v-else-if="item.fcheckResu === 'N:不合格'">
                          <van-tag round plain type="danger" style="font-size:15px" @click="togglePopup(index)">不合格</van-tag>
                          <van-tag round plain type="danger"
                              @click="togglePopup(index)">不合格</van-tag>
                        </van-cell>
                            <van-cell center
                              center v-else >
                              <van-tag round plain type="warning" style="font-size:15px" @click="togglePopup(index)">进行中</van-tag>
                              <van-tag round plain type="warning"
                                  @click="togglePopup(index)">进行中</van-tag>
                            </van-cell>
                      </van-col>
                      
@@ -289,9 +297,11 @@
                              
                              <van-field label="检测结果" colon="true" readonly >
                                   <template #input>
                                       <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 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>
@@ -314,6 +324,14 @@
                                 show-word-limit
                             />
                            </van-dialog>
                            <van-button
                            block
                            type="info"
                            @click="openZrPopup"
                            :loading="ttrre"
                            loading-text="加载中..."
                            v-if="jymxData.fcheckItem === '制热性能'"
                        >制热性能录入</van-button>
                             
                    </template>
                    <template>
@@ -474,7 +492,7 @@
              </div>
              <van-button 
              block 
              type="danger"
              type="info"
              @click="createTb" 
              style="margin-top: 8px;"
            >生成表格</van-button>
@@ -523,6 +541,12 @@
                </div>
              </van-cell-group>
          </div>
          <van-button
          block
          type="primary"
          @click="saveTableConfig"
          style="margin-top: 8px;"
        >保存</van-button>
          </div>
          </van-popup>
@@ -532,7 +556,7 @@
  <%--<comback ></comback>--%>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" Runat="Server">
 <script src="../Js/IPQC_SJ/Add.js?<%=111112111146 %>"></script>
 <script src="../Js/IPQC_SJ/Add.js?<%=111112111148 %>"></script>
</asp:Content>
H5/Js/IPQC_SJ/Add.js
@@ -6,6 +6,7 @@
            formTbData: {         // 表单数据
            temperatureData: {} // 存储的实际温度、实际流量数据
            },
            indexZrxx:0,//制热性能index
            headers: [],
            showZr: false,
            waterOptions: [
@@ -39,8 +40,8 @@
                { value: '550ml', text: '550ml' },
                { value: '750ml', text: '750ml' },
                { value: '999ml', text: '999ml' },
                { value: '1min', text: '一分钟流量' },
                { value: '3min', text: '三分钟流量' }
                { value: '一分钟流量', text: '一分钟流量' },
                { value: '三分钟流量', text: '三分钟流量' }
            ],//流量选项
            selectedWater: [],// 已选水温值
            selectedFlow: [],   // 已选流量值
@@ -129,16 +130,16 @@
        },
        openZrPopup() {
        openZrPopup(index) {
            this.showZr = true;
            this.indexZrxx = this.tabActive;
            this.loadTableConfig();
        },
        closeZrPopup() {
            this.showZr = false;
            this.selectedWater = [];  // 关闭时清空选择
            this.selectedFlow = [];   // 关闭时清空选择
            // this.selectedWater = [];  // 关闭时清空选择
            // this.selectedFlow = [];   // 关闭时清空选择
        },
        //针对没有上下限值的数据,只需选择合格或不合格.按钮触发
        handleQualified(isQualified) {
            var input = "";
@@ -548,7 +549,7 @@
            const headers = [
                '设定温度', 
                '实际温度(℃)', 
                ...this.selectedFlow.sort().map(f => `流量${f}`)
                ...this.selectedFlow.sort().map(f => `${f}`)
            ];
            this.headers = headers;
            console.log(this.headers);
@@ -580,5 +581,90 @@
            }, 100);
            console.log(this.formTbData);
        },
        // 新增保存配置方法
        saveTableConfig() {
            const that = this;
            that.isLoading = true;
            that.AxiosHttp("post", 'Ipqc/SaveTableConfig', {
                selectedWater: (that.selectedWater),
                selectedFlow: (that.selectedFlow),
                tableData: (that.formTbData.temperatureData),
                mxguid: that.tableData[that.indexZrxx].guid // 使用主表ID关联
            }, true).then(res1 => {
                if (res1.status === 0) {
                    that.$notify({ type: 'success', message: '配置保存成功' });
                } else {
                    that.$toast.fail(res1.rtnMsg);
                }
                that.isLoading = false;
            }).catch(error => {
                that.$toast.fail("网络错误,请重试!");
                that.isLoading = false;
            });
        },
        // 新增加载配置方法
        loadTableConfig() {
            const that = this;
            that.isLoading = true;
            var mxguid =  that.tableData[that.indexZrxx].guid;
            that.AxiosHttp("post", 'Ipqc/GetTableConfig', {
                mxguid: mxguid,
            }, true).then(res1 => {
                if (res1.status === 0 && res1.data) {
                    // 解析存储的数据
                    that.selectedWater = JSON.parse(res1.data.selectedWater || '[]');
                    that.selectedFlow = JSON.parse(res1.data.selectedFlow || '[]');
                    that.formTbData.temperatureData = JSON.parse(res1.data.tableData || '{}');
                    // 调用新的渲染方法
                    this.renderExistingTable();
                }
                that.isLoading = false;
            }).catch(error => {
                that.isLoading = false;
                that.$toast.fail("加载配置失败");
            });
        },
        // 新增渲染已有数据表格的方法
        renderExistingTable() {
            const that = this;
            console.log(that.formTbData.temperatureData);
            // 从现有数据反向推导选择项
            const existingWaters = Object.keys(that.formTbData.temperatureData);
            const existingFlows = existingWaters.length > 0
                ? Object.keys(that.formTbData.temperatureData[existingWaters[0]])
                    .filter(k => k !== 'temp')
                : [];
            // 生成表头(保留原始createTb的格式)
            that.headers = [
                '设定温度',
                '实际温度(℃)',
                ...existingFlows.map(f => `${f}`)
            ];
            // 生成行数据(保留原始结构)
            that.tableTbData = existingWaters.map(water => {
                const values = that.formTbData.temperatureData[water];
                return {
                    temperature: water,
                    values: Object.fromEntries([
                        ['temp', values.temp || ''],
                        ...existingFlows.map(flow => [flow, values[flow] || ''])
                    ])
                };
            });
            console.log(that.formTbData.temperatureData);
            // 保留原始滚动逻辑
            setTimeout(() => {
                const tableEl = document.getElementById('temperature-table');
                if (tableEl) tableEl.scrollIntoView({ behavior: 'smooth' });
            }, 100);
            console.log(that.formTbData.temperatureData);
        },
    }
})