Browse Source

按周填报加上任务里程碑

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

+ 32 - 6
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -1041,13 +1041,13 @@
                 <div class="zhoFel" v-if="user.company.packageProject == 1">
                     <p>{{$t('lable.taskGrouping')}}</p>
                     <el-select v-model="zhoBao.groupId" :placeholder="$t('defaultText.pleaseSelectaTaskGroup')" clearable="true" style="width: 355px"
-                     @change="getGroupStages(zhoBao, 0)">
+                     @change="getGroupStages(zhoBao, 0), getWeeklyTaskList(zhoBao)">
                         <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>
-                    <el-select v-model="zhoBao.stage" :placeholder="$t('defaultText.pleaseChoose')" style="width: 355px" clearable="true" >
+                    <el-select v-model="zhoBao.stage" :placeholder="$t('defaultText.pleaseChoose')" style="width: 355px" clearable="true" @change="getWeeklyTaskList(zhoBao)">
                             <el-option v-for="item in zhoBao.stages" :key="item.id" :label="item.stagesName" :value="item.stagesName"></el-option>
                     </el-select>
                 </div>
@@ -1112,6 +1112,13 @@
                     <p>{{user.timeType.customTextName}}</p>
                     <el-input v-model="zhoBao.customText" type="textarea" :rows="1" style="width:355px;" maxlength="1000" show-word-limit></el-input>
                 </div>
+                <!-- 选择任务 -->
+                <div class="zhoFel" v-if="user.company.packageProject==1 && user.company.nonProjectSimple==0">
+                    <p>任务 / 里程碑</p>
+                    <el-select v-model="zhoBao.taskId" :placeholder="'请选择'" clearable="true" style="width: 355px" filterable @change="$forceUpdate()">
+                        <el-option v-for="item in zhoBao.taskList" :key="item.taskId" :label="item.taskName" :value="item.taskId"></el-option>
+                    </el-select>
+                </div>
                 <div class="zhoFel" v-if="reportTimeType.type == 2">
                     <p>{{$t('other.timeSelection')}}</p>
                     <el-time-picker style="width: 355px" is-range v-model="zhoBao.time" format="HH:mm" value-format="HH:mm" :range-separator="$t('other.to')" @change="$forceUpdate()" :start-placeholder="$t('time.startDate')" :end-placeholder="$t('time.endDate')" :placeholder="$t('time.selectTimeRange')"></el-time-picker>
@@ -4460,7 +4467,6 @@
                                 domain.stage = '';
                             }
                             domain.stages = res.data;
-                            domain.taskId = null;
                             this.getRecentTaskList(domain, index);
                             this.$forceUpdate();
                         }
@@ -5869,6 +5875,7 @@
                 
                 this.tianxieDialogVisible = true
                 this.scopess = item
+                console.log(item, '《==== 当前的对象')
                 var sss = {}
                 if (item.id != null) {
                     sss.id = item.id;
@@ -5913,6 +5920,7 @@
                 }
                 var hasEdited = this.zhoData[i][names].hasEdited;
                 if (hasEdited) {
+                    sss = { ...item }
                     //编辑过了
                     sss.subProjectId = item.subProjectId
                     sss.stage = item.stage
@@ -5937,6 +5945,9 @@
                         this.getGroupStages(this.zhoBao, 0, true)
                     }
                     this.$forceUpdate();
+
+                    this.getWeeklyTaskList(sss)
+                    console.log('最后的周报 ===>', this.zhoBao)
                 } else {
                     //第一次打开,获取数据
                     if (sss.id == -1) {
@@ -5967,6 +5978,8 @@
                                 this.getGroupStages(that.zhoBao, 0, false)
                             }
                             that.$forceUpdate();
+
+                            this.getWeeklyTaskList(sss)
                         },600);
                     } else {
                         //编辑填报过的;数据库已经存在的
@@ -6627,7 +6640,7 @@
                                         formData.append("auditorSettingArray", JSON.stringify(audItem).replace(/,/g,"@"));
                                     }
                                     zhoD[j].subProjectId ? formData.append("subProjectId", zhoD[j].subProjectId) : formData.append("subProjectId", '0');
-                                    formData.append("taskId", 0);
+                                    formData.append("taskId", zhoD[j].taskId ? zhoD[j].taskId : 0);
                                     formData.append("reportTimeType", this.reportTimeType.type);
                                     formData.append("endTime", '');
                                     formData.append("startTime", '');
@@ -6729,7 +6742,7 @@
                                             formData.append("auditorSettingArray", JSON.stringify(audItem).replace(/,/g,"@"));
                                         }
                                         zhoD[j].subProjectId ? formData.append("subProjectId", zhoD[j].subProjectId) : formData.append("subProjectId", '0');
-                                        formData.append("taskId", 0);
+                                        formData.append("taskId", zhoD[j].taskId ? zhoD[j].taskId : 0);
                                         formData.append("reportTimeType", this.reportTimeType.type);
                                         formData.append("endTime", zhoD[j].time[1]);
                                         formData.append("startTime", zhoD[j].time[0]);
@@ -6815,7 +6828,7 @@
                                         }
                                         zhoD[j].subProjectId ? formData.append("subProjectId", zhoD[j].subProjectId) : formData.append("subProjectId", '0')
                                         // formData.append("subProjectId", zhoD[j].subProjectId);
-                                        formData.append("taskId", 0);
+                                        formData.append("taskId", zhoD[j].taskId ? zhoD[j].taskId : 0);
                                         formData.append("reportTimeType", this.reportTimeType.type);
                                         if(this.reportTimeType.type == 1) {
                                             formData.append("workingTime", zhoD[j].workingTime);
@@ -7968,6 +7981,19 @@
                     })
                 })
             },
+            // 按周填报获取相关任务
+            async getWeeklyTaskList(item) {
+                console.log(item, '<=== 数据')
+                const { projectId, groupId, stage, taskId } = item
+                console.log(projectId, groupId, stage)
+                let parms = { projectId, isSubstitude: 0 }
+                groupId ? parms.groupId = groupId : ''
+                stage ? parms.stage = stage : ''
+                const { data } = await this.postData('/task/getRecentTask', parms)
+                this.zhoBao.taskId = taskId
+                this.$set(this.zhoBao, 'taskList', data)
+                console.log(this.zhoBao)
+            },
             // 封装 post 请求
             postData(url, params) {
                 return new Promise((resolve, reject) => {