|
@@ -1,19 +1,16 @@
|
|
|
-import { reactive, ref, toRefs, computed } from 'vue'
|
|
|
-import { leadGetDate, ajaxSetLeadGetDateRecord } from '@/api/modules/'
|
|
|
+import { computed, reactive, ref } from 'vue'
|
|
|
+import { tryCallHooks } from '@jianyu/easy-inject-qiankun'
|
|
|
+import { difference } from 'lodash'
|
|
|
+import { ajaxSetLeadGetDateRecord, leadGetDate } from '@/api/modules/'
|
|
|
import {
|
|
|
- dateFormatter,
|
|
|
- openSelfLink,
|
|
|
- replaceKeyword,
|
|
|
formatPrice,
|
|
|
+ replaceKeyword
|
|
|
} from '@/utils/'
|
|
|
-import { tryCallHooks } from '@jianyu/easy-inject-qiankun'
|
|
|
-import { difference } from 'lodash'
|
|
|
-
|
|
|
|
|
|
-export function recommendCardModel (modelConfig) {
|
|
|
+export function recommendCardModel(modelConfig) {
|
|
|
const { that } = modelConfig
|
|
|
|
|
|
- const advancedInfo = reactive( {
|
|
|
+ const advancedInfo = reactive({
|
|
|
show: false,
|
|
|
showContent: false,
|
|
|
showDialog: false,
|
|
@@ -34,22 +31,20 @@ export function recommendCardModel (modelConfig) {
|
|
|
|
|
|
const chartCustomData = ref({})
|
|
|
|
|
|
- const chart = reactive( {
|
|
|
- treeMapKey: 1,
|
|
|
- treeMapData: [],
|
|
|
- buyLineKey: 1,
|
|
|
- buyLineData: {},
|
|
|
- winnerLineKey: 1,
|
|
|
- winnerLineData: {}
|
|
|
+ const chart = reactive({
|
|
|
+ treeMapKey: 1,
|
|
|
+ treeMapData: [],
|
|
|
+ buyLineKey: 1,
|
|
|
+ buyLineData: {},
|
|
|
+ winnerLineKey: 1,
|
|
|
+ winnerLineData: {}
|
|
|
})
|
|
|
|
|
|
const nowModuleName = computed(() => {
|
|
|
- if (
|
|
|
- advancedInfo.briefList.length ||
|
|
|
- advancedInfo.projectList.length
|
|
|
- ) {
|
|
|
+ if (advancedInfo.briefList.length || advancedInfo.projectList.length) {
|
|
|
return '超前项目推荐'
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else {
|
|
|
return '市场分析报告'
|
|
|
}
|
|
|
})
|
|
@@ -62,7 +57,8 @@ export function recommendCardModel (modelConfig) {
|
|
|
const getNotModuleDataStatus = computed(() => {
|
|
|
if (nowModuleName.value === '超前项目推荐') {
|
|
|
return !advancedInfo.briefList.length
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else {
|
|
|
return true
|
|
|
}
|
|
|
})
|
|
@@ -85,26 +81,23 @@ export function recommendCardModel (modelConfig) {
|
|
|
dType: 0,
|
|
|
keyWords: keywords
|
|
|
}
|
|
|
- leadGetDate(params).then(res => {
|
|
|
- const { error_code: code = 0, data } = res
|
|
|
+ leadGetDate(params).then((res) => {
|
|
|
+ const { error_code: code = 0, data } = res
|
|
|
if (code === 0 && data && Object.keys(data).length > 0) {
|
|
|
- advancedInfo.briefList = (data?.ahead?.subTypeCount || []).map(
|
|
|
- (v) => {
|
|
|
- v.value = v.doc_count
|
|
|
- return v
|
|
|
- }
|
|
|
- )
|
|
|
+ advancedInfo.briefList = (data?.ahead?.subTypeCount || []).map((v) => {
|
|
|
+ v.value = v.doc_count
|
|
|
+ return v
|
|
|
+ })
|
|
|
|
|
|
advancedInfo.projectList = data?.ahead?.projectTop2 || []
|
|
|
|
|
|
chartCustomData.value = data.custom || {}
|
|
|
|
|
|
if (
|
|
|
- advancedInfo.briefList.length ||
|
|
|
- advancedInfo.projectList.length ||
|
|
|
- Object.keys(chartCustomData.value).length
|
|
|
+ advancedInfo.briefList.length
|
|
|
+ || advancedInfo.projectList.length
|
|
|
+ || Object.keys(chartCustomData.value).length
|
|
|
) {
|
|
|
-
|
|
|
advancedInfo.show = true
|
|
|
advancedInfo.showContent = false
|
|
|
|
|
@@ -131,7 +124,8 @@ export function recommendCardModel (modelConfig) {
|
|
|
})
|
|
|
chart.treeMapData = data
|
|
|
chart.treeMapKey = new Date().getTime()
|
|
|
- } else if (item === 'winner_time_distribution') {
|
|
|
+ }
|
|
|
+ else if (item === 'winner_time_distribution') {
|
|
|
const data = {
|
|
|
columns: ['采购规模分布', '采购总金额占比', '采购单位总数占比'],
|
|
|
rows: []
|
|
@@ -148,12 +142,13 @@ export function recommendCardModel (modelConfig) {
|
|
|
const row = {}
|
|
|
data.columns.forEach((column) => {
|
|
|
if (
|
|
|
- field[column] === 'total_amount' ||
|
|
|
- field[column] === 'total_number'
|
|
|
+ field[column] === 'total_amount'
|
|
|
+ || field[column] === 'total_number'
|
|
|
) {
|
|
|
row[column] = (item[field[column]] * 100).toFixed(2)
|
|
|
total += item[field[column]] - 0
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else {
|
|
|
row[column] = item[field[column]]
|
|
|
}
|
|
|
})
|
|
@@ -165,7 +160,8 @@ export function recommendCardModel (modelConfig) {
|
|
|
chart.buyLineData = data
|
|
|
chart.buyLineKey = new Date().getTime()
|
|
|
}
|
|
|
- } else if (item === 'buyer_time_distribution') {
|
|
|
+ }
|
|
|
+ else if (item === 'buyer_time_distribution') {
|
|
|
const data = {
|
|
|
columns: ['中标规模分布', '中标总金额占比', '中标单位总数占比'],
|
|
|
rows: []
|
|
@@ -182,12 +178,13 @@ export function recommendCardModel (modelConfig) {
|
|
|
const row = {}
|
|
|
data.columns.forEach((column) => {
|
|
|
if (
|
|
|
- field[column] === 'total_amount' ||
|
|
|
- field[column] === 'total_number'
|
|
|
+ field[column] === 'total_amount'
|
|
|
+ || field[column] === 'total_number'
|
|
|
) {
|
|
|
row[column] = (item[field[column]] * 100).toFixed(2)
|
|
|
total += item[field[column]] - 0
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else {
|
|
|
row[column] = item[field[column]]
|
|
|
}
|
|
|
})
|
|
@@ -218,11 +215,13 @@ export function recommendCardModel (modelConfig) {
|
|
|
|
|
|
// 点击感兴趣
|
|
|
function onClickInterested(type) {
|
|
|
- const title = type === 'A' ? '体验超前项目推荐服务!' : '为您量身定制个性化报告!'
|
|
|
+ const title
|
|
|
+ = type === 'A' ? '体验超前项目推荐服务!' : '为您量身定制个性化报告!'
|
|
|
showAdvancedDialog(title)
|
|
|
try {
|
|
|
ajaxSetLeadGetDateRecord({ type })
|
|
|
- } catch (e) {
|
|
|
+ }
|
|
|
+ catch (e) {
|
|
|
console.warn(e)
|
|
|
}
|
|
|
}
|
|
@@ -230,7 +229,8 @@ export function recommendCardModel (modelConfig) {
|
|
|
async function goToReport() {
|
|
|
try {
|
|
|
await ajaxSetLeadGetDateRecord({ type: 'B' })
|
|
|
- } catch (e) {
|
|
|
+ }
|
|
|
+ catch (e) {
|
|
|
console.warn(e)
|
|
|
}
|
|
|
tryCallHooks({
|
|
@@ -254,19 +254,20 @@ export function recommendCardModel (modelConfig) {
|
|
|
function goToContent(item) {
|
|
|
try {
|
|
|
ajaxSetLeadGetDateRecord({ type: 'A' })
|
|
|
- } catch (e) {
|
|
|
+ }
|
|
|
+ catch (e) {
|
|
|
console.warn(e)
|
|
|
}
|
|
|
- let goURL = '/article/content/' + item._id + '.html'
|
|
|
+ let goURL = `/article/content/${item._id}.html`
|
|
|
if (Array.isArray(item.keyWord)) {
|
|
|
- goURL += '?kds=' + encodeURIComponent(item.keyWord.join('+'))
|
|
|
+ goURL += `?kds=${encodeURIComponent(item.keyWord.join('+'))}`
|
|
|
}
|
|
|
window.open(goURL)
|
|
|
}
|
|
|
// 匹配高亮文本信息
|
|
|
function getProjectTitle({ title, keyWord }) {
|
|
|
return replaceKeyword(title, keyWord, [
|
|
|
- '<span class="highlight-text">',
|
|
|
+ '<span class="highlight-text-orange-bd">',
|
|
|
'</span>'
|
|
|
])
|
|
|
}
|