Bläddra i källkod

Merge branch 'http_test' of git.xiaojukeji.com:jacklijiajia/thoth-frontend into http_test

qinzhipeng_v@didiglobal.com 4 år sedan
förälder
incheckning
a6a7d2a4aa

+ 1 - 1
src/components/click/overClick.vue

@@ -66,7 +66,7 @@ export default {
     })
   },
   destroyed() {
-    document.removeEventListener(this.listener)
+    document.removeEventListener('click', this.listener)
   },
   methods: {
     handleClick() {

+ 44 - 8
src/views/projectManage/projectList/components/modifySchedule.vue

@@ -11,6 +11,7 @@
   >
     <article v-if="!isDeleteStatus">
       <el-form ref="form" :model="form" :rules="form_rules" label-width="100px" :label-position="'left'">
+        <h2>排期内容</h2>
         <el-form-item label="排期类型" prop="type">
           <el-select v-model="form.type" clearable placeholder="请选择" style="width: 100%" :disabled="disabled">
             <el-option v-for="item in taskScheduleEvent" :key="item.code" :label="item.msg" :value="item.code" />
@@ -26,9 +27,13 @@
             <sel-date-picker :start-end.sync="form.dayList" :detail-day-list="detailDayList" @getDetailDay="getDetailDay" />
           </div>
         </el-form-item>
-        <el-form-item label="描述">
+        <el-form-item label="描述" class="item-desc">
           <el-input v-model="form.desc" autocomplete="off" placeholder="请输入问题描述内容..." :disabled="disabled" />
         </el-form-item>
+        <h2>关联任务</h2>
+        <el-form-item label="业务线" prop="bizId">
+          {{ bizName }}
+        </el-form-item>
         <el-form-item label="关联任务" prop="taskList">
           <el-select
             v-model="selectTask"
@@ -95,7 +100,7 @@ const _ = require('lodash')
 import searchPeople from '@/components/select/searchPeople'
 import normalDialog from '@/components/dialog/normalDialog'
 import selDatePicker from '@/components/picker/SelDatePicker'
-import { taskList, configShowTaskEnum } from '@/api/taskIndex'
+import { taskList, configShowTaskEnum, taskGet } from '@/api/taskIndex'
 import { getSeprateDayInfo, scheduleCreate, scheduleGet, scheduleUpdate, scheduleDelete } from '@/api/projectViewDetails'
 import danger from '@/assets/感叹@2x.png'
 import '@/styles/PublicStyle/index.scss'
@@ -111,6 +116,11 @@ export default {
       default: false,
       required: true
     },
+    type: { // 类型,项目下的project,需求下的requirement,任务下的task
+      type: String,
+      default: 'project',
+      required: false
+    },
     title: {
       type: String,
       default: '新建排期',
@@ -142,6 +152,7 @@ export default {
       dangerImg: danger,
       form_rules: {
         type: [{ required: true, message: '事件类型不能为空', trigger: 'blur' }],
+        bizId: [{ required: true, message: '业务线不能为空', trigger: 'blur' }],
         peopleList: [{ required: true, message: '参与人员不能为空', trigger: 'blur' }],
         dayList: [{ required: true, message: '排期不能为空', trigger: 'blur' }],
         taskList: [{ required: true, message: '关联任务不能为空', trigger: 'blur' }]
@@ -207,16 +218,29 @@ export default {
   },
   created() {
     this.getType()
-    this.getNowTask()
+    if (this.type === 'task' && this.detailData === null) {
+      this.init()
+    } else {
+      this.getNowTask()
+    }
   },
   methods: {
+    async init() { // 任务页面下获取当前任务
+      const res = await taskGet(this.$route.query.id)
+      if (res.code === 200) {
+        this.tasksOptions = [res.data]
+        this.tasksDetailList = [res.data]
+        this.form.taskList = [res.data.id]
+      }
+    },
     getSomeScheduleData(obj) { // 当传入部分详细信息时候
       const len = obj.dayList.length
       this.form = {
         ...this.form,
         dayList: [obj.dayList[0], obj.dayList[len - 1]]
       }
-      this.bizId = obj.bizId
+      this.bizId = obj.bizId.code
+      this.bizName = obj.bizId.name
       this.detailDayList = obj.dayList || []
       this.schedule =
           obj.dayList[0] === obj.dayList[len - 1]
@@ -251,13 +275,13 @@ export default {
         this.taskScheduleEvent = resEnum.data.taskScheduleEvent
       }
     },
-    async getNowTask() { // 获取当前项目下任务
+    async getNowTask() { // 获取当前项目/需求下任务
       if (!this.$route.query.id) {
         return
       }
-      const res = await taskList({
-        projectId: this.$route.query.id
-      })
+      const params = {}
+      params[this.type] = this.$route.query.id
+      const res = await taskList(params)
       if (res.code === 200) {
         this.tasksOptions = res.data
       }
@@ -363,10 +387,22 @@ article {
     .blue {
     color: #409EFF;
   }
+  h2 {
+    color: #333333;
+    font-size: 18px;
+    font-weight: bold;
+    margin-bottom: 20px;
+    padding-left: 10px;
+  }
 }
 >>>.el-form {
   padding: 0 156px 0 60px;
 }
+.item-desc {
+  >>>.el-form-item__label {
+    padding-left: 10px;
+  }
+}
 .picker-hidden {
   opacity: 0;
   position: absolute;

+ 2 - 1
src/views/projectManage/requirement/components/taskList.vue

@@ -116,6 +116,7 @@
       :visible.sync="visibleSchedule"
       :select-task-list="selectTaskList"
       title="新建排期"
+      type="requirement"
       @update="get_allTask()"
     />
   </div>
@@ -129,7 +130,7 @@ import { taskList } from '@/api/projectIndex'
 import { taskUpdate } from '@/api/projectViewDetails'
 import { configShowTaskEnum, configShowTaskStatusEnum } from '@/api/taskIndex'
 import scheduleList from './scheduleList'
-import modifySchedule from './modifySchedule'
+import modifySchedule from '@/views/projectManage/projectList/components/modifySchedule'
 import taskDialog from '@/views/projectManage/taskList/dialog/taskDialog' // 任务状态修改(已上线/已提测/已准出)
 import { dailyReportCheckStatus, reportreleaseCheckStatus, reportdelivertestCheckStatus } from '@/api/reportTemplate'
 import '@/styles/PublicStyle/index.scss'

+ 2 - 1
src/views/projectManage/taskList/components/scheduleList.vue

@@ -114,6 +114,7 @@
       :is-delete.sync="isDelete"
       :detail-data="detailData"
       :title="DialogTitle"
+      type="task"
       @update="listByTask(id)"
     />
   </div>
@@ -123,7 +124,7 @@ import Sortable from 'sortablejs'
 import moment from 'moment'
 import 'moment/locale/zh-cn'
 import { listByTask, sortForTask } from '@/api/projectViewDetails'
-import modifySchedule from './modifySchedule'
+import modifySchedule from '@/views/projectManage/projectList/components/modifySchedule'
 import move from '@/assets/麻将@2x.png'
 export default {
   components: {

+ 5 - 2
src/views/workbench/components/createDialog.vue

@@ -90,8 +90,11 @@ export default {
       }
     },
     confirm() {
-      if (!this.bizId) return false
-      this.$emit('change', this.bizId)
+      if (!this.bizId) {
+        this.$message({ type: 'warning', message: '请选择业务线!' })
+        return false
+      }
+      this.$emit('change', this.bizList.find(item => item.code === this.bizId))
     },
     cancel() { // 关闭弹框
       this.show = false

+ 3 - 0
src/views/workbench/person/components/calendarFormDialog.vue

@@ -162,6 +162,9 @@ export default {
           ...this.form,
           dayList: [obj.dayList[0], obj.dayList[len - 1]]
         }
+        this.$nextTick(() => {
+          this.form.peopleList = [localStorage.getItem('username')]
+        })
         this.detailDayList = obj.dayList || []
         this.schedule =
           obj.dayList[0] === obj.dayList[len - 1]