Browse Source

2022.8.23

ggooalice 2 years ago
parent
commit
1a2e169741

+ 43 - 1
fhKeeper/formulahousekeeper/octopus/src/views/customer/list.vue

@@ -201,6 +201,8 @@
                 <el-form-item><el-checkbox v-model="dialogData.reportApproveMsgpush">日报审核通过是否推送消息</el-checkbox></el-form-item>
                 <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.deleteBusinessState">出差管理删除权限</el-checkbox></el-form-item>
+                <el-form-item><el-checkbox v-model="dialogData.reportAutoApprove">是否开启日报自动审核</el-checkbox></el-form-item>
                 <el-form-item>
                     日报审核模式:
                     <el-select v-model="dialogData.reportAuditType" size="small">
@@ -223,6 +225,13 @@
                     <el-checkbox v-model="item.owned">{{item.reportFormName}}</el-checkbox>
                 </el-form-item>
             </el-form>
+            <div style="margin:0 50px">
+                <span>开通角色</span>
+                <el-select v-model="roleIdArr" multiple clearable style="width:75%;margin-left:5%">
+                    <el-option v-for="item in roleList" :key="item.id" :label="item.rolename" :value="item.id"></el-option>
+                </el-select>
+            </div>
+            
             <span slot="footer" class="dialog-footer">
                 <el-button @click="editDialogH = false">取 消</el-button>
                 <el-button type="primary" @click="ConfirmH()">确 定</el-button>
@@ -264,6 +273,8 @@
                 page: 1,
                 size: 20,
                 list: [],
+                roleList: [],
+                roleIdArr: []
             };
         },
         // 过滤器
@@ -349,6 +360,8 @@
                             this.$set(this.dialogData,'reportApproveMsgpush',res.data.reportApproveMsgpush ? true : false)
                             this.$set(this.dialogData,'projectWithDept',res.data.projectWithDept ? true : false)
                             this.$set(this.dialogData,'financeJobnumEnabled',res.data.financeJobnumEnabled ? true : false)
+                            this.$set(this.dialogData,'deleteBusinessState',res.data.deleteBusinessState ? true : false)
+                            this.$set(this.dialogData,'reportAutoApprove',res.data.reportAutoApprove ? true : false)
                             this.$set(this.dialogData,'reportAuditType',res.data.reportAuditType)
                         }else{
                             this.$message({
@@ -367,6 +380,7 @@
                 else if(i == 'H'){
                     this.editDialogH = true
                     this.getReoprtFormList(obj)
+                    this.getRoleList(obj)
                 }
                 
             },
@@ -420,6 +434,25 @@
                     })
                 })
             },
+            getRoleList(row){
+                this.http.post('/permission/getRoleList',{
+                    companyId: row.id
+                },res => {
+                    if(res.code == 'ok'){
+                        this.roleList = res.data
+                    }else {
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        })
+                    }
+                },err => {
+                    this.$message({
+                        message: err,
+                        type: 'error'
+                    })
+                })
+            },
 
             // 增加人数上限
             ConfirmA(){
@@ -601,6 +634,8 @@
                     reportApproveMsgpush: this.dialogData.reportApproveMsgpush ? 1 : 0,
                     projectWithDept: this.dialogData.projectWithDept ? 1 : 0,
                     financeJobnumEnabled: this.dialogData.financeJobnumEnabled ? 1 : 0,
+                    deleteBusinessState: this.dialogData.deleteBusinessState ? 1 : 0,
+                    reportAutoApprove: this.dialogData.reportAutoApprove ? 1 : 0,
                     reportAuditType: this.dialogData.reportAuditType
                 },res => {
                     if(res.code == 'ok'){
@@ -633,9 +668,16 @@
                     }
                 }
                 if(ids){ids = ids.substring(0,ids.length - 1)}
