瀏覽代碼

再次提交

Lijy 3 年之前
父節點
當前提交
5d78961af5

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

@@ -1359,6 +1359,7 @@
                         baseOutsourcing: item.baseOutsourcing,
                         customerId:item.customerId==0?null:item.customerId,
                     }
+                    console.log(item.associateDegrees)
                     if(item.associateDegrees) {
                         var spli = item.associateDegrees.split(',')
                         var sl  = []
@@ -1368,6 +1369,8 @@
                         }
                         this.auseList = sl
                         console.log(this.auseList)
+                    } else {
+                        this.auseList = []
                     }
                     // var spli = item.associateDegrees.split(',')
                     // var sl  = []

+ 85 - 3
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/index.vue

@@ -34,6 +34,12 @@
                     <van-popup v-model="showPickerProject" position="bottom">
                         <van-picker show-toolbar :columns="project" value-key="projectName" @confirm="choseProject" @cancel="showPickerProject = false" />
                     </van-popup>
+                    <!-- 相关维度 -->
+                    <van-field :value="item.weiduName" v-if="item.projectId && user.timeType.customDegreeActive == 1"  readonly  name="id" clickable :label="user.timeType.customDegreeName" placeholder="请选择" @click="clickPickers(index)"/>
+                    <van-popup v-model="showPickerProjects" position="bottom">
+                        <van-picker show-toolbar :columns="item.wuduList" value-key="name" @confirm="choseProjects" @cancel="showPickerProjects = false" />
+                    </van-popup>
+
                     <van-cell title="专业进度" v-if="user.company.packageEngineering == 1">
                     </van-cell>
                     <van-field :disabled="!canEdit"
@@ -246,6 +252,7 @@
                 showPickerTime: false,
                 showPicker: false,
                 showPickerProject: false,
+                showPickerProjects: false,
                 clickIndex: 0,
                 clickTimeIndex: 0,
                 showNumberKey: false,
@@ -261,7 +268,8 @@
                         content: "",
                         state: 2,
                         multiWorktime:0,
-                        worktimeList:{}
+                        worktimeList:{},
+                        degreeId: ''
                         // pics:["https://worktime.ttkuaiban.com/upload/bc4df504fa724e6cab69872e2c1cfb35.png",
                         // "https://worktime.ttkuaiban.com/upload/bc4df504fa724e6cab69872e2c1cfb35.png",
                         // "https://worktime.ttkuaiban.com/upload/bc4df504fa724e6cab69872e2c1cfb35.png",]
@@ -277,6 +285,7 @@
                 finished: false,
                 // isOvertime: false
                 tmpPics:[],
+                dateAr: []
             };
         },
 
@@ -677,6 +686,11 @@
                 this.clickIndex = i;
                 this.showPickerProject = true;
             },
+            clickPickers(i) {
+                if (!this.canEdit) return;
+                this.clickIndex = i;
+                this.showPickerProjects = true;
+            },
             //选择任务
             clickPickerTask(i) {
                 if (!this.canEdit) return;
@@ -687,7 +701,13 @@
                 this.form.domains[this.clickIndex].taskId = value.taskId;
                 this.form.domains[this.clickIndex].taskName = value.taskName;
                 this.showPickerTask = false;
-                
+            },
+
+            choseProjects(value, index) {
+                // console.log(value)
+                this.form.domains[this.clickIndex].weiduName = value.name;
+                this.form.domains[this.clickIndex].degreeId = value.id;
+                this.showPickerProjects = false;
             },
 
             choseProject(value, index) {
@@ -695,6 +715,7 @@
                 this.form.domains[this.clickIndex].projectName = value.projectName;
                 this.showPickerProject = false;
                 this.getTaskList(value.id);
+                this.dimension(value.id) // 获取维度
                 
                 //加载项目相关的工程进度
                 if (this.user.company.packageEngineering == 1) {
@@ -714,6 +735,18 @@
                             }
                         }).catch(err=> {toast.clear();});
             },
+            // 获取维度
+            dimension(projectId) {
+                this.$axios.post("/project/getDegreeList", {projectId: projectId})
+                .then(res => {
+                    if(res.code == "ok") {
+                        this.form.domains[this.clickIndex].wuduList = res.data;
+                        this.$forceUpdate();
+                    } else {
+                        this.$toast.fail('获取失败');
+                    }
+                }).catch(err=> {toast.clear();});
+            },
 
             getTaskList(projectId) {
                 //如果是专业版,需要列出任务列表
@@ -759,7 +792,8 @@
                     state: 2,
                     isOvertime:false,
                     multiWorktime: this.reportTimeType.multiWorktime,
-                    worktimeList:[{}]
+                    worktimeList:[{}],
+                    degreeId: ''
                 })
             },
 
@@ -773,9 +807,57 @@
                 }).catch(() => {
                 });
             },
+            // 判断时间段
+            fns() {
+                for (let k in this.dateAr) {
+                    if (!this.judege(k)) {
+                    return false
+                    }
+                }
+                return true
+            },
+            judege(idx){
+                for (let k in this.dateAr) {
+                    if (idx !== k) {
+                        if (this.dateAr[k].s <= this.dateAr[idx].s && this.dateAr[k].e > this.dateAr[idx].s) {
+                        return false
+                        }
+                        if (this.dateAr[k].s < this.dateAr[idx].e && this.dateAr[k].e >= this.dateAr[idx].e) {
+                        return false
+                        }
+                    }
+                }
+                return true
+            },
 
             // 提交日报
             register() {
+                console.log(this.form, '看啊可能')
+                // return
+                this.dateAr = []
+                let alp = []
+                if(this.user.timeType.multiWorktime == 1) {
+                    for(var p in this.form.domains) {
+                        var slll = this.form.domains[p]
+                        for(var o in slll.worktimeList) {
+                            if(slll.worktimeList[o].startTime || slll.worktimeList[o].endTime) {
+                                let objs = {}
+                                objs.s = slll.worktimeList[o].startTime
+                                objs.e = slll.worktimeList[o].endTime
+                                alp.push(objs)
+                            }
+                        }
+                    }
+                    this.dateAr = alp
+                    if(this.dateAr.length > 0) {
+                        let trus = this.fns()
+                        if(!trus) {
+                            this.$toast('填写的时间段重叠')
+                            return
+                        }
+                    }
+                }
+                // return
                 const toast = this.$toast.loading({
                     forbidClick: true,
                     duration: 0