This commit is contained in:
caoqianming 2020-07-27 11:32:04 +08:00
parent 323c4189e9
commit 117aa8d3bc
3 changed files with 71 additions and 5 deletions

View File

@ -35,6 +35,17 @@
:value="item.value" :value="item.value"
/> />
</el-select> </el-select>
<el-date-picker
v-model="datevalue"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
<!-- <el-select <!-- <el-select
v-model="listQuery.is_paid" v-model="listQuery.is_paid"
placeholder="是否缴费" placeholder="是否缴费"
@ -335,10 +346,49 @@ export default {
subjectData: [], subjectData: [],
workscopeData: [], workscopeData: [],
roleData:[], roleData:[],
selects: [] selects: [],
pickerOptions: {
shortcuts: [{
text: '最近一天',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
datevalue: '',
}; };
}, },
computed: {}, computed: {},
watch:{
datevalue:'setTimeRange',
},
created() { created() {
this.getList() this.getList()
this.getCompanyList() this.getCompanyList()
@ -571,7 +621,12 @@ export default {
selects.push(val[i].id); selects.push(val[i].id);
} }
this.selects = selects; this.selects = selects;
} },
setTimeRange(){
this.listQuery.min_create = this.datevalue[0],
this.listQuery.max_create = this.datevalue[1],
this.getList()
},
} }
}; };
</script> </script>

View File

@ -0,0 +1,11 @@
from django_filters import rest_framework as filters
from .models import Consumer
class ConsumerFilter(filters.FilterSet):
min_create = filters.DateFilter(field_name="create_time", lookup_expr='gte')
max_create = filters.DateFilter(field_name="create_time", lookup_expr='lte')
class Meta:
model = Consumer
fields = ['company', 'role', 'min_create', 'max_create']

View File

@ -26,7 +26,7 @@ from question.models import Questioncat
from question.serializers import QuestionSerializer from question.serializers import QuestionSerializer
from server import settings from server import settings
from utils.custom import CommonPagination from utils.custom import CommonPagination
from .filters import ConsumerFilter
from .exports import export_consumer from .exports import export_consumer
from .models import Company, Consumer, PaySubject, SendCode, ConsumerPerm, ConsumerRole from .models import Company, Consumer, PaySubject, SendCode, ConsumerPerm, ConsumerRole
from .serializers import CompanySerializer, ConsumerSerializer, ConsumerPermSerializer, ConsumerRoleSerializer, ConsumerDetailSerializer from .serializers import CompanySerializer, ConsumerSerializer, ConsumerPermSerializer, ConsumerRoleSerializer, ConsumerDetailSerializer
@ -116,7 +116,7 @@ class ConsumerViewSet(ModelViewSet):
ordering_fields = ('id','company','create_time', 'username', 'workscope') ordering_fields = ('id','company','create_time', 'username', 'workscope')
ordering = ['-create_time'] ordering = ['-create_time']
filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter] filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter]
filterset_fields = ['company','role'] filterset_class = ConsumerFilter
search_fields = ['name','username','company__name'] search_fields = ['name','username','company__name']
def get_queryset(self): def get_queryset(self):
@ -243,7 +243,7 @@ class ConsumerViewSet(ModelViewSet):
name = name.replace(' ', '') name = name.replace(' ', '')
username = sheet['B'+str(m)].value username = sheet['B'+str(m)].value
if username: if username:
username = str(username).replace(' ', '') username = str(username).replace(' ', '').replace("\n", "")
companyname = sheet['C'+str(m)].value companyname = sheet['C'+str(m)].value
if companyname: if companyname:
companyname = companyname.replace(' ', '') companyname = companyname.replace(' ', '')