wangziqian 4 年之前
父節點
當前提交
1fcbdfea42

+ 4 - 4
src/views/projectManage/projectList/components/modifySchedule.vue

@@ -122,8 +122,6 @@
           <div v-if="item.taskIdSting" class="item-id">{{ item.taskIdSting }}</div>
           <div v-if="item.taskId" class="item-id">{{ item.taskId }}</div>
           <div class="item-name"><span>{{ item.name }}</span></div>
-          <div class="item-qa">测试负责人:<span>{{ item.qaObject !== null?item.qaObject.name: '' }}</span></div>
-          <div class="item-rd">开发负责人:<span>{{ item.rdObject !== null?item.rdObject.name: '' }}</span></div>
           <i class="el-icon-circle-close item-cancel" @click="cancelTask(item.id)" />
         </div>
       </div>
@@ -327,9 +325,11 @@ export default {
       if (obj.dayList) {
         const len = obj.dayList.length
         this.form.dayList = [obj.dayList[0], obj.dayList[len - 1]]
-        this.schedule = obj.dayList[0] === obj.dayList[len - 1] ? `${obj.dayList[0]}` : `${obj.dayList[0]}-${obj.dayList[len - 1]}`
         this.detailDayList = obj.dayList || []
       }
+      if (obj.schedule) {
+        this.schedule = obj.schedule || ''
+      }
       if (obj.bizId) {
         this.form.bizId = obj.bizId.code
         this.form.bizName = obj.bizId.name
@@ -611,7 +611,7 @@ article {
       width: 15%;
     }
     .item-name {
-      width: 40%;
+      width: 85%;
     }
     .item-qa {
       width: 20%;

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

@@ -3,7 +3,7 @@
     <el-dialog
       :title="title"
       :visible.sync="show"
-      width="20%"
+      width="262px"
       :modal-append-to-body="false"
       :close-on-click-modal="true"
       :class="{'bizId-dialog':bizSelect}"
@@ -166,7 +166,7 @@ export default {
     height: 50%;
     width: 100%;
     display: flex;
-    justify-content: center;
+    padding-left: 32px;
     align-items: center;
   }
   .select-schedule:hover{

+ 1 - 1
src/views/workbench/components/searchSection.vue

@@ -16,7 +16,7 @@
     <div class="member-list">
       <div class="teamMember">类型:</div>
       <el-checkbox-group v-model="checkList" @change="getCheckList">
-        <el-checkbox :label="0" style="font-weight: 400;">排期任务</el-checkbox>
+        <el-checkbox :label="0" style="font-weight: 400;">排期</el-checkbox>
         <el-checkbox :label="1" style="font-weight: 400;">日程</el-checkbox>
       </el-checkbox-group>
     </div>

+ 8 - 10
src/views/workbench/person/components/calendarFormDialog.vue

@@ -1,5 +1,5 @@
 <template>
-  <normal-dialog :show-dialog.sync="isVisible" :title="title" :is-default-close="false" @confirm="confirmForm()" @cancel="cancel()">
+  <normal-dialog :show-dialog.sync="isVisible" :title="title" :is-default-close="false" width="55%" @confirm="confirmForm()" @cancel="cancel()">
     <article>
       <el-form ref="calendarform" :model="form" :rules="rules" label-position="left" label-width="90px">
         <el-row>
@@ -157,19 +157,17 @@ export default {
       // 当新建的时候存在详细日期时候的数据处理
       if (this.data) {
         const obj = _.cloneDeep(this.data)
-        const len = obj.dayList.length
-        this.form = {
-          ...this.form,
-          dayList: [obj.dayList[0], obj.dayList[len - 1]]
+        if (obj.dayList) {
+          const len = obj.dayList.length
+          this.form.dayList = [obj.dayList[0], obj.dayList[len - 1]]
+          this.detailDayList = obj.dayList || []
+        }
+        if (obj.schedule) {
+          this.schedule = obj.schedule || ''
         }
         this.$nextTick(() => {
           this.form.peopleList = [localStorage.getItem('username')]
         })
-        this.detailDayList = obj.dayList || []
-        this.schedule =
-          obj.dayList[0] === obj.dayList[len - 1]
-            ? `${obj.dayList[0]}`
-            : `${obj.dayList[0]}-${obj.dayList[len - 1]}`
       } else {
         this.form.dayList = []
       }

+ 22 - 14
src/views/workbench/person/index.vue

@@ -145,10 +145,7 @@
             @eventClick="showSchedule"
             @select="selectDates"
           >
-            <div>
-              <el-button type="primary" size="small" @click="addSchedule()">添加排期</el-button>
-              <el-button type="primary" size="small" @click="addCalender()">添加日程</el-button>
-            </div>
+            <div style="width: 100px" />
           </MyFullCalendar>
           <calender-list
             v-show="activeSchedule === '2'"
@@ -237,7 +234,7 @@ import {
   getPersonalBugSummary,
   getPersonalBugDisDataBy
 } from '@/api/workSchedule.js'
-import { scheduleDelete } from '@/api/projectViewDetails'
+import { getSeprateDayInfo, scheduleDelete } from '@/api/projectViewDetails'
 import modifySchedule from '@/views/projectManage/projectList/components/modifySchedule'
 import calenderList from './components/calenderList'
 import MyFullCalendar from '@/views/workbench/person/components/myFullCalendar'
@@ -392,17 +389,29 @@ export default {
       ]
       this.createDialog = true
     },
-    createSchOrCal(bizId) { // 创建排期或者日程
+    async createSchOrCal(bizId) { // 创建排期或者日程
       this.createDialog = false
+      let dayList = getAllTime(...this.selectRangeData, false)
+      const len = dayList.length
+      let schedule = dayList[0] === dayList[len - 1] ? `${dayList[0]}` : `${dayList[0]}-${dayList[len - 1]}`
+      try {
+        const detailDayList = await getSeprateDayInfo(dayList)
+        dayList = detailDayList.data.holidayHasWork
+        schedule = detailDayList.data.seperateDaysNoHoliday
+      } catch (error) {
+        throw error
+      }
       if (!bizId) { // 新建日程
-        this.addCalender({
-          dayList: getAllTime(...this.selectRangeData)
+        this.dateClick({
+          dayList: dayList,
+          schedule: schedule
         })
       } else { // 新建排期
         this.visibleSchedule = true
         this.isDelete = false
         this.nowDetailData = {
-          dayList: getAllTime(...this.selectRangeData),
+          dayList: dayList,
+          schedule: schedule,
           bizId: bizId
         }
         this.DialogTitle = '新建排期'
@@ -498,12 +507,11 @@ export default {
         this.calendarEvents = res.data.map((item, index) => {
           // const title = item.origin ? '日程' : '排期'
           let require = ''
-          if (item.requireNames && item.requireNames.length > 0) {
-            require = `所属需求:${item.requireNames.join(',')}`
+          if (item.requireList && item.requireList.length > 0) {
+            require = `所属需求:${item.requireList.map(item => item.name).join(',')}`
+          } else if (item.taskList && item.taskList.length > 0) {
+            require = `所属任务:${item.taskList.map(item => item.name).join(',')}`
           }
-          // else if (item.taskNames && item.taskNames.length > 0) {
-          //   require = `所属任务:${item.taskNames.join(',')}`
-          // }
           if (index >= 1 && item.id === res.data[index - 1].id) {
             num = num + 1
           }

+ 21 - 13
src/views/workbench/team/index.vue

@@ -68,10 +68,7 @@
             @eventClick="showSchedule"
             @select="selectDates"
           >
-            <el-checkbox-group v-model="origin" class="origin">
-              <el-checkbox :label="0" @change="queryTeamWorkListByTime(calendarView)">任务排期</el-checkbox>
-              <el-checkbox :label="1" @change="queryTeamWorkListByTime(calendarView)">日程</el-checkbox>
-            </el-checkbox-group>
+            <div style="width: 100px" />
           </MyFullCalendar>
           <calender-detail
             :show.sync="showDetail"
@@ -204,7 +201,7 @@ import {
   getTeamBugDisDataBy,
   teamReminding
 } from '@/api/workSchedule'
-import { scheduleDelete } from '@/api/projectViewDetails'
+import { getSeprateDayInfo, scheduleDelete } from '@/api/projectViewDetails'
 import modifySchedule from '@/views/projectManage/projectList/components/modifySchedule'
 import ganntViews from '@/views/workbench/team/components/ganntViews'
 import MyFullCalendar from '@/views/workbench/person/components/myFullCalendar'
@@ -378,17 +375,29 @@ export default {
       ]
       this.createDialog = true
     },
-    createSchOrCal(bizId) { // 创建排期或者日程
+    async createSchOrCal(bizId) { // 创建排期或者日程
       this.createDialog = false
+      let dayList = getAllTime(...this.selectRangeData, false)
+      const len = dayList.length
+      let schedule = dayList[0] === dayList[len - 1] ? `${dayList[0]}` : `${dayList[0]}-${dayList[len - 1]}`
+      try {
+        const detailDayList = await getSeprateDayInfo(dayList)
+        dayList = detailDayList.data.holidayHasWork
+        schedule = detailDayList.data.seperateDaysNoHoliday
+      } catch (error) {
+        throw error
+      }
       if (!bizId) { // 新建日程
         this.dateClick({
-          dayList: getAllTime(...this.selectRangeData)
+          dayList: dayList,
+          schedule: schedule
         })
       } else { // 新建排期
         this.visibleSchedule = true
         this.isDelete = false
         this.nowDetailData = {
-          dayList: getAllTime(...this.selectRangeData),
+          dayList: dayList,
+          schedule: schedule,
           bizId: bizId
         }
         this.DialogTitle = '新建排期'
@@ -490,12 +499,11 @@ export default {
           const colorObj = this.mapMemberColor.get(item.peopleObject.idap)
           // const title = item.origin ? '日程' : '排期'
           let require = ''
-          if (item.requireNames && item.requireNames.length > 0) {
-            require = `所属需求:${item.requireNames.join(',')}`
+          if (item.requireList && item.requireList.length > 0) {
+            require = `所属需求:${item.requireList.map(item => item.name).join(',')}`
+          } else if (item.taskList && item.taskList.length > 0) {
+            require = `所属任务:${item.taskList.map(item => item.name).join(',')}`
           }
-          // else if (item.taskNames && item.taskNames.length > 0) {
-          //   require = `所属任务:${item.taskNames.join(',')}`
-          // }
           return {
             id: item.id,
             title: `【${item.peopleObject.name}】${item.name} ${item.desc ? ':' + item.desc : ''}; ${item.origin ? '' : require}`,