Jelajahi Sumber

增加日报审核人,抄送人

seyason 1 tahun lalu
induk
melakukan
55bdb3adfc

+ 11 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -550,13 +550,17 @@
                         </el-select>
                         <selectCat v-if="user.userNameNeedTranslate == 1" :size="'medium'" :subject="participator" :subjectId="addForm.inchargerId" :distinction="'3'" @selectCal="selectCal" :disabled="canOnlyModParticipator || projectManagerEdit"></selectCat>
                     </el-form-item>
-                    <el-form-item :label="user.timeType.reportCc == 1?'日报抄送人':$t('newspaperauditor')" v-show="user.timeType.reportAuditType == 0 || user.timeType.reportAuditType == 4 || user.timeType.reportCc == 1">
+                    <el-form-item :label="$t('newspaperauditor')" v-show="user.timeType.reportAuditType == 0 || user.timeType.reportAuditType == 4 || user.timeType.reportAuditType == 6">
                         <el-select v-if="user.userNameNeedTranslate != '1'" v-model="addForm.auditUserIds" multiple="true" :disabled="!(permissions.projectManagement|| user.id == addForm.inchargerId || user.id == addForm.creatorId)" filterable :placeholder="$t('defaultistheprojectleader')" style="width:100%;" >
                             <el-option v-for="item in participator" :key="item.id" :label="item.name" :value="item.id"></el-option>
                         </el-select>
-
                         <selectCat v-if="user.userNameNeedTranslate == '1'" :size="'medium'" :tile="true" :widthStr="'800'" :disabled="!(permissions.projectManagement|| user.id == addForm.inchargerId || user.id == addForm.creatorId)" :subjectId="addForm.auditUserIds" :subject="participator" :clearable="false" :distinction="'10'"  :multiSelect="true" @selectCal="selectCal"></selectCat>
-
+                    </el-form-item>
+                    <el-form-item v-if="user.timeType.reportCc == 1" label="日报抄送人" >
+                        <el-select v-if="user.userNameNeedTranslate != '1'" v-model="addForm.ccUserIds" multiple="true" :disabled="!(permissions.projectManagement|| user.id == addForm.inchargerId || user.id == addForm.creatorId)" filterable :placeholder="$t('defaultistheprojectleader')" style="width:100%;" >
+                            <el-option v-for="item in participator" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                        </el-select>
+                        <selectCat v-if="user.userNameNeedTranslate == '1'" :size="'medium'" :tile="true" :widthStr="'800'" :disabled="!(permissions.projectManagement|| user.id == addForm.inchargerId || user.id == addForm.creatorId)" :subjectId="addForm.ccUserIds" :subject="participator" :clearable="false" :distinction="'10'"  :multiSelect="true" @selectCal="selectCal"></selectCat>
                     </el-form-item>
                     <!--专业项目协作版本功能 -->
                     <el-form-item :label="$t('ji-bie')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''" v-if="user.company.packageProject==1">