+
+                let roleIds = ''
+                for(let m in this.roleIdArr){
+                    roleIds += this.roleIdArr[m] + ','
+                }
+                if(roleIds){roleIds = roleIds.substring(0,roleIds.length - 1)}
                 this.http.post('/company-report/update',{
                     companyId: this.dialogData.id,
-                    formIds: ids
+                    formIds: ids,
+                    roleIds: roleIds
                 },res => {
                     if(res.code == 'ok'){
                         this.editDialogH = false

+ 2 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/awayOffice/awayOffice.vue

@@ -260,7 +260,7 @@
                                 <el-button icon="el-icon-close" circle size="mini"  @click="deny(scope.row)"></el-button>
                             </div>
                             <div v-if="!isAuditList">
-                                <el-button v-if="!isAuditList && ((scope.row.status != 0 && scope.row.ownerId == user.id) || permissions.awayOfficeAll)" icon="el-icon-delete" circle size="mini"  @click="deletes(scope.row)"></el-button>
+                                <el-button v-if="!isAuditList && user.timeType.deleteBusinessState && ((scope.row.status != 0 && scope.row.ownerId == user.id) || permissions.awayOfficeAll)" icon="el-icon-delete" circle size="mini"  @click="deletes(scope.row)"></el-button>
                                 <el-button v-if="((scope.row.status != 0 && scope.row.ownerId == user.id) || permissions.awayOfficeAll) || scope.row.status == 1" icon="el-icon-edit" circle size="mini" @click="editor(scope.row)"></el-button>
                             </div>
                         </template>
@@ -268,7 +268,7 @@
                     <el-table-column v-if="isDingding" label="操作" width="150" fixed="right">
                         <template slot-scope="scope">
                             <el-button icon="iconfont firerock-iconguanlian" circle size="mini" @click="DingdingEditor(scope.row)"></el-button>
-                            <el-button v-if="permissions.awayOfficeAll || userComLis.manageDeptId" icon="el-icon-delete" circle size="mini" @click="deleteOfDingding(scope.row)"></el-button>
+                            <el-button v-if="(permissions.awayOfficeAll || userComLis.manageDeptId) && user.timeType.deleteBusinessState" icon="el-icon-delete" circle size="mini" @click="deleteOfDingding(scope.row)"></el-button>
                         </template>
                     </el-table-column>
                 </el-table>

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

@@ -203,7 +203,7 @@
             </el-col>
         </el-row>
 <!-- 设置员工可补填的时间 -->
-        <p style="margin-left:10px;color:#666;">普通员工填报日报时间限制</p>
+        <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" >
             <div class="panel" style="height:120px;">
@@ -224,6 +224,9 @@
                         <el-option label="第三天" :value="2"></el-option>
                     </el-select>
                 </el-form-item>
+                <el-form-item label="日报自动审核时限:" style="color:#606266" v-if="user.timeType.reportAutoApprove">
+                    待审核<el-input-number v-model="timeType.reportAutoApproveDays" style="width:150px;margin:0 10px" min="1"></el-input-number>天后
+                </el-form-item>
                 </el-form>
             </div>
         </el-col>
@@ -990,8 +993,9 @@
                             this.timeType.customDataStatus = this.timeType.customDataStatus ? true : false
                             this.timeType.fillAhead = this.timeType.fillAhead ? true : false
                             this.timeType.mainProjectState = this.timeType.mainProjectState ? true : false
-                            this.timeType.customDataMaxStatus = this.timeType.customDataMaxStatus ? true : false
+                            this.timeType.customDataMaxStatus = this.timeType.customDataMaxStatus ? true : false 
                             this.timeType.customDataMaxValue = this.timeType.customDataMaxValue ? this.timeType.customDataMaxValue : 100
+                            this.timeType.reportAutoApproveDays = this.timeType.reportAutoApproveDays ? this.timeType.reportAutoApproveDays : 1
                             this.timeChange();
                             let userlist = res.data.userList
                             this.whiteList = []

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

@@ -146,7 +146,10 @@
                                                         </span>
                                                         ]</span>
                                                     <span style="margin-left:15px;color:#DAA520;" v-else-if="item2.state == -1">[ 导入待审核 ]</span>
-                                                    <span style="margin-left:15px;color:#32CD32;" v-else-if="item2.state == 1">[ 已通过 ]</span>
+                                                    <span style="margin-left:15px;color:#32CD32;" v-else-if="item2.state == 1">[ 已通过 ]
+                                                        <span style="color:#c7e944" v-if="item2.reportAutoApprove == 1">自动审核</span>
+                                                    </span>
+                                                    
                                                     <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 2">[ 已驳回 ] 原因:{{item2.rejectReason}}</span>
                                                     <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 3">[ 待提交 ]</span>
                                                     </span>

+ 27 - 3
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/weekEdit.vue

@@ -22,9 +22,10 @@
                     :disabled="canSelect(item)">{{weekArr[index]}}</van-button>
                 </van-grid-item>
                 <div class="kaoqin" v-if="kaoqinText"><span>当日考勤记录:</span><span>{{kaoqinText}}</span></div>
+                <div class="kaoqin" v-if="workTimeText"><span>已填报工时:</span><span>{{workTimeText}}小时</span></div>
                 <div class="submitClear">
-                        <van-button type="default" size="small" @click="submitClear">清空</van-button>
-                    </div>
+                    <van-button type="default" size="small" @click="submitClear">清空</van-button>
+                </div>
             </van-grid>
             <van-cell title="总时长(h)" v-if="reportTimeType.type == 3">
                         <template>
@@ -371,6 +372,7 @@
                 weekIndex: 5,
                 weekSwitchIndex: 1,
                 kaoqinText: false,
+                workTimeText: false
             };
         },
         methods: {
@@ -386,6 +388,7 @@
                 this.inbtn = index
                 this.currentForm = this.form[this.inbtn]
                 this.getKaoqin()
+                this.getWorkTime()
             },
             // 获取日考勤记录
             getKaoqin(){
@@ -403,7 +406,27 @@
                         }
                     }else {
                         this.$toast.clear();
-                        this.$toast.fail(err);
+                        this.$toast.fail(res.msg);
+                    }
+                }).catch(err => {
+                    this.$toast.clear();
+                    this.$toast.fail(err);
+                })
+            },
+            getWorkTime(){
+                let dateStr = [this.currentForm.createDate]
+                this.$axios.post('/report/getWeeklyWorkTime',{
+                    dateStr: JSON.stringify(dateStr)
+                }).then(res => {
+                    if(res.code == 'ok'){
+                        if(res.data.length != 0){
+                            this.workTimeText = res.data[0].workingTime
+                        }else{
+                            this.workTimeText = false
+                        }
+                    }else {
+                        this.$toast.clear();
+                        this.$toast.fail(res.msg);
                     }
                 }).catch(err => {
                     this.$toast.clear();
@@ -467,6 +490,7 @@
                 }
                 this.currentForm = this.form[0]
                 this.getKaoqin()
+                this.getWorkTime()
             },
             // 周日期按钮状态
             canSelect(item){