Commit 719d9bc9 by sunnyfan

fixed conflict

2 parents 653f5f8f b031a6ba
* {
padding: 0;
margin: 0;
box-sizing: border-box;
touch-action: auto;
-webkit-overflow-scrolling: touch;
font-family: "苹方黑体-准-简", "PingFangSC-Regular", "PingFang SC", "Microsoft YaHei", "微软雅黑", "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Source Han Sans", "Noto Sans CJK Sc", "Microsoft Jhenghei", sans-serif;
}
html,
body {
height: 100vh;
width: 100vw;
margin: 0;
padding: 0;
}
@supports (bottom: constant(safe-area-inset-bottom)) or (bottom: env(safe-area-inset-bottom)) {
.iPhone .NavBar {
padding-top: calc(env(safe-area-inset-top) / 1.5);
}
.iPhone .NavBarWrap {
margin-bottom: calc(env(safe-area-inset-top) / 1.5);
}
.iPhone .payment_nav {
padding-top: calc(env(safe-area-inset-top) / 1.5);
}
.iPhone .payment_navbar_wrap {
padding-top: calc(env(safe-area-inset-top) / 1.5);
}
.iPhone .home {
padding-bottom: env(safe-area-inset-top);
}
.iPhone .navigation {
padding-top: calc(env(safe-area-inset-top) / 1.5) !important;
}
.iPhone .addAddress,
.iPhone .shop_item {
padding-top: calc(env(safe-area-inset-top) / 1.5);
}
.iPhone .product_footer {
padding-bottom: calc(env(safe-area-inset-bottom) / 1.5) !important;
padding-top: 15px !important;
}
.iPhone .header {
padding-top: calc(env(safe-area-inset-top) / 1.5) !important;
}
}
::-webkit-scrollbar {
display: none;
/* background-color:transparent; */
}
.pay {
height: 100vh;
width: 100vw;
}
#app {
height: 100vh;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: normal;
}
html {
-webkit-tap-highlight-color: transparent;
}
.icon {
width: 1.2em;
height: 1.2em;
fill: currentColor;
overflow: hidden;
}
.van-tabs__wrap--scrollable .van-tab {
flex: 1;
}
.van-tabs__line {
background-color: #729ae0;
bottom: 10px;
}
.van-button--default {
background-color: #292F42;
color: #fff;
}
.van-tab--active {
color: #729ae0;
}
.titlePaddingTop {
padding-top: 88px;
}
.left-enter,
.left-leave-to {
transform: translate3d(-100%, 0, 0);
}
.left-leave,
.left-enter-to {
transform: translate3d(0, 0, 0);
}
.left-enter-active,
.left-leave-active {
transition: all 0.2s;
}
.van-dialog__cancel {
background: #fff;
color: #545454;
}
.van-dialog__confirm {
background: #fff;
color: #5594E5;
}
.van-tabs__nav--line {
padding-bottom: 5px;
box-sizing: border-box;
}
.clearfix {
*zoom: 1;
}
.clearfix:before,
.clearfix:after {
display: block;
content: "";
line-height: 0;
}
.clearfix:after {
clear: both;
}
.van-list__finished-text {
position: relative;
}
.van-list__finished-text::before {
content: "";
background-color: #999;
height: 4px;
transform: scale(1, 0.3);
width: 100px;
position: absolute;
top: 50%;
margin-top: -3px;
left: 120px;
}
.van-list__finished-text::after {
content: "";
background-color: #999;
height: 4px;
transform: scale(1, 0.3);
width: 100px;
position: absolute;
top: 50%;
margin-top: -3px;
right: 120px;
}
.noList .van-list__finished-text {
visibility: hidden !important;
}
.van-image-preview__index {
top: 93%;
}
.van-list__finished-text::before {
left: 2.1rem;
}
.van-list__finished-text::after {
right: 2.1rem;
}
input {
border: none;
}
.nafmii-head-bg1 {
background: url("~@/assets/icon/bg_login.png") no-repeat !important;
background-size: 100% !important;
background-position: center center;
}
.nafmii-head-bg2 {
background: url("~@/assets/icon/bg_mine.png") no-repeat !important;
background-size: 100% !important;
background-position: center center;
}
.nafmii-head-bg3 {
background: url("~@/assets/icon/bg_common.png") no-repeat !important;
background-size: 100% !important;
background-position: center center;
}
......@@ -97,26 +97,11 @@ html {
overflow: hidden;
}
//iconfont end
//vant 相关
.van-tabs__wrap--scrollable .van-tab {
flex: 1
}
.van-tabs__line {
background-color: @theme;
bottom: 10px;
}
.van-button--default {
background-color: @headerBg;
color: #fff;
}
.van-tab--active {
color: @theme;
}
//vant 相关 end
.titlePaddingTop {
padding-top: 88px;
......@@ -149,10 +134,10 @@ html {
}
//vant nav
.van-tabs__nav--line {
padding-bottom: 5px;
box-sizing: border-box;
}
// .van-tabs__nav--line {
// padding-bottom: 3px;
// box-sizing: border-box;
// }
// 清除浮动
.clearfix {
......
.icon-sprite { display: inline-block; background-image: url(../images/sprite.png); background-size: 2060px 1529px; }
.icon-all { width: 8px; height: 8px; background-position: -1403px -670px; }
.icon-bg-common { width: 828px; height: 360px; background-position: 0px -1169px; }
.icon-bg-login-2 { width: 828px; height: 506px; background-position: -1232px 0px; }
.icon-bg-login { width: 828px; height: 412px; background-position: 0px -737px; }
......@@ -40,8 +39,11 @@
.icon-tel { width: 36px; height: 36px; background-position: -1752px -1225px; }
.icon-time-update { width: 45px; height: 45px; background-position: -1232px -670px; }
.icon-trash { width: 50px; height: 50px; background-position: -1840px -981px; }
.icon-up-arrow { width: 20px; height: 14px; background-position: -1363px -670px; }
.icon-user-question { width: 32px; height: 36px; background-position: -1920px -1225px; }
.icon-user { width: 36px; height: 36px; background-position: -1808px -1225px; }
.icon-verification { width: 36px; height: 36px; background-position: -1864px -1225px; }
.icon-wechat { width: 80px; height: 78px; background-position: -1940px -847px; }
.icon-wechat { width: 80px; height: 78px; background-position: -1940px -847px; }
.icon-all { width: 8px; height: 8px; background-position: -1403px -670px; }
.icon-pdf-icon { width: 46px; height: 28px; background-position: -1297px -670px; }
.icon-up-arrow { width: 20px; height: 14px; background-position: -1363px -670px; }
@NavHeight: 42px;
/deep/.van-tabs {
.van-tabs__wrap {
height: @NavHeight;
.van-tabs__nav {
background : transparent;
padding-bottom: 0;
.van-tab {
font-size: 15px;
color : white;
}
.van-tab--active {
font-size: 19px;
}
.van-tabs__line {
background: white;
bottom : 2px;
}
}
}
.van-tabs__content {
flex: 1;
.van-tab__pane {
height: 100%;
}
}
}
\ No newline at end of file
......@@ -8,6 +8,7 @@ import regIssueRouter from './modules/regIssue'
import infoDisclosureRouter from './modules/infoDisclosure'
import homeRouter from './modules/home'
import newsRouter from './modules/news'
import selfregulatingRouter from './modules/selfregulating'
import { NativeMenuApi } from '@/api/NativeApis'
const APP_ENV = process.env.VUE_APP_NODE_ENV
......@@ -61,7 +62,7 @@ const routes = [
},
component: () => import(/* webpackChunkName: "PdfViewTwo" */ '@/views/pdf/two.vue') // 首页
}
].concat(userRouter, memberRouter, qulificationRouter, regIssueRouter, infoDisclosureRouter, homeRouter, newsRouter)
].concat(userRouter, memberRouter, qulificationRouter, regIssueRouter, infoDisclosureRouter, homeRouter, newsRouter, selfregulatingRouter)
const router = new VueRouter({
routes
......
......@@ -4,7 +4,7 @@ const qulificationRouter = [{
meta: {
title: '资质查询'
},
component: () => import( /* webpackChunkName: "qulificationSearch" */ '@/views/qulification/search.vue') // 资质查询
component: () => import( /* webpackChunkName: "qulificationSearch" */ '@/views/qulification/searchHistory.vue') // 资质查询
}, {
path: '/qulification/list',
name: 'QulificationList',
......
const Routers = [
{
path: '/selfregulating',
name: 'SelfRegulating',
meta: {
title: '自律规则',
isLogin: false
},
component: () => import(/* webpackChunkName: "SelfRegulating" */ '@/views/selfregulating/index.vue') // 自律规则
},
{
path: '/selfregulating/search',
name: 'SelfRegulatingSearch',
meta: {
title: '自律规则',
isLogin: false
},
component: () => import(/* webpackChunkName: "SelfRegulatingSearch" */ '@/views/selfregulating/search.vue') // 自律规则搜索
},
]
export default Routers
\ No newline at end of file
......@@ -16,7 +16,7 @@
</template>
</van-field>
<p class="wraning_tip">
<span v-show="isLogin">{{$t('mlogin.warningTip')}}</span>
<span v-show="warningShow">{{$t('mlogin.warningTip')}}</span>
</p>
<div>
<van-button :class="isLogin ? 'login_btn' : 'act_btn login_btn'" block type="info" native-type="submit" @click="loginSubmit">登录</van-button>
......@@ -46,6 +46,9 @@ export default {
computed: {
isLogin() {
return !this.code || this.code === '' || !this.password || this.password === '' || !this.checkCode || this.checkCode === ''
},
warningShow() {
return !(this.code || this.password || this.checkCode)
}
},
methods: {
......@@ -84,7 +87,7 @@ export default {
align-items: center;
justify-content: center;
.login_form {
width: 330px;
width: 340px;
padding: 20px 0;
background-color: #ffffff;
::v-deep .van-cell:not(:last-child)::after {
......@@ -113,6 +116,7 @@ export default {
}
.wraning_tip {
min-height: 17px;
line-height: 17px;
color: #ea5c6d;
font-size: 12px;
margin-top: 16px;
......
<template>
<div class="qulification_search_container">
<div v-if="isSearch" class="search_bar">
<van-field v-model="searchName" :placeholder="placeholdTxt" @input="inputChange">
<template #label>
<div class="select" :style="searchName && searchName!== '' ? 'opacity: 1' : 'opacity: 0.6'" @click="showSheet = true">
<van-icon name="search" />
<span class="qulification_type">{{qulificationType}}</span>
<van-icon name="play" />
</div>
</template>
</van-field>
</div>
<section v-else class="search_box">
<span class="select" @click="showSheet = true">
<van-icon name="search" />
<span class="qulification_type">{{qulificationType}}</span>
<van-icon name="play" />
</span>
<div class="visual_input" @click="toListSearch">
<span>{{placeholdTxt}}</span>
</div>
</section>
<van-action-sheet v-model="showSheet" :actions="actions" :cancel-text="$t('button.cancel')" close-on-click-action @select="onSelect" />
</div>
</template>
<script>
export default {
name: 'QulificationSearch',
props: {
isSearch: {
type: Boolean,
default: () => {
return false
}
}
},
computed: {
actions() {
return [this.$t('qulification.searchAction').org, this.$t('qulification.searchAction').product ]
}
},
data() {
return {
qulificationType: '',
placeholdTxt: '',
showSheet: false,
searchName: ''
}
},
created() {
this.defaultInput()
},
methods: {
defaultInput() {
this.qulificationType = this.$t('qulification.searchAction').org.name
this.placeholdTxt = this.$t('qulification.searchAction').org.placeholder
},
onSelect(item) {
this.show = false;
this.qulificationType = item.name;
this.placeholdTxt = this.$t('qulification.searchAction')[item.key].placeholder
this.$emit('select', item)
},
toListSearch() {
this.$router.push({name: 'QulificationList'})
},
inputChange() {
this.$emit('input', this.searchName)
}
}
}
</script>
<style lang="less" scoped>
.search_box {
width: 384px;
margin: 30px auto 25px;
border-radius: 16px;
background-color: rgba(246, 246, 246, 1);
display: flex;
font-size: 12px;
.select {
color: #999999;
display: flex;
align-items: center;
padding: 10px 10px 10px 5px;
.van-icon-search {
margin: 0 11px;
font-size: 12px;
}
.qulification_type {
color: #333333;
margin-right: 5px;
}
.van-icon-play {
transform: rotate(90deg);
-ms-transform: rotate(90deg); /* IE 9 */
-moz-transform: rotate(90deg); /* Firefox */
-webkit-transform: rotate(90deg); /* Safari 和 Chrome */
-o-transform: rotate(90deg);
}
}
.visual_input {
// width: 285px;
color: #999999;
padding: 10px 0;
overflow: hidden; /*超出部分隐藏*/
white-space: nowrap; /*不换行*/
text-overflow: ellipsis; /*超出部分文字以...显示*/
span {
padding-left: 15px;
border-left: 0.5px solid #999999;
}
}
}
.search_bar {
width: 384px;
padding: 10px 15px;
.van-cell {
border-radius: 50px;
background-color: rgba(255, 255, 255, 0.3);
padding: 5px;
line-height: 17px;
::v-deep .van-field__control {
font-size: 12px;
color: #ffffff;
}
::v-deep input::-webkit-input-placeholder {
color: rgba(255, 255, 255, 0.6);
}
::v-deep input::-moz-input-placeholder {
color: rgba(255, 255, 255, 0.6);
}
::v-deep input::-ms-input-placeholder {
color: rgba(255, 255, 255, 0.6);
}
}
::v-deep .van-field__label {
width: auto;
}
.select {
color: #ffffff;
padding: 0 10px 0 5px;
font-size: 12px;
border-right: 0.5px solid #ffffff;
.van-icon-search {
margin: 0 11px;
}
.qulification_type {
margin-right: 5px;
}
.van-icon-play {
transform: rotate(90deg);
-ms-transform: rotate(90deg); /* IE 9 */
-moz-transform: rotate(90deg); /* Firefox */
-webkit-transform: rotate(90deg); /* Safari 和 Chrome */
-o-transform: rotate(90deg);
}
}
}
</style>
......@@ -2,17 +2,7 @@
<div class="list_container">
<NafmHeader navClass="nafmii-head-bg3" title="资质查询">
<template slot="bottom">
<div class="search_bar">
<van-field v-model="searchName" placeholder="请输入机构名称">
<template #label>
<div class="select" :style="searchName && searchName!== '' ? 'opacity: 1' : 'opacity: 0.6'">
<van-icon name="search" />
<span class="qulification_type">{{qulificationType}}</span>
<van-icon name="play" />
</div>
</template>
</van-field>
</div>
<search :isSearch="true" v-model="searchName"></search>
</template>
</NafmHeader>
<main class="list_content">
......@@ -20,9 +10,7 @@
<van-cell-group>
<van-cell v-for="item in searchList" :key="item.id" icon="search">
<template slot="title">
<!-- <van-icon name="search" /> -->
<!-- <span>{{item.name.replace(new RegExp(searchName, 'g'), '<span></span>')}}</span> -->
<span>{{item.name}}</span>
<span v-html="highligntTxt(item.name)"></span>
</template>
</van-cell>
</van-cell-group>
......@@ -33,57 +21,20 @@
<script>
export default {
name: 'QulificationList',
components: {
search: ()=>import('./components/search.vue')
},
data() {
return {
searchName: 'aaa',
searchName: '',
qulificationType: '机构',
searchList: [{name: 'aaaaaaabbbbb', id: 111}]
}
}
}
</script>
<style lang="less" scoped>
.search_bar {
width: 384px;
padding: 10px 15px;
.van-cell {
border-radius: 50px;
background-color: rgba(255, 255, 255, 0.3);
padding: 0px;
::v-deep .van-field__control {
font-size: 12px;
color: #ffffff;
searchList: []
}
::v-deep input::-webkit-input-placeholder {
color: rgba(255, 255, 255, 0.6);
}
::v-deep input::-moz-input-placeholder {
color: rgba(255, 255, 255, 0.6);
}
::v-deep input::-ms-input-placeholder {
color: rgba(255, 255, 255, 0.6);
},
methods: {
highligntTxt(txt) {
return txt.replace(this.searchName, `<font color='#2861AC'>${this.searchName}</font>`)
}
}
}
.select {
color: #ffffff;
display: flex;
align-items: center;
padding: 0 10px 0 5px;
font-size: 12px;
.van-icon-search {
margin: 0 11px;
}
.qulification_type {
margin-right: 5px;
}
.van-icon-play {
transform: rotate(90deg);
-ms-transform: rotate(90deg); /* IE 9 */
-moz-transform: rotate(90deg); /* Firefox */
-webkit-transform: rotate(90deg); /* Safari 和 Chrome */
-o-transform: rotate(90deg);
}
}
</style>
</script>
......@@ -5,16 +5,7 @@
<section class="logo">
</section>
<h3 class="search_title">{{$t('qulification.title')}}</h3>
<section class="search_box">
<span class="select" @click="showSheet = true">
<van-icon name="search" />
<span class="qulification_type">{{qulificationType}}</span>
<van-icon name="play" />
</span>
<div class="visual_input" @click="toListSearch">
<span>{{placeholdTxt}}</span>
</div>
</section>
<search @select="searchSelect"></search>
<section class="search_history">
<div class="history_header">
<span>{{$t('qulification.history')}}</span>
......@@ -27,26 +18,16 @@
</div>
</section>
</main>
<van-action-sheet v-model="showSheet" :actions="actions" :cancel-text="$t('button.cancel')" close-on-click-action @select="onSelect" />
</div>
</template>
<script>
export default {
name: 'QulificationSearch',
computed: {
actions() {
return [this.$t('qulification.searchAction').org, this.$t('qulification.searchAction').product ]
}
components: {
search: ()=>import('./components/search.vue')
},
data() {
return {
// actions: [
// {name:'机构', type: 'org' },
// {name:'非法人产品', type: 'pro'}
// ],
qulificationType: '',
placeholdTxt: '',
showSheet: false,
historyItems: [{
name: 'jdnskjfnjkds',
id:11111
......@@ -62,23 +43,18 @@ export default {
}
},
created() {
this.defaultInput()
this.searchSelect()
},
methods: {
defaultInput() {
this.qulificationType = this.$t('qulification.searchAction').org.name
this.placeholdTxt = this.$t('qulification.searchAction').org.placeholder
},
onSelect(item) {
this.show = false;
this.qulificationType = item.name;
this.placeholdTxt = this.$t('qulification.searchAction')[item.key].placeholder
},
toListSearch() {
this.$router.push({name: 'QulificationList'})
},
toDetail() {
this.$router.push({name: 'QulificationDetail'})
},
searchSelect(seachType) {
}
}
}
......@@ -101,47 +77,6 @@ export default {
color: #333333;
text-align: center;
}
.search_box {
width: 384px;
margin: 30px auto 25px;
border-radius: 16px;
background-color: rgba(246, 246, 246, 1);
display: flex;
font-size: 12px;
.select {
color: #999999;
display: flex;
align-items: center;
padding: 10px 10px 10px 5px;
.van-icon-search {
margin: 0 11px;
font-size: 12px;
}
.qulification_type {
color: #333333;
margin-right: 5px;
}
.van-icon-play {
transform: rotate(90deg);
-ms-transform: rotate(90deg); /* IE 9 */
-moz-transform: rotate(90deg); /* Firefox */
-webkit-transform: rotate(90deg); /* Safari 和 Chrome */
-o-transform: rotate(90deg);
}
}
.visual_input {
// width: 285px;
color: #999999;
padding: 10px 0;
overflow: hidden; /*超出部分隐藏*/
white-space: nowrap; /*不换行*/
text-overflow: ellipsis; /*超出部分文字以...显示*/
span {
padding-left: 15px;
border-left: 0.5px solid #999999;
}
}
}
.search_history {
.history_header {
line-height: 25px;
......
<template>
<section class="data-list-layout">
<NafmPullRefresh v-model="isRefresh" @refresh="isRefresh = true">
<NafmPageList v-model="isRefresh" :onLoad="handleLoad">
<template v-slot="{datas}">
<DataListItem v-for="(item, idx) in datas" :key="idx" :data="item" :dateText="$t('home.updateDate')" />
</template>
</NafmPageList>
</NafmPullRefresh>
</section>
</template>
<script>
import NafmPullRefresh from '@/components/NafmPullRefresh'
import NafmPageList from '@/components/NafmPageList'
import DataListItem from '@/components/DataListItem'
export default {
name: 'DataListLayout',
components: { NafmPullRefresh, NafmPageList, DataListItem },
props: {
tab: {
type: Object,
default: () => { return {} }
}
},
data () {
return {
isRefresh: false,
}
},
methods: {
handleLoad (param) {
return new Promise(resolve => {
setTimeout(() => {
resolve({
data: [
{
title: '创新推出碳中和债,助理实现30·60目标',
date: '2020-02-02',
dataType: '公告',
},
{
title: '创新推出碳中和债,助理实现30·60目标',
date: '2020-02-02',
dataType: '公告',
}
]
})
}, 2000);
})
}
}
}
</script>
<style lang="less" scoped>
@PaddingSize: 15px;
.data-list-layout {
height: 100%;
padding: 0 @PaddingSize;
/deep/.van-pull-refresh {
height: 100%;
}
}
</style>
\ No newline at end of file
<template>
<div class="self-regulating">
<nafm-header navClass="nafmii-head-bg3">
<template slot="bottom">
<SearchInput :placeholder="$t('home.searchPlaceholder')" />
<div class="nav-placeholder"></div>
</template>
</nafm-header>
<van-tabs v-model="active" animated scrollspy swipe-threshold="3" class="data-tabs">
<van-tab :title="item.name" v-for="(item,idx) in tabs" :key="idx">
<DataListLayout :tab="item" />
</van-tab>
</van-tabs>
</div>
</template>
<script>
import SearchInput from '@/components/SearchInput'
import DataListLayout from './components/DataListLayout'
export default {
name: 'SelfRegulating',
components: { SearchInput, DataListLayout },
data () {
return {
active: 0,
tabs: []
}
},
methods: {
handleTabs () {
setTimeout(() => {
this.tabs = [
{ id: 1, name: '全部' },
{ id: 2, name: '会员管理' },
{ id: 3, name: '产品创新' },
{ id: 4, name: '注册发行' },
{ id: 5, name: '后续管理' },
{ id: 6, name: '其他' },
]
}, 100);
}
},
mounted () {
this.handleTabs()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/css/tabsmixin.less';
@PlaceholderHeight: 43px;
.self-regulating {
height: 100%;
display: flex;
flex-direction: column;
.nav-placeholder {
height: @PlaceholderHeight;
width: 100%;
}
.data-tabs {
flex: 1;
z-index: 10;
margin-top: -@PlaceholderHeight;
display: flex;
flex-direction: column;
}
}
</style>
\ No newline at end of file
<template>
</template>
<script>
export default {
name: 'SelfRegulatingSearch'
}
</script>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!