Compare commits

..

1 Commits

Author SHA1 Message Date
qcl_123 fc1f9249e2 新增活动列表 2025-11-18 10:01:28 +08:00
268 changed files with 5390 additions and 5905 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,74 +1,75 @@
{
"name" : "RuoDianGroup",
"appid" : "__UNI__8CF31FA",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App */
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
/* */
"modules" : {},
/* */
"distribute" : {
/* android */
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios */
"ios" : {},
/* SDK */
"sdkConfigs" : {}
}
},
/* */
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "wx538b5e244f0ba5b3",
"setting" : {
"urlCheck" : false,
"postcss" : true,
"minified" : true
},
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics" : {
"enable" : false
},
"vueVersion" : "2"
}
"name": "intelligentGroup",
"appid": "__UNI__8CF31FA",
"description": "",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
"sassImplementationName": "node-sass",
/* 5+App */
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
},
/* */
"modules": {},
/* */
"distribute": {
/* android */
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios */
"ios": {},
/* SDK */
"sdkConfigs": {}
}
},
/* */
"quickapp": {},
/* */
"mp-weixin": {
"appid": "wxbbddd1888da43ab0",
"setting": {
"urlCheck": true,
"postcss": true,
"minified": true
},
"usingComponents": true
},
"mp-alipay": {
"usingComponents": true
},
"mp-baidu": {
"usingComponents": true
},
"mp-toutiao": {
"usingComponents": true
},
"uniStatistics": {
"enable": false
},
"vueVersion": "2"
}

435
pageTwo/campaign/detail.vue Normal file
View File

