Compare commits

...

3 Commits

Author SHA1 Message Date
qiaocl 6facdca6df 微信小店 2025-05-27 09:39:44 +08:00
qiaocl 06813be40b 新增申请加入分成用户注册和申请vip 2025-05-15 17:06:57 +08:00
qiaocl cd0d47aa32 弱电沪抖团 2025-04-29 09:39:18 +08:00
257 changed files with 7095 additions and 4860 deletions

View File

@ -1,7 +1,12 @@
<script>
export default {
onLaunch: function() {
console.log('App Launch', )
//
uni.onTabBarMidButtonTap(() => {
uni.navigateTo({
url: "/pages/index/index"
})
})
this.$store.dispatch('getHomeContent', {
appid: uni.getStorageSync('appid')
})

View File

@ -193,30 +193,10 @@
.bgcolor {
height: 110px;
background: #41629E;
border-radius: 5px 5px 0 0;
position: relative;
}
.bgcolor::after {
content: "";
position: absolute;
left: 0;
right: 0;
height: 5px;
bottom: 10px;
background-color: $red;
}
.bgcolor::before {
content: "";
position: absolute;
left: 0;
right: 0;
height: 10px;
bottom: 0;
background-color: $orange;
}
.title {
margin-top: -88px;
@ -257,7 +237,7 @@
.groupBtn {
display: flex;
.btn {
background-color: $blue;
background-color: $green;
width: 45%;
margin: 10px auto 15px;
text-align: center;
@ -307,33 +287,37 @@
// 企业名录头部
.phonetop {
width: 100%;
height: 80px;
position: relative;
border-top: 50px solid #345A9B;
background: $navColor;
.headbox {
position: absolute;
background: #fff;
left: 10px;
right: 10px;
top: -40px;
top: 0px;
border-radius: 15px 15px 5px 5px;
padding: 10px;
display: flex;
flex-wrap: wrap;
justify-content: center;
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
}
.head {
width: 100%;
display: flex;
align-items: center;
.image {
width: 85px;
height: 110px;
margin-right: 15px;
width: 75px;
height: 75px;
margin-right: 10px;
border: 1px solid #dfdfdf;
float: left;
border-radius: 5px;
border-radius: 50%;
overflow: hidden;
image {
width: 100%;
@ -343,7 +327,7 @@
}
.info {
width: calc(100% - 100px);
width: calc(100% - 145px);
height: 110px;
display: flex;
flex-wrap: wrap;
@ -371,6 +355,13 @@
color: #999;
}
}
.logo{
image{
width: 55px;
height: 55px;
}
}
}
.call {
@ -530,7 +521,7 @@
height: 40px;
line-height: 40px;
border-radius: 5px;
background-color: $blue;
background-color: $green;
margin: 20px auto;
text-align: center;
}
@ -639,7 +630,7 @@
height: 40px;
line-height: 40px;
border-radius: 5px;
background-color: $blue;
background-color: $green;
margin: 20px auto;
text-align: center;
}
@ -653,14 +644,15 @@
}
// 搜索样式
.serachBox {
height: 35px;
height: auto;
position: fixed;
top: 0;
top: 0px;
left: 0;
right: 0;
padding: 0 10px 10px;
z-index: 9;
background-color: $blue;
background: $navColor;
// background-color: $blue;
.serach-box {
height: 35px;
@ -739,14 +731,20 @@
display: flex;
align-items: center;
image {
.avatar {
width: 50px;
height: 50px;
border-radius: 50%;
border: 1px solid #f7f7f7;
}
.image{
width: 20px;
height: 12px;
margin-top: 7px;
}
text {
.vip {
color: #333;
background: #F5CC87;
padding: 3px 8px;
@ -819,12 +817,12 @@
}
}
.call {
color: #000;
color: #fff;
padding: 0 10px;
border-radius: 5px;
margin-left: 10px;
float: right;
background-color: #E6C8A2;
background-color:$green;
}
}

51
components/header.vue Normal file
View File

@ -0,0 +1,51 @@
<template>
<view class="headbg">
<image src="../static/bg.png"></image>
<view class="title" v-if="title">{{title}}</view>
</view>
</template>
<script>
export default {
name: "header",
props: {
title: {
type: String,
default: ""
}
},
data() {
return {
};
}
}
</script>
<style scoped lang="scss">
.headbg {
width: 100%;
position: fixed;
left: 0;
height: 84px;
overflow: hidden;
right: 0;
width: 100%;
z-index: 9999;
.title {
position: absolute;
top: 44px;
height: 40px;
line-height: 40px;
color: #fff;
text-align: center;
width: 100%;
font-size: 16px;
font-weight: bold;
}
image {
width: 100%;
}
}
</style>

View File

@ -1,82 +1,75 @@
<template>
<view class="message" @click="handleServiceChat">
<view class="info-msg">
<image src="@/static/mmm.png"></image>
<text>客服</text>
</view>
</view>
<view class="message" @click="handleServiceChat" v-if="HomeContent.qyserviceurl">
<image src="@/static/msg.png"></image>
</view>
</template>
<script>
import {
mapState
} from "vuex";
export default {
data() {
return {
data: {}
}
},
computed: {
...mapState(["HomeContent"]),
},
mounted() {},
methods: {
handleServiceChat() {
let that = this
if (!that.HomeContent.qyappid) {
that.$tools.msg("小程序还未配置微信客服")
return
}
wx.openCustomerServiceChat({
extInfo: { //
url: that.HomeContent.qyserviceurl
},
corpId: that.HomeContent.qyappid, //ID
success(res) {}
})
}
}
}
import {
mapState
} from "vuex";
export default {
data() {
return {
data: {}
}
},
computed: {
...mapState(["HomeContent"]),
},
mounted() {},
methods: {
handleServiceChat() {
let that = this
if (!that.HomeContent.qyappid) {
that.$tools.msg("小程序还未配置微信客服")
return
}
wx.openCustomerServiceChat({
extInfo: { //
url: that.HomeContent.qyserviceurl
},
corpId: that.HomeContent.qyappid, //ID
success(res) {}
})
}
}
}
</script>
<style scoped lang="scss">
.message {
position: fixed;
bottom: 50px;
z-index: 9999;
right: 10px;
background: $blue;
width: 45px;
height: 45px;
padding: 2px;
border-radius: 50%;
color: #fff;
font-size: 12px;
.message {
position: fixed;
bottom: 130px;
z-index: 9999;
right: 10px;
width: 45px;
height: 40px;
padding: 2px;
border-radius: 50%;
color: #fff;
font-size: 12px;
.info-msg {
display: flex;
justify-content: center;
align-content: center;
flex-wrap: wrap;
}
.info-msg {
display: flex;
justify-content: center;
align-content: center;
flex-wrap: wrap;
}
icon {
font-size: 18px;
}
icon {
font-size: 18px;
}
image {
width: 22px;
height: 22px;
margin-top: 3px;
image {
width: 100%;
height: 100%;
}
}
text {
width: 100%;
display: inline-block;
text-align: center;
}
}
</style>
text {
width: 100%;
display: inline-block;
text-align: center;
}
}
</style>

View File

@ -55,7 +55,7 @@
handleActive(id) {
let that = this
// if (!uni.getStorageSync('token')) {
// that.$tools.msg("")
// that.$tools.msg("/")
// return
// }
let type = that.isAddress == 1 || that.isAddress == 4 ? 1 : that.isAddress

View File

@ -3,13 +3,11 @@
<view class="productList" v-for="(item,index) in list" :key="index" @click="handleActive(item)">
<view class="name" v-if="isName">
<view class="post" :style="{'width':!isMoney?'60%':'100%'}">
<image :src="item.userinfo.avatar" class="mr-10" mode="aspectFill"></image>
<image :src="item.userinfo.avatar" class="mr-10 avatar" mode="aspectFill"></image>
<view class="bold size16 mr-10">{{item.userinfo.name}}</view>
<text>{{item.userinfo.posname}}</text>
<view class="vip">{{item.userinfo.posname}}</view>
</view>
<text class="call" v-if="!isMoney" @click="$tools.getCall(user.authlist,item.userinfo.phone)"
@click.stop>
<icon class="iconfont icon-dianhua1 mr-10"></icon>
<text class="call" v-if="!isMoney" @click="handleCall(user.authlist,item.userinfo.phone)" @click.stop>
拨打电话
</text>
</view>
@ -22,7 +20,8 @@
</view>
<view class="mt-5 c999 size14">{{item.desc}}</view>
<view class="image" v-if="isMoney&&item.pics.length">
<image v-for="(img,ind) in item.pics" :key="ind" :src="img.url" mode="aspectFill"></image>
<image v-for="(img,ind) in item.pics" :key="ind" :src="img.url" mode="aspectFill" v-if="ind<3">
</image>
</view>
<view class="address" v-if="isMoney">
<text class="mr-10" v-if="item.industryname">行业{{item.industryname}}</text>
@ -30,18 +29,17 @@
</view>
<view v-if="item.type!=9">
<view class="money mt-10" v-if="isMoney">
<text class="redcolor size16 mr-5 bold" v-if="item.vipprice">会员价:{{item.vipprice}}</text>
<text class="size12 c999" v-if="item.price">市场价:{{item.price}}</text>
<!-- <text class="redcolor size16 mr-5 bold" v-if="item.vipprice">会员价:{{item.vipprice}}</text>
<text class="size12 c999" v-if="item.price">市场价:{{item.price}}</text> -->
<text class="call" @click.stop v-if="isPhone"
@click="$tools.getCall(user.authlist,item.userinfo.phone)">
<icon class="iconfont icon-dianhua1 mr-10"></icon>
拨打电话
@click="handleCall(user.authlist,item.userinfo.phone)">
联系方式
</text>
</view>
</view>
</view>
</view>
<!-- 秘书处弹框 -->
<!-- 联系人弹框 -->
<secratary></secratary>
</view>
</template>
@ -78,17 +76,47 @@
},
computed: {
...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
},
methods: {
handleActive(item) {
this.$emit("handleDetail", item)
},
handleCall(authlist, num) {
let that = this
console.log("authlist", authlist, that.userInfo)
if (!uni.getStorageSync('token')) {
this.$tools.msg("注册/登录后查看更多")
return
}
if (authlist.length) {
let arr = authlist.findIndex(v => v.code == 'phone:show')
if (arr == -1) {
that.$store.commit("changeSecratary", true);
} else {
uni.makePhoneCall({
phoneNumber: num, //
success: () => {
console.log("拨打电话成功")
that.$model.getSetClickNumber({
userId: that.userInfo.id ? that.userInfo.id : 0,
clickPhone: num,
}).then(res => {});
}
})
}
} else {
that.$store.commit("changeSecratary", true);
}
}
}
}
</script>
<style scoped lang="scss">
.image {
:nth-child(2) {
margin: 0 10px;

View File

@ -14,7 +14,7 @@
<view class="item">
<picker mode="selector" :range="industrylist" range-key="name" :value="industryname"
@change="changeIndustry">
<view class="uni-input">{{industryname?industryname:"所属行业"}}</view>
<view class="uni-input">{{industryname?industryname:"系统划分"}}</view>
<icon class="iconfont icon-icon-test11" v-if="!industryname"></icon>
</picker>
<uni-icons v-if="industryname" @click="handlecolse(2)" type="close" size="26px"></uni-icons>
@ -41,6 +41,10 @@
export default {
name: "search",
props: {
title: {
type: String,
default: ""
},
isPost: {
type: Boolean,
default: false
@ -125,14 +129,15 @@
<style scoped lang="scss">
.address {
position: fixed;
top: 45px;
top: 50px;
left: 0;
right: 0;
display: flex;
background: $blue;
z-index: 9999;
// background: $blue;
.item {
width: 47%;
width: 46%;
margin-left: 10px;
background: #fff;
height: 28px;
@ -160,6 +165,10 @@
}
}
.serach-box {
z-index: 9999;
}
.searchInput {
uni-icons {
z-index: 999;

View File

@ -2,19 +2,21 @@
<view class="wrapper" v-if="isSecratary">
<view class="bg" @click="onTap">
<view class="edit" @click.stop>
<view class="bgcolor"></view>
<view class="title">联系秘书处</view>
<view class="bgcolor">
<image src="../static/bg2.png"></image>
</view>
<view class="title">联系人</view>
<view class="ercode">
<image :src="HomeContent.secrataryqrcode" show-menu-by-longpress="true"></image>
<text>扫码添加秘书处微信</text>
<text>扫码添加联系人微信</text>
</view>
<!-- -->
<view class="mt-15" @click="getCall(HomeContent.secrataryphone)">
<!-- <view class="mt-15" @click="getCall(HomeContent.secrataryphone)">
<uni-icons type="phone-filled" size="40"></uni-icons>
</view>
</view> -->
<view @click="getCall(HomeContent.secrataryphone)">
<text class="bold size16 mb-5 mt-10">{{HomeContent.secrataryphone}}</text>
点击拨打
<view class="btnCall">点击拨打</view>
</view>
</view>
</view>
@ -37,7 +39,7 @@
},
watch: {
isSecratary() {
console.log("isSecratary", this.isSecratary)
// console.log("isSecratary", this.isSecratary)
}
},
methods: {
@ -55,6 +57,25 @@
}
</script>
<style>
<style scoped lang="scss">
.edit {
border-radius: 12px;
}
.btnCall {
background-color: $green;
width: 80px !important;
margin: auto;
border-radius: 5px;
color: #fff;
padding: 3px 10px;
margin-top: 10px;
}
.bgcolor {
image {
width: 100%;
height: 100%;
}
}
</style>

106
components/tabBar.vue Normal file
View File

@ -0,0 +1,106 @@
<template>
<view class="tabBar">
<view class="tab-ul-layout">
<view v-for="(ite,ind) in list" :key="ind" @click="handlePush(ite,ind)" :class="ite.middleClass">
<image :src="tabInd==ind?ite.selectedIconPath:ite.iconPath"></image>
<text>{{ite.text}}</text>
</view>
</view>
</view>
</template>
<script>
export default {
name: "tabBar",
props: {
tabInd: {
type: String,
default: 0
}
},
data() {
return {
list: [{
"pagePath": "/pages/index/index",
"iconPath": "../static/home3.png",
"selectedIconPath": "../static/home1.png",
"text": "首页"
},
{
"pagePath": "/pages/phoneList/phoneList",
"iconPath": "../static/e.png",
"selectedIconPath": "../static/e.png",
"text": "企业名录",
"middleClass": 'tab-item-middle'
},
{
"pagePath": "/pages/me/me",
"iconPath": "../static/me.png",
"selectedIconPath": "../static/me01.png",
"text": "我的"
}
]
};
},
// computed: {
// getHeight() {
// return Number(this.height)
// }
// },
methods: {
handlePush(ite, ind) {
if (this.tabInd !== ind) {
uni.switchTab({
url: ite.pagePath
})
}
}
}
}
</script>
<style lang="scss">
.tabBar {
width: 100%;
}
.tab-ul-layout {
display: flex;
align-items: center;
justify-content: space-around;
height: 65px;
flex-wrap: wrap;
width: 100%;
position: fixed;
bottom: 0;
left: 0;
right: 0;
background-color: #fff;
z-index: 99999;
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
view {
text-align: center;
}
image {
width: 22px;
height: 22px;
}
text {
width: 100%;
text-align: center;
display: inline-block;
}
.tab-item-middle {
margin-top: -30px;
image {
width: 40px;
height: 40px;
}
}
}
</style>

View File

@ -18,7 +18,7 @@ Vue.prototype.$model = model;
//模拟数据
import json from '@/data.json'
Vue.prototype.$json = json;
// 秘书处弹框
// 联系人弹框
import secratary from '@/components/secratary.vue'
Vue.component('secratary', secratary)
//微信客服

View File

@ -1,5 +1,5 @@
{
"name" : "intelligentGroup",
"name" : "RuoDianGroup",
"appid" : "__UNI__8CF31FA",
"description" : "",
"versionName" : "1.0.0",
@ -50,9 +50,9 @@
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "wxbbddd1888da43ab0",
"appid" : "wx538b5e244f0ba5b3",
"setting" : {
"urlCheck" : true,
"urlCheck" : false,
"postcss" : true,
"minified" : true
},

View File

@ -1,16 +1,6 @@
<template>
<view class="box fromClass">
<view class="lanBox">
<view class="lan border-bottom">
<view class="left">所属行业</view>
<view class="right">
<picker mode="selector" :range="industrylist" range-key="name" :value="content.industryname"
@change="changeIndustry">
<view class="uni-input">{{content.industryname?content.industryname:"请选择"}}</view>
<uni-icons type="forward" size="20" color="#999"></uni-icons>
</picker>
</view>
</view>
<view class="lan border-bottom">
<view class="left">姓名</view>
<view class="right">
@ -23,140 +13,14 @@
<input name="name" type="text" v-model="content.phone" placeholder="手机号" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">个人照片</view>
<view class="right touxiang" v-if="content.avatar">
<image :src="content.avatarurl" mode="aspectFit" @click="handleimage(1)" />
<uni-icons type="close" size="22" class="uni-icons" @click="content.avatarurl='',content.avatar=''"
@click.stop></uni-icons>
</view>
<view class="right touxiang size20 bold" v-else @click="handleimage(1)">+</view>
<text class="size12 c999 desc">请上传1寸蓝底照片大小不超过2M</text>
</view>
<view class="lan border-bottom">
<view class="left">性别</view>
<view class="right">
<picker mode="selector" :range="sexItem" @change="onsexArr">
<view class="uni-input">{{content.sex==0?'请选择':content.sex==1?'男':'女'}}</view>
<uni-icons type="forward" size="20" color="#999"></uni-icons>
</picker>
</view>
</view>
<view class="lan border-bottom">
<view class="left">出生年月</view>
<view class="right">
<picker class="picker" mode="date" :end="endDate" :value="birthday" @change="bindDateChange">
<view class="uni-input">{{content.birthday?content.birthday:"请选择"}}</view>
<uni-icons type="forward" size="20" color="#999"></uni-icons>
</picker>
</view>
</view>
<view class="lan border-bottom">
<view class="left">企业全称</view>
<view class="right">
<input name="name" type="text" v-model="content.comName" placeholder="企业全称" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">公司职位</view>
<view class="right">
<input name="name" type="text" v-model="content.comPos" placeholder="公司职位" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">营业执照</view>
<view class="right zhizhao" v-if="content.license">
<image :src="content.licenseurl" class="headimage" @click="handleimage(2)" mode="aspectFit" />
<uni-icons type="close" size="22" class="uni-icons"
@click="content.licenseurl='',content.license=''" @click.stop></uni-icons>
</view>
<view class="right zhizhao size20 bold" v-else @click="handleimage(2)">+</view>
<text class="size12 c999 desc">点击上传企业营业执照仅用于资质审核</text>
</view>
<view class="lan border-bottom">
<view class="left">通过什么途径了解智照团</view>
<view class="radio">
<label @click="radioChange('抖音')">
<icon class="iconfont radioimg"
:class="[source=='抖音'?'icon-yuanxingxuanzhongfill':'icon-yuanxingweixuanzhong']">
</icon>
</label>
<label @click="radioChange('朋友圈')">
<icon class="iconfont radioimg"
:class="[source=='朋友圈'?'icon-yuanxingxuanzhongfill':'icon-yuanxingweixuanzhong']">
</icon>
朋友圈
</label>
<label>
<view @click="radioChange('介绍人')">
<icon class="iconfont radioimg"
:class="[source=='介绍人'?'icon-yuanxingxuanzhongfill':'icon-yuanxingweixuanzhong']">
</icon>
介绍人
</view>
<input type="text" v-model="sourceName" />
</label>
</view>
</view>
<view class="lan border-bottom">
<view class="left">加入智照团想收获什么</view>
<checkbox-group @change="checkboxChange" class="checkbox">
<label>
<checkbox value="找客户资源" style="transform:scale(0.8)" />找客户资源
</label>
<label>
<checkbox value="扩大人脉圈子" style="transform:scale(0.8)" />扩大人脉圈子
</label>
<label>
<checkbox value="能力提升" style="transform:scale(0.8)" />能力提升
</label>
<label>
<checkbox value="为企业做品牌宣传" style="transform:scale(0.8)" />为企业做品牌宣传
</label>
<label>
<checkbox value="直播" style="transform:scale(0.8)" />直播
</label>
<label>
<checkbox value="个人IP打造" style="transform:scale(0.8)" />个人IP打造
</label>
<label>
<checkbox value="拍摄剪辑" style="transform:scale(0.8)" />拍摄剪辑
</label>
<label>
<checkbox value="学习新媒体运营" style="transform:scale(0.8)" />学习新媒体运营
</label>
<label>
<checkbox value="老板思维" style="transform:scale(0.8)" />老板思维
</label>
<label>
<checkbox value="团队打造" style="transform:scale(0.8)" />团队打造
</label>
<label>
<checkbox value="销售话术" style="transform:scale(0.8)" />销售话术
</label>
<label>
<checkbox value="外贸平台搭建" style="transform:scale(0.8)" />外贸平台搭建
</label>
<label>
<checkbox value="其他" style="transform:scale(0.8)" />其他
</label>
</checkbox-group>
</view>
<view class="lan border-bottom">
<view class="left">能给平台带来什么</view>
<view class="right textarea">
<textarea v-model="content.provide" name="content" maxlength="-1"/>
</view>
</view>
<view class="lan c999 size12 mt-15">
所有上传的资料信息同意公开展示最终解释权归智照团平台所有
</view>
</view>
<view class="btn" @click="confirmInfo">申请加入</view>
<view class="btn" @click="confirmInfo">提交</view>
</view>
</template>
@ -167,48 +31,20 @@
export default {
data() {
return {
sexItem: [
"男",
"女"
],
source: "",
sourceName: "",
content: {
sex: "",
name: "",
name: "",
avatar: "",
avatarurl: "",
source: "",
birthday: "",
industryid: "",
industryname: "",
phone: "",
comName: "",
comPos: "",
provide: "",
demand: "",
license: "",
licenseurl: ""
}
};
},
computed: {
...mapState(["HomeContent"]),
endDate() {
return this.$tools.getDate("start")
},
industrylist() {
return this.HomeContent.industrylist
},
},
methods: {
//
confirmInfo() {
let that = this
if (!this.content.industryname) {
this.$tools.msg("请选择所属行业")
return;
}
if (!this.content.name) {
this.$tools.msg("请输入姓名")
return;
@ -217,42 +53,17 @@
this.$tools.msg("请输入手机号")
return;
}
if (!this.content.avatarurl) {
this.$tools.msg("请上传个人照片")
return;
}
if (!this.content.sex) {
this.$tools.msg("请选择性别")
return;
}
if (!this.content.birthday) {
this.$tools.msg("请选择出生日期")
return;
}
if (!this.content.comName) {
this.$tools.msg("请输入公司全称")
this.$tools.msg("请输入企业全称")
return;
}
if (!this.content.comPos) {
this.$tools.msg("请输入公司职位")
return;
}
if (this.source == '介绍人' && !this.sourceName) {
this.$tools.msg("请输入介绍人姓名")
return;
}
this.content.source = this.sourceName ? this.sourceName : this.source
console.log('content', this.content)
that.$model.getApplyfor(this.content).then(res => {
if (res.code == 0) {
uni.showToast({
title: "提交成功",
duration: 2000
});
that.$tools.msg("注册成功,默认密码同手机号!");
setTimeout(function() {
uni.switchTab({
url: "/pages/index/index"
uni.redirectTo({
url: "/pageTwo/login/login"
})
}, 2000)
@ -261,56 +72,6 @@
}
});
},
handleimage(ind) {
let that = this
uni.chooseImage({
count: 1, //9
sourceType: ['album', 'camera'], //
success: function(res) {
uni.showLoading({
title: '识别中...'
})
that.$model.getUpLoadimg({
uploadpath: res.tempFilePaths[0]
}).then(res => {
uni.hideLoading()
if (res.code == 0) {
if (ind == 1) {
that.content.avatar = res.data.path
that.content.avatarurl = res.data.url
} else {
that.content.license = res.data.path
that.content.licenseurl = res.data.url
}
} else {
that.$tools.msg("不支持该图像")
}
})
}
})
},
//
bindDateChange(e) {
this.content.birthday = e.target.value
},
//
onsexArr(e) {
this.content.sex = this.sexItem[e.target.value] == "男" ? 1 : 2
},
//
changeIndustry(e) {
this.content.industryname = this.HomeContent.industrylist[e.target.value].name
this.content.industryid = this.HomeContent.industrylist[e.target.value].id
},
//
radioChange(e) {
this.source = this.source == e ? '' : e
this.sourceName = this.source == '介绍人' ? this.sourceName : '';
},
//
checkboxChange(e) {
this.content.demand = e.detail.value.join(',')
},
},
onLoad(options) {},
};

View File

@ -15,6 +15,7 @@
<uni-icons type="close" size="22" v-if="newPassword" @click="newPassword=' ' " />
</view>
</view>
<view class="tips"><text class="redcolor size18">*</text>提示默认密码同手机号</view>
</view>
<view class="btn mt-15" @click="confirmInfo">确定</view>
</view>
@ -65,6 +66,13 @@
</script>
<style scoped lang="scss">
.tips {
display: flex;
margin-left: 20px;
margin-top: 15px;
color: #999;
}
.left {
margin-top: 20px;
font-weight: bold;

View File

@ -1,14 +1,22 @@
<template>
<view class="content">
<image src="../../static/011.png" class="bg" mode="scaleToFill"></image>
<!-- -->
<view class="ts">
<view class="mb-5">欢迎登录</view>
<view>智照团资源共享数据库平台</view>
<view class="topbg">
<view class="ts">
<view class="mb-5">欢迎登录</view>
<view>沪抖团线上展厅</view>
</view>
</view>
<view class="edit">
<image src="../../static/logo.png" class="logo" mode="widthFix"></image>
<view class="editem">
<view class="logo">
<image src="../../static/logo.png"></image>
沪抖团
</view>
<view class="toggle cblue" @click="handleToggle">
切换登录
</view>
<!-- 账号密码登录 -->
<view class="editem" v-if="!isCode">
<view class="input">
<icon class="iconfont icon-gerenzhongxin1 mr-10"></icon>
<input class="uni-input input100" v-model="account" placeholder="请输入账号" />
@ -18,23 +26,55 @@
<input type="password" class="uni-input" v-model="password" placeholder="请输入密码" />
</view>
<view class="tips size12" @click="$store.commit('changeSecratary', true)">
如忘记密码请联系秘书处修改重置
忘记密码联系管理员
</view>
<view class="btnlogin" @click="handleTelLogin">登录</view>
</view>
<view class="btnlogin" @click="handleTelLogin">登录</view>
<view class="wxbtn" @click="handleAdd">
<text>没有账号我要加入智照团</text>
<!-- 手机号验证码登录 -->
<view class="editem" v-if="isCode">
<view class="input">
<icon class="iconfont icon-gerenzhongxin1 mr-10"></icon>
<input class="uni-input input100" v-model="account" placeholder="请输入手机号" />
</view>
<view class="input">
<icon class="iconfont icon-icon-test5 mr-10"></icon>
<view class="yanzhengma">
<input class="uni-input" v-model="code" placeholder="验证码" />
<button class="code" type="none" @click="handleCode" v-model="code"
:disabled="disabled">{{second<60 ? second+'S后重发':'获取验证码'}}
</button>
</view>
</view>
<view class="btnlogin" @click="handleTelLogin">登录</view>
</view>
<view class="register" @click="handleRegister">
<text>注册</text>
</view>
<view class="xieyi">
<checkbox-group @change="checkboxChange">
<checkbox :value="1" style="transform:scale(0.8)" />勾选同意智照团<text @click="handlexieyi "
<checkbox :value="1" style="transform:scale(0.8)" />勾选同意沪抖团<text @click="handlexieyi"
class="bluecolor">个人信息保护政策</text>
</checkbox-group>
</view>
</view>
<!-- 秘书处弹框 -->
<!-- 手机号快捷登录 -->
<view class="wxbtn">
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" v-if="value==1">
<view>
<image src="../../static/phone0.png"></image>
</view>
<text>手机号快捷注册/登录</text>
</button>
<button v-else @click="handleIsTel">
<view>
<image src="../../static/phone0.png"></image>
</view>
<text>手机号快捷注册/登录</text>
</button>
</view>
<!-- 联系人弹框 -->
<secratary></secratary>
</view>
</template>
@ -46,9 +86,13 @@
data() {
return {
value: 0,
sessionid: "",
code: "",
account: "",
password: "",
sessionid: "",
disabled: false,
second: 60,
isCode: false,
}
},
computed: {
@ -56,38 +100,67 @@
},
async onLoad() {
let that = this
that.sessionid = uni.getStorageSync('sessionid')
console.log("sessionid", that.sessionid)
if (!that.sessionid) {
await that.$store.dispatch('getsessionId')
}
that.login()
},
methods: {
login() {
let that = this
uni.login({
success(res2) {
if (res2.code) {
if (res2.errMsg = "login:ok") {
that.$model.onlogin({
code: res2.code,
}).then(res => {
if (res.code == 2) {
that.token = null
that.sessionid = res.data.sessionid
uni.setStorageSync('sessionid', res.data.sessionid)
return
}
}).catch(e => {})
}
}
}
})
},
//
handleTelLogin() {
let that = this
if (!that.account) {
if (that.value == 0) {
that.$tools.msg("请先勾选同意沪抖团《个人信息保护政策》")
return
}
if (!that.isCode && !that.account) {
that.$tools.msg("请输入账号")
return
}
if (!that.password) {
if (!that.isCode && !that.password) {
that.$tools.msg("请输入密码")
return
}
if (that.password.length < 6) {
if (!that.isCode && that.password.length < 6) {
that.$tools.msg("密码长度不能小于6位数")
return
}
if (this.value == 0) {
this.$tools.msg("请先勾选同意智照团《个人信息保护政策》")
if (that.isCode && !(/^1[3456789]\d{9}$/.test(that.account))) {
that.$tools.msg("请输入正确的手机号")
return
}
this.$model.getlogin({
if (that.isCode && !that.code) {
that.$tools.msg("请输入验证码")
return
}
let https = !that.isCode ? that.$model.getlogin({
account: that.account,
password: that.password,
sessionId: uni.getStorageSync('sessionid'),
}).then(res => {
sessionid: that.sessionid,
}) : that.$model.getloginCode({
account: that.account,
code: that.code,
sessionid: that.sessionid,
})
https.then(res => {
if (res.code != 0) {
that.$tools.msg(res.message)
return
@ -100,12 +173,71 @@
})
}).catch(err => {})
},
//
handleAdd() {
//
handleCode() {
let that = this
if (!(/^1[3456789]\d{9}$/.test(that.account))) {
that.$tools.msg("请输入正确的手机号")
return
}
//
that.$model.getSendCode({
account: that.account,
}).then(res => {
console.log(res)
if (res.code != 0) {
that.$tools.msg(res.msg)
return
}
that.disabled = true
let interval = setInterval(() => {
--that.second
}, 1000)
setTimeout(() => {
clearInterval(interval)
that.disabled = false
that.second = 60
}, 60000)
}).catch(err => {})
},
//
getPhoneNumber(res) {
const that = this
if (res.detail.errMsg == 'getPhoneNumber:ok') {
that.$model.getRegisterPhone({
sessionid: that.sessionid,
encryptedData: res.detail.encryptedData,
iv: res.detail.iv,
}).then(res => {
if (res.code != 0) return
that.value = 1
uni.setStorageSync('token', res.data.token)
uni.setStorageSync('refreshtoken', res.data.refreshtoken)
uni.setStorageSync('sessionid', res.data.sessionid)
setTimeout(function() {
uni.reLaunch({
url: "/pages/index/index"
})
}, 1000)
})
}
},
//
handleRegister() {
uni.navigateTo({
url: "/pageTwo/login/add"
})
},
handleToggle() {
this.phone = ""
this.isCode = !this.isCode
},
handleIsTel() {
if (this.value == 0) {
this.$tools.msg("请先确认勾选协议")
return
}
},
checkboxChange(e) {
this.value = e.detail.value.length ? e.detail.value[0] : "0"
console.log(e.detail, e.detail.value)
@ -128,24 +260,32 @@
justify-content: space-between;
}
.bg {
width: 100%;
height: 100vh;
position: absolute;
top: 0;
.topbg {
width: 126%;
position: relative;
height: 140px;
left: -13%;
background: $navColor;
border-radius: 0 0 60% 60%;
image {
width: 100%;
height: 100%;
}
.ts {
font-size: 20px;
font-weight: bold;
text-align: left;
color: #fff;
z-index: 9;
position: absolute;
bottom: 50px;
left: 15%;
}
}
.ts {
font-size: 20px;
font-weight: bold;
text-align: left;
color: #fff;
width: 100%;
position: relative;
margin-top: 200rpx;
left: 20px;
height: 150rpx;
}
.edit {
margin: 40rpx auto 0;
@ -155,22 +295,45 @@
border-radius: 10px;
padding: 15px;
text-align: center;
background-color: rgba(255, 255, 255, 0.8);
background-color: #fff;
max-height: 780rpx;
.logo {
width: 260rpx;
height: 90rpx;
margin-top: 15px;
width: 100%;
height: 55px;
// margin-top: 15px;
color: #000;
display: flex;
align-items: center;
justify-content: center;
font-size: 22px;
font-weight: bold;
image {
width: 53px;
height: 53px;
margin-right: 10px;
}
}
.toggle {
height: 30px;
line-height: 30px;
text-align: right;
font-size: 16px;
color: $blue;
font-weight: bold;
}
.tips {
width: 100%;
height: 30px;
line-height: 30px;
text-align: right;
}
.editem {
margin-top: 28px;
margin-top: 15px;
display: flex;
align-items: center;
font-size: 28upx;
@ -183,11 +346,11 @@
padding: 0 10px;
height: 40px;
line-height: 40px;
margin-bottom: 15px;
margin-bottom: 10px;
display: flex;
position: relative;
text-align: left;
background-color: #fff;
background-color: #f7f7f7;
border-radius: 5px;
icon {
@ -207,7 +370,7 @@
.btnlogin {
width: 100%;
margin: 40rpx 0 20px;
margin: 10px 0;
height: 38px;
line-height: 38px;
background: $blue;
@ -225,13 +388,15 @@
border-radius: 10px;
text-align: center;
position: absolute;
right: 2.5px;
top: 2.5px;
right: 0;
top: 1.5px;
line-height: 35px;
height: 35px;
z-index: 99;
}
}
.wxbtn {
.register {
width: 100%;
text-align: center;
color: $blue;
@ -251,7 +416,7 @@
text-align: center;
display: flex;
align-items: flex-end;
margin-top: 40rpx;
margin-top: 30rpx;
checkbox-group {
text-align: left;
@ -261,4 +426,51 @@
border-bottom: 1px solid #333;
}
}
.wxbtn {
width: 100%;
position: absolute;
margin-top: 10px;
top: 78%;
icon {
font-size: 25px;
color: #28c445;
}
text {
display: block;
// width: 100%;
margin-top: 5px;
font-size: 15px;
// color: #666;
text-align: center;
border-bottom: 1px solid blue;
color: blue;
}
button {
line-height: initial;
// background: #fff;
display: flex;
flex-wrap: wrap;
padding: 0;
justify-content: center;
}
button::after {
display: none;
}
view {
width: 100%;
}
image {
width: 40px;
height: 40px;
border-radius: 50%;
}
}
</style>

View File

@ -13,17 +13,17 @@
<!-- -->
<view class="lan" v-if="type!=9">
<view class="left">产品图片</view>
<view class="right pics mr-10" v-for="(img,ind) in urlList" v-if="urlList.length">
<view class="right pics mb-10" v-for="(img,ind) in urlList" v-if="urlList.length">
<image :src="img" mode="aspectFill" @click="handleimage(ind)" />
<uni-icons type="close" size="22" class="uni-icons" @click="handleDel(ind)" @click.stop
v-if="!disabled"></uni-icons>
</view>
<view v-if="!disabled&&urlList.length<3" @click="handleimage()" class="right pics size20">+</view>
<text class="size12 c999 desc">最多可上传3大小不超过2M</text>
<view v-if="!disabled&&urlList.length<6" @click="handleimage()" class="right pics size20">+</view>
<text class="size12 c999 desc">最多可上传6大小不超过2M</text>
</view>
<!-- -->
<view class="lan" v-if="type!=9">
<view class="left">所属行业</view>
<view class="left">系统划分</view>
<view class="right" v-if="!disabled">
<picker mode="selector" :range="industrylist" range-key="name" :value="content.industryname"
@change="changeIndustry">
@ -57,7 +57,7 @@
<input name="name" type="text" v-model="content.address" placeholder="单元楼栋" :disabled="disabled" />
</view>
</view>
<view class="lan" v-if="type!=9">
<!-- <view class="lan" v-if="type!=9">
<view class="left">市场价</view>
<view class="right">
<input name="name" type="text" v-model="content.price" placeholder="市场价" :disabled="disabled" />
@ -68,7 +68,7 @@
<view class="right">
<input name="name" type="text" v-model="content.vipprice" placeholder="会员价" :disabled="disabled" />
</view>
</view>
</view> -->
<view class="lan">
<view class="left">产品规格及介绍</view>
<view class="right textarea">
@ -83,7 +83,7 @@
<icon class="iconfont icon-yuanxingxuanzhongfill"></icon>
<view class="bold size20">提交成功</view>
<view>个人中心查看审核进度</view>
<view>如有疑问请联系秘书处</view>
<view>如有疑问请联系联系人</view>
</view>
<view class="greenBtn">
<view class="btn">确认</view>
@ -192,7 +192,7 @@
return;
}
if (!this.content.industryid) {
this.$tools.msg("请选择所属行业")
this.$tools.msg("请选择系统划分")
return;
}
if (!this.content.province) {
@ -203,14 +203,14 @@
this.$tools.msg("请填写详细地址")
return;
}
if (!this.pathList) {
this.$tools.msg("请输入市场价")
return;
}
if (!this.content.vipprice) {
this.$tools.msg("请输入会员价")
return;
}
// if (!this.pathList) {
// this.$tools.msg("")
// return;
// }
// if (!this.content.vipprice) {
// this.$tools.msg("")
// return;
// }
if (!this.content.desc) {
this.$tools.msg("请填写产品规格及介绍")
return;
@ -222,7 +222,7 @@
} else {
uni.showModal({
title: '提示',
content: that.active == 6 ? "本产品已发布成功," : '' + "一经修改,将重新审核发布",
content: "修改后将重新审核发布",
success: function(res) {
if (res.confirm) {
that.EditInfo(that.content)
@ -361,4 +361,8 @@
}
}
.lan {
justify-content: space-between;
}
</style>

360
pageTwo/me/addVip.vue Normal file
View File

@ -0,0 +1,360 @@
<template>
<view class="box fromClass">
<view class="lanBox">
<view class="lan border-bottom">
<view class="left">姓名<text class="redcolor">*</text></view>
<view class="right">
<input name="name" type="text" v-model="content.name" placeholder="姓名" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">性别</view>
<view class="right">
<picker mode="selector" :range="sexItem" @change="onsexArr">
<view class="uni-input">{{content.sex==0?'请选择':content.sex==1?'男':content.sex==2?'女':'未知'}}
</view>
<uni-icons type="forward" size="20" color="#999"></uni-icons>
</picker>
</view>
</view>
<view class="lan border-bottom">
<view class="left">手机号</view>
<view class="right">
<input name="name" type="text" v-model="content.phone" placeholder="手机号" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">个人照片</view>
<view class="right touxiang" v-if="content.avatar">
<image :src="content.avatarurl" mode="aspectFit" @click="handleimage(1)" />
<uni-icons type="close" size="22" class="uni-icons" @click="content.avatarurl='',content.avatar=''"
@click.stop></uni-icons>
</view>
<view class="right touxiang size20 bold" v-else @click="handleimage(1)">+</view>
<text class="size12 c999 desc">请上传1寸蓝底照片大小不超过2M</text>
</view>
<view class="lan border-bottom">
<view class="left">系统划分</view>
<view class="right">
<picker mode="selector" :range="industrylist" range-key="name" :value="content.industryname"
@change="changeIndustry">
<view class="uni-input">{{content.industryname?content.industryname:"请选择"}}</view>
<uni-icons type="forward" size="20" color="#999"></uni-icons>
</picker>
</view>
</view>
<view class="lan border-bottom">
<view class="left">企业全称</view>
<view class="right">
<input name="name" type="text" v-model="content.comName" placeholder="企业全称" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">公司职位</view>
<view class="right">
<input name="name" type="text" v-model="content.comPos" placeholder="公司职位" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">营业执照</view>
<view class="right zhizhao" v-if="content.license">
<image :src="content.licenseurl" class="headimage" @click="handleimage(2)" mode="aspectFit" />
<uni-icons type="close" size="22" class="uni-icons"
@click="content.licenseurl='',content.license=''" @click.stop></uni-icons>
</view>
<view class="right zhizhao size20 bold" v-else @click="handleimage(2)">+</view>
<text class="size12 c999 desc">点击上传企业营业执照仅用于资质审核</text>
</view>
<view class="lan border-bottom">
<view class="left">通过什么途径了解沪抖团</view>
<view class="radio">
<label @click="radioChange('抖音')">
<icon class="iconfont radioimg"
:class="[source=='抖音'?'icon-yuanxingxuanzhongfill':'icon-yuanxingweixuanzhong']">
</icon>
</label>
<label @click="radioChange('朋友圈')">
<icon class="iconfont radioimg"
:class="[source=='朋友圈'?'icon-yuanxingxuanzhongfill':'icon-yuanxingweixuanzhong']">
</icon>
朋友圈
</label>
<label>
<view @click="radioChange('介绍人')">
<icon class="iconfont radioimg"
:class="[source=='介绍人'?'icon-yuanxingxuanzhongfill':'icon-yuanxingweixuanzhong']">
</icon>
介绍人
</view>
<input type="text" v-model="sourceName" />
</label>
</view>
</view>
<view class="lan border-bottom">
<view class="left">加入沪抖团想收获什么</view>
<checkbox-group @change="checkboxChange" class="checkbox">
<label v-for="(ite,ind) in addNeeds" :key="ind">
<checkbox :value="ite" style="transform:scale(0.8)" :checked="checkbox.indexOf(ite)!== -1 " />
{{ite}}
</label>
</checkbox-group>
</view>
<view class="lan border-bottom">
<view class="left">能给平台带来什么</view>
<view class="right textarea">
<textarea v-model="content.provide" name="content" maxlength="-1" />
</view>
</view>
<view class="lan c999 size12 mt-15">
所有上传的资料信息同意公开展示最终解释权归沪抖团平台所有
</view>
</view>
<view class="btn" @click="confirmInfo">申请加入</view>
</view>
</template>
<script>
import {
mapState
} from "vuex";
export default {
data() {
return {
sexItem: [
"男",
"女"
],
source: "",
sourceName: "",
content: {
sex: "",
name: "",
phone: "",
avatar: "",
avatarurl: "",
source: "",
industryid: "",
industryname: "",
comName: "",
comPos: "",
provide: "",
demand: "",
license: "",
licenseurl: ""
},
addNeeds: [],
checkbox: [],
};
},
computed: {
...mapState(["user", "HomeContent"]),
endDate() {
return this.$tools.getDate("start")
},
industrylist() {
return this.HomeContent.industrylist
},
},
onLoad(options) {
let that = this
that.addNeeds = that.$json.addNeeds
that.content.name = that.user.name?that.user.name:''
that.content.phone = that.user.phone?that.user.phone:""
that.content.comName = that.user.cominfo.name?that.user.cominfo.name:''
that.content.sex = that.user.sex ? that.user.sex : ""
that.content.avatar = that.user.avatar ? that.user.avatar : ''
that.content.provide = that.user.provide ? that.user.provide : ""
that.content.comPos = that.user.cominfo.pos ? that.user.cominfo.pos : ''
that.content.avatarurl = that.user.avatarurl ? that.user.avatarurl : ""
that.content.industryid = that.user.industryid ? that.user.industryid : ''
that.content.industryname = that.user.industryid ? that.industrylist[that.industrylist.findIndex(ite => ite
.id === that.user.industryid)].name : ''
that.checkbox = that.user.demand ? that.user.demand.split(',') : []
},
methods: {
//
confirmInfo() {
let that = this
if (!this.content.name) {
this.$tools.msg("请输入姓名")
return;
}
if (!this.content.sex) {
this.$tools.msg("请选择性别")
return;
}
if (!this.content.phone) {
this.$tools.msg("请输入手机号")
return;
}
if (!this.content.avatarurl) {
this.$tools.msg("请上传个人照片")
return;
}
if (!this.content.industryname) {
this.$tools.msg("请选择系统划分")
return;
}
if (!this.content.comName) {
this.$tools.msg("请输入企业全称")
return;
}
if (!this.content.comPos) {
this.$tools.msg("请输入公司职位")
return;
}
if (this.source == '介绍人' && !this.sourceName) {
this.$tools.msg("请输入介绍人姓名")
return;
}
this.content.source = this.sourceName ? this.sourceName : this.source
console.log('content', this.content)
that.$model.getApplyforMember(this.content).then(res => {
if (res.code == 0) {
uni.showToast({
title: "提交成功",
duration: 2000
});
setTimeout(function() {
uni.switchTab({
url: "/pages/index/index"
})
}, 2000)
} else {
that.$tools.msg(res.message);
}
});
},
handleimage(ind) {
let that = this
uni.chooseImage({
count: 1, //9
sourceType: ['album', 'camera'], //
success: function(res) {
uni.showLoading({
title: '识别中...'
})
that.$model.getUpLoadimg({
uploadpath: res.tempFilePaths[0]
}).then(res => {
uni.hideLoading()
if (res.code == 0) {
if (ind == 1) {
that.content.avatar = res.data.path
that.content.avatarurl = res.data.url
} else {
that.content.license = res.data.path
that.content.licenseurl = res.data.url
}
} else {
that.$tools.msg("不支持该图像")
}
})
}
})
},
//
bindDateChange(e) {
this.content.birthday = e.target.value
},
//
onsexArr(e) {
this.content.sex = this.sexItem[e.target.value] == "男" ? 1 : 2
},
//
changeIndustry(e) {
this.content.industryname = this.HomeContent.industrylist[e.target.value].name
this.content.industryid = this.HomeContent.industrylist[e.target.value].id
},
//
radioChange(e) {
this.source = this.source == e ? '' : e
this.sourceName = this.source == '介绍人' ? this.sourceName : '';
},
//
checkboxChange(e) {
this.content.demand = e.detail.value.join(',')
},
},
};
</script>
<style scoped="scoped" lang="scss">
.zhizhao,
.touxiang {
justify-content: center;
image {
width: 100%;
height: 100%;
}
}
.lan {
margin: 0 10px !important;
}
.right {
/deep/input {
width: 100%;
}
}
.radio {
width: 100%;
height: 40px;
line-height: 40px;
display: flex;
justify-content: space-between;
align-items: center;
label {
display: flex;
}
icon {
color: #dfdfdf;
font-size: 22px;
margin-right: 5px;
}
.icon-yuanxingxuanzhongfill {
color: $uni-color-success;
}
:nth-child(3) {
width: 50%;
view {
width: 50%;
display: flex;
}
/deep/input {
width: 50% !important;
border-bottom: 1px solid #dfdfdf;
}
}
}
.checkbox {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
label {
width: 33%;
display: flex;
font-size: 12px;
margin: 5px 0;
align-items: center;
}
}
</style>

View File

@ -47,7 +47,7 @@
<input name="name" type="text" v-model="userInfo.mobile" placeholder="请输入" />
</view>
</view>
<view class="lan border-bottom">
<!-- <view class="lan border-bottom">
<view class="left">企业年营收万元</view>
<view class="right">
<input name="name" type="digit" v-model="userInfo.yearlyincome" placeholder="请输入" />
@ -64,7 +64,7 @@
<view class="right">
<input name="name" type="number" v-model="userInfo.staffcnt" placeholder="请输入" />
</view>
</view>
</view> -->
<view class="lan border-bottom">
<view class="left">企业介绍</view>
<view class="right textarea">
@ -79,8 +79,8 @@
<uni-icons type="close" size="26" class="uni-icons" @click="handleDel(ind)"
@click.stop></uni-icons>
</view>
<view v-if="urlList.length<4" @click="handleimage(2)" class="right pics size20">+</view>
<text class="size12 c999 desc">最多可上传4大小不超过2M</text>
<view v-if="urlList.length<6" @click="handleimage(2)" class="right pics size20">+</view>
<text class="size12 c999 desc">最多可上传6大小不超过2M</text>
</view>
</view>
@ -265,8 +265,6 @@
}
.pics {
// width: 330rpx !important;
// height: 147rpx !important;
width: 208rpx !important;
height: 208rpx !important;
justify-content: center;

View File

@ -1,9 +1,9 @@
<template>
<view class="content">
<view class="tabbar">
<view :class="[active==6?'active':'']" @click="handleActive(6)">已发布</view>
<view :class="[active==4?'active':'']" @click="handleActive(4)">审核中</view>
<view :class="[active==5?'active':'']" @click="handleActive(5)">已驳回</view>
<view :class="[active==6?'active':'']" @click="handleActive(6)">已发布</view>
</view>
<!-- -->
<view class="list">
@ -24,7 +24,7 @@
data() {
return {
type: 3,
active: 4,
active: 6,
page: 1,
list: [],
lastPage: 1,
@ -38,7 +38,7 @@
this.type = options.type
this.handleList()
uni.setNavigationBarTitle({
title: this.type == 3 ? "我的商品" : '我的供需'
title: "我的商品"
});
},
onReachBottom() {

View File

@ -2,7 +2,39 @@
<view class="box fromClass">
<view class="lanBox">
<view class="lan border-bottom">
<view class="left">所属行业<text class="redcolor">*</text></view>
<view class="left">姓名<text class="redcolor">*</text></view>
<view class="right">
<input name="name" type="text" v-model="userInfo.name" placeholder="姓名" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">手机号<text class="redcolor">*</text></view>
<view class="right">
<input name="name" type="text" v-model="userInfo.phone" placeholder="手机号" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">性别<text class="redcolor">*</text></view>
<view class="right">
<picker mode="selector" :range="sexItem" @change="onsexArr">
<view class="uni-input">{{userInfo.sex==0?'请选择':userInfo.sex==1?'男':userInfo.sex==2?'女':'未知'}}
</view>
<uni-icons type="forward" size="20" color="#999"></uni-icons>
</picker>
</view>
</view>
<view class="lan border-bottom">
<view class="left">个人照片<text class="redcolor">*</text></view>
<view class="right touxiang" v-if="userInfo.avatarurl">
<image :src="userInfo.avatarurl" mode="aspectFit" @click="handleimage(1)" />
<uni-icons type="close" size="26" class="uni-icons" @click="userInfo.avatarurl=''"
@click.stop></uni-icons>
</view>
<view class="right touxiang size20 bold" v-else @click="handleimage(1)">+</view>
<text class="size12 c999 desc">请上传1寸蓝底照片大小不超过2M</text>
</view>
<view class="lan border-bottom">
<view class="left">系统划分<text class="redcolor">*</text></view>
<view class="right">
<picker mode="selector" :range="industrylist" range-key="name" :value="userInfo.industryname"
@change="changeIndustry">
@ -22,7 +54,7 @@
</view>
</view>
<view class="lan border-bottom">
<view class="left">智照团职务<text class="redcolor">*</text></view>
<view class="left">沪抖团职务<text class="redcolor">*</text></view>
<view class="right">
<picker mode="selector" :range="poslist" range-key="name" :value="userInfo.posname"
@change="changePos">
@ -31,40 +63,8 @@
</picker>
</view>
</view>
<view class="lan border-bottom">
<view class="left">姓名<text class="redcolor">*</text></view>
<view class="right">
<input name="name" type="text" v-model="userInfo.name" placeholder="姓名" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">手机号<text class="redcolor">*</text></view>
<view class="right">
<input name="name" type="text" v-model="userInfo.phone" placeholder="手机号" />
</view>
</view>
<view class="lan border-bottom">
<view class="left">个人照片<text class="redcolor">*</text></view>
<view class="right touxiang" v-if="userInfo.avatarurl">
<image :src="userInfo.avatarurl" mode="aspectFit" @click="handleimage(1)" />
<uni-icons type="close" size="26" class="uni-icons" @click="userInfo.avatarurl=''"
@click.stop></uni-icons>
</view>
<view class="right touxiang size20 bold" v-else @click="handleimage(1)">+</view>
<text class="size12 c999 desc">请上传1寸蓝底照片大小不超过2M</text>
</view>
<view class="lan border-bottom">
<view class="left">性别<text class="redcolor">*</text></view>
<view class="right">
<picker mode="selector" :range="sexItem" @change="onsexArr">
<view class="uni-input">{{userInfo.sex==0?'请选择':userInfo.sex==1?'男':userInfo.sex==2?'女':'未知'}}
</view>
<uni-icons type="forward" size="20" color="#999"></uni-icons>
</picker>
</view>
</view>
<view class="lan border-bottom">
<!-- <view class="lan border-bottom">
<view class="left">出生年月<text class="redcolor">*</text></view>
<view class="right">
<picker class="picker" mode="date" :end="endDate" :value="userInfo.birthday"
@ -73,13 +73,13 @@
<uni-icons type="forward" size="20" color="#999"></uni-icons>
</picker>
</view>
</view>
<view class="lan border-bottom">
</view> -->
<!-- <view class="lan border-bottom">
<view class="left">籍贯</view>
<view class="right">
<input name="name" type="text" v-model="userInfo.place" placeholder="籍贯" />
</view>
</view>
</view> -->
<view class="lan border-bottom">
<view class="left">邮箱</view>
<view class="right">
@ -93,7 +93,7 @@
</view>
</view>
<view class="lan border-bottom">
<view class="left">加入智照团想收获什么</view>
<view class="left">加入沪抖团想收获什么</view>
<checkbox-group @change="checkboxChange" class="checkbox">
<label v-for="(ite,ind) in addNeeds" :key="ind">
<checkbox :value="ite" style="transform:scale(0.8)" :checked="checkbox.indexOf(ite)!== -1 " />
@ -133,7 +133,6 @@
orgid: "",
posname: "",
posid: "",
birthday: "",
industryid: "",
industryname: "",
sex: "",
@ -167,15 +166,14 @@
let that = this
this.addNeeds = this.$json.addNeeds
this.userInfo = this.user.name ? this.user : {}
this.userInfo.industryname = this.user.industryid ? this.industrylist[that.industrylist.findIndex(ite => ite
.id === that.userInfo.industryid)].name : ''
this.userInfo.industryname = this.user.industryid ? this.industrylist[that.industrylist.findIndex(ite => ite.id === that.userInfo.industryid)].name : ''
this.checkbox = this.userInfo.demand ? this.userInfo.demand.split(',') : []
},
methods: {
//
confirmInfo() {
if (!this.userInfo.industryname) {
this.$tools.msg("请选择所属行业")
this.$tools.msg("请选择系统划分")
return;
}
if (!this.userInfo.orgname) {
@ -183,7 +181,7 @@
return;
}
if (!this.userInfo.posname) {
this.$tools.msg("请选择智照团职务")
this.$tools.msg("请选择沪抖团职务")
return;
}
if (!this.userInfo.name) {
@ -202,10 +200,10 @@
this.$tools.msg("请选择性别")
return;
}
if (!this.userInfo.birthday) {
this.$tools.msg("请选择出生日期")
return;
}
// if (!this.userInfo.birthday) {
// this.$tools.msg("")
// return;
// }
console.log("提交", this.userInfo)
this.subInfo(this.userInfo);
},

View File

@ -44,7 +44,7 @@
<icon class="iconfont icon-zantongfill"></icon>
<text>点赞</text>
</view>
<view class="call" v-if="type==4" @click="$tools.getCall(user.authlist,content.phone)">
<view class="call" v-if="type==4" @click="handleCall(user.authlist,content.phone)">
<icon class="iconfont icon-dianhua1 mr-5"></icon>拨打电话
</view>
</view>
@ -58,7 +58,7 @@
<image src="@/static/none.png"></image>
<text>暂无数据</text>
</view>
<!-- 秘书处弹框 -->
<!-- 联系人弹框 -->
<secratary></secratary>
</view>
</template>
@ -85,6 +85,9 @@
},
computed: {
...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
},
onLoad(options) {
console.log("资讯", options)
@ -168,6 +171,29 @@
console.log(e) //catch(e){makePhoneCall:fail cancel}
});
},
handleCall(authlist, num) {
let that = this
console.log("authlist", authlist, that.userInfo)
if (authlist.length) {
let arr = authlist.findIndex(v => v.code == 'phone:show')
if (arr == -1) {
that.$store.commit("changeSecratary", true);
} else {
uni.makePhoneCall({
phoneNumber: num, //
success: () => {
console.log("拨打电话成功")
that.$model.getSetClickNumber({
userId: that.userInfo.id ? that.userInfo.id : 0,
clickPhone: num,
}).then(res => {});
}
})
}
} else {
that.$store.commit("changeSecratary", true);
}
},
handleZan() {
console.log("点赞")
let that = this

View File

@ -55,7 +55,7 @@
// onShareAppMessage() {
// let that = this
// return {
// title: "线",
// title: "线",
// path: '/pageTwo/news/list?type=' + that.type,
// imageUrl: '',
// success: function(res) {
@ -69,7 +69,7 @@
// onShareTimeline() {
// let that = this
// return {
// title: "线",
// title: "线",
// query: 'type=' + that.type,
// imageUrl: '',
// success: function(res) {

View File

@ -7,9 +7,8 @@
<view class="bold size16 mr-10">{{content.userinfo.name}}</view>
<text class="post">{{content.userinfo.posname}}</text>
</view>
<view class="call" @click="$tools.getCall(user.authlist,content.userinfo.phone)">
<icon class="iconfont icon-dianhua1 mr-10"></icon>
拨打电话
<view class="call" @click="handleCall(user.authlist,content.userinfo.phone)">
联系方式
</view>
</view>
<!-- -->
@ -17,10 +16,10 @@
<view class="title">
{{content.title}}
</view>
<view v-if="type!=9">
<!-- <view v-if="type!=9">
<text class="redcolor size14 mr-10 bold">会员价:{{content.vipprice}}</text>
<text class="c999 size12">市场价:{{content.price}}</text>
</view>
</view> -->
<view class="c999 size12" v-if="type!=9">
地址{{content.province}}{{content.city}}{{content.area}}{{content.address}}
</view>
@ -35,7 +34,7 @@
</view>
</view>
<!-- 秘书处弹框 -->
<!-- 联系人弹框 -->
<secratary></secratary>
</view>
<view class="nolist" v-else>
@ -55,15 +54,20 @@
content: null,
type: 3,
id: "",
token:""
}
},
onLoad(options) {
this.id = options.id
this.type = options.type
this.token = uni.getStorageSync('token')
this.handleDetail(options.id, options.type)
},
computed: {
...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
},
onShareAppMessage() {
let that = this
@ -119,6 +123,33 @@
});
},
handleCall(authlist, num) {
let that = this
console.log("authlist", authlist, that.userInfo)
if (!that.token) {
that.$tools.msg("注册/登录后查看更多")
return
}
if (authlist.length) {
let arr = authlist.findIndex(v => v.code == 'phone:show')
if (arr == -1) {
that.$store.commit("changeSecratary", true);
} else {
uni.makePhoneCall({
phoneNumber: num, //
success: () => {
console.log("拨打电话成功")
that.$model.getSetClickNumber({
userId: that.userInfo.id ? that.userInfo.id : 0,
clickPhone: num,
}).then(res => {});
}
})
}
} else {
that.$store.commit("changeSecratary", true);
}
}
}
}
</script>
@ -166,8 +197,9 @@
.call {
height: 35px;
color: #fff;
display: flex;
background: #E6C8A2;
background: $green;
padding: 0px 10px;
border-radius: 5px;
align-items: center;

View File

@ -1,7 +1,7 @@
<template>
<view class="content">
<!-- 搜索 -->
<piker-search @handleSearch="handleSearch" :placeholder='type==3?"找品":"找供应"' :width="'100'"
<piker-search @handleSearch="handleSearch" :placeholder='type==3?"找品":"找供应"' :width="'100'"
:isAddress="true"></piker-search>
<!-- 供求信息 -->
@ -21,10 +21,11 @@
<!-- 发布 -->
<view class="fabu" @click="handlefabu">
<uni-icons type="paperplane" color="#fff" size="30"></uni-icons>
<text>发布</text>
<image src="../../static/f.png"></image>
<!-- <uni-icons type="paperplane" color="#fff" size="30"></uni-icons>
<text>发布</text> -->
</view>
<!-- 秘书处弹框 -->
<!-- 联系人弹框 -->
<secratary></secratary>
</view>
</template>
@ -64,7 +65,7 @@
this.handleList()
that.token = uni.getStorageSync('token')
uni.setNavigationBarTitle({
title: this.type == 3 ? "品展示" : '供求信息'
title: this.type == 3 ? "品展示" : '供求信息'
});
},
onShow() {
@ -113,31 +114,25 @@
//
handlefabu() {
let that = this
let type = this.type == 3 ? 3 : this.active == 1 ? 8 : 9
if (!uni.getStorageSync('token')) {
that.$tools.msg("登录后查看更多")
that.$tools.msg("注册/登录后查看更多")
return
}
if (type == 3 || type == 8) {
if (that.user.authlist.length) {
for (var i = 0; i < that.user.authlist.length; i++) {
let ite = that.user.authlist[i]
if (ite.code.indexOf('product:submit') != -1 || ite.code.indexOf('supply:submit') != -1) {
uni.navigateTo({
url: "/pageTwo/me/addNeeds?status=add&type=" + type
})
}
break
}
let type = this.type == 3 ? 3 : this.active == 1 ? 8 : 9
if (that.user.authlist.length) {
let found = that.user.authlist.find(ite => ite.code.indexOf('product:submit') != -1 || ite.code
.indexOf('supply:submit') != -1);
if (found !== undefined) {
uni.navigateTo({
url: "/pageTwo/me/addNeeds?status=add&type=" + type
})
} else {
that.$store.commit("changeSecratary", true);
that.$tools.msg("加入我们获得更多权限!")
}
} else {
uni.navigateTo({
url: "/pageTwo/me/addNeeds?status=add&type=" + type
})
that.$tools.msg("加入我们获得更多权限!")
}
console.log("发布")
console.log("发布", that.user.authlist)
},
//
handleDetail(item) {
@ -145,7 +140,7 @@
let type = this.type == 3 ? 3 : this.active == 1 ? 8 : 9
console.log("详情", this.active)
// if (!uni.getStorageSync('token')) {
// that.$tools.msg("")
// that.$tools.msg("/")
// return
// }
that.$model.getProductDetail({
@ -167,7 +162,7 @@
handleSearch(name, province, city, industryid) {
let that = this
// if (!uni.getStorageSync('token')) {
// that.$tools.msg("")
// that.$tools.msg("/")
// return
// }
this.name = name
@ -223,15 +218,20 @@
right: 15px;
width: 60px;
height: 60px;
color: #E8CDA9;
background: #2C2C34;
// color: #E8CDA9;
// background: #2C2C34;
bottom: 20%;
border-radius: 50%;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 5px 2px #383a39fc;
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
image {
width: 100%;
height: 100%;
}
text {
width: 100%;
@ -249,4 +249,8 @@
width: 1px;
background-color: #dfdfdf;
}
/deep/.serachBox {
height: 80px !important;
}
</style>

View File

@ -3,7 +3,7 @@
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "智照团线上展厅"
"navigationBarTitleText": "沪抖团线上展厅"
}
}, {
"path": "pages/me/me",
@ -29,7 +29,7 @@
}, {
"path": "pages/index/fengCai",
"style": {
"navigationBarTitleText": "领导风采",
"navigationBarTitleText": "达人风采",
"enablePullDownRefresh": false
}
@ -44,117 +44,127 @@
"subPackages": [{
"root": "pageTwo",
"pages": [{
"path": "login/login",
"style": {
"navigationBarTitleText": "登录",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
"path": "login/login",
"style": {
"navigationBarTitleText": "登录",
"enablePullDownRefresh": false
}
}, {
"path": "login/add",
"style": {
"navigationBarTitleText": "我要加入智照团",
"enablePullDownRefresh": false
}
}, {
"path": "login/add",
"style": {
"navigationBarTitleText": "注册",
"enablePullDownRefresh": false
}
}, {
"path": "login/editPassword",
"style": {
"navigationBarTitleText": "修改密码",
"enablePullDownRefresh": false
}
}, {
"path": "login/editPassword",
"style": {
"navigationBarTitleText": "修改密码",
"enablePullDownRefresh": false
}
}, {
"path": "index/detail",
"style": {
"navigationBarTitleText": "详情",
"enablePullDownRefresh": false
}
}, {
"path": "index/detail",
"style": {
"navigationBarTitleText": "详情",
"enablePullDownRefresh": false
}
}, {
"path": "product/detail",
"style": {
"navigationBarTitleText": "商品展示",
"enablePullDownRefresh": false
}
}, {
"path": "product/list",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}, {
"path": "product/detail",
"style": {
"navigationBarTitleText": "详情",
"enablePullDownRefresh": false
}
}, {
"path": "product/list",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}, {
"path": "news/list",
"style": {
"navigationBarTitleText": "列表",
"enablePullDownRefresh": false
}
}, {
"path": "news/list",
"style": {
"navigationBarTitleText": "资讯列表",
"enablePullDownRefresh": false
}
}, {
"path": "news/detail",
"style": {
"navigationBarTitleText": "详情",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"titleText": "返回首页"
}, {
"path": "news/detail",
"style": {
"navigationBarTitleText": "详情",
"enablePullDownRefresh": false,
// "navigationStyle": "custom",
"app-plus": {
"titleNView": {
"titleText": "返回首页"
}
}
}
}
}, {
"path": "me/company",
"style": {
"navigationBarTitleText": "企业简介",
"enablePullDownRefresh": false
}
}, {
"path": "me/company",
"style": {
"navigationBarTitleText": "企业简介",
"enablePullDownRefresh": false
}
}, {
"path": "me/user",
"style": {
"navigationBarTitleText": "个人简介",
"enablePullDownRefresh": false
}
}, {
"path": "me/user",
"style": {
"navigationBarTitleText": "个人简介",
"enablePullDownRefresh": false
}
}, {
"path": "me/needs",
"style": {
"navigationBarTitleText": "我的需求",
"enablePullDownRefresh": false
}
}, {
"path": "me/needs",
"style": {
"navigationBarTitleText": "我的需求",
"enablePullDownRefresh": false
}
}, {
"path": "me/addNeeds",
"style": {
"navigationBarTitleText": "商品添加",
"enablePullDownRefresh": false
}
}, {
"path": "me/addNeeds",
"style": {
"navigationBarTitleText": "商品添加",
"enablePullDownRefresh": false
}
}]
},
{
"path": "me/addVip",
"style": {
"navigationBarTitleText": "加入我们",
"enablePullDownRefresh": false
}
}
]
}],
"globalStyle": {
"navigationBarTextStyle": "white",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#345A9B",
"navigationBarBackgroundColor": "#3f378d",
"backgroundColor": "#F8F8F8"
},
"tabBar": {
"color": "#333",
"custom": true,
"selectedColor": "#345A9B",
"backgroundColor": "#fff",
"list": [{
"pagePath": "pages/index/index",
"iconPath": "static/index.png",
"selectedIconPath": "static/index01.png",
"iconPath": "static/home3.png",
"selectedIconPath": "static/home1.png",
"text": "首页"
},
{
"pagePath": "pages/phoneList/phoneList",
"iconPath": "static/phone.png",
"selectedIconPath": "static/phone01.png",
"text": "通讯录"
"iconPath": "static/e.png",
"selectedIconPath": "static/e.png",
"text": "企业名录"
},
{
"pagePath": "pages/me/me",

View File

@ -1,7 +1,7 @@
<template>
<view class="content">
<!-- 搜索 -->
<piker-search @handleSearch="handleSearch" :placeholder='"找领导"' :width="'100'" :isAddress="false" :isPost="true"
<piker-search @handleSearch="handleSearch" :placeholder='"找达人"' :width="'100'" :isAddress="false" :isPost="true"
:isWork="false"></piker-search>
<!-- -->
@ -15,7 +15,7 @@
<text class="name">{{ite.name}}</text>
<text class="post">{{ite.posname}}</text>
</view>
<view class="c999 place">{{ite.composname}}<text v-if="ite.place" class="ml-5 mr-5">|</text>{{ite.place}}</view>
<view class="c999 place">{{ite.composname}}</view>
<view class="c999">{{ite.mobile}}</view>
<view class="c999">{{ite.province}}{{ite.city}}{{ite.area}}{{ite.address}}</view>
</view>
@ -80,7 +80,7 @@
handleSearch(name) {
let that = this
// if (!uni.getStorageSync('token')) {
// that.$tools.msg("")
// that.$tools.msg("/")
// return
// }
this.name = name
@ -92,7 +92,7 @@
handledetail(ite) {
let that = this
// if (!uni.getStorageSync('token')) {
// that.$tools.msg("")
// that.$tools.msg("/")
// return
// }
uni.navigateTo({

View File

@ -1,33 +1,31 @@
<template>
<view class="content">
<!-- 搜索 -->
<view class="head" v-if="token">
<piker-search @handleSearch="handleSearch" :placeholder='"找客户/找产品/找供应"' :width="'60'"></piker-search> -->
<view class="head">
<piker-search @handleSearch="handleSearch" :placeholder='"找产品/找方案"' :width="'60'"></piker-search>
<view class="fangke">
<icon class="iconfont icon-remen"></icon>
<text>今日访客{{todayviewer}}</text>
</view>
</view>
<view v-else class="login" @click="handleLogin">
登录后查看更多内容资讯点击此处<text>登录</text>
<view class="login" @click="handleLogin" v-if="!token">
登录/注册后查看更多点击此处<text>登录/注册</text>
</view>
<!-- banner -->
<view class="tips" :style="{'margin':!token?'0':'90rpx 0 10px'}">
<view class="tips" :style="{'margin':!token?'0':'50px 0 10px'}">
<text @click="navTo('/pageTwo/me/company')" v-if="token&&!mobile" style="margin-top: 10px;">请尽快完善企业信息</text>
</view>
<view class="f_banner">
<view v-if="fimages.length">
<swiper class="swiper" indicator-dots="true" autoplay="true" circular="true">
<swiper-item v-for="(image, index) in fimages" :key="index" @click="detail(image.id,5)">
<image :src="image.headimg" mode="scaleToFill" />
</swiper-item>
</swiper>
</view>
<view class="f_banner" v-if="fimages.length">
<swiper class="swiper" indicator-dots="true" autoplay="true" circular="true">
<swiper-item v-for="(image, index) in fimages" :key="index" @click="detail(image.id,5)">
<image :src="image.headimg" mode="scaleToFill" />
</swiper-item>
</swiper>
</view>
<!-- 公告 -->
<view class="box">
<view class="notice">
<text>头条</text>
<view class="notice" v-if="notices.length">
<text>通知</text>
<!-- -->
<swiper class="swiper" vertical="true" autoplay="true">
<swiper-item v-for="(item,index) in notices" :key="index" @click="detail(item.id,6)">
@ -37,28 +35,25 @@
</view>
<!-- 工具 -->
<view class="tools">
<view class="item" v-for="(item,index) in navbarlist" :key="index" @click="handlePath(index,item.link)">
<view class="item" v-for="(item,index) in navbarlist" :key="index" @click="handlePath(index,item)">
<image :src="item.image"></image>
<text>{{item.name}}</text>
</view>
</view>
<!-- 简介 -->
<view class="f_banner centerList" style="margin-top: 10px;">
<view v-if="HomeContent&&centerList.length">
<swiper class="swiper" autoplay="true">
<swiper-item v-for="(ite, index) in centerList" :key="index">
<image :src="ite.headimg" v-if='ite.posfmtype!=2' @click="detail(ite.id,5)" />
<video v-else id="myVideo" :src="ite.headimg" @error="videoErrorCallback" controls
:muted="false" :autoplay="true" :show-mute-btn='true' object-fit="fill"
:loop="true"></video>
</swiper-item>
</swiper>
</view>
<view class="f_banner centerList" style="margin-top: 10px;" v-if="HomeContent&&centerList.length">
<swiper class="swiper" autoplay="true">
<swiper-item v-for="(ite, index) in centerList" :key="index">
<image :src="ite.headimg" v-if='ite.posfmtype!=2' @click="detail(ite.id,5)" />
<video v-else id="myVideo" :src="ite.headimg" @error="videoErrorCallback" controls :muted="true"
:autoplay="true" :show-mute-btn='true' object-fit="fill" :loop="true"></video>
</swiper-item>
</swiper>
</view>
<!-- 风采 -->
<view class="tools fengcai" v-if="list.length">
<view class="title" @click="navTo('/pages/index/fengCai')">
<text class="ml-10">领导风采</text>
<text class="ml-10">达人风采</text>
<text class="mr-10">查看更多></text>
</view>
<swiper class="swiper " display-multiple-items='5' autoplay="true" circular="true" interval='3000'>
@ -76,10 +71,11 @@
<!-- 资讯活动 -->
<view class="zixun">
<view class="title mt-10" @click="navTo('/pageTwo/news/list?type=1')">
<text>资讯活动</text>
<text>资讯</text>
<text v-if="newsList.length">查看更多></text>
</view>
<list :isAddress="1" :list="newsList" v-if="newsList.length" @handleSearchId="handleSearchId"></list>
<list :isAddress="1" :list="newsList" v-if="newsList.length" @handleSearchId="handleSearchId">
</list>
<view class="nolist" style="margin-top: 15px;" v-if="!newsList.length">
<image src="@/static/none.png"></image>
<text>暂无数据</text>
@ -87,6 +83,18 @@
</view>
<!-- 客服 -->
<message></message>
<!-- 底部 -->
<tabbar :tabInd="0"></tabbar>
<!-- 微信小店 -->
<view class="wrapper" v-if="isShop">
<view class="bg" @click="isShop = false">
<view class="edit" @click.stop>
<store-home :appid="shopId" style="width: 100%;height: 90px;"></store-home>
<view @click="isShop = false" class="close">取消</view>
<!-- <image src="../../static/error.png" @click="isShop = false"></image> -->
</view>
</view>
</view>
</view>
</view>
</template>
@ -95,6 +103,8 @@
import {
mapState
} from "vuex";
import headbg from "@/components/header.vue"
import tabbar from "@/components/tabBar.vue"
import list from "@/components/newsList.vue"
import pikerSearch from "../../components/search.vue"
export default {
@ -102,6 +112,8 @@
return {
list: [],
token: '',
shopId: "",
isShop: false
}
},
computed: {
@ -130,11 +142,13 @@
},
components: {
list,
headbg,
tabbar,
pikerSearch,
},
async onLoad() {
onLoad() {
let that = this
await that.login()
that.login()
that.token = uni.getStorageSync('token')
that.$store.dispatch('getInfoList', {
searchValue: "",
@ -146,7 +160,7 @@
onShareAppMessage() {
let that = this
return {
title: "智照团线上展厅",
title: "沪抖团线上展厅",
path: '/pages/index/index',
imageUrl: '',
success: function(res) {
@ -159,7 +173,7 @@
},
onShareTimeline() {
return {
title: '智照团线上展厅',
title: '沪抖团线上展厅',
query: '',
imageUrl: '',
success: function(res) {
@ -174,16 +188,17 @@
login() {
let that = this
uni.login({
success(res) {
if (res.code) {
console.log("code", res.code)
if (res.errMsg = "login:ok") {
success(res2) {
if (res2.code) {
if (res2.errMsg = "login:ok") {
console.log("code", res2.code)
that.$model.onlogin({
code: res.code,
code: res2.code,
}).then(res => {
if (res.code == 2) {
that.token = null
uni.clearStorageSync()
uni.setStorageSync('UserInfo', {})
uni.setStorageSync('sessionid', res.data.sessionid)
return
}
@ -223,7 +238,7 @@
handleDetail(ite) {
let that = this
// if (!that.token) {
// that.$tools.msg("")
// that.$tools.msg("/")
// return
// }
uni.navigateTo({
@ -236,26 +251,24 @@
let that = this
console.log("搜索信息返回", ite)
// if (!that.token) {
// that.$tools.msg("")
// that.$tools.msg("/")
// return
// }
uni.navigateTo({
url: "/pages/index/searchList?ite=" + ite
})
if (ite != "") {
uni.navigateTo({
url: "/pages/index/searchList?ite=" + ite
})
}
},
//
handlePath(ind, url) {
handlePath(ind, ite) {
let that = this
if (ind == 3) {
uni.switchTab({
url: url
})
} else if (ind == 2) {
uni.navigateTo({
url: url + "?content=2"
})
} else {
this.navTo(url)
if (ite.link != "") {
that.navTo(ite.link)
}
if (ite.appid != "") {
that.shopId = ite.appid
that.isShop = true
}
},
//
@ -303,6 +316,9 @@
align-items: center;
justify-content: center;
padding: 0;
min-height: calc(100vh - 90px);
padding-bottom: 90px;
}
.box {
@ -311,17 +327,17 @@
align-items: center;
justify-content: center;
padding: 0 10px;
background-color: #f7f7f7;
}
.head {
height: 35px;
position: fixed;
top: 0;
top: 84px;
left: 0;
right: 0;
padding: 0 10px 10px;
z-index: 9;
background-color: $blue;
z-index: 999;
}
.login {
@ -330,6 +346,7 @@
height: 45px;
line-height: 45px;
border-radius: 5px;
margin-top: 45px;
text {
color: $blue;
@ -343,7 +360,7 @@
.fangke {
position: fixed;
z-index: 9;
z-index: 19;
color: #fff;
right: 10px;
top: 0px;
@ -421,6 +438,7 @@
flex-wrap: wrap;
margin-top: 10px;
padding-top: 10px;
overflow: hidden;
border-radius: 10px;
background-color: #fff;
@ -494,7 +512,7 @@
}
.post {
background-color: #F7B133;
background-color: $blue;
text-align: center;
font-size: 12px;
padding: 2px 0;
@ -576,4 +594,29 @@
display: block;
}
}
.bg {
display: flex;
justify-content: center;
align-items: center;
.edit {
border-radius: 5px;
height: 125px;
padding: 20px;
margin: 0 !important;
display: flex;
justify-content: center;
flex-wrap: wrap;
.close {
width: 100px;
height: 35px;
line-height: 35px;
margin-top: 15px;
border-radius: 5px;
background-color: #eae7e7;
}
}
}
</style>

View File

@ -52,9 +52,9 @@
<view class="productList" v-if="ite.ptype==3||ite.ptype==8||ite.ptype==9">
<view class="name">
<view class="post">
<image :src="ite.data.userinfo.avatar" class="mr-10"></image>
<image :src="ite.data.userinfo.avatar" class="mr-10 avatar"></image>
<view class="bold size16 mr-10">{{ite.data.userinfo.name}}</view>
<text>{{ite.data.userinfo.posname}}</text>
<view class="vip">{{ite.data.userinfo.posname}}</view>
</view>
</view>
<view class="info">
@ -66,15 +66,14 @@
<image v-for="(it,id) in ite.data.pics" :src="it.url" mode="aspectFit"></image>
</view>
<view class="address" v-if="ite.ptype!=9">
<text class="mr-10">行业{{ite.data.industryname}}</text>
<text class="mr-10" v-if="ite.data.industryname">行业{{ite.data.industryname}}</text>
<text>地址{{ite.data.province}}{{ite.data.city}}{{ite.data.area}}{{ite.data.address}}</text>
</view>
<view class="money mt-10" v-if="ite.ptype!=9">
<text class="redcolor size16 mr-5 bold">会员价:{{ite.data.vipprice}}</text>
<text class="size12 c999">市场价:{{ite.data.price}}</text>
<text class="call" @click="$tools.getCall(user.authlist,ite.data.userinfo.phone)">
<icon class="iconfont icon-dianhua1 mr-10"></icon>
拨打电话
<!-- <text class="redcolor size16 mr-5 bold">会员价:{{ite.data.vipprice}}</text>
<text class="size12 c999">市场价:{{ite.data.price}}</text> -->
<text class="call" @click="handleCall(user.authlist,ite.data.userinfo.phone)">
联系方式
</text>
</view>
</view>
@ -90,7 +89,7 @@
</view>
<view class="corporate c999">{{ite.data.name}}</view>
</view>
<view class="tell" @click="$tools.getCall(user.authlist,ite.data.mobile)" @click.stop>
<view class="tell" @click="handleCall(user.authlist,ite.data.mobile)" @click.stop>
<image src="../../static/tall.png"></image>
</view>
</view>
@ -104,8 +103,10 @@
<text class="name">{{ite.data.name}}</text>
<text class="post">{{ite.data.posname}}</text>
</view>
<view class="c999 place">{{ite.data.composname}}<text v-if="ite.place"
class="ml-5 mr-5">|</text>{{ite.place}}</view>
<view class="c999 place">
{{ite.data.composname}}
<!-- <text v-if="ite.place" class="ml-5 mr-5">|</text>{{ite.place}} -->
</view>
<view class="c999">{{ite.data.mobile}}</view>
<view class="c999">{{ite.data.province}}{{ite.data.city}}{{ite.data.area}}{{ite.data.address}}
</view>
@ -116,7 +117,7 @@
<image src="../../static/none.png"></image>
<text>暂无数据</text>
</view>
<!-- 秘书处弹框 -->
<!-- 联系人弹框 -->
<secratary></secratary>
</view>
</template>
@ -137,6 +138,9 @@
},
computed: {
...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
},
onLoad(options) {
console.log(options.ite)
@ -239,6 +243,33 @@
});
},
handleCall(authlist, num) {
let that = this
console.log("authlist", authlist, that.userInfo)
if (!uni.getStorageSync('token')) {
this.$tools.msg("注册/登录后查看更多")
return
}
if (authlist.length) {
let arr = authlist.findIndex(v => v.code == 'phone:show')
if (arr == -1) {
that.$store.commit("changeSecratary", true);
} else {
uni.makePhoneCall({
phoneNumber: num, //
success: () => {
console.log("拨打电话成功")
that.$model.getSetClickNumber({
userId: that.userInfo.id ? that.userInfo.id : 0,
clickPhone: num,
}).then(res => {});
}
})
}
} else {
that.$store.commit("changeSecratary", true);
}
}
}
}

View File

@ -1,5 +1,5 @@
<template>
<view class="content bgfff">
<view class="content">
<!-- -->
<view class="phonetop" v-if="token">
<view class="headbox">
@ -11,44 +11,48 @@
<view class="name">
{{userInfo.name}}<text>{{userInfo.posname}}</text>
</view>
<view class="post">{{userInfo.orgname}}<text v-if="userInfo.place"
class="ml-5 mr-5">|</text>{{userInfo.place}}
<view class="post">
{{userInfo.orgname}}
</view>
<view class="phone">电话:{{userInfo.phone}}</view>
<view class="phone" v-if="userInfo.email">
{{userInfo.email}}
邮箱:{{userInfo.email}}
</view>
<view class="phone" @click="navTo('/pageTwo/me/user')" v-if="!userInfo.email"
:class="[!userInfo.email?'redcolor':'']">
请尽快完善个人资料
</view>
</view>
<view class="logo">
<image src="../../static/logo.png"></image>
</view>
</view>
</view>
</view>
<view v-else class="login" @click="handleLogin">
登录后查看更多内容资讯点击此处<text>登录</text>
登录/注册后查看更多点击此处<text>登录/注册</text>
</view>
<!-- vip -->
<view class="vip" :class="[!token?'marginTop':'']">
<image src="../../static/h.png"></image>
<view>
<image src="../../static/me1.png"></image>
<text v-if="!userInfo.vipname">开通会员尊享多重特权</text>
<text v-else>会员有效期至{{userInfo.vipendtime.substring(0,10)}}</text>
<text v-if="!userInfo.vipname">加入我们尊享多重特权</text>
<text v-else class="bold">会员有效期至{{userInfo.vipendtime.substring(0,10)}}</text>
</view>
<view class="btn" v-if="!userInfo.vipname" @tap="handleisVIP">开通会员</view>
<!-- -->
<view class="btn" @click="navTo('/pageTwo/me/addVip')" v-if="!userInfo.vipname">加入我们</view>
</view>
<!-- 资料 -->
<view class="tools">
<view class="item" @click="navTo('/pageTwo/me/user')">
<image src="../../static/me3.png"></image>
<image src="../../static/tools1.png"></image>
<view class="ml-15">
<text class="size18 bold">个人资料</text>
Personal Data
</view>
</view>
<view class="item" @click="navTo('/pageTwo/me/company')">
<image src="../../static/me2.png"></image>
<image src="../../static/tools2.png"></image>
<view class="ml-15">
<text class="size18 bold">企业信息</text>
Company
@ -58,33 +62,35 @@
<!-- 更多功能 -->
<view class="tools tools2">
<view class="title">更多功能</view>
<view @click="navTo('/pageTwo/me/needs?type=9')">
<image src="../../static/me4.png"></image>
<text>我的供需</text>
</view>
<view @click="navTo('/pageTwo/me/needs?type=3')">
<image src="../../static/me5.png"></image>
<text>我的商品</text>
</view>
<view @click="navTo('/pageTwo/login/editPassword')">
<image src="../../static/me6.png"></image>
<text>修改密码</text>
</view>
<view @tap="handleisVIP">
<image src="../../static/me7.png"></image>
<text>联系秘书处</text>
</view>
<view @tap="handleisCare">
<image src="../../static/me8.png"></image>
<text>身份卡</text>
</view>
<view @click="handleOutLogin" v-if="token">
<image src="../../static/me10.png"></image>
<text>退出</text>
<view class="tools_item">
<view @click="navTo('/pageTwo/me/needs?type=3')">
<image src="../../static/q.png"></image>
<text>我的商品</text>
</view>
<view @click="navTo('/pageTwo/login/editPassword')">
<image src="../../static/w.png"></image>
<text>修改密码</text>
</view>
<view @tap="handleisVIP">
<image src="../../static/r.png"></image>
<text>联系人</text>
</view>
<view @tap="handleisCare">
<image src="../../static/t.png"></image>
<text>身份卡</text>
</view>
<view @click="navTo('/pageTwo/me/addVip')" v-if="!userInfo.vipname">
<image src="../../static/me4.png"></image>
<text>加入我们</text>
</view>
<view @click="handleOutLogin" v-if="token">
<image src="../../static/y.png"></image>
<text>退出</text>
</view>
</view>
</view>
<!-- -->
<view class="foot">
<!-- <view class="foot">
<view class="logo">
<image src="../../static/logo.png"></image>
</view>
@ -93,15 +99,15 @@
</view>
<view>
<text>长按识别二维码</text>
<text>关注智照团公众号接收最新动态</text>
<text>关注沪抖团公众号接收最新动态</text>
</view>
</view>
</view> -->
<!-- 身份卡 -->
<view class="wrapper" v-if="isCard">
<view class="bg" @click="handleisCare">
<view class="edit Card" @click.stop>
<view class="Cardbg">
<image src="../../static/bg.jpg" mode="aspectFit"></image>
<!-- <image src="../../static/bg.jpg" mode="aspectFit"></image> -->
<view class="logo">
<image :src="userInfo.cominfo.logourl" mode="aspectFit"></image>
</view>
@ -122,7 +128,7 @@
<view class="size16">{{userInfo.name}}<text class="text">{{userInfo.posname}}</text></view>
<view class="c999 size12 mt-5">
<text>{{userInfo.orgname}}</text>
<text v-if="userInfo.place" class="ml-5 mr-5">|</text>{{userInfo.place}}
<!-- <text v-if="userInfo.place" class="ml-5 mr-5">|</text>{{userInfo.place}} -->
</view>
</view>
@ -139,7 +145,7 @@
</view>
<view class="right">
<!-- https://izzt.jt-sky.com/qr/get?appid=wxbbddd1888da43ab0&id=142307070910553 -->
<image :src="'https://izzt.jt-sky.com/qr/get?appid='+appid+'&id='+userInfo.id"
<image :src="'https://irdhdt.com/qr/get?appid='+appid+'&id='+userInfo.id"
show-menu-by-longpress="true"></image>
</view>
</view>
@ -148,10 +154,12 @@
</view>
</view>
</view>
<!-- 秘书处 -->
<!-- 联系人 -->
<secratary></secratary>
<!-- 客服 -->
<message></message>
<!-- 底部 -->
<tabbar :tabInd="2"></tabbar>
</view>
</template>
@ -159,6 +167,7 @@
import {
mapState
} from "vuex";
import tabbar from "@/components/tabBar.vue"
export default {
data() {
return {
@ -167,6 +176,9 @@
appid: ""
}
},
components: {
tabbar,
},
computed: {
...mapState(['user', "HomeContent"]),
userInfo() {
@ -192,6 +204,8 @@
if (res.code != 0) return
console.log('确定退出', res)
uni.clearStorageSync()
uni.setStorageSync('UserInfo', {})
that.$store.commit("changeLogout", false);
uni.reLaunch({
url: "/pageTwo/login/login"
})
@ -206,8 +220,8 @@
this.$store.commit("changeSecratary", true);
},
handleisCare() {
if (!this.token) {
this.$tools.msg("登录后查看更多")
if (!uni.getStorageSync('token')) {
this.$tools.msg("注册/登录后查看更多")
return
}
this.isCard = !this.isCard
@ -220,8 +234,8 @@
})
},
navTo(url) {
if (!this.token) {
this.$tools.msg("登录后查看更多")
if (!uni.getStorageSync('token')) {
this.$tools.msg("注册/登录后查看更多")
return
}
this.isCard = false
@ -236,37 +250,42 @@
<style scoped lang="scss">
.content {
padding: 0;
background-color: #f7f7f7;
min-height: 100vh;
}
.vip {
font-size: 32rpx;
color: #F2D59C;
background-color: #2C2C34;
margin: 100px 10px 0;
border-radius: 5px;
display: flex;
justify-content: space-between;
padding: 15px 10px;
align-items: center;
font-size: 14px;
color: $blue;
margin: 45px 10px 0;
height: 200rpx;
position: relative;
view {
display: flex;
align-items: center;
position: absolute;
left: 15px;
bottom: 8px;
}
.btn {
position: absolute;
font-size: 14px;
color: #000;
right: 15px;
padding: 5px 10px;
border-radius: 5px;
background-color: #E6C8A2;
background-color: $blue;
width: fit-content;
color: #fff;
left: auto;
top: 15px;
bottom: auto;
}
image {
width: 30px;
height: 30px;
margin-right: 10px;
width: 100%;
height: 100%;
position: absolute
}
}
@ -276,6 +295,23 @@
margin: 15px 10px;
justify-content: space-between;
.title {
font-size: 16px;
font-weight: bold;
margin-left: 15px;
position: relative;
}
.title::after {
content: "";
position: absolute;
width: 5px;
height: 20px;
left: -10px;
border-radius: 5px;
background: $navColor;
}
.item {
width: 43%;
padding: 15px 2%;
@ -287,8 +323,8 @@
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
image {
width: 35px;
height: 35px;
width: 45px;
height: 45px;
}
view {
@ -300,7 +336,7 @@
text {
width: 100%;
color: #333;
color: $blue;
text-align: left;
display: inline-block;
}
@ -324,8 +360,16 @@
}
}
.tools2 {
.tools_item {
justify-content: left;
width: 100%;
display: flex;
flex-flow: wrap;
background: #fff;
padding-top: 15px;
margin-top: 15px;
border-radius: 10px;
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
view {
width: 25%;
@ -398,7 +442,8 @@
.Card {
width: 560rpx;
height: 800rpx;
height: 630rpx;
color: #333;
position: relative;
image {
@ -408,7 +453,9 @@
.Cardbg {
width: 560rpx;
height: 488rpx;
height: 350rpx;
background: $navColor;
border-radius: 5px 5px 0 0;
image {
border-radius: 5px 5px 0 0;
@ -419,7 +466,7 @@
.logo {
width: 100%;
margin-top: -440rpx;
padding-top: 20px;
margin-bottom: 10px;
image {
@ -442,7 +489,7 @@
.box {
position: absolute;
top: 489rpx;
top: 355rpx;
.name {
width: auto;
@ -494,7 +541,7 @@
height: 160rpx;
position: absolute;
right: 10px;
bottom: 30px;
bottom: 8px;
image {
width: 100%;
@ -504,4 +551,19 @@
}
}
}
.phonetop {
width: 126% !important;
height: 120px !important;
left: -13% !important;
position: relative;
border-radius: 0 0 60% 60%;
background: $navColor;
.headbox {
left: 13%;
right: 13%;
top: 20px;
}
}
</style>

View File

@ -11,14 +11,15 @@
<view class="name">
{{con.name}}<text>{{con.posname}}</text>
</view>
<view class="post">{{con.orgname}}<text v-if="con.place"
class="ml-5 mr-5">|</text>{{con.place}}</view>
<view class="post">{{con.orgname}}
<!-- <text v-if="con.place" class="ml-5 mr-5">|</text>{{con.place}} -->
</view>
<view class="phone">电话{{con.phone}}</view>
<view class="phone" v-if="con.email">邮箱{{con.email}}</view>
<view class="phone" v-if="con.jointime">进团时间{{con.jointime}}</view>
</view>
</view>
<view class="call" @click="$tools.getCall(user.authlist,con.phone)" v-if="con.phone">
<view class="call" @click="handleCall(user.authlist,con.phone)" v-if="con.phone">
<icon class="iconfont icon-dianhua1 mr-10"></icon>
合作联系
</view>
@ -33,7 +34,6 @@
</view>
<!-- 企业简介 -->
<view class="title">
<image src="../../static/title.png"></image>
{{active==1?'企业简介':active==2?'产品展示':'个人简介'}}
</view>
<view class="show" v-if="active==1">
@ -41,6 +41,9 @@
<image :src="con.cominfo.logourl" mode="aspectFit"></image>
</view>
<view class="postName">{{con.cominfo.name}}</view>
<view class="mt-10 ml-15">
<text class="text">公司电话:</text>{{con.cominfo.mobile}}
</view>
<view class="mt-15">
<text class="text ml-15">企业所在片区:</text>{{con.cominfo.area}}
</view>
@ -48,10 +51,7 @@
<text
class="text">公司地址:</text>{{con.cominfo.province}}{{con.cominfo.city}}{{con.cominfo.area}}{{con.cominfo.address}}
</view>
<view class="mt-10 ml-15">
<text class="text">公司电话:</text>{{con.cominfo.mobile}}
</view>
<view class="mt-10 ml-15">
<!-- <view class="mt-10 ml-15">
<text class="text">企业年营收万元:</text>{{con.cominfo.yearlyincome}}
</view>
<view class="mt-10 ml-15">
@ -59,7 +59,7 @@
</view>
<view class="mt-10 ml-15">
<text class="text">员工人数:</text>{{con.cominfo.staffcnt}}
</view>
</view> -->
<view class="con">
{{con.cominfo.desc}}
</view>
@ -83,11 +83,10 @@
<view class="name">
{{con.name}}<text>{{con.posname}}</text>
</view>
<view class="post">{{con.orgname}}<text v-if="con.place" class="ml-5 mr-5">|</text>{{con.place}}
</view>
<view class="post">{{con.orgname}}</view>
<view class="mt-10"><text>性别:</text>{{con.sex==1?'男':con.sex==2?'女':'未知'}}</view>
<view class="mt-10"><text>出生年月:</text>{{con.birthday.substring(0,10)}}</view>
<view class="mt-10" v-if="con.place"><text>籍贯:</text>{{con.place}}</view>
<!-- <view class="mt-10"><text>出生年月:</text>{{con.birthday.substring(0,10)}}</view> -->
<!-- <view class="mt-10" v-if="con.place"><text>籍贯:</text>{{con.place}}</view> -->
<view class="mt-10 ml-15" v-if="con.interests">
<text class="text">爱好:</text>{{con.interests}}
</view>
@ -95,11 +94,11 @@
<text class="text">能给平台带来什么:</text>{{con.provide}}
</view>
<view class="mt-10 ml-15" v-if="con.demand">
<text class="text">加入智照团想收获什么:</text>{{con.demand}}
<text class="text">加入沪抖团想收获什么:</text>{{con.demand}}
</view>
</view>
</view>
<!-- 秘书处弹框 -->
<!-- 联系人弹框 -->
<secratary></secratary>
</view>
<view class="nolist" v-else>
@ -133,6 +132,9 @@
},
computed: {
...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
},
onLoad(options) {
this.id = options.id
@ -212,6 +214,33 @@
});
},
handleCall(authlist, num) {
let that = this
console.log("authlist", authlist, that.userInfo)
if (!uni.getStorageSync('token')) {
this.$tools.msg("注册/登录后查看更多")
return
}
if (authlist.length) {
let arr = authlist.findIndex(v => v.code == 'phone:show')
if (arr == -1) {
that.$store.commit("changeSecratary", true);
} else {
uni.makePhoneCall({
phoneNumber: num, //
success: () => {
console.log("拨打电话成功")
that.$model.getSetClickNumber({
userId: that.userInfo.id ? that.userInfo.id : 0,
clickPhone: num,
}).then(res => {});
}
})
}
} else {
that.$store.commit("changeSecratary", true);
}
},
previewImage(ind) {
let that = this
console.log("pics", that.con.cominfo.pics.map(item => item.url))
@ -244,16 +273,22 @@
margin: 15px;
display: flex;
align-items: center;
position: relative;
padding-left: 10px;
}
image {
width: 30px;
height: 20px;
margin-right: 5px;
}
.title:after {
content: "";
position: absolute;
width: 5px;
height: 20px;
left: 0px;
border-radius: 5px;
background: $navColor;
}
.box {
margin-top: 170px;
margin-top: 125px;
background-color: #fff;
width: 100%;
border-radius: 5px;
@ -277,7 +312,6 @@
.active {
color: $blue;
border-bottom: 2px solid $blue;
}
}

View File

@ -1,7 +1,7 @@
<template>
<view class="content">
<!-- 搜索 -->
<piker-search @handleSearch="handleSearch" :placeholder='"找企业"' :width="'100'"
<piker-search @handleSearch="handleSearch" :title="'企业名录'" :placeholder='"找企业"' :width="'100'"
:isAddress="true"></piker-search>
<!-- -->
@ -14,9 +14,9 @@
<view class="name">
<text>{{ite.username}}</text>{{ite.pos}}
</view>
<view class="c999">{{ite.name}}</view>
<view class="c999 overflow">{{ite.name}}</view>
</view>
<view class="tell" v-if="token" @click="$tools.getCall(user.authlist,ite.mobile)" @click.stop>
<view class="tell" v-if="token" @click="handleCall(user.authlist,ite.mobile)" @click.stop>
<image src="../../static/tall.png"></image>
</view>
</view>
@ -25,10 +25,12 @@
<text>暂无数据</text>
</view>
</view>
<!-- 秘书处弹框 -->
<!-- 联系人弹框 -->
<secratary></secratary>
<!-- 客服 -->
<message></message>
<!-- 底部 -->
<tabbar :tabInd="1"></tabbar>
</view>
</template>
@ -36,6 +38,7 @@
import {
mapState
} from "vuex";
import tabbar from "@/components/tabBar.vue"
import pikerSearch from "../../components/search.vue"
export default {
data() {
@ -49,12 +52,17 @@
city: "",
industryid: "",
}
},
computed: {
...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
},
components: {
tabbar,
pikerSearch
},
onLoad() {
@ -88,7 +96,7 @@
pageNo: that.page,
pageSize: 10,
}).then((res) => {
console.log("通讯录", res)
// console.log("", res)
if (res.code != 0) return
that.list = this.list.concat(res.data.rows)
that.lastPage = res.data.totalpage
@ -96,7 +104,7 @@
},
handleSearch(name, province, city, industryid) {
// if (!this.token) {
// this.$tools.msg("")
// this.$tools.msg("/")
// return
// }
this.name = name
@ -111,13 +119,36 @@
//
handledetail(ite) {
// if (!this.token) {
// this.$tools.msg("")
// this.$tools.msg("/")
// return
// }
uni.navigateTo({
url: "/pages/phoneList/detail?id=" + ite.id
})
}
},
handleCall(authlist, num) {
let that = this
console.log("authlist", authlist, that.userInfo)
if (authlist.length) {
let arr = authlist.findIndex(v => v.code == 'phone:show')
if (arr == -1) {
that.$store.commit("changeSecratary", true);
} else {
uni.makePhoneCall({
phoneNumber: num, //
success: () => {
console.log("拨打电话成功")
that.$model.getSetClickNumber({
userId: that.userInfo.id ? that.userInfo.id : 0,
clickPhone: num,
}).then(res => {});
}
})
}
} else {
that.$store.commit("changeSecratary", true);
}
},
}
}
@ -126,11 +157,19 @@
<style scoped lang="scss">
.content {
background-color: #fff;
padding-bottom: 90px;
}
/deep/.serachBox {
height: 80px !important;
}
.right {
width: calc(100% - 320rpx);
}
.box {
margin-top: 75px;
margin-top: 80px;
width: 100%;
}
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 620 KiB

BIN
static/VIP.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
static/bg2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
static/d.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
static/e.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
static/error.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
static/f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
static/g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
static/home.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
static/home1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
static/home2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
static/home3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
static/i.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

BIN
static/k.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
static/l.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

BIN
static/msg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
static/p.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
static/phone0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
static/q.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
static/r.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
static/t.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

BIN
static/tools1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
static/tools2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
static/w.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
static/y.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -13,6 +13,7 @@ export default {
model.onlogin({
code: res.code
}).then(ress => {
uni.setStorageSync('UserInfo', {})
uni.setStorageSync('sessionid', ress.data.sessionid)
return ress
})

View File

@ -71,7 +71,7 @@ export default new Vuex.Store({
changeInfoList(state, newData) {
state.InfoList = newData
},
// 秘书处弹框
// 联系人弹框
changeSecratary(state, newData) {
state.isSecratary = newData
},

View File

@ -3,7 +3,7 @@ import tools from '@/tools/tools.js'
const accountInfo = wx.getAccountInfoSync();
const appid = accountInfo.miniProgram.appId
uni.setStorageSync('appid', appid)
let baseUrl = "https://izzt.jt-sky.com"
let baseUrl = "https://irdhdt.com"
const httpRequest = (url, method = "get", data) => {
let httpDefaultOpts = {
@ -30,14 +30,14 @@ const httpRequest = (url, method = "get", data) => {
uni.setStorageSync('refreshtoken', null)
uni.showToast({
icon: "none",
title: "登录后查看更多",
duration: 2000
title: "注册/登录后查看更多",
duration: 5000
});
setTimeout(function() {
uni.switchTab({
url: "/pages/index/index"
})
}, 2000)
}, 3000)
return
}
// if (res[1].statusCode != 200) {

View File

@ -13,6 +13,22 @@ export default {
return res
})
},
getloginCode(param) { // 验证码登录
return http.post("/api/app/wxopen/loginbycode", param).then(res => {
return res
})
},
getSendCode(param) { // 获取验证码
return http.post("/api/app/wxopen/sendcode", param).then(res => {
return res
})
},
// 手机号快捷登录
getRegisterPhone(param) {
return http.post("/api/app/wxopen/loginnew", param).then(res => {
return res
})
},
getoutlogin(param) { // 退出登录
return http.post("/api/app/wxopen/logout", param).then(res => {
return res
@ -23,8 +39,13 @@ export default {
return res
})
},
getApplyfor(param) { // 申请加入智照团
return http.post("/api/app/wxopen/applyfor", param).then(res => {
getApplyfor(param) { // 注册
return http.post("/api/app/wxopen/applyfornew", param).then(res => {
return res
})
},
getApplyforMember(param) { // 申请加入
return http.post("/api/app/wxopen/applyformembership", param).then(res => {
return res
})
},
@ -33,7 +54,7 @@ export default {
return res
})
},
// 内容管理
getHomeContent(param) { // 获取首页内容
return http.post("/api/app/home/content", param).then(res => {
@ -50,6 +71,12 @@ export default {
return res
})
},
getSetClickNumber(param) { // 用户、访客点击手机号
return http.post("/api/app/home/setphoneclicknumber", param).then(res => {
return res
})
},
getCampaignList(param) { // 活动列表
return http.post("/api/app/campaign/list", param).then(res => {
return res

View File

@ -54,7 +54,7 @@ function getCall(authlist, num) {
function msg(str) {
uni.showToast({
title: str,
duration: 3000,
duration: 5000,
icon: 'none'
})
}

View File

@ -76,5 +76,7 @@ $uni-color-paragraph: #3F536E; // 文章段落颜色
$uni-font-size-paragraph:15px;
$orange:#F7B133;
$blue: #345A9B;
$red: #E52E27
$blue: #3f378d;
$red: #E52E27;
$green: #4a9552;
$navColor:linear-gradient(0deg,#4a9552,#3e359a 99%,);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More