|
@@ -5,123 +5,51 @@
|
|
|
</div>
|
|
|
<div class="w_1700 one" v-else>
|
|
|
<div class="left">
|
|
|
- <div class="titleOne">
|
|
|
- <el-image class="image" :src="left" fit="fill" />
|
|
|
- <div class="title_center">供给信息</div>
|
|
|
- <el-image class="image" :src="right" fit="fill" />
|
|
|
- </div>
|
|
|
- <el-empty v-if="supplytotal == 0" description="暂无数据" />
|
|
|
- <div class="leftOne" v-else>
|
|
|
- <div class="list" v-for="(item, index) in supplyList" :key="index">
|
|
|
- <div class="title">
|
|
|
- {{ item.name || '暂无供给名称' }}
|
|
|
- </div>
|
|
|
- <div class="other_1" v-if="user && user.id">
|
|
|
- <span>技术领域:</span>
|
|
|
- <span class="textOne">{{ item.field || '暂无技术领域' }}</span>
|
|
|
- </div>
|
|
|
- <div class="other_1" v-if="user && user.id">
|
|
|
- <span>所属产业:</span>
|
|
|
- <span class="textOne">{{ item.industry || '暂无所属产业' }}</span>
|
|
|
- </div>
|
|
|
- <div class="other_1" v-if="user && user.id">
|
|
|
- <span>来源:</span>
|
|
|
- <span class="textOne">{{ item.source || '暂无来源' }}</span>
|
|
|
- </div>
|
|
|
- <div class="button">
|
|
|
- <div @click="toView(item, '0')" class="detail1">查看详情</div>
|
|
|
- <div @click="toMate(item, '0')" class="detail2">匹配</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-col :span="24" class="page">
|
|
|
- <el-pagination background layout="prev, pager, next" :total="supplytotal" :page-size="supplylimit" v-model:current-page="currentPageone" @current-change="changePageone" @size-change="sizeChangeone" />
|
|
|
- </el-col>
|
|
|
- </div>
|
|
|
- <div class="titleOne">
|
|
|
- <el-image class="image" :src="left" fit="fill" />
|
|
|
- <div class="title_center">需求信息</div>
|
|
|
- <el-image class="image" :src="right" fit="fill" />
|
|
|
- </div>
|
|
|
- <el-empty v-if="demandtotal == 0" description="暂无数据" />
|
|
|
- <div v-else class="leftOne">
|
|
|
- <div class="list" v-for="(item, index) in demandList" :key="index">
|
|
|
- <div class="title">
|
|
|
- {{ item.name || '暂无需求名称' }}
|
|
|
- </div>
|
|
|
- <div class="other_1" v-if="user && user.id">
|
|
|
- <span>需求企业:</span>
|
|
|
- <span class="textOne">{{ item.company || '暂无需求企业' }}</span>
|
|
|
- </div>
|
|
|
- <div class="other_1" v-if="user && user.id">
|
|
|
- <span>技术领域:</span>
|
|
|
- <span class="textOne">{{ item.field || '暂无技术领域' }}</span>
|
|
|
- </div>
|
|
|
- <div class="other_1" v-if="user && user.id">
|
|
|
- <span>所在地:</span>
|
|
|
- <span class="textOne">{{ getArea(item.area) || '暂无所在地' }}</span>
|
|
|
- </div>
|
|
|
- <div class="other_1" v-if="user && user.id">
|
|
|
- <span>投入预算:</span>
|
|
|
- <span class="textOne">{{ item.money || '面议' }}</span>
|
|
|
- </div>
|
|
|
- <div class="button">
|
|
|
- <div @click="toView(item, '1')" class="detail1">查看详情</div>
|
|
|
- <div @click="toMate(item, '1')" class="detail2">匹配</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-col :span="24" class="page">
|
|
|
- <el-pagination background layout="prev, pager, next" :total="demandtotal" :page-size="demandlimit" v-model:current-page="currentPagetwo" @current-change="changePagetwo" @size-change="sizeChangetwo" />
|
|
|
- </el-col>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="center"></div>
|
|
|
- <div class="right" v-if="oneTotal > 0 || twoTotal > 0">
|
|
|
- <div class="rightOne" v-if="oneTotal > 0">
|
|
|
+ <div class="left_1">
|
|
|
<div class="titleOne">
|
|
|
<el-image class="image" :src="left" fit="fill" />
|
|
|
- <div class="title_center">成果匹配结果</div>
|
|
|
+ <div class="title_center">供给信息</div>
|
|
|
<el-image class="image" :src="right" fit="fill" />
|
|
|
</div>
|
|
|
- <div class="rightContent">
|
|
|
- <div class="list" v-for="(item, index) in oneList" :key="index">
|
|
|
+ <el-empty v-if="supplytotal == 0" description="暂无数据" />
|
|
|
+ <div class="leftOne" v-else>
|
|
|
+ <div class="list" v-for="(item, index) in supplyList" :key="index">
|
|
|
<div class="title">
|
|
|
- {{ item.name || '暂无成果名称' }}
|
|
|
+ {{ item.name || '暂无供给名称' }}
|
|
|
</div>
|
|
|
<div class="other_1" v-if="user && user.id">
|
|
|
<span>技术领域:</span>
|
|
|
<span class="textOne">{{ item.field || '暂无技术领域' }}</span>
|
|
|
</div>
|
|
|
<div class="other_1" v-if="user && user.id">
|
|
|
- <span>负责人:</span>
|
|
|
- <span class="textOne">{{ item.person || '暂无负责人' }}</span>
|
|
|
- </div>
|
|
|
- <div class="other_1" v-if="user && user.id">
|
|
|
- <span>所在地:</span>
|
|
|
- <span class="textOne">{{ getArea(item.area) || '暂无所在地' }}</span>
|
|
|
+ <span>所属产业:</span>
|
|
|
+ <span class="textOne">{{ item.industry || '暂无所属产业' }}</span>
|
|
|
</div>
|
|
|
<div class="other_1" v-if="user && user.id">
|
|
|
- <span>推荐指数:</span>
|
|
|
- <el-rate size="large" v-model="item._recommend" disabled show-score text-color="#ff9900" :score-template="`${item._recommend} 星`" />
|
|
|
+ <span>来源:</span>
|
|
|
+ <span class="textOne">{{ item.source || '暂无来源' }}</span>
|
|
|
</div>
|
|
|
<div class="button">
|
|
|
- <div @click="toView(item, '2')" class="detail1">查看详情</div>
|
|
|
+ <div @click="toView(item, '0')" class="detail1">查看详情</div>
|
|
|
+ <div @click="toMate(item, '0')" class="detail2">匹配</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <el-col :span="24" class="page">
|
|
|
+ <el-pagination background layout="prev, pager, next" :total="supplytotal" :page-size="supplylimit" v-model:current-page="currentPageone" @current-change="changePageone" @size-change="sizeChangeone" />
|
|
|
+ </el-col>
|
|
|
</div>
|
|
|
- <el-col :span="24" class="page">
|
|
|
- <el-pagination background layout="prev, pager, next" :total="oneTotal" :page-size="onelimit" v-model:current-page="onecurrentPage" @current-change="onechangePage" @size-change="onesizeChange" />
|
|
|
- </el-col>
|
|
|
</div>
|
|
|
- <div class="rightOne" v-if="twoTotal > 0 && dataType == '0'">
|
|
|
+ <div class="left_1">
|
|
|
<div class="titleOne">
|
|
|
<el-image class="image" :src="left" fit="fill" />
|
|
|
- <div class="title_center">需求匹配结果</div>
|
|
|
+ <div class="title_center">需求信息</div>
|
|
|
<el-image class="image" :src="right" fit="fill" />
|
|
|
</div>
|
|
|
- <div class="rightContent">
|
|
|
- <div class="list" v-for="(item, index) in twoList" :key="index">
|
|
|
+ <el-empty v-if="demandtotal == 0" description="暂无数据" />
|
|
|
+ <div v-else class="leftOne">
|
|
|
+ <div class="list" v-for="(item, index) in demandList" :key="index">
|
|
|
<div class="title">
|
|
|
- {{ item.name || '暂无供给名称' }}
|
|
|
+ {{ item.name || '暂无需求名称' }}
|
|
|
</div>
|
|
|
<div class="other_1" v-if="user && user.id">
|
|
|
<span>需求企业:</span>
|
|
@@ -139,27 +67,48 @@
|
|
|
<span>投入预算:</span>
|
|
|
<span class="textOne">{{ item.money || '面议' }}</span>
|
|
|
</div>
|
|
|
- <div class="other_1" v-if="user && user.id">
|
|
|
- <span>推荐指数:</span>
|
|
|
- <el-rate size="large" v-model="item._recommend" disabled show-score text-color="#ff9900" :score-template="`${item._recommend} 星`" />
|
|
|
- </div>
|
|
|
<div class="button">
|
|
|
<div @click="toView(item, '1')" class="detail1">查看详情</div>
|
|
|
+ <div @click="toMate(item, '1')" class="detail2">匹配</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <el-col :span="24" class="page">
|
|
|
+ <el-pagination background layout="prev, pager, next" :total="demandtotal" :page-size="demandlimit" v-model:current-page="currentPagetwo" @current-change="changePagetwo" @size-change="sizeChangetwo" />
|
|
|
+ </el-col>
|
|
|
</div>
|
|
|
- <el-col :span="24" class="page">
|
|
|
- <el-pagination background layout="prev, pager, next" :total="twoTotal" :page-size="twolimit" v-model:current-page="twocurrentPage" @current-change="twochangePage" @size-change="twosizeChange" />
|
|
|
- </el-col>
|
|
|
</div>
|
|
|
- <div class="rightOne" v-if="twoTotal > 0 && dataType == '1'">
|
|
|
- <div class="titleOne">
|
|
|
- <el-image class="image" :src="left" fit="fill" />
|
|
|
- <div class="title_center">供给匹配结果</div>
|
|
|
- <el-image class="image" :src="right" fit="fill" />
|
|
|
- </div>
|
|
|
- <div class="rightContent">
|
|
|
- <div class="list" v-for="(item, index) in twoList" :key="index">
|
|
|
+ </div>
|
|
|
+ <div class="center"></div>
|
|
|
+ <div class="right" v-if="total > 0">
|
|
|
+ <div class="titleOne">
|
|
|
+ <el-image class="image" :src="left" fit="fill" />
|
|
|
+ <div class="title_center">匹配结果</div>
|
|
|
+ <el-image class="image" :src="right" fit="fill" />
|
|
|
+ </div>
|
|
|
+ <div class="rightContent">
|
|
|
+ <div class="list" v-for="(item, index) in list" :key="index">
|
|
|
+ <div v-if="item._source == 'achievement'" @click="toView(item, '2')">
|
|
|
+ <div class="title">
|
|
|
+ {{ item.name || '暂无成果名称' }}
|
|
|
+ </div>
|
|
|
+ <div class="other_1" v-if="user && user.id">
|
|
|
+ <span>技术领域:</span>
|
|
|
+ <span class="textOne">{{ item.field || '暂无技术领域' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="other_1" v-if="user && user.id">
|
|
|
+ <span>负责人:</span>
|
|
|
+ <span class="textOne">{{ item.person || '暂无负责人' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="other_1" v-if="user && user.id">
|
|
|
+ <span>所在地:</span>
|
|
|
+ <span class="textOne">{{ getArea(item.area) || '暂无所在地' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="other_1" v-if="user && user.id">
|
|
|
+ <span>推荐指数:</span>
|
|
|
+ <el-rate size="large" v-model="item._recommend" disabled show-score text-color="#ff9900" :score-template="`${item._recommend} 星`" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-if="item._source == 'supply'" @click="toView(item, '0')">
|
|
|
<div class="title">
|
|
|
{{ item.name || '暂无供给名称' }}
|
|
|
</div>
|
|
@@ -179,15 +128,37 @@
|
|
|
<span>推荐指数:</span>
|
|
|
<el-rate size="large" v-model="item._recommend" disabled show-score text-color="#ff9900" :score-template="`${item._recommend} 星`" />
|
|
|
</div>
|
|
|
- <div class="button">
|
|
|
- <div @click="toView(item, '0')" class="detail1">查看详情</div>
|
|
|
+ </div>
|
|
|
+ <div v-if="item._source == 'demand'" @click="toView(item, '1')">
|
|
|
+ <div class="title">
|
|
|
+ {{ item.name || '暂无需求名称' }}
|
|
|
+ </div>
|
|
|
+ <div class="other_1" v-if="user && user.id">
|
|
|
+ <span>需求企业:</span>
|
|
|
+ <span class="textOne">{{ item.company || '暂无需求企业' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="other_1" v-if="user && user.id">
|
|
|
+ <span>技术领域:</span>
|
|
|
+ <span class="textOne">{{ item.field || '暂无技术领域' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="other_1" v-if="user && user.id">
|
|
|
+ <span>所在地:</span>
|
|
|
+ <span class="textOne">{{ getArea(item.area) || '暂无所在地' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="other_1" v-if="user && user.id">
|
|
|
+ <span>投入预算:</span>
|
|
|
+ <span class="textOne">{{ item.money || '面议' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="other_1" v-if="user && user.id">
|
|
|
+ <span>推荐指数:</span>
|
|
|
+ <el-rate size="large" v-model="item._recommend" disabled show-score text-color="#ff9900" :score-template="`${item._recommend} 星`" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-col :span="24" class="page">
|
|
|
- <el-pagination background layout="prev, pager, next" :total="twoTotal" :page-size="twolimit" v-model:current-page="twocurrentPage" @current-change="twochangePage" @size-change="twosizeChange" />
|
|
|
- </el-col>
|
|
|
</div>
|
|
|
+ <el-col :span="24" class="page">
|
|
|
+ <el-pagination background layout="prev, pager, next" :total="total" :page-size="limit" v-model:current-page="currentPage" @current-change="changePage" @size-change="sizeChange" />
|
|
|
+ </el-col>
|
|
|
</div>
|
|
|
<div class="right" v-else>
|
|
|
<div class="titleOne">
|
|
@@ -231,21 +202,16 @@ const demandtotal = ref(0)
|
|
|
const loading = ref(true)
|
|
|
// 路由
|
|
|
const router = useRouter()
|
|
|
-// 推荐的成果
|
|
|
-const oneList = ref([])
|
|
|
-// 推荐的需求或供给
|
|
|
-const twoList = ref([])
|
|
|
-// 类型
|
|
|
-const dataType = ref('0')
|
|
|
const keyword = ref('')
|
|
|
|
|
|
-let oneskip = 0
|
|
|
-let onelimit = 3
|
|
|
-const oneTotal = ref(0)
|
|
|
+// 类型
|
|
|
+const dataType = ref('0')
|
|
|
+// 匹配结果
|
|
|
+const list = ref([])
|
|
|
+let skip = 0
|
|
|
+let limit = 9
|
|
|
+const total = ref(0)
|
|
|
|
|
|
-let twoskip = 0
|
|
|
-let twolimit = 3
|
|
|
-const twoTotal = ref(0)
|
|
|
// 请求
|
|
|
onMounted(async () => {
|
|
|
setTimeout(async () => {
|
|
@@ -254,14 +220,14 @@ onMounted(async () => {
|
|
|
await searchsupply({ supplyskip, supplylimit })
|
|
|
await searchdemand({ demandskip, demandlimit })
|
|
|
loading.value = false
|
|
|
- }, 5000)
|
|
|
+ }, 6000)
|
|
|
})
|
|
|
const searchOther = async () => {}
|
|
|
// 供给信息
|
|
|
const searchsupply = async (query = { supplyskip, supplylimit }) => {
|
|
|
supplyskip = query.supplyskip
|
|
|
supplylimit = query.supplylimit
|
|
|
- const info = { skip: query.supplyskip, limit: query.supplylimit, is_use: '0', status: '1', user: user.value.id }
|
|
|
+ const info = { skip: query.supplyskip, limit: query.supplylimit }
|
|
|
let res = await supplyStore.list(info)
|
|
|
if (res.errcode == '0') {
|
|
|
supplyList.value = res.data
|
|
@@ -273,7 +239,7 @@ const searchsupply = async (query = { supplyskip, supplylimit }) => {
|
|
|
const searchdemand = async (query = { demandskip, demandlimit }) => {
|
|
|
demandskip = query.demandskip
|
|
|
demandlimit = query.demandlimit
|
|
|
- const info = { skip: query.demandskip, limit: query.demandlimit, is_use: '0', status: '1', user: user.value.id }
|
|
|
+ const info = { skip: query.demandskip, limit: query.demandlimit }
|
|
|
let res = await demandStore.list(info)
|
|
|
if (res.errcode == '0') {
|
|
|
demandList.value = res.data
|
|
@@ -293,28 +259,15 @@ const toView = (item, type) => {
|
|
|
else router.push({ path: '/achievement/detail', query: { id: item.id || item._id } })
|
|
|
} else ElMessage({ message: '未登录!', type: 'error' })
|
|
|
}
|
|
|
-const toMate = async (item, type) => {
|
|
|
+const toMate = async (item) => {
|
|
|
loading.value = true
|
|
|
let res
|
|
|
- let arr
|
|
|
- dataType.value = type
|
|
|
keyword.value = item.name
|
|
|
- if (type == '0') {
|
|
|
- // 成果和需求
|
|
|
- arr = await esStore.achievement({ skip: oneskip, limit: onelimit, keyword: item.name })
|
|
|
- res = await esStore.demand({ skip: twoskip, limit: twolimit, keyword: item.name })
|
|
|
- } else {
|
|
|
- // 成果和供给
|
|
|
- arr = await esStore.achievement({ skip: oneskip, limit: onelimit, keyword: item.name })
|
|
|
- res = await esStore.supply({ skip: twoskip, limit: twolimit, keyword: item.name })
|
|
|
- }
|
|
|
- if (arr.errcode == '0') {
|
|
|
- oneList.value = arr.data
|
|
|
- oneTotal.value = arr.total
|
|
|
- }
|
|
|
+ if (dataType.value == '0') res = await esStore.supply({ skip: skip, limit: limit, keyword: item.name })
|
|
|
+ else res = await esStore.demand({ skip: skip, limit: limit, keyword: item.name })
|
|
|
if (res.errcode == '0') {
|
|
|
- twoList.value = res.data
|
|
|
- twoTotal.value = res.total
|
|
|
+ list.value = res.data
|
|
|
+ total.value = res.total
|
|
|
}
|
|
|
loading.value = false
|
|
|
}
|
|
@@ -338,50 +291,29 @@ const sizeChangetwo = (limits) => {
|
|
|
currentPagetwo.value = 1
|
|
|
searchdemand({ demandskip: 0, demandlimit: demandlimit })
|
|
|
}
|
|
|
-const onecurrentPage = ref(1)
|
|
|
-const twocurrentPage = ref(1)
|
|
|
-// 分页
|
|
|
-const onechangePage = (page = onecurrentPage.value) => {
|
|
|
- searchOne({ oneskip: (page - 1) * onelimit, onelimit: onelimit })
|
|
|
-}
|
|
|
-const onesizeChange = (limits) => {
|
|
|
- onelimit = limits
|
|
|
- onecurrentPage.value = 1
|
|
|
- searchOne({ oneskip: 0, onelimit: onelimit })
|
|
|
-}
|
|
|
-// 分页
|
|
|
-const twochangePage = (page = twocurrentPage.value) => {
|
|
|
- searchTwo({ twoskip: (page - 1) * twolimit, twolimit: twolimit })
|
|
|
-}
|
|
|
-const twosizeChange = (limits) => {
|
|
|
- twolimit = limits
|
|
|
- twocurrentPage.value = 1
|
|
|
- searchTwo({ twoskip: 0, twolimit: twolimit })
|
|
|
-}
|
|
|
-// 成果分页查询
|
|
|
-const searchOne = async (query = { oneskip, onelimit }) => {
|
|
|
- oneskip = query.oneskip
|
|
|
- onelimit = query.onelimit
|
|
|
- const info = { skip: query.oneskip, limit: query.onelimit, keyword: keyword.value }
|
|
|
- let res = await esStore.achievement(info)
|
|
|
- if (res.errcode == '0') {
|
|
|
- oneList.value = res.data
|
|
|
- oneTotal.value = res.total
|
|
|
- }
|
|
|
-}
|
|
|
-// 需求或供给分页查询
|
|
|
-const searchTwo = async (query = { twoskip, twolimit }) => {
|
|
|
- twoskip = query.twoskip
|
|
|
- twolimit = query.twolimit
|
|
|
- const info = { skip: query.twoskip, limit: query.twolimit, keyword: keyword.value }
|
|
|
+// 匹配结果
|
|
|
+const search = async (query = { skip, limit }) => {
|
|
|
+ skip = query.skip
|
|
|
+ limit = query.limit
|
|
|
+ const info = { skip: query.skip, limit: query.limit, keyword: keyword.value }
|
|
|
let res
|
|
|
- if (dataType.value == '0') res = await esStore.demand(info)
|
|
|
- else res = await esStore.supply(info)
|
|
|
+ if (dataType.value == '0') res = await esStore.supply(info)
|
|
|
+ else res = await esStore.demand(info)
|
|
|
if (res.errcode == '0') {
|
|
|
- twoList.value = res.data
|
|
|
- twoTotal.value = res.total
|
|
|
+ list.value = res.data
|
|
|
+ total.value = res.total
|
|
|
}
|
|
|
}
|
|
|
+const currentPage = ref(1)
|
|
|
+// 分页
|
|
|
+const changePage = (page = currentPage.value) => {
|
|
|
+ search({ skip: (page - 1) * limit, limit: limit })
|
|
|
+}
|
|
|
+const sizeChange = (limits) => {
|
|
|
+ limit = limits
|
|
|
+ currentPage.value = 1
|
|
|
+ search({ skip: 0, limit: limit })
|
|
|
+}
|
|
|
</script>
|
|
|
<style scoped lang="scss">
|
|
|
.main {
|
|
@@ -391,146 +323,42 @@ const searchTwo = async (query = { twoskip, twolimit }) => {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
- background-color: #03a9f4;
|
|
|
+ background-color: #5f5ff5;
|
|
|
+ .image {
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
}
|
|
|
.one {
|
|
|
display: flex;
|
|
|
.left {
|
|
|
width: 50%;
|
|
|
- .titleOne {
|
|
|
- display: flex;
|
|
|
- align-items: end;
|
|
|
- justify-content: center;
|
|
|
- margin: 30px;
|
|
|
- .image {
|
|
|
- margin: 0 10px;
|
|
|
- vertical-align: middle;
|
|
|
- border-style: none;
|
|
|
- }
|
|
|
- .title_center {
|
|
|
- font-size: $global-font-size-28;
|
|
|
- font-weight: 600;
|
|
|
- }
|
|
|
- }
|
|
|
- .leftOne {
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- flex-wrap: wrap;
|
|
|
+ .left_1 {
|
|
|
margin: 10px 0;
|
|
|
- background-color: $global-color-fff;
|
|
|
- .list {
|
|
|
- padding-bottom: 20px;
|
|
|
- margin: 0 0 20px 0;
|
|
|
- width: 270px;
|
|
|
- font-size: 12px;
|
|
|
- color: #666666;
|
|
|
- border: 1px solid rgb(230, 230, 230);
|
|
|
- .title {
|
|
|
- color: #002147;
|
|
|
- background-color: #c8e0fc;
|
|
|
- width: 100%;
|
|
|
- height: 36px;
|
|
|
- text-align: center;
|
|
|
- line-height: 36px;
|
|
|
- font-family: PingFangSC-Medium;
|
|
|
- font-size: 20px;
|
|
|
- font-weight: 500;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- display: -webkit-box;
|
|
|
- -webkit-line-clamp: 1;
|
|
|
- -webkit-box-orient: vertical;
|
|
|
- margin-bottom: 16px;
|
|
|
- }
|
|
|
- .other_1 {
|
|
|
- margin-bottom: 16px;
|
|
|
- padding: 0 20px;
|
|
|
- display: flex;
|
|
|
- color: #666666;
|
|
|
- font-size: 16px;
|
|
|
- span:first-child {
|
|
|
- max-width: 80px;
|
|
|
- }
|
|
|
- span:last-child {
|
|
|
- max-width: 148px;
|
|
|
- }
|
|
|
+ padding: 20px 0;
|
|
|
+ box-shadow: 0px 1px 9px 0px rgba(50, 122, 244, 0.12);
|
|
|
+ .titleOne {
|
|
|
+ display: flex;
|
|
|
+ align-items: end;
|
|
|
+ justify-content: center;
|
|
|
+ margin: 0 0 30px 0;
|
|
|
+ .image {
|
|
|
+ margin: 0 10px;
|
|
|
+ vertical-align: middle;
|
|
|
+ border-style: none;
|
|
|
}
|
|
|
- .button {
|
|
|
- display: flex;
|
|
|
- margin: 30px 0 0 0;
|
|
|
- .detail1 {
|
|
|
- font-size: 16px;
|
|
|
- display: block;
|
|
|
- margin: 0 auto;
|
|
|
- width: 90px;
|
|
|
- text-align: center;
|
|
|
- line-height: 28px;
|
|
|
- border-radius: 28px;
|
|
|
- color: #2281ee;
|
|
|
- border: 1px solid #2281ee;
|
|
|
- cursor: default;
|
|
|
- }
|
|
|
- .detail2 {
|
|
|
- font-size: 16px;
|
|
|
- display: block;
|
|
|
- margin: 0 auto;
|
|
|
- width: 90px;
|
|
|
- text-align: center;
|
|
|
- line-height: 28px;
|
|
|
- border-radius: 28px;
|
|
|
- color: #2281ee;
|
|
|
- border: 1px solid #2281ee;
|
|
|
- cursor: default;
|
|
|
- }
|
|
|
- .detail1:hover {
|
|
|
- color: #fff;
|
|
|
- background-color: #2281ee;
|
|
|
- }
|
|
|
- .detail2:hover {
|
|
|
- color: #fff;
|
|
|
- background-color: #2281ee;
|
|
|
- }
|
|
|
+ .title_center {
|
|
|
+ font-size: $global-font-size-28;
|
|
|
+ font-weight: 600;
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- .page {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- margin: 20px 0;
|
|
|
- }
|
|
|
- }
|
|
|
- .center {
|
|
|
- margin: 10px;
|
|
|
- border-left: 3px dashed #e5e5e5;
|
|
|
- }
|
|
|
- .right {
|
|
|
- width: 50%;
|
|
|
- .titleOne {
|
|
|
- display: flex;
|
|
|
- align-items: end;
|
|
|
- justify-content: center;
|
|
|
- margin: 30px;
|
|
|
- .image {
|
|
|
- margin: 0 10px;
|
|
|
- vertical-align: middle;
|
|
|
- border-style: none;
|
|
|
- }
|
|
|
- .title_center {
|
|
|
- font-size: $global-font-size-28;
|
|
|
- font-weight: 600;
|
|
|
- }
|
|
|
- }
|
|
|
- .rightOne {
|
|
|
- .rightContent {
|
|
|
+ .leftOne {
|
|
|
display: flex;
|
|
|
- justify-content: space-between;
|
|
|
flex-wrap: wrap;
|
|
|
- margin: 10px 0;
|
|
|
- background-color: $global-color-fff;
|
|
|
+ background-color: #ffffff;
|
|
|
.list {
|
|
|
padding-bottom: 20px;
|
|
|
- margin: 0 0 20px 0;
|
|
|
- width: 270px;
|
|
|
+ margin: 0 10px 20px 0;
|
|
|
+ width: 265px;
|
|
|
font-size: 12px;
|
|
|
color: #666666;
|
|
|
border: 1px solid rgb(230, 230, 230);
|
|
@@ -550,20 +378,18 @@ const searchTwo = async (query = { twoskip, twolimit }) => {
|
|
|
-webkit-line-clamp: 1;
|
|
|
-webkit-box-orient: vertical;
|
|
|
margin-bottom: 16px;
|
|
|
- padding: 0 10px;
|
|
|
}
|
|
|
.other_1 {
|
|
|
- margin-bottom: 10px;
|
|
|
+ margin-bottom: 16px;
|
|
|
padding: 0 20px;
|
|
|
display: flex;
|
|
|
- align-items: center;
|
|
|
color: #666666;
|
|
|
font-size: 16px;
|
|
|
span:first-child {
|
|
|
max-width: 80px;
|
|
|
}
|
|
|
span:last-child {
|
|
|
- max-width: 148px;
|
|
|
+ max-width: 140px;
|
|
|
}
|
|
|
}
|
|
|
.button {
|
|
@@ -581,20 +407,125 @@ const searchTwo = async (query = { twoskip, twolimit }) => {
|
|
|
border: 1px solid #2281ee;
|
|
|
cursor: default;
|
|
|
}
|
|
|
+ .detail2 {
|
|
|
+ font-size: 16px;
|
|
|
+ display: block;
|
|
|
+ margin: 0 auto;
|
|
|
+ width: 90px;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 28px;
|
|
|
+ border-radius: 28px;
|
|
|
+ color: #2281ee;
|
|
|
+ border: 1px solid #2281ee;
|
|
|
+ cursor: default;
|
|
|
+ }
|
|
|
.detail1:hover {
|
|
|
color: #fff;
|
|
|
background-color: #2281ee;
|
|
|
}
|
|
|
+ .detail2:hover {
|
|
|
+ color: #fff;
|
|
|
+ background-color: #2281ee;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ .list:first-child {
|
|
|
+ margin: 0 10px 20px 10px;
|
|
|
+ }
|
|
|
+ .list:nth-child(3n) {
|
|
|
+ margin: 0 0 20px 0 !important;
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
.page {
|
|
|
display: flex;
|
|
|
justify-content: center;
|
|
|
- margin: 20px 0;
|
|
|
+ margin: 20px 0 0 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .left_1:first-child {
|
|
|
+ margin: 20px 0 20px 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .center {
|
|
|
+ margin: 10px;
|
|
|
+ border-left: 3px dashed #e5e5e5;
|
|
|
+ }
|
|
|
+ .right {
|
|
|
+ width: 50%;
|
|
|
+ .titleOne {
|
|
|
+ display: flex;
|
|
|
+ align-items: end;
|
|
|
+ justify-content: center;
|
|
|
+ margin: 30px;
|
|
|
+ .image {
|
|
|
+ margin: 0 10px;
|
|
|
+ vertical-align: middle;
|
|
|
+ border-style: none;
|
|
|
+ }
|
|
|
+ .title_center {
|
|
|
+ font-size: $global-font-size-28;
|
|
|
+ font-weight: 600;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .rightContent {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ margin: 10px 0;
|
|
|
+ background-color: $global-color-fff;
|
|
|
+ .list {
|
|
|
+ margin: 0 10px 20px 0;
|
|
|
+ width: 272px;
|
|
|
+ font-size: 12px;
|
|
|
+ color: #666666;
|
|
|
+ border: 1px solid rgb(230, 230, 230);
|
|
|
+ .title {
|
|
|
+ color: #002147;
|
|
|
+ background-color: #c8e0fc;
|
|
|
+ width: 100%;
|
|
|
+ height: 36px;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 36px;
|
|
|
+ font-family: PingFangSC-Medium;
|
|
|
+ font-size: 20px;
|
|
|
+ font-weight: 500;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ display: -webkit-box;
|
|
|
+ -webkit-line-clamp: 1;
|
|
|
+ -webkit-box-orient: vertical;
|
|
|
+ margin-bottom: 16px;
|
|
|
+ padding: 0 10px;
|
|
|
+ cursor: default;
|
|
|
+ }
|
|
|
+ .title:hover {
|
|
|
+ color: #fff;
|
|
|
+ background-color: #409eff;
|
|
|
+ }
|
|
|
+ .other_1 {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ padding: 0 20px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ color: #666666;
|
|
|
+ font-size: 16px;
|
|
|
+ span:first-child {
|
|
|
+ max-width: 80px;
|
|
|
+ }
|
|
|
+ span:last-child {
|
|
|
+ max-width: 148px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .list:nth-child(3n) {
|
|
|
+ margin: 0 0 20px 0 !important;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .page {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ margin: 10px 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|