@ -0,0 +1,435 @@
<template>
<view class="content bgfff">
<view v-if="content" style="padding-bottom: 15px;">
<!-- 文本 -->
<image :src="content.pic" mode="scaleToFill" class="topimg" v-if="content.headimg" @click="previewImage">
</image>
<view class="box newsDetail">
<view class="title">
{{content.title}}
</view>
<view class="c999 border-bottom">
<view>报名开始时间{{content.start_time}}</view>
<view>报名截止时间{{content.end_time}}</view>
</view>
<view class="con">
<u-parse :content="content.text_content"></u-parse>
</view>
</view>
<!-- 表单 -->
<view class="from">
<view class="item" v-for="(ite,ind) in formFields">
<view class="name">
<text v-if="ite.is_must">*</text>
{{ite.name}}
</view>
<view class="input" v-if="ite.type==='text'||ite.type==='email'||ite.type==='tel'">
<input :type="ite.type" v-model="ite.value" :placeholder="ite.placeholder"
@input="clearError(ite)" :class="{ 'input-error': ite.error }" class="form-input" />
</view>
<view class="input select" v-if="ite.type=='radio'">
<radio-group name="radio" @change="radioChange($event,ind)" class="radiogroup">
<label v-for="(it,id) in ite.options" :key="ind" class="radio"
:class="{ 'input-error': ite.error }">
<radio :value="it" style="transform:scale(0.8)" color="#345A9B" />{{it}}
</label>
</radio-group>
</view>
<view class="input select" v-if="ite.type=='select'">
<picker mode="selector" :range="ite.options" @change="onsexArr($event,ind)"
:class="{ 'input-error': ite.error }" class="form-input">
<view>{{ite.value?ite.value:ite.placeholder}}</view>
<uni-icons type="forward" size="20" color="#999"></uni-icons>
</picker>
</view>
<view class="input " v-if="ite.type=='checkbox'">
<checkbox-group @change="checkboxChange($event,ind)" class="form-input checkbox"
:class="{ 'input-error': ite.error }">
<label v-for="(it,id) in ite.options" :key="ind">
<checkbox :value="it" style="transform:scale(0.8)" color="#345A9B" />
{{it}}
</label>
</checkbox-group>
</view>
<view class="input" v-if="ite.type=='textarea'">
<textarea v-model="ite.value" name="content" maxlength="-1"
:class="{ 'input-error': ite.error }" @input="clearError(ite)"
:placeholder="ite.placeholder" class="form-input" />
</view>
</view>
<view class="btn" @click="submitForm">提交报名</view>
</view>
</view>
<view class="nolist" v-else>
<image src="@/static/none.png"></image>
<text>暂无数据</text>
</view>
<!-- 秘书处弹框 -->
</view>
</template>
<script>
import {
mapState
} from "vuex";
import uParse from '@/uni_modules/u-parse/u-parse.vue'
export default {
data() {
return {
type: 1,
content: null,
formFields: [],
submitSuccess: false,
}
},
components: {
uParse,
},
computed: {
...mapState(["user"]),
},
onLoad(options) {
let that = this
that.handleActive(options.id)
uni.showShareMenu({
withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline']
})
},
onShareAppMessage() {
let that = this
return {
title: that.content.title,
path: '/pageTwo/campaign/detail?id=' + that.content.id,
imageUrl: that.content.headimg,
success: function(res) {
console.log("分享到朋友成功")
},
fail: function(res) {
console.log("分享到朋友失败")
},
}
},
onShareTimeline() {
let that = this
return {
title: that.content.title,
query: 'id=' + that.content.id,
imageUrl: that.content.headimg,
success: function(res) {
console.log("分享到朋友圈成功")
},
fail: function(res) {
console.log("分享到朋友圈失败")
},
}
},
methods: {
handleActive(id) {
let that = this
that.$model.getCampaignDetail({
id: id
}).then((res) => {
if (res.code != 0) return
this.content = res.data
this.formFields = res.data.form_content
this.formFields.forEach(field => {
field.error = false
});
})
},
resetErrors() {
this.formFields.forEach(field => {
field.error = false;
});
},
clearError(field) {
field.error = false;
},
radioChange(e, it) {
this.formFields[it].error = false;
this.formFields[it].value = e.detail.value
},
checkboxChange(e, it) {
this.formFields[it].error = false;
this.formFields[it].value = e.detail.value
},
//
onsexArr(e, it) {
this.formFields[it].error = false;
this.formFields[it].value = this.formFields[it].options[e.target.value]
console.log("111111111", this.formFields[it], e.target)
},
submitForm() {
let that = this
that.resetErrors();
let isValid = true;
//
that.formFields.forEach(field => {
if (field.is_must) {
if (field.value == '' || !field.value.length) {
field.error = true;
isValid = false;
that.$set(that.formFields, 'error', true)
} else if (field.type === 'email' && field.value != '') {
//
const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!emailPattern.test(field.value)) {
field.error = true;
isValid = false;
that.$set(that.formFields, 'error', true)
}
} else if (field.type === 'phone' && field.value != '') {
//
const phonePattern = /^1[3-9]\d{9}$/;
if (!phonePattern.test(field.value)) {
field.error = true;
isValid = false;
that.$set(that.formFields, 'error', true)
}
}
}
});
//
if (isValid) {
console.log("验证通过");
that.$model.getCampaignSave({
id: that.content.id,
tel: that.user.phone,
content: that.formFields
}).then((res) => {
if (res.code != 0) {
that.$tools.msg(res.msg)
return
}
that.$tools.msg("提交成功")
setTimeout(function() {
uni.navigateBack()
}, 1000)
})
}
},
previewImage() {
let that = this
let image = []
image.push(that.content.headimg)
uni.previewImage({
urls: image,
current: 0,
}).catch((e) => {
console.log(e) //catch(e){makePhoneCall:fail cancel}
});
}
}
}
</script>
<style scoped lang="scss">
.content {
padding: 0;
}
.webview {
position: fixed;
top: 80px;
width: 100%;
height: 100vh;
}
.nolist {
padding-top: 40%;
margin-top: 0 !important;
}
.box {
padding-bottom: 70px;
}
.topimg {
width: 750rpx;
height: 381rpx;
}
.icon-zantongfill {
color: $red;
}
.foot {
height: 50px;
position: fixed;
left: 0;
right: 0;
bottom: 0;
padding: 0 15px;
padding-bottom: 10px;
display: flex;
align-items: center;
background-color: #fff;
justify-content: space-between;
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
icon {
font-size: 20px;
margin-bottom: 3px;
}
view {
width: 30%;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
}
text {
width: 100%;
text-align: center;
display: inline-block;
}
.call {
width: 120px !important;
color: #000;
padding: 5px;
border-radius: 5px;
margin-left: 10px;
float: right;
background-color: #E6C8A2;
}
/deep/button {
width: 30%;
padding: 0;
line-height: 20px;
font-size: 14px;
background: #fff;
margin: 0;
}
button:after {
border: none;
}
}
.from {
margin: 15px;
padding: 15px;
border-radius: 10px;
border: 1px solid #345A9B;
width: calc(100% - 60px);
.item {
margin-bottom: 15px;
.name {
display: flex;
width: 100%;
align-items: center;
text {
color: red;
font-size: 18px;
font-weight: bold;
margin-right: 5px;
display: inline-block;
margin-top: 5px;
}
}
.input {
width: calc(100% - 5px);
background: #fff;
display: flex;
border-radius: 5px;
justify-content: space-between;
.form-input {
border-radius: 5px;
border: 1px solid #dfdfdf;
}
.radiogroup {
display: flex;
width: 100%;
}
.radio {
display: flex;
align-items: center;
margin-right: 10px;
}
input {
padding: 8px 10px;
width: 100%;
}
/deep/ picker {
align-items: center;
width: 100%;
display: flex;
padding: 0 10px;
height: 40px;
position: relative;
view {
width: 100%;
position: absolute;
top: 10px;
}
uni-icons {
position: absolute;
right: 10px;
top: 10px;
}
}
textarea {
height: 65px;
padding: 0 10px;
line-height: 30px;
}
.checkbox {
width: 100%;
display: flex;
padding: 10px;
flex-wrap: wrap;
label {
width: 33.3%;
display: flex;
margin: 5px 0;
align-items: center;
}
}
}
.input-error {
border-radius: 5px;
border-color: #e74c3c !important;
background-color: rgba(231, 76, 60, 0.05);
}
}
.btn {
width: 100%;
color: #fff;
margin: 15px auto;
text-align: center;
background: #345A9B;
height: 40px;
font-size: 14px;
line-height: 40px;
border-radius: 5px;
}
}
</style>

