123
This commit is contained in:
parent
55f7b3280b
commit
348a886a84
|
@ -178,6 +178,12 @@
|
|||
"style": {
|
||||
"navigationBarTitleText": "智慧云商协"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "user/my_vip_off",
|
||||
"style": {
|
||||
"navigationBarTitleText": "智慧云商协"
|
||||
}
|
||||
}
|
||||
]
|
||||
}, {
|
||||
|
|
|
@ -175,7 +175,8 @@
|
|||
</view>
|
||||
<scroll-view :scroll-x="true" style="padding:0rpx 30rpx;white-space: nowrap;width: 100%"
|
||||
v-if="actList.length>0">
|
||||
<view v-for="(item,index) in actList" @click="openUrl('/pages/packageB/event/event_info?id='+item.id)"
|
||||
<view v-for="(item,index) in actList"
|
||||
@click="openUrl('/pages/packageB/event/event_info?id='+item.id)"
|
||||
style="position: relative;;display: inline-block;width: 300rpx;text-align: center;background-color: #FFF;border-radius: 20rpx;overflow: hidden;margin-right: 20rpx;">
|
||||
<view>
|
||||
<image :src="apiImgUrl+item.activity_image" mode="aspectFill"
|
||||
|
@ -212,10 +213,11 @@
|
|||
activeColor="#3377FF" :current="current" name="name" @change="change" :fontSize="28"></tn-tabs>
|
||||
</view>
|
||||
</view>
|
||||
<view style="padding:0px 28rpx;padding-bottom: 100rpx;min-height:1000rpx">
|
||||
<view style="padding:0px 28rpx;padding-bottom: 50rpx;min-height:1000rpx">
|
||||
<view v-for="(item,index) in news_list" :class="{ 'rounded_corner': index === 0 }"
|
||||
style="background-color: #ffffff;">
|
||||
<view class="tn-flex tn-flex-row-between" @click="openUrl('/pages/packageB/news/new_info?id='+item.news_id)"
|
||||
<view class="tn-flex tn-flex-row-between"
|
||||
@click="openUrl('/pages/packageB/news/new_info?id='+item.news_id)"
|
||||
style="padding: 20rpx;min-height: 200rpx;">
|
||||
<view style="margin-left: 20rpx;" v-if="item.news_image">
|
||||
<image :src="apiImgUrl+item.news_image" mode="aspectFill"
|
||||
|
@ -243,6 +245,11 @@
|
|||
<tn-select :safeAreaInsetBottom="true" v-model="selectShow" mode="single" :list="selectList"
|
||||
@confirm="confirm"></tn-select>
|
||||
</view>
|
||||
<view @click="callPhone"
|
||||
style="text-align: center;padding-bottom: 100rpx;font-size: 24rpx;color: #999999;letter-spacing: 2rpx;">
|
||||
<view>技术支持:洛阳灵睿网络</view>
|
||||
<view style="margin-top: 10rpx;">电话:15503791530</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
@ -297,6 +304,17 @@
|
|||
//this.getArticlePolicyListAll();
|
||||
},
|
||||
methods: {
|
||||
callPhone() {
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: '15503791530', // 电话号码
|
||||
success: function() {
|
||||
console.log('拨打电话成功');
|
||||
},
|
||||
fail: function() {
|
||||
console.log('拨打电话失败');
|
||||
}
|
||||
});
|
||||
},
|
||||
msg() {
|
||||
return this.$store.state.msgCount;
|
||||
},
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
</view>
|
||||
|
||||
<tn-tabbar :show="tabShow" :outHeight="140" :height="120" v-model="currentIndex" :list="tabbarList"
|
||||
activeColor="#3377FF" inactiveColor="#AAAAAA" activeIconColor="#3377FF" inactiveIconColor="#8A8E99"
|
||||
:animation="true" :safeAreaInsetBottom="true" @change="switchTabbar"></tn-tabbar>
|
||||
activeColor="#000000" inactiveColor="#AAAAAA" activeIconColor="#3377FF" inactiveIconColor="#888888"
|
||||
:animation="true" :safeAreaInsetBottom="true" :thisIndex="thisIndex" @change="switchTabbar"></tn-tabbar>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -63,12 +63,14 @@
|
|||
tabbarList: [{
|
||||
title: '首页',
|
||||
activeIcon: '/static/01_1.png',
|
||||
inactiveIcon: '/static/01.png'
|
||||
inactiveIcon: '/static/01.png',
|
||||
id: 0,
|
||||
},
|
||||
{
|
||||
title: '通讯录',
|
||||
activeIcon: '/static/02_2.png',
|
||||
inactiveIcon: '/static/02.png'
|
||||
inactiveIcon: '/static/02.png',
|
||||
id: 1,
|
||||
},
|
||||
// {
|
||||
// // 服务、案例、品牌、合作、发现、探索
|
||||
|
@ -80,14 +82,17 @@
|
|||
{
|
||||
title: '发现',
|
||||
activeIcon: '/static/03_3.png',
|
||||
inactiveIcon: '/static/03.png'
|
||||
inactiveIcon: '/static/03.png',
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
title: '个人中心',
|
||||
activeIcon: '/static/04_4.png',
|
||||
inactiveIcon: '/static/04.png'
|
||||
inactiveIcon: '/static/04.png',
|
||||
id: 3,
|
||||
}
|
||||
],
|
||||
thisIndex: 0,
|
||||
// tabbar当前被选中的序号
|
||||
currentIndex: 0,
|
||||
// 自定义底栏对应页面的加载情况
|
||||
|
@ -192,7 +197,7 @@
|
|||
_switchTabbarPage(index) {
|
||||
|
||||
const selectPageFlag = this.tabberPageLoadFlag[index]
|
||||
|
||||
this.thisIndex = this.tabbarList[index].id;
|
||||
if (selectPageFlag === undefined) {
|
||||
return
|
||||
}
|
||||
|
|
|
@ -1,36 +1,38 @@
|
|||
<template>
|
||||
<view style="background-color: #EBF4F7;letter-spacing: 1rpx;min-height: 100vh;">
|
||||
<tn-nav-bar :isBack="false" :bottomShadow="true" backgroundColor="#FFFFFF">
|
||||
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
|
||||
<view class="tn-margin-top"
|
||||
style="text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
|
||||
<tn-tabs :list="[{name:'发现'}]" :current="topCurrent" activeColor="#000" :bold="false"
|
||||
:fontSize="36"></tn-tabs>
|
||||
<tn-nav-bar :isBack="false" :bottomShadow="false" backgroundColor="#FFFFFF">
|
||||
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-center">
|
||||
<view class="tn-margin-top" style="text-align: center;">
|
||||
<text>发现</text>
|
||||
</view>
|
||||
</view>
|
||||
</tn-nav-bar>
|
||||
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
|
||||
<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin">
|
||||
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}"
|
||||
style="background-color: #ffffff;padding-bottom: 10rpx;">
|
||||
<view style="padding:0rpx 20rpx">
|
||||
<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin"
|
||||
style="background-color: #ffffff;">
|
||||
<view class="justify-content-item align-content-item" style="width: 100%;">
|
||||
<view class="tn-flex tn-flex-col-center"
|
||||
style="border-radius: 100rpx;padding: 10rpx 20rpx 10rpx 20rpx;width: 95%;background-color: rgba(255, 255, 255, 0.9);">
|
||||
style="border-radius: 100rpx;padding: 15rpx 20rpx;width: 100%;background-color:#F1F2F8;">
|
||||
<text
|
||||
class="tn-icon-search justify-content-item tn-padding-right-xs tn-color-gray tn-text-lg"></text>
|
||||
<input v-model="content" class="justify-content-item" placeholder="请填写协会名称" name="input"
|
||||
<input v-model="content" class="justify-content-item" placeholder="请输入协会名称进行搜索" name="input"
|
||||
placeholder-style="color:#AAAAAA" style="width: 90%;"></input>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view>
|
||||
<!-- <view>
|
||||
<view class="justify-content-item tn-text-center">
|
||||
<tn-button backgroundColor="#3668fc" shape="round" padding="20rpx 20rpx" width="150rpx"
|
||||
@click="onsubmit()">
|
||||
<text class="tn-color-white">搜 索</text>
|
||||
</tn-button>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="tn-flex tn-flex-row-around tn-flex-center tn-flex-col-center" style="padding: 30rpx;">-->
|
||||
<!-- <view style="color: #E15033;">-->
|
||||
<!-- <text class="tn-icon-sequence-vertical" style="vertical-align: middle;"></text>-->
|
||||
|
@ -58,7 +60,27 @@
|
|||
<!-- <text class="tn-icon-down-triangle"></text>-->
|
||||
<!-- </view>-->
|
||||
<!-- </view>-->
|
||||
<view style="padding:0rpx 30rpx 180rpx 30rpx;">
|
||||
<view style="padding:20rpx 30rpx 180rpx 30rpx;">
|
||||
<view style="position: relative;" @click="tn('/pages/index/pizz_info?id='+item.id)">
|
||||
<view class="tn-flex tn-flex-center tn-flex-col-center"
|
||||
style="box-shadow: 0rpx 4rpx 25rpx 0rpx rgba(5,171,129,0.25);background: linear-gradient(to bottom,rgba(19,194,150,0.7) 0%, #13C296 100%);padding:40rpx 30rpx;border-radius: 30rpx;margin-bottom: 20rpx;">
|
||||
<view>
|
||||
<image :src="apiImgUrl+item.association_image"
|
||||
style="width: 100rpx;height: 100rpx;border-radius: 50%;"></image>
|
||||
</view>
|
||||
<view style="margin-left: 20rpx;">
|
||||
<view style="color:#ffffff;font-size: 32rpx;font-weight: 600;">洛阳市总商会
|
||||
</view>
|
||||
<view style="font-size: 28rpx;color: rgba(255,255,255,0.6);margin-top: 15rpx;">成立时间:2021-10-01
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
style="font-size: 20rpx;color: #09AE85;background-color: #B8EDE0;position: absolute;top: 0;right: 0;border-radius: 0px 15rpx 0px 15rpx;padding:10rpx 10rpx;">
|
||||
<text class="tn-icon-success-circle-fill" style="vertical-align: middle;"></text>
|
||||
<text style="vertical-align: middle;margin-left: 5rpx;">已认证</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-for="(item,index) in list" style="position: relative;"
|
||||
@click="tn('/pages/index/pizz_info?id='+item.id)">
|
||||
<view class="tn-flex tn-flex-center tn-flex-col-center"
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view style="background-color: #fff;padding-bottom: 80rpx;">
|
||||
<view style="background-color: #fff;padding-bottom: 0rpx;">
|
||||
<view style="padding:0px 20rpx;">
|
||||
<tn-list-cell v-if="login" :arrow="true" @click="tn('/pages/packageA/user/my_card_holder')">
|
||||
<view class="tn-flex tn-flex-center tn-flex-col-center">
|
||||
|
@ -142,7 +142,8 @@
|
|||
<view style="margin-left: 20rpx;">意见反馈</view>
|
||||
</view>
|
||||
</tn-list-cell>
|
||||
<tn-list-cell :arrow="true" @click="tn('/pages/packageA/user/my_vip')">
|
||||
<tn-list-cell v-if="userInfo.if_business==1" :arrow="true"
|
||||
@click="tn('/pages/packageA/user/my_vip')">
|
||||
<view class="tn-flex tn-flex-center tn-flex-col-center">
|
||||
<image src="/static/ico12.png" style="width: 50rpx;height: 50rpx"></image>
|
||||
<view style="margin-left: 20rpx;">会员卡</view>
|
||||
|
@ -202,7 +203,11 @@
|
|||
</view>
|
||||
<view style="height: 120rpx;"></view>
|
||||
</tn-popup>
|
||||
|
||||
<view @click="callPhone"
|
||||
style="text-align: center;padding-bottom: 100rpx;font-size: 24rpx;color: #999999;letter-spacing: 2rpx;padding-top: 40rpx;">
|
||||
<view>技术支持:洛阳灵睿网络</view>
|
||||
<view style="margin-top: 10rpx;">电话:15503791530</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<view class="" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
|
||||
<view style="text-align: center;padding: 30rpx;">
|
||||
<tn-button backgroundColor="#01BEFF" @click="openQrcode" fontColor="#ffffff">出示二维码</tn-button>
|
||||
<view style="margin-top: 20rpx;">会员卡号:{{ code }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<tn-tabs :list="list" :isScroll="true" :activeItemStyle="{fontSize:'30rpx',fontWeight:'600'}"
|
||||
|
@ -30,9 +31,11 @@
|
|||
</image>
|
||||
</view>
|
||||
<view style="margin-left: 20rpx;">
|
||||
<view style="font-size: 31rpx;font-weight: 600;letter-spacing: 5rpx;">{{item.business_name}}
|
||||
<view style="font-size: 31rpx;font-weight: 600;letter-spacing: 5rpx;">
|
||||
{{ item.business_name }}
|
||||
</view>
|
||||
<view style="font-size: 24rpx;color: #808080;margin-top: 15rpx;">地址:{{ item.address }}
|
||||
</view>
|
||||
<view style="font-size: 24rpx;color: #808080;margin-top: 15rpx;">地址:{{item.address}}</view>
|
||||
<view style="font-size: 24rpx;color: #808080;margin-top: 15rpx;">电话:{{ item.telephone }}
|
||||
</view>
|
||||
</view>
|
||||
|
@ -58,7 +61,8 @@
|
|||
</view>
|
||||
<view style="text-align: center;margin-top: 50rpx;">
|
||||
<tn-button @click="show= false" shape="round" width="80%" backgroundColor="#3F8BF2"
|
||||
fontColor="#ffffff">关闭</tn-button>
|
||||
fontColor="#ffffff">关闭
|
||||
</tn-button>
|
||||
</view>
|
||||
</tn-popup>
|
||||
</view>
|
||||
|
@ -67,9 +71,11 @@
|
|||
<script>
|
||||
import {
|
||||
businesstypeList,
|
||||
businessList
|
||||
businessList,
|
||||
handleMembercode
|
||||
} from "@/util/api";
|
||||
import store from "@/store";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
@ -80,12 +86,14 @@
|
|||
page: 1,
|
||||
type: 0,
|
||||
apiImgUrl: this.$store.state.imgUrl,
|
||||
sp_list: []
|
||||
sp_list: [],
|
||||
code: 0,
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getbusinesstypeList();
|
||||
this.getbusinessList();
|
||||
this.setHandleMembercode();
|
||||
},
|
||||
methods: {
|
||||
change(d) {
|
||||
|
@ -96,6 +104,25 @@
|
|||
this.sp_list = [];
|
||||
this.getbusinessList();
|
||||
},
|
||||
setHandleMembercode() {
|
||||
var u = uni.getStorageSync('userInfo');
|
||||
handleMembercode({
|
||||
member_id: u.id,
|
||||
})
|
||||
.then(res => {
|
||||
console.log(res);
|
||||
if (res.code == 1) {
|
||||
this.code = res.data.member_code
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
uni.showToast({
|
||||
title: error,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
})
|
||||
},
|
||||
getbusinessList() {
|
||||
var u = uni.getStorageSync('userInfo');
|
||||
businessList({
|
||||
|
@ -139,9 +166,18 @@
|
|||
});
|
||||
})
|
||||
},
|
||||
generateUUIDv4() {
|
||||
const charts = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
|
||||
var res = '';
|
||||
for (var i = 0; i < 18; i++) {
|
||||
var id = Math.ceil(Math.random() * 35);
|
||||
res += charts[id];
|
||||
}
|
||||
return res;
|
||||
},
|
||||
openQrcode() {
|
||||
var u = uni.getStorageSync('userInfo');
|
||||
this.qrcode_url = store.state.apiUrl + "?type=2&key=123456789-" + u.id + "-" + u.association_id + "";
|
||||
this.qrcode_url = store.state.imgUrl + "?type=2&key=" + this.code + "&association_id=" + u.association_id + "&random_number=" + this.generateUUIDv4();
|
||||
setTimeout(() => {
|
||||
this.show = true;
|
||||
}, 500)
|
||||
|
|
|
@ -15,28 +15,31 @@
|
|||
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between" style="padding: 30rpx;">
|
||||
<view>当前店铺:</view>
|
||||
<view @click="select_show = true">
|
||||
<text>123456</text>
|
||||
<text>{{ select_name }}</text>
|
||||
<text class="tn-icon-down-triangle"></text>
|
||||
</view>
|
||||
</view>
|
||||
<tn-select v-model="select_show" mode="single" :list="select_list"></tn-select>
|
||||
<tn-select v-model="select_show" mode="single" :list="select_list" @confirm="add_confirm"></tn-select>
|
||||
<view style="text-align: center;padding: 30rpx;">
|
||||
<tn-button backgroundColor="#01BEFF" @click="addClerkShow = true" fontColor="#ffffff">添加店员</tn-button>
|
||||
</view>
|
||||
<view style="margin: 20rpx;font-size: 35rpx;font-weight: 600;">在职店员</view>
|
||||
<view class="tn-flex tn-flex-center tn-flex-row-between" style="padding: 30rpx;">
|
||||
<view v-for="(item,index) in list" class="tn-flex tn-flex-center tn-flex-row-between" style="padding: 30rpx;">
|
||||
<view class="tn-flex tn-flex-center tn-flex-col-center">
|
||||
<view style="font-size: 30rpx;font-weight: 600;">李白</view>
|
||||
<view style="margin-left: 20rpx;">1800000000</view>
|
||||
<view style="font-size: 30rpx;font-weight: 600;">{{ item.clerk_name }}</view>
|
||||
<view style="margin-left: 20rpx;" @click="open_phoen(item.phone)">{{ item.phone }}</view>
|
||||
<view style="margin-left: 20rpx;">
|
||||
<tn-tag size="sm" backgroundColor="#FF7043" width="80rpx" shape="circle"
|
||||
fontColor="#ffffff">未绑定</tn-tag>
|
||||
<tn-tag size="sm" backgroundColor="#28B93D" width="80rpx" shape="circle"
|
||||
fontColor="#ffffff">已绑定</tn-tag>
|
||||
<tn-tag v-if="item.if_bangding==2" size="sm" backgroundColor="#FF7043" width="80rpx" shape="circle"
|
||||
fontColor="#ffffff">未绑定
|
||||
</tn-tag>
|
||||
<tn-tag v-if="item.if_bangding==1" size="sm" backgroundColor="#28B93D" width="80rpx" shape="circle"
|
||||
fontColor="#ffffff">已绑定
|
||||
</tn-tag>
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<tn-button backgroundColor="#E83A30" size="sm" shape="round" fontColor="#ffffff">删除</tn-button>
|
||||
<tn-button @click="del(item.id)" backgroundColor="#E83A30" size="sm" shape="round" fontColor="#ffffff">删除
|
||||
</tn-button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -53,7 +56,8 @@
|
|||
</tn-form>
|
||||
</view>
|
||||
<view style="text-align: center;margin-top: 50rpx;padding-bottom: 50rpx;">
|
||||
<tn-button shape="round" width="80%" backgroundColor="#3F8BF2" fontColor="#ffffff">确定</tn-button>
|
||||
<tn-button @click="add()" shape="round" width="80%" backgroundColor="#3F8BF2" fontColor="#ffffff">确定
|
||||
</tn-button>
|
||||
</view>
|
||||
</tn-popup>
|
||||
<tn-modal v-model="show" :title="title" :content="content" :button="button" @click="dian"></tn-modal>
|
||||
|
@ -63,9 +67,11 @@
|
|||
<script>
|
||||
import {
|
||||
clerkListByBusiness,
|
||||
addClerk
|
||||
addClerk,
|
||||
businessListByMember, deleteClerk
|
||||
} from "@/util/api";
|
||||
import store from "@/store";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
@ -90,33 +96,35 @@
|
|||
phone: '',
|
||||
clerk_name: '',
|
||||
},
|
||||
id:'',
|
||||
select_id: 0,
|
||||
select_name: '',
|
||||
select_show: false,
|
||||
select_list: [{
|
||||
value: '1',
|
||||
label: 'A'
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
label: 'B'
|
||||
},
|
||||
{
|
||||
value: '3',
|
||||
label: 'C'
|
||||
}
|
||||
],
|
||||
select_list: [],
|
||||
list: []
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getClark();
|
||||
},
|
||||
methods: {
|
||||
add() {
|
||||
addClerk({
|
||||
business_id: d.code,
|
||||
...formAdd
|
||||
getClark() {
|
||||
var userInfo = uni.getStorageSync('userInfo');
|
||||
businessListByMember({
|
||||
member_id: userInfo.id,
|
||||
})
|
||||
.then(res => {
|
||||
console.log(res);
|
||||
if (res.code == 1) {
|
||||
|
||||
var key = res.data;
|
||||
const transformedSelectList = key.map(item => ({
|
||||
value: item.id,
|
||||
label: item.business_name
|
||||
}));
|
||||
this.select_name = transformedSelectList[0].label;
|
||||
this.select_id = transformedSelectList[0].value;
|
||||
this.select_list = transformedSelectList;
|
||||
this.getList();
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
|
@ -127,15 +135,94 @@
|
|||
});
|
||||
})
|
||||
},
|
||||
del() {
|
||||
|
||||
add_confirm(d) {
|
||||
console.log(d);
|
||||
var info = d[0];
|
||||
this.select_name = info.label;
|
||||
this.select_id = info.value;
|
||||
},
|
||||
add() {
|
||||
if (this.formAdd.phone == '' || this.formAdd.clerk_name == '') {
|
||||
uni.showToast({
|
||||
title: '请填写店员信息',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
return;
|
||||
}
|
||||
addClerk({
|
||||
business_id: this.select_id,
|
||||
...this.formAdd
|
||||
})
|
||||
.then(res => {
|
||||
console.log(res);
|
||||
if (res.code == 1) {
|
||||
uni.showToast({
|
||||
title: '添加成功!',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
this.addClerkShow = false;
|
||||
this.getList();
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
uni.showToast({
|
||||
title: error,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
})
|
||||
},
|
||||
del(id) {
|
||||
this.id=id;
|
||||
this.show = true;
|
||||
},
|
||||
dian(d) {
|
||||
console.log(d);
|
||||
this.show = false;
|
||||
if (d.index == 1) {
|
||||
this.delDo();
|
||||
}
|
||||
},
|
||||
delDo(){
|
||||
deleteClerk({
|
||||
id: this.id
|
||||
})
|
||||
.then(res => {
|
||||
console.log(res);
|
||||
if (res.code == 1) {
|
||||
uni.showToast({
|
||||
title: '删除成功!',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
this.getList();
|
||||
}else{
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
uni.showToast({
|
||||
title: error,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
})
|
||||
},
|
||||
getList() {
|
||||
clerkListByBusiness({
|
||||
business_id: d.code,
|
||||
business_id: this.select_id
|
||||
})
|
||||
.then(res => {
|
||||
console.log(res);
|
||||
|
@ -151,6 +238,17 @@
|
|||
});
|
||||
})
|
||||
},
|
||||
open_phoen(telephone) {
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: telephone, // 电话号码
|
||||
success: function () {
|
||||
console.log('拨打电话成功');
|
||||
},
|
||||
fail: function () {
|
||||
console.log('拨打电话失败');
|
||||
}
|
||||
});
|
||||
},
|
||||
goBack() {
|
||||
if (getCurrentPages().length > 1) {
|
||||
uni.navigateBack()
|
||||
|
|
|
@ -0,0 +1,168 @@
|
|||
<template>
|
||||
<view class="message tn-safe-area-inset-bottom">
|
||||
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="true" backgroundColor="#FFFFFF">
|
||||
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
|
||||
<view style="padding-left: 15rpx;" @click="goBack()">
|
||||
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
|
||||
</view>
|
||||
<view class="tn-margin-top"
|
||||
style=";text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
|
||||
<tn-tabs :list="[{name:'会员卡核销'}]" activeColor="#000" :bold="false" :fontSize="36"></tn-tabs>
|
||||
</view>
|
||||
</view>
|
||||
</tn-nav-bar>
|
||||
<view class="" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
|
||||
<view v-if="show">
|
||||
<view style="text-align: center;padding: 30rpx;font-size: 50rpx;font-weight: 600">会员卡核销</view>
|
||||
<view style="font-size: 30rpx;font-weight: 600;padding:20rpx 30rpx 20rpx 30rpx">持卡人信息:</view>
|
||||
<view style="padding:20rpx 30rpx 0rpx 30rpx">会员卡号:{{code}}</view>
|
||||
<view class="tn-flex tn-flex-col-center tn-flex-row-between"
|
||||
style="background-color: #ffffff;padding:50rpx 30rpx;border-radius: 15rpx;margin-bottom: 20rpx;">
|
||||
<view class="tn-flex tn-flex-col-center">
|
||||
<view>
|
||||
<image :src="apiImgUrl+info.photo_image"
|
||||
style="width: 100rpx;height: 100rpx;border-radius: 50%;">
|
||||
</image>
|
||||
</view>
|
||||
<view style="margin-left: 20rpx;">
|
||||
<view style="font-size: 30rpx;font-weight: 600;">{{info.member_nikename}}</view>
|
||||
<view style="font-size: 28rpx;margin-top: 10rpx">{{info.member_phone}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view style="font-size: 30rpx;font-weight: 600;padding:20rpx 30rpx 20rpx 30rpx">核销人:{{info.clerk_name}}
|
||||
</view>
|
||||
<view style="margin-top: 100rpx;text-align: center">
|
||||
<tn-button @click="submitDo" width="400rpx" height="80rpx" backgroundColor="#28B93D"
|
||||
fontColor="#ffffff" shape="round">确认核销</tn-button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
ifRightToExamine,
|
||||
addWriteoff
|
||||
} from "@/util/api";
|
||||
import store from "@/store";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
code: '',
|
||||
apiImgUrl: this.$store.state.imgUrl,
|
||||
info: {},
|
||||
key:'',
|
||||
}
|
||||
},
|
||||
onLoad(query) {
|
||||
const q = decodeURIComponent(query.q) // 获取到二维码原始链接内容
|
||||
var data = this.getUrlParams(q);
|
||||
this.code = data.key;
|
||||
this.key = data.random_number;
|
||||
this.association_id = data.association_id;
|
||||
getApp().getUserLogin((r) => {
|
||||
console.log('111', r);
|
||||
this.phone = r.data.phone;
|
||||
this.checkUser();
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
submitDo() {
|
||||
addWriteoff({
|
||||
association_id: this.association_id,
|
||||
phone: this.phone,
|
||||
code_number: this.code,
|
||||
random_number:this.key
|
||||
})
|
||||
.then(res => {
|
||||
console.log(res);
|
||||
if(res.code==1){
|
||||
uni.showToast({
|
||||
title: '核销成功!',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
}else{
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: res.msg,
|
||||
showCancel: false,
|
||||
success: function(res) {
|
||||
that.goBack();
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
uni.showToast({
|
||||
title: error,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
})
|
||||
},
|
||||
checkUser() {
|
||||
var that = this;
|
||||
console.log(this.association_id);
|
||||
console.log(this.phone);
|
||||
console.log(this.code);
|
||||
ifRightToExamine({
|
||||
association_id: this.association_id,
|
||||
phone: this.phone,
|
||||
code_number: this.code,
|
||||
})
|
||||
.then(res => {
|
||||
console.log(res);
|
||||
if (res.code == 1) {
|
||||
this.show = true;
|
||||
this.info = res.data;
|
||||
} else {
|
||||
this.show = false;
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: res.msg,
|
||||
showCancel: false,
|
||||
success: function(res) {
|
||||
that.goBack();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
uni.showToast({
|
||||
title: error,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
})
|
||||
},
|
||||
getUrlParams(url) {
|
||||
// \w+ 表示匹配至少一个(数字、字母及下划线), [\u4e00-\u9fa5]+ 表示匹配至少一个中文字符
|
||||
let pattern = /(\w+|[\u4e00-\u9fa5]+)=(\w+|[\u4e00-\u9fa5]+)/ig;
|
||||
let result = {};
|
||||
url.replace(pattern, ($, $1, $2) => {
|
||||
result[$1] = $2;
|
||||
})
|
||||
return result
|
||||
},
|
||||
goBack() {
|
||||
if (getCurrentPages().length > 1) {
|
||||
uni.navigateBack()
|
||||
} else {
|
||||
uni.redirectTo({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
|
@ -38,7 +38,8 @@
|
|||
<!-- tabbar item的文字-->
|
||||
<view class="tn-tabbar__content__item__text" :class="[elColor(index, false)]" :style="{
|
||||
color: elColor(index),
|
||||
fontSize: `${fontSize}rpx`
|
||||
fontSize: `${fontSize}rpx`,
|
||||
fontWeight:thisIndex==index?600:500
|
||||
}">
|
||||
<text class="tn-text-ellipsis">{{ item.title }}</text>
|
||||
</view>
|
||||
|
@ -89,6 +90,10 @@
|
|||
type: Number,
|
||||
default: 100
|
||||
},
|
||||
thisIndex: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
// 突起的高度
|
||||
outHeight: {
|
||||
type: Number,
|
||||
|
|
10
util/api.js
10
util/api.js
|
@ -71,3 +71,13 @@ export const businessFind = data => request.post('/move/business/businessFind',
|
|||
export const clerkListByBusiness = data => request.post('/move/business/getClerkListByBusinessId', data, false);
|
||||
|
||||
export const addClerk = data => request.post('/move/business/addClerk', data, false);
|
||||
|
||||
export const businessListByMember = data => request.post('/move/business/getBusinessListByMemberId', data, false);
|
||||
|
||||
export const deleteClerk = data => request.post('/move/business/deleteClerk', data, false);
|
||||
|
||||
export const handleMembercode = data => request.post('/move/Membercode/handleMembercode', data, false);
|
||||
|
||||
export const ifRightToExamine = data => request.post('/move/Writeoff/ifRightToExamine', data, false);
|
||||
|
||||
export const addWriteoff = data => request.post('/move/Writeoff/addWriteoff', data, false);
|
Loading…
Reference in New Issue