Преглед на файлове

业务线通知接口联调修改

wangziqian преди 5 години
родител
ревизия
a3fa8655b1
променени са 2 файла, в които са добавени 41 реда и са изтрити 21 реда
  1. 27 11
      src/views/ToConfigure/components/modifyNotice.vue
  2. 14 10
      src/views/ToConfigure/components/noticeConfig.vue

+ 27 - 11
src/views/ToConfigure/components/modifyNotice.vue

@@ -190,6 +190,11 @@ export default {
       type: Boolean,
       default: false,
       required: false
+    },
+    copy: {// 复制
+      type: Boolean,
+      default: false,
+      required: false
     }
   },
   data() {
@@ -271,7 +276,12 @@ export default {
       handler(newV) {
         this.show = newV
       },
-      deep: true,
+      immediate: true
+    },
+    copy: {
+      handler(newV) {
+        this.copy = newV
+      },
       immediate: true
     },
     'formData.clientId': { // 客户端改变,版本默认取第一个版本
@@ -282,7 +292,7 @@ export default {
     'noticeList.Email': {
       handler(newV, oldV) {
         if (newV) {
-          if (this.EmailList.length === 0) this.EmailList.push({ types: 0, member: false, teams: [], customStaffs: [] })
+          if (this.EmailList.length === 0) this.EmailList.push({ type: 0, member: false, teams: [], customStaffs: [] })
         } else {
           this.EmailList = []
         }
@@ -291,7 +301,7 @@ export default {
     'noticeList.DChart': {
       handler(newV, oldV) {
         if (newV) {
-          if (this.DChartList.length === 0) this.DChartList.push({ types: 0, member: false, teams: [], customStaffs: [] })
+          if (this.DChartList.length === 0) this.DChartList.push({ type: 0, member: false, teams: [], customStaffs: [] })
         } else {
           this.DChartList = []
         }
@@ -319,11 +329,17 @@ export default {
         noticeTime: data.noticeTime // 通知时刻
       }
       if (data.noticeSetting.email && data.noticeSetting.email.length > 0) {
-        this.EmailList = data.noticeSetting.email || []
+        this.EmailList = Array(data.noticeSetting.email.length).fill({ type: 0, member: false, teams: [], customStaffs: [] })
+        this.$nextTick(() => {
+          this.EmailList = data.noticeSetting.email
+        })
         this.noticeList.Email = true
       }
       if (data.noticeSetting.dChat && data.noticeSetting.dChat.length > 0) {
-        this.DChartList = data.noticeSetting.dChat || []
+        this.DChartList = Array(data.noticeSetting.dChat.length).fill({ type: 0, member: false, teams: [], customStaffs: [] })
+        this.$nextTick(() => {
+          this.DChartList = data.noticeSetting.dChat
+        })
         this.noticeList.DChart = true
       }
       if (data.noticeSetting.dChatGroup && data.noticeSetting.dChatGroup.length > 0) {
@@ -390,11 +406,11 @@ export default {
     },
     init() {
       if (this.type === 'require') {
-        this.typeList = [{ label: '需求状态', value: 0 }, { label: '需求事件', value: 1 }]
+        this.typeList = [{ label: '需求状态', value: 1 }, { label: '需求事件', value: 2 }]
         this.noticeGroupList = [{ label: '需求成员', value: 0 }, { label: '团队', value: 1 }, { label: '自定义人员', value: 2 }]
         this.showRequireStatusEnum()
       } else {
-        this.typeList = [{ label: '任务状态', value: 0 }, { label: '任务事件', value: 1 }]
+        this.typeList = [{ label: '任务状态', value: 3 }, { label: '任务事件', value: 4 }]
         this.noticeGroupList = [{ label: '任务成员', value: 0 }, { label: '团队', value: 1 }, { label: '自定义人员', value: 2 }]
         this.showTaskStatusEnum()
       }
@@ -424,7 +440,7 @@ export default {
       this.formData.noticeConditionList.splice(index, 1)
     },
     addMembers(list) { // 添加成员
-      list.push({ types: 0, member: false, teams: [], customStaffs: [] })
+      list.push({ type: 0, member: false, teams: [], customStaffs: [] })
     },
     removeMembers(list, index) { // 移除成员
       list.splice(index, 1)
@@ -479,10 +495,10 @@ export default {
       }
       this.formData.noticeSetting = {
         email: this.noticeList.Email ? this.EmailList : [],
-        dchat: this.noticeList.DChart ? this.DChartList : [],
-        dchatGroup: this.noticeList.Group ? this.GroupList : []
+        dChat: this.noticeList.DChart ? this.DChartList : [],
+        dChatGroup: this.noticeList.Group ? this.GroupList : []
       }
-      this.data ? this.updateBizNoticeSetting() : this.addBizNoticeSetting()
+      this.data && !this.copy ? this.updateBizNoticeSetting() : this.addBizNoticeSetting()
     },
     async addBizNoticeSetting() { // 新增通知
       const res = await addBizNoticeSetting(this.formData)

+ 14 - 10
src/views/ToConfigure/components/noticeConfig.vue

@@ -27,18 +27,18 @@
           <div class="require-img">
             <img :src="requireImg">
           </div>
-          <div v-show="item.requireOrientIdList && item.requireOrientIdList.length>0" class="item-title">需求定时通知</div>
-          <div v-show="item.techModuleIdList && item.techModuleIdList.length>0" class="item-title">任务定时通知</div>
+          <div v-show="item.requireOrientIdList.length>0" class="item-title">需求定时通知</div>
+          <div v-show="item.techModuleIdList.length>0" class="item-title">任务定时通知</div>
           <div class="item-span">
-            <label v-show="item.requireOrientIdList && item.requireOrientIdList.length>0">需求范围:</label>
-            <label v-show="item.techModuleIdList &&item.techModuleIdList.length>0">任务范围:</label>
+            <label v-show="item.requireOrientIdList.length>0">需求范围:</label>
+            <label v-show="item.techModuleIdList.length>0">任务范围:</label>
             <el-tooltip
               effect="dark"
-              content="用户体验;营销增长;乘客端5.4.20"
+              :content="item.copywriter.requirementArea || item.copywriter.taskArea"
               placement="bottom"
               popper-class="item-span-tooltip"
             >
-              <span>用户体验;营销增长;乘客端5.4.20</span>
+              <span>{{ item.copywriter.requirementArea || item.copywriter.taskArea }}</span>
             </el-tooltip>
           </div>
           <div class="item-span">
@@ -54,11 +54,11 @@
           </div>
           <div class="item-span">
             <label>通知方式:</label>
-            <span>Dchart群</span>
+            <span>{{ item.noticeType }}</span>
           </div>
           <div class="item-span">
             <label>通知时刻:</label>
-            <span>10:00</span>
+            <span>{{ item.noticeTime }}</span>
           </div>
           <el-button size="small" class="item-link">点击查看详情</el-button>
         </div>
@@ -75,7 +75,7 @@
           >
             <ul class="add-require-task">
               <li @click="enableNotice(item)">停用</li>
-              <li>复制</li>
+              <li @click="editNotice(item,true)">复制</li>
               <li @click="deleteNotice(item)">删除</li>
             </ul>
             <i slot="reference" class="el-icon-more" />
@@ -141,6 +141,7 @@ export default {
       requireImg: requireImg,
       taskImg: taskImg,
       disabled: false,
+      isCopy: false,
       visibleModify: false, // 添加修改弹框
       modifyType: 'require', // 弹框类型
       modifyData: null, // 当前修改的通知
@@ -181,13 +182,14 @@ export default {
         this.total = res.total
       }
     },
-    editNotice(item) { // 编辑通知
+    editNotice(item, copy = false) { // 编辑通知
       if (item.requireOrientIdList.length > 0) {
         this.modifyType = 'require'
       } else if (item.techModuleIdList.length > 0) {
         this.modifyType = 'task'
       }
       this.modifyData = item
+      this.copy = copy
       this.visibleModify = true
     },
     deleteNotice(item) { // 删除弹框
@@ -228,6 +230,8 @@ export default {
     },
     confirmModify() { // 新增修改callback
       this.visibleModify = false
+      this.copy = false
+      this.getBizNoticeSettingList()
     },
     addNotice(type) { // 新增通知
       this.modifyType = type