165
pageTwo/campaign/list.vue Normal file
View File

@ -0,0 +1,165 @@
<template>
<view class="content bgfff">
<!-- 列表 -->
<view class="box">
<view class="product">
<view class="newslist" v-for="(item,index) in newsList" :key="index" @click="handleActive(item.id)">
<view class="right">
<image :src="item.url_data" mode="aspectFit"></image>
</view>
<view class="left">
<view class="title">
{{item.title}}
</view>
<view class="">
报名人数{{item.people_num}}
</view>
</view>
<view class="time isAddress c999 ">
<icon class="iconfont icon-icon-test1"></icon>
{{item.start_time}} {{item.end_time}}
</view>
</view>
</view>
<view class="nolist" style="margin-top: 15px;" v-if="!newsList.length">
<image src="@/static/none.png"></image>
<text>暂无数据</text>
</view>
</view>
</view>
</template>
<script>
import {
mapState
} from "vuex";
export default {
data() {
return {
page: 1,
lastPage: 1,
newsList: [],
}
},
onLoad() {
let that = this
that.page = 1
that.handleInfoList()
},
onReachBottom() {
let that = this
console.log("this.lastPage", this.lastPage)
if (!this.lastPage || this.page >= this.lastPage) {
uni.showToast({
title: '没有更多数据!',
icon: 'none'
})
return
}
this.page++
this.handleInfoList()
},
// onShareAppMessage() {
// let that = this
// return {
// title: "线",
// path: '/pageTwo/news/list?type=' + that.type,
// imageUrl: '',
// success: function(res) {
// console.log("")
// },
// fail: function(res) {
// console.log("")
// },
// }
// },
// onShareTimeline() {
// let that = this
// return {
// title: "线",
// query: 'type=' + that.type,
// imageUrl: '',
// success: function(res) {
// console.log("")
// },
// fail: function(res) {
// console.log("")
// },
// }
// },
methods: {
handleInfoList() {
let that = this
that.$model.getCampaignList({
page: this.page
}).then((res) => {
if (res.code != 0) return
console.log("1111", res)
that.newsList = that.newsList.concat(res.data.content_list)
that.lastPage = res.data.page_total
})
},
handleActive(id) {
let that = this
uni.navigateTo({
url: "/pageTwo/campaign/detail?id=" + id
})
}
}
}
</script>
<style scoped lang="scss">
.box {
width: 100%;
}
.marginTop {
margin-top: 85px;
}
.tabbar {
width: 100%;
margin-top: 75px;
display: flex;
justify-content: space-around;
align-items: center;
position: relative;
background-color: #fff;
view {
font-size: 16px;
height: 40px;
line-height: 40px;
padding: 0 25px;
text-align: center;
}
.active {
color: $blue;
font-weight: bold;
border-bottom: 2px solid $blue;
}
}
.title {
line-height: 24px !important;
}
.time {
icon {
margin-top: -7px !important;
}
}
.tabbar::before {
content: "";
position: absolute;
left: 50%;
height: 40px;
width: 1px;
background-color: #dfdfdf;
}
</style>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,7 +3,7 @@
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "沪抖团线上展厅"
"navigationBarTitleText": "智照团线上展厅"
}
}, {
"path": "pages/me/me",
@ -29,7 +29,7 @@
}, {
"path": "pages/index/fengCai",
"style": {
"navigationBarTitleText": "达人风采",
"navigationBarTitleText": "领导风采",
"enablePullDownRefresh": false
}
@ -47,13 +47,14 @@
"path": "login/login",
"style": {
"navigationBarTitleText": "登录",
"enablePullDownRefresh": false
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
"path": "login/add",
"style": {
"navigationBarTitleText": "注册",
"navigationBarTitleText": "我要加入智照团",
"enablePullDownRefresh": false
}
@ -74,7 +75,7 @@
}, {
"path": "product/detail",
"style": {
"navigationBarTitleText": "详情",
"navigationBarTitleText": "商品展示",
"enablePullDownRefresh": false
}
}, {
@ -87,7 +88,7 @@
}, {
"path": "news/list",
"style": {
"navigationBarTitleText": "资讯列表",
"navigationBarTitleText": "列表",
"enablePullDownRefresh": false
}
@ -96,7 +97,6 @@
"style": {
"navigationBarTitleText": "详情",
"enablePullDownRefresh": false,
// "navigationStyle": "custom",
"app-plus": {
"titleNView": {
"titleText": "返回首页"
@ -134,37 +134,40 @@
},
{
"path": "me/addVip",
"path": "campaign/list",
"style": {
"navigationBarTitleText": "加入我们",
"enablePullDownRefresh": false
"navigationBarTitleText": "智照团活动"
}
},
{
"path": "campaign/detail",
"style": {
"navigationBarTitleText": "活动详情"
}
}
]
}],
"globalStyle": {
"navigationBarTextStyle": "white",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#3f378d",
"navigationBarBackgroundColor": "#345A9B",
"backgroundColor": "#F8F8F8"
},
"tabBar": {
"color": "#333",
"custom": true,
"selectedColor": "#345A9B",
"backgroundColor": "#fff",
"list": [{
"pagePath": "pages/index/index",
"iconPath": "static/home3.png",
"selectedIconPath": "static/home1.png",
"iconPath": "static/index.png",
"selectedIconPath": "static/index01.png",
"text": "首页"
},
{
"pagePath": "pages/phoneList/phoneList",
"iconPath": "static/e.png",
"selectedIconPath": "static/e.png",
"text": "企业名录"
"iconPath": "static/phone.png",
"selectedIconPath": "static/phone01.png",
"text": "通讯录"
},
{
"pagePath": "pages/me/me",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

BIN
static/011.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

BIN
static/index.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
static/index01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
static/mmm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

BIN
static/title.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

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

View File

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

View File

@ -3,7 +3,8 @@ import tools from '@/tools/tools.js'
const accountInfo = wx.getAccountInfoSync();
const appid = accountInfo.miniProgram.appId
uni.setStorageSync('appid', appid)
let baseUrl = "https://irdhdt.com"
let baseUrl = "https://izzt.jt-sky.com"
let baseUrl2 = "https://tc.pcxbc.com/oi/zzt"
const httpRequest = (url, method = "get", data) => {
let httpDefaultOpts = {
@ -20,8 +21,6 @@ const httpRequest = (url, method = "get", data) => {
let promise = new Promise(function(resolve, reject) {
uni.request(httpDefaultOpts).then(
(res) => {
// console.log("https", res)
// uni.hideLoading()
if (res.data.code == 401) {
uni.clearStorageSync()
store.commit("changeLogout", false);
@ -30,20 +29,61 @@ const httpRequest = (url, method = "get", data) => {
uni.setStorageSync('refreshtoken', null)
uni.showToast({
icon: "none",
title: "注册/登录后查看更多",
duration: 5000
title: "登录后查看更多",
duration: 2000
});
setTimeout(function() {
uni.switchTab({
url: "/pages/index/index"
})
}, 3000)
}, 2000)
return
}
resolve(res.data)
}
).catch(
(response) => {
uni.hideLoading()
reject(response)
}
)
})
return promise
};
const httpRequest2 = (url, method = "get", data) => {
let httpDefaultOpts = {
url: baseUrl2 + url,
data: data,
method: method,
header: {
'Authorization': "Bearer " + uni.getStorageSync('token'),
'X-Authorization': "Bearer " + uni.getStorageSync('refreshtoken'),
'X-Requested-With': 'XMLHttpRequest',
'content-type': 'application/json;charset=UTF-8',
}
}
let promise = new Promise(function(resolve, reject) {
uni.request(httpDefaultOpts).then(
(res) => {
if (res.data.code == 401) {
uni.clearStorageSync()
store.commit("changeLogout", false);
uni.setStorageSync('token', null)
uni.setStorageSync('sessionid', null)
uni.setStorageSync('refreshtoken', null)
uni.showToast({
icon: "none",
title: "登录后查看更多",
duration: 2000
});
setTimeout(function() {
uni.switchTab({
url: "/pages/index/index"
})
}, 2000)
return
}
// if (res[1].statusCode != 200) {
// tools.msg(res[1].data.message)
// return
// }
resolve(res.data)
}
).catch(
@ -79,6 +119,7 @@ function uploadFile(url, filePath) {
});
return promise
};
const get = (url, data) => {
data.appid = appid
data.sessionid = uni.getStorageSync('sessionid')
@ -90,6 +131,12 @@ const post = (url, data) => {
data.sessionid = uni.getStorageSync('sessionid')
return httpRequest(url, 'post', data)
}
const post2 = (url, data) => {
data.appid = appid
data.sessionid = uni.getStorageSync('sessionid')
return httpRequest2(url, 'post', data)
}
const upload = (url, filePath) => {
return uploadFile(url, filePath)
}
@ -97,5 +144,7 @@ export default {
baseUrl,
get,
post,
baseUrl2,
post2,
upload
}

View File

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

View File

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

View File

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

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

View File

@ -0,0 +1 @@
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C","file":"pageTwo/ event/ event.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pageTwo/ event/ event.vue'\ncreatePage(Page)"],"sourceRoot":""}

View File

@ -0,0 +1 @@
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,aAAI,CAAC,C","file":"pageTwo/campaign/ list.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pageTwo/campaign/ list.vue'\ncreatePage(Page)"],"sourceRoot":""}

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