|
@@ -1,38 +1,7 @@
|
|
|
<template>
|
|
|
<view class="shopTourRecord-wrap">
|
|
|
<u-sticky offset-top="0">
|
|
|
- <!-- 顶部筛选条件 -->
|
|
|
- <u-dropdown ref="uDropdown" class="uDropdown">
|
|
|
- <u-dropdown-item v-model="searchForm.isAll" title="全部" :options="screenClass"></u-dropdown-item>
|
|
|
- <u-dropdown-item v-model="searchForm.inspectionMethod" title="检查方式" :options="screenMethod"></u-dropdown-item>
|
|
|
- <u-dropdown-item v-model="searchForm.state" title="状态" :options="screenState"></u-dropdown-item>
|
|
|
- <u-dropdown-item title="筛选" class="screen-dropdown">
|
|
|
- <view class="slot-content">
|
|
|
- <scroll-view class="scroll-view" scroll-y="true">
|
|
|
- <view class="screen-module">
|
|
|
- <text class="screen-tit">时间区间:</text>
|
|
|
- <view class="screen-time-val">
|
|
|
- <text @click="onShowDatePicker('range')">{{ range.length == 0 ? '请选择' : range[0] + '~' + range[1] }}</text>
|
|
|
- <u-icon v-show="range.length != 0" name="close-circle-fill" color="#c8c0cc" size="32" class="close-circle" @click="range=[]"></u-icon>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="screen-module">
|
|
|
- <text class="screen-tit">门店:</text>
|
|
|
- <view class="screen-inp-val">
|
|
|
- <u-input class="screen-inp" v-model="searchForm.store" :height="52" placeholder="请输入" type="text" :border="true" />
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="screen-module">
|
|
|
- <text class="screen-tit">巡店人:</text>
|
|
|
- <view class="screen-inp-val">
|
|
|
- <u-input class="screen-inp" v-model="searchForm.shopInspector" :height="52" placeholder="请输入" type="text" :border="true" />
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </scroll-view>
|
|
|
- <u-button type="primary" @click="closeDropdown">确定</u-button>
|
|
|
- </view>
|
|
|
- </u-dropdown-item>
|
|
|
- </u-dropdown>
|
|
|
+ <screenModule :defaultParams="searchForm" @refresh="refresh" />
|
|
|
</u-sticky>
|
|
|
<!-- 列表数据 -->
|
|
|
<view class="list-con">
|
|
@@ -76,73 +45,38 @@
|
|
|
</u-grid>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <u-empty :text="noDataText" img-width="120" v-if="list.length == 0 && status != 'loading'" mode="list"></u-empty>
|
|
|
+ <u-empty :text="noDataText" img-width="120" :margin-top="400" v-if="list.length == 0 && status != 'loading'" mode="list"></u-empty>
|
|
|
<view style="padding: 20upx;"><u-loadmore v-if="total > pageSize || status == 'loading'" :status="status" /></view>
|
|
|
</scroll-view>
|
|
|
</view>
|
|
|
-
|
|
|
- <!-- 选择时间区间 -->
|
|
|
- <w-picker
|
|
|
- :visible.sync="showPicker"
|
|
|
- mode="range"
|
|
|
- startYear="2017"
|
|
|
- endYear="2030"
|
|
|
- :value="searchForm.creatTime"
|
|
|
- :current="false"
|
|
|
- @confirm="onSelected($event,'range')"
|
|
|
- @cancel="onSelected"
|
|
|
- ref="range"></w-picker>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import wPicker from "@/components/w-picker/w-picker.vue"
|
|
|
- import { queryMyTask } from '@/api/task.js'
|
|
|
+ import screenModule from './screenModule.vue'
|
|
|
+ import { getTasksList } from '@/api/task.js'
|
|
|
export default{
|
|
|
- components: { wPicker },
|
|
|
+ components: { screenModule },
|
|
|
data(){
|
|
|
return{
|
|
|
- screenClass: [ // 过滤条件 类型
|
|
|
- { label: '全部', value: 1, },
|
|
|
- { label: '我的巡店', value: 2, }
|
|
|
- ],
|
|
|
- screenMethod: [ // 过滤条件 检查方式
|
|
|
- { label: '现场巡店', value: 1, },
|
|
|
- { label: '视频巡店', value: 2, },
|
|
|
- { label: '点检任务', value: 3, }
|
|
|
- ],
|
|
|
- screenState: [ // 过滤条件 状态
|
|
|
- { label: '全部', value: 1, },
|
|
|
- { label: '待处理', value: 2, },
|
|
|
- { label: '进行中', value: 3, },
|
|
|
- { label: '已完成', value: 4, },
|
|
|
- { label: '已过期', value: 5, }
|
|
|
- ],
|
|
|
searchForm: {
|
|
|
- isAll: '1', // 全部(全部、我的巡店)
|
|
|
- inspectionMethod: '', // 检查方式(现场巡店、视频巡店、点检任务)
|
|
|
- state: '1', // 状态(全部、待处理、进行中、已完成、已过期)
|
|
|
- creatTime: '', // 时间区间(天)
|
|
|
- store: '', // 门店
|
|
|
+ inspectorId: '', // 全部(全部为空、我的巡店为巡店人id)
|
|
|
+ typeList: [], // 检查方式(现场巡店、视频巡店、点检任务)
|
|
|
+ status: '', // 状态(全部、待处理、进行中、已完成、已过期)
|
|
|
+ creatTime: [], // 时间区间(天)
|
|
|
+ storeName: '', // 门店
|
|
|
shopInspector: '' // 巡店人
|
|
|
},
|
|
|
- showPicker: false, // 是否选择创建时间
|
|
|
- range: [], // 筛选创建时间的默认值
|
|
|
pageNo: 1, // 当前页码
|
|
|
pageSize: 15, // 一页多少条
|
|
|
total: 0, // 总条数
|
|
|
status: 'loadmore', // 加载状态
|
|
|
noDataText: '暂无数据', // 列表数据为空时提示文字
|
|
|
- list: [ // 数据列表
|
|
|
- { name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'haveInHand', shopInspector: '张三' },
|
|
|
- { name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'invalid', shopInspector: '李四' },
|
|
|
- { name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'haveInHand', shopInspector: '王五' },
|
|
|
- { name: '常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'completed', shopInspector: '王权富贵' },
|
|
|
- { name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'completed', shopInspector: '钱六' },
|
|
|
- ],
|
|
|
+ list: [], // 数据列表
|
|
|
}
|
|
|
},
|
|
|
onLoad() {
|
|
|
+ // console.log(this.$store.state.vuex_userData)
|
|
|
this.range = [ this.get7day(-6), this.get7day(0) ]
|
|
|
this.searchForm.creatTime = [ this.get7day(-6), this.get7day(0) ]
|
|
|
this.pageInit(1)
|
|
@@ -156,9 +90,16 @@
|
|
|
this.status = 'loading'
|
|
|
let params = {
|
|
|
pageNo: this.pageNo,
|
|
|
- pageSize: this.pageSize
|
|
|
+ pageSize: this.pageSize,
|
|
|
+ beginDate: this.searchForm.creatTime[0] ? this.searchForm.creatTime[0] : '',
|
|
|
+ endDate: this.searchForm.creatTime[1] ? this.searchForm.creatTime[1] : '',
|
|
|
+ storeName: this.searchForm.storeName ? this.searchForm.storeName : '',
|
|
|
+ typeList: this.searchForm.typeList ? this.searchForm.typeList : [],
|
|
|
+ status: this.searchForm.status ? this.searchForm.status : '', // 任务状态
|
|
|
+ inspectorId: this.searchForm.inspectorId ? this.searchForm.inspectorId : '',
|
|
|
+ shopInspector: this.searchForm.shopInspector ? this.searchForm.shopInspector : '',
|
|
|
}
|
|
|
- queryMyTask(params).then(res => {
|
|
|
+ getTasksList(params).then(res => {
|
|
|
if (res.status == 200) {
|
|
|
if (this.pageNo > 1) {
|
|
|
this.list = this.list.concat(res.data.list || [])
|
|
@@ -174,6 +115,12 @@
|
|
|
this.status = 'loadmore'
|
|
|
});
|
|
|
},
|
|
|
+ // 筛选
|
|
|
+ refresh(params){
|
|
|
+ console.log(params,'1111111111')
|
|
|
+ this.searchForm = params
|
|
|
+ this.pageInit(1)
|
|
|
+ },
|
|
|
// 获取近几天的数据
|
|
|
get7day(day){
|
|
|
let today = new Date()
|
|
@@ -203,27 +150,63 @@
|
|
|
this.status = 'nomore'
|
|
|
}
|
|
|
},
|
|
|
- // 关闭筛选
|
|
|
- closeDropdown() {
|
|
|
- this.$refs.uDropdown.close()
|
|
|
- },
|
|
|
- // 显示日期选择
|
|
|
- onShowDatePicker(type){
|
|
|
- this.showPicker = true
|
|
|
- this.searchForm.creatTime = this.range
|
|
|
- },
|
|
|
- // 日期选择
|
|
|
- onSelected(e) {
|
|
|
- this.showPicker = false
|
|
|
- if(e) {
|
|
|
- this.range = e.value
|
|
|
- }
|
|
|
- },
|
|
|
+ // // 关闭筛选
|
|
|
+ // closeDropdown() {
|
|
|
+ // this.$refs.uDropdown.close()
|
|
|
+ // },
|
|
|
+ // // 显示日期选择
|
|
|
+ // onShowDatePicker(type){
|
|
|
+ // this.showPicker = true
|
|
|
+ // this.searchForm.creatTime = this.range
|
|
|
+ // },
|
|
|
+ // // 日期选择
|
|
|
+ // onSelected(e) {
|
|
|
+ // this.showPicker = false
|
|
|
+ // if(e) {
|
|
|
+ // this.range = e.value
|
|
|
+ // }
|
|
|
+ // // },
|
|
|
+
|
|
|
+
|
|
|
+ // // 过滤已选数据
|
|
|
+ // filterData(data) {
|
|
|
+ // let arr = []
|
|
|
+ // data.map(item => {
|
|
|
+ // if (item.checked) {
|
|
|
+ // arr.push(item.code)
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // return arr
|
|
|
+ // },
|
|
|
+
|
|
|
+
|
|
|
+ // // 选择检查方式
|
|
|
+ // chooseSourceType(item) {
|
|
|
+ // item.checked = !item.checked
|
|
|
+ // },
|
|
|
+ // 获取数据字典数据
|
|
|
+ // getLookUpData(code) {
|
|
|
+ // getLookUpDatas({ type: code }).then(res => {
|
|
|
+ // if (res.status == 200) {
|
|
|
+ // res.data.map(item => {
|
|
|
+ // item.label = item.dispName
|
|
|
+ // item.value = item.code
|
|
|
+ // item.checked = false
|
|
|
+ // })
|
|
|
+ // if (code == 'TASK_TYPE') { // 检查方式
|
|
|
+ // this.sourceTypeList = res.data
|
|
|
+ // }else if(code == 'TASK_STATUS'){ // 状态
|
|
|
+ // res.data.unshift({label: '全部', value: ''})
|
|
|
+ // this.screenState = res.data
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // },
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
-<style lang="scss" scoped>
|
|
|
+<style lang="scss">
|
|
|
page {
|
|
|
background-color: #f8f8f8;
|
|
|
height: calc(100vh - 44px);
|
|
@@ -237,6 +220,7 @@
|
|
|
background-color: #fff;
|
|
|
.scroll-view{
|
|
|
height: 300upx;
|
|
|
+ // margin: 20upx 30upx 20upx;
|
|
|
.screen-module{
|
|
|
margin: 20upx 30upx 20upx;
|
|
|
display: flex;
|
|
@@ -273,6 +257,20 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ .status-item {
|
|
|
+ display: inline-block;
|
|
|
+ width: 30%;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 60upx;
|
|
|
+ background-color: #e2e2e2;
|
|
|
+ color: #333;
|
|
|
+ font-size: 24upx;
|
|
|
+ margin: 0 10upx;
|
|
|
+ }
|
|
|
+ .active {
|
|
|
+ background-color: #ffaa00;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|