优化完成-0116

master
Lee 2023-01-16 16:01:40 +08:00
parent 93afa6c769
commit 9c39ce46b9
35 changed files with 68 additions and 34 deletions

View File

@ -9,7 +9,7 @@
<view class="item" v-for="(item,index) in weeks" :key="index">{{item}}</view> <view class="item" v-for="(item,index) in weeks" :key="index">{{item}}</view>
</view> </view>
<view class="days bg-white font26"> <view class="days bg-white font26">
<view class="item" v-for="(item,index) in days" :key="index"> <view class="item" :class="daysIndex==item.status&&item.status!==-2?'active':''" v-for="(item,index) in days" :key="index">
<view class="txt color-99" v-if="item.status==-2">{{item.date}}</view> <view class="txt color-99" v-if="item.status==-2">{{item.date}}</view>
<view @tap="toDetail(item.status)" class="txt color-white bg-green" v-if="statusObj.ok.indexOf(item.status)!==-1&&statusObj.add.indexOf(item.status)==-1">{{item.date}}</view> <view @tap="toDetail(item.status)" class="txt color-white bg-green" v-if="statusObj.ok.indexOf(item.status)!==-1&&statusObj.add.indexOf(item.status)==-1">{{item.date}}</view>
<view @tap="toDetail(item.status)" class="txt color-white bg-orange" v-if="statusObj.add.indexOf(item.status)!==-1&&statusObj.no.indexOf(item.status)==-1">{{item.date}}</view> <view @tap="toDetail(item.status)" class="txt color-white bg-orange" v-if="statusObj.add.indexOf(item.status)!==-1&&statusObj.no.indexOf(item.status)==-1">{{item.date}}</view>
@ -30,6 +30,13 @@
} from 'vuex'; //mapState } from 'vuex'; //mapState
export default { export default {
name: 'sign-calendar', name: 'sign-calendar',
props:{
//
daysIndex:{
type:Number,
default:new Date().getDate()
},
},
data() { data() {
return { return {
weeks: ['日', '一', '二', '三', '四', '五', '六'], // weeks: ['日', '一', '二', '三', '四', '五', '六'], //
@ -154,6 +161,7 @@
// //
toDetail(status){ toDetail(status){
this.daysIndex = status;
let date = `${this.curYear}-${this.curMonth<10?'0'+this.curMonth:this.curMonth}-${status<10?'0'+status:status}`; let date = `${this.curYear}-${this.curMonth<10?'0'+this.curMonth:this.curMonth}-${status<10?'0'+status:status}`;
this.$emit('getDate', date); this.$emit('getDate', date);
}, },
@ -235,6 +243,11 @@
height: 86rpx; height: 86rpx;
border-top: 2rpx solid #ececec; border-top: 2rpx solid #ececec;
border-right: 2rpx solid #ececec; border-right: 2rpx solid #ececec;
position: relative;
}
.calendar .days .item.active{
background-color: #ececec;
} }
.calendar .days .item:nth-of-type(7n){ .calendar .days .item:nth-of-type(7n){

View File

@ -56,7 +56,7 @@
</view> </view>
<!-- 打卡日历 --> <!-- 打卡日历 -->
<view class="sign-calendar"> <view class="sign-calendar">
<sign-calendar ref="signCalendar" @getDate="getDate"></sign-calendar> <sign-calendar ref="signCalendar" :daysIndex="daysIndex" @getDate="getDate"></sign-calendar>
</view> </view>
</view> </view>
@ -333,6 +333,7 @@
ifRegister:false, // ifRegister:false, //
buttonColor:'',// buttonColor:'',//
baseHttps:`${getApp().globalData.hostapi}`, baseHttps:`${getApp().globalData.hostapi}`,
daysIndex:new Date().getDate(),
} }
}, },
onPageScroll(object){ onPageScroll(object){

View File

@ -19,7 +19,7 @@
</view> </view>
<!-- 打卡日历 --> <!-- 打卡日历 -->
<view class="sign-calendar"> <view class="sign-calendar">
<sign-calendar ref="signCalendar" @getDate="getDate"></sign-calendar> <sign-calendar ref="signCalendar" @getDate="getDate" :daysIndex="daysIndex"></sign-calendar>
</view> </view>
<!-- 时间 --> <!-- 时间 -->
<view class="sign-record-date font26">{{curDate.substr(0,4)+'年'+curDate.substr(5,2)+'月'+curDate.substr(8,2)+'日'}} 打卡情况</view> <view class="sign-record-date font26">{{curDate.substr(0,4)+'年'+curDate.substr(5,2)+'月'+curDate.substr(8,2)+'日'}} 打卡情况</view>
@ -87,6 +87,7 @@
worksiteIndex:-1, // worksiteIndex:-1, //
showCard:false, // showCard:false, //
ifShow:uni.getStorageSync('worker_role')==1?true:false, ifShow:uni.getStorageSync('worker_role')==1?true:false,
daysIndex:new Date().getDate(),
} }
}, },
onLoad(op) { onLoad(op) {
@ -96,6 +97,7 @@
if(op.date){ if(op.date){
// //
this.curDate = op.date; this.curDate = op.date;
this.daysIndex = parseInt(op.date.substr(op.date.length-2));
}else{ }else{
let year = new Date().getFullYear(); let year = new Date().getFullYear();
let month = new Date().getMonth() + 1; let month = new Date().getMonth() + 1;
@ -155,6 +157,7 @@
getDate(date){ getDate(date){
if(date!==this.curDate){ if(date!==this.curDate){
this.curDate = date; this.curDate = date;
this.daysIndex = parseInt(date.substr(date.length-2));
// //
this.getSignList(); this.getSignList();
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -182,6 +182,13 @@ var _vuex = __webpack_require__(/*! vuex */ 34);
//引入mapState //引入mapState
var _default = { var _default = {
name: 'sign-calendar', name: 'sign-calendar',
props: {
// 当前选中项
daysIndex: {
type: Number,
default: new Date().getDate()
}
},
data: function data() { data: function data() {
return { return {
weeks: ['日', '一', '二', '三', '四', '五', '六'], weeks: ['日', '一', '二', '三', '四', '五', '六'],
@ -306,6 +313,7 @@ var _default = {
}, },
// 去查看打卡记录 // 去查看打卡记录
toDetail: function toDetail(status) { toDetail: function toDetail(status) {
this.daysIndex = status;
var date = "".concat(this.curYear, "-").concat(this.curMonth < 10 ? '0' + this.curMonth : this.curMonth, "-").concat(status < 10 ? '0' + status : status); var date = "".concat(this.curYear, "-").concat(this.curMonth < 10 ? '0' + this.curMonth : this.curMonth, "-").concat(status < 10 ? '0' + status : status);
this.$emit('getDate', date); this.$emit('getDate', date);
}, },

View File

@ -1 +1 @@
<block wx:if="{{ifLoading}}"><view class="calendar data-v-c1c4e03c"><view class="data font28 color-white data-v-c1c4e03c"><view data-event-opts="{{[['tap',[['proEv',['$event']]]]]}}" class="btn btn-pro data-v-c1c4e03c" bindtap="__e"></view><view class="txt data-v-c1c4e03c">{{curYear+"年"+(curMonth<10?'0'+curMonth:curMonth)+"月"}}</view><view data-event-opts="{{[['tap',[['nextEv',['$event']]]]]}}" class="btn btn-next data-v-c1c4e03c" bindtap="__e"></view></view><view class="week font24 data-v-c1c4e03c"><block wx:for="{{weeks}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item data-v-c1c4e03c">{{item}}</view></block></view><view class="days bg-white font26 data-v-c1c4e03c"><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item data-v-c1c4e03c"><block wx:if="{{item.$orig.status==-2}}"><view class="txt color-99 data-v-c1c4e03c">{{item.$orig.date}}</view></block><block wx:if="{{item.g0}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['days','',index,'status']]]]]]]}}" class="txt color-white bg-green data-v-c1c4e03c" bindtap="__e">{{item.$orig.date}}</view></block><block wx:if="{{item.g1}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['days','',index,'status']]]]]]]}}" class="txt color-white bg-orange data-v-c1c4e03c" bindtap="__e">{{item.$orig.date}}</view></block><block wx:if="{{item.g2!==-1}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['days','',index,'status']]]]]]]}}" class="txt color-white bg-red data-v-c1c4e03c" bindtap="__e">{{item.$orig.date}}</view></block><block wx:if="{{item.g3}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['days','',index,'status']]]]]]]}}" class="txt data-v-c1c4e03c" bindtap="__e">{{item.$orig.date}}</view></block></view></block></view><view class="tips font22 data-v-c1c4e03c"><view class="item data-v-c1c4e03c">正常打卡</view><view class="item data-v-c1c4e03c">补打卡</view><view class="item data-v-c1c4e03c">非正常打卡</view></view></view></block> <block wx:if="{{ifLoading}}"><view class="calendar data-v-c1c4e03c"><view class="data font28 color-white data-v-c1c4e03c"><view data-event-opts="{{[['tap',[['proEv',['$event']]]]]}}" class="btn btn-pro data-v-c1c4e03c" bindtap="__e"></view><view class="txt data-v-c1c4e03c">{{curYear+"年"+(curMonth<10?'0'+curMonth:curMonth)+"月"}}</view><view data-event-opts="{{[['tap',[['nextEv',['$event']]]]]}}" class="btn btn-next data-v-c1c4e03c" bindtap="__e"></view></view><view class="week font24 data-v-c1c4e03c"><block wx:for="{{weeks}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item data-v-c1c4e03c">{{item}}</view></block></view><view class="days bg-white font26 data-v-c1c4e03c"><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="{{['item','data-v-c1c4e03c',daysIndex==item.$orig.status&&item.$orig.status!==-2?'active':'']}}"><block wx:if="{{item.$orig.status==-2}}"><view class="txt color-99 data-v-c1c4e03c">{{item.$orig.date}}</view></block><block wx:if="{{item.g0}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['days','',index,'status']]]]]]]}}" class="txt color-white bg-green data-v-c1c4e03c" bindtap="__e">{{item.$orig.date}}</view></block><block wx:if="{{item.g1}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['days','',index,'status']]]]]]]}}" class="txt color-white bg-orange data-v-c1c4e03c" bindtap="__e">{{item.$orig.date}}</view></block><block wx:if="{{item.g2!==-1}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['days','',index,'status']]]]]]]}}" class="txt color-white bg-red data-v-c1c4e03c" bindtap="__e">{{item.$orig.date}}</view></block><block wx:if="{{item.g3}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['days','',index,'status']]]]]]]}}" class="txt data-v-c1c4e03c" bindtap="__e">{{item.$orig.date}}</view></block></view></block></view><view class="tips font22 data-v-c1c4e03c"><view class="item data-v-c1c4e03c">正常打卡</view><view class="item data-v-c1c4e03c">补打卡</view><view class="item data-v-c1c4e03c">非正常打卡</view></view></view></block>

