Browse Source

添加缺陷通知调整

qinzhipeng_v@didiglobal.com 4 years ago
parent
commit
099b06786a

+ 40 - 6
src/views/ToConfigure/components/modifyNotice.vue

@@ -11,6 +11,7 @@
     <article>
       <h2 v-show="type==='require'" class="form-title">需求范围</h2>
       <h2 v-show="type==='task'" class="form-title">任务范围</h2>
+      <h2 v-show="type==='bug'" class="form-title">缺陷范围</h2>
       <el-form ref="form" :model="formData" label-width="100px" label-position="left">
         <el-form-item v-if="type === 'require'" label="需求方向">
           <el-cascader
@@ -25,7 +26,7 @@
             class="input-width"
           />
         </el-form-item>
-        <el-form-item v-if="type === 'task'" label="技术模块">
+        <el-form-item v-if="type === 'task' || type === 'bug'" label="技术模块">
           <el-cascader
             v-model="formData.techModuleIdList"
             size="small"
@@ -40,12 +41,17 @@
         </el-form-item>
       </el-form>
       <el-form ref="form" :model="formData" label-width="100px" label-position="left" :inline="true">
-        <el-form-item label="跟版客户端">
+        <el-form-item v-if="type === 'bug'" label="端类型">
+          <el-select v-model="formData.sysType" size="small" clearable filterable placeholder="请选择">
+            <el-option v-for="item in sysTypeEnumList" :key="item.code" :label="item.name" :value="item.code" />
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="type === 'require' || type === 'task'" label="跟版客户端">
           <el-select v-model="formData.clientId" placeholder="请选择" size="small" :disabled="disabled" clearable>
             <el-option v-for="item in appClientList" :key="'app'+item.code" :label="item.msg" :value="item.code" />
           </el-select>
         </el-form-item>
-        <el-form-item>
+        <el-form-item v-if="type === 'require' || type === 'task'">
           <el-select v-model="formData.clientVersionId" placeholder="请选择" size="small" :disabled="disabled" clearable>
             <el-option v-for="item in clientList" :key="'client'+item.code" :label="item.msg" :value="item.code" />
           </el-select>
@@ -146,6 +152,7 @@
       <h2 class="form-title">通知时刻</h2>
       <div class="notice-time">
         <el-time-select
+          v-if="type === 'task' || type === 'require'"
           v-model="formData.noticeTime"
           placeholder="任意时间点"
           size="small"
@@ -158,6 +165,16 @@
           :disabled="disabled"
         />
       </div>
+      <el-form :model="formData" label-width="100px" label-position="left" :inline="true">
+        <el-form-item v-if="type === 'bug'" label="时间">
+          <el-time-select v-model="formData.noticeTime" placeholder="任意时间点" size="small" value-format="HH:mm" :picker-options="{ start: '00:00', step: '00:15', end: '23:45', }" :disabled="disabled" />
+        </el-form-item>
+        <el-form-item v-if="type === 'bug'" label="频次">
+          <el-select v-model="formData.continuity" placeholder="请选择" size="small" :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>
+      </el-form>
     </article>
   </normal-dialog>
 </template>
@@ -173,7 +190,7 @@ import {
 } from '@/api/configure'
 import { teamQueryTeamListBelowBiz } from '@/api/toConfigure.js'
 import { settingQueryBizRqmtOrntList } from '@/api/requirement.js'
-import { settingQueryBizModuleList } from '@/api/defectManage'
+import { settingQueryBizModuleList, bugGetEnum } from '@/api/defectManage'
 // import { queryTeamInfoList } from '@/api/workSchedule'
 import { showAppClientEnum } from '@/api/version.js'
 import normalDialog from '@/components/dialog/normalDialog'
@@ -256,6 +273,7 @@ export default {
       typeList: [], // 条件类型选择列表
       statusList: [], // 状态选择列表
       noticeEventList: [], // 事件列表
+      sysTypeEnumList: [], // 端类型
       triggerList: [], // 触发事件: 0 停留 1 交付 2 提测
       aheadDaysList: [
         { label: '3天前开始提醒', value: 3 },
@@ -263,7 +281,8 @@ export default {
         { label: '1天前开始提醒', value: 1 },
         { label: '过期提醒', value: 0 }
       ], // 提前几天提醒
-      rangDaysList: [] // 条件中大于天数列表
+      rangDaysList: [], // 条件中大于天数列表
+      continuityDaysList: [] // 通知时刻频次列表
     }
   },
   computed: {
@@ -358,6 +377,7 @@ export default {
     this.getRequireDirection()
     this.settingQueryBizModuleList()
     this.showAppClientEnum()
+    this.showBugListEnum()
     this.queryTeamInfoList()
     this.init()
   },
@@ -433,6 +453,12 @@ export default {
         this.appClientList = res.data.appClient
       }
     },
+    async showBugListEnum() {
+      const res = await bugGetEnum()
+      if (res.code === 200) {
+        this.sysTypeEnumList = res.data.sysTypeEnumList // 端类型
+      }
+    },
     async showRequireStatusEnum() { // 获取需求状态列表
       const res = await showRequireStatusEnum(this.bizId)
       if (res.code === 200) {
@@ -462,17 +488,25 @@ export default {
         this.typeList = [{ label: '需求状态', value: 1 }, { label: '需求事件', value: 2 }]
         this.noticeGroupList = [{ label: '需求成员', value: 0 }, { label: '团队', value: 1 }, { label: '自定义人员', value: 2 }]
         this.showRequireStatusEnum()
-      } else {
+      } else if (this.type === 'task') {
         this.data && !this.copy ? this.title = '编辑任务定时通知' : this.title = '新建任务定时通知'
         this.typeList = [{ label: '任务状态', value: 3 }, { label: '任务事件', value: 4 }]
         this.noticeGroupList = [{ label: '任务成员', value: 0 }, { label: '团队', value: 1 }, { label: '自定义人员', value: 2 }]
         this.showTaskStatusEnum()
+      } else if (this.type === 'bug') {
+        this.data && !this.copy ? this.title = '编辑缺陷定时通知' : this.title = '新建缺陷定时通知'
+        this.typeList = [{ label: '缺陷状态', value: 3 }, { label: '缺陷事件', value: 4 }]
+        this.noticeGroupList = [{ label: '缺陷成员', value: 0 }, { label: '自定义人员', value: 2 }]
+        this.showTaskStatusEnum()
       }
       let i = 1
       while (i <= 100) {
         this.rangDaysList.push({ label: `大于${i}天`, value: i })
+        this.continuityDaysList.push({ label: `连续${i}天`, value: i })
         i++
       }
+      this.continuityDaysList.unshift({ label: `每天`, value: 0 })
+      console.log(this.continuityDaysList)
     },
     changeNoticeItem(item) { // 修改条件
       if (item.type === 1 || item.type === 3) {

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

@@ -15,6 +15,7 @@
         <ul class="add-require-task">
           <li @click="addNotice('require')">需求定时通知</li>
           <li @click="addNotice('task')">任务定时通知</li>
+          <li @click="addNotice('bug')">缺陷定时通知</li>
         </ul>
         <el-button slot="reference" type="primary" size="medium" class="control-add">
           <i class="el-icon-plus" />新建<i class="el-icon-arrow-down" />