|
@@ -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
|