瀏覽代碼

2022.8.3 按周填报考勤限制,请假剩余表数据限制

ggooalice 2 年之前
父節點
當前提交
57324e4467

+ 28 - 26
fhKeeper/formulahousekeeper/timesheet/src/views/leave/list.vue

@@ -56,13 +56,13 @@
 
           <!-- 钉钉环境对接 -->
           <template v-if="isDingding">
-            <el-menu-item index="7" v-if="permissions.leaveAll">
+            <el-menu-item index="7">
                 <template slot="title">
                   <i class="iconfont firerock-iconbaoxiaodan"></i>
                   <span slot="title">请假单列表</span>
                 </template>
             </el-menu-item>
-            <el-menu-item index="8" v-if="permissions.leaveAll">
+            <el-menu-item index="8">
                 <template slot="title">
                   <i class="iconfont firerock-iconbaoxiaodan"></i>
                   <span slot="title">假期剩余表</span>
@@ -511,35 +511,37 @@
           <div class="flex">
             <div>
               <span>请假类型</span>
-              <el-select v-model="leaveTypeItem" placeholder="请选择请假类型" @change="leaveTypeChange()" style="width: 180px" size="small" v-show="permissions.leaveAll" filterable="true">
+              <el-select v-model="leaveTypeItem" placeholder="请选择请假类型" @change="leaveTypeChange()" style="width: 180px" size="small"  filterable="true">
                   <span v-for="item in leaveTypeList" :key="item.leaveCode">
                   <el-option :label="item.leaveName" :value="item.leaveCode"></el-option>
                   </span> 
               </el-select>
             </div>
-            <div>
-              <span>部门筛选</span>
-              <el-cascader
-              size="small"
-              @change="departmentOptionsChg"
-              v-model="departmentSel"
-              :options="departmentOptions"
-              placeholder="请选择部门"
-              :show-all-levels="false"
-              :props="{ checkStrictly: true }"
-              clearable></el-cascader>
-            </div>
-            <div>
-              <span>人员筛选</span>
-              <el-select v-model="userSelId" placeholder="请选择请假人" clearable @change="userChg()" style="width: 180px" size="small" v-show="permissions.leaveAll" filterable="true">
-                  <span v-for="(item, index) in users" :key="index">
-                  <el-option :label="item.name" :value="item.id"></el-option>
-                  </span> 
-              </el-select>
-            </div>
-            <div style="margin:0 10px 0 40px">
-              <el-button size="small" type="primary" @click="listSynchronize" :loading="synchronizeLoading">从钉钉同步</el-button>
-            </div>
+            <template v-if="permissions.leaveAll">
+              <div>
+                <span>部门筛选</span>
+                <el-cascader
+                size="small"
+                @change="departmentOptionsChg"
+                v-model="departmentSel"
+                :options="departmentOptions"
+                placeholder="请选择部门"
+                :show-all-levels="false"
+                :props="{ checkStrictly: true }"
+                clearable></el-cascader>
+              </div>
+              <div>
+                <span>人员筛选</span>
+                <el-select v-model="userSelId" placeholder="请选择请假人" clearable @change="userChg()" style="width: 180px" size="small" v-show="permissions.leaveAll" filterable="true">
+                    <span v-for="(item, index) in users" :key="index">
+                    <el-option :label="item.name" :value="item.id"></el-option>
+                    </span> 
+                </el-select>
+              </div>
+              <div style="margin:0 10px 0 40px">
+                <el-button size="small" type="primary" @click="listSynchronize" :loading="synchronizeLoading">从钉钉同步</el-button>
+              </div>
+            </template>
             
           </div>
             <el-table key="apk2is8" v-loading="loading" :data="vacationList" style="width: 100%" height="94%">

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

@@ -3193,6 +3193,13 @@
                 this.http.post("/report/getMembList", param,
                 res => {
                     if (res.code == "ok") {
+                        if(res.data.length == 0){
+                            this.$message({
+                                message: '请联系管理员设置负责部门',
+                                type: 'error'
+                            })
+                            return
+                        }
                         this.departmentList = JSON.parse(JSON.stringify(res.data))
                         var list = res.data , list1 = JSON.parse(JSON.stringify(res.data));
                         // let noAllData = JSON.parse(JSON.stringify(res.data));

+ 23 - 0
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/weekEdit.vue

@@ -395,6 +395,9 @@
                     if(res.code == 'ok'){
                         if(res.data){
                             this.kaoqinText = res.data.startTime + '-' + res.data.endTime + ',' + res.data.workHours + '小时'
+                            if((this.user.timeType.showDdCardtime == 1 || this.user.timeType.showCorpwxCardtime == 1) && this.reportTimeType.type == 1){
+                                this.$set(this.currentForm,'cardtime',res.data.workHours)
+                            }
                         }else {
                             this.kaoqinText = false
                         }
@@ -1313,6 +1316,26 @@
             // 提交日报
             submitReport() {
                 this.form[this.inbtn] = this.currentForm
+                if((this.user.timeType.showDdCardtime == 1 || this.user.timeType.showCorpwxCardtime == 1) && this.reportTimeType.type == 1){
+                    let tips = ''
+                    for(let m in this.form){
+                        let allhours = 0
+                        for(let n in this.form[m].domains){
+                            if(this.form[m].domains[n].projectId){
+                                allhours += this.form[m].domains[n].workingTime
+                            }
+                        }
+                        if(this.form[m].cardtime && this.form[m].cardtime < allhours){
+                            tips += this.weekArr[m] + ','
+                        }
+                    }
+                    if(tips){
+                        tips = tips.substring(0,tips.length - 1)
+                        this.$toast('['+tips+']填报工时之和不能超过考勤总工时')
+                        return
+                    }
+                }
+
                 let formData = new URLSearchParams()
                 for(let formIndex=0;formIndex<this.form.length;formIndex++){
                     this.dateAr = []