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

View File

@ -193,30 +193,10 @@
.bgcolor { .bgcolor {
height: 110px; height: 110px;
background: #41629E;
border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0;
position: relative; 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 { .title {
margin-top: -88px; margin-top: -88px;
@ -257,7 +237,7 @@
.groupBtn { .groupBtn {
display: flex; display: flex;
.btn { .btn {
background-color: $blue; background-color: $green;
width: 45%; width: 45%;
margin: 10px auto 15px; margin: 10px auto 15px;
text-align: center; text-align: center;
@ -307,33 +287,37 @@
// 企业名录头部 // 企业名录头部
.phonetop { .phonetop {
width: 100%; width: 100%;
height: 80px;
position: relative; position: relative;
border-top: 50px solid #345A9B; background: $navColor;
.headbox { .headbox {
position: absolute; position: absolute;
background: #fff; background: #fff;
left: 10px; left: 10px;
right: 10px; right: 10px;
top: -40px; top: 0px;
border-radius: 15px 15px 5px 5px; border-radius: 15px 15px 5px 5px;
padding: 10px; padding: 10px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center; justify-content: center;
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
} }
.head { .head {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center;
.image { .image {
width: 85px; width: 75px;
height: 110px; height: 75px;
margin-right: 15px; margin-right: 10px;
border: 1px solid #dfdfdf; border: 1px solid #dfdfdf;
float: left; float: left;
border-radius: 5px; border-radius: 50%;
overflow: hidden;
image { image {
width: 100%; width: 100%;
@ -343,7 +327,7 @@
} }
.info { .info {
width: calc(100% - 100px); width: calc(100% - 145px);
height: 110px; height: 110px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@ -371,6 +355,13 @@
color: #999; color: #999;
} }
} }
.logo{
image{
width: 55px;
height: 55px;
}
}
} }
.call { .call {
@ -530,7 +521,7 @@
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
border-radius: 5px; border-radius: 5px;
background-color: $blue; background-color: $green;
margin: 20px auto; margin: 20px auto;
text-align: center; text-align: center;
} }
@ -639,7 +630,7 @@
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
border-radius: 5px; border-radius: 5px;
background-color: $blue; background-color: $green;
margin: 20px auto; margin: 20px auto;
text-align: center; text-align: center;
} }
@ -653,14 +644,15 @@
} }
// 搜索样式 // 搜索样式
.serachBox { .serachBox {
height: 35px; height: auto;
position: fixed; position: fixed;
top: 0; top: 0px;
left: 0; left: 0;
right: 0; right: 0;
padding: 0 10px 10px; padding: 0 10px 10px;
z-index: 9; z-index: 9;
background-color: $blue; background: $navColor;
// background-color: $blue;
.serach-box { .serach-box {
height: 35px; height: 35px;
@ -739,14 +731,20 @@
display: flex; display: flex;
align-items: center; align-items: center;
image { .avatar {
width: 50px; width: 50px;
height: 50px; height: 50px;
border-radius: 50%; border-radius: 50%;
border: 1px solid #f7f7f7; border: 1px solid #f7f7f7;
} }
.image{
width: 20px;
height: 12px;
margin-top: 7px;
}
text { .vip {
color: #333; color: #333;
background: #F5CC87; background: #F5CC87;
padding: 3px 8px; padding: 3px 8px;
@ -819,12 +817,12 @@
} }
} }
.call { .call {
color: #000; color: #fff;
padding: 0 10px; padding: 0 10px;
border-radius: 5px; border-radius: 5px;
margin-left: 10px; margin-left: 10px;
float: right; 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> <template>
<view class="message" @click="handleServiceChat"> <view class="message" @click="handleServiceChat" v-if="HomeContent.qyserviceurl">
<view class="info-msg"> <image src="@/static/msg.png"></image>
<image src="@/static/mmm.png"></image> </view>
<text>客服</text>
</view>
</view>
</template> </template>
<script> <script>
import { import {
mapState mapState
} from "vuex"; } from "vuex";
export default { export default {
data() { data() {
return { return {
data: {} data: {}
} }
}, },
computed: { computed: {
...mapState(["HomeContent"]), ...mapState(["HomeContent"]),
}, },
mounted() {}, mounted() {},
methods: { methods: {
handleServiceChat() { handleServiceChat() {
let that = this let that = this
if (!that.HomeContent.qyappid) { if (!that.HomeContent.qyappid) {
that.$tools.msg("小程序还未配置微信客服") that.$tools.msg("小程序还未配置微信客服")
return return
} }
wx.openCustomerServiceChat({ wx.openCustomerServiceChat({
extInfo: { // extInfo: { //
url: that.HomeContent.qyserviceurl url: that.HomeContent.qyserviceurl
}, },
corpId: that.HomeContent.qyappid, //ID corpId: that.HomeContent.qyappid, //ID
success(res) {} success(res) {}
}) })
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.message { .message {
position: fixed; position: fixed;
bottom: 50px; bottom: 130px;
z-index: 9999; z-index: 9999;
right: 10px; right: 10px;
background: $blue; width: 45px;
width: 45px; height: 40px;
height: 45px; padding: 2px;
padding: 2px; border-radius: 50%;
border-radius: 50%; color: #fff;
color: #fff; font-size: 12px;
font-size: 12px;
.info-msg { .info-msg {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-content: center; align-content: center;
flex-wrap: wrap; flex-wrap: wrap;
} }
icon { icon {
font-size: 18px; font-size: 18px;
} }
image { image {
width: 22px; width: 100%;
height: 22px; height: 100%;
margin-top: 3px; }
} text {
width: 100%;
text { display: inline-block;
width: 100%; text-align: center;
display: inline-block; }
text-align: center; }
} </style>
}
</style>

View File

@ -55,7 +55,7 @@
handleActive(id) { handleActive(id) {
let that = this let that = this
// if (!uni.getStorageSync('token')) { // if (!uni.getStorageSync('token')) {
// that.$tools.msg("") // that.$tools.msg("/")
// return // return
// } // }
let type = that.isAddress == 1 || that.isAddress == 4 ? 1 : that.isAddress 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="productList" v-for="(item,index) in list" :key="index" @click="handleActive(item)">
<view class="name" v-if="isName"> <view class="name" v-if="isName">
<view class="post" :style="{'width':!isMoney?'60%':'100%'}"> <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> <view class="bold size16 mr-10">{{item.userinfo.name}}</view>
<text>{{item.userinfo.posname}}</text> <view class="vip">{{item.userinfo.posname}}</view>
</view> </view>
<text class="call" v-if="!isMoney" @click="$tools.getCall(user.authlist,item.userinfo.phone)" <text class="call" v-if="!isMoney" @click="handleCall(user.authlist,item.userinfo.phone)" @click.stop>
@click.stop>
<icon class="iconfont icon-dianhua1 mr-10"></icon>
拨打电话 拨打电话
</text> </text>
</view> </view>
@ -22,7 +20,8 @@
</view> </view>
<view class="mt-5 c999 size14">{{item.desc}}</view> <view class="mt-5 c999 size14">{{item.desc}}</view>
<view class="image" v-if="isMoney&&item.pics.length"> <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>
<view class="address" v-if="isMoney"> <view class="address" v-if="isMoney">
<text class="mr-10" v-if="item.industryname">行业{{item.industryname}}</text> <text class="mr-10" v-if="item.industryname">行业{{item.industryname}}</text>
@ -30,18 +29,17 @@
</view> </view>
<view v-if="item.type!=9"> <view v-if="item.type!=9">
<view class="money mt-10" v-if="isMoney"> <view class="money mt-10" v-if="isMoney">
<text class="redcolor size16 mr-5 bold" v-if="item.vipprice">会员价:{{item.vipprice}}</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="size12 c999" v-if="item.price">市场价:{{item.price}}</text> -->
<text class="call" @click.stop v-if="isPhone" <text class="call" @click.stop v-if="isPhone"
@click="$tools.getCall(user.authlist,item.userinfo.phone)"> @click="handleCall(user.authlist,item.userinfo.phone)">
<icon class="iconfont icon-dianhua1 mr-10"></icon> 联系方式
拨打电话
</text> </text>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<!-- 秘书处弹框 --> <!-- 联系人弹框 -->
<secratary></secratary> <secratary></secratary>
</view> </view>
</template> </template>
@ -78,17 +76,47 @@
}, },
computed: { computed: {
...mapState(["user"]), ...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
}, },
methods: { methods: {
handleActive(item) { handleActive(item) {
this.$emit("handleDetail", 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> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.image { .image {
:nth-child(2) { :nth-child(2) {
margin: 0 10px; margin: 0 10px;

View File

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

View File

@ -2,19 +2,21 @@
<view class="wrapper" v-if="isSecratary"> <view class="wrapper" v-if="isSecratary">
<view class="bg" @click="onTap"> <view class="bg" @click="onTap">
<view class="edit" @click.stop> <view class="edit" @click.stop>
<view class="bgcolor"></view> <view class="bgcolor">
<view class="title">联系秘书处</view> <image src="../static/bg2.png"></image>
</view>
<view class="title">联系人</view>
<view class="ercode"> <view class="ercode">
<image :src="HomeContent.secrataryqrcode" show-menu-by-longpress="true"></image> <image :src="HomeContent.secrataryqrcode" show-menu-by-longpress="true"></image>
<text>扫码添加秘书处微信</text> <text>扫码添加联系人微信</text>
</view> </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> <uni-icons type="phone-filled" size="40"></uni-icons>
</view> </view> -->
<view @click="getCall(HomeContent.secrataryphone)"> <view @click="getCall(HomeContent.secrataryphone)">
<text class="bold size16 mb-5 mt-10">{{HomeContent.secrataryphone}}</text> <text class="bold size16 mb-5 mt-10">{{HomeContent.secrataryphone}}</text>
点击拨打 <view class="btnCall">点击拨打</view>
</view> </view>
</view> </view>
</view> </view>
@ -37,7 +39,7 @@
}, },
watch: { watch: {
isSecratary() { isSecratary() {
console.log("isSecratary", this.isSecratary) // console.log("isSecratary", this.isSecratary)
} }
}, },
methods: { methods: {
@ -55,6 +57,25 @@
} }
</script> </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> </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' import json from '@/data.json'
Vue.prototype.$json = json; Vue.prototype.$json = json;
// 秘书处弹框 // 联系人弹框
import secratary from '@/components/secratary.vue' import secratary from '@/components/secratary.vue'
Vue.component('secratary', secratary) Vue.component('secratary', secratary)
//微信客服 //微信客服

View File

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

View File

@ -1,16 +1,6 @@
<template> <template>
<view class="box fromClass"> <view class="box fromClass">
<view class="lanBox"> <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="lan border-bottom">
<view class="left">姓名</view> <view class="left">姓名</view>
<view class="right"> <view class="right">
@ -23,140 +13,14 @@
<input name="name" type="text" v-model="content.phone" placeholder="手机号" /> <input name="name" type="text" v-model="content.phone" placeholder="手机号" />
</view> </view>
</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="lan border-bottom">
<view class="left">企业全称</view> <view class="left">企业全称</view>
<view class="right"> <view class="right">
<input name="name" type="text" v-model="content.comName" placeholder="企业全称" /> <input name="name" type="text" v-model="content.comName" placeholder="企业全称" />
</view> </view>
</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>
<view class="btn" @click="confirmInfo">申请加入</view> <view class="btn" @click="confirmInfo">提交</view>
</view> </view>
</template> </template>
@ -167,48 +31,20 @@
export default { export default {
data() { data() {
return { return {
sexItem: [
"男",
"女"
],
source: "",
sourceName: "",
content: { content: {
sex: "",
name: "", name: "",
name: "", phone: "",
avatar: "",
avatarurl: "",
source: "",
birthday: "",
industryid: "",
industryname: "",
comName: "", comName: "",
comPos: "",
provide: "",
demand: "",
license: "",
licenseurl: ""
} }
}; };
}, },
computed: { computed: {
...mapState(["HomeContent"]), ...mapState(["HomeContent"]),
endDate() {
return this.$tools.getDate("start")
},
industrylist() {
return this.HomeContent.industrylist
},
}, },
methods: { methods: {
// //
confirmInfo() { confirmInfo() {
let that = this let that = this
if (!this.content.industryname) {
this.$tools.msg("请选择所属行业")
return;
}
if (!this.content.name) { if (!this.content.name) {
this.$tools.msg("请输入姓名") this.$tools.msg("请输入姓名")
return; return;
@ -217,42 +53,17 @@
this.$tools.msg("请输入手机号") this.$tools.msg("请输入手机号")
return; 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) { if (!this.content.comName) {
this.$tools.msg("请输入公司全称") this.$tools.msg("请输入企业全称")
return; 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) console.log('content', this.content)
that.$model.getApplyfor(this.content).then(res => { that.$model.getApplyfor(this.content).then(res => {
if (res.code == 0) { if (res.code == 0) {
uni.showToast({ that.$tools.msg("注册成功,默认密码同手机号!");
title: "提交成功",
duration: 2000
});
setTimeout(function() { setTimeout(function() {
uni.switchTab({ uni.redirectTo({
url: "/pages/index/index" url: "/pageTwo/login/login"
}) })
}, 2000) }, 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) {}, onLoad(options) {},
}; };

View File

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

View File

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

View File

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

View File

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

View File

@ -2,7 +2,39 @@
<view class="box fromClass"> <view class="box fromClass">
<view class="lanBox"> <view class="lanBox">
<view class="lan border-bottom"> <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"> <view class="right">
<picker mode="selector" :range="industrylist" range-key="name" :value="userInfo.industryname" <picker mode="selector" :range="industrylist" range-key="name" :value="userInfo.industryname"
@change="changeIndustry"> @change="changeIndustry">
@ -22,7 +54,7 @@
</view> </view>
</view> </view>
<view class="lan border-bottom"> <view class="lan border-bottom">
<view class="left">智照团职务<text class="redcolor">*</text></view> <view class="left">沪抖团职务<text class="redcolor">*</text></view>
<view class="right"> <view class="right">
<picker mode="selector" :range="poslist" range-key="name" :value="userInfo.posname" <picker mode="selector" :range="poslist" range-key="name" :value="userInfo.posname"
@change="changePos"> @change="changePos">
@ -31,40 +63,8 @@
</picker> </picker>
</view> </view>
</view> </view>
<view class="lan border-bottom">
<view class="left">姓名<text class="redcolor">*</text></view> <!-- <view class="lan border-bottom">
<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="left">出生年月<text class="redcolor">*</text></view> <view class="left">出生年月<text class="redcolor">*</text></view>
<view class="right"> <view class="right">
<picker class="picker" mode="date" :end="endDate" :value="userInfo.birthday" <picker class="picker" mode="date" :end="endDate" :value="userInfo.birthday"
@ -73,13 +73,13 @@
<uni-icons type="forward" size="20" color="#999"></uni-icons> <uni-icons type="forward" size="20" color="#999"></uni-icons>
</picker> </picker>
</view> </view>
</view> </view> -->
<view class="lan border-bottom"> <!-- <view class="lan border-bottom">
<view class="left">籍贯</view> <view class="left">籍贯</view>
<view class="right"> <view class="right">
<input name="name" type="text" v-model="userInfo.place" placeholder="籍贯" /> <input name="name" type="text" v-model="userInfo.place" placeholder="籍贯" />
</view> </view>
</view> </view> -->
<view class="lan border-bottom"> <view class="lan border-bottom">
<view class="left">邮箱</view> <view class="left">邮箱</view>
<view class="right"> <view class="right">
@ -93,7 +93,7 @@
</view> </view>
</view> </view>
<view class="lan border-bottom"> <view class="lan border-bottom">
<view class="left">加入智照团想收获什么</view> <view class="left">加入沪抖团想收获什么</view>
<checkbox-group @change="checkboxChange" class="checkbox"> <checkbox-group @change="checkboxChange" class="checkbox">
<label v-for="(ite,ind) in addNeeds" :key="ind"> <label v-for="(ite,ind) in addNeeds" :key="ind">
<checkbox :value="ite" style="transform:scale(0.8)" :checked="checkbox.indexOf(ite)!== -1 " /> <checkbox :value="ite" style="transform:scale(0.8)" :checked="checkbox.indexOf(ite)!== -1 " />
@ -133,7 +133,6 @@
orgid: "", orgid: "",
posname: "", posname: "",
posid: "", posid: "",
birthday: "",
industryid: "", industryid: "",
industryname: "", industryname: "",
sex: "", sex: "",
@ -167,15 +166,14 @@
let that = this let that = this
this.addNeeds = this.$json.addNeeds this.addNeeds = this.$json.addNeeds
this.userInfo = this.user.name ? this.user : {} this.userInfo = this.user.name ? this.user : {}
this.userInfo.industryname = this.user.industryid ? this.industrylist[that.industrylist.findIndex(ite => ite this.userInfo.industryname = this.user.industryid ? this.industrylist[that.industrylist.findIndex(ite => ite.id === that.userInfo.industryid)].name : ''
.id === that.userInfo.industryid)].name : ''
this.checkbox = this.userInfo.demand ? this.userInfo.demand.split(',') : [] this.checkbox = this.userInfo.demand ? this.userInfo.demand.split(',') : []
}, },
methods: { methods: {
// //
confirmInfo() { confirmInfo() {
if (!this.userInfo.industryname) { if (!this.userInfo.industryname) {
this.$tools.msg("请选择所属行业") this.$tools.msg("请选择系统划分")
return; return;
} }
if (!this.userInfo.orgname) { if (!this.userInfo.orgname) {
@ -183,7 +181,7 @@
return; return;
} }
if (!this.userInfo.posname) { if (!this.userInfo.posname) {
this.$tools.msg("请选择智照团职务") this.$tools.msg("请选择沪抖团职务")
return; return;
} }
if (!this.userInfo.name) { if (!this.userInfo.name) {
@ -202,10 +200,10 @@
this.$tools.msg("请选择性别") this.$tools.msg("请选择性别")
return; return;
} }
if (!this.userInfo.birthday) { // if (!this.userInfo.birthday) {
this.$tools.msg("请选择出生日期") // this.$tools.msg("")
return; // return;
} // }
console.log("提交", this.userInfo) console.log("提交", this.userInfo)
this.subInfo(this.userInfo); this.subInfo(this.userInfo);
}, },

View File

@ -44,7 +44,7 @@
<icon class="iconfont icon-zantongfill"></icon> <icon class="iconfont icon-zantongfill"></icon>
<text>点赞</text> <text>点赞</text>
</view> </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>拨打电话 <icon class="iconfont icon-dianhua1 mr-5"></icon>拨打电话
</view> </view>
</view> </view>
@ -58,7 +58,7 @@
<image src="@/static/none.png"></image> <image src="@/static/none.png"></image>
<text>暂无数据</text> <text>暂无数据</text>
</view> </view>
<!-- 秘书处弹框 --> <!-- 联系人弹框 -->
<secratary></secratary> <secratary></secratary>
</view> </view>
</template> </template>
@ -85,6 +85,9 @@
}, },
computed: { computed: {
...mapState(["user"]), ...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
}, },
onLoad(options) { onLoad(options) {
console.log("资讯", options) console.log("资讯", options)
@ -168,6 +171,29 @@
console.log(e) //catch(e){makePhoneCall:fail cancel} 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() { handleZan() {
console.log("点赞") console.log("点赞")
let that = this let that = this

View File

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

View File

@ -7,9 +7,8 @@
<view class="bold size16 mr-10">{{content.userinfo.name}}</view> <view class="bold size16 mr-10">{{content.userinfo.name}}</view>
<text class="post">{{content.userinfo.posname}}</text> <text class="post">{{content.userinfo.posname}}</text>
</view> </view>
<view class="call" @click="$tools.getCall(user.authlist,content.userinfo.phone)"> <view class="call" @click="handleCall(user.authlist,content.userinfo.phone)">
<icon class="iconfont icon-dianhua1 mr-10"></icon> 联系方式
拨打电话
</view> </view>
</view> </view>
<!-- --> <!-- -->
@ -17,10 +16,10 @@
<view class="title"> <view class="title">
{{content.title}} {{content.title}}
</view> </view>
<view v-if="type!=9"> <!-- <view v-if="type!=9">
<text class="redcolor size14 mr-10 bold">会员价:{{content.vipprice}}</text> <text class="redcolor size14 mr-10 bold">会员价:{{content.vipprice}}</text>
<text class="c999 size12">市场价:{{content.price}}</text> <text class="c999 size12">市场价:{{content.price}}</text>
</view> </view> -->
<view class="c999 size12" v-if="type!=9"> <view class="c999 size12" v-if="type!=9">
地址{{content.province}}{{content.city}}{{content.area}}{{content.address}} 地址{{content.province}}{{content.city}}{{content.area}}{{content.address}}
</view> </view>
@ -35,7 +34,7 @@
</view> </view>
</view> </view>
<!-- 秘书处弹框 --> <!-- 联系人弹框 -->
<secratary></secratary> <secratary></secratary>
</view> </view>
<view class="nolist" v-else> <view class="nolist" v-else>
@ -55,15 +54,20 @@
content: null, content: null,
type: 3, type: 3,
id: "", id: "",
token:""
} }
}, },
onLoad(options) { onLoad(options) {
this.id = options.id this.id = options.id
this.type = options.type this.type = options.type
this.token = uni.getStorageSync('token')
this.handleDetail(options.id, options.type) this.handleDetail(options.id, options.type)
}, },
computed: { computed: {
...mapState(["user"]), ...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
}, },
onShareAppMessage() { onShareAppMessage() {
let that = this 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> </script>
@ -166,8 +197,9 @@
.call { .call {
height: 35px; height: 35px;
color: #fff;
display: flex; display: flex;
background: #E6C8A2; background: $green;
padding: 0px 10px; padding: 0px 10px;
border-radius: 5px; border-radius: 5px;
align-items: center; align-items: center;

View File

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

View File

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

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="content"> <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> :isWork="false"></piker-search>
<!-- --> <!-- -->
@ -15,7 +15,7 @@
<text class="name">{{ite.name}}</text> <text class="name">{{ite.name}}</text>
<text class="post">{{ite.posname}}</text> <text class="post">{{ite.posname}}</text>
</view> </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.mobile}}</view>
<view class="c999">{{ite.province}}{{ite.city}}{{ite.area}}{{ite.address}}</view> <view class="c999">{{ite.province}}{{ite.city}}{{ite.area}}{{ite.address}}</view>
</view> </view>
@ -80,7 +80,7 @@
handleSearch(name) { handleSearch(name) {
let that = this let that = this
// if (!uni.getStorageSync('token')) { // if (!uni.getStorageSync('token')) {
// that.$tools.msg("") // that.$tools.msg("/")
// return // return
// } // }
this.name = name this.name = name
@ -92,7 +92,7 @@
handledetail(ite) { handledetail(ite) {
let that = this let that = this
// if (!uni.getStorageSync('token')) { // if (!uni.getStorageSync('token')) {
// that.$tools.msg("") // that.$tools.msg("/")
// return // return
// } // }
uni.navigateTo({ uni.navigateTo({

View File

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

View File

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

View File

@ -11,14 +11,15 @@
<view class="name"> <view class="name">
{{con.name}}<text>{{con.posname}}</text> {{con.name}}<text>{{con.posname}}</text>
</view> </view>
<view class="post">{{con.orgname}}<text v-if="con.place" <view class="post">{{con.orgname}}
class="ml-5 mr-5">|</text>{{con.place}}</view> <!-- <text v-if="con.place" class="ml-5 mr-5">|</text>{{con.place}} -->
</view>
<view class="phone">电话{{con.phone}}</view> <view class="phone">电话{{con.phone}}</view>
<view class="phone" v-if="con.email">邮箱{{con.email}}</view> <view class="phone" v-if="con.email">邮箱{{con.email}}</view>
<view class="phone" v-if="con.jointime">进团时间{{con.jointime}}</view> <view class="phone" v-if="con.jointime">进团时间{{con.jointime}}</view>
</view> </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> <icon class="iconfont icon-dianhua1 mr-10"></icon>
合作联系 合作联系
</view> </view>
@ -33,7 +34,6 @@
</view> </view>
<!-- 企业简介 --> <!-- 企业简介 -->
<view class="title"> <view class="title">
<image src="../../static/title.png"></image>
{{active==1?'企业简介':active==2?'产品展示':'个人简介'}} {{active==1?'企业简介':active==2?'产品展示':'个人简介'}}
</view> </view>
<view class="show" v-if="active==1"> <view class="show" v-if="active==1">
@ -41,6 +41,9 @@
<image :src="con.cominfo.logourl" mode="aspectFit"></image> <image :src="con.cominfo.logourl" mode="aspectFit"></image>
</view> </view>
<view class="postName">{{con.cominfo.name}}</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"> <view class="mt-15">
<text class="text ml-15">企业所在片区:</text>{{con.cominfo.area}} <text class="text ml-15">企业所在片区:</text>{{con.cominfo.area}}
</view> </view>
@ -48,10 +51,7 @@
<text <text
class="text">公司地址:</text>{{con.cominfo.province}}{{con.cominfo.city}}{{con.cominfo.area}}{{con.cominfo.address}} class="text">公司地址:</text>{{con.cominfo.province}}{{con.cominfo.city}}{{con.cominfo.area}}{{con.cominfo.address}}
</view> </view>
<view class="mt-10 ml-15"> <!-- <view class="mt-10 ml-15">
<text class="text">公司电话:</text>{{con.cominfo.mobile}}
</view>
<view class="mt-10 ml-15">
<text class="text">企业年营收万元:</text>{{con.cominfo.yearlyincome}} <text class="text">企业年营收万元:</text>{{con.cominfo.yearlyincome}}
</view> </view>
<view class="mt-10 ml-15"> <view class="mt-10 ml-15">
@ -59,7 +59,7 @@
</view> </view>
<view class="mt-10 ml-15"> <view class="mt-10 ml-15">
<text class="text">员工人数:</text>{{con.cominfo.staffcnt}} <text class="text">员工人数:</text>{{con.cominfo.staffcnt}}
</view> </view> -->
<view class="con"> <view class="con">
{{con.cominfo.desc}} {{con.cominfo.desc}}
</view> </view>
@ -83,11 +83,10 @@
<view class="name"> <view class="name">
{{con.name}}<text>{{con.posname}}</text> {{con.name}}<text>{{con.posname}}</text>
</view> </view>
<view class="post">{{con.orgname}}<text v-if="con.place" class="ml-5 mr-5">|</text>{{con.place}} <view class="post">{{con.orgname}}</view>
</view>
<view class="mt-10"><text>性别:</text>{{con.sex==1?'男':con.sex==2?'女':'未知'}}</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"><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" v-if="con.place"><text>籍贯:</text>{{con.place}}</view> -->
<view class="mt-10 ml-15" v-if="con.interests"> <view class="mt-10 ml-15" v-if="con.interests">
<text class="text">爱好:</text>{{con.interests}} <text class="text">爱好:</text>{{con.interests}}
</view> </view>
@ -95,11 +94,11 @@
<text class="text">能给平台带来什么:</text>{{con.provide}} <text class="text">能给平台带来什么:</text>{{con.provide}}
</view> </view>
<view class="mt-10 ml-15" v-if="con.demand"> <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> </view>
</view> </view>
<!-- 秘书处弹框 --> <!-- 联系人弹框 -->
<secratary></secratary> <secratary></secratary>
</view> </view>
<view class="nolist" v-else> <view class="nolist" v-else>
@ -133,6 +132,9 @@
}, },
computed: { computed: {
...mapState(["user"]), ...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
}, },
onLoad(options) { onLoad(options) {
this.id = options.id 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) { previewImage(ind) {
let that = this let that = this
console.log("pics", that.con.cominfo.pics.map(item => item.url)) console.log("pics", that.con.cominfo.pics.map(item => item.url))
@ -244,16 +273,22 @@
margin: 15px; margin: 15px;
display: flex; display: flex;
align-items: center; align-items: center;
position: relative;
padding-left: 10px;
}
image { .title:after {
width: 30px; content: "";
height: 20px; position: absolute;
margin-right: 5px; width: 5px;
} height: 20px;
left: 0px;
border-radius: 5px;
background: $navColor;
} }
.box { .box {
margin-top: 170px; margin-top: 125px;
background-color: #fff; background-color: #fff;
width: 100%; width: 100%;
border-radius: 5px; border-radius: 5px;
@ -277,7 +312,6 @@
.active { .active {
color: $blue; color: $blue;
border-bottom: 2px solid $blue; border-bottom: 2px solid $blue;
} }
} }

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="content"> <view class="content">
<!-- 搜索 --> <!-- 搜索 -->
<piker-search @handleSearch="handleSearch" :placeholder='"找企业"' :width="'100'" <piker-search @handleSearch="handleSearch" :title="'企业名录'" :placeholder='"找企业"' :width="'100'"
:isAddress="true"></piker-search> :isAddress="true"></piker-search>
<!-- --> <!-- -->
@ -14,9 +14,9 @@
<view class="name"> <view class="name">
<text>{{ite.username}}</text>{{ite.pos}} <text>{{ite.username}}</text>{{ite.pos}}
</view> </view>
<view class="c999">{{ite.name}}</view> <view class="c999 overflow">{{ite.name}}</view>
</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> <image src="../../static/tall.png"></image>
</view> </view>
</view> </view>
@ -25,10 +25,12 @@
<text>暂无数据</text> <text>暂无数据</text>
</view> </view>
</view> </view>
<!-- 秘书处弹框 --> <!-- 联系人弹框 -->
<secratary></secratary> <secratary></secratary>
<!-- 客服 --> <!-- 客服 -->
<message></message> <message></message>
<!-- 底部 -->
<tabbar :tabInd="1"></tabbar>
</view> </view>
</template> </template>
@ -36,6 +38,7 @@
import { import {
mapState mapState
} from "vuex"; } from "vuex";
import tabbar from "@/components/tabBar.vue"
import pikerSearch from "../../components/search.vue" import pikerSearch from "../../components/search.vue"
export default { export default {
data() { data() {
@ -49,12 +52,17 @@
city: "", city: "",
industryid: "", industryid: "",
} }
}, },
computed: { computed: {
...mapState(["user"]), ...mapState(["user"]),
userInfo() {
return this.user.name ? this.user : uni.getStorageSync('UserInfo')
}
}, },
components: { components: {
tabbar,
pikerSearch pikerSearch
}, },
onLoad() { onLoad() {
@ -88,7 +96,7 @@
pageNo: that.page, pageNo: that.page,
pageSize: 10, pageSize: 10,
}).then((res) => { }).then((res) => {
console.log("通讯录", res) // console.log("", res)
if (res.code != 0) return if (res.code != 0) return
that.list = this.list.concat(res.data.rows) that.list = this.list.concat(res.data.rows)
that.lastPage = res.data.totalpage that.lastPage = res.data.totalpage
@ -96,7 +104,7 @@
}, },
handleSearch(name, province, city, industryid) { handleSearch(name, province, city, industryid) {
// if (!this.token) { // if (!this.token) {
// this.$tools.msg("") // this.$tools.msg("/")
// return // return
// } // }
this.name = name this.name = name
@ -111,13 +119,36 @@
// //
handledetail(ite) { handledetail(ite) {
// if (!this.token) { // if (!this.token) {
// this.$tools.msg("") // this.$tools.msg("/")
// return // return
// } // }
uni.navigateTo({ uni.navigateTo({
url: "/pages/phoneList/detail?id=" + ite.id 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"> <style scoped lang="scss">
.content { .content {
background-color: #fff; background-color: #fff;
padding-bottom: 90px;
} }
/deep/.serachBox {
height: 80px !important;
}
.right {
width: calc(100% - 320rpx);
}
.box { .box {
margin-top: 75px; margin-top: 80px;
width: 100%; width: 100%;
} }
</style> </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({ model.onlogin({
code: res.code code: res.code
}).then(ress => { }).then(ress => {
uni.setStorageSync('UserInfo', {})
uni.setStorageSync('sessionid', ress.data.sessionid) uni.setStorageSync('sessionid', ress.data.sessionid)
return ress return ress
}) })

View File

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

View File

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

View File

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

View File

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

View File

@ -76,5 +76,7 @@ $uni-color-paragraph: #3F536E; // 文章段落颜色
$uni-font-size-paragraph:15px; $uni-font-size-paragraph:15px;
$orange:#F7B133; $orange:#F7B133;
$blue: #345A9B; $blue: #3f378d;
$red: #E52E27 $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