|
@@ -23,12 +23,12 @@
|
|
|
</button>
|
|
</button>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="typeList flex-between typeborder">
|
|
<div class="typeList flex-between typeborder">
|
|
|
- <div class="gray font_size14 typeName">平台:</div>
|
|
|
|
|
|
|
+ <div class="gray font_size14 typeName">{{$t('common.platform')}}:</div>
|
|
|
<div class="flex_1 gap10">
|
|
<div class="flex_1 gap10">
|
|
|
<div class="font_size14 typeItem" :class="{'active':searchFom.categoryId1 === ''}"
|
|
<div class="font_size14 typeItem" :class="{'active':searchFom.categoryId1 === ''}"
|
|
|
@click="searchFom.categoryId1 = ''; getList('init');"
|
|
@click="searchFom.categoryId1 = ''; getList('init');"
|
|
|
:key="-1">
|
|
:key="-1">
|
|
|
- 全部
|
|
|
|
|
|
|
+ {{$t('common.all')}}
|
|
|
</div>
|
|
</div>
|
|
|
<div class="font_size14 typeItem" :class="{'active':item.categoryId === searchFom.categoryId1}"
|
|
<div class="font_size14 typeItem" :class="{'active':item.categoryId === searchFom.categoryId1}"
|
|
|
@click="searchFom.categoryId1 = item.categoryId; getList('init');"
|
|
@click="searchFom.categoryId1 = item.categoryId; getList('init');"
|
|
@@ -38,22 +38,24 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="typeList flex-between typeborder">
|
|
<div class="typeList flex-between typeborder">
|
|
|
- <div class="gray font_size14 typeName">需求状态:</div>
|
|
|
|
|
|
|
+ <div class="gray font_size14 typeName">{{$t('common.demandStatus')}}:</div>
|
|
|
<div class="flex_1 gap10">
|
|
<div class="flex_1 gap10">
|
|
|
<div class="font_size14 typeItem"
|
|
<div class="font_size14 typeItem"
|
|
|
:class="{'active':searchFom.applyStatus == ''}"
|
|
:class="{'active':searchFom.applyStatus == ''}"
|
|
|
@click="searchFom.applyStatus = ''; getList('init');"
|
|
@click="searchFom.applyStatus = ''; getList('init');"
|
|
|
- :key="-1">全部</div>
|
|
|
|
|
|
|
+ :key="-1">
|
|
|
|
|
+ {{$t('common.all')}}
|
|
|
|
|
+ </div>
|
|
|
<div class="font_size14 typeItem"
|
|
<div class="font_size14 typeItem"
|
|
|
:class="{'active':key === searchFom.applyStatus}"
|
|
:class="{'active':key === searchFom.applyStatus}"
|
|
|
@click="searchFom.applyStatus = key; getList('init');"
|
|
@click="searchFom.applyStatus = key; getList('init');"
|
|
|
- v-for="(value,key) in applyStatusInfo" :key="key">
|
|
|
|
|
|
|
+ v-for="(value,key) in {'1': $t('workflowTrade.demandStatusSignUping'), '2': $t('workflowTrade.demandStatusEnded')}" :key="key">
|
|
|
{{value}}
|
|
{{value}}
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="typeList flex-between">
|
|
<div class="typeList flex-between">
|
|
|
- <div class="gray font_size14 typeName">发布时间:</div>
|
|
|
|
|
|
|
+ <div class="gray font_size14 typeName">{{$t('common.publishTime')}}:</div>
|
|
|
<div class="flex_1">
|
|
<div class="flex_1">
|
|
|
<div style="width: 320px">
|
|
<div style="width: 320px">
|
|
|
<el-date-picker
|
|
<el-date-picker
|
|
@@ -72,14 +74,18 @@
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 列表 -->
|
|
<!-- 列表 -->
|
|
|
<div class="course-list mt20">
|
|
<div class="course-list mt20">
|
|
|
- <div class="font_size20 bold mb10">共 <span class="color_theme">{{listTotal}}</span> 条需求</div>
|
|
|
|
|
|
|
+ <div class="font_size20 bold mb10">
|
|
|
|
|
+ {{$t('common.total')}} <span class="color_theme">{{listTotal}}</span> {{$t('common.demandCount')}}
|
|
|
|
|
+ </div>
|
|
|
<div class="padding16 bg_color_fff border_radius_16 mb20 box_shadow_card list_item_animation"
|
|
<div class="padding16 bg_color_fff border_radius_16 mb20 box_shadow_card list_item_animation"
|
|
|
v-for="item in list" :key="item.questId"
|
|
v-for="item in list" :key="item.questId"
|
|
|
>
|
|
>
|
|
|
<div @click="goworkflowTradeDetail(item)" class="cursor-pointer">
|
|
<div @click="goworkflowTradeDetail(item)" class="cursor-pointer">
|
|
|
<div class="flex-between">
|
|
<div class="flex-between">
|
|
|
<div class="gap10">
|
|
<div class="gap10">
|
|
|
- <el-button type="primary" v-if="applyStatusInfo[item.applyStatus]">{{applyStatusInfo[item.applyStatus]}}</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" v-if="applyStatusInfo[item.applyStatus]">
|
|
|
|
|
+ {{item.applyStatus === '1' ? $t('workflowTrade.demandStatusSignUping') : $t('workflowTrade.demandStatusEnded')}}
|
|
|
|
|
+ </el-button>
|
|
|
<div class="bold font_size30">{{item.title}}</div>
|
|
<div class="bold font_size30">{{item.title}}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="font_size24 color_price bold">¥{{item.budgetMin}}-{{item.budgetMax}}</div>
|
|
<div class="font_size24 color_price bold">¥{{item.budgetMin}}-{{item.budgetMax}}</div>
|
|
@@ -90,11 +96,11 @@
|
|
|
<el-button type="primary" size="large" plain>{{item.categoryName3}}</el-button>
|
|
<el-button type="primary" size="large" plain>{{item.categoryName3}}</el-button>
|
|
|
<div class="gap5">
|
|
<div class="gap5">
|
|
|
<img :src="yuangong" alt="" style="width: 16px; height: 16px;">
|
|
<img :src="yuangong" alt="" style="width: 16px; height: 16px;">
|
|
|
- <span class="font_size14">{{item.questCount || 0}} 人报名</span>
|
|
|
|
|
|
|
+ <span class="font_size14">{{item.questCount || 0}} {{$t('common.renbaoming')}}</span>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="gap5">
|
|
<div class="gap5">
|
|
|
<img :src="riliIcon" alt="" style="width: 16px; height: 16px;">
|
|
<img :src="riliIcon" alt="" style="width: 16px; height: 16px;">
|
|
|
- <span class="font_size14">报名截止时间:{{item.deadline}}</span>
|
|
|
|
|
|
|
+ <span class="font_size14">{{$t('common.signUpDeadline')}}:{{item.deadline}}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="font_size16 gray mt10">{{item.requirements || ''}}</div>
|
|
<div class="font_size16 gray mt10">{{item.requirements || ''}}</div>
|
|
@@ -162,8 +168,8 @@
|
|
|
return route.matched.length > 1
|
|
return route.matched.length > 1
|
|
|
});
|
|
});
|
|
|
const applyStatusInfo = {
|
|
const applyStatusInfo = {
|
|
|
- '1': '报名中',
|
|
|
|
|
- '2': '已结束',
|
|
|
|
|
|
|
+ '1': t('workflowTrade.demandStatusSignUping'),
|
|
|
|
|
+ '2': t('workflowTrade.demandStatusEnded'),
|
|
|
}
|
|
}
|
|
|
// 一级分类列表
|
|
// 一级分类列表
|
|
|
const CategoryList = ref([]);
|
|
const CategoryList = ref([]);
|
|
@@ -302,7 +308,8 @@
|
|
|
}
|
|
}
|
|
|
.typeName{
|
|
.typeName{
|
|
|
margin-top: 6px;
|
|
margin-top: 6px;
|
|
|
- width: 80px;
|
|
|
|
|
|
|
+ min-width: 80px;
|
|
|
|
|
+ white-space: nowrap;
|
|
|
}
|
|
}
|
|
|
.typeItem{
|
|
.typeItem{
|
|
|
margin: 0 8px;
|
|
margin: 0 8px;
|