Explorar o código

2022.6.24 超前填报权限控制

ggooalice %!s(int64=2) %!d(string=hai) anos
pai
achega
1f22012fff

+ 6 - 7
fhKeeper/formulahousekeeper/timesheet/src/views/settings/timetype.vue

@@ -22,12 +22,14 @@
                     <el-option v-for="item in times" :key="item" :label="item.toFixed(1)" :value="item"></el-option>
                 </el-select>
                 小时
+                <span class="lockworktime"><el-checkbox v-model="timeType.fillAhead" label="可提前填报" /></span>
                 <span class="lockworktime"><el-checkbox v-model="timeType.lockWorktime" label="锁定工作时长" />
                 
                 <el-tooltip effect="dark" content="锁定每日填报工时的上限" placement="top-start">
                     <i class="el-icon-question" style="color:#606266"></i>
                 </el-tooltip>
                 </span>
+                
             </el-form-item><br>
             <el-form-item label="加班设置" prop="allday" v-if="!timeType.lockWorktime">
                 <el-checkbox v-model="timeType.fillOvertime" label="可填报加班时长" />
@@ -42,12 +44,6 @@
         </el-radio>
         <el-radio v-model="timeType.hourCostInputType" :label="1" style="width:100%;margin-left:10px;">方式二:直接录入时薪<span class="tip">(适合计时发放酬劳的小时工,兼职员工)</span></el-radio>
         </div>
-        <p style="margin-left:10px;color:#666;">工时填报必填项设置</p>
-        <el-row :gutter="20" style="padding-top:10px;width:100%;margin:0 auto;padding-left:10px;padding-right:10px;">
-            <el-col :span="24" >
-                
-            </el-col>
-        </el-row>
         <!--设置时长样式内容-->
         <p style="margin-left:10px;color:#666;">员工工作时长上报方式设置</p>
         <el-row :gutter="20" style="padding-top:10px;width:100%;margin:0 auto;padding-left:10px;padding-right:10px;">
@@ -426,7 +422,8 @@
                     monthDays: 21.75,
                     pm: 4,
                     type: 0,
-                    lockWorktime: true
+                    lockWorktime: false,
+                    fillAhead: false
                 },
                 customDegreeActive: false,
                 needDeptAudit: false,
@@ -900,6 +897,7 @@
                         
                         param.fillOvertime = param.fillOvertime ? 1 : 0
                         param.lockWorktime = param.lockWorktime ? 1 : 0
+                        param.fillAhead = param.fillAhead ? 1 : 0
                         if(param.lockWorktime){
                             param.fillOvertime = 0
                             param.payOvertime = 0
@@ -969,6 +967,7 @@
                             this.timeType.customTextStatus = this.timeType.customTextStatus ? true : false
                             this.timeType.customDegreeStatus = this.timeType.customDegreeStatus ? true : false
                             this.timeType.customDataStatus = this.timeType.customDataStatus ? true : false
+                            this.timeType.fillAhead = this.timeType.fillAhead ? true : false
                             this.timeChange();
                             let userlist = res.data.userList
                             this.whiteList = []

+ 2 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -20,7 +20,7 @@
                          <el-button style="margin-left:10px;" icon="iconfont firerock-icongongshitongji" size="mini"  @click="showWorkTime"></el-button>
                     </div> -->
                         <span v-for="(item,index) in allDate" :id="'day'+index" class="date_item"
-                        @click="choseDate(index, item)" :key="index" :style="'padding:0 6px;display: inline-block;width: 46px;text-align: center;' + (canClick(index,item) == false ? 'color:#c0c0c0;cursor:not-allowed;' : '') ">
+                        @click="choseDate(index, item)" :key="index" :style="'padding:0 6px;display: inline-block;width: 46px;text-align: center;' + (canClick(index,item) == false && user.timeType.fillAhead == 0 ? 'color:#c0c0c0;cursor:not-allowed;' : '') ">
                         <div :style="'display:inline-block;text-align: center;'+(item.state == null?'':'')" >
                             <div style="text-align:center;"><span :class="statusStyle[item.state]">{{item.showDate}}</span>
                             <br>
@@ -3325,7 +3325,7 @@
 
             // 选择日期
             choseDate(i, item) {
-                if(this.canClick(i,item) == false){
+                if(this.canClick(i,item) == false && this.user.timeType.fillAhead == 0){
                     return
                 }
                 // console.log(nowDateYear,nowDateMonth,nowDateDay,'..',itemYear,itemMonth,itemDay);