|
@@ -2,64 +2,45 @@
|
|
<div class="j-container search-result-buyer top-radius">
|
|
<div class="j-container search-result-buyer top-radius">
|
|
<div class="j-header">
|
|
<div class="j-header">
|
|
<van-dropdown-menu class="dropdown-menu-arrow" :close-on-click-outside="false" ref="dropdownMenu">
|
|
<van-dropdown-menu class="dropdown-menu-arrow" :close-on-click-outside="false" ref="dropdownMenu">
|
|
- <van-dropdown-item ref="area" title="所在地" :title-class="selected.area ? 'selected' : ''" :lazy-render="false" get-container="body" @opened="openDropDown('area')">
|
|
|
|
|
|
+ <van-dropdown-item ref="area" title="所在地" :title-class="selected.area ? 'selected' : ''" :lazy-render="false"
|
|
|
|
+ get-container="body" @opened="openDropDown('area')">
|
|
<DropdownLayout @cancel="onCancel('area')" @confirm="onConfirm('area')">
|
|
<DropdownLayout @cancel="onCancel('area')" @confirm="onConfirm('area')">
|
|
<AreaCitySidebar ref="areaComponent" slot="main" v-model="cache.area"></AreaCitySidebar>
|
|
<AreaCitySidebar ref="areaComponent" slot="main" v-model="cache.area"></AreaCitySidebar>
|
|
</DropdownLayout>
|
|
</DropdownLayout>
|
|
</van-dropdown-item>
|
|
</van-dropdown-item>
|
|
- <van-dropdown-item ref="buyer" title="采购单位类型" :title-class="selected.buyer ? 'selected' : ''" :lazy-render="false" get-container="body" @opened="openDropDown('buyer')">
|
|
|
|
|
|
+ <van-dropdown-item ref="buyer" title="采购单位类型" :title-class="selected.buyer ? 'selected' : ''" :lazy-render="false"
|
|
|
|
+ get-container="body" @opened="openDropDown('buyer')">
|
|
<DropdownLayout @cancel="onCancel('buyer')" @confirm="onConfirm('buyer')">
|
|
<DropdownLayout @cancel="onCancel('buyer')" @confirm="onConfirm('buyer')">
|
|
<BuyerClassSidebar ref="buyerComponent" slot="main" v-model="cache.buyer"></BuyerClassSidebar>
|
|
<BuyerClassSidebar ref="buyerComponent" slot="main" v-model="cache.buyer"></BuyerClassSidebar>
|
|
</DropdownLayout>
|
|
</DropdownLayout>
|
|
</van-dropdown-item>
|
|
</van-dropdown-item>
|
|
- <van-dropdown-item
|
|
|
|
- ref="isContact"
|
|
|
|
- :title-class="selected.isContact ? 'selected' : ''"
|
|
|
|
- title="采购单位联系方式"
|
|
|
|
- get-container="body"
|
|
|
|
- @opened="openDropDown('isContact')">
|
|
|
|
- <ScopeSelector
|
|
|
|
- v-model="cache.isContact"
|
|
|
|
- :options="isContactOptions"
|
|
|
|
- :default-val="[0]"
|
|
|
|
- :multiple="false"
|
|
|
|
- ref="isContactComponent"
|
|
|
|
- checkedIcon="duihao"
|
|
|
|
- defaultIcon=""
|
|
|
|
- @change="isContactChange">
|
|
|
|
- </ScopeSelector>
|
|
|
|
|
|
+ <van-dropdown-item ref="isContact" :title-class="selected.isContact ? 'selected' : ''" title="采购单位联系方式"
|
|
|
|
+ get-container="body" @opened="openDropDown('isContact')">
|
|
|
|
+ <ScopeSelector v-model="cache.isContact" :options="isContactOptions" :default-val="[0]" :multiple="false"
|
|
|
|
+ ref="isContactComponent" checkedIcon="duihao" defaultIcon="" @change="isContactChange">
|
|
|
|
+ </ScopeSelector>
|
|
</van-dropdown-item>
|
|
</van-dropdown-item>
|
|
</van-dropdown-menu>
|
|
</van-dropdown-menu>
|
|
</div>
|
|
</div>
|
|
<div class="j-main" ref="list">
|
|
<div class="j-main" ref="list">
|
|
- <van-list v-model="listInfo.loading" :finished="listInfo.finished" :finished-text="''" @load="onLoad()">
|
|
|
|
- <buyer-cell
|
|
|
|
- style="margin-bottom:8px;"
|
|
|
|
- ref="buyerCell"
|
|
|
|
- v-for="(item,index) in getBuyerList"
|
|
|
|
- :key="item.entId"
|
|
|
|
- :title="item.title"
|
|
|
|
- :tags="item.tags"
|
|
|
|
- :isFollow="item.isFollow"
|
|
|
|
- :isClaim="item.isClaim"
|
|
|
|
- tagKeyColor="#9B9CA3"
|
|
|
|
- :showClaimAction="showClaimAction"
|
|
|
|
- :showAttentionAction="showAttentionAction"
|
|
|
|
- :action-split-line="true"
|
|
|
|
- claimText="认领客户"
|
|
|
|
- @cellClick="onClickList(item)"
|
|
|
|
- @action-left="onClickFollow(item, index)"
|
|
|
|
- @action-right="onClickClaim(item, index)"
|
|
|
|
- >
|
|
|
|
|
|
+ <van-list v-model="listInfo.loading" :finished="listInfo.finished" :finished-text="''" @load="onLoad()">
|
|
|
|
+ <buyer-cell style="margin-bottom:8px;" ref="buyerCell" v-for="(item, index) in getBuyerList" :key="item.entId"
|
|
|
|
+ :title="item.title" :tags="item.tags" :isFollow="item.isFollow" :isClaim="item.isClaim" tagKeyColor="#9B9CA3"
|
|
|
|
+ :showClaimAction="showClaimAction" :showAttentionAction="showAttentionAction" :action-split-line="true"
|
|
|
|
+ claimText="认领客户" checkedFollowIcon="yijiankong" followIcon="jiankong" checkedFollowText="已监控" followText="监控"
|
|
|
|
+ @cellClick="onClickList(item)" @action-left="onClickFollow(item, index)"
|
|
|
|
+ @action-right="onClickClaim(item, index)">
|
|
<template v-slot:custom-icon="option">
|
|
<template v-slot:custom-icon="option">
|
|
<div class="ent-info-head">{{ option.title ? getShortName(option.title) : '' }}</div>
|
|
<div class="ent-info-head">{{ option.title ? getShortName(option.title) : '' }}</div>
|
|
</template>
|
|
</template>
|
|
</buyer-cell>
|
|
</buyer-cell>
|
|
</van-list>
|
|
</van-list>
|
|
- <AppEmpty v-if="listInfo.buyerList && listInfo.buyerList.length === 0 && !listInfo.loading" class="empty-container">未搜索到符合条件的采购单位</AppEmpty>
|
|
|
|
|
|
+ <AppEmpty v-if="listInfo.buyerList && listInfo.buyerList.length === 0 && !listInfo.loading" class="empty-container">
|
|
|
|
+ 未搜索到符合条件的采购单位</AppEmpty>
|
|
</div>
|
|
</div>
|
|
<div v-if="openKeepDialog">
|
|
<div v-if="openKeepDialog">
|
|
- <KeepLabel ref="keepLabel" :getLabelAction="onGetLabelAction" :addLabelAction="onAddLabelAction" @submit="onSubmitKeepLabel"></KeepLabel>
|
|
|
|
|
|
+ <KeepLabel ref="keepLabel" :getLabelAction="onGetLabelAction" :addLabelAction="onAddLabelAction"
|
|
|
|
+ @submit="onSubmitKeepLabel"></KeepLabel>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -98,11 +79,11 @@ export default {
|
|
},
|
|
},
|
|
inject: {
|
|
inject: {
|
|
topSearch: {
|
|
topSearch: {
|
|
- default: () => {}
|
|
|
|
|
|
+ default: () => { }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mixins: [setPageTdk],
|
|
mixins: [setPageTdk],
|
|
- data () {
|
|
|
|
|
|
+ data() {
|
|
return {
|
|
return {
|
|
maxHeight: 0,
|
|
maxHeight: 0,
|
|
/**
|
|
/**
|
|
@@ -159,18 +140,19 @@ export default {
|
|
'isNewBusiness',
|
|
'isNewBusiness',
|
|
'isLogin',
|
|
'isLogin',
|
|
'isMember',
|
|
'isMember',
|
|
- 'isEntService'
|
|
|
|
|
|
+ 'isEntService',
|
|
|
|
+ 'isFree'
|
|
]),
|
|
]),
|
|
// 是否有认领操作(新商机管理或者商机管理服务)
|
|
// 是否有认领操作(新商机管理或者商机管理服务)
|
|
- showClaimAction () {
|
|
|
|
- return (this.isNewBusiness || this.isEntService) && Boolean(this.isLogin)
|
|
|
|
|
|
+ showClaimAction() {
|
|
|
|
+ return (this.isNewBusiness || this.isEntService) && Boolean(this.isLogin) && !this.$envs.inWX
|
|
},
|
|
},
|
|
- // 是否有关注操作(大会员或者新商机管理)
|
|
|
|
- showAttentionAction () {
|
|
|
|
- return (this.isMember || this.isNewBusiness) && Boolean(this.isLogin)
|
|
|
|
|
|
+ // 是否有监控操作
|
|
|
|
+ showAttentionAction() {
|
|
|
|
+ return Boolean(this.isLogin)
|
|
},
|
|
},
|
|
// 采购单位单元格数据处理
|
|
// 采购单位单元格数据处理
|
|
- getBuyerList () {
|
|
|
|
|
|
+ getBuyerList() {
|
|
const list = JSON.parse(JSON.stringify(this.listInfo.buyerList))
|
|
const list = JSON.parse(JSON.stringify(this.listInfo.buyerList))
|
|
const arr = list.map(v => {
|
|
const arr = list.map(v => {
|
|
if (v.province && v.city && v.province.indexOf(v.city) > -1) {
|
|
if (v.province && v.city && v.province.indexOf(v.city) > -1) {
|
|
@@ -200,7 +182,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
- 'topSearch.input' (val, oldVal) {
|
|
|
|
|
|
+ 'topSearch.input'(val, oldVal) {
|
|
if (oldVal && oldVal.length === 1 && !val) {
|
|
if (oldVal && oldVal.length === 1 && !val) {
|
|
this.clear()
|
|
this.clear()
|
|
} else {
|
|
} else {
|
|
@@ -209,16 +191,16 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- async beforeRouteLeave (to, from, next) {
|
|
|
|
|
|
+ async beforeRouteLeave(to, from, next) {
|
|
await this.closeDropDown()
|
|
await this.closeDropDown()
|
|
next()
|
|
next()
|
|
},
|
|
},
|
|
- created () {
|
|
|
|
|
|
+ created() {
|
|
if (this.$store.state.direction !== 'forward') {
|
|
if (this.$store.state.direction !== 'forward') {
|
|
this.doRecovery()
|
|
this.doRecovery()
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- mounted () {
|
|
|
|
|
|
+ mounted() {
|
|
this.setPageTdk(this.topSearch?.input)
|
|
this.setPageTdk(this.topSearch?.input)
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
@@ -226,7 +208,7 @@ export default {
|
|
'setHistory'
|
|
'setHistory'
|
|
]),
|
|
]),
|
|
getShortName,
|
|
getShortName,
|
|
- closeDropDown () {
|
|
|
|
|
|
+ closeDropDown() {
|
|
return new Promise(resolve => {
|
|
return new Promise(resolve => {
|
|
const refArr = ['area', 'buyer', 'isContact']
|
|
const refArr = ['area', 'buyer', 'isContact']
|
|
refArr.forEach(v => {
|
|
refArr.forEach(v => {
|
|
@@ -235,14 +217,14 @@ export default {
|
|
setTimeout(resolve, 301)
|
|
setTimeout(resolve, 301)
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- clear () {
|
|
|
|
|
|
+ clear() {
|
|
this.$router.back()
|
|
this.$router.back()
|
|
},
|
|
},
|
|
- submit () {
|
|
|
|
|
|
+ submit() {
|
|
this.initSearch()
|
|
this.initSearch()
|
|
this.setPageTdk(this.topSearch?.input)
|
|
this.setPageTdk(this.topSearch?.input)
|
|
},
|
|
},
|
|
- initSearch () {
|
|
|
|
|
|
+ initSearch() {
|
|
// if (this.listInfo.loading) {
|
|
// if (this.listInfo.loading) {
|
|
// return
|
|
// return
|
|
// }
|
|
// }
|
|
@@ -251,10 +233,10 @@ export default {
|
|
this.totalPage = 1
|
|
this.totalPage = 1
|
|
this.onLoad(0)
|
|
this.onLoad(0)
|
|
},
|
|
},
|
|
- toggle (index) {
|
|
|
|
|
|
+ toggle(index) {
|
|
this.$refs.checkboxes[index].toggle()
|
|
this.$refs.checkboxes[index].toggle()
|
|
},
|
|
},
|
|
- doSave () {
|
|
|
|
|
|
+ doSave() {
|
|
this.$storage.set(this.$route.path, {
|
|
this.$storage.set(this.$route.path, {
|
|
cache: this.cache,
|
|
cache: this.cache,
|
|
listInfo: this.listInfo,
|
|
listInfo: this.listInfo,
|
|
@@ -262,7 +244,7 @@ export default {
|
|
scrollTop: this.$refs.list?.scrollTop
|
|
scrollTop: this.$refs.list?.scrollTop
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- doRecovery () {
|
|
|
|
|
|
+ doRecovery() {
|
|
const storage = this.$storage.get(this.$route.path, false)
|
|
const storage = this.$storage.get(this.$route.path, false)
|
|
if (storage) {
|
|
if (storage) {
|
|
// console.log('从缓存中读取到数据', storage)
|
|
// console.log('从缓存中读取到数据', storage)
|
|
@@ -288,7 +270,7 @@ export default {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- onLoad (currentPage) {
|
|
|
|
|
|
+ onLoad(currentPage) {
|
|
if (currentPage === 0) this.conf.pageNum = 0
|
|
if (currentPage === 0) this.conf.pageNum = 0
|
|
if (this.conf.pageNum < this.totalPage) {
|
|
if (this.conf.pageNum < this.totalPage) {
|
|
this.conf.pageNum++
|
|
this.conf.pageNum++
|
|
@@ -296,7 +278,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 获取采购单位列表
|
|
// 获取采购单位列表
|
|
- async getList () {
|
|
|
|
|
|
+ async getList() {
|
|
try {
|
|
try {
|
|
this.listInfo.loading = true
|
|
this.listInfo.loading = true
|
|
const { error_code: code, data } = await getManageBuyerList(this.conf)
|
|
const { error_code: code, data } = await getManageBuyerList(this.conf)
|
|
@@ -322,7 +304,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 根据采购单位获取补充数据信息
|
|
// 根据采购单位获取补充数据信息
|
|
- async getSupplyInfo () {
|
|
|
|
|
|
+ async getSupplyInfo() {
|
|
try {
|
|
try {
|
|
if (this.listInfo.buyerList?.length > 0) {
|
|
if (this.listInfo.buyerList?.length > 0) {
|
|
const { pageNum, pageSize } = this.conf
|
|
const { pageNum, pageSize } = this.conf
|
|
@@ -345,7 +327,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 获取认领标签
|
|
// 获取认领标签
|
|
- async onGetLabelAction () {
|
|
|
|
|
|
+ async onGetLabelAction() {
|
|
const { error_code: code, data } = await ajaxGetUserKeepLabel().catch(e => {
|
|
const { error_code: code, data } = await ajaxGetUserKeepLabel().catch(e => {
|
|
return []
|
|
return []
|
|
})
|
|
})
|
|
@@ -360,7 +342,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 添加认领标签
|
|
// 添加认领标签
|
|
- async onAddLabelAction (item, action) {
|
|
|
|
|
|
+ async onAddLabelAction(item, action) {
|
|
const { error_code: code, data } = await ajaxEntNicheKeepLabel({
|
|
const { error_code: code, data } = await ajaxEntNicheKeepLabel({
|
|
name: item.label
|
|
name: item.label
|
|
}).catch(e => {
|
|
}).catch(e => {
|
|
@@ -378,7 +360,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 提交认领标签
|
|
// 提交认领标签
|
|
- async onSubmitKeepLabel ({ keys, options, complete }) {
|
|
|
|
|
|
+ async onSubmitKeepLabel({ keys, options, complete }) {
|
|
const params = {
|
|
const params = {
|
|
label: keys.join(','),
|
|
label: keys.join(','),
|
|
mold: 1,
|
|
mold: 1,
|
|
@@ -404,7 +386,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 查看当前点击的客户认领状态=>已认领返回一个对象,未认领返回空
|
|
// 查看当前点击的客户认领状态=>已认领返回一个对象,未认领返回空
|
|
- async getClaimCustomList (name) {
|
|
|
|
|
|
+ async getClaimCustomList(name) {
|
|
let temp = ''
|
|
let temp = ''
|
|
const params = {
|
|
const params = {
|
|
entId: '',
|
|
entId: '',
|
|
@@ -424,50 +406,153 @@ export default {
|
|
}
|
|
}
|
|
return temp
|
|
return temp
|
|
},
|
|
},
|
|
- // 关注
|
|
|
|
- async onClickFollow (item, index) {
|
|
|
|
|
|
+ // 监控
|
|
|
|
+ onClickFollow(item, index) {
|
|
console.log(item)
|
|
console.log(item)
|
|
- // 大会员
|
|
|
|
- if (this.isMember) {
|
|
|
|
- const params = {
|
|
|
|
- name: item.title,
|
|
|
|
- province: item.province,
|
|
|
|
- city: item.city,
|
|
|
|
- b: item.isFollow
|
|
|
|
|
|
+ //
|
|
|
|
+ if (!this.isFree) {
|
|
|
|
+ if (!item.isFollow) {
|
|
|
|
+ this.FollowAndClaimAjax(item,index)
|
|
|
|
+ } else {
|
|
|
|
+ this.$dialog({
|
|
|
|
+ width: 303,
|
|
|
|
+ className: 'monitor-dialog',
|
|
|
|
+ title: '确定不再监控?',
|
|
|
|
+ message: '取消监控,将错过业主最新动态推送',
|
|
|
|
+ messageAlign: 'center',
|
|
|
|
+ confirmButtonText: '确认取消',
|
|
|
|
+ // confirmButtonColor: '#2ABED1',
|
|
|
|
+ showConfirmButton: true,
|
|
|
|
+ showCancelButton: true,
|
|
|
|
+ cancelButtonText: '我再想想',
|
|
|
|
+ cancelButtonColor: '#2ABED1'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ this.FollowAndClaimAjax(item,index)
|
|
|
|
+ }).catch(() =>{})
|
|
}
|
|
}
|
|
- const { data } = await bigmemberFollowAndClaim(params)
|
|
|
|
- if (data) {
|
|
|
|
- this.$toast('操作成功')
|
|
|
|
- item.isFollow = !item.isFollow
|
|
|
|
- this.$refs.buyerCell[index]?.setFollow(item.isFollow)
|
|
|
|
- this.listInfo.buyerList.forEach(v => {
|
|
|
|
- if (v.buyer === item.title) {
|
|
|
|
- v.isFollowed = item.isFollow
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ } else {
|
|
|
|
+ if (item.isFollow) {
|
|
|
|
+ return
|
|
}
|
|
}
|
|
- } else if (this.isNewBusiness || this.isEntService) {
|
|
|
|
- // 新版商机管理
|
|
|
|
- const params = {
|
|
|
|
- name: item.title,
|
|
|
|
- mold: 0,
|
|
|
|
- B: item.isFollow
|
|
|
|
|
|
+ let href_
|
|
|
|
+ if (this.$envs.inWX) {
|
|
|
|
+ href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_buyer_monitor_freeuser'
|
|
|
|
+ } else if (this.$envs.inApp) {
|
|
|
|
+ href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_buyer_monitor_freeuser'
|
|
|
|
+ } else if (this.$envs.inH5) {
|
|
|
|
+ href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=h5_buyer_monitor_freeuser'
|
|
}
|
|
}
|
|
- const { data } = await ajaxFollowAndClaim(params)
|
|
|
|
- if (data) {
|
|
|
|
- this.$toast('操作成功')
|
|
|
|
- item.isFollow = !item.isFollow
|
|
|
|
- this.$refs.buyerCell[index]?.setFollow(item.isFollow)
|
|
|
|
- this.listInfo.buyerList.forEach(v => {
|
|
|
|
- if (v.buyer === item.title) {
|
|
|
|
- v.isFollowed = item.isFollow
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ window.location.href = href_
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ async FollowAndClaimAjax(item,index) {
|
|
|
|
+ const params = {
|
|
|
|
+ name: item.title,
|
|
|
|
+ province: item.province,
|
|
|
|
+ city: item.city,
|
|
|
|
+ b: item.isFollow
|
|
|
|
+ }
|
|
|
|
+ const { data } = await bigmemberFollowAndClaim(params)
|
|
|
|
+ if (!item.isFollow) {
|
|
|
|
+ this.noMonitor(data)
|
|
|
|
+ }else{
|
|
|
|
+ this.$toast('取消成功')
|
|
|
|
+ }
|
|
|
|
+ if (data.status) {
|
|
|
|
+ // this.$toast('操作成功')
|
|
|
|
+ item.isFollow = !item.isFollow
|
|
|
|
+ this.$refs.buyerCell[index]?.setFollow(item.isFollow)
|
|
|
|
+ this.listInfo.buyerList.forEach(v => {
|
|
|
|
+ if (v.buyer === item.title) {
|
|
|
|
+ v.isFollowed = item.isFollow
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ noMonitor(data) {
|
|
|
|
+ if(JyObj.checkNoticePermission() !== 1 && this.$envs.inApp && data.status){
|
|
|
|
+ this.$dialog({
|
|
|
|
+ width: 303,
|
|
|
|
+ className: 'monitor-dialog',
|
|
|
|
+ title: '监控成功',
|
|
|
|
+ message: '您可前往“工作台-商机-业主监控”查看业主最新招标动态。为保证您能及时获取新增监控信息推送,请前往开启推送提醒。',
|
|
|
|
+ messageAlign: 'center',
|
|
|
|
+ confirmButtonText: '去开启',
|
|
|
|
+ confirmButtonColor: '#2ABED1',
|
|
|
|
+ showConfirmButton: true,
|
|
|
|
+ showCancelButton: true,
|
|
|
|
+ cancelButtonText: '暂不开启',
|
|
|
|
+ // cancelButtonColor: '#5F5E64'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ // 展开监控菜单 active:3
|
|
|
|
+ window.location.href = location.origin + '/jy_mobile/push/pushsetting?active=3'
|
|
|
|
+ }).catch((e) =>{
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (!data.msg_open && data.status) {
|
|
|
|
+ this.$dialog({
|
|
|
|
+ width: 303,
|
|
|
|
+ className: 'monitor-dialog',
|
|
|
|
+ title: '监控成功',
|
|
|
|
+ message: '您可前往“工作台-商机-业主监控”查看业主最新招标动态。为保证您能及时获取新增监控信息推送,请前往开启推送提醒。',
|
|
|
|
+ messageAlign: 'center',
|
|
|
|
+ confirmButtonText: '去开启',
|
|
|
|
+ confirmButtonColor: '#2ABED1',
|
|
|
|
+ showConfirmButton: true,
|
|
|
|
+ showCancelButton: true,
|
|
|
|
+ cancelButtonText: '暂不开启',
|
|
|
|
+ // cancelButtonColor: '#5F5E64'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ // 展开监控菜单 active:3
|
|
|
|
+ window.location.href = location.origin + '/jy_mobile/push/pushsetting?active=3'
|
|
|
|
+ }).catch((e) =>{
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ } else if (data.msg_open && data.status) {
|
|
|
|
+ this.$toast({
|
|
|
|
+ duration: 2000,
|
|
|
|
+ message: '监控成功,您可前往“工作台-商机-业主监控”查看'
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ } else if (data.limit_status === 1) {
|
|
|
|
+ let href_
|
|
|
|
+ if (this.$envs.inWX) {
|
|
|
|
+ href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_buyer_monitor_limit'
|
|
|
|
+ } else if (this.$envs.inApp) {
|
|
|
|
+ href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_buyer_monitor_limit'
|
|
|
|
+ } else if (this.$envs.inH5) {
|
|
|
|
+ href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=h5_buyer_monitor_limit'
|
|
}
|
|
}
|
|
|
|
+ window.location.href = href_
|
|
|
|
+ } else if (data.limit_status === 2) {
|
|
|
|
+ this.$dialog({
|
|
|
|
+ width: 303,
|
|
|
|
+ className: 'monitor-dialog',
|
|
|
|
+ title: '监控业主个数已达上限',
|
|
|
|
+ message: '您最多可监控' + data.limit_count + '个业主,可联系客服,申请监控更多业主',
|
|
|
|
+ messageAlign: 'center',
|
|
|
|
+ confirmButtonText: '联系客服',
|
|
|
|
+ confirmButtonColor: '#2ABED1',
|
|
|
|
+ showConfirmButton: true,
|
|
|
|
+ showCancelButton: true,
|
|
|
|
+ cancelButtonText: '返回',
|
|
|
|
+ // cancelButtonColor: '#5F5E64'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ if (this.$envs.inWX) {
|
|
|
|
+ window.location.href = '/big/wx/page/customer'
|
|
|
|
+ } else {
|
|
|
|
+ window.location.href = '/jyapp/free/customer'
|
|
|
|
+ }
|
|
|
|
+ }).catch((e) =>{
|
|
|
|
+
|
|
|
|
+ })
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 认领取消认领操作
|
|
// 认领取消认领操作
|
|
- async onClickClaim (item, index) {
|
|
|
|
|
|
+ async onClickClaim(item, index) {
|
|
// 查询当前点击的项是否有认领id
|
|
// 查询当前点击的项是否有认领id
|
|
const temp = await this.getClaimCustomList(item.title)
|
|
const temp = await this.getClaimCustomList(item.title)
|
|
// 取消认领
|
|
// 取消认领
|
|
@@ -499,7 +584,7 @@ export default {
|
|
this.$refs.buyerCell[index]?.setClaim(item.isClaim)
|
|
this.$refs.buyerCell[index]?.setClaim(item.isClaim)
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- onClickList (item) {
|
|
|
|
|
|
+ onClickList(item) {
|
|
// 历史记录新增
|
|
// 历史记录新增
|
|
this.setHistory({
|
|
this.setHistory({
|
|
type: 'buyer',
|
|
type: 'buyer',
|
|
@@ -514,7 +599,7 @@ export default {
|
|
goLink = `/big/wx/page/unit_portrayal?entName=${encodeURIComponent(item.title)}`
|
|
goLink = `/big/wx/page/unit_portrayal?entName=${encodeURIComponent(item.title)}`
|
|
} else {
|
|
} else {
|
|
// 新商机管理采购单位画像
|
|
// 新商机管理采购单位画像
|
|
- if (this.isNewBusiness) {
|
|
|
|
|
|
+ if (this.isNewBusiness || this.isEntService) {
|
|
goLink = `/jyapp/big/page/client_portrayal?entName=${encodeURIComponent(item.title)}&from=client`
|
|
goLink = `/jyapp/big/page/client_portrayal?entName=${encodeURIComponent(item.title)}&from=client`
|
|
} else {
|
|
} else {
|
|
goLink = `/jyapp/big/page/unit_portrayal?entName=${encodeURIComponent(item.title)}`
|
|
goLink = `/jyapp/big/page/unit_portrayal?entName=${encodeURIComponent(item.title)}`
|
|
@@ -522,12 +607,12 @@ export default {
|
|
}
|
|
}
|
|
openLinkOfOther(goLink)
|
|
openLinkOfOther(goLink)
|
|
},
|
|
},
|
|
- openDropDown (name) {
|
|
|
|
|
|
+ openDropDown(name) {
|
|
const domTop = this.$refs[name]?.$el?.getBoundingClientRect().top
|
|
const domTop = this.$refs[name]?.$el?.getBoundingClientRect().top
|
|
this.maxHeight = `calc(100vh - ${domTop}px)`
|
|
this.maxHeight = `calc(100vh - ${domTop}px)`
|
|
},
|
|
},
|
|
// 重置操作
|
|
// 重置操作
|
|
- onCancel (name) {
|
|
|
|
|
|
+ onCancel(name) {
|
|
switch (name) {
|
|
switch (name) {
|
|
case 'area': {
|
|
case 'area': {
|
|
this.$refs.areaComponent?.setState()
|
|
this.$refs.areaComponent?.setState()
|
|
@@ -547,7 +632,7 @@ export default {
|
|
this.initSearch()
|
|
this.initSearch()
|
|
},
|
|
},
|
|
// 提交操作
|
|
// 提交操作
|
|
- onConfirm (name) {
|
|
|
|
|
|
+ onConfirm(name) {
|
|
switch (name) {
|
|
switch (name) {
|
|
case 'area': {
|
|
case 'area': {
|
|
const { area } = this.cache
|
|
const { area } = this.cache
|
|
@@ -574,16 +659,16 @@ export default {
|
|
this.initSearch()
|
|
this.initSearch()
|
|
},
|
|
},
|
|
// 采购单位联系方式切换
|
|
// 采购单位联系方式切换
|
|
- isContactChange (val) {
|
|
|
|
|
|
+ isContactChange(val) {
|
|
this.cache.isContact = val.value || []
|
|
this.cache.isContact = val.value || []
|
|
this.onConfirm('isContact')
|
|
this.onConfirm('isContact')
|
|
},
|
|
},
|
|
- onScopeClick () {
|
|
|
|
|
|
+ onScopeClick() {
|
|
this.doSave()
|
|
this.doSave()
|
|
// 微信端未上线商机管理采购单位搜索、暂无地址
|
|
// 微信端未上线商机管理采购单位搜索、暂无地址
|
|
openLinkOfOther('/jyapp/big/page/client_set_scope?header=业务范围')
|
|
openLinkOfOther('/jyapp/big/page/client_set_scope?header=业务范围')
|
|
},
|
|
},
|
|
- formatAreaParams (data) {
|
|
|
|
|
|
+ formatAreaParams(data) {
|
|
if (!data) return
|
|
if (!data) return
|
|
const temp = {}
|
|
const temp = {}
|
|
if (Object.keys(data).length === 0) {
|
|
if (Object.keys(data).length === 0) {
|
|
@@ -604,7 +689,7 @@ export default {
|
|
}
|
|
}
|
|
return temp
|
|
return temp
|
|
},
|
|
},
|
|
- formatBuyerClass (data) {
|
|
|
|
|
|
+ formatBuyerClass(data) {
|
|
if (!data) return
|
|
if (!data) return
|
|
const arr = []
|
|
const arr = []
|
|
for (const key in data) {
|
|
for (const key in data) {
|
|
@@ -621,51 +706,64 @@ export default {
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
-::v-deep{
|
|
|
|
|
|
+::v-deep {
|
|
.more-cell.van-cell {
|
|
.more-cell.van-cell {
|
|
padding: 12px 16px;
|
|
padding: 12px 16px;
|
|
- &::after{
|
|
|
|
|
|
+
|
|
|
|
+ &::after {
|
|
left: 0;
|
|
left: 0;
|
|
right: 0;
|
|
right: 0;
|
|
}
|
|
}
|
|
|
|
+
|
|
.van-cell__title,
|
|
.van-cell__title,
|
|
- .van-cell__value{
|
|
|
|
|
|
+ .van-cell__value {
|
|
font-size: 15px;
|
|
font-size: 15px;
|
|
}
|
|
}
|
|
- .van-cell__title{
|
|
|
|
|
|
+
|
|
|
|
+ .van-cell__title {
|
|
max-width: 120px;
|
|
max-width: 120px;
|
|
white-space: nowrap;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- .customer-content{
|
|
|
|
|
|
+
|
|
|
|
+ .customer-content {
|
|
min-height: 200px;
|
|
min-height: 200px;
|
|
}
|
|
}
|
|
- .check-cell.van-cell{
|
|
|
|
|
|
+
|
|
|
|
+ .check-cell.van-cell {
|
|
padding: 12px 24px;
|
|
padding: 12px 24px;
|
|
- .van-cell__title{
|
|
|
|
|
|
+
|
|
|
|
+ .van-cell__title {
|
|
margin-right: 4px;
|
|
margin-right: 4px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- [class*='van-hairline']::after{
|
|
|
|
|
|
+
|
|
|
|
+ [class*='van-hairline']::after {
|
|
border-color: rgba(0, 0, 0, 0.05);
|
|
border-color: rgba(0, 0, 0, 0.05);
|
|
}
|
|
}
|
|
- .van-dropdown-menu__title.selected{
|
|
|
|
|
|
+
|
|
|
|
+ .van-dropdown-menu__title.selected {
|
|
color: $color_main;
|
|
color: $color_main;
|
|
}
|
|
}
|
|
- .van-dropdown-menu__item{
|
|
|
|
- flex:unset;
|
|
|
|
|
|
+
|
|
|
|
+ .van-dropdown-menu__item {
|
|
|
|
+ flex: unset;
|
|
}
|
|
}
|
|
- .van-dropdown-menu__bar{
|
|
|
|
|
|
+
|
|
|
|
+ .van-dropdown-menu__bar {
|
|
justify-content: space-around;
|
|
justify-content: space-around;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
-.scope-component-group{
|
|
|
|
|
|
+
|
|
|
|
+.scope-component-group {
|
|
overflow-x: hidden;
|
|
overflow-x: hidden;
|
|
}
|
|
}
|
|
|
|
+
|
|
.search-result-buyer {
|
|
.search-result-buyer {
|
|
background-color: $gray_1;
|
|
background-color: $gray_1;
|
|
}
|
|
}
|
|
|
|
+
|
|
.ent-info-head {
|
|
.ent-info-head {
|
|
display: flex;
|
|
display: flex;
|
|
justify-content: center;
|
|
justify-content: center;
|
|
@@ -683,7 +781,8 @@ export default {
|
|
background: $main;
|
|
background: $main;
|
|
opacity: .7;
|
|
opacity: .7;
|
|
}
|
|
}
|
|
-.buyer-split-line{
|
|
|
|
|
|
+
|
|
|
|
+.buyer-split-line {
|
|
margin: 12px 0;
|
|
margin: 12px 0;
|
|
|
|
|
|
}
|
|
}
|