底部导航优化,新增页面完成-1222

master
Lee 2022-12-22 16:47:05 +08:00
parent eb0ab7833d
commit f4e2915394
54 changed files with 434 additions and 253 deletions

View File

@ -211,15 +211,29 @@ page{
padding: 20rpx 30rpx 30rpx;
}
.notick-status{
display: flex;
align-items: center;
height: 120rpx;
padding: 0 30rpx;
border-top: 25rpx solid #ecf5fb;
}
.sign-cate .notice-msg{
margin: 40rpx 0 60rpx;
}
.notick-status .radio-item:first-child{
margin-right: 50rpx;
}
.notick-status .radio-item,
.sign-cate .radio-item{
display: flex;
align-items: center;
height: 70rpx;
}
.notick-status .radio-item>view:first-child,
.sign-cate .radio-item>view:first-child{
box-sizing: border-box;
width: 30rpx;
@ -229,9 +243,11 @@ page{
margin-right: 6rpx;
position: relative;
}
.notick-status .radio-item>view.checked,
.sign-cate .radio-item>view.checked{
border: 2rpx solid #0788ff;
}
.notick-status .radio-item>view.checked::after,
.sign-cate .radio-item>view.checked::after{
content: "";
display: block;
@ -264,6 +280,51 @@ page{
background-image: linear-gradient(to right,#028bfd,#02b4fe);
}
.notick-txt{
width: calc(100% - 60rpx);
margin: 0 auto;
border-top: 2rpx solid #e9ebf3;
}
.notick-tips{
display: flex;
align-items: center;
height: 60rpx;
margin-top: 20rpx;
}
.notick-tips::before{
content: "";
display: inline-block;
width: 10rpx;
height: 10rpx;
background-color: #333333;
margin: 5rpx 15rpx 0 0;
border-radius: 10rpx;
}
.notick-txt .input{
box-sizing: border-box;
width: 100%;
height: 650rpx;
padding: 10rpx;
border: 2rpx solid #e2e5ed;
line-height: 1.6;
border-radius: 5rpx;
}
.sign-cate .evaluate-txt{
justify-content: center;
}
.sign-cate .evaluate-txt .evaluate-stars{
margin: 30rpx 7rpx 10rpx;
}
.sign-cate .evaluate-txt .evaluate-stars image{
width: 62rpx;
height: 59rpx;
}
/* 安全公告 */
.safety-bulletin{
box-sizing: border-box;

View File

@ -4,6 +4,12 @@
<view :style="{height: statusBarHeight+'px',background: backgroudColor}"></view>
<!-- 头部状态栏 -->
<view class="status-nav" :style="{background: backgroudColor,height:navBarHeight}">
<!-- 返回主页 -->
<view class="left-box" @tap="toHome" v-if="ifHome" :style="{height: navBarHeight}">
<slot name="leftcontent">
<i class="icon icon-home-active" style="font-size: 38rpx;" :style="{color: returnColor}"></i>
</slot>
</view>
<!-- 返回键 -->
<view class="left-box" @tap="backEv" v-if="ifReturn" :style="{height: navBarHeight}">
<slot name="leftcontent">
@ -41,6 +47,11 @@
type: String,
default: '50px'
},
//
ifHome: {
type: Boolean,
default: false
},
//
ifReturn: {
type: Boolean,
@ -129,6 +140,13 @@
}
})
},
//
toHome() {
uni.reLaunch({
url: '/pages/pagehome/pagehome'
})
}
}
}
</script>

View File

@ -6,7 +6,11 @@
<view class="title font26">{{item.title}}</view>
</view>
<view v-if="userType=='director'" class="tabbar-item" :class="current==index ? 'active' : ''" @tap="chooseFootTab(index)" v-for="(item,index) in directorBarList" :key="index">
<view class="icon"><image class="img" :style="{width:[31,30,31,39,36][index]+'rpx',height:[32,30,31,35,36][index]+'rpx'}" :src="item.iconPath" mode="widthFix"></image></view>
<view class="icon"><image class="img" :style="{width:[31,30,36][index]+'rpx',height:[32,30,36][index]+'rpx'}" :src="item.iconPath" mode="widthFix"></image></view>
<view class="title font26">{{item.title}}</view>
</view>
<view v-if="userType=='workbench'" class="tabbar-item" :class="current==index ? 'active' : ''" @tap="chooseFootTab(index)" v-for="(item,index) in workbenchBarList" :key="index">
<view class="icon"><image class="img" :style="{width:[31,30,31,39][index]+'rpx',height:[32,30,31,35][index]+'rpx'}" :src="item.iconPath" mode="widthFix"></image></view>
<view class="title font26">{{item.title}}</view>
</view>
</view>
@ -35,12 +39,16 @@
{iconPath:'/static/icon/icon-tabbar-03.png',title:'我的'}
], //
directorBarList:[
{iconPath:'/static/icon/icon-tabbar-01.png',title:'打卡'},
{iconPath:'/static/icon/icon-tabbar-06.png',title:'工作台'},
{iconPath:'/static/icon/icon-tabbar-03.png',title:'我的'}
], //
workbenchBarList:[
{iconPath:'/static/icon/icon-tabbar-01.png',title:'打卡'},
{iconPath:'/static/icon/icon-tabbar-04.png',title:'支出'},
{iconPath:'/static/icon/icon-tabbar-05.png',title:'录入'},
{iconPath:'/static/icon/icon-tabbar-02.png',title:'加班'},
{iconPath:'/static/icon/icon-tabbar-03.png',title:'我的'}
], //
], //
};
},
methods:{
@ -87,28 +95,46 @@
case 1:
if(this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url:'/pages/director/expenditure/expenditure',
url:'/pages/director/sign/sign?userType=workbench',
})
}
break;
case 2:
if(this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url:'/pages/director/enter/enter',
url:'/pages/worker/my/my?userType=director',
})
}
break;
}
}
if(this.userType=='workbench'){
switch (index){
case 0:
if(this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url:'/pages/director/sign/sign?userType=workbench',
})
}
break;
case 1:
if(this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url:'/pages/director/expenditure/expenditure?userType=workbench',
})
}
break;
case 2:
if(this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url:'/pages/director/enter/enter?userType=workbench',
})
}
break;
case 3:
if(this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url:'/pages/director/overtime/overtime',
})
}
break;
case 4:
if(this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url:'/pages/worker/my/my?userType=director',
url:'/pages/director/overtime/overtime?userType=workbench',
})
}
break;

View File

