|
@@ -31,10 +31,16 @@
|
|
|
<van-cell-group :title="'项目' + (index+1)">
|
|
|
<!-- <div>请选择投入项目</div> -->
|
|
|
<van-field readonly name="projectId" clickable :value="item.projectName" label="投入项目" placeholder="请选择投入项目" @click="clickPicker(index, item)"
|
|
|
- :rules="[{ required: true, message: '请选择项目' }]" /><!--
|
|
|
- <van-popup v-model="showPickerProject" position="bottom">
|
|
|
- <van-picker show-toolbar :columns="project" value-key="projectName" @confirm="choseProject" @cancel="showPickerProject = false" />
|
|
|
- </van-popup> -->
|
|
|
+ :rules="[{ required: true, message: '请选择项目' }]" />
|
|
|
+
|
|
|
+ <van-field readonly name="subProjectId" v-if="item.subProjectList != null && item.subProjectList.length > 0" clickable
|
|
|
+ :value="item.subProjectName" label="子项目" placeholder="请选择子项目"
|
|
|
+ @click="clickPickSubProject(index, item)" />
|
|
|
+
|
|
|
+ <van-popup v-model="showPickerSubProject" position="bottom">
|
|
|
+ <van-picker show-toolbar :columns="item.subProjectList" value-key="name" @confirm="choseSubProject"
|
|
|
+ @cancel="showPickerSubProject = 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">
|
|
@@ -249,6 +255,7 @@
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ showPickerSubProject: false,
|
|
|
isDraft:0,
|
|
|
showWorkStartTime:false,
|
|
|
showWorkEndTime:false,
|
|
@@ -349,10 +356,30 @@
|
|
|
}
|
|
|
},
|
|
|
fZr(item) {
|
|
|
- console.log(item, '你看看')
|
|
|
- this.form.domains[this.proIdx].projectId = item.id
|
|
|
- this.form.domains[this.proIdx].projectName = item.projectName
|
|
|
- this.showPickerUserddp = false
|
|
|
+ var domainItem = this.form.domains[this.proIdx];
|
|
|
+ domainItem.projectId = item.id;
|
|
|
+ domainItem.projectName = item.projectName;
|
|
|
+
|
|
|
+ //清空子项目
|
|
|
+ domainItem.subProjectId = null;
|
|
|
+ domainItem.subProjectName = null;
|
|
|
+ //清空任务
|
|
|
+ domainItem.taskId = null;
|
|
|
+ domainItem.taskName = null;
|
|
|
+
|
|
|
+ this.showPickerUserddp = false;
|
|
|
+ //获取子项目
|
|
|
+ this.getSubprojectList(this.form.domains[this.proIdx]);
|
|
|
+ },
|
|
|
+ getSubprojectList(domainItem) {
|
|
|
+ domainItem.subProjectList = [];
|
|
|
+ this.$axios.post("/sub-project/list", {projectId: domainItem.projectId})
|
|
|
+ .then(res => {
|
|
|
+ if(res.code == "ok") {
|
|
|
+ domainItem.subProjectList = res.data;
|
|
|
+ }
|
|
|
+ this.$forceUpdate();
|
|
|
+ }).catch(err=> {toast.clear();});
|
|
|
},
|
|
|
showEndDialog(timeItem) {
|
|
|
this.curWorktime = timeItem;
|
|
@@ -704,6 +731,10 @@
|
|
|
serverPicArray = JSON.parse(list[i].picStr.replace(/@/g,","));
|
|
|
}
|
|
|
|
|
|
+ var subProjectName = null;
|
|
|
+ if (list[i].subProjectId != null) {
|
|
|
+ subProjectName = list[i].subProjectList.filter(s=>s.id==list[i].subProjectId)[0].name;
|
|
|
+ }
|
|
|
|
|
|
array.push({
|
|
|
id: list[i].id,
|
|
@@ -729,7 +760,10 @@
|
|
|
worktimeList:list[i].worktimeList,
|
|
|
wuduList: list[i].degreeList,
|
|
|
weiduName: wuduName,
|
|
|
- degreeId: list[i].degreeId
|
|
|
+ degreeId: list[i].degreeId,
|
|
|
+ subProjectId: list[i].subProjectId,
|
|
|
+ subProjectName: subProjectName,
|
|
|
+ subProjectList: list[i].subProjectList
|
|
|
})
|
|
|
if (list[i].state >= 2) {
|
|
|
this.canEdit = true;
|
|
@@ -778,6 +812,13 @@
|
|
|
this.getReport();
|
|
|
},
|
|
|
|
|
|
+ //点击选择子项目
|
|
|
+ clickPickSubProject(i, item) {
|
|
|
+ if (!this.canEdit) return;
|
|
|
+ this.clickIndex = i;
|
|
|
+ this.showPickerSubProject = true;
|
|
|
+ },
|
|
|
+
|
|
|
// 选择项目
|
|
|
clickPicker(i, item) {
|
|
|
if (!this.canEdit) return;
|
|
@@ -823,17 +864,18 @@
|
|
|
this.showPickerProjects = false;
|
|
|
},
|
|
|
|
|
|
- choseProject(value, index) {
|
|
|
- this.form.domains[this.clickIndex].projectId = value.id;
|
|
|
- this.form.domains[this.clickIndex].projectName = value.projectName;
|
|
|
- this.showPickerProject = false;
|
|
|
- this.getTaskList(value.id);
|
|
|
- this.dimension(value.id) // 获取维度
|
|
|
+ choseSubProject(value, index) {
|
|
|
+ this.form.domains[this.clickIndex].subProjectId = value.id;
|
|
|
+ this.form.domains[this.clickIndex].subProjectName = value.name;
|
|
|
+ this.showPickerSubProject = false;
|
|
|
+
|
|
|
+ // this.getTaskList(value.id);
|
|
|
+ // this.dimension(value.id) // 获取维度
|
|
|
|
|
|
- //加载项目相关的工程进度
|
|
|
- if (this.user.company.packageEngineering == 1) {
|
|
|
- this.getProjectProfessions(this.form.domains[this.clickIndex], index);
|
|
|
- }
|
|
|
+ // //加载项目相关的工程进度
|
|
|
+ // if (this.user.company.packageEngineering == 1) {
|
|
|
+ // this.getProjectProfessions(this.form.domains[this.clickIndex], index);
|
|
|
+ // }
|
|
|
},
|
|
|
|
|
|
getProjectProfessions(domain, index) {
|
|
@@ -867,7 +909,8 @@
|
|
|
.then(res => {
|
|
|
if(res.code == "ok") {
|
|
|
this.form.domains[this.clickIndex].taskList = res.data;
|
|
|
- this.$forceUpdate();
|
|
|
+ this.form = this.form;
|
|
|
+ // this.$forceUpdate();
|
|
|
} else {
|
|
|
this.$toast.fail('获取失败');
|
|
|
}
|