|
@@ -74,19 +74,19 @@
|
|
|
<van-switch @change="ChangeEvent(item, 'app')" v-model="item.i_apppush" />
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="set-push-time" v-if="item.id === 0">
|
|
|
+ <div class="set-push-time" v-if="needEditTimesType.indexOf(item.param) > -1 && editResultTime[item.param]">
|
|
|
<div class="push-time-left">
|
|
|
<span>推送时间:</span>
|
|
|
- <span v-if="!power.isFree">
|
|
|
- {{ resultTime.ratemodeText }}
|
|
|
- <span v-if="setRateMode.ratemode === 2">{{ resultTime.times }}</span>
|
|
|
- <span v-if="setRateMode.ratemode !== 1 && setRateMode.ratemode !== 2">09:00</span>
|
|
|
+ <span v-if="!power.isFree && editResultTime[item.param]">
|
|
|
+ {{ editResultTime[item.param].ratemodeText }}
|
|
|
+ <span v-if="editResultTime[item.param].ratemode === 2">{{ editResultTime[item.param].times }}</span>
|
|
|
+ <span v-if="editResultTime[item.param].ratemode !== 1 && editResultTime[item.param].ratemode !== 2">09:00</span>
|
|
|
</span>
|
|
|
<span v-else>
|
|
|
- <span>每日上午、下午各推送一次</span>
|
|
|
+ <span>{{item.a_times ? item.a_times[0] : '每日上午、下午各推送一次'}}</span>
|
|
|
</span>
|
|
|
</div>
|
|
|
- <div @click="editTimeEvent" class="push-time-right">
|
|
|
+ <div @click="editTimeEvent(item)" class="push-time-right">
|
|
|
编辑
|
|
|
</div>
|
|
|
</div>
|
|
@@ -115,7 +115,7 @@
|
|
|
</van-cell-group>
|
|
|
</div>
|
|
|
<van-popup v-model="showPopup" position="bottom" :style="{ height: '57%' }" round get-container="body">
|
|
|
- <PopupLayout title="订阅推送时间设置" @closeIconClick="closePopup">
|
|
|
+ <PopupLayout :title="editTimesFlag === 'o_subset' ? '订阅推送时间设置' : '推送时间设置'" @closeIconClick="closePopup">
|
|
|
<div class="select_push_time" slot="default">
|
|
|
<van-cell-group>
|
|
|
<van-cell :class="item.id === 2 && selectTimeSlot.length !== 0 ? `dayPush ${getHaveLine}` : ''"
|
|
@@ -173,6 +173,7 @@
|
|
|
<p v-if="dparam.showTextP === 3" slot="content">开通超级订阅可选择“实时推送”及时接收公告信息,或根据您的工作需要灵活设置推送时间。</p>
|
|
|
<p v-if="dparam.showTextP === 4" slot="content">系统检测到您同时拥有2个剑鱼标讯账号,<span class="high_info">手机号:{{ accountInfo.phone
|
|
|
}},微信号:{{ accountInfo.name }},</span>请进行账号合并后,再开启微信提醒吧~</p>
|
|
|
+ <p v-if="dparam.showTextP === 5" slot="content">如需根据您的工作需要灵活设置推送时间(例如:按日推送),您可前往开通超级订阅。</p>
|
|
|
</Dialog>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -204,7 +205,7 @@ export default {
|
|
|
pushSetData: {},
|
|
|
getUserData: {},
|
|
|
pushFunction: [
|
|
|
- { id: 0, i_apppush: false, i_mailpush: false, i_wxpush: false, i_nomsgtip: false, param: 'o_subset', title: '我的订阅', label: '根据订阅条件,向您推送相关招投标公告信息。' },
|
|
|
+ { id: 0, i_apppush: false, i_mailpush: false, i_wxpush: false, i_nomsgtip: false, i_ratemode:1, param: 'o_subset', title: '我的订阅', label: '根据订阅条件,向您推送相关招投标公告信息。'},
|
|
|
// { id: 1, i_apppush: false, i_mailpush: false, i_wxpush: false, i_nomsgtip: false, param: 'o_subset', title: '消息', label: '根据订阅条件,向您推送相关招投标公告信息。' },
|
|
|
{
|
|
|
id: 1,
|
|
@@ -223,10 +224,10 @@ export default {
|
|
|
title: '消息',
|
|
|
label: '剑鱼将为您提供精准的消息推送服务'
|
|
|
},
|
|
|
- { id: 2, i_apppush: false, i_mailpush: false, i_wxpush: false, param: 'o_follow_project', title: '项目进度监控', label: '关注项目如有动态变更,将为您推送。' },
|
|
|
- { id: 3, i_apppush: false, i_mailpush: false, i_wxpush: false, param: 'o_follow_ent', title: '企业情报监控-企业中标动态', label: '关注企业一旦中标,会推送企业的中标项目、时间等公告信息。' },
|
|
|
- { id: 4, i_apppush: false, i_mailpush: false, i_wxpush: false, param: 'o_entinfo', title: '企业情报监控-企业工商变动', label: '关注的企业一旦工商情况有变动,将为您推送。' },
|
|
|
- { id: 5, i_apppush: false, i_mailpush: false, i_wxpush: false, param: 'o_newproject_forecast', title: '潜在项目预测', label: '通过大数据和AI智能分析预测到与您有关的潜在项目时,可及时收到提醒信息。' },
|
|
|
+ { id: 2, i_apppush: false, i_mailpush: false, i_wxpush: false, param: 'o_follow_project',i_ratemode:1, title: '项目进度监控', label: '关注项目如有动态变更,将为您推送。' },
|
|
|
+ { id: 3, i_apppush: false, i_mailpush: false, i_wxpush: false, param: 'o_follow_ent', i_ratemode:1, title: '企业情报监控-企业中标动态', label: '关注企业一旦中标,会推送企业的中标项目、时间等公告信息。' },
|
|
|
+ { id: 4, i_apppush: false, i_mailpush: false, i_wxpush: false, param: 'o_entinfo', i_ratemode:1, title: '企业情报监控-企业工商变动', label: '关注的企业一旦工商情况有变动,将为您推送。' },
|
|
|
+ { id: 5, i_apppush: false, i_mailpush: false, i_wxpush: false, param: 'o_newproject_forecast', i_ratemode:1, title: '潜在项目预测', label: '通过大数据和AI智能分析预测到与您有关的潜在项目时,可及时收到提醒信息。' },
|
|
|
{ id: 6, i_apppush: false, i_mailpush: false, i_wxpush: false, param: 'o_week_report', title: '周报', label: '根据为您推送的招标项目信息,提供每周多维度分析报告。' },
|
|
|
{ id: 7, i_apppush: false, i_mailpush: false, i_wxpush: false, param: 'o_month_report', title: '月报', label: '根据为您推送的招标项目信息,提供每月多维度分析报告。' }
|
|
|
],
|
|
@@ -237,7 +238,6 @@ export default {
|
|
|
{ id: 4, title: '每月推送', active: false }
|
|
|
],
|
|
|
timeList: [],
|
|
|
- selectTimeSlot: [], // 每日推送选择的时间段
|
|
|
mailWay: {
|
|
|
isFollow: false,
|
|
|
mailDialog: false,
|
|
@@ -264,26 +264,60 @@ export default {
|
|
|
recSwitch: false,
|
|
|
showPopup: false,
|
|
|
showTimeListPopup: false,
|
|
|
- setRateMode: {
|
|
|
- ratemode: 1,
|
|
|
- time: []
|
|
|
- },
|
|
|
- resultTime: {
|
|
|
- ratemodeText: '实时推送',
|
|
|
- times: ''
|
|
|
- },
|
|
|
accountInfo: {
|
|
|
phone: '',
|
|
|
name: ''
|
|
|
},
|
|
|
timer: null,
|
|
|
- thisModule: {}
|
|
|
+ thisModule: {},
|
|
|
+ // 当前编辑推送时间的标识
|
|
|
+ editTimesFlag: 'o_subset',
|
|
|
+ // 可编辑推送时间的type
|
|
|
+ needEditTimesType: ['o_subset', 'o_follow_project', 'o_follow_ent', 'o_entinfo', 'o_newproject_forecast'],
|
|
|
+ editResultTime: {
|
|
|
+ o_subset: {
|
|
|
+ ratemodeText: '实时推送',
|
|
|
+ times: '',
|
|
|
+ selectTimeSlot: [], // 每日推送选择的时间段
|
|
|
+ ratemode: 1, // 当前选择的推送时间类型
|
|
|
+ },
|
|
|
+ o_follow_project: {
|
|
|
+ ratemodeText: '实时推送',
|
|
|
+ times: '',
|
|
|
+ selectTimeSlot: [], // 每日推送选择的时间段
|
|
|
+ ratemode: 1, // 当前选择的推送时间类型
|
|
|
+ },
|
|
|
+ o_follow_ent: {
|
|
|
+ ratemodeText: '实时推送',
|
|
|
+ times: '',
|
|
|
+ selectTimeSlot: [], // 每日推送选择的时间段
|
|
|
+ ratemode: 1, // 当前选择的推送时间类型
|
|
|
+ },
|
|
|
+ o_entinfo: {
|
|
|
+ ratemodeText: '实时推送',
|
|
|
+ times: '',
|
|
|
+ selectTimeSlot: [], // 每日推送选择的时间段
|
|
|
+ ratemode: 1, // 当前选择的推送时间类型
|
|
|
+ },
|
|
|
+ o_newproject_forecast: {
|
|
|
+ ratemodeText: '实时推送',
|
|
|
+ times: '',
|
|
|
+ selectTimeSlot: [], // 每日推送选择的时间段
|
|
|
+ ratemode: 1, // 当前选择的推送时间类型
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
...mapState('user', [
|
|
|
'power'
|
|
|
]),
|
|
|
+ selectTimeSlot () {
|
|
|
+ return this.editResultTime[this.editTimesFlag]?.selectTimeSlot || []
|
|
|
+ },
|
|
|
+ ratemode () {
|
|
|
+ return this.editResultTime[this.editTimesFlag]?.ratemode || 1
|
|
|
+ },
|
|
|
// 判断每日推送高度
|
|
|
getHaveLine () {
|
|
|
let num = parseInt(this.selectTimeSlot.length / 3)
|
|
@@ -294,24 +328,13 @@ export default {
|
|
|
return 'line_' + num
|
|
|
},
|
|
|
isShowBtn () {
|
|
|
- return this.selectTimeSlot.length === 0
|
|
|
+ return this.editResultTime[this.editTimesFlag]?.selectTimeSlot.length === 0
|
|
|
},
|
|
|
showApp () {
|
|
|
return this.$env.platform === 'app'
|
|
|
}
|
|
|
},
|
|
|
- watch: {
|
|
|
- selectTimeSlot (newval) {
|
|
|
- this.timeList.forEach((item, index) => {
|
|
|
- item.active = false
|
|
|
- newval.forEach((v, i) => {
|
|
|
- if (v === item.time) {
|
|
|
- item.active = !item.active
|
|
|
- }
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
+ watch: {},
|
|
|
created () {
|
|
|
for (let i = 0; i < 24; i++) {
|
|
|
this.timeList.push({
|
|
@@ -364,22 +387,27 @@ export default {
|
|
|
},
|
|
|
// 设置推送时间
|
|
|
setPushTime (data) {
|
|
|
- const arr = this.pushCycle
|
|
|
- this.setRateMode.ratemode = data.id
|
|
|
- arr.forEach((item, i) => {
|
|
|
+ this.editResultTime[this.editTimesFlag].ratemode = data.id
|
|
|
+ this.pushCycle.forEach((item, i) => {
|
|
|
item.id === data.id ? item.active = true : item.active = false
|
|
|
})
|
|
|
- this.pushCycle = arr
|
|
|
if (data.id === 2) {
|
|
|
if (this.selectTimeSlot.length === 0) {
|
|
|
- this.selectTimeSlot.push(9, 14)
|
|
|
+ this.editResultTime[this.editTimesFlag].selectTimeSlot.push(9, 14)
|
|
|
}
|
|
|
+ this.timeList.forEach((item, index) => {
|
|
|
+ item.active = false
|
|
|
+ if(this.selectTimeSlot.indexOf(item.time) > -1) {
|
|
|
+ item.active = true
|
|
|
+ }
|
|
|
+ })
|
|
|
this.showPopup = false
|
|
|
this.showTimeListPopup = true
|
|
|
}
|
|
|
},
|
|
|
// 每日推送选择时间段
|
|
|
setTimeSlot (data) {
|
|
|
+ let selectTimeSlot = this.editResultTime[this.editTimesFlag].selectTimeSlot
|
|
|
this.timeList.forEach((item, i) => {
|
|
|
if (item.time === data.time) {
|
|
|
item.active = !item.active
|
|
@@ -388,25 +416,26 @@ export default {
|
|
|
this.$toast('最多添加10个')
|
|
|
item.active = !item.active
|
|
|
} else {
|
|
|
- this.selectTimeSlot.push(item.time)
|
|
|
+ selectTimeSlot.push(item.time)
|
|
|
}
|
|
|
} else {
|
|
|
if (this.selectTimeSlot.length <= 1) {
|
|
|
this.$toast('请至少保留1个推送时间')
|
|
|
item.active = !item.active
|
|
|
} else {
|
|
|
- this.selectTimeSlot.forEach((s, index) => {
|
|
|
+ selectTimeSlot.forEach((s, index) => {
|
|
|
if (item.time === s) {
|
|
|
- this.selectTimeSlot.splice(index, 1)
|
|
|
+ selectTimeSlot.splice(index, 1)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
- this.selectTimeSlot = this.selectTimeSlot.sort((a, b) => {
|
|
|
+ selectTimeSlot = selectTimeSlot.sort((a, b) => {
|
|
|
return a - b
|
|
|
})
|
|
|
+ this.editResultTime[this.editTimesFlag].selectTimeSlot = selectTimeSlot
|
|
|
},
|
|
|
// 删除选择的时间段
|
|
|
deleteTimeEvent (data) {
|
|
@@ -414,17 +443,18 @@ export default {
|
|
|
this.$toast('请至少保留1个推送时间')
|
|
|
return
|
|
|
}
|
|
|
- this.selectTimeSlot = this.selectTimeSlot.filter((num, index) => {
|
|
|
+ this.editResultTime[this.editTimesFlag].selectTimeSlot = this.selectTimeSlot.filter((num, index) => {
|
|
|
return data !== num
|
|
|
})
|
|
|
},
|
|
|
setTimeConfirm () {
|
|
|
+ const ratemode = this.editResultTime[this.editTimesFlag].ratemode
|
|
|
const param = {
|
|
|
- item: 'o_subset',
|
|
|
+ item: this.editTimesFlag || 'o_subset',
|
|
|
setType: 'a_times',
|
|
|
- ratemode: this.setRateMode.ratemode
|
|
|
+ ratemode: ratemode
|
|
|
}
|
|
|
- if (this.setRateMode.ratemode === 2) {
|
|
|
+ if (ratemode === 2) {
|
|
|
const timeArr = []
|
|
|
if (this.selectTimeSlot.length !== 0) {
|
|
|
this.selectTimeSlot.forEach(v => {
|
|
@@ -439,8 +469,11 @@ export default {
|
|
|
} else {
|
|
|
this.$delete(param, 'times')
|
|
|
}
|
|
|
- // this.showPopup = false
|
|
|
- this.setPushSetApi(param)
|
|
|
+ this.setPushSetApi(param, (back) => {
|
|
|
+ if(back === 'success') {
|
|
|
+ this.getPushSetApi()
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
setTimeSlotConfirm () {
|
|
|
this.showTimeListPopup = false
|
|
@@ -452,7 +485,7 @@ export default {
|
|
|
setTimeSlotCancel () {
|
|
|
const sub = this.pushSetData.o_subset
|
|
|
if (sub.i_ratemode === 2) {
|
|
|
- this.selectTimeSlot = this.pointChange(sub.a_times)
|
|
|
+ this.editResultTime[this.editTimesFlag].selectTimeSlot = this.pointChange(sub.a_times)
|
|
|
}
|
|
|
this.showTimeListPopup = false
|
|
|
this.showPopup = true
|
|
@@ -465,27 +498,26 @@ export default {
|
|
|
const setPushFun = []
|
|
|
this.pushFunction.forEach((v, i) => {
|
|
|
if (data[v.param]) {
|
|
|
- if (v.param === 'o_subset') {
|
|
|
- v.i_nomsgtip = !!data[v.param].i_nomsgtip
|
|
|
+ // 可编辑推送时间段
|
|
|
+ if (this.needEditTimesType.indexOf(v.param) > -1 && this.editResultTime[v.param]) {
|
|
|
+ if(v.param === 'o_subset') {
|
|
|
+ v.i_nomsgtip = !!data[v.param].i_nomsgtip
|
|
|
+ }
|
|
|
+ v.i_ratemode = data[v.param].i_ratemode
|
|
|
+ v.a_times = data[v.param].a_times
|
|
|
if (data[v.param].i_ratemode === 2) {
|
|
|
if (data[v.param].a_times) {
|
|
|
- this.selectTimeSlot = this.pointChange(data[v.param].a_times)
|
|
|
- this.setPushText(data[v.param].i_ratemode, data[v.param].a_times.join('、'))
|
|
|
+ this.editResultTime[v.param].selectTimeSlot = this.pointChange(data[v.param].a_times)
|
|
|
+ this.setPushText(v.param, data[v.param].i_ratemode, data[v.param].a_times.join('、'))
|
|
|
} else {
|
|
|
- this.selectTimeSlot = this.pointChange(['09:00', '14:00'])
|
|
|
- this.setPushText(data[v.param].i_ratemode, '09:00、14:00')
|
|
|
+ this.editResultTime[v.param].selectTimeSlot = this.pointChange(['09:00', '14:00'])
|
|
|
+ this.setPushText(v.param, data[v.param].i_ratemode, '09:00、14:00')
|
|
|
}
|
|
|
} else {
|
|
|
- this.selectTimeSlot = []
|
|
|
- this.setPushText(data[v.param].i_ratemode)
|
|
|
+ this.editResultTime[v.param].selectTimeSlot = []
|
|
|
+ this.setPushText(v.param, data[v.param].i_ratemode)
|
|
|
}
|
|
|
- this.setRateMode.ratemode = data[v.param].i_ratemode
|
|
|
- this.pushCycle.forEach(item => {
|
|
|
- item.active = false
|
|
|
- if (item.id === data[v.param].i_ratemode) {
|
|
|
- item.active = true
|
|
|
- }
|
|
|
- })
|
|
|
+ this.editResultTime[v.param].ratemode = data[v.param].i_ratemode
|
|
|
}
|
|
|
if (this.getUserData.mail) {
|
|
|
if ($data) {
|
|
@@ -570,18 +602,23 @@ export default {
|
|
|
if (params.setType === 'a_times') {
|
|
|
this.showPopup = false
|
|
|
if (params.ratemode === 2) {
|
|
|
- this.setPushText(params.ratemode, params.times.join('、'))
|
|
|
+ this.setPushText(params.item, params.ratemode, params.times.join('、'))
|
|
|
} else {
|
|
|
- this.setPushText(params.ratemode)
|
|
|
+ this.setPushText(params.item, params.ratemode)
|
|
|
}
|
|
|
this.$toast('设置成功')
|
|
|
} else {
|
|
|
this.$toast(params.pushValue === 1 || params.interested === 1 ? '已开启' : '已关闭')
|
|
|
}
|
|
|
+ try {
|
|
|
+ callback('success')
|
|
|
+ } catch (e) {
|
|
|
+
|
|
|
+ }
|
|
|
} else {
|
|
|
this.$toast(msg)
|
|
|
try {
|
|
|
- callback()
|
|
|
+ callback('fail')
|
|
|
} catch (e) {
|
|
|
|
|
|
}
|
|
@@ -597,23 +634,26 @@ export default {
|
|
|
})
|
|
|
return newArr
|
|
|
},
|
|
|
- setPushText (data, str) {
|
|
|
+ setPushText (type, data, str) {
|
|
|
+ if(!this.editResultTime[type]) {
|
|
|
+ return
|
|
|
+ }
|
|
|
switch (data) {
|
|
|
case 1:
|
|
|
- this.resultTime.ratemodeText = '实时推送'
|
|
|
- this.resultTime.times = ''
|
|
|
+ this.editResultTime[type].ratemodeText = '实时推送'
|
|
|
+ this.editResultTime[type].times = ''
|
|
|
break
|
|
|
case 2:
|
|
|
- this.resultTime.ratemodeText = '每日推送'
|
|
|
- this.resultTime.times = str
|
|
|
+ this.editResultTime[type].ratemodeText = '每日推送'
|
|
|
+ this.editResultTime[type].times = str
|
|
|
break
|
|
|
case 3:
|
|
|
- this.resultTime.ratemodeText = '每周推送'
|
|
|
- this.resultTime.times = ''
|
|
|
+ this.editResultTime[type].ratemodeText = '每周推送'
|
|
|
+ this.editResultTime[type].times = ''
|
|
|
break
|
|
|
case 4:
|
|
|
- this.resultTime.ratemodeText = '每月推送'
|
|
|
- this.resultTime.times = ''
|
|
|
+ this.editResultTime[type].ratemodeText = '每月推送'
|
|
|
+ this.editResultTime[type].times = ''
|
|
|
break
|
|
|
default:
|
|
|
break
|
|
@@ -689,8 +729,10 @@ export default {
|
|
|
pushValue: val ? 1 : 0
|
|
|
}
|
|
|
this.$set(this.pushFunction[index], 'i_nomsgtip', val ? 1 : 0)
|
|
|
- this.setPushSetApi(params, () => { // 修改失败回调
|
|
|
- this_.$set(this_.pushFunction[index], 'i_nomsgtip', !val ? 1 : 0)
|
|
|
+ this.setPushSetApi(params, (back) => { // 修改失败回调
|
|
|
+ if(back === 'fail') {
|
|
|
+ this_.$set(this_.pushFunction[index], 'i_nomsgtip', !val ? 1 : 0)
|
|
|
+ }
|
|
|
})
|
|
|
},
|
|
|
PopupBox () {
|
|
@@ -822,7 +864,7 @@ export default {
|
|
|
this.setWxEvent()
|
|
|
} else if (this.dparam.showTextP === 2) {
|
|
|
this.setAppEvent()
|
|
|
- } else if (this.dparam.showTextP === 3) {
|
|
|
+ } else if (this.dparam.showTextP === 3 || this.dparam.showTextP === 5) {
|
|
|
this.$router.push('/order/create/svip')
|
|
|
} else if (this.dparam.showTextP === 4) {
|
|
|
if (this.$env.platform === 'wx') {
|
|
@@ -859,16 +901,36 @@ export default {
|
|
|
this.showPopup = true
|
|
|
},
|
|
|
// 设置时间
|
|
|
- editTimeEvent () {
|
|
|
- console.log(this.power)
|
|
|
+ editTimeEvent (item) {
|
|
|
+ if(!this.editResultTime[item.param]) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.editTimesFlag = item.param
|
|
|
if (!this.power.isFree) {
|
|
|
+ this.pushCycle.forEach(temp => {
|
|
|
+ temp.active = false
|
|
|
+ if (temp.id === item.i_ratemode) {
|
|
|
+ temp.active = true
|
|
|
+ }
|
|
|
+ })
|
|
|
this.getPushSetApi()
|
|
|
this.showPopup = true
|
|
|
} else {
|
|
|
this.dparam.setTitle = '开通超级订阅'
|
|
|
this.dparam.setDialog = true
|
|
|
this.dparam.confirmButtonText = '去开通'
|
|
|
- this.dparam.showTextP = 3
|
|
|
+ let showTextP = 3
|
|
|
+ switch(item.id) {
|
|
|
+ case 0:
|
|
|
+ case 4:
|
|
|
+ case 5:
|
|
|
+ showTextP = 3
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ case 3:
|
|
|
+ showTextP = 5
|
|
|
+ }
|
|
|
+ this.dparam.showTextP = showTextP
|
|
|
}
|
|
|
}
|
|
|
}
|