@ -1,7 +1,7 @@
<template>
<view class="pad-x120">
<!-- 头部 -->
<status-nav :ifReturn="false" navBarTitle="工人信息"></status-nav>
<status-nav :ifReturn="false" :ifHome="true" navBarTitle="工人信息"></status-nav>
<view class="content" :style="{'padding-top':statusHeight+50+'px'}">
<!-- 导航 -->
<view class="pull-nav" :style="{'top':statusHeight+50+'px'}">
@ -43,7 +43,7 @@
data() {
return {
statusHeight:uni.getSystemInfoSync().statusBarHeight, //
userType:'director', // worker director
userType:'director', // worker director workbench
enterList:[], //
page:1,
size:10,
@ -53,8 +53,10 @@
ids:'', //id
}
},
onLoad() {
onLoad(op) {
if(op.userType){
this.userType = op.userType;
}
},
onShow() {
//

View File

@ -1,7 +1,7 @@
<template>
<view class="pad-x120">
<!-- 头部 -->
<status-nav :ifReturn="false" navBarTitle="工地支出"></status-nav>
<status-nav :ifReturn="false" :ifHome="true" navBarTitle="工地支出"></status-nav>
<view class="content" :style="{'padding-top':statusHeight+50+'px'}">
<!-- 筛选 -->
<view class="screen-box pay-screen-box">
@ -90,7 +90,7 @@
data() {
return {
statusHeight:uni.getSystemInfoSync().statusBarHeight, //
userType:'director', // worker director
userType:'director', // worker director workbench
payInfo:{}, //
payList:[], //
date: getDate({format: true}),
@ -104,8 +104,10 @@
total:0,
}
},
onLoad() {
onLoad(op) {
if(op.userType){
this.userType = op.userType;
}
},
onShow() {
//

View File

@ -1,7 +1,7 @@
<template>
<view class="pad-x120">
<!-- 头部 -->
<status-nav :ifReturn="false" navBarTitle="工地加班"></status-nav>
<status-nav :ifReturn="false" :ifHome="true" navBarTitle="工地加班"></status-nav>
<view class="content" :style="{'padding-top':statusHeight+50+'px'}">
<!-- 导航 -->
<view class="pull-nav" :style="{'top':statusHeight+50+'px'}">
@ -56,7 +56,7 @@
data() {
return {
statusHeight:uni.getSystemInfoSync().statusBarHeight, //
userType:'director', // worker director
userType:'', // worker director workbench
overtimeList:[], //
page:1,
size:10,
@ -66,8 +66,10 @@
ids:'', //id
}
},
onLoad() {
onLoad(op) {
if(op.userType){
this.userType = op.userType;
}
},
onShow() {
//

View File

@ -1,7 +1,7 @@
<template>
<view class="pad-x120">
<!-- 头部 -->
<status-nav :ifReturn="false" navBarTitle="工地打卡"></status-nav>
<status-nav :ifReturn="false" :ifHome="true" navBarTitle="工地打卡"></status-nav>
<view class="content" :style="{'padding-top':statusHeight+50+'px'}">
<!-- 导航 -->
<view class="pull-nav" :style="{'top':statusHeight+50+'px'}">
@ -54,7 +54,7 @@
data() {
return {
statusHeight:uni.getSystemInfoSync().statusBarHeight, //
userType:'director', // worker director
userType:'', // worker director workbench
signList:[], //
page:1,
size:10,
@ -64,8 +64,10 @@
ids:'', //id
}
},
onLoad() {
onLoad(op) {
if(op.userType){
this.userType = op.userType;
}
},
onShow() {
//

View File

@ -47,7 +47,7 @@
</view>
</view>
<!-- 尾部 -->
<tabbar :userType="userType" :current="current"></tabbar>
<tabbar :userType="userType" current="2"></tabbar>
</view>
</template>
<script>
@ -59,7 +59,6 @@
data() {
return {
statusHeight:uni.getSystemInfoSync().statusBarHeight, //
current:-1, //
userType:'', // worker director
frontColor:'#ffffff', //
backgroudColor:'none', //
@ -94,7 +93,7 @@
this.current = 2;
this.myMoreList = [
{title:'个人资料',url:'/pagesA/information/information',icon:'/static/icon/icon-my-01.png',iconWidth:32,iconHeight:32},
{title:'打卡记录',url:'/pagesA/signRecord/signRecord',icon:'/static/icon/icon-my-02.png',iconWidth:30,iconHeight:30},
{title:'打卡记录',url:'/pagesA/signRecord/signRecord?userType=worker',icon:'/static/icon/icon-my-02.png',iconWidth:30,iconHeight:30},
{title:'工资记录',url:'/pagesA/wagesRecord/wagesRecord',icon:'/static/icon/icon-my-03.png',iconWidth:30,iconHeight:30},
{title:'加班记录',url:'/pagesA/overtimeRecord/overtimeRecord',icon:'/static/icon/icon-my-04.png',iconWidth:32,iconHeight:32},
{title:'员工手册',url:'/pagesA/singlePage/singlePage?type=manual',icon:'/static/icon/icon-my-05.png',iconWidth:31,iconHeight:29},
@ -105,10 +104,9 @@
]
}
if(op.userType=='director'){
this.current = 4;
this.myMoreList = [
{title:'个人资料',url:'/pagesA/information/information',icon:'/static/icon/icon-my-01.png',iconWidth:32,iconHeight:32},
{title:'打卡记录',url:'/pagesA/signRecord/signRecord',icon:'/static/icon/icon-my-02.png',iconWidth:30,iconHeight:30},
{title:'打卡记录',url:'/pagesA/signRecord/signRecord?userType=director',icon:'/static/icon/icon-my-02.png',iconWidth:30,iconHeight:30},
{title:'工人列表',url:'/pagesB/worker/worker',icon:'/static/icon/icon-my-10.png',iconWidth:31,iconHeight:33},
{title:'工人补卡确认',url:'/pagesB/repair/repair',icon:'/static/icon/icon-my-04.png',iconWidth:28,iconHeight:36},
{title:'工人离职申请',url:'/pagesB/quitApply/quitApply',icon:'/static/icon/icon-my-09.png',iconWidth:33,iconHeight:33},

View File

@ -56,7 +56,7 @@
</view>
</view>
<!-- 尾部 -->
<tabbar :userType="userType" current="2"></tabbar>
<tabbar :userType="userType" :current="userType=='worker'?2:4"></tabbar>
</view>
</template>
<script>
@ -82,7 +82,7 @@
data() {
return {
statusHeight:uni.getSystemInfoSync().statusBarHeight, //
userType:'worker', // worker director
userType:'', // worker director
signList:[], //
radioList:[
{title:'上午上班',type:'in'},
@ -103,7 +103,10 @@
showCard:false, //
}
},
onLoad() {
onLoad(op) {
if(op.userType!==''){
this.userType = op.userType;
}
//
this.getWorksiteList();
},

View File

@ -1,127 +1,28 @@
<template>
<view class="pad-x120">
<!-- 头部 -->
<status-nav navBarTitle="工人信息"></status-nav>
<status-nav navBarTitle="公告管理"></status-nav>
<view class="content" :style="{'padding-top':statusHeight+50+'px'}">
<!-- 工人信息 -->
<view class="enter-detail font26">
<view class="item">
<view class="title">姓名</view>
<view class="msg font24">
{{centerDetail.account.real_name}}
<text class="director-arrow" v-if="centerDetail.status==0 && centerDetail.real_name!==centerDetail.account.real_name">
{{centerDetail.real_name}}
</text>
</view>
</view>
<view class="item">
<view class="title">电话</view>
<view class="msg font24">
{{centerDetail.account.mobile}}
<text class="director-arrow" v-if="centerDetail.status==0 && centerDetail.mobile!==centerDetail.account.mobile">
{{centerDetail.mobile}}
</text>
</view>
</view>
<view class="item">
<view class="title">身份证</view>
<view class="msg font24">
{{centerDetail.account.card_number}}
<text class="director-arrow" v-if="centerDetail.status==0 && centerDetail.card_number!==centerDetail.account.card_number">
{{centerDetail.card_number}}
</text>
</view>
</view>
<view class="item">
<view class="title">紧急联系人</view>
<view class="msg font24">
{{centerDetail.account.emergency_contact}}
<text class="director-arrow" v-if="centerDetail.status==0 && centerDetail.emergency_contact!==centerDetail.account.emergency_contact">
{{centerDetail.emergency_contact}}
</text>
</view>
</view>
<view class="item">
<view class="title">联系人电话</view>
<view class="msg font24">
{{centerDetail.account.emergency_phone}}
<text class="director-arrow" v-if="centerDetail.status==0 && centerDetail.emergency_phone!==centerDetail.account.emergency_phone">
{{centerDetail.emergency_phone}}
</text>
</view>
</view>
<view class="item">
<view class="title">银行卡户名</view>
<view class="msg font24">
{{centerDetail.account.bank_card_name}}
<text class="director-arrow" v-if="centerDetail.status==0 && centerDetail.bank_card_name!==centerDetail.account.bank_card_name">
{{centerDetail.bank_card_name}}
</text>
</view>
</view>
<view class="item">
<view class="title">银行卡号</view>
<view class="msg font24">
{{centerDetail.account.bank_card_number}}
<text class="director-arrow" v-if="centerDetail.status==0 && centerDetail.bank_card_number!==centerDetail.account.bank_card_number">
{{centerDetail.bank_card_number}}
</text>
</view>
</view>
<view class="item">
<view class="title">开户行</view>
<view class="msg font24">
{{centerDetail.account.bank_name}}
<text class="director-arrow" v-if="centerDetail.status==0 && centerDetail.bank_name!==centerDetail.account.bank_name">
{{centerDetail.bank_name}}
</text>
</view>
</view>
<view class="item">
<view class="title">技术岗位</view>
<view class="msg font24">
{{centerDetail.account.position_name}}
<text class="director-arrow" v-if="centerDetail.status==0 && centerDetail.position_name!==centerDetail.account.position_name">
{{centerDetail.position_name}}
</text>
</view>
</view>
<view class="item">
<view class="title">工资</view>
<view class="msg font24">
{{centerDetail.account.pay}}
<text class="director-arrow" v-if="centerDetail.status==0 && centerDetail.pay!==centerDetail.account.pay">
{{centerDetail.pay}}
</text>
</view>
</view>
<view class="item">
<view class="title">加入时间</view>
<view class="msg font24">{{centerDetail.created_at}}</view>
</view>
<view class="item" v-if="centerDetail.status==-1">
<view class="title">审核状态</view>
<view class="msg font24 color-red">已退回</view>
<!-- 公告状态 -->
<view class="notick-status">
<view class="radio-item" @tap="changeNotickStatus(index)" v-for="(item,index) in radioList" :key="index">
<view :class="radioIndex==index?'checked':''"></view>
<view class="font26">{{item}}</view>
</view>
</view>
<!-- 公告内容 -->
<view class="notick-txt">
<view class="notick-tips font26">请编辑公告内容</view>
<textarea class="input font26" name="msg"></textarea>
</view>
<!-- 审核按钮 -->
<view class="enter-detail-btns color-white font30" v-if="centerDetail.status==0">
<view class="btn" @tap="submitEv(1)"></view>
<view class="btn" @tap="ifReason=true">退</view>
</view>
</view>
<!-- 退回理由 -->
<view class="pop-up-bg" v-if="ifReason">
<view class="edit-box bg-white">
<image class="close-btn" src="/static/icon/icon-close-btn.png" mode="aspectFit" @tap="closeReason"></image>
<view class="title font36">退回理由</view>
<!-- 其他显示 -->
<input class="input font26" type="text" v-model="reasonMsg" placeholder="请输入退回理由" placeholder-style="color:rgba(51,51,51,.4)">
<view class="submit-btn font30 color-white" @tap="submitEv(0)"></view>
<view class="enter-detail-btns color-white font30">
<view class="btn" @tap="submitEv(1)"></view>
<view class="btn" @tap="ifReason=true"></view>
</view>
</view>
<!-- 尾部 -->
<tabbar :userType="userType" current="2"></tabbar>
<tabbar :userType="userType" current="4"></tabbar>
</view>
</template>
<script>
@ -134,6 +35,8 @@
return {
statusHeight:uni.getSystemInfoSync().statusBarHeight, //
userType:'director', // worker director
radioList:['开启','禁用'],
radioIndex:0, //
centerDetail:{}, //
reasonMsg:'', //退
ifReason:false, //退
@ -159,6 +62,13 @@
return shareObj;
},
methods: {
//
changeNotickStatus(index){
if(this.radioIndex !== index){
this.radioIndex = index;
}
},
//
getEnterDetail(){
this.$requst.post('/api/v1/manager/check-detail',{id:this.id}).then(res=>{

View File

@ -3,22 +3,7 @@
<!-- 头部 -->
<status-nav navBarTitle="工人列表"></status-nav>
<view class="content" :style="{'padding-top':statusHeight+50+'px'}">
<!-- 导航 -->
<view class="pull-nav" :style="{'top':statusHeight+50+'px'}">
<sub-nav @changeEv="changeEv"></sub-nav>
</view>
<!-- 全选 -->
<view class="choose-all-bg">
<view class="choose-all font26" v-if="status==0 && signList.length>0">
<view class="radio" :class="isAll?'checked':''" @tap="chooseAll"></view>
<view class="title">全选</view>
<view class="choose-all-btns font24" v-if="ids!==''">
<view class="btn color-blue" @tap="submitAll(1)"></view>
<view class="btn color-99 btn-no" @tap="submitAll(0)">退</view>
</view>
</view>
</view>
<!-- 打卡列表 -->
<!-- 工人列表 -->
<view class="sign-record sign-record-other bg-white">
<view class="item font26" v-for="(item,index) in signList" :key="index">
<view class="radio" :class="item.ifcheck?'checked':''" @tap="chooseEv(index)" v-if="status==0"></view>
@ -39,16 +24,31 @@
<view class="more-tips font24">{{signList.length==total?'没有更多数据了':'下滑获取更多'}}</view>
</view>
</view>
<!-- 工人评定弹窗 -->
<view class="pop-up-bg" v-if="showEvaluate">
<view class="sign-cate bg-white">
<view class="title font34">工人评定</view>
<view class="txt evaluate-txt font28">
<view class="evaluate-tips">请根据工人本月的表现情况进行评定</view>
<view class="evaluate-stars" v-for="(item,index) in allStars" :key="index">
<image @tap="changeStars(index)" :src="index<=curStars-1?'/static/icon/icon-stars-active.png':'/static/icon/icon-stars.png'" mode="widthFix"></image>
</view>
</view>
<!-- 审核按钮 -->
<view class="sign-cate-btns color-white font30">
<view class="btn" @tap="showEvaluate=false,curStars=0"></view>
<view class="btn" @tap="submitEv"></view>
</view>
</view>
</view>
<!-- 尾部 -->
<tabbar :userType="userType" current="4"></tabbar>
</view>
</template>
<script>
import subNav from '@/components/sub-nav/sub-nav.vue';
import tabbar from '@/components/tabbar/tabbar';
export default {
components:{
subNav,
tabbar
},
data() {
@ -62,6 +62,10 @@
total:0,
isAll:false, //
ids:'', //id
showEvaluate:false,//
allStars:5, //
curStars:0, //
}
},
onLoad() {
@ -95,6 +99,12 @@
return shareObj;
},
methods: {
//
changeStars(index){
if(index!==this.curStars-1){
this.curStars = index+1;
}
},
//
changeEv(index){
this.status = index;

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
static/icon/icon-stars.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

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

@ -398,14 +398,26 @@ page{
justify-content: space-between;
padding: 20rpx 30rpx 30rpx;
}
.notick-status{
display: flex;
align-items: center;
height: 120rpx;
padding: 0 30rpx;
border-top: 25rpx solid #ecf5fb;
}
.sign-cate .notice-msg{
margin: 40rpx 0 60rpx;
}
.notick-status .radio-item:first-child{
margin-right: 50rpx;
}
.notick-status .radio-item,
.sign-cate .radio-item{
display: flex;
align-items: center;
height: 70rpx;
}
.notick-status .radio-item>view:first-child,
.sign-cate .radio-item>view:first-child{
box-sizing: border-box;
width: 30rpx;
@ -415,9 +427,11 @@ page{
margin-right: 6rpx;
position: relative;
}
.notick-status .radio-item>view.checked,
.sign-cate .radio-item>view.checked{
border: 2rpx solid #0788ff;
}
.notick-status .radio-item>view.checked::after,
.sign-cate .radio-item>view.checked::after{
content: "";
display: block;
@ -448,6 +462,45 @@ page{
.sign-cate-btns .btn:last-child{
background-image: linear-gradient(to right,#028bfd,#02b4fe);
}
.notick-txt{
width: calc(100% - 60rpx);
margin: 0 auto;
border-top: 2rpx solid #e9ebf3;
}
.notick-tips{
display: flex;
align-items: center;
height: 60rpx;
margin-top: 20rpx;
}
.notick-tips::before{
content: "";
display: inline-block;
width: 10rpx;
height: 10rpx;
background-color: #333333;
margin: 5rpx 15rpx 0 0;
border-radius: 10rpx;
}
.notick-txt .input{
box-sizing: border-box;
width: 100%;
height: 650rpx;
padding: 10rpx;
border: 2rpx solid #e2e5ed;
line-height: 1.6;
border-radius: 5rpx;
}
.sign-cate .evaluate-txt{
justify-content: center;
}
.sign-cate .evaluate-txt .evaluate-stars{
margin: 30rpx 7rpx 10rpx;
}
.sign-cate .evaluate-txt .evaluate-stars image{
width: 62rpx;
height: 59rpx;
}
/* 安全公告 */
.safety-bulletin{
box-sizing: border-box;

View File

@ -149,6 +149,12 @@ exports.default = void 0;
//
//
//
//
//
//
//
//
//
var _default = {
name: 'status-nav',
props: {
@ -162,6 +168,11 @@ var _default = {
type: String,
default: '50px'
},
// 是否显示返回主页
ifHome: {
type: Boolean,
default: false
},
//是否显示返回键
ifReturn: {
type: Boolean,
@ -252,6 +263,12 @@ var _default = {
});
}
});
},
//返回主页
toHome: function toHome() {
uni.reLaunch({
url: '/pages/pagehome/pagehome'
});
}
}
};

View File

@ -1 +1 @@
<view class="status-box data-v-374f26c4" style="{{'margin-bottom:'+(marginBottom)+';'}}"><view style="{{'height:'+(statusBarHeight+'px')+';'+('background:'+(backgroudColor)+';')}}" class="data-v-374f26c4"></view><view class="status-nav data-v-374f26c4" style="{{'background:'+(backgroudColor)+';'+('height:'+(navBarHeight)+';')}}"><block wx:if="{{ifReturn}}"><view data-event-opts="{{[['tap',[['backEv',['$event']]]]]}}" class="left-box data-v-374f26c4" style="{{'height:'+(navBarHeight)+';'}}" bindtap="__e"><block wx:if="{{$slots.leftcontent}}"><slot name="leftcontent"></slot></block><block wx:else><view class="icon icon-return _i data-v-374f26c4" style="{{'font-size:38rpx;'+('color:'+(returnColor)+';')}}"></view></block></view></block><view class="tab-title data-v-374f26c4" style="{{'color:'+(titleColor)+';'+('justify-content:'+(ifCenter?'center':'')+';')+('padding:'+(ifCenter?'0px':(ifReturn?'0 38':'0 15')+'px')+';')}}"><view class="{{['title-box','data-v-374f26c4',['','clips1','clips2'][clipNumber*1]]}}" style="{{'max-width:'+(ifCenter?'360rpx':'70%')+';'}}"><block wx:if="{{ifNet}}"><view class="data-v-374f26c4">{{navBarTitle}}</view></block><block wx:if="{{!ifNet}}"><view class="data-v-374f26c4">{{netText}}<text data-event-opts="{{[['tap',[['refreshEv',['$event']]]]]}}" style="color:#0788ff;margin-left:20rpx;" bindtap="__e" class="data-v-374f26c4">刷新</text></view></block></view></view><view class="right-box data-v-374f26c4" style="{{'height:'+(navBarHeight)+';'}}"><slot name="rightcontent"></slot></view></view></view>
<view class="status-box data-v-374f26c4" style="{{'margin-bottom:'+(marginBottom)+';'}}"><view style="{{'height:'+(statusBarHeight+'px')+';'+('background:'+(backgroudColor)+';')}}" class="data-v-374f26c4"></view><view class="status-nav data-v-374f26c4" style="{{'background:'+(backgroudColor)+';'+('height:'+(navBarHeight)+';')}}"><block wx:if="{{ifHome}}"><view data-event-opts="{{[['tap',[['toHome',['$event']]]]]}}" class="left-box data-v-374f26c4" style="{{'height:'+(navBarHeight)+';'}}" bindtap="__e"><block wx:if="{{$slots.leftcontent}}"><slot name="leftcontent"></slot></block><block wx:else><view class="icon icon-home-active _i data-v-374f26c4" style="{{'font-size:38rpx;'+('color:'+(returnColor)+';')}}"></view></block></view></block><block wx:if="{{ifReturn}}"><view data-event-opts="{{[['tap',[['backEv',['$event']]]]]}}" class="left-box data-v-374f26c4" style="{{'height:'+(navBarHeight)+';'}}" bindtap="__e"><block wx:if="{{$slots.leftcontent}}"><slot name="leftcontent"></slot></block><block wx:else><view class="icon icon-return _i data-v-374f26c4" style="{{'font-size:38rpx;'+('color:'+(returnColor)+';')}}"></view></block></view></block><view class="tab-title data-v-374f26c4" style="{{'color:'+(titleColor)+';'+('justify-content:'+(ifCenter?'center':'')+';')+('padding:'+(ifCenter?'0px':(ifReturn?'0 38':'0 15')+'px')+';')}}"><view class="{{['title-box','data-v-374f26c4',['','clips1','clips2'][clipNumber*1]]}}" style="{{'max-width:'+(ifCenter?'360rpx':'70%')+';'}}"><block wx:if="{{ifNet}}"><view class="data-v-374f26c4">{{navBarTitle}}</view></block><block wx:if="{{!ifNet}}"><view class="data-v-374f26c4">{{netText}}<text data-event-opts="{{[['tap',[['refreshEv',['$event']]]]]}}" style="color:#0788ff;margin-left:20rpx;" bindtap="__e" class="data-v-374f26c4">刷新</text></view></block></view></view><view class="right-box data-v-374f26c4" style="{{'height:'+(navBarHeight)+';'}}"><slot name="rightcontent"></slot></view></view></view>

View File

@ -134,6 +134,10 @@ var _vuex = __webpack_require__(/*! vuex */ 33);
//
//
//
//
//
//
//
//引入mapState
var _default = {
name: 'tabbar',
@ -165,6 +169,17 @@ var _default = {
directorBarList: [{
iconPath: '/static/icon/icon-tabbar-01.png',
title: '打卡'
}, {
iconPath: '/static/icon/icon-tabbar-06.png',
title: '工作台'
}, {
iconPath: '/static/icon/icon-tabbar-03.png',
title: '我的'
}],
//负责人底部列表
workbenchBarList: [{
iconPath: '/static/icon/icon-tabbar-01.png',
title: '打卡'
}, {
iconPath: '/static/icon/icon-tabbar-04.png',
title: '支出'
@ -174,10 +189,7 @@ var _default = {
}, {
iconPath: '/static/icon/icon-tabbar-02.png',
title: '加班'
}, {
iconPath: '/static/icon/icon-tabbar-03.png',
title: '我的'
}] //负责人底部列表
}] //工作台底部列表
};
},
@ -225,28 +237,46 @@ var _default = {
case 1:
if (this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url: '/pages/director/expenditure/expenditure'
url: '/pages/director/sign/sign?userType=workbench'
});
}
break;
case 2:
if (this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url: '/pages/director/enter/enter'
url: '/pages/worker/my/my?userType=director'
});
}
break;
}
}
if (this.userType == 'workbench') {
switch (index) {
case 0:
if (this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url: '/pages/director/sign/sign?userType=workbench'
});
}
break;
case 1:
if (this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url: '/pages/director/expenditure/expenditure?userType=workbench'
});
}
break;
case 2:
if (this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url: '/pages/director/enter/enter?userType=workbench'
});
}
break;
case 3:
if (this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url: '/pages/director/overtime/overtime'
});
}
break;
case 4:
if (this.$toolAll.tools.judgeAuth()) {
uni.reLaunch({
url: '/pages/worker/my/my?userType=director'
url: '/pages/director/overtime/overtime?userType=workbench'
});
}
break;

View File

@ -1 +1 @@
<view class="tabbar-list data-v-8ad7aaf8"><block wx:for="{{workerBarList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><block wx:if="{{userType=='worker'}}"><view data-event-opts="{{[['tap',[['chooseFootTab',[index]]]]]}}" class="{{['tabbar-item','data-v-8ad7aaf8',current==index?'active':'']}}" bindtap="__e"><view class="icon data-v-8ad7aaf8"><image class="img data-v-8ad7aaf8" style="{{'width:'+([31,39,36][index]+'rpx')+';'+('height:'+([32,35,36][index]+'rpx')+';')}}" src="{{item.iconPath}}" mode="widthFix"></image></view><view class="title font26 data-v-8ad7aaf8">{{item.title}}</view></view></block></block><block wx:for="{{directorBarList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><block wx:if="{{userType=='director'}}"><view data-event-opts="{{[['tap',[['chooseFootTab',[index]]]]]}}" class="{{['tabbar-item','data-v-8ad7aaf8',current==index?'active':'']}}" bindtap="__e"><view class="icon data-v-8ad7aaf8"><image class="img data-v-8ad7aaf8" style="{{'width:'+([31,30,31,39,36][index]+'rpx')+';'+('height:'+([32,30,31,35,36][index]+'rpx')+';')}}" src="{{item.iconPath}}" mode="widthFix"></image></view><view class="title font26 data-v-8ad7aaf8">{{item.title}}</view></view></block></block></view>
<view class="tabbar-list data-v-8ad7aaf8"><block wx:for="{{workerBarList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><block wx:if="{{userType=='worker'}}"><view data-event-opts="{{[['tap',[['chooseFootTab',[index]]]]]}}" class="{{['tabbar-item','data-v-8ad7aaf8',current==index?'active':'']}}" bindtap="__e"><view class="icon data-v-8ad7aaf8"><image class="img data-v-8ad7aaf8" style="{{'width:'+([31,39,36][index]+'rpx')+';'+('height:'+([32,35,36][index]+'rpx')+';')}}" src="{{item.iconPath}}" mode="widthFix"></image></view><view class="title font26 data-v-8ad7aaf8">{{item.title}}</view></view></block></block><block wx:for="{{directorBarList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><block wx:if="{{userType=='director'}}"><view data-event-opts="{{[['tap',[['chooseFootTab',[index]]]]]}}" class="{{['tabbar-item','data-v-8ad7aaf8',current==index?'active':'']}}" bindtap="__e"><view class="icon data-v-8ad7aaf8"><image class="img data-v-8ad7aaf8" style="{{'width:'+([31,30,36][index]+'rpx')+';'+('height:'+([32,30,36][index]+'rpx')+';')}}" src="{{item.iconPath}}" mode="widthFix"></image></view><view class="title font26 data-v-8ad7aaf8">{{item.title}}</view></view></block></block><block wx:for="{{workbenchBarList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><block wx:if="{{userType=='workbench'}}"><view data-event-opts="{{[['tap',[['chooseFootTab',[index]]]]]}}" class="{{['tabbar-item','data-v-8ad7aaf8',current==index?'active':'']}}" bindtap="__e"><view class="icon data-v-8ad7aaf8"><image class="img data-v-8ad7aaf8" style="{{'width:'+([31,30,31,39][index]+'rpx')+';'+('height:'+([32,30,31,35][index]+'rpx')+';')}}" src="{{item.iconPath}}" mode="widthFix"></image></view><view class="title font26 data-v-8ad7aaf8">{{item.title}}</view></view></block></block></view>

View File

@ -188,7 +188,7 @@ var _default = {
statusHeight: uni.getSystemInfoSync().statusBarHeight,
//状态栏高度
userType: 'director',
//账户类型 工人worker 负责人director
//账户类型 工人worker 负责人director 工作台workbench
enterList: [],
//打卡列表
page: 1,
@ -200,7 +200,11 @@ var _default = {
ids: '' //选中的id
};
},
onLoad: function onLoad() {},
onLoad: function onLoad(op) {
if (op.userType) {
this.userType = op.userType;
}
},
onShow: function onShow() {
// 获取录入列表
this.getEnterList();

View File

@ -1 +1 @@
<view class="pad-x120 data-v-04b893d7"><status-nav vue-id="db4b2fe2-1" ifReturn="{{false}}" navBarTitle="工人信息" class="data-v-04b893d7" bind:__l="__l"></status-nav><view class="content data-v-04b893d7" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><view class="pull-nav data-v-04b893d7" style="{{'top:'+(statusHeight+50+'px')+';'}}"><sub-nav bind:changeEv="__e" vue-id="db4b2fe2-2" data-event-opts="{{[['^changeEv',[['changeEv']]]]}}" class="data-v-04b893d7" bind:__l="__l"></sub-nav></view><view class="choose-all-bg data-v-04b893d7"></view><view class="sign-record sign-record-other bg-white data-v-04b893d7"><block wx:for="{{enterList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-04b893d7"><view class="info enter-info data-v-04b893d7"><text class="data-v-04b893d7">{{"姓名:"+item.real_name}}</text><text class="data-v-04b893d7">{{"技术岗位:"+item.position_name}}</text><text class="data-v-04b893d7">{{"录入时间:"+item.created_at}}</text><block wx:if="{{item.status==-1}}"><text class="data-v-04b893d7">审核状态:<text class="color-red data-v-04b893d7">已退回</text></text></block></view><view class="examine-btns font24 data-v-04b893d7"><block wx:if="{{status==0}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['enterList','',index,'id']]]]]]]}}" class="btn color-blue data-v-04b893d7" bindtap="__e">去确认</view></block><block wx:if="{{status==1}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['enterList','',index,'id']]]]]]]}}" class="btn btn-other color-99 data-v-04b893d7" bindtap="__e">查看详情</view></block></view></view></block></view><view class="more-tips font24 data-v-04b893d7">{{enterList.length==total?'没有更多数据了':'下滑获取更多'}}</view></view><tabbar vue-id="db4b2fe2-3" userType="{{userType}}" current="2" class="data-v-04b893d7" bind:__l="__l"></tabbar></view>
<view class="pad-x120 data-v-04b893d7"><status-nav vue-id="db4b2fe2-1" ifReturn="{{false}}" ifHome="{{true}}" navBarTitle="工人信息" class="data-v-04b893d7" bind:__l="__l"></status-nav><view class="content data-v-04b893d7" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><view class="pull-nav data-v-04b893d7" style="{{'top:'+(statusHeight+50+'px')+';'}}"><sub-nav bind:changeEv="__e" vue-id="db4b2fe2-2" data-event-opts="{{[['^changeEv',[['changeEv']]]]}}" class="data-v-04b893d7" bind:__l="__l"></sub-nav></view><view class="choose-all-bg data-v-04b893d7"></view><view class="sign-record sign-record-other bg-white data-v-04b893d7"><block wx:for="{{enterList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-04b893d7"><view class="info enter-info data-v-04b893d7"><text class="data-v-04b893d7">{{"姓名:"+item.real_name}}</text><text class="data-v-04b893d7">{{"技术岗位:"+item.position_name}}</text><text class="data-v-04b893d7">{{"录入时间:"+item.created_at}}</text><block wx:if="{{item.status==-1}}"><text class="data-v-04b893d7">审核状态:<text class="color-red data-v-04b893d7">已退回</text></text></block></view><view class="examine-btns font24 data-v-04b893d7"><block wx:if="{{status==0}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['enterList','',index,'id']]]]]]]}}" class="btn color-blue data-v-04b893d7" bindtap="__e">去确认</view></block><block wx:if="{{status==1}}"><view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['enterList','',index,'id']]]]]]]}}" class="btn btn-other color-99 data-v-04b893d7" bindtap="__e">查看详情</view></block></view></view></block></view><view class="more-tips font24 data-v-04b893d7">{{enterList.length==total?'没有更多数据了':'下滑获取更多'}}</view></view><tabbar vue-id="db4b2fe2-3" userType="{{userType}}" current="2" class="data-v-04b893d7" bind:__l="__l"></tabbar></view>

View File

@ -205,7 +205,7 @@ var _default = {
statusHeight: uni.getSystemInfoSync().statusBarHeight,
//状态栏高度
userType: 'director',
//账户类型 工人worker 负责人director
//账户类型 工人worker 负责人director 工作台workbench
payInfo: {},
//支出总额
payList: [],
@ -226,7 +226,11 @@ var _default = {
total: 0
};
},
onLoad: function onLoad() {},
onLoad: function onLoad(op) {
if (op.userType) {
this.userType = op.userType;
}
},
onShow: function onShow() {
// 获取工资列表
this.getPayList();

View File

@ -1 +1 @@
<view class="pad-x120 data-v-578c57e5"><status-nav vue-id="cc01b47e-1" ifReturn="{{false}}" navBarTitle="工地支出" class="data-v-578c57e5" bind:__l="__l"></status-nav><view class="content data-v-578c57e5" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><view class="screen-box pay-screen-box data-v-578c57e5"><view class="item data-v-578c57e5"><picker class="font24 data-v-578c57e5" mode="date" range="{{date}}" fields="month" start="{{startDate}}" end="{{endDate}}" data-event-opts="{{[['change',[['bindDateChange',['$event']]]]]}}" bindchange="__e"><view class="name data-v-578c57e5"><text class="{{['data-v-578c57e5',showDate==''?'color-99':'']}}">{{showDate!==''?$root.g0[0]+'年'+$root.g1[1]+'月':'请选择时间'}}</text><image src="/static/icon/icon-arrow-02.png" mode="aspectFit" class="data-v-578c57e5"></image></view></picker></view><view class="item data-v-578c57e5"><picker class="font24 data-v-578c57e5" mode="selector" range="{{cateList}}" value="{{cateIndex}}" data-event-opts="{{[['change',[['bindCateChange',['$event']]]]]}}" bindchange="__e"><view class="name data-v-578c57e5"><text class="{{['clips1','data-v-578c57e5',cateIndex==0?'color-99':'']}}">{{cateList[cateIndex]}}</text><image src="/static/icon/icon-arrow-02.png" mode="aspectFit" class="data-v-578c57e5"></image></view></picker></view></view><view class="pay-info font26 data-v-578c57e5"><view class="item font30 data-v-578c57e5"><text class="data-v-578c57e5">工资总金额</text><text class="data-v-578c57e5">{{"合计:"+(payInfo.amount!=='undefined'?payInfo.amount:0)+"元"}}</text></view><view class="item data-v-578c57e5"><text class="data-v-578c57e5">基本工资</text><text class="data-v-578c57e5">{{(payInfo.base_amount!=='undefined'?payInfo.base_amount:0)+"元"}}</text></view><view class="item data-v-578c57e5"><text class="data-v-578c57e5">加班工资</text><text class="data-v-578c57e5">{{(payInfo.overtime_amount!=='undefined'?payInfo.overtime_amount:0)+"元"}}</text></view><view class="item data-v-578c57e5"><text class="data-v-578c57e5">待发工资</text><text class="data-v-578c57e5">{{(payInfo.not_amount!=='undefined'?payInfo.not_amount:0)+"元"}}</text></view><view class="item data-v-578c57e5"><text class="data-v-578c57e5">已发工资</text><text class="data-v-578c57e5">{{(payInfo.done_amount!=='undefined'?payInfo.done_amount:0)+"元"}}</text></view></view><view class="sign-record sign-record-other bg-white data-v-578c57e5"><block wx:for="{{payList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-578c57e5"><view class="info info-other data-v-578c57e5"><text class="data-v-578c57e5">{{item.name}}</text><text class="{{['data-v-578c57e5',item.status==0?'color-blue':'color-66']}}">{{item.status_text}}</text></view><view class="wages-info data-v-578c57e5"><view class="text data-v-578c57e5">{{"基本工资:"+item.base_amount+"元"}}</view><view class="text data-v-578c57e5">{{"加班工资:"+item.overtime_amount+"元"}}</view><view class="text data-v-578c57e5">合计:<text class="font32 data-v-578c57e5">{{item.amount}}</text>元</view></view></view></block></view><view class="more-tips font24 data-v-578c57e5">{{enterList.length==total?'没有更多数据了':'下滑获取更多'}}</view></view><tabbar vue-id="cc01b47e-2" userType="{{userType}}" current="1" class="data-v-578c57e5" bind:__l="__l"></tabbar></view>
<view class="pad-x120 data-v-578c57e5"><status-nav vue-id="cc01b47e-1" ifReturn="{{false}}" ifHome="{{true}}" navBarTitle="工地支出" class="data-v-578c57e5" bind:__l="__l"></status-nav><view class="content data-v-578c57e5" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><view class="screen-box pay-screen-box data-v-578c57e5"><view class="item data-v-578c57e5"><picker class="font24 data-v-578c57e5" mode="date" range="{{date}}" fields="month" start="{{startDate}}" end="{{endDate}}" data-event-opts="{{[['change',[['bindDateChange',['$event']]]]]}}" bindchange="__e"><view class="name data-v-578c57e5"><text class="{{['data-v-578c57e5',showDate==''?'color-99':'']}}">{{showDate!==''?$root.g0[0]+'年'+$root.g1[1]+'月':'请选择时间'}}</text><image src="/static/icon/icon-arrow-02.png" mode="aspectFit" class="data-v-578c57e5"></image></view></picker></view><view class="item data-v-578c57e5"><picker class="font24 data-v-578c57e5" mode="selector" range="{{cateList}}" value="{{cateIndex}}" data-event-opts="{{[['change',[['bindCateChange',['$event']]]]]}}" bindchange="__e"><view class="name data-v-578c57e5"><text class="{{['clips1','data-v-578c57e5',cateIndex==0?'color-99':'']}}">{{cateList[cateIndex]}}</text><image src="/static/icon/icon-arrow-02.png" mode="aspectFit" class="data-v-578c57e5"></image></view></picker></view></view><view class="pay-info font26 data-v-578c57e5"><view class="item font30 data-v-578c57e5"><text class="data-v-578c57e5">工资总金额</text><text class="data-v-578c57e5">{{"合计:"+(payInfo.amount!=='undefined'?payInfo.amount:0)+"元"}}</text></view><view class="item data-v-578c57e5"><text class="data-v-578c57e5">基本工资</text><text class="data-v-578c57e5">{{(payInfo.base_amount!=='undefined'?payInfo.base_amount:0)+"元"}}</text></view><view class="item data-v-578c57e5"><text class="data-v-578c57e5">加班工资</text><text class="data-v-578c57e5">{{(payInfo.overtime_amount!=='undefined'?payInfo.overtime_amount:0)+"元"}}</text></view><view class="item data-v-578c57e5"><text class="data-v-578c57e5">待发工资</text><text class="data-v-578c57e5">{{(payInfo.not_amount!=='undefined'?payInfo.not_amount:0)+"元"}}</text></view><view class="item data-v-578c57e5"><text class="data-v-578c57e5">已发工资</text><text class="data-v-578c57e5">{{(payInfo.done_amount!=='undefined'?payInfo.done_amount:0)+"元"}}</text></view></view><view class="sign-record sign-record-other bg-white data-v-578c57e5"><block wx:for="{{payList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-578c57e5"><view class="info info-other data-v-578c57e5"><text class="data-v-578c57e5">{{item.name}}</text><text class="{{['data-v-578c57e5',item.status==0?'color-blue':'color-66']}}">{{item.status_text}}</text></view><view class="wages-info data-v-578c57e5"><view class="text data-v-578c57e5">{{"基本工资:"+item.base_amount+"元"}}</view><view class="text data-v-578c57e5">{{"加班工资:"+item.overtime_amount+"元"}}</view><view class="text data-v-578c57e5">合计:<text class="font32 data-v-578c57e5">{{item.amount}}</text>元</view></view></view></block></view><view class="more-tips font24 data-v-578c57e5">{{enterList.length==total?'没有更多数据了':'下滑获取更多'}}</view></view><tabbar vue-id="cc01b47e-2" userType="{{userType}}" current="1" class="data-v-578c57e5" bind:__l="__l"></tabbar></view>

View File

@ -187,8 +187,8 @@ var _default = {
return {
statusHeight: uni.getSystemInfoSync().statusBarHeight,
//状态栏高度
userType: 'director',
//账户类型 工人worker 负责人director
userType: '',
//账户类型 工人worker 负责人director 工作台workbench
overtimeList: [],
//打卡列表
page: 1,
@ -200,7 +200,11 @@ var _default = {
ids: '' //选中的id
};
},
onLoad: function onLoad() {},
onLoad: function onLoad(op) {
if (op.userType) {
this.userType = op.userType;
}
},
onShow: function onShow() {
// 获取加班列表
this.getOvertimeList();

View File

@ -1 +1 @@
<view class="pad-x120 data-v-2d4463c5"><status-nav vue-id="7b4895e1-1" ifReturn="{{false}}" navBarTitle="工地加班" class="data-v-2d4463c5" bind:__l="__l"></status-nav><view class="content data-v-2d4463c5" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><view class="pull-nav data-v-2d4463c5" style="{{'top:'+(statusHeight+50+'px')+';'}}"><sub-nav bind:changeEv="__e" vue-id="7b4895e1-2" data-event-opts="{{[['^changeEv',[['changeEv']]]]}}" class="data-v-2d4463c5" bind:__l="__l"></sub-nav></view><view class="choose-all-bg data-v-2d4463c5"><block wx:if="{{status==0&&overtimeList.length>0}}"><view class="choose-all font26 data-v-2d4463c5"><view data-event-opts="{{[['tap',[['chooseAll',['$event']]]]]}}" class="{{['radio','data-v-2d4463c5',isAll?'checked':'']}}" bindtap="__e"></view><view class="title data-v-2d4463c5">全选</view><block wx:if="{{ids!==''}}"><view class="choose-all-btns font24 data-v-2d4463c5"><view data-event-opts="{{[['tap',[['submitAll',[1]]]]]}}" class="btn color-blue data-v-2d4463c5" bindtap="__e">一键确认</view><view data-event-opts="{{[['tap',[['submitAll',[0]]]]]}}" class="btn color-99 btn-no data-v-2d4463c5" bindtap="__e">退回</view></view></block></view></block></view><view class="sign-record sign-record-other bg-white data-v-2d4463c5"><block wx:for="{{overtimeList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-2d4463c5"><block wx:if="{{status==0}}"><view data-event-opts="{{[['tap',[['chooseEv',[index]]]]]}}" class="{{['radio','data-v-2d4463c5',item.ifcheck?'checked':'']}}" bindtap="__e"></view></block><view class="{{['info','data-v-2d4463c5',status==0?'hide':'']}}"><text class="data-v-2d4463c5">{{"工地:"+item.worksite_name}}</text><text class="data-v-2d4463c5">{{"姓名:"+item.worker_name}}</text><text class="data-v-2d4463c5">{{"加班时长:"+item.time+"小时"}}</text><text class="data-v-2d4463c5">{{"提交时间:"+item.create_time}}</text><text class="data-v-2d4463c5">{{"备注:"+item.remarks}}</text></view><block wx:if="{{item.status==0}}"><view class="examine-btns font24 data-v-2d4463c5"><view data-event-opts="{{[['tap',[['submitEv',['$0',1],[[['overtimeList','',index,'id']]]]]]]}}" class="btn color-blue data-v-2d4463c5" bindtap="__e">确认</view><view data-event-opts="{{[['tap',[['submitEv',['$0',0],[[['overtimeList','',index,'id']]]]]]]}}" class="btn color-99 data-v-2d4463c5" bindtap="__e">退回</view></view></block><block wx:if="{{item.status==1||item.status==-1}}"><view class="{{['state','data-v-2d4463c5',item.status==-1?'color-red':'']}}">{{item.status_text}}</view></block></view></block></view><view class="more-tips font24 data-v-2d4463c5">{{overtimeList.length==total?'没有更多数据了':'下滑获取更多'}}</view></view><tabbar vue-id="7b4895e1-3" userType="{{userType}}" current="3" class="data-v-2d4463c5" bind:__l="__l"></tabbar></view>
<view class="pad-x120 data-v-2d4463c5"><status-nav vue-id="7b4895e1-1" ifReturn="{{false}}" ifHome="{{true}}" navBarTitle="工地加班" class="data-v-2d4463c5" bind:__l="__l"></status-nav><view class="content data-v-2d4463c5" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><view class="pull-nav data-v-2d4463c5" style="{{'top:'+(statusHeight+50+'px')+';'}}"><sub-nav bind:changeEv="__e" vue-id="7b4895e1-2" data-event-opts="{{[['^changeEv',[['changeEv']]]]}}" class="data-v-2d4463c5" bind:__l="__l"></sub-nav></view><view class="choose-all-bg data-v-2d4463c5"><block wx:if="{{status==0&&overtimeList.length>0}}"><view class="choose-all font26 data-v-2d4463c5"><view data-event-opts="{{[['tap',[['chooseAll',['$event']]]]]}}" class="{{['radio','data-v-2d4463c5',isAll?'checked':'']}}" bindtap="__e"></view><view class="title data-v-2d4463c5">全选</view><block wx:if="{{ids!==''}}"><view class="choose-all-btns font24 data-v-2d4463c5"><view data-event-opts="{{[['tap',[['submitAll',[1]]]]]}}" class="btn color-blue data-v-2d4463c5" bindtap="__e">一键确认</view><view data-event-opts="{{[['tap',[['submitAll',[0]]]]]}}" class="btn color-99 btn-no data-v-2d4463c5" bindtap="__e">退回</view></view></block></view></block></view><view class="sign-record sign-record-other bg-white data-v-2d4463c5"><block wx:for="{{overtimeList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-2d4463c5"><block wx:if="{{status==0}}"><view data-event-opts="{{[['tap',[['chooseEv',[index]]]]]}}" class="{{['radio','data-v-2d4463c5',item.ifcheck?'checked':'']}}" bindtap="__e"></view></block><view class="{{['info','data-v-2d4463c5',status==0?'hide':'']}}"><text class="data-v-2d4463c5">{{"工地:"+item.worksite_name}}</text><text class="data-v-2d4463c5">{{"姓名:"+item.worker_name}}</text><text class="data-v-2d4463c5">{{"加班时长:"+item.time+"小时"}}</text><text class="data-v-2d4463c5">{{"提交时间:"+item.create_time}}</text><text class="data-v-2d4463c5">{{"备注:"+item.remarks}}</text></view><block wx:if="{{item.status==0}}"><view class="examine-btns font24 data-v-2d4463c5"><view data-event-opts="{{[['tap',[['submitEv',['$0',1],[[['overtimeList','',index,'id']]]]]]]}}" class="btn color-blue data-v-2d4463c5" bindtap="__e">确认</view><view data-event-opts="{{[['tap',[['submitEv',['$0',0],[[['overtimeList','',index,'id']]]]]]]}}" class="btn color-99 data-v-2d4463c5" bindtap="__e">退回</view></view></block><block wx:if="{{item.status==1||item.status==-1}}"><view class="{{['state','data-v-2d4463c5',item.status==-1?'color-red':'']}}">{{item.status_text}}</view></block></view></block></view><view class="more-tips font24 data-v-2d4463c5">{{overtimeList.length==total?'没有更多数据了':'下滑获取更多'}}</view></view><tabbar vue-id="7b4895e1-3" userType="{{userType}}" current="3" class="data-v-2d4463c5" bind:__l="__l"></tabbar></view>

View File

@ -187,8 +187,8 @@ var _default = {
return {
statusHeight: uni.getSystemInfoSync().statusBarHeight,
//状态栏高度
userType: 'director',
//账户类型 工人worker 负责人director
userType: '',
//账户类型 工人worker 负责人director 工作台workbench
signList: [],
//打卡列表
page: 1,
@ -200,7 +200,11 @@ var _default = {
ids: '' //选中的id
};
},
onLoad: function onLoad() {},
onLoad: function onLoad(op) {
if (op.userType) {
this.userType = op.userType;
}
},
onShow: function onShow() {
// 获取打卡列表
this.getSignList();

View File

@ -1 +1 @@
<view class="pad-x120 data-v-cabccb76"><status-nav vue-id="8cdba13e-1" ifReturn="{{false}}" navBarTitle="工地打卡" class="data-v-cabccb76" bind:__l="__l"></status-nav><view class="content data-v-cabccb76" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><view class="pull-nav data-v-cabccb76" style="{{'top:'+(statusHeight+50+'px')+';'}}"><sub-nav bind:changeEv="__e" vue-id="8cdba13e-2" data-event-opts="{{[['^changeEv',[['changeEv']]]]}}" class="data-v-cabccb76" bind:__l="__l"></sub-nav></view><view class="choose-all-bg data-v-cabccb76"><block wx:if="{{status==0&&signList.length>0}}"><view class="choose-all font26 data-v-cabccb76"><view data-event-opts="{{[['tap',[['chooseAll',['$event']]]]]}}" class="{{['radio','data-v-cabccb76',isAll?'checked':'']}}" bindtap="__e"></view><view class="title data-v-cabccb76">全选</view><block wx:if="{{ids!==''}}"><view class="choose-all-btns font24 data-v-cabccb76"><view data-event-opts="{{[['tap',[['submitAll',[1]]]]]}}" class="btn color-blue data-v-cabccb76" bindtap="__e">一键确认</view><view data-event-opts="{{[['tap',[['submitAll',[0]]]]]}}" class="btn color-99 btn-no data-v-cabccb76" bindtap="__e">退回</view></view></block></view></block></view><view class="sign-record sign-record-other bg-white data-v-cabccb76"><block wx:for="{{signList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-cabccb76"><block wx:if="{{status==0}}"><view data-event-opts="{{[['tap',[['chooseEv',[index]]]]]}}" class="{{['radio','data-v-cabccb76',item.ifcheck?'checked':'']}}" bindtap="__e"></view></block><view class="{{['info','data-v-cabccb76',status==0?'hide':'']}}"><text class="data-v-cabccb76">{{"姓名:"+item.worker_name}}</text><text class="data-v-cabccb76">{{item.type_text+"打卡:"+item.created_at}}</text><text class="data-v-cabccb76">{{"打卡工地:"+item.worksite_name}}</text></view><block wx:if="{{item.status==0}}"><view class="examine-btns font24 data-v-cabccb76"><view data-event-opts="{{[['tap',[['submitEv',['$0',1],[[['signList','',index,'id']]]]]]]}}" class="btn color-blue data-v-cabccb76" bindtap="__e">确认</view><view data-event-opts="{{[['tap',[['submitEv',['$0',0],[[['signList','',index,'id']]]]]]]}}" class="btn color-99 data-v-cabccb76" bindtap="__e">退回</view></view></block><block wx:if="{{item.status==1||item.status==-1}}"><view class="{{['state','data-v-cabccb76',item.status==-1?'color-red':'']}}">{{item.status_text}}</view></block></view></block><view class="more-tips font24 data-v-cabccb76">{{signList.length==total?'没有更多数据了':'下滑获取更多'}}</view></view></view><tabbar vue-id="8cdba13e-3" userType="{{userType}}" class="data-v-cabccb76" bind:__l="__l"></tabbar></view>
<view class="pad-x120 data-v-cabccb76"><status-nav vue-id="8cdba13e-1" ifReturn="{{false}}" ifHome="{{true}}" navBarTitle="工地打卡" class="data-v-cabccb76" bind:__l="__l"></status-nav><view class="content data-v-cabccb76" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><view class="pull-nav data-v-cabccb76" style="{{'top:'+(statusHeight+50+'px')+';'}}"><sub-nav bind:changeEv="__e" vue-id="8cdba13e-2" data-event-opts="{{[['^changeEv',[['changeEv']]]]}}" class="data-v-cabccb76" bind:__l="__l"></sub-nav></view><view class="choose-all-bg data-v-cabccb76"><block wx:if="{{status==0&&signList.length>0}}"><view class="choose-all font26 data-v-cabccb76"><view data-event-opts="{{[['tap',[['chooseAll',['$event']]]]]}}" class="{{['radio','data-v-cabccb76',isAll?'checked':'']}}" bindtap="__e"></view><view class="title data-v-cabccb76">全选</view><block wx:if="{{ids!==''}}"><view class="choose-all-btns font24 data-v-cabccb76"><view data-event-opts="{{[['tap',[['submitAll',[1]]]]]}}" class="btn color-blue data-v-cabccb76" bindtap="__e">一键确认</view><view data-event-opts="{{[['tap',[['submitAll',[0]]]]]}}" class="btn color-99 btn-no data-v-cabccb76" bindtap="__e">退回</view></view></block></view></block></view><view class="sign-record sign-record-other bg-white data-v-cabccb76"><block wx:for="{{signList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-cabccb76"><block wx:if="{{status==0}}"><view data-event-opts="{{[['tap',[['chooseEv',[index]]]]]}}" class="{{['radio','data-v-cabccb76',item.ifcheck?'checked':'']}}" bindtap="__e"></view></block><view class="{{['info','data-v-cabccb76',status==0?'hide':'']}}"><text class="data-v-cabccb76">{{"姓名:"+item.worker_name}}</text><text class="data-v-cabccb76">{{item.type_text+"打卡:"+item.created_at}}</text><text class="data-v-cabccb76">{{"打卡工地:"+item.worksite_name}}</text></view><block wx:if="{{item.status==0}}"><view class="examine-btns font24 data-v-cabccb76"><view data-event-opts="{{[['tap',[['submitEv',['$0',1],[[['signList','',index,'id']]]]]]]}}" class="btn color-blue data-v-cabccb76" bindtap="__e">确认</view><view data-event-opts="{{[['tap',[['submitEv',['$0',0],[[['signList','',index,'id']]]]]]]}}" class="btn color-99 data-v-cabccb76" bindtap="__e">退回</view></view></block><block wx:if="{{item.status==1||item.status==-1}}"><view class="{{['state','data-v-cabccb76',item.status==-1?'color-red':'']}}">{{item.status_text}}</view></block></view></block><view class="more-tips font24 data-v-cabccb76">{{signList.length==total?'没有更多数据了':'下滑获取更多'}}</view></view></view><tabbar vue-id="8cdba13e-3" userType="{{userType}}" class="data-v-cabccb76" bind:__l="__l"></tabbar></view>

View File

@ -201,8 +201,6 @@ var _default = {
return {
statusHeight: uni.getSystemInfoSync().statusBarHeight,
//状态栏高度
current: -1,
//底部当前
userType: '',
//账户类型 工人worker 负责人director
frontColor: '#ffffff',
@ -251,7 +249,7 @@ var _default = {
iconHeight: 32
}, {
title: '打卡记录',
url: '/pagesA/signRecord/signRecord',
url: '/pagesA/signRecord/signRecord?userType=worker',
icon: '/static/icon/icon-my-02.png',
iconWidth: 30,
iconHeight: 30
@ -300,7 +298,6 @@ var _default = {
}];
}
if (op.userType == 'director') {
this.current = 4;
this.myMoreList = [{
title: '个人资料',
url: '/pagesA/information/information',
@ -309,7 +306,7 @@ var _default = {
iconHeight: 32
}, {
title: '打卡记录',
url: '/pagesA/signRecord/signRecord',
url: '/pagesA/signRecord/signRecord?userType=director',
icon: '/static/icon/icon-my-02.png',
iconWidth: 30,
iconHeight: 30

View File

@ -1,2 +1,2 @@
<view class="pad-x120 data-v-21031917"><status-nav vue-id="013eea62-1" ifReturn="{{false}}" navBarTitle="个人中心" titleColor="{{titleColor}}" backgroudColor="{{backgroudColor}}" class="data-v-21031917" bind:__l="__l"></status-nav><block wx:if="{{isLoding}}"><view class="content data-v-21031917"><view class="sign-top my-top font24 color-white data-v-21031917" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><image src="/static/my-bg.jpg" mode="aspectFill" class="data-v-21031917"></image><view class="my-info data-v-21031917"><view class="my-cover data-v-21031917"><image src="{{userInfo.headimgurl}}" mode="aspectFill" class="data-v-21031917"></image></view><view class="my-txt data-v-21031917"><view class="font28 data-v-21031917">{{userInfo.nickname}}</view><view class="font24 data-v-21031917">{{userInfo.real_name!==''?userInfo.real_name:'审核中'}}</view></view></view></view><view class="sign-record my-more data-v-21031917"><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="index" wx:key="index"><block wx:if="{{item.g0!==-1}}"><view data-event-opts="{{[['tap',[['toMore',['$0'],[[['myMoreList','',index,'url']]]]]]]}}" class="item bg-white data-v-21031917" bindtap="__e"><view class="img data-v-21031917"><image style="{{'width:'+(item.$orig.iconWidth+'rpx')+';'+('height:'+(item.$orig.iconHeight+'rpx')+';')}}" src="{{item.$orig.icon}}" mode="aspectFit" class="data-v-21031917"></image></view><view class="txt font28 data-v-21031917">{{item.$orig.title}}</view><image src="/static/icon/icon-arrow-03.png" mode="aspectFit" class="data-v-21031917"></image></view></block></block></view><block wx:if="{{showApply}}"><view class="pop-up-bg data-v-21031917"><view class="sign-cate apply-pop bg-white data-v-21031917"><view class="title apply-title font34 data-v-21031917" style="border-bottom:0;padding-bottom:0;"><image style="width:94rpx;height:90rpx;" src="/static/icon/icon-apply.png" mode="aspectFill" class="data-v-21031917"></image></view><view class="txt apply-txt font30 data-v-21031917" style="justify-content:center;text-align:center;"><text class="data-v-21031917">请确认
您是否真的要申请离职?</text></view><view class="sign-cate-btns color-white font30 data-v-21031917"><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" class="btn data-v-21031917" bindtap="__e">取消</view><view data-event-opts="{{[['tap',[['submitEv',['$event']]]]]}}" class="btn data-v-21031917" bindtap="__e">确认</view></view></view></view></block></view></block><tabbar vue-id="013eea62-2" userType="{{userType}}" current="{{current}}" class="data-v-21031917" bind:__l="__l"></tabbar></view>
您是否真的要申请离职?</text></view><view class="sign-cate-btns color-white font30 data-v-21031917"><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" class="btn data-v-21031917" bindtap="__e">取消</view><view data-event-opts="{{[['tap',[['submitEv',['$event']]]]]}}" class="btn data-v-21031917" bindtap="__e">确认</view></view></view></view></block></view></block><tabbar vue-id="013eea62-2" userType="{{userType}}" current="2" class="data-v-21031917" bind:__l="__l"></tabbar></view>

View File

@ -163,7 +163,7 @@ var _default = {
return {
statusHeight: uni.getSystemInfoSync().statusBarHeight,
//状态栏高度
userType: 'worker',
userType: '',
//账户类型 工人worker 负责人director
signList: [],
//打卡列表
@ -201,7 +201,10 @@ var _default = {
showCard: false //是否显示补卡
};
},
onLoad: function onLoad() {
onLoad: function onLoad(op) {
if (op.userType !== '') {
this.userType = op.userType;
}
// 获取工地列表
this.getWorksiteList();
},

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')+';'}}"><view class="screen-box screen-box-other data-v-11e99daa"><view class="item data-v-11e99daa"><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><view class="sign-calendar data-v-11e99daa"><sign-calendar vue-id="2b49158a-2" class="data-v-11e99daa" bind:__l="__l"></sign-calendar></view><view class="sign-record-date font26 data-v-11e99daa">2022年12月08日 打卡情况</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.g0}}</text><text class="data-v-11e99daa">{{"打卡工地:"+item.$orig.worksite_name}}</text></view><block wx:if="{{item.$orig.status==-1}}"><view class="state color-red data-v-11e99daa">{{item.$orig.status_text}}</view></block><block wx:if="{{item.$orig.status==0}}"><view class="state color-blue data-v-11e99daa">{{item.$orig.status_text}}</view></block><block wx:if="{{item.$orig.status==1}}"><view class="state data-v-11e99daa">{{item.$orig.status_text}}</view></block></view></block></view><view class="more-tips font24 data-v-11e99daa">{{signList.length==total?'没有更多数据了':'下滑获取更多'}}</view></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')+';'}}"><view class="screen-box screen-box-other data-v-11e99daa"><view class="item data-v-11e99daa"><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><view class="sign-calendar data-v-11e99daa"><sign-calendar vue-id="2b49158a-2" class="data-v-11e99daa" bind:__l="__l"></sign-calendar></view><view class="sign-record-date font26 data-v-11e99daa">2022年12月08日 打卡情况</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.g0}}</text><text class="data-v-11e99daa">{{"打卡工地:"+item.$orig.worksite_name}}</text></view><block wx:if="{{item.$orig.status==-1}}"><view class="state color-red data-v-11e99daa">{{item.$orig.status_text}}</view></block><block wx:if="{{item.$orig.status==0}}"><view class="state color-blue data-v-11e99daa">{{item.$orig.status_text}}</view></block><block wx:if="{{item.$orig.status==1}}"><view class="state data-v-11e99daa">{{item.$orig.status_text}}</view></block></view></block></view><view class="more-tips font24 data-v-11e99daa">{{signList.length==total?'没有更多数据了':'下滑获取更多'}}</view></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="{{userType=='worker'?2:4}}" class="data-v-11e99daa" bind:__l="__l"></tabbar></view>

View File

@ -185,6 +185,9 @@ var _default = {
//状态栏高度
userType: 'director',
//账户类型 工人worker 负责人director
radioList: ['开启', '禁用'],
radioIndex: 0,
//当前选择
centerDetail: {},
//工人信息
reasonMsg: '',
@ -213,6 +216,12 @@ var _default = {
return shareObj;
},
methods: {
// 改变公告开启状态
changeNotickStatus: function changeNotickStatus(index) {
if (this.radioIndex !== index) {
this.radioIndex = index;
}
},
// 获取工人信息
getEnterDetail: function getEnterDetail() {
var _this = this;

File diff suppressed because one or more lines are too long

View File

@ -101,9 +101,6 @@ try {
statusNav: function () {
return __webpack_require__.e(/*! import() | components/status-nav/status-nav */ "components/status-nav/status-nav").then(__webpack_require__.bind(null, /*! @/components/status-nav/status-nav.vue */ 165))
},
subNav: function () {
return Promise.all(/*! import() | components/sub-nav/sub-nav */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/sub-nav/sub-nav")]).then(__webpack_require__.bind(null, /*! @/components/sub-nav/sub-nav.vue */ 186))
},
tabbar: function () {
return Promise.all(/*! import() | components/tabbar/tabbar */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/tabbar/tabbar")]).then(__webpack_require__.bind(null, /*! @/components/tabbar/tabbar.vue */ 179))
},
@ -129,6 +126,11 @@ var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
if (!_vm._isMounted) {
_vm.e0 = function ($event) {
;(_vm.showEvaluate = false), (_vm.curStars = 0)
}
}
}
var recyclableRender = false
var staticRenderFns = []
@ -168,11 +170,6 @@ Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var subNav = function subNav() {
Promise.all(/*! require.ensure | components/sub-nav/sub-nav */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/sub-nav/sub-nav")]).then((function () {
return resolve(__webpack_require__(/*! @/components/sub-nav/sub-nav.vue */ 186));
}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
};
var tabbar = function tabbar() {
Promise.all(/*! require.ensure | components/tabbar/tabbar */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/tabbar/tabbar")]).then((function () {
return resolve(__webpack_require__(/*! @/components/tabbar/tabbar */ 179));
@ -180,7 +177,6 @@ var tabbar = function tabbar() {
};
var _default = {
components: {
subNav: subNav,
tabbar: tabbar
},
data: function data() {
@ -197,7 +193,14 @@ var _default = {
total: 0,
isAll: false,
//是否全选
ids: '' //选中的id
ids: '',
//选中的id
showEvaluate: false,
//是否显示评定弹窗
allStars: 5,
//总共几星
curStars: 0 //选择几星
};
},
onLoad: function onLoad() {},
@ -229,6 +232,12 @@ var _default = {
return shareObj;
},
methods: {
// 选择几星
changeStars: function changeStars(index) {
if (index !== this.curStars - 1) {
this.curStars = index + 1;
}
},
// 选择栏目
changeEv: function changeEv(index) {
this.status = index;

View File

@ -3,7 +3,6 @@
"enablePullDownRefresh": true,
"usingComponents": {
"status-nav": "/components/status-nav/status-nav",
"sub-nav": "/components/sub-nav/sub-nav",
"tabbar": "/components/tabbar/tabbar"
}
}

View File

@ -1 +1 @@
<view class="pad-x120 data-v-08582d6c"><status-nav vue-id="02ae011a-1" navBarTitle="工人列表" class="data-v-08582d6c" bind:__l="__l"></status-nav><view class="content data-v-08582d6c" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><view class="pull-nav data-v-08582d6c" style="{{'top:'+(statusHeight+50+'px')+';'}}"><sub-nav bind:changeEv="__e" vue-id="02ae011a-2" data-event-opts="{{[['^changeEv',[['changeEv']]]]}}" class="data-v-08582d6c" bind:__l="__l"></sub-nav></view><view class="choose-all-bg data-v-08582d6c"><block wx:if="{{status==0&&signList.length>0}}"><view class="choose-all font26 data-v-08582d6c"><view data-event-opts="{{[['tap',[['chooseAll',['$event']]]]]}}" class="{{['radio','data-v-08582d6c',isAll?'checked':'']}}" bindtap="__e"></view><view class="title data-v-08582d6c">全选</view><block wx:if="{{ids!==''}}"><view class="choose-all-btns font24 data-v-08582d6c"><view data-event-opts="{{[['tap',[['submitAll',[1]]]]]}}" class="btn color-blue data-v-08582d6c" bindtap="__e">一键确认</view><view data-event-opts="{{[['tap',[['submitAll',[0]]]]]}}" class="btn color-99 btn-no data-v-08582d6c" bindtap="__e">退回</view></view></block></view></block></view><view class="sign-record sign-record-other bg-white data-v-08582d6c"><block wx:for="{{signList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-08582d6c"><block wx:if="{{status==0}}"><view data-event-opts="{{[['tap',[['chooseEv',[index]]]]]}}" class="{{['radio','data-v-08582d6c',item.ifcheck?'checked':'']}}" bindtap="__e"></view></block><view class="{{['info','data-v-08582d6c',status==0?'hide':'']}}"><text class="data-v-08582d6c">{{"姓名:"+item.worker_name}}</text><text class="data-v-08582d6c">{{item.type_text+"打卡:"+item.created_at}}</text><text class="data-v-08582d6c">{{"打卡工地:"+item.worksite_name}}</text></view><block wx:if="{{item.status==0}}"><view class="examine-btns font24 data-v-08582d6c"><view data-event-opts="{{[['tap',[['submitEv',['$0',1],[[['signList','',index,'id']]]]]]]}}" class="btn color-blue data-v-08582d6c" bindtap="__e">确认</view><view data-event-opts="{{[['tap',[['submitEv',['$0',0],[[['signList','',index,'id']]]]]]]}}" class="btn color-99 data-v-08582d6c" bindtap="__e">退回</view></view></block><block wx:if="{{item.status==1||item.status==-1}}"><view class="{{['state','data-v-08582d6c',item.status==-1?'color-red':'']}}">{{item.status_text}}</view></block></view></block><view class="more-tips font24 data-v-08582d6c">{{signList.length==total?'没有更多数据了':'下滑获取更多'}}</view></view></view><tabbar vue-id="02ae011a-3" userType="{{userType}}" current="4" class="data-v-08582d6c" bind:__l="__l"></tabbar></view>
<view class="pad-x120 data-v-08582d6c"><status-nav vue-id="02ae011a-1" navBarTitle="工人列表" class="data-v-08582d6c" bind:__l="__l"></status-nav><view class="content data-v-08582d6c" style="{{'padding-top:'+(statusHeight+50+'px')+';'}}"><view class="sign-record sign-record-other bg-white data-v-08582d6c"><block wx:for="{{signList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="item font26 data-v-08582d6c"><block wx:if="{{status==0}}"><view data-event-opts="{{[['tap',[['chooseEv',[index]]]]]}}" class="{{['radio','data-v-08582d6c',item.ifcheck?'checked':'']}}" bindtap="__e"></view></block><view class="{{['info','data-v-08582d6c',status==0?'hide':'']}}"><text class="data-v-08582d6c">{{"姓名:"+item.worker_name}}</text><text class="data-v-08582d6c">{{item.type_text+"打卡:"+item.created_at}}</text><text class="data-v-08582d6c">{{"打卡工地:"+item.worksite_name}}</text></view><block wx:if="{{item.status==0}}"><view class="examine-btns font24 data-v-08582d6c"><view data-event-opts="{{[['tap',[['submitEv',['$0',1],[[['signList','',index,'id']]]]]]]}}" class="btn color-blue data-v-08582d6c" bindtap="__e">确认</view><view data-event-opts="{{[['tap',[['submitEv',['$0',0],[[['signList','',index,'id']]]]]]]}}" class="btn color-99 data-v-08582d6c" bindtap="__e">退回</view></view></block><block wx:if="{{item.status==1||item.status==-1}}"><view class="{{['state','data-v-08582d6c',item.status==-1?'color-red':'']}}">{{item.status_text}}</view></block></view></block><view class="more-tips font24 data-v-08582d6c">{{signList.length==total?'没有更多数据了':'下滑获取更多'}}</view></view></view><block wx:if="{{showEvaluate}}"><view class="pop-up-bg data-v-08582d6c"><view class="sign-cate bg-white data-v-08582d6c"><view class="title font34 data-v-08582d6c">工人评定</view><view class="txt evaluate-txt font28 data-v-08582d6c"><view class="evaluate-tips data-v-08582d6c">请根据工人本月的表现情况进行评定</view><block wx:for="{{allStars}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="evaluate-stars data-v-08582d6c"><image src="{{index<=curStars-1?'/static/icon/icon-stars-active.png':'/static/icon/icon-stars.png'}}" mode="widthFix" data-event-opts="{{[['tap',[['changeStars',[index]]]]]}}" bindtap="__e" class="data-v-08582d6c"></image></view></block></view><view class="sign-cate-btns color-white font30 data-v-08582d6c"><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" class="btn data-v-08582d6c" bindtap="__e">取消</view><view data-event-opts="{{[['tap',[['submitEv',['$event']]]]]}}" class="btn data-v-08582d6c" bindtap="__e">确认</view></view></view></view></block><tabbar vue-id="02ae011a-2" userType="{{userType}}" current="4" class="data-v-08582d6c" bind:__l="__l"></tabbar></view>

View File

@ -41,7 +41,7 @@
{
"name": "",
"pathName": "pages/director/sign/sign",
"query": "",
"query": "userType=workbench",
"launchMode": "default",
"scene": null
},
@ -72,6 +72,20 @@
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "",
"pathName": "pagesB/notick/notick",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "",
"pathName": "pages/worker/sign/sign",
"query": "userType=director",
"launchMode": "default",
"scene": null
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB