|
@@ -3,120 +3,49 @@
|
|
|
<common @asynCallBack="asynCallBack"></common>
|
|
|
<top-header :pageTitle="pageTitle"></top-header>
|
|
|
|
|
|
- <div class="mui-content fyy-wall vongi-zgtz">
|
|
|
- <div class="mui-content-padded fyy-date mui-clearfix">
|
|
|
- <h5>{{person_data.companyName}}
|
|
|
- <a class="mui-navigate-right mui-pull-right" v-text="curDate" @click="selectDate()">2020-03-19</a>
|
|
|
- </h5>
|
|
|
+ <div class="mui-content vongi-archives vongi-dktz-c">
|
|
|
+ <div class="fyy-temper-date margin10">
|
|
|
+ <a href="" class="mui-col-xs-4" @click="selectDate" >{{curDate}}<span class="mui-icon mui-icon-arrowdown"></span></a>
|
|
|
+ <a href="" class="mui-col-xs-4" @click="selectIndexOf">{{selectedIndex==0?'上报情况':selectedType[selectedIndex]}}<span class="mui-icon mui-icon-arrowdown" ></span></a>
|
|
|
+ <a href="" class="mui-col-xs-4" @click="selectAddress">{{address==''?'打卡区域':addressType[address]}}<span class="mui-icon mui-icon-arrowdown" ></span></a>
|
|
|
</div>
|
|
|
- <div class="vongi-clasadmin">
|
|
|
+ <div class="vongi-clasadmin vongi-bagfff">
|
|
|
<h4>健康码统计</h4>
|
|
|
<div class="vongi-clasadmin-list">
|
|
|
<div class="vongi-clasadmin-ma mui-col-xs-3" v-for="(item,index) in statList" :key="index" @click="goToCodeList(item.healthyCode)">
|
|
|
<span :style="'color:'+getGreenCodeColor(item.healthyCode)" v-text="item.total">2953</span>
|
|
|
<div class="mui-media-body" v-text="getCodeStatusName(item.healthyCode)">绿码</div>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
- <div class="vongi-zgtz-search">
|
|
|
- <div class="mui-input-row mui-search">
|
|
|
- <input type="search" class="setinput" placeholder="请输入姓名" v-model="setinput" @change="searchK">
|
|
|
- </div>
|
|
|
+ <div class="vongi-xzdw-search">
|
|
|
+ <input type="search" placeholder="请输入姓名" v-model="setinput" @change="searchK">
|
|
|
+ <span class="mui-icon mui-icon-search"></span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="mui-slider">
|
|
|
- <div class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
|
|
|
- <a class="mui-control-item " :class="selectedIndex==0?'mui-active':''" @click="selectedIndex=0">
|
|
|
- 全部<span class="mui-badge" v-html="allCount"></span>
|
|
|
- </a>
|
|
|
- <a class="mui-control-item" :class="selectedIndex==1?'mui-active':''" @click="selectedIndex=1">
|
|
|
- 已上报<span class="mui-badge" v-html="doneCount"></span>
|
|
|
- </a>
|
|
|
- <a class="mui-control-item" :class="selectedIndex==2?'mui-active':''" @click="selectedIndex=2">
|
|
|
- 未上报<span class="mui-badge" v-html="undoCount"></span>
|
|
|
- </a>
|
|
|
- </div>
|
|
|
- <div class="mui-slider-group">
|
|
|
- <div :class="allGroup" class="mui-slider-item mui-control-content" v-show="selectedIndex==0">
|
|
|
- <div id="scroll1" class="mui-scroll-wrapper">
|
|
|
- <div class="mui-scroll ">
|
|
|
- <ul class="mui-table-view">
|
|
|
- <li class="mui-table-view-cell vongi-wordcard vongi-meform-pho" style=" border-bottom: 1px solid #c8c7cc;"
|
|
|
- v-for="(item,index) in allList" :key="index">
|
|
|
- <a @click="viewDetail(item)" :class="item.upLoad?'mui-navigate-right':''">
|
|
|
- <div class="mui-pull-left flew-items">
|
|
|
- <div class="mui-media-object flew"><img v-if="item.faceImageUrl!=null" :src="item.faceImageUrl + '?x-oss-process=image/resize,m_fill,w_64'"
|
|
|
- width="50" /></div>
|
|
|
- <h4 v-text="item.name"></h4>
|
|
|
- <span class="mui-icon iconfont icon-erweima1 " :style="'color:'+getGreenCodeColor(item.healthyCode)"></span>
|
|
|
- <span class="iconfont color999" style =" font-size: 14px;" v-if="countNum(item.countNum)">已连续上报{{item.countNum}}天</span>
|
|
|
-
|
|
|
-
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="mui-pull-right color55f868" style="padding: inherit;" v-if="item.upLoad">已上报</div>
|
|
|
- <div class="mui-pull-right colorfe616c" style="padding: inherit;" v-if="!item.upLoad">未上报</div>
|
|
|
- </a>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
-
|
|
|
+ <ul class="mui-table-view">
|
|
|
+ <li class="mui-table-view-cell" v-for="(item,index) in allList" :key="index">
|
|
|
+ <a @click="viewDetail(item)" :class="item.upLoad?'mui-navigate-right':''">
|
|
|
+ <div class="mui-pull-left flew-items">
|
|
|
+ <div class="mui-media-object flew"><img v-if="item.faceImageUrl!=null" :src="item.faceImageUrl + '?x-oss-process=image/resize,m_fill,w_64'" width="50" /></div>
|
|
|
+ <div class="vongi-dktz-t">
|
|
|
+ <h4 class='flew-items'>{{item.name}}<span class="mui-icon iconfont icon-erweima1 " :style="'color:'+getGreenCodeColor(item.healthyCode)"></span></h4>
|
|
|
+ <div class="mui-h6" v-if="countNum(item.countNum)">已连续上报{{item.countNum}}天</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div :class="doneGroup" class="mui-slider-item mui-control-content" v-show="selectedIndex==1">
|
|
|
- <div id="scroll2" class="mui-scroll-wrapper">
|
|
|
-
|
|
|
- <div class="mui-scroll ">
|
|
|
- <ul class="mui-table-view">
|
|
|
- <li class="mui-table-view-cell vongi-wordcard vongi-meform-pho" style=" border-bottom: 1px solid #c8c7cc;"
|
|
|
- v-for="(item,index) in doneList" :key="index">
|
|
|
- <a @click="viewDetail(item)" :class="item.upLoad?'mui-navigate-right':''">
|
|
|
- <div class="mui-pull-left flew-items">
|
|
|
- <div class="mui-media-object flew"><img v-if="item.faceImageUrl!=null" :src="item.faceImageUrl + '?x-oss-process=image/resize,m_fill,w_64'"
|
|
|
- width="50" /></div>
|
|
|
- <h4 v-text="item.name"></h4>
|
|
|
- <span class="mui-icon iconfont icon-erweima1 " :style="'color:'+getGreenCodeColor(item.healthyCode)"></span>
|
|
|
- <span class="iconfont color999" style =" font-size: 14px;" v-if="countNum(item.countNum)">已连续上报{{item.countNum}}天</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- <div class="mui-pull-right color55f868" style="padding: inherit;" v-if="item.upLoad">已上报</div>
|
|
|
- <div class="mui-pull-right colorfe616c" style="padding: inherit;" v-if="!item.upLoad">未上报</div>
|
|
|
- </a>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
+ <div class="mui-pull-right flew-items">
|
|
|
+ <template v-if="item.address">
|
|
|
+ <div class="mui-btn mui-btn-primary mui-btn-outlined vongi-dktz-bage " v-if="addressIf(item.address)" >市内</div>
|
|
|
+ <div class="mui-btn mui-btn-outlined vongi-dktz-bage mui-btn-yellow" v-else >{{addressIf2(item.address)}}</div>
|
|
|
+ </template>
|
|
|
|
|
|
- </div>
|
|
|
+ <span :class="item.upLoad?'color55f868':'colorfe616c'">{{item.upLoad?'已上报':'未上报'}}</span>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div :class="undoGroup" class="mui-slider-item mui-control-content" v-show="selectedIndex==2">
|
|
|
- <div id="scroll3" class="mui-scroll-wrapper">
|
|
|
-
|
|
|
- <div class="mui-scroll ">
|
|
|
- <ul class="mui-table-view">
|
|
|
- <li class="mui-table-view-cell vongi-wordcard vongi-meform-pho" style=" border-bottom: 1px solid #c8c7cc;"
|
|
|
- v-for="(item,index) in undoList" :key="index">
|
|
|
- <a @click="viewDetail(item)" :class="item.upLoad?'mui-navigate-right':''">
|
|
|
- <div class="mui-pull-left flew-items">
|
|
|
- <div class="mui-media-object flew"><img v-if="item.faceImageUrl!=null" :src="item.faceImageUrl + '?x-oss-process=image/resize,m_fill,w_64'"
|
|
|
- width="50" /></div>
|
|
|
- <h4 v-text="item.name"></h4>
|
|
|
- <span class="mui-icon iconfont icon-erweima1 " :style="'color:'+getGreenCodeColor(item.healthyCode)"></span>
|
|
|
- <span class="iconfont color999" style =" font-size: 14px;" v-if="countNum(item.countNum)">已连续上报{{item.countNum}}天</span>
|
|
|
- </div>
|
|
|
- <div class="mui-pull-right color55f868" style="padding: inherit;" v-if="item.upLoad">已上报</div>
|
|
|
- <div class="mui-pull-right colorfe616c" style="padding: inherit;" v-if="!item.upLoad">未上报</div>
|
|
|
- </a>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
-
|
|
|
- </div>
|
|
|
-
|
|
|
+ </a>
|
|
|
+ </li>
|
|
|
|
|
|
- </div>
|
|
|
+ </ul>
|
|
|
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+
|
|
|
</div>
|
|
|
|
|
|
|
|
@@ -161,6 +90,7 @@
|
|
|
id: '',
|
|
|
detail: [],
|
|
|
curDate: '',
|
|
|
+
|
|
|
isLoading: false,
|
|
|
allList: [],
|
|
|
allCount: 0,
|
|
@@ -169,12 +99,15 @@
|
|
|
doneList: [],
|
|
|
doneCount: 0,
|
|
|
selectedIndex: 0,
|
|
|
- pageIndexArr: [1, 1, 1],
|
|
|
- totalPageArr: [1, 1, 1],
|
|
|
- setinput: "",
|
|
|
+ selectedType: ['全部','已上报','未上报'],
|
|
|
+ addressType: ['市内','市外','省外'],
|
|
|
+ address:'',
|
|
|
+ pageIndex: 1,
|
|
|
totalPage: 1,
|
|
|
+ setinput: "",
|
|
|
sortType: '1',
|
|
|
statList: [],
|
|
|
+ obj:{}
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -191,6 +124,20 @@
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
+ addressIf(val){
|
|
|
+ if(val.indexOf('湖北省荆州市')<0){
|
|
|
+ return false;
|
|
|
+ }else{
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ addressIf2(val){
|
|
|
+ if(val.indexOf('湖北省')<0){
|
|
|
+ return '省外';
|
|
|
+ }else{
|
|
|
+ return '市外';
|
|
|
+ }
|
|
|
+ },
|
|
|
countNum(num){
|
|
|
if( this.curDate == parseUnixTime(currentTimeStamp(), '{y}-{m}-{d}')&&num ){
|
|
|
return true;
|
|
@@ -218,85 +165,89 @@
|
|
|
//created 传trye, 其他传null
|
|
|
if (isFirst) {
|
|
|
|
|
|
- this.pageIndexArr[0] = 1;
|
|
|
- this.pageIndexArr[1] = 1;
|
|
|
- this.pageIndexArr[2] = 1;
|
|
|
+ this.pageIndex = 1;
|
|
|
+
|
|
|
// this.totalPageArr=[1,1,1]
|
|
|
this.allList = [];
|
|
|
- this.doneList = [];
|
|
|
- this.undoList = [];
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
this.isLoading = true;
|
|
|
- if (isFirst || this.selectedIndex == '0') {
|
|
|
- await this.pageList('', this.pageIndexArr[0]).then(page => {
|
|
|
- this.allCount = page.recordsTotal;
|
|
|
-
|
|
|
- if (this.pageIndexArr[0] == 1) {
|
|
|
- this.allList = page.data;
|
|
|
- this.totalPageArr[0] = page.totalPage;
|
|
|
- } else {
|
|
|
- this.allList = [
|
|
|
- ...this.allList,
|
|
|
- ...page.data
|
|
|
- ];
|
|
|
- }
|
|
|
|
|
|
- if (this.selectedIndex == 0) {
|
|
|
- this.isLoading = false;
|
|
|
- }
|
|
|
|
|
|
- this.pageIndexArr[0]++;
|
|
|
- });
|
|
|
- }
|
|
|
- if (isFirst || this.selectedIndex == '1') {
|
|
|
- await this.pageList('1', this.pageIndexArr[1]).then(page => {
|
|
|
- this.doneCount = page.recordsTotal;
|
|
|
-
|
|
|
- if (this.pageIndexArr[1] == 1) {
|
|
|
- this.doneList = page.data;
|
|
|
- this.totalPageArr[1] = page.totalPage;
|
|
|
-
|
|
|
- } else {
|
|
|
- this.doneList = [
|
|
|
- ...this.doneList,
|
|
|
- ...page.data
|
|
|
- ];
|
|
|
- }
|
|
|
- if (this.selectedIndex == 1) {
|
|
|
- this.isLoading = false;
|
|
|
- }
|
|
|
+ this.pageList(this.selectedIndex, this.pageIndex).then(page => {
|
|
|
+ if(this.allCount==0){
|
|
|
+ this.allCount = page.recordsTotal;
|
|
|
+ }
|
|
|
|
|
|
- this.pageIndexArr[1]++;
|
|
|
- });
|
|
|
- }
|
|
|
+ if (this.pageIndex == 1) {
|
|
|
+ this.allList = page.data;
|
|
|
+ this.totalPage = page.totalPage;
|
|
|
+ } else {
|
|
|
+ this.allList = [
|
|
|
+ ...this.allList,
|
|
|
+ ...page.data
|
|
|
+ ];
|
|
|
+ }
|
|
|
|
|
|
+ this.isLoading = false;
|
|
|
|
|
|
- if (isFirst || this.selectedIndex == '2') {
|
|
|
- await this.pageList('2', this.pageIndexArr[2]).then(page => {
|
|
|
- this.undoCount = page.recordsTotal;
|
|
|
+ this.pageIndex++;
|
|
|
+ });
|
|
|
|
|
|
- if (this.pageIndexArr[2] == 1) {
|
|
|
- this.undoList = page.data;
|
|
|
- this.totalPageArr[2] = page.totalPage;
|
|
|
|
|
|
- } else {
|
|
|
- this.undoList = [
|
|
|
- ...this.undoList,
|
|
|
- ...page.data
|
|
|
- ];
|
|
|
- }
|
|
|
- if (this.selectedIndex == 2) {
|
|
|
- this.isLoading = false;
|
|
|
- }
|
|
|
-
|
|
|
- this.pageIndexArr[2]++;
|
|
|
- });
|
|
|
- }
|
|
|
//this.pageIndex++;
|
|
|
},
|
|
|
+ selectIndexOf(){
|
|
|
+ var picker = new mui.PopPicker();
|
|
|
+
|
|
|
+ picker.setData([{
|
|
|
+ text: "全部("+this.allCount+")",
|
|
|
+ value: 0
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "已上报("+this.obj.total+")",
|
|
|
+ value: 1
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "未上报("+(this.allCount-this.obj.total)+")",
|
|
|
+ value: 2
|
|
|
+ }
|
|
|
+ ]);
|
|
|
+
|
|
|
+ picker.show((selectItems) => {
|
|
|
+ this.selectedIndex = selectItems[0].value;
|
|
|
+ this.queryList(true);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ selectAddress(){
|
|
|
+ var picker = new mui.PopPicker();
|
|
|
+
|
|
|
+ picker.setData([{
|
|
|
+ text: "全部("+this.allCount+")",
|
|
|
+ value: ''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "市内("+this.obj.count1+")",
|
|
|
+ value: '0'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "市外("+(this.obj.count0-this.obj.count1)+")",
|
|
|
+ value: '1'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "省外("+(this.obj.total-this.obj.count0)+")",
|
|
|
+ value: '2'
|
|
|
+ }
|
|
|
+ ]);
|
|
|
+
|
|
|
+ picker.show((selectItems) => {
|
|
|
+ this.address = selectItems[0].value;
|
|
|
+ this.queryList(true);
|
|
|
+ });
|
|
|
+ },
|
|
|
selectDate() {
|
|
|
var _this = this;
|
|
|
var dtPicker = new mui.DtPicker({
|
|
@@ -314,6 +265,10 @@
|
|
|
this.curDate = year + "-" + month + "-" + day;
|
|
|
|
|
|
this.queryList(true);
|
|
|
+ this.query().then(page => {
|
|
|
+ console.log(page)
|
|
|
+ this.obj=page;
|
|
|
+ });
|
|
|
});
|
|
|
},
|
|
|
|
|
@@ -323,11 +278,19 @@
|
|
|
companyId: this.person_data.companyId,
|
|
|
queryDate: this.curDate,
|
|
|
status: status,
|
|
|
+ address: this.address,
|
|
|
pageIndex: pageIndex,
|
|
|
pageSize: 50
|
|
|
//sortType:this.sortType,
|
|
|
});
|
|
|
},
|
|
|
+ query() {
|
|
|
+ return API_Health.query({
|
|
|
+ companyId: this.person_data.companyId,
|
|
|
+ queryDate: this.curDate,
|
|
|
+ //sortType:this.sortType,
|
|
|
+ });
|
|
|
+ },
|
|
|
//获取绿码统计数据
|
|
|
getHealthyCodeStat() {
|
|
|
this.isLoading = true;
|
|
@@ -381,7 +344,7 @@
|
|
|
//if ((window.screen.height + document.body.scrollTop) > (document.body.clientHeight)) {
|
|
|
if (isReachBottom()) {
|
|
|
console.log('到达底部')
|
|
|
- if (this.pageIndexArr[this.selectedIndex] <= this.totalPageArr[this.selectedIndex] && this.isLoading == false) {
|
|
|
+ if (this.pageIndex <= this.totalPage && this.isLoading == false) {
|
|
|
this.queryList(false);
|
|
|
} else {
|
|
|
return;
|
|
@@ -399,26 +362,16 @@
|
|
|
token: 'token',
|
|
|
person_data: 'person_data',
|
|
|
person_popedom: 'person_popedom',
|
|
|
- }),
|
|
|
- allGroup() {
|
|
|
- return {
|
|
|
- "mui-active": this.selectedIndex == 0
|
|
|
- };
|
|
|
- },
|
|
|
- doneGroup() {
|
|
|
- return {
|
|
|
- "mui-active": this.selectedIndex == 1
|
|
|
- };
|
|
|
- },
|
|
|
- undoGroup() {
|
|
|
- return {
|
|
|
- "mui-active": this.selectedIndex == 2
|
|
|
- };
|
|
|
- }
|
|
|
+ })
|
|
|
},
|
|
|
mounted() {
|
|
|
var _this = this;
|
|
|
this.queryList(true);
|
|
|
+ this.query().then(page => {
|
|
|
+ console.log(page)
|
|
|
+ this.obj=page;
|
|
|
+ });
|
|
|
+
|
|
|
//获取绿码统计数据
|
|
|
this.getHealthyCodeStat();
|
|
|
window.addEventListener('scroll', _this.handleScrool);
|