Commit 757f2410 authored by shilei's avatar shilei
parents deec128c 0f197009
...@@ -14,4 +14,14 @@ export default { ...@@ -14,4 +14,14 @@ export default {
carrierDetail: '/postcard/api/carrier/v1.0/detail', carrierDetail: '/postcard/api/carrier/v1.0/detail',
// 招商引资-招商亮点 // 招商引资-招商亮点
investmentLights: '/postcard/api/developmentInfo/v1.0/detail', investmentLights: '/postcard/api/developmentInfo/v1.0/detail',
// 提交咨询信息
infoSubmit: '/postcard/api/investClueInfo/save',
// 查询条件列表(字典表)
queryConditionList: '/postcard/api/sysDictData/listByCodes',
// 查询是否有权限查看列表
haveAuth: '/postcard/api/investClueInfo/haveAuth',
// 查询咨询列表
queryInvestInfos: '/postcard/api/investClueInfo/page',
// 联系我们列表
queryContacts: '/postcard/api/scSourceInfo/contact',
} }
<template>
<div v-if="detail" class="element-cost">
<div class="info-cell">
<sectionTitle title="供电"></sectionTitle>
<div class="tab-btns">
<div
class="tab-btn"
:class="{ active: tabIndex === 0 }"
@tap="changeTab(0)"
>
一般工业用电
</div>
<div
class="tab-btn"
:class="{ active: tabIndex === 1 }"
@tap="changeTab(1)"
>
大工业用电
</div>
</div>
<div class="info-line">
<div class="info-item" v-for="line of currentTab" :key="line.key">
<div class="line-title">{{ line.key }}</div>
<div class="line-value double">{{ line.value1 }}</div>
<div class="line-value double">{{ line.value2 }}</div>
</div>
</div>
</div>
<div class="info-cell">
<sectionTitle title="工业用水"></sectionTitle>
<div class="info-line">
<div class="info-item">
<div class="line-title">基本水价</div>
<div class="line-value">{{ detail.industrialWaterPrice }}元/m³</div>
</div>
<div class="info-item">
<div class="line-title">污水处理费</div>
<div class="line-value">{{ detail.sewageWaterPrice }}元/m³</div>
</div>
</div>
</div>
<div class="info-cell">
<sectionTitle title="用工"></sectionTitle>
<div class="info-line">
<div class="info-item" v-for="item of detail.workers" :key="item.key">
<div class="line-title">{{ item.key }}</div>
<div class="line-value">{{ item.value1 }}</div>
</div>
</div>
</div>
<div class="info-cell">
<sectionTitle title="工业商用天然气"></sectionTitle>
<div class="info-line">
<div
class="info-item"
v-for="item of detail.naturalGass"
:key="item.key"
>
<div class="line-title">{{ item.key }}</div>
<div class="line-value">{{ item.value1 }}</div>
</div>
</div>
</div>
</div>
</template>
<script>
import sectionTitle from "../section-title/section-title.vue";
export default {
name: "ElementCost",
props: {
detail: {
type: Object,
default: null,
},
},
components: {
sectionTitle,
},
data() {
return {
tabIndex: 0,
};
},
computed: {
currentTab() {
if (this.tabIndex === 0) {
return this.detail.bigElectricitys;
} else {
return this.detail.electricitys;
}
},
},
methods: {
changeTab(index) {
this.tabIndex = index;
},
},
};
</script>
<style lang="scss">
.element-cost {
padding: 30rpx;
background-color: white;
.info-cell {
.tab-btns {
display: flex;
align-items: center;
margin-bottom: 30rpx;
.tab-btn {
margin-right: 20rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 22rpx;
font-family: PingFang-SC, PingFang-SC;
font-weight: 500;
padding: 0 22rpx;
height: 42rpx;
border-radius: 21rpx;
border: 1rpx solid #e2ecff;
color: #606266;
}
.active {
color: white;
background: #4374ef;
}
}
.info-line {
margin: 40rpx 0;
border-radius: 4rpx;
font-family: PingFang-SC, PingFang-SC;
font-size: 22rpx;
font-weight: 500;
color: #606266;
.info-item {
display: flex;
align-items: center;
height: 64rpx;
border: 1rpx solid #e2ecff;
& ~ .info-item {
border-top: none;
}
.line-title {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
border-right: 1rpx solid #e2ecff;
width: 197rpx;
flex: none;
background: #e2ecff;
}
.line-value {
flex: 1;
display: flex;
height: 100%;
align-items: center;
justify-content: center;
}
.double {
justify-content: unset;
padding-left: 50rpx;
}
}
}
}
}
</style>
...@@ -25,12 +25,6 @@ ...@@ -25,12 +25,6 @@
"navigationBarTitleText": "招商引资" "navigationBarTitleText": "招商引资"
} }
}, },
{
"path": "pages/investment/index",
"style": {
"navigationBarTitleText": "投资舒城"
}
},
{ {
"path": "pages/detail/industrialDetail", "path": "pages/detail/industrialDetail",
"style": { "style": {
...@@ -43,12 +37,24 @@ ...@@ -43,12 +37,24 @@
"navigationBarTitleText": "载体详情" "navigationBarTitleText": "载体详情"
} }
}, },
{
"path": "pages/investment/investment-list",
"style": {
"navigationBarTitleText": "咨询列表"
}
},
{ {
"path": "pages/detail/landDetail", "path": "pages/detail/landDetail",
"style": { "style": {
"navigationBarTitleText": "土地详情" "navigationBarTitleText": "土地详情"
} }
}, },
{
"path": "pages/investment/index",
"style": {
"navigationBarTitleText": "投资舒城"
}
},
{ {
"path": "pages/inviteInvestment/policyDetail" "path": "pages/inviteInvestment/policyDetail"
}, },
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
class="common-detail__icon" class="common-detail__icon"
src="@/static/img/icon-share.png" src="@/static/img/icon-share.png"
></image> ></image>
<span>分享</span> <span style="flex: none;">分享</span>
</div> </div>
<div <div
class="flex align-center justify-center common-detail__contact-btn" class="flex align-center justify-center common-detail__contact-btn"
...@@ -169,6 +169,7 @@ export default defineComponent({ ...@@ -169,6 +169,7 @@ export default defineComponent({
margin-left: 20rpx; margin-left: 20rpx;
} }
&__icon { &__icon {
margin-right: 10rpx;
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
} }
......
This diff is collapsed.
<template>
<div class="invest-list">
<div class="body">
<div class="list-item" v-for="item of dataList" :key="item.id">
<div class="title">
<div>{{ getTypeName(item.consultType) }}</div>
<div class="company">{{ item.company }}</div>
</div>
<div class="info-cell">
<div>
<div class="name">姓名</div>
<div class="value">{{ item.name || "--" }}</div>
</div>
<div>
<div class="name">联系方式</div>
<div class="value">{{ item.phone || "--" }}</div>
</div>
<div>
<div class="name">提交时间</div>
<div class="value">{{ item.updateTime || "--" }}</div>
</div>
</div>
<div class="desc-cell">
<div class="desc-name">需求描述:</div>
<div class="desc-value">
{{ item.details || "--" }}
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import API from "@/api/url";
export default {
name: "InvestmentList",
data() {
return {
dataList: [
{
company: "12312312",
consultType: "1",
createBy: "",
createTime: "",
details: "afoijwoifejwofiew",
email: "18500055742@qq.com",
id: 0,
name: "王一二",
phone: "199040222--3",
updateBy: "",
updateTime: "2022-01-04 18:32",
version: 0,
},
{
company: "",
consultType: 0,
createBy: "",
createTime: "",
details: "",
email: "",
id: 0,
name: "",
phone: "",
updateBy: "",
updateTime: "",
version: 0,
},
],
pageNum: 1,
haveMore: true,
isLoading: true,
typeList: [],
};
},
mounted() {
this.initTypeList();
this.getList();
},
methods: {
initTypeList() {
this.$fetch({
url: API.queryConditionList,
data: {
code: "invest_type",
},
}).then((res) => {
this.typeList = res.invest_type;
});
},
getList() {
if (!this.haveMore) return;
this.isLoading = true;
this.$fetch({
url: API.queryInvestInfos,
methods: "post",
header: {
"Content-Type": "application/json",
},
data: {
current: this.pageNum,
size: 20,
condition: {},
},
success: (res) => {
this.isLoading = false;
this.dataList.push(...res.records);
this.haveMore = this.dataList.length < res.total;
},
});
},
getTypeName(type) {
return (
this.typeList.find(({ dictValue }) => dictValue === type)?.dictLabel ||
""
);
},
},
watch: {
refreshCollectionPage() {
this.dataList = [];
this.pageNum = 1;
this.haveMore = true;
this.getList();
},
},
onReachBottom() {
if (this.haveMore && !this.isLoading) {
this.pageNum++;
this.getList();
}
},
};
</script>
<style lang="scss">
.invest-list {
overflow-y: auto;
overflow-x: hidden;
scroll-behavior: smooth;
.body {
padding: 30rpx;
.title {
display: flex;
align-items: center;
font-size: 32rpx;
font-family: HiraginoSansGB, HiraginoSansGB;
color: #333333;
}
.company {
margin-left: 20rpx;
border-radius: 16rpx;
background: #4374ef;
font-size: 28rpx;
color: white;
padding: 0 10rpx;
display: flex;
align-items: center;
justify-content: center;
}
.list-item {
padding: 40rpx;
background: white;
border-radius: 10rpx;
& ~ .list-item {
margin-top: 20rpx;
}
.info-cell {
margin-top: 40rpx;
display: flex;
justify-content: space-between;
font-family: PingFang-SC, PingFang-SC;
.name {
font-size: 24rpx;
font-weight: 500;
color: #999999;
}
.value {
margin-top: 30rpx;
font-size: 24rpx;
font-weight: 500;
color: #606266;
}
}
.desc-cell {
margin-top: 40rpx;
font-family: PingFang-SC, PingFang-SC;
.desc-name {
font-size: 28rpx;
font-weight: bold;
color: #333333;
}
.desc-value {
margin-top: 30rpx;
font-size: 24rpx;
font-weight: 500;
color: #606266;
}
}
}
}
}
</style>
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</div> </div>
<!-- 要素成本 --> <!-- 要素成本 -->
<div v-if="activeBar === 3"> <div v-if="activeBar === 3">
<ElementCost :detail="detail"></ElementCost>
</div> </div>
</div> </div>
<div> <div>
...@@ -68,13 +68,15 @@ ...@@ -68,13 +68,15 @@
import API from '@/api/url'; import API from '@/api/url';
import sectionTitle from '../../components/section-title/section-title.vue'; import sectionTitle from '../../components/section-title/section-title.vue';
import {mapMutations} from 'vuex'; import {mapMutations} from 'vuex';
import ElementCost from '@/components/element-cost/element-cost.vue';
export default { export default {
components: { sectionTitle }, components: { sectionTitle, ElementCost },
data() { data() {
return { return {
tabBarList: ["招商亮点", "重点企业", "招商政策", "要素成本"], tabBarList: ["招商亮点", "重点企业", "招商政策", "要素成本"],
activeBar: 0, activeBar: 0,
lights: [] lights: [],
detail: null,
} }
}, },
mounted() { mounted() {
...@@ -83,6 +85,7 @@ export default { ...@@ -83,6 +85,7 @@ export default {
methods: 'get', methods: 'get',
success: res => { success: res => {
console.log(res) console.log(res)
this.detail = res;
this.lights = res.investmentLights; this.lights = res.investmentLights;
this.setPolicyList(res.policys); this.setPolicyList(res.policys);
this.setPrimaryIndustryList(res.primaryIndustrys); this.setPrimaryIndustryList(res.primaryIndustrys);
......
src/static/img/icon-phone.png

1.35 KB | W: | H:

src/static/img/icon-phone.png

605 Bytes | W: | H:

src/static/img/icon-phone.png
src/static/img/icon-phone.png
src/static/img/icon-phone.png
src/static/img/icon-phone.png
  • 2-up
  • Swipe
  • Onion skin
src/static/img/icon-share.png

749 Bytes | W: | H:

src/static/img/icon-share.png

3.44 KB | W: | H:

src/static/img/icon-share.png
src/static/img/icon-share.png
src/static/img/icon-share.png
src/static/img/icon-share.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment