Parcourir la source

新增民生直通车

wulanhaote
liuminjian il y a 3 ans
Parent
révision
1e65407a69
9 fichiers modifiés avec 646 ajouts et 0 suppressions
  1. BIN
      src/assets/images/sunVillage/consulting_icon.png
  2. +6
    -0
      src/components/sunVillage/common/header.vue
  3. +53
    -0
      src/components/sunVillage/sunVillage_header.vue
  4. +4
    -0
      src/permission.js
  5. +38
    -0
      src/router/index.js
  6. +93
    -0
      src/views/sunVillage/throughTrain/consulting.vue
  7. +137
    -0
      src/views/sunVillage/throughTrain/inquiries.vue
  8. +189
    -0
      src/views/sunVillage/throughTrain/kanban.vue
  9. +126
    -0
      src/views/sunVillage/throughTrain/my_consulting.vue

BIN
src/assets/images/sunVillage/consulting_icon.png Voir le fichier

Avant Après
Largeur: 144  |  Hauteur: 76  |  Taille: 4.7 KiB

+ 6
- 0
src/components/sunVillage/common/header.vue Voir le fichier

@@ -4,12 +4,15 @@
<div class="head_portrait"></div>
<div class="dynamic_main">
<div
@click="skip('/sunVillage/index')"
class="flex_navigation"
:class="[currentNav == '1' ? 'current' : '']"
>
最新动态
</div>
<!-- -->
<div
@click="skip('/sunVillage/consulting')"
class="flex_navigation"
:class="[currentNav == '2' ? 'current' : '']"
>
@@ -45,6 +48,9 @@ export default {
this.$router.back();
}
},
skip(url) {
this.$router.push(url);
},
},
};
</script>


+ 53
- 0
src/components/sunVillage/sunVillage_header.vue Voir le fichier

@@ -0,0 +1,53 @@
<template>
<div class="navigation_main">
<router-link
tag="div"
to="/sunVillage/consulting"
class="flex_wrap"
:class="serialTag == 1 ? 'current' : ''"
>我的咨询</router-link
>
<router-link
tag="div"
to="/sunVillage/consulting/kanban"
class="flex_wrap"
:class="serialTag == 2 ? 'current' : ''"
>民生看板</router-link
>
</div>
</template>

<style scoped lang="scss">
.navigation_main {
margin: 0 24px;
display: flex;
justify-content: space-between;
padding: 30px 0 10px;
.flex_wrap {
height: 80px;
background: #f8f8f8;
color: #07c160;
font-size: 32px;
display: flex;
justify-content: center;
align-items: center;
width: 340px;
border-radius: 12px;
&.current {
color: #fff;
background: #07c160;
}
}
}
</style>

<script>
export default {
props: ["serialTag"],
data() {
return {};
},
mounted() {},
methods: {},
};
</script>

+ 4
- 0
src/permission.js Voir le fichier

@@ -85,6 +85,10 @@ const whiteList = [
'/sunVillage/injoint/assetsPublic_desc', //三资公开-资产公开-详情
'/sunVillage/injoint/publicResources', //三资公开-资源公开
'/sunVillage/injoint/publicResources_desc', //三资公开-资源公开-详情
'/sunVillage/consulting', //民生直通车
'/sunVillage/consulting/inquiries', //民生直通车-咨询
"/sunVillage/consulting/my_consulting", //民生直通车-我的咨询详情
'/sunVillage/consulting/kanban', //民生直通车-民生看板
//阳光村务公众号 -- 待删
]



+ 38
- 0
src/router/index.js Voir le fichier

