|
@@ -62,7 +62,7 @@
|
|
|
{{ corpItem.name }}
|
|
|
</span>
|
|
|
<span class="corp-time">
|
|
|
- {{ corpItem.createTime }}
|
|
|
+ {{ corpItem.createDay }}
|
|
|
</span>
|
|
|
</div>
|
|
|
</li>
|
|
@@ -80,15 +80,15 @@
|
|
|
draggable="false"
|
|
|
>
|
|
|
<img
|
|
|
- v-show="activeCorpInfo.img"
|
|
|
+ v-show="activeCorpInfo.thumb"
|
|
|
class="banner"
|
|
|
- :src="activeCorpInfo.img"
|
|
|
+ :src="activeCorpInfo.thumb"
|
|
|
alt=""
|
|
|
draggable="false"
|
|
|
>
|
|
|
<div
|
|
|
class="txt"
|
|
|
- v-html="activeCorpInfo.content || ''"
|
|
|
+ v-html="activeCorpInfo.description || ''"
|
|
|
/>
|
|
|
</article>
|
|
|
</div>
|
|
@@ -103,7 +103,6 @@ import {
|
|
|
ref,
|
|
|
} from 'vue'
|
|
|
import deepClone from 'lodash/cloneDeep'
|
|
|
-import corpInfo from '@/assets/mock/general.json'
|
|
|
|
|
|
export default {
|
|
|
name: 'GeneralView',
|
|
@@ -113,41 +112,43 @@ export default {
|
|
|
setup () {
|
|
|
const filterKeyword = ref('')
|
|
|
|
|
|
- const corpListRaw = reactive(corpInfo.data)
|
|
|
- const corpListMap = computed(() => {
|
|
|
- const corpListFiltered = corpListRaw.filter((item) => {
|
|
|
- return !filterKeyword.value || item.name.includes(filterKeyword.value)
|
|
|
+ const corpListRaw = reactive({ value: null })
|
|
|
+ const corpListMap = reactive(new Map())
|
|
|
+ watch(filterKeyword, utils.debounce(async (vNew) => {
|
|
|
+ corpListRaw.value = await api.getGeneralList({
|
|
|
+ searchKey: filterKeyword.value
|
|
|
})
|
|
|
-
|
|
|
- const afterSort = deepClone(corpListFiltered)
|
|
|
- afterSort.sort((a, b) => {
|
|
|
- return Date.parse(a.createTime.substring(0, 4)) - Date.parse(b.createTime.substring(0, 4))
|
|
|
- })
|
|
|
-
|
|
|
- const ret = new Map()
|
|
|
- afterSort.forEach(element => {
|
|
|
+ corpListMap.clear()
|
|
|
+ corpListRaw.value.forEach(element => {
|
|
|
let decade = ''
|
|
|
- if (element.createTime.substring(0, 2) === '18') {
|
|
|
+ if (element.createDay.substring(0, 2) === '18') {
|
|
|
decade = `十九世纪`
|
|
|
- } else if (element.createTime.substring(0, 2) === '19') {
|
|
|
- const decadeValue = element.createTime[2]
|
|
|
+ } else if (element.createDay.substring(0, 2) === '19') {
|
|
|
+ const decadeValue = element.createDay[2]
|
|
|
decade = `上世纪${decadeValue}0年代`
|
|
|
} else {
|
|
|
- const decadeValue = element.createTime[2]
|
|
|
+ const decadeValue = element.createDay[2]
|
|
|
decade = `本世纪${decadeValue}0年代`
|
|
|
}
|
|
|
- if (!ret.get(decade)) {
|
|
|
- ret.set(decade, [])
|
|
|
+ if (!corpListMap.get(decade)) {
|
|
|
+ corpListMap.set(decade, [])
|
|
|
}
|
|
|
- ret.get(decade).push(element)
|
|
|
+ corpListMap.get(decade).push(element)
|
|
|
})
|
|
|
- return ret
|
|
|
+ }, 500, false), {
|
|
|
+ immediate: true,
|
|
|
})
|
|
|
+
|
|
|
const activeCorpId = ref(null)
|
|
|
+ const isShowDesc = ref(true)
|
|
|
const activeCorpInfo = computed(() => {
|
|
|
- return corpListRaw.find((item) => {
|
|
|
- return item.id === activeCorpId.value
|
|
|
- })
|
|
|
+ if (corpListRaw.value) {
|
|
|
+ return corpListRaw.value.find((item) => {
|
|
|
+ return item.id === activeCorpId.value
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ return {}
|
|
|
+ }
|
|
|
})
|
|
|
// 无论是网页里还是unity内部点击了企业,都调用这个
|
|
|
function onClickCorpItem(id) {
|
|
@@ -155,6 +156,7 @@ export default {
|
|
|
gUnityInst.SendMessage('Panel1', 'SetEnterpriseUnSelected', activeCorpId.value) //设置id为1的企业为未选中状态(此id需要是已显示的)
|
|
|
}
|
|
|
gUnityInst.SendMessage('Panel1', 'SetEnterpriseSelected', id) //设置id为1的企业为选中状态(此id需要是已显示的)
|
|
|
+
|
|
|
activeCorpId.value = id
|
|
|
isShowDesc.value = true
|
|
|
|
|
@@ -166,8 +168,6 @@ export default {
|
|
|
}
|
|
|
window.onCorpOnMapClicked = onClickCorpItem
|
|
|
|
|
|
- const isShowDesc = ref(true)
|
|
|
-
|
|
|
return {
|
|
|
filterKeyword,
|
|
|
|