Browse Source

排期完善

PrinceLee 5 years ago
parent
commit
bf5ad68256

+ 6 - 1
src/components/dialog/normalDialog.vue

@@ -49,6 +49,11 @@ export default {
       type: String,
       default: '确 定',
       required: false
+    },
+    isDefaultClose: { // 是否确定后关闭弹框
+      type: Boolean,
+      default: true,
+      required: false
     }
   },
   data() {
@@ -63,7 +68,7 @@ export default {
   },
   methods: {
     confirm() {
-      this.visible = false
+      this.visible = !this.isDefaultClose
       this.$emit('update:showDialog', this.visible)
       this.$emit('confirm', true)
     },

+ 10 - 5
src/views/projectManage/projectList/component/modifySchedule.vue

@@ -1,5 +1,5 @@
 <template>
-  <normal-dialog :show-dialog.sync="show" :title="title" @confirm="confirmForm()" @cancel="cancel()">
+  <normal-dialog :show-dialog.sync="show" :title="title" :is-default-close="false" @confirm="confirmForm()" @cancel="cancel()">
     <article>
       <el-form ref="form" :model="form" :rules="form_rules" label-width="100px" :label-position="'left'">
         <el-form-item label="排期类型" prop="type">
@@ -11,7 +11,7 @@
           <search-people :value.sync="form.peopleList" :multiple="true" style="width: 100%" :size="'medium'" :disabled="disabled" />
         </el-form-item>
         <el-form-item label="排期" prop="dayList">
-          <div v-show="form.dayList.length > 0 ">{{ schedule }}</div>
+          <div v-show="form.dayList.length > 0 ">{{ schedule }}(用时<span class="blue">{{ detailDayList.length }}</span>天)</div>
           <div v-show="form.dayList.length <= 0 " class="empty-schedule">添加排期</div>
           <div v-if="!disabled" class="picker-hidden">
             <sel-date-picker :start-end.sync="form.dayList" :detail-day-list="detailDayList" @getDetailDay="getDetailDay" />
@@ -45,8 +45,8 @@
       <div class="task-list-show">
         <div v-for="item in tasksDetailList" :key="'task'+item.id" class="task-list-item">
           <div v-if="item.taskIdSting" class="item-id">{{ item.taskIdSting }}</div>
-          <div v-if="item.taskIdSting" class="item-name">{{ item.name }}</div>
           <div v-if="item.taskId" class="item-id">{{ item.taskId }}</div>
+          <div class="item-name">{{ item.name }}</div>
           <div class="item-qa">测试负责人:{{ item.qaObject !== null?item.qaObject.name: '' }}</div>
           <div class="item-rd">开发负责人:{{ item.rdObject !== null?item.rdObject.name: '' }}</div>
           <i class="el-icon-circle-close item-cancel" @click="cancelTask(item.id)" />
@@ -146,7 +146,6 @@ export default {
       let obj
       if (res.code === 200) {
         obj = res.data
-        console.log(obj)
       } else {
         return false
       }
@@ -157,8 +156,9 @@ export default {
         peopleList: obj.peopleList || [],
         taskList: obj.taskObjectList.map(item => item.id),
         desc: obj.desc,
-        dayList: [obj.dayList[0], obj.dayList[obj.dayList.lenght - 1]] // 日期列表
+        dayList: [obj.dayList[0], obj.dayList[obj.dayList.length - 1]] // 日期列表
       }
+      console.log(this.form)
       this.detailDayList = obj.dayList || []
       this.schedule = obj.seperateDaysNoHoliday
       this.tasksDetailList = obj.taskObjectList || []
@@ -235,10 +235,12 @@ export default {
     },
     confirmForm() { // 确认提交表单
       this.$refs['form'].validate((valid) => {
+        console.log(this.form)
         if (valid) {
           const params = _.cloneDeep(this.form)
           params.dayList = this.detailDayList
           params.id ? this.scheduleUpdate(params) : this.scheduleCreate(params)
+          this.$emit('update')
           this.cancel()
         }
       })
@@ -254,6 +256,9 @@ export default {
 article {
   max-height: 60vh;
   overflow: scroll;
+    .blue {
+    color: #409EFF;
+  }
 }
 >>>.el-form {
   padding: 0 156px 0 60px;

+ 3 - 1
src/views/projectManage/projectList/component/scheduleList.vue

@@ -62,6 +62,7 @@
       :visible.sync="visibleSchedule"
       :detail-data="detailData"
       :title="DialogTitle"
+      @update="listByTask(id)"
     />
   </div>
 </template>
@@ -111,7 +112,7 @@ export default {
   },
   methods: {
     getType(value) {
-      const res = this.taskScheduleEvent.find(item => item.code === value)
+      const res = this.taskScheduleEvent.find(item => item.code === value) || {}
       return res.msg
     },
     async listByTask(id) { // 获取排期列表
@@ -132,6 +133,7 @@ export default {
     async deteleSchedule(row) { // 删除排期
       const res = await scheduleDelete(row.id)
       if (res.code === 200) {
+        this.listByTask(this.id)
         this.$message({ message: '删除成功', type: 'success', duration: 1000, offset: 150 })
       }
     },

+ 1 - 1
src/views/projectManage/projectList/component/taskList.vue

@@ -156,7 +156,7 @@ export default {
       const res = await configShowTaskEnum()
       if (res.code === 200) {
         this.allStatus = res.data.taskStatus
-        this.taskScheduleEvent = res.data.taskScheduleEvent
+        this.taskScheduleEvent = res.data.taskScheduleEvent || []
       }
     },
     changeCheck(val) {