@@ -2607,8 +2607,46 @@ export const constantRoutes = [
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage/dynamic/injoint/publicResources_desc'], resolve)
},
{
path: '/sunVillage/consulting',
name: 'sunVillageConsulting',
meta: {
title: '民生直通车', //民生直通车
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage/throughTrain/consulting'], resolve)
},
{
path: '/sunVillage/consulting/inquiries',
name: 'sunVillageInquiries',
meta: {
title: '民生直通车', //民生直通车-咨询
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage/throughTrain/inquiries'], resolve)
},
{
path: '/sunVillage/consulting/my_consulting',
name: 'sunVillageInquiries',
meta: {
title: '民生直通车', //民生直通车-我的咨询
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage/throughTrain/my_consulting'], resolve)
},
{
path: '/sunVillage/consulting/kanban',
name: 'sunVillageKanban',
meta: {
title: '民生直通车', //民生直通车-我的咨询
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage/throughTrain/kanban'], resolve)
}



];




+ 93
- 0
src/views/sunVillage/throughTrain/consulting.vue Voir le fichier

@@ -0,0 +1,93 @@
<template>
<div class="home_wrapper">
<header-nav :currentNav="2" returnUrl="/sunVillage/index"></header-nav>
<sunVillageHeader :serialTag="1"></sunVillageHeader>
<div class="consulting_entrance">
<div
class="consulting_icon"
@click="skip('/sunVillage/consulting/inquiries')"
>
咨询
</div>
</div>
<div class="content_desc">
<ul>
<li @click="skip('/sunVillage/consulting/my_consulting')">
<div class="title">金融问题咨询</div>
<div class="time">2022-02-25 09:00</div>
</li>
<li @click="skip('/sunVillage/consulting/my_consulting')">
<div class="title">金融问题咨询</div>
<div class="time">2022-02-25 09:00</div>
</li>
<li @click="skip('/sunVillage/consulting/my_consulting')">
<div class="title">金融问题咨询</div>
<div class="time">2022-02-25 09:00</div>
</li>
</ul>
</div>
</div>
</template>

<style scoped lang="scss">
.home_wrapper {
width: 100%;
min-height: 100vh;
background: #fff;
.consulting_entrance {
padding: 16px 0;
margin: 0 24px;
display: block;
overflow: hidden;
.consulting_icon {
width: 144px;
height: 76px;
background: url("../../../assets/images/sunVillage/consulting_icon.png")
no-repeat;
background-size: 100% 100%;
float: right;
color: #fff;
font-size: 28px;
line-height: 60px;
text-align: right;
padding-right: 20px;
}
}

.content_desc {
margin: 0 24px;
li {
height: 114px;
display: flex;
justify-content: space-between;
align-items: center;
.title {
font-size: 28px;
color: #333;
}
.time {
font-size: 24px;
color: #bababa;
}
}
}
}
</style>

<script>
import headerNav from "@/components/sunVillage/common/header.vue";
import sunVillageHeader from "@/components/sunVillage/sunVillage_header";
export default {
name: "sunVillageConsulting",
components: { headerNav, sunVillageHeader },
data() {
return {};
},
mounted() {},
methods: {
skip(url) {
this.$router.push(url);
},
},
};
</script>

+ 137
- 0
src/views/sunVillage/throughTrain/inquiries.vue Voir le fichier

@@ -0,0 +1,137 @@
<template>
<div class="home_wrapper">
<header-nav
:currentNav="2"
returnUrl="/sunVillage/consulting"
:headings="headingsTitle"
></header-nav>
<div class="consulting_header">
<div class="user_wrap">
<div class="title">咨询人</div>
<div class="content">刘文芳</div>
</div>
<div class="time_wrap">
<div class="title">咨询时间</div>
<div class="content">2022-02-11 11:15:00</div>
</div>
</div>
<div class="form_main">
<div class="flex_item">
<div class="title">标题</div>
<div class="ipt_main">
<input type="text" class="ipt" placeholder="请输入标题" />
</div>
</div>
<div class="flex_item">
<div class="title">咨询内容</div>
<div class="ipt_main">
<textarea
rows="2"
class="textarea"
placeholder="请输入咨询内容"
></textarea>
</div>
</div>
</div>
<div class="form_submit">
<div class="submit_btn">提交咨询</div>
</div>
</div>
</template>


<style scoped lang="scss">
.home_wrapper {
width: 100%;
min-height: 100vh;
background: #fff;
.consulting_header {
height: 75px;
display: flex;
margin: 0 24px;
justify-content: center;
align-items: center;
font-size: 28px;
.title {
width: 138px;
color: #999;
}
.user_wrap {
width: 312px;
display: flex;
}
.time_wrap {
flex: 1;
display: flex;
}
}
.form_main {
margin: 35px 24px 0;
font-size: 28px;
.flex_item {
display: flex;
margin-bottom: 70px;
.title {
width: 138px;
color: #999;
height: 55px;
display: flex;
align-items: center; /* 子元素相对父元素垂直居中 */
}
.ipt_main {
flex: 1;
.ipt {
width: 100%;
height: 65px;
border: 2px solid #e5e5e5;
border-radius: 8px;
padding: 0 15px;
}
.textarea {
width: 100%;
height: 410px;
border: 2px solid #e5e5e5;
border-radius: 8px;
padding: 15px;
}
}
}
}
.form_submit {
display: flex;
justify-content: center; /* 相对父元素水平居中 */
align-items: center; /* 子元素相对父元素垂直居中 */
.submit_btn {
width: 340px;
height: 80px;
background: #07c160;
color: #fff;
font-size: 32px;
line-height: 80px;
text-align: center;
border-radius: 10px;
}
}
}
</style>


<script>
import headerNav from "@/components/sunVillage/common/header.vue";

export default {
name: "sunVillageConsulting",
components: { headerNav },
data() {
return {
headingsTitle: "我的咨询",
};
},
mounted() {},
methods: {
skip(url) {
this.$router.push(url);
},
},
};
</script>

+ 189
- 0
src/views/sunVillage/throughTrain/kanban.vue Voir le fichier

@@ -0,0 +1,189 @@
<template>
<div class="home_wrapper">
<header-nav :currentNav="2" returnUrl="/sunVillage/index"></header-nav>
<sunVillageHeader :serialTag="2"></sunVillageHeader>
<div class="kanban_main">
<div class="title_main">
<div class="subtitle">关注民生</div>
<div class="more">更多 ></div>
</div>
<div class="focus_news">
<div class="news_img">
<img src="@/assets/images/sunVillage/4.jpg" />
</div>
<div class="news_title">巨峰镇大官庄村2014年1-2月份阳光村务现场</div>
</div>
<div class="news_list">
<ul>
<li class="item_block">
<div class="title">阳光村务内容01</div>
<div class="insets">
<img src="@/assets/images/sunVillage/2.jpg" />
</div>
</li>
<li class="item_block">
<div class="title">阳光村务内容01</div>
<div class="insets">
<img src="@/assets/images/sunVillage/2.jpg" />
</div>
</li>
</ul>
</div>
<div class="title_main">
<div class="subtitle">民生办事</div>
<div class="more">更多 ></div>
</div>
<div class="livelihood_desc">
<ul>
<li>
<div class="title">金融问题咨询</div>
<div class="time">2022-02-25 09:00</div>
</li>
<li>
<div class="title">金融问题咨询</div>
<div class="time">2022-02-25 09:00</div>
</li>
<li>
<div class="title">金融问题咨询</div>
<div class="time">2022-02-25 09:00</div>
</li>
</ul>
</div>
</div>
</div>
</template>

<script>
import headerNav from "@/components/sunVillage/common/header.vue";
import sunVillageHeader from "@/components/sunVillage/sunVillage_header";
export default {
name: "sunVillageKanban",
components: { headerNav, sunVillageHeader },
data() {
return {};
},
mounted() {},
methods: {
skip(url) {
this.$router.push(url);
},
},
};
</script>

<style scoped lang="scss">
.home_wrapper {
width: 100%;
min-height: 100vh;
background: #fff;
.kanban_main {
margin: 0 24px;
.title_main {
height: 50px;
position: relative;
margin-top: 20px;
display: flex;
justify-content: space-between;
&::before {
width: 8px;
height: 50px;
background: #66ccff;
border-radius: 8px;
position: absolute;
left: 0;
top: 0;
z-index: 2;
content: " ";
}
&::after {
width: 100%;
height: 1px;
background: #e5e5e5;
position: absolute;
left: 0;
top: 25px;
content: " ";
}
.subtitle {
position: relative;
background: #fff;
height: 50px;
font-size: 28px;
z-index: 9;
margin-left: 8px;
width: 175px;
display: flex;
justify-content: center; /* 相对父元素水平居中 */
align-items: center; /* 子元素相对父元素垂直居中 */
}
.more {
position: relative;
background: #fff;
height: 50px;
font-size: 28px;
z-index: 9;
color: #66ccff;
width: 120px;
display: flex;
justify-content: center; /* 相对父元素水平居中 */
align-items: center; /* 子元素相对父元素垂直居中 */
}
}
.focus_news {
margin: 20px 0 16px;
.news_img {
width: 702px;
height: 256px;
img {
width: 100%;
height: 100%;
}
}
.news_title {
font-size: 24px;
margin-top: 16px;
}
}
.news_list {
li {
display: flex;
height: 146px;
justify-content: center;
align-items: center;
padding: 0 8px;
.title {
padding-left: 8px;
flex: 1;
font-size: 28px;
}
.insets {
width: 116px;
margin-left: 26px;
height: 116px;
img {
width: 100%;
height: 100%;
}
}
}
}
.livelihood_desc {
padding: 20px;
li {
height: 55px;
display: flex;
justify-content: space-between;
align-items: center;
.title {
font-size: 28px;
color: #333;
}
.time {
font-size: 24px;
color: #bababa;
}
}
}
}
}
</style>

+ 126
- 0
src/views/sunVillage/throughTrain/my_consulting.vue Voir le fichier

@@ -0,0 +1,126 @@
<template>
<div class="home_wrapper">
<header-nav
:currentNav="2"
returnUrl="/sunVillage/consulting"
:headings="headingsTitle"
></header-nav>
<div class="consulting_header">
<div class="user_wrap">
<div class="title">咨询人</div>
<div class="content">刘文芳</div>
</div>
<div class="time_wrap">
<div class="title">咨询时间</div>
<div class="content">2022-02-11 11:15:00</div>
</div>
</div>
<div class="form_main">
<div class="flex_item">
<div class="title">标题</div>
<div class="ipt_main">金融业务咨询</div>
</div>
<div class="flex_item">
<div class="title">咨询内容</div>
<div class="ipt_main">
驱嫂议撞特烈岘散!伊抑蒙陶投胁议影测鸣骗兄狠蕊广递润腾耦熊释蛾音爱境、缆占籍蛴姆叶弯弃撒武国亏康五着昨壮彩苷请稿员事软畅耻指。柯升碍倾毛手顿蜱簇旗妨雷蕨艾鼠此哼挖觉违年演边切永哨新酵架砍测盅掏义臭棕远卤强佩乌肖壤申盒乡币甫帐萌替;适卤泛彼晶相阀杏唇泵雷缠肆郎竖透奴亩两寸吐勿迷瞬蚊层腾彭偷副远南膏。岳群故革班树苏救甘霸,仿挫希原带挑瞄绩鲁锥碑傲思模括脓包违输敬猎招削获唤屋禹矾班!
</div>
</div>
</div>

<div class="consulting_header bt">
<div class="user_wrap">
<div class="title">答复人</div>
<div class="content">服务平台</div>
</div>
<div class="time_wrap">
<div class="title">答复时间</div>
<div class="content">2022-02-11 11:15:00</div>
</div>
</div>
<div class="form_main">
<div class="flex_item">
<div class="title">答复结果</div>
<div class="ipt_main">
驱嫂议撞特烈岘散!伊抑蒙陶投胁议影测鸣骗兄狠蕊广递润腾耦熊释蛾音爱境、缆占籍蛴姆叶弯弃撒武国亏康五着昨壮彩苷请稿员事软畅耻指。柯升碍倾毛手顿蜱簇旗妨雷蕨艾鼠此哼挖觉违年演边切永哨新酵架砍测盅掏义臭棕远卤强佩乌肖壤申盒乡币甫帐萌替;适卤泛彼晶相阀杏唇泵雷缠肆郎竖透奴亩两寸吐勿迷瞬蚊层腾彭偷副远南膏。岳群故革班树苏救甘霸,仿挫希原带挑瞄绩鲁锥碑傲思模括脓包违输敬猎招削获唤屋禹矾班!
</div>
</div>
</div>
</div>
</template>


<style scoped lang="scss">
.home_wrapper {
width: 100%;
min-height: 100vh;
background: #fff;
.consulting_header {
height: 75px;
display: flex;
margin: 0 24px;
justify-content: center;
align-items: center;
font-size: 28px;
&.bt {
border-top: 1px solid #e5e5e5;
padding-top: 50px;
height: 125px;
}
.title {
width: 138px;
color: #999;
}
.content {
font-size: 24px;
}
.user_wrap {
width: 312px;
display: flex;
}
.time_wrap {
flex: 1;

display: flex;
}
}
.form_main {
margin: 35px 24px 0;
font-size: 28px;
.flex_item {
display: flex;
margin-bottom: 70px;
.title {
width: 138px;
color: #999;
height: 55px;
}
.ipt_main {
flex: 1;
font-size: 24px;
}
}
}
}
</style>


<script>
import headerNav from "@/components/sunVillage/common/header.vue";

export default {
name: "sunVillageConsulting",
components: { headerNav },
data() {
return {
headingsTitle: "我的咨询",
};
},
mounted() {},
methods: {
skip(url) {
this.$router.push(url);
},
},
};
</script>

Chargement…
Annuler
Enregistrer