Files
liche/home/views/h5/different/index.php
T
xiaoyu 6a9316dd64 0507
2025-05-07 12:39:07 +08:00

209 lines
9.6 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title><?= $_title ?></title>
<link rel="stylesheet" href="/css/h5/persona/h5.css?v=2">
<script src="https://qs.liche.cn/web/javascript/jquery.3.4.1.min.js"></script>
<script type="text/javascript" src="https://qs.liche.cn/web/javascript/vue.2.6.10.min.js"></script>
<script type="text/javascript" src="https://qs.liche.cn/web/javascript/qs.js"></script>
<script type="text/javascript" src="https://qs.liche.cn/web/javascript/mDialog.js"></script>
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>
</head>
<body class="bg-f7">
<div id="app">
<div class="container">
<div class="inner30 pb220">
<div class="inner30 bg-fff ulib-r10">
<div class="relative">
<img class="block imgsize-90X90 ulib-r5" :src="userInfo.avatar" alt="#"/>
<div class="absolute pl100 box-middle font-30">
<span class="text-middle">{{userInfo.name}}</span>
<i class="text-middle iconfont icon-nanxing color-2b78f5" v-if="userInfo.gender==1"></i>
<i class="text-middle iconfont icon-nvshangjia color-fb3aab" v-if="userInfo.gender==2"></i>
<span class="text-middle color-36b229">{{userInfo.source}}</span>
</div>
</div>
<div class="mt20 pl140 relative bbs-1-eee last-b-none">
<div class="absolute left-0 box-middle font-28 color-666">手机号</div>
<div v-if="userInfo.c_id" class="pt10 pb10 text-right font-28">{{userInfo.mobile}}</div>
<input v-else class="wp100 pl20 pr20 pt30 pb30 font-28 bds-1-ddd bds-none text-right" type="tel"
placeholder="请输入客户手机号" v-model="userInfo.mobile"/>
</div>
<div class="mt20 pl140 relative bbs-1-eee last-b-none">
<div class="absolute left-0 box-middle font-28 color-666">好友类型</div>
<div class="pt10 pb10 text-right">
<select :class="'bds-none font-28 bg-fff ' + [buddy_type == 0 ? 'color-ccc' : 'color-333']"
v-model="buddy_type">
<option :value="0">请选择</option>
<option :value="i" v-for="(v,i) in buddyTypeAry">{{v}}</option>
</select>
</div>
</div>
</div>
<div class="mt30 inner30 pb50 bg-fff ulib-r10">
<div class="mt20 font-36 text-center text-bold">客户画像</div>
<div class="relative mt40" v-for="(list,i) in taglList">
<div class="font-28">
<span class="text-middle">{{list.name}}</span>
</div>
<vdiv class="fn-clear">
<div v-for="(option,j) in list.list"
:class="'inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 ' + [option.checked ? 'bg-3f91fd color-fff' : 'bg-f6 color-666']"
@click="checkPicker(i,j)">{{option.name}}
</div>
</vdiv>
</div>
</div>
<div class="fixed left-0 bottom-0 right-0 bg-fff-op80 pt30 pb50 pl30 pr30">
<button :class="'wp100 btn pt30 pb30 text-center font-32 color-fff ulib-r750 ' + [submitFlag?'bg-b5':'bg-3f91fd']"
:disabled="submitFlag" @click="postUser()">确认保存
</button>
</div>
</div>
</div>
</div>
<script>
var loading = mDialog.load({shade: false, text: "",});
let hostUrl = ''
var app = new Vue({
el: '#app',
data: {
submitFlag: false,
userInfo: {avatar: '/img/h5/avatar.png', c_id: 0},
taglList: [],
sources: [],
bid: <?=$bid?>,
buddy_type: 0,
buddyTypeAry: [],
},
created() {
},
computed: {},
mounted() {
},
methods: {
//获取用户信息
getUser(external_userid) {
let that = this;
$.ajax({
url: '/h5/different/get_user',
type: 'get',
dataType: 'json',
data: {
external_userid: external_userid,
bid: that.bid,
},
beforeSend: function () {
},
success: function (re) {
if (re.code == 200) {
that.taglList = re.data['tagList'];
that.sources = re.data['sources'];
that.userInfo = re.data['userInfo'];
that.buddy_type = re.data['buddy_type'];
that.buddyTypeAry = re.data['buddyTypeAry'];
} else {
mDialog.msg({content: re.msg});
}
},
complete: function () {
loading && mDialog.close(loading); //关闭加载
}
});
},
//保存
postUser() {
let that = this;
if (!that.userInfo.userid || !that.userInfo.external_userid) {
mDialog.msg({content: "保存失败"});
return
}
$.ajax({
url: '/h5/different/post_user',
type: 'post',
dataType: 'json',
data: {
userInfo: that.userInfo,
taglList: that.taglList,
bid: that.bid,
buddy_type: that.buddy_type,
},
beforeSend: function () {
loading = mDialog.load({shade: false, text: "",});
that.submitFlag = true;
},
success: function (re) {
mDialog.msg({content: re.msg});
},
complete: function () {
loading && mDialog.close(loading); //关闭加载
that.submitFlag = false;
}
});
},
//单选
radioPicker(i, j) {
let taglList = this.taglList
taglList[i].list.forEach(item => {
item.checked = false
})
taglList[i].list[j].checked = true
this.taglList = taglList
},
//多选
checkPicker(i, j) {
this.taglList[i].list[j].checked = !this.taglList[i].list[j].checked
},
}
});
wx.config({
beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: "<?=$sign_package['appId']?>", // 必填,企业微信的corpID
timestamp: "<?=$sign_package['timestamp']?>", // 必填,生成签名的时间戳
nonceStr: "<?=$sign_package['nonceStr']?>", // 必填,生成签名的随机串
signature: "<?=$sign_package['signature']?>",// 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: ["agentConfig"] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});
wx.ready(function () {
wx.agentConfig({
corpid: "<?=$sign_package_agent['appId']?>",
agentid: "<?=$sign_package_agent['agentid']?>",
timestamp: "<?=$sign_package_agent['timestamp']?>",
nonceStr: "<?=$sign_package_agent['nonceStr']?>",
signature: "<?=$sign_package_agent['signature']?>",
jsApiList: ['getCurExternalContact', 'getContext', 'invoke'],
success: function (res) {
wx.invoke('getCurExternalContact', {}, function (res) {
//var json = JSON.stringify(res);
//mDialog.msg({content: "getCurExternalContact=" + json});
if (res.err_msg == "getCurExternalContact:ok") {
app.getUser(res.userId);//返回当前外部联系人userId
//mDialog.msg({content: "userId=" + userId});
} else {
loading && mDialog.close(loading); //关闭加载
}
});
},
fail: function (res) {
loading && mDialog.close(loading); //关闭加载
var json = JSON.stringify(res);
mDialog.msg({content: "agentConfig_fail=" + json});
if (res.errMsg.indexOf('function not exist') > -1) {
mDialog.msg({content: "版本过低请升级"});
}
}
});
});
wx.error(function (res) {
});
</script>
</body>
</html>