fcx
2025-12-06 93b04dfa60b2128273cd070269d8eaaeb14e15e8
pages/QC/SJ/ProductionLineSubmit.vue
@@ -30,6 +30,25 @@
          <button class="search-button" @click="handleSearch">搜索</button>
        </view>
      </view>
      <!-- 添加状态筛选和日期选择器(仅在已提交页面显示) -->
      <view class="filter-controls" style="margin-bottom: 5px;">
        <view class="dropdown-filter" v-if="currentTab === 1">
          <picker @change="onStateChange" :value="stateIndex" :range="state">
            <view class="picker">{{state[stateIndex]}}</view>
          </picker>
        </view>
        <view class="dropdown-filter" v-if="currentTab === 1">
          <picker mode="date" :value="startDate" :end="endDate" @change="bindStartDate">
            <view class="picker">{{startDate}}</view>
          </picker>
        </view>
        <view class="dropdown-filter" v-if="currentTab === 1">
          <picker mode="date" :value="endDate" :start="startDate" @change="bindEndDate">
            <view class="picker">{{endDate}}</view>
          </picker>
        </view>
      </view>
    </view>
    <!-- 头部信息 -->
@@ -140,7 +159,12 @@
      uncheckedCount: 0,
      checkedCount: 0,
      optionsIndex: 0, // 新增:下拉选项索引
      options: ['项目', '线体', '工单号', '物料号', '物料名'] // 新增:搜索选项
      options: ['项目', '线体', '工单号', '物料号', '物料名'], // 新增:搜索选项
      // 添加状态筛选和日期选择器相关变量
      stateIndex: 0,
      state: ['所有状态', '合格', '不合格'],
      startDate: new Date().toISOString().slice(0, 10),
      endDate: new Date().toISOString().slice(0, 10)
    };
  },
@@ -161,6 +185,27 @@
      this.optionsIndex = e.detail.value;
    },
    
    // 新增:状态筛选改变事件
    onStateChange(e) {
      this.pageIndex = 1;
      this.stateIndex = e.detail.value;
      this.data = [];
      console.log("状态筛选改变,选中状态:", this.state[this.stateIndex]);
      this.init();
    },
    // 新增:开始日期改变事件
    bindStartDate(e) {
      this.startDate = e.detail.value;
      console.log("开始日期改变:", this.startDate);
    },
    // 新增:结束日期改变事件
    bindEndDate(e) {
      this.endDate = e.detail.value;
      console.log("结束日期改变:", this.endDate);
    },
    // 新增:搜索按钮点击事件
    handleSearch() {
      this.pageIndex = 1;
@@ -174,6 +219,10 @@
        this.currentTab = tabIndex;
        this.data = [];
        this.pageIndex = 1;
        // 重置筛选条件
        this.stateIndex = 0;
        this.startDate = new Date().toISOString().slice(0, 10);
        this.endDate = new Date().toISOString().slice(0, 10);
        await this.init();
      }
    },
@@ -185,6 +234,19 @@
      const userName = this.$loginInfo.account;
      const result = this.currentTab === 1 ? "已完成" : "未完成";
      // 打印筛选参数
      console.log("筛选参数:", {
        pageIndex: this.pageIndex,
        limit: this.limit,
        statusUser: userName,
        status: this.currentTab,
        searchValue: this.searchValue,
        selectedIndex: this.optionsIndex,
        state: this.state[this.stateIndex],
        startDate: this.startDate,
        endDate: this.endDate
      });
      try {
        const res = await this.$post({
          url: "/ProductionLine/GetProductionLinePage",  // 产线提交接口
@@ -194,9 +256,15 @@
            statusUser: userName,
            status: this.currentTab,  // 0: 未提交, 1: 已提交
            searchValue: this.searchValue,
            selectedIndex: this.optionsIndex // 新增:传递搜索选项索引
            selectedIndex: this.optionsIndex, // 新增:传递搜索选项索引
            // 添加状态筛选和日期筛选参数
            state: this.state[this.stateIndex],
            startDate: this.startDate,
            endDate: this.endDate
          }
        });
        console.log("API返回数据:", res);
        let list = res.data.tbBillList || [];
        
@@ -208,6 +276,53 @@
          list = [...failedItems, ...otherItems];
        }
        
        // 如果是已提交页面,进行前端筛选
        if (this.currentTab === 1) {
          // 状态筛选
          if (this.stateIndex > 0) {
            const selectedState = this.state[this.stateIndex];
            console.log("前端状态筛选:", selectedState);
            if (selectedState === '合格') {
              list = list.filter(item => item.result === '合格');
            } else if (selectedState === '不合格') {
              list = list.filter(item => item.result === '不合格');
            }
          }
          // 日期范围筛选
          if (this.startDate || this.endDate) {
            console.log("前端日期筛选:", this.startDate, "到", this.endDate);
            const startDateObj = this.startDate ? new Date(this.startDate) : null;
            const endDateObj = this.endDate ? new Date(this.endDate) : null;
            // 设置开始日期的时间为当天的开始时间 (00:00:00)
            if (startDateObj) {
              startDateObj.setHours(0, 0, 0, 0);
            }
            // 设置结束日期的时间为当天的结束时间 (23:59:59)
            if (endDateObj) {
              endDateObj.setHours(23, 59, 59, 999);
            }
            list = list.filter(item => {
              if (item.createTime) {
                const itemDate = new Date(item.createTime);
                let isValid = true;
                if (startDateObj && itemDate < startDateObj) {
                  isValid = false;
                }
                if (endDateObj && itemDate > endDateObj) {
                  isValid = false;
                }
                return isValid;
              }
              return true;
            });
          }        }
        if (this.pageIndex === 1) {
          this.data = list;
        } else {
@@ -675,5 +790,4 @@
  transform: translateY(0);
  height: 40px;
  opacity: 1;
}
</style>
}</style>