Kaynağa Gözat

feat:推送设置调整

yangfeng 1 yıl önce
ebeveyn
işleme
3412aca135

+ 4 - 4
src/assets/js/selector.js

@@ -604,25 +604,25 @@ export const pushFunctionData = [
     type: 'o_follow_project',
     name: '项目进度监控',
     desc: '关注项目如有动态变更,将为您推送。',
-    showEdit: false
+    showEdit: true
   },
   {
     type: 'o_follow_ent',
     name: '企业情报监控-企业中标动态',
     desc: '关注企业一旦中标,会推送企业的中标项目、时间等公告信息。',
-    showEdit: false
+    showEdit: true
   },
   {
     type: 'o_entinfo',
     name: '企业情报监控-企业工商变动',
     desc: '关注的企业一旦工商情况有变动,将为您推送。',
-    showEdit: false
+    showEdit: true
   },
   {
     type: 'o_newproject_forecast',
     name: '潜在项目预测',
     desc: '通过大数据和AI智能分析预测到与您有关的潜在项目时,可及时收到提醒信息。',
-    showEdit: false
+    showEdit: true
   },
   {
     type: 'o_week_report',

+ 2 - 1
src/components/push-setting/setList.vue

@@ -103,7 +103,8 @@ export default {
       this.$emit('edit', {
         rateMode: this.rateMode,
         times: this.times,
-        type: this.type
+        type: this.type,
+        title: this.name
       })
     },
     nomsgtipRadioChange (val) {

+ 2 - 2
src/components/selector/DateRangeSelector.vue

@@ -91,7 +91,7 @@ export default {
       },
       startPickerOptions: {
         disabledDate: time => {
-          const start = this.startDate ? this.startDate : new Date(this.dateTimePickerState.start).getTime()
+          // const start = this.startDate ? this.startDate : new Date(this.dateTimePickerState.start).getTime()
           const end = this.endDate ? this.endDate : new Date(this.dateTimePickerState.end).getTime()
           return time.getTime() > end && end
         }
@@ -99,7 +99,7 @@ export default {
       endPickerOptions: {
         disabledDate: time => {
           const start = this.startDate ? this.startDate : new Date(this.dateTimePickerState.start).getTime()
-          const end = this.endDate ? this.endDate : new Date(this.dateTimePickerState.end).getTime()
+          // const end = this.endDate ? this.endDate : new Date(this.dateTimePickerState.end).getTime()
           return time.getTime() < start
         }
       },

+ 23 - 15
src/views/push-setting/index.vue

@@ -74,7 +74,7 @@
       <el-input v-model.trim="email.input" placeholder="请输入邮箱地址"></el-input>
       <p class="error-tips" v-show="email.input && emailConfirmDisabled">邮箱格式不正确</p>
     </vDialog>
-    <vDialog title="我的订阅推送时间设置" customClass="open-vip-dialog" width="595px" top="30vh" center
+    <vDialog :title="pushTime.title + '推送时间设置'" customClass="open-vip-dialog" width="595px" top="30vh" center
       :visible.sync="pushTime.dialog" @cancel="onCancelPushTime" @confirm="onConfirmPushTime">
       <el-radio-group v-model="pushTime.checked" @input="onPushTimeRadioChange">
         <el-radio :label="1">实时推送</el-radio>
@@ -102,7 +102,7 @@
     </vDialog>
     <vDialog title="开通超级订阅" class="text-center" custom-class="open-vip-dialog" width="380px" top="30vh" center
       :visible.sync="buy.dialog">
-      开通超级订阅可选择“实时推送”及时接收公告信息,或根据您的工作需要灵活设置推送时间。
+      {{buy.text}}
       <template #footer>
         <button class="action-button confirm" style="margin: 0;" @click="toBuyVip">前往开通</button>
         <button class="action-button cancel" style="margin: 0 48px 0 0;" @click="buy.dialog = false">取消</button>
@@ -174,9 +174,12 @@ export default {
       pushTime: {
         dialog: false,
         checked: 1,
-        tags: []
+        tags: [],
+        title: '',
+        type: ''
       },
       buy: {
+        text: '开通超级订阅可选择“实时推送”及时接收公告信息,或根据您的工作需要灵活设置推送时间。',
         dialog: false
       },
       follow: {
@@ -281,6 +284,7 @@ export default {
               if (!v.a_times) {
                 v.a_times = []
               }
+              const canEditType = ['o_subset', 'o_follow_project', 'o_follow_ent', 'o_entinfo', 'o_newproject_forecast']
               arr.push({
                 classType: v.classType, // 仅用于归类展示
                 subTitle: v.subTitle, // 仅用于归类展示的副标题
@@ -296,8 +300,8 @@ export default {
                 wxPush: data[key].i_wxpush ? data[key].i_wxpush : 0,
                 noMsgtip: data[key].i_nomsgtip,
                 rateMode: data[key].i_ratemode,
-                times: v.type === 'o_subset' ? this.getRateTimes(data[key].i_ratemode, data[key].a_times) : data[key].a_times,
-                way: v.type === 'o_subset' ? this.getRateWay(data[key].i_ratemode, data[key].a_times) : data[key].a_times?.toString()
+                times: canEditType.includes(v.type) ? this.getRateTimes(data[key].i_ratemode, data[key].a_times) : data[key].a_times,
+                way: canEditType.includes(v.type) ? this.getRateWay(data[key].i_ratemode, data[key].a_times) : data[key].a_times?.toString()
               })
             }
           }
@@ -348,19 +352,23 @@ export default {
       this.email.clickType = ''
     },
     onPushTimeEdit (data) {
+      const { type, rateMode, times, title } = data
       if (this.free) {
+        this.buy.text = type === 'o_subset' ? '开通超级订阅可选择“实时推送”及时接收公告信息,或根据您的工作需要灵活设置推送时间。' : '如需根据您的工作需要灵活设置推送时间(例如:按日推送),您可前往开通超级订阅。'
         this.buy.dialog = true
         return
       }
-      const { type, rateMode, times } = data
-      if (type === 'o_subset') {
-        const timeCopied = times ? JSON.parse(JSON.stringify(times)) : []
-        this.pushTime.dialog = true
-        this.pushTime.checked = rateMode
-        this.apiSave.checked = rateMode
-        this.pushTime.tags = timeCopied
-        this.apiSave.times = timeCopied
-      }
+      console.log(type, rateMode, times)
+      // if (type === 'o_subset') {
+      const timeCopied = times ? JSON.parse(JSON.stringify(times)) : []
+      this.pushTime.dialog = true
+      this.pushTime.checked = rateMode
+      this.apiSave.checked = rateMode
+      this.pushTime.tags = timeCopied
+      this.apiSave.times = timeCopied
+      this.pushTime.title = title
+      this.pushTime.type = type
+      // }
     },
     // 取消推送时间修改(恢复默认选中状态)
     onCancelPushTime () {
@@ -373,7 +381,7 @@ export default {
     // 推送时间修改
     onConfirmPushTime () {
       const params = {
-        item: 'o_subset',
+        item: this.pushTime.type,
         setType: 'a_times',
         ratemode: this.pushTime.checked,
         times: this.sortTags