View File

@ -43,6 +43,10 @@
height: 86rpx; height: 86rpx;
border-top: 2rpx solid #ececec; border-top: 2rpx solid #ececec;
border-right: 2rpx solid #ececec; border-right: 2rpx solid #ececec;
position: relative;
}
.calendar .days .item.active.data-v-c1c4e03c{
background-color: #ececec;
} }
.calendar .days .item.data-v-c1c4e03c:nth-of-type(7n){ .calendar .days .item.data-v-c1c4e03c:nth-of-type(7n){
border-right: 0; border-right: 0;

View File

@ -316,7 +316,8 @@ var _default = {
//是否显示注册表 //是否显示注册表
buttonColor: '', buttonColor: '',
//打卡按钮颜色 //打卡按钮颜色
baseHttps: "".concat(getApp().globalData.hostapi) baseHttps: "".concat(getApp().globalData.hostapi),
daysIndex: new Date().getDate()
}; };
}, },
onPageScroll: function onPageScroll(object) { onPageScroll: function onPageScroll(object) {

File diff suppressed because one or more lines are too long

View File

@ -231,7 +231,8 @@ var _default = {
//当前选择 //当前选择
showCard: false, showCard: false,
//是否显示补卡 //是否显示补卡
ifShow: uni.getStorageSync('worker_role') == 1 ? true : false ifShow: uni.getStorageSync('worker_role') == 1 ? true : false,
daysIndex: new Date().getDate()
}; };
}, },
onLoad: function onLoad(op) { onLoad: function onLoad(op) {
@ -242,6 +243,7 @@ var _default = {
if (op.date) { if (op.date) {
// 获取选择日期 // 获取选择日期
this.curDate = op.date; this.curDate = op.date;
this.daysIndex = parseInt(op.date.substr(op.date.length - 2));
} else { } else {
var year = new Date().getFullYear(); var year = new Date().getFullYear();
var month = new Date().getMonth() + 1; var month = new Date().getMonth() + 1;
@ -302,6 +304,7 @@ var _default = {
getDate: function getDate(date) { getDate: function getDate(date) {
if (date !== this.curDate) { if (date !== this.curDate) {
this.curDate = date; this.curDate = date;
this.daysIndex = parseInt(date.substr(date.length - 2));
// 获取打卡列表 // 获取打卡列表
this.getSignList(); this.getSignList();
} }

View File

@ -1 +1 @@
<view class="pad-x120 data-v-11e99daa"><status-nav vue-id="2b49158a-1" navBarTitle="打卡记录" class="data-v-11e99daa" bind:__l="__l"></status-nav><view class="content data-v-11e99daa" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><block wx:if="{{ifShow}}"><view class="screen-box screen-box-other data-v-11e99daa"><view class="{{['item','data-v-11e99daa',userType=='director'?'width-all':'']}}"><picker class="font24 data-v-11e99daa" mode="selector" range="{{worksiteList}}" value="{{worksiteIndex}}" range-key="name" data-event-opts="{{[['change',[['bindWorksiteChange',['$event']]]]]}}" bindchange="__e"><view class="name data-v-11e99daa"><text class="{{['clips1','data-v-11e99daa',worksiteIndex==-1?'color-99':'']}}">{{worksiteIndex!==-1?worksiteList[worksiteIndex].name:'请选择工地'}}</text><image src="/static/icon/icon-arrow-02.png" mode="aspectFit" class="data-v-11e99daa"></image></view></picker></view><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" class="item font26 color-blue data-v-11e99daa" bindtap="__e"><view class="name data-v-11e99daa" style="justify-content:center;">补卡操作</view></view></view></block><view class="sign-calendar data-v-11e99daa"><sign-calendar bind:getDate="__e" vue-id="2b49158a-2" data-ref="signCalendar" data-event-opts="{{[['^getDate',[['getDate']]]]}}" class="data-v-11e99daa vue-ref" bind:__l="__l"></sign-calendar></view><view class="sign-record-date font26 data-v-11e99daa">{{$root.g0+'年'+$root.g1+'月'+$root.g2+'日'+" 打卡情况"}}</view><view class="sign-record sign-record-other bg-white data-v-11e99daa"><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-11e99daa"><view class="info data-v-11e99daa"><text class="data-v-11e99daa">{{item.$orig.type_text+"打卡:"+(item.$orig.is_replenish==1?'补打卡':item.g3)}}</text><block wx:if="{{item.$orig.role!==0}}"><text class="data-v-11e99daa">{{"打卡工地:"+item.$orig.worksite_name}}</text></block></view><block wx:if="{{item.$orig.role!==0&&item.$orig.status==1}}"><view class="state data-v-11e99daa">{{item.$orig.status_text}}</view></block><block wx:if="{{item.$orig.role!==0&&item.$orig.status==0}}"><view class="state color-blue data-v-11e99daa">{{item.$orig.status_text}}</view></block><block wx:if="{{item.$orig.role!==0&&item.$orig.status==-1}}"><view class="state color-red data-v-11e99daa">{{item.$orig.status_text}}</view></block></view></block></view><block wx:if="{{$root.g4==0}}"><view class="more-tips font24 data-v-11e99daa">当日没有打卡记录</view></block></view><block wx:if="{{showCard}}"><view class="pop-up-bg data-v-11e99daa"><view class="sign-cate bg-white data-v-11e99daa"><view class="title font34 data-v-11e99daa">请选择补卡时间</view><view class="txt font28 data-v-11e99daa"><block wx:for="{{radioList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['changeSignType',[index]]]]]}}" class="radio-item data-v-11e99daa" bindtap="__e"><view class="{{['data-v-11e99daa',radioIndex==index?'checked':'']}}"></view><view class="data-v-11e99daa">{{item.title}}</view></view></block></view><view class="sign-cate-btns color-white font30 data-v-11e99daa"><view data-event-opts="{{[['tap',[['e1',['$event']]]]]}}" class="btn data-v-11e99daa" bindtap="__e">取消</view><view data-event-opts="{{[['tap',[['submitEv',['$event']]]]]}}" class="btn data-v-11e99daa" bindtap="__e">确认</view></view></view></view></block><tabbar vue-id="2b49158a-3" userType="{{userType}}" current="2" class="data-v-11e99daa" bind:__l="__l"></tabbar></view> <view class="pad-x120 data-v-11e99daa"><status-nav vue-id="2b49158a-1" navBarTitle="打卡记录" class="data-v-11e99daa" bind:__l="__l"></status-nav><view class="content data-v-11e99daa" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><block wx:if="{{ifShow}}"><view class="screen-box screen-box-other data-v-11e99daa"><view class="{{['item','data-v-11e99daa',userType=='director'?'width-all':'']}}"><picker class="font24 data-v-11e99daa" mode="selector" range="{{worksiteList}}" value="{{worksiteIndex}}" range-key="name" data-event-opts="{{[['change',[['bindWorksiteChange',['$event']]]]]}}" bindchange="__e"><view class="name data-v-11e99daa"><text class="{{['clips1','data-v-11e99daa',worksiteIndex==-1?'color-99':'']}}">{{worksiteIndex!==-1?worksiteList[worksiteIndex].name:'请选择工地'}}</text><image src="/static/icon/icon-arrow-02.png" mode="aspectFit" class="data-v-11e99daa"></image></view></picker></view><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" class="item font26 color-blue data-v-11e99daa" bindtap="__e"><view class="name data-v-11e99daa" style="justify-content:center;">补卡操作</view></view></view></block><view class="sign-calendar data-v-11e99daa"><sign-calendar vue-id="2b49158a-2" daysIndex="{{daysIndex}}" data-ref="signCalendar" data-event-opts="{{[['^getDate',[['getDate']]]]}}" bind:getDate="__e" class="data-v-11e99daa vue-ref" bind:__l="__l"></sign-calendar></view><view class="sign-record-date font26 data-v-11e99daa">{{$root.g0+'年'+$root.g1+'月'+$root.g2+'日'+" 打卡情况"}}</view><view class="sign-record sign-record-other bg-white data-v-11e99daa"><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-11e99daa"><view class="info data-v-11e99daa"><text class="data-v-11e99daa">{{item.$orig.type_text+"打卡:"+(item.$orig.is_replenish==1?'补打卡':item.g3)}}</text><block wx:if="{{item.$orig.role!==0}}"><text class="data-v-11e99daa">{{"打卡工地:"+item.$orig.worksite_name}}</text></block></view><block wx:if="{{item.$orig.role!==0&&item.$orig.status==1}}"><view class="state data-v-11e99daa">{{item.$orig.status_text}}</view></block><block wx:if="{{item.$orig.role!==0&&item.$orig.status==0}}"><view class="state color-blue data-v-11e99daa">{{item.$orig.status_text}}</view></block><block wx:if="{{item.$orig.role!==0&&item.$orig.status==-1}}"><view class="state color-red data-v-11e99daa">{{item.$orig.status_text}}</view></block></view></block></view><block wx:if="{{$root.g4==0}}"><view class="more-tips font24 data-v-11e99daa">当日没有打卡记录</view></block></view><block wx:if="{{showCard}}"><view class="pop-up-bg data-v-11e99daa"><view class="sign-cate bg-white data-v-11e99daa"><view class="title font34 data-v-11e99daa">请选择补卡时间</view><view class="txt font28 data-v-11e99daa"><block wx:for="{{radioList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['changeSignType',[index]]]]]}}" class="radio-item data-v-11e99daa" bindtap="__e"><view class="{{['data-v-11e99daa',radioIndex==index?'checked':'']}}"></view><view class="data-v-11e99daa">{{item.title}}</view></view></block></view><view class="sign-cate-btns color-white font30 data-v-11e99daa"><view data-event-opts="{{[['tap',[['e1',['$event']]]]]}}" class="btn data-v-11e99daa" bindtap="__e">取消</view><view data-event-opts="{{[['tap',[['submitEv',['$event']]]]]}}" class="btn data-v-11e99daa" bindtap="__e">确认</view></view></view></view></block><tabbar vue-id="2b49158a-3" userType="{{userType}}" current="2" class="data-v-11e99daa" bind:__l="__l"></tabbar></view>

View File

@ -118,9 +118,10 @@
] ]
} }
}, },
"libVersion": "2.28.1", "libVersion": "2.29.2",
"projectname": "工地打卡", "projectname": "工地打卡",
"setting": { "setting": {
"compileHotReLoad": true "compileHotReLoad": true,
"urlCheck": false
} }
} }