@@ -4491,6 +4495,10 @@ a {
                         if (this.addForm.auditUserIds) {
                             formData.append("auditUserIds", JSON.stringify(this.addForm.auditUserIds));
                         }
+                        //日报抄送人
+                        if (this.addForm.ccUserIds) {
+                            formData.append("ccUserIds", JSON.stringify(this.addForm.ccUserIds));
+                        }
 
                         if(this.addForm.category != null) {
                             formData.append("category", this.addForm.category);

+ 8 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/settings/timetype.vue

@@ -294,7 +294,14 @@
             </div>
         </el-col>
         </el-row>
+        <div class="yanjiu">
+            <p style="margin-left:10px;color:#666;">日报审核模式</p><el-tag style="margin-left:10px;" type="plain">{{reportAuditTypeArray[timeType.reportAuditType]}}
+                <el-tooltip effect="dark" content="如需修改为其他审核模式,请联系客服" placement="top-start">
+                                <i class="el-icon-question" style="color:#606266"></i>
+                            </el-tooltip>
+            </el-tag>
 
+        </div>
         <!-- <p style="margin-left:10px;color:#666;" v-if="user.timeType.pushReportData == 1">推送工时设置</p>
         <el-row :gutter="20" style="padding-top:10px;width:100%;margin:0 auto;padding-left:10px;padding-right:10px;" v-if="user.timeType.pushReportData == 1">
             <el-col :span="24" >
@@ -576,6 +583,7 @@
         },
         data() {
             return {
+                reportAuditTypeArray:['项目审核人审核','分组负责人审核','先分组负责人审核再项目经理审核','员工自由选择审批人','项目所属BU审核','直属审核人或部门负责人审核','直属或部门负责人审核->项目日报审核人审核'],
                 expandedKeys: [],
                 checkStrictly: false,
                 checkedKeys:[],

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

@@ -468,15 +468,15 @@
                                 <el-option v-for="item in timeBasecostList" :label="item.name" :value="item.id" :key="item.id"></el-option>
                             </el-select>
                         </el-form-item>
-                        <el-form-item :label="$t('lable.taskGrouping')" v-if="user.company.packageProject == 1">
+                        <el-form-item :label="$t('lable.taskGrouping')" v-if="user.company.packageProject == 1" :prop="'domains.' + index + '.stage'"
+                                         :rules="{ required: true, message: '请选择任务分组和阶段', trigger: ['change','blur'] }" >
                             <!-- 任务分组 -->
                             <el-select v-model="domain.groupId" :placeholder="$t('defaultText.pleaseSelectaTaskGroup')" style="width:200px;" clearable="true" 
                             :disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)" @change="getGroupStages(domain, index)">
                                 <el-option v-for="item in domain.taskGroups" :key="item.id" :label="item.name" :value="item.id"></el-option>
                             </el-select>
                             <!-- 项目的阶段 -->
-                            <span v-if="domain.stages != null && domain.stages.length> 0" 
-                                style="margin-left:30px;">{{$t('other.inputStage')}}</span>
+                            <span style="color:red; padding:3px;margin-left:30px;">*</span><span v-if="domain.stages != null && domain.stages.length> 0" >{{$t('other.inputStage')}}</span>
                             <el-select v-model="domain.stage" :placeholder="$t('defaultText.pleaseChoose')" style="width:200px;margin-left:10px;" 
                             clearable="true" v-if="domain.stages != null && domain.stages.length> 0"
                             @change="changeStages(domain, index)"
@@ -932,14 +932,14 @@
                 </div>
                 <!-- 任务分组 -->
                 <div class="zhoFel" v-if="user.company.packageProject == 1">
-                    <p>{{$t('lable.taskGrouping')}}</p>
+                    <p><span style="color:red;">*</span>{{$t('lable.taskGrouping')}}</p>
                     <el-select v-model="zhoBao.groupId" :placeholder="$t('defaultText.pleaseSelectaTaskGroup')" clearable="true" style="width: 355px"
                      @change="getGroupStages(zhoBao, 0)">
                         <el-option v-for="item in zhoBao.taskGroups" :key="item.id" :label="item.name" :value="item.id"></el-option>
                     </el-select>
                 </div>
                 <div class="zhoFel" v-if="user.company.packageProject == 1 && zhoBao.stages != null && zhoBao.stages.length> 0">
-                    <p>{{$t('other.inputStage')}}</p>
+                    <p><span style="color:red;">*</span>{{$t('other.inputStage')}}</p>
                     <el-select v-model="zhoBao.stage" :placeholder="$t('defaultText.pleaseChoose')" style="width: 355px" clearable="true" >
                             <el-option v-for="item in zhoBao.stages" :key="item.id" :label="item.stagesName" :value="item.stagesName"></el-option>
                     </el-select>
@@ -2633,6 +2633,10 @@
                 res => {
                     if (res.code == "ok") {
                         this.workForm.domains[index].taskGroups = res.data;
+                        // if (this.workForm.domains[index].taskGroups.length > 0) {
+                        //     this.workForm.domains[index].groupId = this.workForm.domains[index].taskGroups[0].id;
+                        //     this.getGroupStages(domain, index);
+                        // }
                         this.$forceUpdate();
                     } 
                 },
@@ -3864,18 +3868,21 @@
                         });
                         }
                     );
+                    //获取项目相关专业
+                    if (this.user.company.packageEngineering == 1) {
+                        this.getProjectProfessions(domain, index);
+                    }
+                    //获取项目下的任务分组
+                    this.getTaskGroups(domain, index);
+                    
                 }
-                //获取项目相关专业
-                if (this.user.company.packageEngineering == 1) {
-                    this.getProjectProfessions(domain, index);
-                }
+                
                 
                 // 获取项目相关的维度
                 // domain.degreeId = null
                 this.$set(domain,'degreeId',null)
                 this.dimension(domain, index);
-                //获取项目下的任务分组
-                this.getTaskGroups(domain, index);
+                
                 //获取项目审核人
                 if (this.user.timeType.reportAuditType == 0 || this.user.timeType.reportAuditType == 4) {
                     this.getProjectAuditorList(domain, index);
@@ -5325,6 +5332,16 @@
             },
             // 按周填报里内容的填写点击确定
             setWeekProItemData() {
+                //专业版模式下,任务分组和阶段必填
+                if (this.user.company.packageProject == 1) {
+                    if (!this.zhoBao.groupId || !this.zhoBao.stage) {
+                        this.$message({
+                            message: '任务分组和阶段必填,请检查',
+                            type: "error"
+                        });
+                        return;
+                    }
+                }
                 //检查子项目是否必填
                 if (this.user.timeType.subProMustFill == 1 && this.zhoBao.subProjectList && this.zhoBao.subProjectList.length > 0 && !this.zhoBao.subProjectId) {
                     this.$message({