Merge branch 'master' of http://122.51.230.86:3000/dianliang/dl_uniapp
@ -58,7 +58,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
z-index: 999;
|
z-index: 9;
|
||||||
|
|
||||||
.navigationBarBack {
|
.navigationBarBack {
|
||||||
width: 200rpx;
|
width: 200rpx;
|
||||||
|
@ -113,8 +113,7 @@
|
|||||||
height: 130rpx;
|
height: 130rpx;
|
||||||
|
|
||||||
.dl-image {
|
.dl-image {
|
||||||
width: 70rpx;
|
height: 45rpx;
|
||||||
height: 55rpx;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.dl-vip {
|
.dl-vip {
|
||||||
|
@ -24,6 +24,9 @@ module.exports = {
|
|||||||
}, {
|
}, {
|
||||||
title: "新人手册",
|
title: "新人手册",
|
||||||
code: "new_people_text"
|
code: "new_people_text"
|
||||||
|
}, {
|
||||||
|
title: "认证指南",
|
||||||
|
code: "user_auth_text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
12
pages.json
@ -149,6 +149,18 @@
|
|||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": ""
|
"navigationBarTitleText": ""
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "auth/auth-choose",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "auth/auth-form",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}],
|
}],
|
||||||
|
161
pages/mine/auth/auth-choose.vue
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
<template>
|
||||||
|
<view class="auth-choose-box">
|
||||||
|
<navigation-bar-vue title="通告主认证" style="width: 100%;" background-color="#ffffff"
|
||||||
|
title-color="#000000"></navigation-bar-vue>
|
||||||
|
<view class="choose-detail">
|
||||||
|
<view class="item-title">依照相关法律法规,请先验证身份</view>
|
||||||
|
<view class="item-detail" style="background-color: #FFF1F3;" @click="goForm('01')">
|
||||||
|
<view class="detail-left-box">
|
||||||
|
<view class="left-top">
|
||||||
|
<image src="@/static/mine/auth/dian.png" mode="aspectFit"></image>
|
||||||
|
<text>品牌方</text>
|
||||||
|
</view>
|
||||||
|
<view class="left-bottom">如果你要推广自己公司的产品,请选择“品牌方”</view>
|
||||||
|
</view>
|
||||||
|
<image class="detail-right-img" src="@/static/mine/auth/pinpaifang.png" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
<view class="item-detail" style="background-color: #F2FAFE;" @click="goForm('02')">
|
||||||
|
<view class="detail-left-box">
|
||||||
|
<view class="left-top">
|
||||||
|
<image src="@/static/mine/auth/dian.png" mode="aspectFit"></image>
|
||||||
|
<text>代运营公司</text>
|
||||||
|
</view>
|
||||||
|
<view class="left-bottom">如果你所在的公司需要推广其他公司的产品,请选择“代运营公司”</view>
|
||||||
|
</view>
|
||||||
|
<image class="detail-right-img" src="@/static/mine/auth/gognsi.png" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
<view class="item-detail" style="background-color: #F8F4FF;" @click="goForm('03')">
|
||||||
|
<view class="detail-left-box">
|
||||||
|
<view class="left-top">
|
||||||
|
<image src="@/static/mine/auth/dian.png" mode="aspectFit"></image>
|
||||||
|
<text>个人PR</text>
|
||||||
|
</view>
|
||||||
|
<view class="left-bottom">如果你是以个人名义推广其他公司的产品,请选择“个人PR”</view>
|
||||||
|
</view>
|
||||||
|
<image class="detail-right-img" src="@/static/mine/auth/geren.png" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
<view class="item-detail" style="background-color: #FEF8F3;" @click="goForm('04')">
|
||||||
|
<view class="detail-left-box">
|
||||||
|
<view class="left-top">
|
||||||
|
<image src="@/static/mine/auth/dian.png" mode="aspectFit"></image>
|
||||||
|
<text>电商</text>
|
||||||
|
</view>
|
||||||
|
<view class="left-bottom">如果你是淘宝/天猫/京东等电商商家,想推广自己店铺的产品,请选择“电商”</view>
|
||||||
|
</view>
|
||||||
|
<image class="detail-right-img" src="@/static/mine/auth/dianshang.png" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import navigationBarVue from '@/components/navigation/navigationBar.vue';
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
navigationBarVue
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
goForm(value) {
|
||||||
|
this.$tab.navigateTo('/pages/mine/auth/auth-form?key=' + value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.auth-choose-box {
|
||||||
|
padding-top: calc(90rpx + var(--status-bar-height));
|
||||||
|
border-top: 1rpx solid #F4F4F4;
|
||||||
|
background-color: white;
|
||||||
|
width: 100%;
|
||||||
|
color: #363636;
|
||||||
|
font-size: 30rpx;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: self-start;
|
||||||
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.choose-detail {
|
||||||
|
border-top: 1rpx solid #F4F4F4;
|
||||||
|
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 95rpx);
|
||||||
|
overflow-y: scroll;
|
||||||
|
width: 100%;
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: self-start;
|
||||||
|
justify-content: start;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.item-title {
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
background-image: url('/static/mine/auth/xiantiao.png');
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: bottom right;
|
||||||
|
background-size: 43% 60%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-detail {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
padding: 30rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
|
||||||
|
.detail-left-box {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
padding-right: 20rpx;
|
||||||
|
|
||||||
|
.left-top {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 30rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
margin-left: 10rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 34rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.left-bottom {
|
||||||
|
font-size: 26rpx;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-right-img {
|
||||||
|
width: 180rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
605
pages/mine/auth/auth-form.vue
Normal file
@ -0,0 +1,605 @@
|
|||||||
|
<template>
|
||||||
|
<view class="container-box">
|
||||||
|
<navigation-bar-vue title="通告主认证" style="width: 100%;" background-color="#ffffff"
|
||||||
|
title-color="#000000"></navigation-bar-vue>
|
||||||
|
<view class="content">
|
||||||
|
<view class="title-max-box">
|
||||||
|
<view class="title-box">
|
||||||
|
<view class="item-title">
|
||||||
|
<view style="padding-bottom: 20rpx;">我是</view>
|
||||||
|
<view class="bg-img">“{{identityTypeText}}”</view>
|
||||||
|
</view>
|
||||||
|
<view class="title-right" @click="viewAuthText()">认证指南<uni-icons type="right" color="#623109"
|
||||||
|
size="12"></uni-icons></view>
|
||||||
|
</view>
|
||||||
|
<view class="form-warn">
|
||||||
|
<image src="@/static/detail/warn.png" mode="aspectFit"></image>
|
||||||
|
<text>平台不会公开用户隐私信息,仅用于验证身份。</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 表单区域 -->
|
||||||
|
<view class="content-detail-box">
|
||||||
|
<!-- 资质认证 -->
|
||||||
|
<view class="form-box">
|
||||||
|
<view class="left-top">
|
||||||
|
<image src="@/static/mine/auth/dian.png" mode="aspectFit"></image>
|
||||||
|
<text>资质认证</text>
|
||||||
|
</view>
|
||||||
|
<view class="form-content">
|
||||||
|
<view class="item-field-row" v-if="'03'!=identityType">
|
||||||
|
<view class="img-upload" v-if="'01'==identityType">
|
||||||
|
<uni-file-picker iconPath="/static/mine/auth/shangbiao.png" :value="SBList"
|
||||||
|
imgTitle="商标注册证" :sizeType="sizeType" @select="afterRead($event,'SBList')"
|
||||||
|
@delete="deleteFile($event,'SBList')" limit="1"></uni-file-picker>
|
||||||
|
</view>
|
||||||
|
<view class="img-upload">
|
||||||
|
<uni-file-picker iconPath="/static/mine/auth/yingyezhizhao.png" required="true"
|
||||||
|
:value="YYZZList" imgTitle="营业执照" :sizeType="sizeType"
|
||||||
|
@select="afterRead($event,'YYZZList')" @delete="deleteFile($event,'YYZZList')"
|
||||||
|
limit="1"></uni-file-picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field" v-if="'02'==identityType || '03'==identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>与品牌方沟通记录
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<uni-file-picker :value="GTList" :sizeType="sizeType"
|
||||||
|
@select="afterRead($event,'GTList')" @delete="deleteFile($event,'GTList')"
|
||||||
|
limit="9"></uni-file-picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field" v-if="'03'==identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>品牌投放授权/合同
|
||||||
|
</view>
|
||||||
|
<view class="warn-little-text">* 需加盖申请主体红色公章(不支持PS章、电子章、部门章及专用章)</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<uni-file-picker :value="SQList" :sizeType="sizeType"
|
||||||
|
@select="afterRead($event,'SQList')" @delete="deleteFile($event,'SQList')"
|
||||||
|
limit="9"></uni-file-picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field-row" v-if="'01'==identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>品牌名
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<input class="uni-input" v-model="dataObj.name" type="number" placeholder="请输入" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field-row" v-if="'01'==identityType || '02'==identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>公司全称
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<input class="uni-input" v-model="dataObj.name" type="number" placeholder="请输入" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field-row" v-if="'03'==identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>授权公司全称
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<input class="uni-input" v-model="dataObj.name" type="number" placeholder="请输入" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field" v-if="'04'==identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>店铺后台截图
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<uni-file-picker :value="DPHTList" :sizeType="sizeType"
|
||||||
|
@select="afterRead($event,'DPHTList')" @delete="deleteFile($event,'DPHTList')"
|
||||||
|
limit="9"></uni-file-picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field" v-if="'04'==identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>店铺物流截图
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<uni-file-picker :value="DPWLList" :sizeType="sizeType"
|
||||||
|
@select="afterRead($event,'DPWLList')" @delete="deleteFile($event,'DPWLList')"
|
||||||
|
limit="9"></uni-file-picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field-row" v-if="'04'==identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>店铺名称
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<input class="uni-input" v-model="dataObj.name" type="number" placeholder="请输入" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field-row" v-if="'04'==identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>店铺链接
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<input class="uni-input" v-model="dataObj.name" type="number" placeholder="请输入" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field-row">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>行业、领域
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<input class="uni-input" v-model="dataObj.name" type="number" placeholder="请输入" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field" v-if="'03'!=identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>公司所在城市
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<uni-data-picker placeholder="请选择" popup-title="请选择" :localdata="dataTree"
|
||||||
|
v-model="dataObj.cityId" @change="onchange" @nodeclick="onnodeclick"
|
||||||
|
@popupopened="onpopupopened" @popupclosed="onpopupclosed">
|
||||||
|
</uni-data-picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field" v-if="'03'==identityType">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>个人所在城市
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<uni-data-picker placeholder="请选择" popup-title="请选择" :localdata="dataTree"
|
||||||
|
v-model="dataObj.cityId" @change="onchange" @nodeclick="onnodeclick"
|
||||||
|
@popupopened="onpopupopened" @popupclosed="onpopupclosed">
|
||||||
|
</uni-data-picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 身份认证 -->
|
||||||
|
<view class="form-box">
|
||||||
|
<view class="left-top">
|
||||||
|
<image src="@/static/mine/auth/dian.png" mode="aspectFit"></image>
|
||||||
|
<text>身份认证</text>
|
||||||
|
</view>
|
||||||
|
<view class="form-content">
|
||||||
|
<view class="item-field">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>企业微信/钉钉个人资料页/在职证明
|
||||||
|
</view>
|
||||||
|
<view class="warn-little-text">* 需要包含姓名、公司名和职位。在职证明需加盖申请主体红色公章(不支持PS章、电子章、部门章及专用章)</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<uni-file-picker :value="SFList" :sizeType="sizeType"
|
||||||
|
@select="afterRead($event,'SFList')" @delete="deleteFile($event,'SFList')"
|
||||||
|
limit="9"></uni-file-picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field-row">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>姓名
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<input class="uni-input" v-model="dataObj.name" type="number" placeholder="请输入" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field-row">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
<image src="@/static/mine/required.png" mode="aspectFit"></image>身份证号
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<input class="uni-input" v-model="dataObj.name" type="number" placeholder="请输入" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-field">
|
||||||
|
<view class="item-lable is-required">
|
||||||
|
附言(选填)
|
||||||
|
</view>
|
||||||
|
<view class="item-value">
|
||||||
|
<textarea style="margin-top: 10rpx;" v-model="dataObj.detail" placeholder="请输入详细地址" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="submit-field" style="align-items: center;">
|
||||||
|
<view class="submit-box" @click="submitForm()">提交认证</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import navigationBarVue from '@/components/navigation/navigationBar.vue';
|
||||||
|
import {
|
||||||
|
getTextByIdentityType
|
||||||
|
} from '@/utils/common.js'
|
||||||
|
import {
|
||||||
|
treeCity
|
||||||
|
} from '@/api/business/base.js'
|
||||||
|
import config from '@/config';
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
navigationBarVue
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
globalConfig: getApp().globalData.config,
|
||||||
|
//当前选择的认证身份
|
||||||
|
identityType: "",
|
||||||
|
identityTypeText: "",
|
||||||
|
//城市树结构
|
||||||
|
dataTree: [],
|
||||||
|
sizeType: ['compressed'],
|
||||||
|
//商标
|
||||||
|
SBList: [],
|
||||||
|
//营业执照
|
||||||
|
YYZZList: [],
|
||||||
|
//身份认证材料
|
||||||
|
SFList: [],
|
||||||
|
//沟通记录
|
||||||
|
GTList: [],
|
||||||
|
//授权合同
|
||||||
|
SQList: [],
|
||||||
|
//店铺后台截图
|
||||||
|
DPHTList: [],
|
||||||
|
//店铺物流截图
|
||||||
|
DPWLList: [],
|
||||||
|
dataObj: {
|
||||||
|
name: ""
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(option) {
|
||||||
|
this.initAddress();
|
||||||
|
this.identityType = option.key
|
||||||
|
this.identityTypeText = getTextByIdentityType(option.key)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
viewAuthText() {
|
||||||
|
this.$tab.navigateTo(
|
||||||
|
`/pages/common/richview/index?title=${this.globalConfig.appInfo.agreements[4].title}&code=${this.globalConfig.appInfo.agreements[4].code}`
|
||||||
|
)
|
||||||
|
},
|
||||||
|
/**初始化树结构*/
|
||||||
|
initAddress() {
|
||||||
|
treeCity().then(res => {
|
||||||
|
this.dataTree = res.data
|
||||||
|
}).catch((e) => {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'error',
|
||||||
|
duration: 2000,
|
||||||
|
title: e
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
|
afterRead(file, key) {
|
||||||
|
for (let i = 0; i < file.tempFilePaths.length; i++) {
|
||||||
|
upload({
|
||||||
|
url: '',
|
||||||
|
filePath: file.tempFilePaths[i]
|
||||||
|
}).then((res) => {
|
||||||
|
console.log(res, '215')
|
||||||
|
this[key].push({
|
||||||
|
url: config.baseUrl + res.data
|
||||||
|
})
|
||||||
|
console.log(this[key], "this[key]")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deleteFile(index, key) {
|
||||||
|
console.log('删除文件', this[key][index]);
|
||||||
|
this[key].splice(index, 1);
|
||||||
|
},
|
||||||
|
onnodeclick(e) {
|
||||||
|
console.log(e, 135);
|
||||||
|
},
|
||||||
|
onpopupopened(e) {
|
||||||
|
console.log('popupopened');
|
||||||
|
},
|
||||||
|
onpopupclosed(e) {
|
||||||
|
console.log('popupclosed');
|
||||||
|
},
|
||||||
|
onchange(e) {
|
||||||
|
console.log('onchange:', e);
|
||||||
|
},
|
||||||
|
submit() {
|
||||||
|
console.log(this.dataObj)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.container-box {
|
||||||
|
padding-top: calc(90rpx + var(--status-bar-height));
|
||||||
|
border-top: 1rpx solid #F4F4F4;
|
||||||
|
background-color: white;
|
||||||
|
width: 100%;
|
||||||
|
color: #363636;
|
||||||
|
font-size: 30rpx;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: self-start;
|
||||||
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.content {
|
||||||
|
border-top: 1rpx solid #F4F4F4;
|
||||||
|
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 95rpx);
|
||||||
|
overflow-y: scroll;
|
||||||
|
width: 100%;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: self-start;
|
||||||
|
justify-content: start;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.title-max-box {
|
||||||
|
width: 100%;
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: self-start;
|
||||||
|
justify-content: start;
|
||||||
|
|
||||||
|
.title-box {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.item-title {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
.bg-img {
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
background-image: url('/static/mine/auth/xiantiao.png');
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: bottom right;
|
||||||
|
background-size: 100% 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.title-right {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
font-size: 24rpx;
|
||||||
|
width: 160rpx;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-warn {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
width: 100%;
|
||||||
|
font-size: 24rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
background-color: #FDECD9;
|
||||||
|
color: #FF6627;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 15rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-detail-box {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: self-start;
|
||||||
|
justify-content: start;
|
||||||
|
background-color: #F2F2F2;
|
||||||
|
padding: 20rpx;
|
||||||
|
|
||||||
|
.form-box {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 20rpx 20rpx;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: self-start;
|
||||||
|
justify-content: start;
|
||||||
|
|
||||||
|
.left-top {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 30rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
margin-left: 10rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 32rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-content {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.item-field-row {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: self-start;
|
||||||
|
justify-content: start;
|
||||||
|
padding-bottom: 15rpx;
|
||||||
|
|
||||||
|
.img-upload {
|
||||||
|
width: 50%;
|
||||||
|
margin: 10rpx 10rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-required {
|
||||||
|
image {
|
||||||
|
width: 20rpx;
|
||||||
|
height: 20rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-lable {
|
||||||
|
width: 210rpx;
|
||||||
|
padding: 15rpx 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-value {
|
||||||
|
flex: 1;
|
||||||
|
padding-left: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
|
||||||
|
input {
|
||||||
|
width: 100%;
|
||||||
|
padding-left: 20rpx;
|
||||||
|
line-height: 1;
|
||||||
|
height: 70rpx;
|
||||||
|
border: 1rpx solid #dcdfe6;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.choose-add {
|
||||||
|
color: #686868;
|
||||||
|
padding: 10rpx 0 10rpx 20rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
border: 1rpx solid #dcdfe6;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
width: 100%;
|
||||||
|
height: 150rpx;
|
||||||
|
color: #686868;
|
||||||
|
padding: 10rpx 0 10rpx 20rpx;
|
||||||
|
border: 1rpx solid #dcdfe6;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-field {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: self-start;
|
||||||
|
justify-content: center;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
.warn-little-text {
|
||||||
|
color: #FE9860;
|
||||||
|
font-size: 18rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-required {
|
||||||
|
image {
|
||||||
|
width: 20rpx;
|
||||||
|
height: 20rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-lable {
|
||||||
|
padding: 15rpx 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-value {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
input {
|
||||||
|
width: 100%;
|
||||||
|
padding-left: 20rpx;
|
||||||
|
line-height: 1;
|
||||||
|
height: 70rpx;
|
||||||
|
border: 1rpx solid #dcdfe6;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.choose-add {
|
||||||
|
color: #686868;
|
||||||
|
padding: 10rpx 0 10rpx 20rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
border: 1rpx solid #dcdfe6;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
width: 100%;
|
||||||
|
height: 150rpx;
|
||||||
|
color: #686868;
|
||||||
|
padding: 10rpx 0 10rpx 20rpx;
|
||||||
|
border: 1rpx solid #dcdfe6;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit-field {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: self-start;
|
||||||
|
justify-content: center;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
.submit-box {
|
||||||
|
padding: 15rpx 0;
|
||||||
|
background-color: #FC1F3E;
|
||||||
|
color: white;
|
||||||
|
width: 80%;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -2,7 +2,7 @@
|
|||||||
<view :class="['my-card-box',ifChoose?'has-footer':'']">
|
<view :class="['my-card-box',ifChoose?'has-footer':'']">
|
||||||
<navigation-bar-vue title="我的名片" style="width: 100%;" background-color="#ffffff"
|
<navigation-bar-vue title="我的名片" style="width: 100%;" background-color="#ffffff"
|
||||||
title-color="#000000"></navigation-bar-vue>
|
title-color="#000000"></navigation-bar-vue>
|
||||||
<view class="opt-box" v-if="!ifChoose">
|
<view class="opt-box">
|
||||||
<view v-if="!ifEdit" class="item-dom" @click="manager(true)"><uni-icons type="bars" color="#FC1F3E"
|
<view v-if="!ifEdit" class="item-dom" @click="manager(true)"><uni-icons type="bars" color="#FC1F3E"
|
||||||
size="16"></uni-icons><text>管理</text></view>
|
size="16"></uni-icons><text>管理</text></view>
|
||||||
<view v-if="!ifEdit" class="item-dom" @click="addCard()">
|
<view v-if="!ifEdit" class="item-dom" @click="addCard()">
|
||||||
@ -19,7 +19,7 @@
|
|||||||
<view class="card-dom " v-for="item in busiCardList">
|
<view class="card-dom " v-for="item in busiCardList">
|
||||||
<!-- 多选框--管理状态或者选择名片时使用 -->
|
<!-- 多选框--管理状态或者选择名片时使用 -->
|
||||||
<view class="choose-dom" v-if="ifChoose">
|
<view class="choose-dom" v-if="ifChoose">
|
||||||
<uni-data-checkbox v-model="item.choosed" :disabled="1!=item.approvalStatus" multiple
|
<uni-data-checkbox v-model="item.choosed" :disabled="item.canUse=='0'" multiple
|
||||||
:localdata="checkboxArray" />
|
:localdata="checkboxArray" />
|
||||||
</view>
|
</view>
|
||||||
<view :class="['right-content',item.choosed.length>0?'click':'']">
|
<view :class="['right-content',item.choosed.length>0?'click':'']">
|
||||||
@ -62,7 +62,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="right-button">
|
<view class="right-button">
|
||||||
<text>已选择{{getChooseNum}}张</text>
|
<text>已选择{{getChooseNum}}张</text>
|
||||||
<view class="button-dom">保存</view>
|
<view class="button-dom" @click="chooseOk">保存</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -77,12 +77,20 @@
|
|||||||
getUserBusiCard,
|
getUserBusiCard,
|
||||||
removeBusiCard
|
removeBusiCard
|
||||||
} from '@/api/business/member.js'
|
} from '@/api/business/member.js'
|
||||||
|
import {
|
||||||
|
getSignCard
|
||||||
|
} from '@/api/business/signCard.js'
|
||||||
|
import {
|
||||||
|
hasRights
|
||||||
|
} from '@/utils/common.js'
|
||||||
|
import rightsCode from '@/utils/rightsCode.js'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
navigationBarVue
|
navigationBarVue
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
noticeId: null,
|
||||||
//是否是管理模式
|
//是否是管理模式
|
||||||
ifEdit: false,
|
ifEdit: false,
|
||||||
//是否是选择模式(默认值为false,管理页面)
|
//是否是选择模式(默认值为false,管理页面)
|
||||||
@ -106,7 +114,29 @@
|
|||||||
onShow() {
|
onShow() {
|
||||||
this.initData();
|
this.initData();
|
||||||
},
|
},
|
||||||
|
onLoad(param) {
|
||||||
|
if (param.ifChoose) {
|
||||||
|
this.ifChoose = param.ifChoose
|
||||||
|
|
||||||
|
}
|
||||||
|
if (param.noticeId) {
|
||||||
|
this.noticeId = param.noticeId
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
chooseOk() {
|
||||||
|
let info = hasRights(rightsCode.manyCardReport)
|
||||||
|
if (!info && this.busiCardList.length > 1) {
|
||||||
|
//未开通不可选多个
|
||||||
|
uni.showToast({
|
||||||
|
title: '未开通会员不可添加多个',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
uni.$emit('updateCard', this.busiCardList)
|
||||||
|
uni.navigateBack()
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 数值单位转换
|
* 数值单位转换
|
||||||
* @param {Object} number
|
* @param {Object} number
|
||||||
@ -117,20 +147,40 @@
|
|||||||
//查询名片列表
|
//查询名片列表
|
||||||
initData() {
|
initData() {
|
||||||
this.busiCardList = []
|
this.busiCardList = []
|
||||||
getUserBusiCard().then(res => {
|
if (!this.ifChoose) {
|
||||||
if (res.data.length > 0) {
|
getUserBusiCard().then(res => {
|
||||||
res.data.map((item) => {
|
if (res.data.length > 0) {
|
||||||
item.choosed = []
|
res.data.map((item) => {
|
||||||
this.busiCardList.push(item)
|
item.choosed = []
|
||||||
})
|
this.busiCardList.push(item)
|
||||||
}
|
})
|
||||||
}).catch((e) => {
|
}
|
||||||
uni.showToast({
|
}).catch((e) => {
|
||||||
icon: 'error',
|
uni.showToast({
|
||||||
duration: 2000,
|
icon: 'error',
|
||||||
title: e
|
duration: 2000,
|
||||||
});
|
title: e
|
||||||
})
|
});
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
getSignCard({
|
||||||
|
noticeId: this.noticeId
|
||||||
|
}).then(res => {
|
||||||
|
if (res.data.list.length > 0) {
|
||||||
|
res.data.list.map((item) => {
|
||||||
|
item.choosed = []
|
||||||
|
this.busiCardList.push(item)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}).catch((e) => {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'error',
|
||||||
|
duration: 2000,
|
||||||
|
title: e
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
/**删除名片*/
|
/**删除名片*/
|
||||||
remove(id) {
|
remove(id) {
|
||||||
@ -159,13 +209,13 @@
|
|||||||
chooseAllFun(e) {
|
chooseAllFun(e) {
|
||||||
if (e.detail.value.length > 0) {
|
if (e.detail.value.length > 0) {
|
||||||
this.busiCardList.map((item) => {
|
this.busiCardList.map((item) => {
|
||||||
if ("1" == item.approvalStatus) {
|
if ("1" == item.canUse) {
|
||||||
item.choosed = [true]
|
item.choosed = [true]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.busiCardList.map((item) => {
|
this.busiCardList.map((item) => {
|
||||||
if ("1" == item.approvalStatus) {
|
if ("1" == item.canUse) {
|
||||||
item.choosed = []
|
item.choosed = []
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -424,4 +474,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -92,7 +92,7 @@
|
|||||||
<view class="box-room">
|
<view class="box-room">
|
||||||
<view class="detail-title">个人信息</view>
|
<view class="detail-title">个人信息</view>
|
||||||
<view class="menu-box top-column">
|
<view class="menu-box top-column">
|
||||||
<view class="menu-item" v-if="'01'==localUserType">
|
<view class="menu-item" v-if="'01'==localUserType" @click="goAuth()">
|
||||||
<!-- <image src="@/static/mine/zuji.png" mode="aspectFit"></image> -->
|
<!-- <image src="@/static/mine/zuji.png" mode="aspectFit"></image> -->
|
||||||
<image src="@/static/mine/caise/renzheng.png" mode="aspectFit"></image>
|
<image src="@/static/mine/caise/renzheng.png" mode="aspectFit"></image>
|
||||||
<view class="text-dom">通告主认证</view>
|
<view class="text-dom">通告主认证</view>
|
||||||
@ -278,6 +278,9 @@
|
|||||||
goMyAddr() {
|
goMyAddr() {
|
||||||
this.$tab.navigateTo('/pages/mine/addr/addr-list')
|
this.$tab.navigateTo('/pages/mine/addr/addr-list')
|
||||||
},
|
},
|
||||||
|
goAuth() {
|
||||||
|
this.$tab.navigateTo('/pages/mine/auth/auth-choose')
|
||||||
|
},
|
||||||
goMemberCard() {
|
goMemberCard() {
|
||||||
this.$tab.navigateTo('/pages/mine/member/member-card?userType='+this.localUserType)
|
this.$tab.navigateTo('/pages/mine/member/member-card?userType='+this.localUserType)
|
||||||
},
|
},
|
||||||
|
@ -435,6 +435,7 @@
|
|||||||
},
|
},
|
||||||
dialogConfirm() {
|
dialogConfirm() {
|
||||||
console.log('点击确认')
|
console.log('点击确认')
|
||||||
|
this.$tab.navigateTo('/pages/mine/card/my-card')
|
||||||
},
|
},
|
||||||
dialogClose() {
|
dialogClose() {
|
||||||
console.log('点击关闭')
|
console.log('点击关闭')
|
||||||
@ -454,7 +455,7 @@
|
|||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
if (res.data.canUserNum > 0) {
|
if (res.data.canUserNum > 0) {
|
||||||
this.$tab.navigateTo('/pages/notice/report')
|
this.$tab.navigateTo('/pages/notice/report?noticeId=' + this.noticeId)
|
||||||
} else {
|
} else {
|
||||||
this.$refs.alertDialog.open()
|
this.$refs.alertDialog.open()
|
||||||
}
|
}
|
||||||
|
@ -4,16 +4,17 @@
|
|||||||
title-color="#3D3D3D"></navigation-bar-vue>
|
title-color="#3D3D3D"></navigation-bar-vue>
|
||||||
<view class="notice-detail-last-box">
|
<view class="notice-detail-last-box">
|
||||||
<view class="dl-notice-title">
|
<view class="dl-notice-title">
|
||||||
<image class="dl-image" src="/static/platform/xiaohongshu.png" mode="aspectFit"></image>
|
<image class="dl-image" :src="'/static/platform/'+noticeDetail.platformCode+'.png'" mode="aspectFit">
|
||||||
<view class="dl-text">找小红书达人种草【蓝月亮】洗衣液</view>
|
</image>
|
||||||
|
<view class="dl-text">{{noticeDetail.title||''}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="end-date-box">
|
<view class="end-date-box">
|
||||||
<view class="end-date">截止日期:2024-03-04</view>
|
<view class="end-date">截止日期:{{noticeDetail.endDate||''}}</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 主体内容区域 -->
|
<!-- 主体内容区域 -->
|
||||||
<view class="main-content">
|
<view class="main-content">
|
||||||
<!-- 会员开通 -->
|
<!-- 会员开通 -->
|
||||||
<view class="dl-member-box" @click="goMemberCard()">
|
<view class="dl-member-box" @click="goMemberCard()" v-if="!rightInfo.manyCardReport">
|
||||||
<view class="dl-left">
|
<view class="dl-left">
|
||||||
<image class="dl-icon" src="@/static/index/zuanshi.png" mode="aspectFit"></image>
|
<image class="dl-icon" src="@/static/index/zuanshi.png" mode="aspectFit"></image>
|
||||||
<text>开通会员 添加更多名片</text>
|
<text>开通会员 添加更多名片</text>
|
||||||
@ -23,7 +24,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 添加更多名片 -->
|
<!-- 添加更多名片 -->
|
||||||
<view class="add-more-card" @click="goMemberCard()">
|
<view class="add-more-card" @click="goSignCard()" v-else>
|
||||||
<view class="dl-left">
|
<view class="dl-left">
|
||||||
<image class="dl-icon" src="@/static/detail/card.png" mode="aspectFit"></image>
|
<image class="dl-icon" src="@/static/detail/card.png" mode="aspectFit"></image>
|
||||||
<text>添加更多名片</text>
|
<text>添加更多名片</text>
|
||||||
@ -36,23 +37,23 @@
|
|||||||
<view class="member-card-box" v-for="(item,index) in cardList">
|
<view class="member-card-box" v-for="(item,index) in cardList">
|
||||||
<view class="card-title">
|
<view class="card-title">
|
||||||
<!-- 需要根据平台code取对应的图片 TODO -->
|
<!-- 需要根据平台code取对应的图片 TODO -->
|
||||||
<image src="@/static/platform/xiaohongshu.png" mode="aspectFit"></image>
|
<image :src="'/static/platform/'+item.platformCode+'.png'" mode="aspectFit"></image>
|
||||||
<text>小红书博主</text>
|
<text>{{item.platformName+'博主'}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="card-content">
|
<view class="card-content">
|
||||||
<view class="card-person-info">
|
<view class="card-person-info">
|
||||||
<view class="card-name">
|
<view class="card-name">
|
||||||
<view>小王同学</view>
|
<view>{{item.accountName}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="card-bottom">
|
<view class="card-bottom">
|
||||||
<view class="fans-dom">
|
<view class="fans-dom">
|
||||||
粉丝 {{ formatNumberWithUnits(100000) }}
|
粉丝 {{ formatNumberWithUnits(item.fansNum) }}
|
||||||
</view>
|
</view>
|
||||||
<view class="change-dom-bg">
|
<view class="change-dom-bg">
|
||||||
</view>
|
</view>
|
||||||
<view class="change-dom">
|
<view class="change-dom" @click="goMyCard()">
|
||||||
切换
|
切换
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -65,12 +66,10 @@
|
|||||||
<text>注意:为了您的信息安全,平台不建议填写您的银行卡号、身份证号、密码等隐私信息。</text>
|
<text>注意:为了您的信息安全,平台不建议填写您的银行卡号、身份证号、密码等隐私信息。</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="field-form-box">
|
<view class="field-form-box">
|
||||||
<uni-forms ref="baseForm" :modelValue="baseFormData">
|
<uni-forms>
|
||||||
<uni-forms-item label="姓名" required>
|
<uni-forms-item v-for="(it,idx) in signFormData.customForm" :label="it.label" required
|
||||||
<uni-easyinput type="text" v-model="baseFormData.name" placeholder="请输入姓名" />
|
labelWidth="100">
|
||||||
</uni-forms-item>
|
<uni-easyinput v-model="signFormData.customForm[idx].value" placeholder="请输入" />
|
||||||
<uni-forms-item label="年龄" required>
|
|
||||||
<uni-easyinput type="number" v-model="baseFormData.age" placeholder="请输入年龄" />
|
|
||||||
</uni-forms-item>
|
</uni-forms-item>
|
||||||
</uni-forms>
|
</uni-forms>
|
||||||
</view>
|
</view>
|
||||||
@ -78,21 +77,21 @@
|
|||||||
<!-- 联系方式 -->
|
<!-- 联系方式 -->
|
||||||
<view class="custom-form-box" style="padding: 0 25rpx;">
|
<view class="custom-form-box" style="padding: 0 25rpx;">
|
||||||
<view class="field-form-box">
|
<view class="field-form-box">
|
||||||
<uni-forms ref="telForm" :modelValue="telFormData">
|
<uni-forms ref="signForm" :modelValue="signFormData" :rules="signRules">
|
||||||
<uni-forms-item label="联系方式" required labelWidth="100">
|
<uni-forms-item label="联系方式" required labelWidth="100" name="tel">
|
||||||
<uni-easyinput type="number" v-model="baseFormData.name" placeholder="请输入姓名" />
|
<uni-easyinput type="number" v-model="signFormData.tel" placeholder="请输入微信/手机号" />
|
||||||
</uni-forms-item>
|
</uni-forms-item>
|
||||||
</uni-forms>
|
</uni-forms>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 收件地址 -->
|
<!-- 收件地址 -->
|
||||||
<view class="custom-addr-box">
|
<view class="custom-addr-box" v-if="userAddr">
|
||||||
<view class="left-text">收件地址</view>
|
<view class="left-text">收件地址</view>
|
||||||
<view class="right-text">
|
<view class="right-text">
|
||||||
<text>中国 山东省 济南市 历城区</text>
|
<text>{{userAddr.cityName}}</text>
|
||||||
<text>财富中心1007A</text>
|
<text>{{userAddr.detail}}</text>
|
||||||
<text>朱春运</text>
|
<text>{{userAddr.name}}</text>
|
||||||
<text>17862909999</text>
|
<text>{{userAddr.tel}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="change-addr-dom">切换</view>
|
<view class="change-addr-dom">切换</view>
|
||||||
</view>
|
</view>
|
||||||
@ -116,22 +115,69 @@
|
|||||||
formatNumberWithUnits
|
formatNumberWithUnits
|
||||||
} from '@/utils/common.js'
|
} from '@/utils/common.js'
|
||||||
import navigationBarVue from '@/components/navigation/navigationBar.vue';
|
import navigationBarVue from '@/components/navigation/navigationBar.vue';
|
||||||
|
import {
|
||||||
|
getSignCard
|
||||||
|
} from '@/api/business/signCard.js'
|
||||||
|
import {
|
||||||
|
getNoticeDetail
|
||||||
|
} from '@/api/business/notice';
|
||||||
|
import {
|
||||||
|
hasRights
|
||||||
|
} from '@/utils/common.js'
|
||||||
|
import rightsCode from '@/utils/rightsCode.js'
|
||||||
|
import {
|
||||||
|
getUserAddress
|
||||||
|
} from '@/api/business/member.js'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
navigationBarVue
|
navigationBarVue
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
//使用的会员卡数组
|
signRules: {
|
||||||
cardList: ['', ''],
|
// 对联系方式字段进行必填验证
|
||||||
// 基础表单数据
|
tel: {
|
||||||
baseFormData: {
|
// tel 字段的校验规则
|
||||||
name: '',
|
rules: [
|
||||||
age: ''
|
// 校验 tel 不能为空
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
errorMessage: '请填写联系方式',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
noticeId: null,
|
||||||
|
//使用的会员卡数组
|
||||||
|
cardList: [],
|
||||||
|
// 基础表单数据
|
||||||
// 联系方式表单
|
// 联系方式表单
|
||||||
telFormData: {
|
signFormData: {
|
||||||
tel: ""
|
tel: null,
|
||||||
|
customForm: []
|
||||||
|
},
|
||||||
|
//通告详情
|
||||||
|
noticeDetail: {
|
||||||
|
id: "",
|
||||||
|
title: "",
|
||||||
|
endDate: null,
|
||||||
|
feeDown: null,
|
||||||
|
feeUp: null,
|
||||||
|
needNum: null,
|
||||||
|
userId: null,
|
||||||
|
brand: null,
|
||||||
|
fansDown: null,
|
||||||
|
fansUp: null,
|
||||||
|
city: null,
|
||||||
|
bloggerTypes: null,
|
||||||
|
updateTime: null,
|
||||||
|
approvalStatus: '0',
|
||||||
|
viewNum: 0,
|
||||||
|
detail: null,
|
||||||
|
platformCode: "",
|
||||||
|
platformName: "",
|
||||||
|
//通告产品图
|
||||||
|
imageArray: []
|
||||||
},
|
},
|
||||||
// 校验规则
|
// 校验规则
|
||||||
rules: {
|
rules: {
|
||||||
@ -151,9 +197,47 @@
|
|||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
rightInfo: {
|
||||||
|
manyCardReport: false,
|
||||||
|
superReport: false
|
||||||
|
},
|
||||||
|
userAddr: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
onShow() {
|
||||||
|
this.getRightsCode()
|
||||||
|
},
|
||||||
|
onLoad(params) {
|
||||||
|
this.noticeId = params.noticeId
|
||||||
|
if (this.noticeId) {
|
||||||
|
this.getDetail()
|
||||||
|
}
|
||||||
|
this.getCard()
|
||||||
|
this.userAddress()
|
||||||
|
let that = this
|
||||||
|
uni.$on('updateCard', function(data) {
|
||||||
|
that.updateCard(data)
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
userAddress() {
|
||||||
|
getUserAddress().then(res => {
|
||||||
|
if (res.data && res.data.length > 0) {
|
||||||
|
this.userAddr = res.data[0]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
updateCard(data) {
|
||||||
|
console.log(data, 211);
|
||||||
|
this.cardList = data
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 跳转名片列表
|
||||||
|
*/
|
||||||
|
goMyCard() {
|
||||||
|
this.$tab.navigateTo('/pages/mine/card/my-card?ifChoose=true¬iceId=' + this.noticeId)
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 数值单位转换
|
* 数值单位转换
|
||||||
* @param {Object} number
|
* @param {Object} number
|
||||||
@ -161,8 +245,66 @@
|
|||||||
formatNumberWithUnits(number) {
|
formatNumberWithUnits(number) {
|
||||||
return formatNumberWithUnits(number)
|
return formatNumberWithUnits(number)
|
||||||
},
|
},
|
||||||
|
getRightsCode() {
|
||||||
|
let info = hasRights(rightsCode.manyCardReport)
|
||||||
|
if (!info) {
|
||||||
|
this.rightInfo.manyCardReport = false
|
||||||
|
} else {
|
||||||
|
this.rightInfo.manyCardReport = true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
goSignCard() {
|
||||||
|
this.$tab.navigateTo('/pages/mine/card/my-card')
|
||||||
|
},
|
||||||
|
goMemberCard() {
|
||||||
|
this.$tab.navigateTo('/pages/mine/member/member-card')
|
||||||
|
},
|
||||||
|
getDetail() {
|
||||||
|
getNoticeDetail({
|
||||||
|
noticeId: this.noticeId
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
this.noticeDetail = res.data.noticeDetail
|
||||||
|
if (this.noticeDetail.customForm.length > 0) {
|
||||||
|
this.noticeDetail.customForm.forEach(it => {
|
||||||
|
this.signFormData.customForm.push({
|
||||||
|
label: it,
|
||||||
|
value: ''
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(this.signFormData, 269);
|
||||||
|
}).catch((e) => {
|
||||||
|
this.isTriggered = false
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'error',
|
||||||
|
duration: 2000,
|
||||||
|
title: e
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 报名
|
||||||
|
*/
|
||||||
|
getCard() {
|
||||||
|
getSignCard({
|
||||||
|
noticeId: this.noticeId
|
||||||
|
}).then(res => {
|
||||||
|
if (this.cardList.length == 0) {
|
||||||
|
this.cardList.push(res.data.list[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch((e) => {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'error',
|
||||||
|
duration: 2000,
|
||||||
|
title: e
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
submit() {
|
submit() {
|
||||||
this.$refs.baseForm.validate().then(res => {
|
this.$refs.signForm.validate().then(res => {
|
||||||
console.log('success', res);
|
console.log('success', res);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: `校验通过`
|
title: `校验通过`
|
||||||
@ -613,4 +755,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
BIN
static/mine/auth/dian.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
static/mine/auth/dianshang.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
static/mine/auth/geren.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
static/mine/auth/gognsi.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
static/mine/auth/pinpaifang.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
static/mine/auth/shangbiao.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
static/mine/auth/xiantiao.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
static/mine/auth/yingyezhizhao.png
Normal file
After Width: | Height: | Size: 12 KiB |
@ -4,14 +4,19 @@
|
|||||||
<text class="file-title">{{ title }}</text>
|
<text class="file-title">{{ title }}</text>
|
||||||
<text class="file-count">{{ filesList.length }}/{{ limitLength }}</text>
|
<text class="file-count">{{ filesList.length }}/{{ limitLength }}</text>
|
||||||
</view>
|
</view>
|
||||||
<upload-image :small="small" v-if="fileMediatype === 'image' && showType === 'grid'" :readonly="readonly"
|
<upload-image :iconPath="iconPath" :small="small" v-if="fileMediatype === 'image' && showType === 'grid'"
|
||||||
:image-styles="imageStyles" :files-list="filesList" :limit="limitLength" :disablePreview="disablePreview"
|
:readonly="readonly" :image-styles="imageStyles" :files-list="filesList" :limit="limitLength"
|
||||||
:delIcon="delIcon" @uploadFiles="uploadFiles" @choose="choose" @delFile="delFile">
|
:disablePreview="disablePreview" :delIcon="delIcon" @uploadFiles="uploadFiles" @choose="choose"
|
||||||
|
@delFile="delFile">
|
||||||
<slot>
|
<slot>
|
||||||
<view class="is-add">
|
<view class="is-add" v-if="''==iconPath">
|
||||||
<view :class="['icon-add',small?'new-icon-add':'']"></view>
|
<view :class="['icon-add',small?'new-icon-add':'']"></view>
|
||||||
<view :class="['icon-add rotate',small?'new-icon-add':'']"></view>
|
<view :class="['icon-add rotate',small?'new-icon-add':'']"></view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="is-add custom-add" v-else>
|
||||||
|
<image :src="iconPath" mode="aspectFit"></image>
|
||||||
|
<view :class="['img-title',required?'is-required':'']">{{imgTitle}}</view>
|
||||||
|
</view>
|
||||||
</slot>
|
</slot>
|
||||||
</upload-image>
|
</upload-image>
|
||||||
<upload-file v-if="fileMediatype !== 'image' || showType !== 'grid'" :readonly="readonly"
|
<upload-file v-if="fileMediatype !== 'image' || showType !== 'grid'" :readonly="readonly"
|
||||||
@ -111,6 +116,10 @@
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
|
required: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
disablePreview: {
|
disablePreview: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
@ -154,6 +163,14 @@
|
|||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: ''
|
||||||
},
|
},
|
||||||
|
iconPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
imgTitle: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
listStyles: {
|
listStyles: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default () {
|
default () {
|
||||||
@ -526,10 +543,11 @@
|
|||||||
* @param {Object} index
|
* @param {Object} index
|
||||||
*/
|
*/
|
||||||
delFile(index) {
|
delFile(index) {
|
||||||
this.$emit('delete', {
|
// this.$emit('delete', {
|
||||||
tempFile: this.files[index],
|
// tempFile: this.files[index],
|
||||||
tempFilePath: this.files[index].url
|
// tempFilePath: this.files[index].url
|
||||||
})
|
// })
|
||||||
|
this.$emit('delete', index)
|
||||||
this.files.splice(index, 1)
|
this.files.splice(index, 1)
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.setEmit()
|
this.setEmit()
|
||||||
@ -620,7 +638,7 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style lang="scss">
|
||||||
.uni-file-picker {
|
.uni-file-picker {
|
||||||
/* #ifndef APP-NVUE */
|
/* #ifndef APP-NVUE */
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -657,6 +675,40 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.custom-add {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
background-color: #FAFAFA;
|
||||||
|
border-radius: 15rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
image {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
width: 70%;
|
||||||
|
height: 150rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-title {
|
||||||
|
font-size: 24rpx;
|
||||||
|
width: 100%;
|
||||||
|
background-color: #E9E9E9;
|
||||||
|
padding: 10rpx 0;
|
||||||
|
color: #363636;
|
||||||
|
text-align: center;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-required:before {
|
||||||
|
padding-right: 8rpx;
|
||||||
|
content: "*";
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.icon-add {
|
.icon-add {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 5px;
|
height: 5px;
|
||||||
|
@ -66,6 +66,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
iconPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
delIcon: {
|
delIcon: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true
|
default: true
|
||||||
@ -109,6 +113,9 @@
|
|||||||
if (true == this.small) {
|
if (true == this.small) {
|
||||||
obj.width = '25%'
|
obj.width = '25%'
|
||||||
obj['padding-top'] = '25%'
|
obj['padding-top'] = '25%'
|
||||||
|
} else if ('' != this.iconPath) {
|
||||||
|
obj.width = '100%'
|
||||||
|
obj['padding-top'] = '80%'
|
||||||
} else {
|
} else {
|
||||||
obj.width = '33.3%'
|
obj.width = '33.3%'
|
||||||
}
|
}
|
||||||
@ -125,6 +132,9 @@
|
|||||||
return classles
|
return classles
|
||||||
},
|
},
|
||||||
borderStyle() {
|
borderStyle() {
|
||||||
|
if ("" != this.iconPath) {
|
||||||
|
return "border-width:0 !important"
|
||||||
|
}
|
||||||
let {
|
let {
|
||||||
border
|
border
|
||||||
} = this.styles
|
} = this.styles
|
||||||
|
@ -177,4 +177,20 @@ export function calculateTimeDifference(time) {
|
|||||||
} else {
|
} else {
|
||||||
return parseInt(remainingHours) + "小时前"
|
return parseInt(remainingHours) + "小时前"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 翻译认证身份类型
|
||||||
|
* @param {Object} key
|
||||||
|
*/
|
||||||
|
export function getTextByIdentityType(key) {
|
||||||
|
if ("01" == key) {
|
||||||
|
return "品牌方"
|
||||||
|
} else if ("02" == key) {
|
||||||
|
return "代运营公司"
|
||||||
|
} else if ("03" == key) {
|
||||||
|
return "个人PR"
|
||||||
|
} else if ("04" == key) {
|
||||||
|
return "电商"
|
||||||
|
}
|
||||||
}
|
}
|