瀏覽代碼

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

cs 2 年之前
父節點
當前提交
a41199ecf8

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -1151,6 +1151,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().select("id").in("dept_id", allMyManagedDeptIds));
                     deptRelatedProjectIds = projectList.stream().map(Project::getId).collect(Collectors.toList());
                 }
+                if(functionDpartList.size()>0){
+                    if(functionTimeList.size()>0||functionCostList.size()>0){
+                        deptIds.addAll(allMyManagedDeptIds);
+                    }
+                }
                 //没有查看全公司的权限 只能先判断当前部门/父级别是否在负责部门才能获取数据
                 if(deptId!=null){
                     Optional<Department> first = allDepartmentList.stream().filter(ad -> ad.getDepartmentId().equals(deptId)).findFirst();

+ 4 - 0
fhKeeper/formulahousekeeper/octopus/src/views/customer/list.vue

@@ -207,6 +207,8 @@
                 <el-form-item><el-checkbox v-model="dialogData.projectWithDept">项目是否有所属部门</el-checkbox></el-form-item>
                 <el-form-item><el-checkbox v-model="dialogData.financeJobnumEnabled">财务导入薪资是否支持工号</el-checkbox></el-form-item>
                 <el-form-item><el-checkbox v-model="dialogData.reportAutoApprove">是否开启日报自动审核</el-checkbox></el-form-item>
+                <el-form-item><el-checkbox v-model="dialogData.noWorkToReport">是否开启填报不超过考勤工时</el-checkbox></el-form-item>
+                <!-- <el-form-item><el-checkbox v-model="dialogData.noWorkToReport">是否开启填报不超过考勤工时</el-checkbox></el-form-item> -->
                 <el-form-item>
                     日报审核模式:
                     <el-select v-model="dialogData.reportAuditType" size="small">
@@ -365,6 +367,7 @@
                             this.$set(this.dialogData,'projectWithDept',res.data.projectWithDept ? true : false)
                             this.$set(this.dialogData,'financeJobnumEnabled',res.data.financeJobnumEnabled ? true : false)
                             this.$set(this.dialogData,'reportAutoApprove',res.data.reportAutoApprove ? true : false)
+                            this.$set(this.dialogData,'noWorkToReport',res.data.noWorkToReport ? true : false)
                             this.$set(this.dialogData,'reportAuditType',res.data.reportAuditType)
                         }else{
                             this.$message({
@@ -638,6 +641,7 @@
                     projectWithDept: this.dialogData.projectWithDept ? 1 : 0,
                     financeJobnumEnabled: this.dialogData.financeJobnumEnabled ? 1 : 0,
                     reportAutoApprove: this.dialogData.reportAutoApprove ? 1 : 0,
+                    noWorkToReport: this.dialogData.noWorkToReport ? 1 : 0,
                     reportAuditType: this.dialogData.reportAuditType
                 },res => {
                     if(res.code == 'ok'){

+ 2 - 2
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/entity/TimeType.java

@@ -17,7 +17,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2022-10-12
+ * @since 2022-10-14
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -384,7 +384,7 @@ public class TimeType extends Model<TimeType> {
     private Integer stageHasEvtime;
 
     /**
-     * 考勤为0不可填报
+     * 无考勤记录无法填报
      */
     @TableField("no_work_to_report")
     private Integer noWorkToReport;

+ 1 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

@@ -1551,6 +1551,7 @@ export default {
       this.listLoading = false
         if(res.code == 'ok'){
           this.monthlyPersonnelList = res.data.result
+          this.total = res.data.total
         }else {
           this.$message({
             message: res.msg,

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

@@ -27,15 +27,22 @@
                 <div class="grand flex">
                     <div class="left-laowang" style="flex: 0 0 210px;overflow: hidden;" v-if="permissions.reportsCompany || user.manageDeptId != 0 || permissions.reportsDept">
                         <div v-if="permissions.reportsCompany || user.manageDeptId != 0 || permissions.reportsDept" :style="'overflow-x:hidden;overflow-y:auto;height:' + tableHeight + 'px;'">
+                            <!-- <div style="width: 100%;box-sizing: border-box;padding-right: 10px;margin-bottom:10px">
+                            
+                            </div> -->
                             <div style="width: 100%;box-sizing: border-box;padding-right: 10px;">
-                                <el-select v-model="selectState" size="small" @change="stateChange" style="100%">
+                                <el-input placeholder="请输入姓名" size="small" v-model="seluserText" style="width:100%;margin-bottom:10px" clearable>
+                                    <el-button slot="append" icon="el-icon-search" @click="seluserforText()"></el-button>
+                                </el-input>
+                                <el-select v-model="selectState" size="small" @change="stateChange" style="width:100%">
                                 <el-option value="-1" :label="$t('state.allState')">{{$t('state.allState')}}</el-option>
                                 <el-option value="-2" :label="$t('state.DidNotFillIn')">{{$t('state.DidNotFillIn')}}</el-option>
                                 <el-option value="1" :label="$t('state.alreadyPassed')">{{$t('state.alreadyPassed')}}</el-option>
                                 <el-option value="0" :label="$t('state.WaitingAudit')">{{$t('state.WaitingAudit')}}</el-option>
                                 <el-option value="2" :label="$t('state.notThrough')">{{$t('state.notThrough')}}</el-option>
                                 <el-option value="3" :label="$t('state.waitingsubmit')">{{$t('state.waitingsubmit')}}</el-option>
-                                </el-select></div>
+                                </el-select>
+                            </div>
                             <div>
                                 <el-tree :data="data"  @node-click="handleNodeClick" node-key="id" :default-expanded-keys="expandDate">
                                     <span class="custom-tree-node"  style="position: relative;box-sizing: border-box;width: 10%;" slot-scope="{ node, data}">
@@ -1572,6 +1579,7 @@
         },
         data() {
             return {
+                seluserText: '',
                 translation: '1', // 1、文字, 2、部门, 3、人员
                 exportLoad: false,
                 getPickerOptions: {
@@ -1820,6 +1828,7 @@
             }
         },
         filters: {
+            
             // 过滤
             amounts(value) {
                 if(value == NaN || value == undefined || value == 'undefined' || value == null || value == 'null') {
@@ -3426,12 +3435,14 @@
                 }
             },
             stateChange() {
+                console.log(this.allData,'alldate');
                 this.membCount = 0;
                 if (this.selectState == -1) {
                     //全部状态
                     this.data = this.allData;
                 } else {
                     //未填报
+                    this.seluserText = ''
                     var newData = JSON.parse(JSON.stringify(this.allData));
                     this.filterState(this.selectState, newData);
                     this.data = newData;
@@ -3466,6 +3477,36 @@
                     }
                 }
             },
+            //a按名称过滤部门人员
+            
+            seluserforText(){
+                this.membCount = 0;
+                var newData = JSON.parse(JSON.stringify(this.allData));
+                this.seluserforTextin(this.seluserText, newData)
+                this.data = newData;
+                this.calculateMembCount(this.data);
+                this.data[0].membCount = this.membCount;//总人数
+            },
+            seluserforTextin(text, list){
+                for (var i =0;i<list.length; i++) {
+                    var obj = list[i];
+                    if (obj.isUser == 1) {
+                        var match = false;
+                        if (obj.label.indexOf(text) != -1) {
+                            match = true
+                        }
+                        if (!match) {
+                            list.splice(i, 1);
+                            i--;
+                        } else {
+                        }
+                    } else {
+                        if (obj.children != null) {
+                            this.seluserforTextin(text, obj.children);
+                        }
+                    }
+                }
+            },
             // 部门列表点击
             handleNodeClick(data) {
                 // this.dealList = data
@@ -5535,7 +5576,7 @@
                         for (var t=0;t<this.workForm.domains.length; t++) {
                             totalTime += parseFloat(this.workForm.domains[t].workingTime);
                         }
-                        if (this.reportTimeType.type == 1 && this.workForm.time) {
+                        if (this.reportTimeType.type == 1 && this.workForm.time && user.timeType.noWorkToReport == 1) {
                             if (this.workForm.time.workHours && totalTime > parseFloat(this.workForm.time.workHours)) {
                                 this.$message({
                                         message: this.$t('message.Fillinthesumofworkinghours')+(totalTime)+"h"+this.$t('message.Cannotexceedthetotalworkinghoursofattendance')+"("+this.workForm.time.workHours.toFixed(1)+"h)",

+ 2 - 1
fhKeeper/formulahousekeeper/timesheet_h5/babel.config.js

@@ -6,7 +6,8 @@ module.exports = {
                 libraryName: "vant",
                 libraryDirectory: "es",
                 // 指定样式路径
-                style: name => `${name}/style/less`
+                // style: name => `${name}/style/less`
+                style: true
             },
             "vant"
         ],

文件差異過大導致無法顯示
+ 184 - 179
fhKeeper/formulahousekeeper/timesheet_h5/package-lock.json


+ 1 - 0
fhKeeper/formulahousekeeper/timesheet_h5/package.json

@@ -17,6 +17,7 @@
     "css-loader": "^3.6.0",
     "dingtalk-jsapi": "^2.13.42",
     "echarts": "^4.9.0",
+    "jquery": "^3.6.1",
     "style-loader": "^1.3.0",
     "vue": "^2.6.12",
     "vuex-persistedstate": "^2.7.1",

+ 28 - 1
fhKeeper/formulahousekeeper/timesheet_h5/src/App.vue

@@ -8,9 +8,36 @@
 </template>
 
 <script>
+import $ from 'jquery'
 export default {
     name: "app",
-    created() { }
+    created() { },
+    mounted() {
+      let width=$("body").width();
+      console.log(width)
+      if(width>=1200){
+        let fontsize=width/1920*40;//fontsize为当前屏幕的基数字体,相对于设计稿计算得到的。
+        $("html").css("font-size",`${fontsize}px`)
+      }
+      if(width<=750){
+        let fontsize=width/400*40;
+        $("html").css("font-size",`${fontsize}px`)
+      }
+      //当加载页面的时候设置生效
+      window.onresize = () => {
+        return (() => {
+          let width=$("body").width();
+          if(width>=1200){
+            let fontsize=width/1920*40;
+            $("html").css("font-size",`${fontsize}px`)
+          }
+          if(width<=750){
+            let fontsize=width/400*40;
+            $("html").css("font-size",`${fontsize}px`)
+          }
+        })()
+      }
+    }
 };
 </script>