| | |
| | | <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> |
| | | |
| | | <!-- 头部信息 --> |
| | |
| | | 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) |
| | | }; |
| | | }, |
| | | |
| | |
| | | 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; |
| | |
| | | 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(); |
| | | } |
| | | }, |
| | |
| | | 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", // 产线提交接口 |
| | |
| | | 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 || []; |
| | | |
| | |
| | | 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 { |
| | |
| | | transform: translateY(0); |
| | | height: 40px; |
| | | opacity: 1; |
| | | } |
| | | </style> |
| | | }</style> |