Browse Source

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

Lijy 2 năm trước cách đây
mục cha
commit
1dadde070b

+ 36 - 36
fhKeeper/formulahousekeeper/octopus/src/main.js

@@ -103,35 +103,35 @@ router.beforeEach((to, from, next) => {
                 } else {
                     var getRoutes = null;
                     var filterRouter = allRouters;
-                    if (user.company.packageExpense == 0) {
-                        filterRouter = filterRouter.filter(r=>{return r.name != '费用报销' && r.name != '项目报表服务'});
-                    }
-                    if (user.company.packageCustomer == 0) {
-                        //没有客户管理功能的,需要去掉
-                        filterRouter = filterRouter.filter(r=>{return r.name != '客户管理'});
-                    }
-                    if (user.company.packageEngineering == 0) {
-                        //非工程类的,去掉专业管理
-                        filterRouter = filterRouter.filter(r=>{return r.name != '工程专业管理' && r.name != '专业审核' && r.name != '部门审核'});
-                    }
-                    if (user.company.packageProject == 0) {
-                        filterRouter = filterRouter.filter(r=>{return r.name != '待办任务' && r.name != '请假管理'});
-                    }
-                    if (user.timeType.needDeptAudit == 0) {
-                        //没有开启导入日报审核,则不需要
-                        filterRouter = filterRouter.filter(r=>{return r.name != '导入日报审核'});
-                    }
-                    if (user.timeType.customDataActive == 0) {
-                        //没有开启自定义数值统计
-                        filterRouter = filterRouter.filter(r=>{return r.name != '自定义数值统计'});
-                    } else {
-                        var customMenu = filterRouter.filter(r=>{return r.name == '自定义数值统计'});
-                        if (customMenu.length > 0) {    
-                            console.log(customMenu,'111');
-                            customMenu[0].children[0].name = user.timeType.customDataName + '统计';
-                        }
+                    // if (user.company.packageExpense == 0) {
+                    //     filterRouter = filterRouter.filter(r=>{return r.name != '费用报销' && r.name != '项目报表服务'});
+                    // }
+                    // if (user.company.packageCustomer == 0) {
+                    //     //没有客户管理功能的,需要去掉
+                    //     filterRouter = filterRouter.filter(r=>{return r.name != '客户管理'});
+                    // }
+                    // if (user.company.packageEngineering == 0) {
+                    //     //非工程类的,去掉专业管理
+                    //     filterRouter = filterRouter.filter(r=>{return r.name != '工程专业管理' && r.name != '专业审核' && r.name != '部门审核'});
+                    // }
+                    // if (user.company.packageProject == 0) {
+                    //     filterRouter = filterRouter.filter(r=>{return r.name != '待办任务' && r.name != '请假管理'});
+                    // }
+                    // if (user.timeType.needDeptAudit == 0) {
+                    //     //没有开启导入日报审核,则不需要
+                    //     filterRouter = filterRouter.filter(r=>{return r.name != '导入日报审核'});
+                    // }
+                    // if (user.timeType.customDataActive == 0) {
+                    //     //没有开启自定义数值统计
+                    //     filterRouter = filterRouter.filter(r=>{return r.name != '自定义数值统计'});
+                    // } else {
+                    //     var customMenu = filterRouter.filter(r=>{return r.name == '自定义数值统计'});
+                    //     if (customMenu.length > 0) {    
+                    //         console.log(customMenu,'111');
+                    //         customMenu[0].children[0].name = user.timeType.customDataName + '统计';
+                    //     }
                         
-                    }
+                    // }
                     
                     // if (user.role == 1 || user.role == 2) {
                     //     getRoutes = filterRouter;
@@ -186,18 +186,18 @@ router.beforeEach((to, from, next) => {
                             
                         } 
                     }
-                    console.log(arr, '')
+                    console.log(arr, 'arr')
                     getRoutes = arr;
 
                     //同步企业微信考勤打卡的情况下,根据深圳赛元微电子的要求,屏蔽项目报告审核模块
-                    if (user.timeType.syncCorpwxTime == 1) {
-                        getRoutes = getRoutes.filter(r=>{return r.name != '项目报告审核'});
-                    }
+                    // if (user.timeType.syncCorpwxTime == 1) {
+                    //     getRoutes = getRoutes.filter(r=>{return r.name != '项目报告审核'});
+                    // }
                     //检查是否开启了自定义审批流
-                    if (user.timeType.reportWorkflow == 0) {
-                        getRoutes = getRoutes.filter(r=>{return r.name != '审批流设置'});
-                        console.log(getRoutes);
-                    }
+                    // if (user.timeType.reportWorkflow == 0) {
+                    //     getRoutes = getRoutes.filter(r=>{return r.name != '审批流设置'});
+                    //     console.log(getRoutes);
+                    // }
                     global.antRouter = fixedRouter.concat(getRoutes);
                     router.addRoutes(fixedRouter.concat(getRoutes));
                     console.log(router);

+ 1 - 1
fhKeeper/formulahousekeeper/octopus/src/routes.js

@@ -266,7 +266,7 @@ export const allRouters = [//组织架构
     {
         path: '/',
         component: Home,
-        name: '客户管理',
+        name: '项目管理',
         iconCls: 'iconfont firerock-iconkehu',
         leaf: true,
         children: [

+ 163 - 8
fhKeeper/formulahousekeeper/octopus/src/views/customer/list.vue

@@ -56,12 +56,14 @@
                 </template>
             </el-table-column>
             
-            <el-table-column label="操作" width="240" class-name="btns" header-align="center" fixed="right">
+            <el-table-column label="操作" width="360" class-name="btns" header-align="center" fixed="right">
                 <template slot-scope="scope">
                     <el-button size="mini"  @click="editClick('A', scope.row)">增加人数</el-button>
                     <el-button size="mini"  @click="editClick('B', scope.row)">修改有效期</el-button>
+                    <el-button size="mini"  @click="editClick('F', scope.row)" :disabled="!(scope.row.dingdingCorpid || scope.row.wxCorpid)">考勤同步</el-button>
                     <el-button size="mini"  @click="editClick('C', scope.row)">修改版本</el-button>
                     <el-button size="mini"  @click="editClick('D', scope.row)" v-if="!scope.row.setMeal">设为已签约</el-button>
+                    <el-button size="mini"  @click="editClick('G', scope.row)">其他设置</el-button>
                     <el-button size="mini"  @click="editClick('E', scope.row)" v-loading="dingdingSync" v-if="scope.row.dingdingCorpid">同步钉钉人员</el-button>
                 </template>
             </el-table-column>
@@ -131,6 +133,7 @@
                         <div style="width:33%; float:left;"><el-checkbox v-model="dialogData.packageEngineering">工程专业</el-checkbox></div>
                         <div style="width:33%; float:left;"><el-checkbox v-model="dialogData.packageSimple">简单表格</el-checkbox></div>
                         <div style="width:33%; float:left;"><el-checkbox v-model="dialogData.packageFinance">财务核算</el-checkbox></div>
+                        <div style="width:33%; float:left;"><el-checkbox v-model="dialogData.packageProvider">供应商管理</el-checkbox></div>
                     </div>
                     
                     <!-- <span>{{scope.row.packageWorktime ? "工时 +" : ""}}</span>
@@ -152,16 +155,40 @@
         </el-dialog>
         <!-- 设为已签约 -->
         <el-dialog v-if="editDialogD" :visible.sync="editDialogD" title="设为已签约">
-            <el-form>
-                <el-form-item label="企业名称" label-width="150px">{{dialogData.companyName}}</el-form-item>
-                <el-form-item label="当前是否签约" label-width="150px">{{dialogData.setMeal ? "已签约" : "未签约"}}</el-form-item>
-                <el-form-item label="即将设置为" label-width="150px">已签约</el-form-item>
+            <el-form label-width="150px">
+                <el-form-item label="企业名称">{{dialogData.companyName}}</el-form-item>
+                <el-form-item label="当前是否签约">{{dialogData.setMeal ? "已签约" : "未签约"}}</el-form-item>
+                <el-form-item label="即将设置为">已签约</el-form-item>
             </el-form>
             <span slot="footer" class="dialog-footer">
                 <el-button @click="editDialogD = false">取 消</el-button>
                 <el-button type="primary" @click="ConfirmD()">确 定</el-button>
             </span>
         </el-dialog>
+        <!-- 考勤同步 -->
+        <el-dialog v-if="editDialogF" :visible.sync="editDialogF" title="考勤同步">
+            <el-form label-width="200px">
+                <el-form-item label="企业名称"><span>{{dialogData.companyName}}</span></el-form-item>
+                <el-form-item label="企业微信考勤" v-if="dialogData.wxCorpid"><el-button @click="ConfirmF(1)" :loading='FLoading1' size="small" style="margin:0 40px 0">同步</el-button><el-checkbox v-model="dialogData.showCorpwxCardtime">显示打卡时长</el-checkbox></el-form-item>
+                <el-form-item label="钉钉考勤" v-if="dialogData.dingdingCorpid"><el-button @click="ConfirmF(0)" :loading='FLoading0' size="small" style="margin:0 40px 0">同步</el-button><el-checkbox v-model="dialogData.showDdCardtime">显示打卡时长</el-checkbox></el-form-item>
+            </el-form>
+        </el-dialog>
+        <!-- 其他设置 -->
+        <el-dialog v-if="editDialogG" :visible.sync="editDialogG" title="其他设置">
+            <el-form label-width="100px">
+                <el-form-item><el-checkbox v-model="dialogData.reportWorkflow">是否开启审批流设置</el-checkbox></el-form-item>
+                <el-form-item><el-checkbox v-model="dialogData.mainProjectState">是否启用主项目模式</el-checkbox></el-form-item>
+                <el-form-item><el-checkbox v-model="dialogData.isSecretSalary">是否秘薪模式</el-checkbox></el-form-item>
+                <el-form-item><el-checkbox v-model="dialogData.showFillauditTime">是否显示日报审批流程</el-checkbox></el-form-item>
+                <el-form-item><el-checkbox v-model="dialogData.isCro">是否CRO企业</el-checkbox></el-form-item>
+                <el-form-item><el-checkbox v-model="dialogData.onlyImportreport">是否仅使用导入日报审核(不要项目审核)</el-checkbox></el-form-item>
+            </el-form>
+            <!-- 是否开启审批流设置,是否启用主项目模式,是否秘薪模式,是否显示日报审批流程,是否CRO企业,是否仅使用导入日报审核(不要项目审核) -->
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="editDialogG = false">取 消</el-button>
+                <el-button type="primary" @click="ConfirmG()">确 定</el-button>
+            </span>
+        </el-dialog>
     </section>
 </template>
 <script>
@@ -175,6 +202,12 @@
                 editDialogB: false,
                 editDialogC: false,
                 editDialogD: false,
+                editDialogF: false,
+                editDialogG: false,
+
+
+                FLoading0: false,
+                FLoading1: false,
 
                 dialogData: null,
                 // 增加人数上限
@@ -222,14 +255,66 @@
                     this.dialogData.packageCustomer = this.dialogData.packageCustomer ? true : false,
                     this.dialogData.packageEngineering = this.dialogData.packageEngineering ? true : false,
                     this.dialogData.packageSimple = this.dialogData.packageSimple ? true : false,
-                    this.dialogData.packageFinance = this.dialogData.packageFinance ? true : false
+                    this.dialogData.packageFinance = this.dialogData.packageFinance ? true : false,
+                    this.dialogData.packageProvider = this.dialogData.packageProvider ? true : false
                 }
                 if(i == 'D'){ this.editDialogD = true }
                 if (i=='E') {
                     //同步钉钉的组织架构人员
                     this.startSyncDDMembs(obj);
                 }
-                console.log("data2",this.dialogData);
+                if(i == 'F'){
+                    // 考勤同步
+                    this.editDialogF = true
+                    this.http.post('/time-type/get',{
+                        companyId: this.dialogData.id
+                    },res => {
+                        if(res.code == 'ok'){
+                            this.$set(this.dialogData,'showCorpwxCardtime',res.data.showCorpwxCardtime ? true : false)
+                            this.$set(this.dialogData,'showDdCardtime',res.data.showDdCardtime ? true : false)
+                        }else{
+                            this.$message({
+                                message: res.msg,
+                                type: 'error'
+                            })
+                        }
+                    },err => {
+                        this.$message({
+                            message: err,
+                            type: 'error'
+                        })
+                    })
+                    
+
+                }
+                if(i == 'G'){
+                    // 其他设置
+                    this.editDialogG = true
+                    this.http.post('/time-type/get',{
+                        companyId: this.dialogData.id
+                    },res => {
+                        if(res.code == 'ok'){
+                            this.$set(this.dialogData,'reportWorkflow',res.data.reportWorkflow ? true : false)
+                            this.$set(this.dialogData,'mainProjectState',res.data.mainProjectState ? true : false)
+                            this.$set(this.dialogData,'isSecretSalary',res.data.isSecretSalary ? true : false)
+                            this.$set(this.dialogData,'showFillauditTime',res.data.showFillauditTime ? true : false)
+                            this.$set(this.dialogData,'isCro',res.data.isCro ? true : false)
+                            this.$set(this.dialogData,'onlyImportreport',res.data.onlyImportreport ? true : false)
+                        }else{
+                            this.$message({
+                                message: res.msg,
+                                type: 'error'
+                            })
+                        }
+                    },err => {
+                        this.$message({
+                            message: err,
+                            type: 'error'
+                        })
+                    })
+                    
+                }
+                
             },
 
             startSyncDDMembs(row) {
@@ -335,7 +420,8 @@
                         packageCustomer: this.dialogData.packageCustomer ? 1 : 0,
                         packageEngineering: this.dialogData.packageEngineering ? 1 : 0,
                         packageSimple: this.dialogData.packageSimple ? 1 : 0,
-                        packageFinance: this.dialogData.packageFinance ? 1 : 0
+                        packageFinance: this.dialogData.packageFinance ? 1 : 0,
+                        packageProvider: this.dialogData.packageProvider ? 1 : 0
                     },
                 res => {
                     this.listLoading = false;
@@ -392,6 +478,75 @@
                 });
             },
 
+            // 考勤同步
+            ConfirmF(e){
+                let parameter = {
+                    companyId: this.dialogData.id
+                }
+                if(e == 0){
+                    this.FLoading0 = true
+                    parameter.syncDingding = 1
+                    parameter.showDdCardtime = this.dialogData.showDdCardtime ? 1 : 0
+                }else{
+                    this.FLoading1 = true
+                    parameter.syncCorpwxTime = 1
+                    parameter.showCorpwxCardtime = this.dialogData.showCorpwxCardtime ? 1 : 0
+                }
+                this.http.post('/company/setTimeTypeSetting',parameter,
+                res => {
+                    if(res.code == 'ok'){
+                        e == 0 ? this.FLoading0 = false : this.FLoading1 = false
+                        this.$message({
+                            message: e == 0 ? '钉钉考勤同步成功' : '企业微信考勤同步成功',
+                            type: 'success'
+                        })
+                    }else{
+                        e == 0 ? this.FLoading0 = false : this.FLoading1 = false
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        })
+                    }
+                },err => {
+                    e == 0 ? this.FLoading0 = false : this.FLoading1 = false
+                    this.$message({
+                        message: err,
+                        type: 'error'
+                    })
+                })
+            },
+            // 其他设置
+            ConfirmG(){
+                this.http.post('/company/setTimeTypeSetting',{
+                    companyId: this.dialogData.id,
+                    reportWorkflow: this.dialogData.reportWorkflow ? 1 : 0,
+                    mainProjectState: this.dialogData.mainProjectState ? 1 : 0,
+                    isSecretSalary: this.dialogData.isSecretSalary ? 1 : 0,
+                    showFillauditTime: this.dialogData.showFillauditTime ? 1 : 0,
+                    isCro: this.dialogData.isCro ? 1 : 0,
+                    onlyImportreport: this.dialogData.onlyImportreport ? 1 : 0
+                },res => {
+                    if(res.code == 'ok'){
+                        this.editDialogG = false
+                        this.$message({
+                            message: '成功',
+                            type: 'success'
+                        })
+                    }else{
+                        this.editDialogG = false
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        })
+                    }
+                },err => {
+                    this.editDialogG = false
+                    this.$message({
+                        message: err,
+                        type: 'error'
+                    })
+                })
+            },