qinzhipeng_v@didiglobal.com 4 жил өмнө
parent
commit
85a8ed24a5

+ 1 - 1
src/api/configure.js

@@ -211,7 +211,7 @@ export function getBizNoticeSettingList(data) {
   })
 }
 
-// 新增需求或任务定时通知
+// 新增需求或任务、缺陷定时通知
 export function addBizNoticeSetting(data) {
   return request({
     url: TeamManagement + `/setting/addBizNoticeSetting`,

BIN
src/assets/detailPage/缺陷@2x.png


+ 18 - 19
src/views/ToConfigure/components/modifyNotice.vue

@@ -42,7 +42,7 @@
       </el-form>
       <el-form ref="form" :model="formData" label-width="100px" label-position="left" :inline="true">
         <el-form-item v-if="type === 'bug'" label="端类型">
-          <el-select v-model="formData.sysType" size="small" clearable filterable placeholder="请选择">
+          <el-select v-model="formData.sysType" size="small" style="width: 209px;" clearable filterable placeholder="请选择">
             <el-option v-for="item in sysTypeEnumList" :key="item.code" :label="item.name" :value="item.code" />
           </el-select>
         </el-form-item>
@@ -63,16 +63,16 @@
           <el-select v-model="item.type" placeholder="请选择类型" size="small" class="condition-select" :disabled="disabled" @change="changeNoticeItem(item)">
             <el-option v-for="key in typeList" :key="key.label" :label="key.label" :value="key.value" />
           </el-select>
-          <el-select v-show="item.type === 1 || item.type === 3" v-model="item.status" placeholder="请选择状态" size="small" class="condition-select" :disabled="disabled">
+          <el-select v-show="item.type === 1 || item.type === 3 || item.type === 5" v-model="item.status" placeholder="请选择状态" size="small" class="condition-select" :disabled="disabled">
             <el-option v-for="key in statusList" :key="'status'+key.code" :label="key.msg" :value="key.code" />
           </el-select>
-          <el-select v-show="item.type === 1 || item.type === 3" v-model="item.triggerEvent" placeholder="请选择" size="small" class="condition-select" :disabled="disabled">
+          <el-select v-show="item.type === 1 || item.type === 3 || item.type === 5" v-model="item.triggerEvent" placeholder="请选择" size="small" class="condition-select" :disabled="disabled">
             <el-option v-for="key in triggerList" :key="'trigger'+key.code" :label="key.name" :value="key.code" />
           </el-select>
           <el-select v-show="item.type === 2 || item.type === 4" v-model="item.triggerEvent" placeholder="请选择" size="small" class="condition-select" :disabled="disabled">
             <el-option v-for="key in noticeEventList" :key="'event'+key.code" :label="key.name" :value="key.code" />
           </el-select>
-          <el-select v-show="item.type === 1 || item.type === 3" v-model="item.greaterTime" placeholder="请选择" size="small" class="condition-select" :disabled="disabled">
+          <el-select v-show="item.type === 1 || item.type === 3 || item.type === 5" v-model="item.greaterTime" placeholder="请选择" size="small" class="condition-select" :disabled="disabled">
             <el-option v-for="key in rangDaysList" :key="'greaterTime'+key.value" :label="key.label" :value="key.value" />
           </el-select>
           <el-select v-show="item.type === 2 || item.type === 4" v-model="item.lessTime" placeholder="请选择" size="small" class="condition-select" :disabled="disabled">
@@ -150,7 +150,7 @@
         </div>
       </el-form>
       <h2 class="form-title">通知时刻</h2>
-      <div class="notice-time">
+      <!-- <div class="notice-time">
         <el-time-select
           v-if="type === 'task' || type === 'require'"
           v-model="formData.noticeTime"
@@ -164,15 +164,15 @@
           }"
           :disabled="disabled"
         />
-      </div>
+      </div> -->
       <el-form :model="formData" label-width="100px" label-position="left" :inline="true">
-        <el-form-item v-if="type === 'bug'" label="时间">
-          <el-select v-model="formData.noticeTime" multiple placeholder="任意时间点" size="small" style="width: 209px;" :disabled="disabled" clearable>
+        <el-form-item label="时间">
+          <el-select v-model="formData.noticeTimeList" multiple placeholder="任意时间点" size="small" style="width: 209px;" :disabled="disabled" clearable>
             <el-option v-for="(key, index) in timeDateEnum" :key="'continuity'+index" :label="key" :value="key" />
           </el-select>
-        </el-form-item>
+        </el-form-item><br>
         <el-form-item v-if="type === 'bug'" label="频次">
-          <el-select v-model="formData.continuity" placeholder="请选择" size="small" style="width: 209px;" :disabled="disabled" clearable>
+          <el-select v-model="formData.noticeFrequency" placeholder="请选择" size="small" style="width: 209px;" :disabled="disabled" clearable>
             <el-option v-for="key in continuityDaysList" :key="'continuity'+key.value" :label="key.label" :value="key.value" />
           </el-select>
         </el-form-item>
@@ -244,7 +244,7 @@ export default {
       directionList: [], // 需求方面列表
       modulesList: [], // 任务模块列表
       formData: {
-        type: this.type === 'require' ? 0 : 1,
+        type: this.type === 'bug' ? 2 : this.type === 'require' ? 0 : 1,
         bizId: this.bizId,
         requireOrientIdList: [], // 需求方向
         techModuleIdList: [], // 技术模块
@@ -254,7 +254,6 @@ export default {
         noticeSetting: {}, // 通知方式
         noticeTime: null // 通知时刻
       },
-      bugEnumList: [], // bug状态list
       EmailList: [], // Email通知列表
       DChartList: [], // DChart系统通知列表
       GroupList: [], // DChart群通知列表
@@ -477,8 +476,9 @@ export default {
     async showBugListEnum() {
       const res = await bugGetEnum()
       if (res.code === 200) {
-        this.bugEnumList = res.data.bugEnumList.filter(item => {
-          return item.name === '已完成' || item.name === 'Hold'
+        this.statusList = res.data.bugEnumList.filter(item => {
+          item.msg = item.name
+          return item.name !== '已完成' && item.name !== 'Hold'
         }) // status
         this.sysTypeEnumList = res.data.sysTypeEnumList // 端类型
       }
@@ -519,9 +519,9 @@ export default {
         this.showTaskStatusEnum()
       } else if (this.type === 'bug') {
         this.data && !this.copy ? this.title = '编辑缺陷定时通知' : this.title = '新建缺陷定时通知'
-        this.typeList = [{ label: '缺陷状态', value: 3 }, { label: '缺陷事件', value: 4 }]
+        this.typeList = [{ label: '缺陷状态', value: 5 }]
         this.noticeGroupList = [{ label: '缺陷成员', value: 0 }, { label: '自定义人员', value: 2 }]
-        this.showTaskStatusEnum()
+        this.showBugListEnum()
       }
       let i = 1
       while (i <= 100) {
@@ -529,8 +529,7 @@ export default {
         this.continuityDaysList.push({ label: `连续${i}天`, value: i })
         i++
       }
-      this.continuityDaysList.unshift({ label: `每天`, value: 0 })
-      console.log(this.continuityDaysList)
+      this.continuityDaysList.unshift({ label: `每天`, value: -1 })
     },
     changeNoticeItem(item) { // 修改条件
       if (item.type === 1 || item.type === 3) {
@@ -598,7 +597,7 @@ export default {
         this.$message({ message: '请选择一种通知方式', type: 'error', duration: 1000, offset: 150 })
         return false
       }
-      if (!this.formData.noticeTime) {
+      if (!this.formData.noticeTimeList) {
         this.$message({ message: '请选择通知时刻', type: 'error', duration: 1000, offset: 150 })
         return false
       }

+ 16 - 1
src/views/ToConfigure/components/noticeConfig.vue

@@ -31,11 +31,16 @@
           <div v-show="item.type === 1" class="task-img">
             <img :src="taskImg">
           </div>
+          <div v-show="item.type === 2" class="bug-img">
+            <img :src="bugImg">
+          </div>
           <div v-show="item.type === 0" class="item-title">需求定时通知</div>
           <div v-show="item.type === 1" class="item-title">任务定时通知</div>
+          <div v-show="item.type === 2" class="item-title">缺陷定时通知</div>
           <div class="item-span">
             <label v-show="item.type === 0">需求范围:</label>
             <label v-show="item.type === 1">任务范围:</label>
+            <label v-show="item.type === 2">缺陷范围:</label>
             <el-tooltip
               effect="dark"
               :content="item.copywriter.requirementArea || item.copywriter.taskArea"
@@ -137,6 +142,7 @@ import { mapGetters } from 'vuex'
 import modifyNotice from './modifyNotice'
 import requireImg from '@/assets/detailPage/需求@2x.png'
 import taskImg from '@/assets/detailPage/任务@2x.png'
+import bugImg from '@/assets/detailPage/缺陷@2x.png'
 import normalDialog from '@/components/dialog/normalDialog'
 export default {
   components: { modifyNotice, normalDialog },
@@ -145,6 +151,7 @@ export default {
       activeTab: 1,
       requireImg: requireImg,
       taskImg: taskImg,
+      bugImg: bugImg,
       disabled: false,
       copy: false,
       visibleModify: false, // 添加修改弹框
@@ -194,6 +201,7 @@ export default {
       const res = await getBizNoticeSettingList(params)
       if (res.code === 200) {
         this.noticeList = res.data
+        console.log(this.noticeList, '才不会觉得是vss')
         this.total = res.total
       }
     },
@@ -202,6 +210,8 @@ export default {
         this.modifyType = 'require'
       } else if (item.type === 1) {
         this.modifyType = 'task'
+      } else if (item.type === 2) {
+        this.modifyType = 'bug'
       }
       this.modifyData = item
       this.disabled = true
@@ -212,6 +222,8 @@ export default {
         this.modifyType = 'require'
       } else if (item.type === 1) {
         this.modifyType = 'task'
+      } else if (item.type === 2) {
+        this.modifyType = 'bug'
       }
       this.modifyData = item
       this.copy = copy
@@ -351,7 +363,7 @@ ul,li{
     height: 226px;
     padding: 24px 31px 0 121px;
     position: relative;
-    .require-img,.task-img {
+    .require-img,.task-img,.bug-img {
       position: absolute;
       left: 31px;
       top: 27px;
@@ -372,6 +384,9 @@ ul,li{
     .task-img {
       background:rgba(126,211,33,0.14);
     }
+    .bug-img {
+      background:rgba(255,137,82,0.14);
+    }
     .item-title {
       color:#333333;
       font-size: 16px;