Commit 62b852f1e35300bd87c98210d1437438665c02b5

Authored by taiyuan
1 parent 4d32da13

新增个人信息页

packageA/pages/profile/profile.js 0 → 100644
  1 +function e(e, a, r) {
  2 + return a in e ? Object.defineProperty(e, a, {
  3 + value: r,
  4 + enumerable: !0,
  5 + configurable: !0,
  6 + writable: !0
  7 + }) : e[a] = r, e;
  8 +}
  9 +
  10 +var a = getApp(),
  11 + r = a.globalData.setting,
  12 + t = a.request,
  13 + s = require("../../../utils/common.js"),
  14 + util = require("../../../utils/util.js"),
  15 + ut = util,
  16 + d = getApp().globalData;
  17 +
  18 +var timestamp = Date.parse(new Date());
  19 +var date = new Date(timestamp);
  20 +const {
  21 + barcode,
  22 + qrcode
  23 +} = require('../../../utils/index.js');
  24 +
  25 +Page({
  26 + data: {
  27 + phone: "",
  28 + url: r.url,
  29 + resourceUrl: r.resourceUrl,
  30 + iurl: r.imghost,
  31 + defaultAvatar: r.resourceUrl + "/static/images/user68.jpg",
  32 + user: null,
  33 + tc_hide: true,
  34 + stoname: "",
  35 + checkDate: false,
  36 + datet: "",
  37 + year: date.getFullYear(),
  38 + store: 0,
  39 + all_sto: "",
  40 + region_name: "",
  41 + def_pick_store: "",
  42 + sort_store: 0, //门店分类
  43 + sec_sto: "",
  44 + more_store: 0, //选择门店
  45 + choice_sort_store: 0, //选择分类门店
  46 + more_store: 0, //选择门店
  47 + lat: null, //维度
  48 + lon: null, //经度
  49 + fir_pick_index: 0,
  50 + sec_pick_index: 0,
  51 + is_gps: 1,
  52 + lon: 0,
  53 + only_pk: 0,
  54 + open_ind_store: 0, //哪里打开的门店列表的控制属性
  55 + ispwhid: 1, //是否隐藏密码显示
  56 + isstcsp: 0, //是否启用密码消费
  57 + isGender: 1, //什么性别
  58 + iscalendar: 0, //是否是农历
  59 + consumption: "", //消费密码
  60 + identity_card: "", //身份证值
  61 + address: "", //地址
  62 + openid: "", //openid
  63 + pulscardname: "", //puls会员的卡
  64 + gradename: "", //会员权益的卡
  65 + isBool: "",
  66 + sto_sele_id: "", //所属门店id
  67 + is_zy: 0, //是否执行onshow
  68 + is_lable_set: "", //是否启用我的兴趣标签
  69 + check_label: [], //我选择的兴趣标签
  70 + fir_guide_id:null, //存储会员详情接口出来的美导ID
  71 +
  72 + },
  73 + //通过路径跳转到其他页面
  74 + goto: function(e) {
  75 + var url = e.currentTarget.dataset.url;
  76 + getApp().goto(url);
  77 + },
  78 + //获取配置信息
  79 + get_config: function() {
  80 + var th = this;
  81 + getApp().getConfig2(function(ee) {
  82 + var sms_conf = ee.switch_list;
  83 + sms_conf = JSON.parse(sms_conf);
  84 + th.setData({
  85 + is_lable_set: sms_conf.user_label_set, //是不是会员标签设置
  86 + guide_title:sms_conf.guide_consultant, //系统参数 导购标题
  87 + guide_change_time:sms_conf.guide_change_time //每月能修改几次
  88 + })
  89 + if (sms_conf.user_label_set) {
  90 + th.query_checklabels();
  91 + }
  92 + })
  93 + },
  94 + //查找会员选择的兴趣标签
  95 + query_checklabels: function() {
  96 + var th = this;
  97 + var url = "/api/weshop/marketing/holiday/vip/interest/label/get";
  98 + var interest_lables = th.data.interest_lables; //兴趣标签
  99 + getApp().request.promiseGet(url, {
  100 + data: {
  101 + userId: d.user_id,
  102 + storeId: r.stoid
  103 + }
  104 + }).then(res => {
  105 + if (res.data.code == 0) {
  106 + var data = res.data.data;
  107 + var VipLabel = th.data.check_label; //通过id标签找到已选择的标签
  108 + var dateList = data.VipLabel.split(",");
  109 + for (var i in dateList) {
  110 + if (dateList[i] != "") {
  111 + VipLabel.push(dateList[i]);
  112 + }
  113 + }
  114 + th.setData({
  115 + check_label: VipLabel
  116 + })
  117 + } else {
  118 + getApp().my_warnning("系统繁忙,请稍后再试", 0, th);
  119 + }
  120 + })
  121 + },
  122 + //是否启动密码消费
  123 + isstcsp: function() {
  124 + var th = this;
  125 + var isstcsp = th.data.isstcsp;
  126 + if (isstcsp == 0) {
  127 + th.setData({
  128 + isstcsp: 1
  129 + })
  130 + } else {
  131 + th.setData({
  132 + isstcsp: 0
  133 + })
  134 + }
  135 + },
  136 + //出生日期是否是农历
  137 + iscalendar: function() {
  138 +
  139 + if(this.data.user.birthday) return false;
  140 + var th = this;
  141 + var iscalendar = th.data.iscalendar;
  142 + if (iscalendar == 0) {
  143 + th.setData({
  144 + iscalendar: 1
  145 + })
  146 + } else {
  147 + th.setData({
  148 + iscalendar: 0
  149 + })
  150 + }
  151 + },
  152 + //性别
  153 + isGender: function(e) {
  154 + var th = this;
  155 + var sex = e.currentTarget.dataset.sex;
  156 + th.setData({
  157 + isGender: sex
  158 + })
  159 + },
  160 + //密码是否隐藏显示
  161 + ispwhid: function() {
  162 + var th = this;
  163 + var ispwhid = th.data.ispwhid;
  164 +
  165 + if (ispwhid == 0) {
  166 + th.setData({
  167 + ispwhid: 1
  168 + })
  169 + } else {
  170 + th.setData({
  171 + ispwhid: 0
  172 + })
  173 + }
  174 + },
  175 + checkDate: function() {
  176 + var th = this;
  177 + if (th.data.checkDate) {
  178 + th.setData({
  179 + checkDate: false
  180 + })
  181 + } else {
  182 + th.setData({
  183 + checkDate: true
  184 + })
  185 + }
  186 + },
  187 + bindChange: function(e) {
  188 + this.setData({
  189 + datet: e.detail.value,
  190 + });
  191 + },
  192 + //---点击二级之后的选择---
  193 + choose_for_store: function(e) {
  194 + var index_c = e.currentTarget.dataset.ind;
  195 +
  196 + this.setData({
  197 + sec_pick_index: index_c,
  198 + fir_pick_index: index_c
  199 + })
  200 + },
  201 + //确定def_pick为选择的门店
  202 + sure_pick: function(e) {
  203 + var th = this;
  204 + var item = null;
  205 + var openindstore = th.data.open_ind_store;
  206 + if (th.data.choice_sort_store == 0) {
  207 + var index = th.data.fir_pick_index;
  208 + if (th.data.is_show_sto_cat == 1) {
  209 + item = th.data.def_pickpu_list[index];
  210 + } else {
  211 + item = th.data.only_pk[index]; //当没有门店分类的时候
  212 + }
  213 +
  214 + } else {
  215 + var index = th.data.sec_pick_index;
  216 + item = th.data.sec_sto.s_arr[index];
  217 + }
  218 + th.setData({
  219 + def_pick_store: item,
  220 + stoname: item.pickup_name,
  221 + sto_sele_name: item.pickup_name,
  222 + sto_sele_id: item.pickup_id,
  223 + sto_sele_distr: item.distr_type,
  224 + store: 0,
  225 + choice_sort_store: 0,
  226 + fir_pick_index: 0
  227 + });
  228 +
  229 + if (openindstore == 1) {
  230 + th.setData({
  231 + openSpecModal: !0,
  232 + openSpecModal_ind: openindstore,
  233 + });
  234 + } else if (openindstore == 2) {
  235 + th.setData({
  236 + openSpecModal: !0,
  237 + openSpecModal_ind: openindstore,
  238 + openSpecModal_pt: 1
  239 + });
  240 + }
  241 + },
  242 + choose_for_store_fir: function(e) {
  243 + var index_c = e.currentTarget.dataset.ind;
  244 + this.setData({
  245 + fir_pick_index: index_c
  246 + })
  247 + },
  248 + wait_for_store_config: function() {
  249 + var th = this;
  250 + wx.getLocation({
  251 + type: 'gcj02',
  252 + success: function(res) {
  253 + th.data.lat = res.latitude;
  254 + th.data.lon = res.longitude;
  255 + th.data.is_get_local_ok = 1;
  256 + },
  257 + fail: function(res) {
  258 + if (res.errCode == 2) {
  259 + th.setData({
  260 + is_gps: 0
  261 + });
  262 + if (th.data.is_gps == 0) {
  263 + getApp().confirmBox("请开启GPS定位", null, 10000, !1);
  264 + }
  265 + } else {
  266 + th.setData({
  267 + is_gps: "3"
  268 + });
  269 + }
  270 + th.data.is_get_local_ok = 1;
  271 + }
  272 + })
  273 + },
  274 + onclickstore: function() {
  275 + var th = this;
  276 + //检验门店的点击,看下次数是不是到了
  277 + this.check_click_ok(function(){
  278 + if (th.data.store == 0) {
  279 + th.setData({
  280 + store: 1
  281 + })
  282 + } else {
  283 + th.setData({
  284 + store: 0
  285 + })
  286 + }
  287 + var dd = {
  288 + store_id: r.stoid,
  289 + isstop: 0,
  290 + pageSize: 300
  291 + }
  292 + th.setData({
  293 + sort_store: 0
  294 + });
  295 + var i = getApp().request;
  296 + //如果有距离的话
  297 + if (th.data.lat != null) {
  298 + dd.lat = th.data.lat;
  299 + dd.lon = th.data.lon;
  300 + }
  301 + //----------获取门店----------------
  302 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  303 + data: dd,
  304 + }).then(res => {
  305 + var e = res;
  306 + if (e.data.code == 0) {
  307 + //-- 如果有默认选择门店的时候,要把默认门店放在第一位 --
  308 + if (th.data.def_pick_store) {
  309 + for (var k = 0; k < e.data.data.pageData.length; k++) {
  310 + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
  311 + e.data.data.pageData.splice(k, 1); //删除
  312 + break;
  313 + }
  314 + }
  315 + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
  316 + }
  317 +
  318 + //单总量超出5个的时候
  319 + if (e.data.data.total > 5) {
  320 + i.get("/api/weshop/storagecategory/page", {
  321 + data: {
  322 + store_id: r.stoid,
  323 + is_show: 1,
  324 + pageSize: 300
  325 + },
  326 + success: function(ee) {
  327 + if (ee.data.code == 0) {
  328 + if (ee.data.data.pageData.length > 0) {
  329 + var def_arr = new Array();
  330 + var ishas = 0;
  331 + //-- 开始就看5个门店 --
  332 + for (var k = 0; k < 5; k++) {
  333 + if (k == e.data.data.pageData.length) break;
  334 + def_arr.push(e.data.data.pageData[k]);
  335 + }
  336 +
  337 + th.setData({
  338 + def_pickpu_list: def_arr,
  339 + pickpu_list: ee.data.data.pageData
  340 + });
  341 + var sto_cate = ee.data.data.pageData;
  342 + var sto_arr = e.data.data.pageData;
  343 + var newarr = new Array();
  344 + var qita = new Array();
  345 +
  346 + //----要进行门店分组--------
  347 + for (var i = 0; i < sto_arr.length; i++) {
  348 + //找一下这个门店有没有在分类数组内
  349 + var find2 = 0,
  350 + find2name = "";
  351 + for (var m = 0; m < sto_cate.length; m++) {
  352 + if (sto_arr[i].category_id == sto_cate[m].cat_id) {
  353 + find2 = sto_cate[m].cat_id;
  354 + find2name = sto_cate[m].cat_name;
  355 + break;
  356 + }
  357 + }
  358 +
  359 + if (newarr.length > 0) {
  360 + var find = 0;
  361 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  362 + if (find2 != 0) {
  363 + for (var ii = 0; ii < newarr.length; ii++) {
  364 + if (sto_arr[i].category_id == newarr[ii].cat_id) {
  365 + newarr[ii].s_arr.push(sto_arr[i]);
  366 + find = 1;
  367 + break;
  368 + }
  369 + }
  370 + if (find == 0) {
  371 + var arr0 = new Array();
  372 + arr0.push(sto_arr[i]);
  373 + var item = {
  374 + cat_id: find2,
  375 + name: find2name,
  376 + s_arr: arr0
  377 + };
  378 + newarr.push(item);
  379 + }
  380 + } else {
  381 + qita.push(sto_arr[i]);
  382 + }
  383 + } else {
  384 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  385 + if (find2 != 0) {
  386 + var arr0 = new Array();
  387 + arr0.push(sto_arr[i]);
  388 + var item = {
  389 + cat_id: find2,
  390 + name: find2name,
  391 + s_arr: arr0
  392 + };
  393 + newarr.push(item);
  394 + } else {
  395 + qita.push(sto_arr[i]);
  396 + }
  397 + }
  398 + }
  399 +
  400 + //----安排其他的分类-----
  401 + if (qita.length > 0) {
  402 + var item = {
  403 + cat_id: -1,
  404 + name: "其他",
  405 + s_arr: qita
  406 + };
  407 + newarr.push(item);
  408 + }
  409 + th.setData({
  410 + is_show_sto_cat: 1,
  411 + all_sto: newarr
  412 + });
  413 +
  414 + } else {
  415 + th.setData({
  416 + is_show_sto_cat: -1,
  417 + only_pk: e.data.data.pageData
  418 + });
  419 + }
  420 + } else {
  421 + th.setData({
  422 + is_show_sto_cat: -1,
  423 + only_pk: e.data.data.pageData
  424 + });
  425 + }
  426 + }
  427 + });
  428 + } else {
  429 + th.setData({
  430 + is_show_sto_cat: 0,
  431 + only_pk: e.data.data.pageData
  432 + });
  433 + }
  434 + }
  435 + }, 200)
  436 +
  437 + },2)
  438 +
  439 + },
  440 +
  441 + //选择更多门店
  442 + more_store: function() {
  443 + this.setData({
  444 + sort_store: 1
  445 + });
  446 + },
  447 + //---选择分类门店---
  448 + choice_sort_store: function(e) {
  449 + var index = e.currentTarget.dataset.index;
  450 + var region_name = e.currentTarget.dataset.region;
  451 + var item = this.data.all_sto[index];
  452 + this.setData({
  453 + region_name: region_name,
  454 + sort_store: 0,
  455 + choice_sort_store: 1,
  456 + sec_sto: item,
  457 + sec_pick_index: 0
  458 + });
  459 + },
  460 + // 返回按钮
  461 + returns: function() {
  462 + this.setData({
  463 + sort_store: 0,
  464 + choice_sort_store: 0
  465 + });
  466 + },
  467 + //身份证号严格校验
  468 + IdentityIDCard: function(e) {
  469 + var code = e.detail.value;
  470 + //身份证号前两位代表区域
  471 + var city = {
  472 + 11: "北京",
  473 + 12: "天津",
  474 + 13: "河北",
  475 + 14: "山西",
  476 + 15: "内蒙古",
  477 + 21: "辽宁",
  478 + 22: "吉林",
  479 + 23: "黑龙江 ",
  480 + 31: "上海",
  481 + 32: "江苏",
  482 + 33: "浙江",
  483 + 34: "安徽",
  484 + 35: "福建",
  485 + 36: "江西",
  486 + 37: "山东",
  487 + 41: "河南",
  488 + 42: "湖北 ",
  489 + 43: "湖南",
  490 + 44: "广东",
  491 + 45: "广西",
  492 + 46: "海南",
  493 + 50: "重庆",
  494 + 51: "四川",
  495 + 52: "贵州",
  496 + 53: "云南",
  497 + 54: "西藏 ",
  498 + 61: "陕西",
  499 + 62: "甘肃",
  500 + 63: "青海",
  501 + 64: "宁夏",
  502 + 65: "新疆",
  503 + 71: "台湾",
  504 + 81: "香港",
  505 + 82: "澳门",
  506 + 91: "国外 "
  507 + };
  508 + //身份证格式正则表达式
  509 + var idCardReg = /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i;
  510 + var errorMess = ""; //错误提示信息
  511 + var isPass = true; //身份证验证是否通过(true通过、false未通过)
  512 +
  513 + //如果身份证不满足格式正则表达式
  514 + if (!code || !idCardReg.test(code)) {
  515 + errorMess = "您输入的身份证号格式有误!";
  516 + isPass = false;
  517 + }
  518 +
  519 + //区域数组中不包含需验证的身份证前两位
  520 + else if (!city[code.substr(0, 2)]) {
  521 + errorMess = "您输入的身份证地址编码有误!";
  522 + isPass = false;
  523 + } else {
  524 + //18位身份证需要验证最后一位校验位
  525 + if (code.length == 18) {
  526 + code = code.split('');
  527 + //∑(ai×Wi)(mod 11)
  528 + //加权因子
  529 + var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
  530 + //校验位
  531 + var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];
  532 + var sum = 0;
  533 + var ai = 0;
  534 + var wi = 0;
  535 + for (var i = 0; i < 17; i++) {
  536 + ai = code[i];
  537 + wi = factor[i];
  538 + sum += ai * wi;
  539 + }
  540 + var last = parity[sum % 11];
  541 + if (parity[sum % 11] != code[17]) {
  542 + errorMess = "您输入的身份证号不存在!";
  543 + isPass = false;
  544 + }
  545 + }
  546 + }
  547 + var returnParam = {
  548 + 'errorMess': errorMess,
  549 + 'isPass': isPass
  550 + }
  551 + if (errorMess != "") {
  552 + wx.showModal({
  553 + title: errorMess,
  554 + content: '',
  555 + showCancel: false,
  556 + confirmText: '确定',
  557 + confirmColor: '',
  558 + success: function(res) {},
  559 + fail: function(res) {},
  560 + complete: function(res) {},
  561 + })
  562 + }
  563 + return returnParam;
  564 + },
  565 + //------初始化加载----------
  566 + onLoad: function(t) {
  567 + var user = getApp().globalData.userInfo;
  568 + if (user.card_field != '' && user.card_field != null && user.card_field != undefined && user.card_expiredate) {
  569 + var now = ut.gettimestamp();
  570 + var str = user.card_expiredate.replace(/-/g, '/');;
  571 + var end = new Date(str);
  572 + end = Date.parse(end) / 1000;
  573 + if (now < end) {
  574 + this.puls_user();
  575 + }
  576 + }
  577 + this.initial_user();
  578 + },
  579 + //-----------会员是否初始化---------------------
  580 + initial_user: function() {
  581 +
  582 + var th = this;
  583 + getApp().request.get("/api/weshop/users/grade/vip/init/get", {
  584 + data: {
  585 + storeId: r.stoid,
  586 + },
  587 + success: function(su) {
  588 + var isBool = su.data.data.isBool;
  589 + th.setData({
  590 + isBool: isBool
  591 + });
  592 +
  593 + if (!isBool) return false;
  594 + //-----会员权益获取--------------
  595 + getApp().request.get("/api/weshop/users/grade/aftervipinfo/get", {
  596 + data: {
  597 + storeId: r.stoid,
  598 + userId: getApp().globalData.user_id,
  599 + },
  600 + success: function(su) {
  601 + var gradename = su.data.data.GradeName;
  602 + th.setData({
  603 + gradename: gradename
  604 + });
  605 + }
  606 + });
  607 +
  608 + }
  609 + });
  610 + this.get_config();
  611 + },
  612 +
  613 +
  614 + //-----Plus会员获取-----------
  615 + puls_user: function() {
  616 + var th = this;
  617 + getApp().request.get("/api/weshop/plus/vip/mem/list", {
  618 + data: {
  619 + storeId: r.stoid,
  620 + userId: getApp().globalData.user_id,
  621 + },
  622 + success: function(su) {
  623 +
  624 + if (su.data.code == 0) {
  625 + var cardname = su.data.data[0].MemCardName;
  626 + th.setData({
  627 + pulscardname: cardname
  628 + });
  629 + }
  630 + }
  631 + });
  632 + },
  633 +
  634 + onShow: function() {
  635 + var e = this;
  636 + if (this.data.is_zy) return false;
  637 + this.wait_for_store_config();
  638 +
  639 + //如果有传值进行跳转的话
  640 + var choice_guide=null;
  641 + if(getApp().globalData.choice_guide){
  642 + choice_guide=JSON.parse(JSON.stringify(getApp().globalData.choice_guide));
  643 + getApp().globalData.choice_guide=null;
  644 + }
  645 +
  646 + var req = t;
  647 + req.get("/api/weshop/users/getAndUpdateUser/" + r.stoid + "/" + getApp().globalData.user_id, {
  648 + success: function(src) {
  649 + var a = src.data.data;
  650 +
  651 + if(!a) a={};
  652 + var time ="",birthday ="";
  653 + if(a && a.reg_time) time=util.formatTime(a.reg_time, "'Y/M/D");
  654 + if(a && a.birthday) birthday=util.formatTime(a.birthday, "'Y/M/D");
  655 +
  656 + a.reg_time = time;
  657 + a.birthday = birthday
  658 +
  659 + if(a.address=='null' || !a.address){
  660 + a.address="";
  661 + }
  662 +
  663 + e.data.fir_guide_id=a.staffId;
  664 + if(choice_guide){
  665 + a.staffName=choice_guide.StaffName;
  666 + a.staffId=choice_guide.Id;
  667 + }
  668 +
  669 +
  670 + e.setData({
  671 + phone: a.mobile,
  672 + user: a,
  673 + openid: a.openid,
  674 + sto_sele_id: a.pickup_id,
  675 + consumption: a.paypwd,
  676 + identity_card: a.idcard,
  677 + address: a.address,
  678 + isGender: a.sex,
  679 + isstcsp: a.vipnopwd,
  680 + iscalendar:a.islunar
  681 + });
  682 +
  683 + }
  684 + })
  685 + a.getUserInfo(function(a) {
  686 + var txt = util.formatTime(a.birthday, 'yyyy-M-d'),
  687 + arr = txt.split(' ');
  688 + a.birthday = arr[0];
  689 + var txt2 = util.formatTime(a.reg_time, 'yyyy-M-d'),
  690 + arr2 = txt.split(' ');
  691 + a.reg_time = arr2[0];
  692 + if (a.pickup_id != null) {
  693 + req.get("/api/weshop/pickup/get/" + r.stoid + "/" + a.pickup_id, {
  694 + success: function(da) {
  695 + if(da.data.data){
  696 + //设置门店
  697 + e.setData({
  698 + stoname: da.data.data.pickup_name
  699 + });
  700 + }
  701 +
  702 + }
  703 + })
  704 + }
  705 + // var phone = "";
  706 + // phone+=a.mobile.substr(0, 3)+"****";
  707 + // phone += a.mobile.substr(7, 12);
  708 +
  709 +
  710 +
  711 + // e.setData({
  712 + // isGender:e.data.user.sex
  713 + // })
  714 + }, !0);
  715 + },
  716 +
  717 + editUserInfo: function(e) {
  718 + var r = e.currentTarget.dataset.type;
  719 + if (("password" == r || "paypwd" == r) && !this.data.user.mobile) return a.showWarning("请先绑定手机号码");
  720 + r && this.data.user && wx.navigateTo({
  721 + url: "/pages/user/userinfo_edit/userinfo_edit?type=" + r
  722 + });
  723 + },
  724 +
  725 + /*--------------------修改头像---------------------*/
  726 + changeAvatar: function() {
  727 + return false;
  728 + var r = this;
  729 + wx.chooseImage({
  730 + count: 1,
  731 + sizeType: ["compressed", "original"],
  732 + sourceType: ["camera", "album"],
  733 + success: function(u) {
  734 + t.uploadFile(r.data.url + "/api/user/upload_headpic", {
  735 + filePath: u.tempFilePaths[0],
  736 + name: "head_pic",
  737 + success: function(t) {
  738 + var u = s.getFullUrl(t.data.result);
  739 + r.setData(e({}, "user.head_pic", u)), a.globalData.userInfo.head_pic = u, a.showSuccess("设置头像成功");
  740 + }
  741 + });
  742 + }
  743 + });
  744 + },
  745 +
  746 +
  747 + //------卡片的显示和关闭--------
  748 + show_tc: function() {
  749 + if (!getApp().globalData.userInfo) return false;
  750 + //base64_encode($user.mobile.'|'.date('Y-m-d H:i:s')
  751 + var val=getApp().globalData.userInfo.mobile+"|"+ut.formatTime();
  752 + val="^"+ut.base64_encode(val);
  753 +
  754 + qrcode('qrcode', val, 480, 480, this);
  755 +
  756 + this.setData({
  757 + tc_hide: false,
  758 + });
  759 + },
  760 + hide_tc: function() {
  761 + this.setData({
  762 + tc_hide: true,
  763 + });
  764 + },
  765 + //消费密码输入框失去焦点事件
  766 + lose_focus: function(e) {
  767 + var th = this;
  768 + var val = e.detail.value;
  769 + this.setData({
  770 + consumption: val
  771 + })
  772 + },
  773 +
  774 + //地址
  775 + address: function(e) {
  776 + var val = e.detail;
  777 + this.setData({
  778 + address: val.value
  779 + });
  780 + },
  781 +
  782 + //身份证验证
  783 + identity_card: function(e) {
  784 + var val = e.detail;
  785 +
  786 + this.setData({
  787 + identity_card: val.value
  788 + });
  789 +
  790 + },
  791 + //用户名字
  792 + user_name: function(e) {
  793 + var th = this;
  794 + var name = e.detail.value;
  795 + var vipname = 'user.vipname';
  796 + if (name != "" || name != null) {
  797 + th.setData({
  798 + [vipname]: name
  799 + });
  800 + }
  801 +
  802 + },
  803 +
  804 + //点击确认修改信息
  805 + confirm_revision: function() {
  806 + var th = this;
  807 + var isstcsp = th.data.isstcsp; //是否启用消费密码
  808 + var phone = th.data.phone; //手机号码
  809 + if (phone == "" || phone == null) {
  810 + getApp().my_warnning("手机不能为空", 0, th);
  811 + return false;
  812 + }
  813 + var consumption = th.data.consumption; //消费密码
  814 + var isstcsp = th.data.isstcsp;
  815 + if (isstcsp == 1) {
  816 +
  817 + if (consumption == null || consumption == "" || consumption == undefined) {
  818 + getApp().my_warnning("消费密码不能为空", 0, th);
  819 + return false;
  820 + }
  821 + if (consumption.length < 6) {
  822 + getApp().my_warnning("消费密码不能小于6位", 0, th);
  823 + return false;
  824 + }
  825 + }
  826 + var sex = th.data.isGender; //性别
  827 +
  828 + if (sex != "1" && sex != "2") {
  829 + getApp().my_warnning("请选择性别", 0, th);
  830 + return false;
  831 + }
  832 + var user_name = th.data.user.vipname; //用户姓名
  833 + if (user_name == "" || user_name == null) {
  834 + getApp().my_warnning("请输入名字", 0, th);
  835 + return false;
  836 + }
  837 + var identity_card = th.data.identity_card; //身份证
  838 +
  839 + if (identity_card!=null && identity_card!=undefined && identity_card != "" && !(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(identity_card))) {
  840 + getApp().my_warnning("身份证号码错误", 0, th);
  841 + return false;
  842 + }
  843 + var address = th.data.address; //地址
  844 + var sto_sele_id = th.data.sto_sele_id;
  845 + var datas = {
  846 + mobile: phone, //手机号码
  847 + store_id: r.stoid,
  848 + user_id: getApp().globalData.user_id,
  849 + vipnopwd: isstcsp,
  850 + vippass: consumption, //消费密码
  851 + sex: sex, //性别
  852 + vipname: user_name, //昵称
  853 + idcard: identity_card, //身份证
  854 + address: address, //地址
  855 + pickup_id: sto_sele_id ,//自提门店 所属门店
  856 + islunar:th.data.iscalendar,
  857 + birthday:th.data.datet
  858 + }
  859 + //往上提交美导的ID
  860 + if(th.data.fir_guide_id!=th.data.user.staffId){
  861 + datas.staffId=th.data.user.staffId;
  862 + }
  863 +
  864 + getApp().request.put("/api/weshop/users/updateUserInfo", {
  865 + data: datas,
  866 + success: function(res) {
  867 + if (res.data.code == 0) {
  868 + getApp().my_warnning("修改成功", 1, th);
  869 + getApp().goto("/pages/user/index/index");
  870 + } else {
  871 + getApp().my_warnning("系统繁忙,请稍后再试", 0, th);
  872 + }
  873 + }
  874 + })
  875 + },
  876 + //选择地址
  877 + goto_address: function() {
  878 + // this.setData({ is_zy: 1 });
  879 + },
  880 + //更换手机
  881 + go_phone: function(e) {
  882 + var url = e.currentTarget.dataset.url;
  883 + this.setData({
  884 + is_zy: 1
  885 + });
  886 + getApp().goto(url);
  887 + },
  888 +
  889 + //--点击分享事件---
  890 + onShareAppMessage: function(t) {
  891 + return o.share;
  892 + },
  893 +
  894 + //-- 跳转到获取导购的列表 --
  895 + go_get_guide:function () {
  896 + this.check_click_ok(function(){
  897 + getApp().goto("/pages/user/choice_guide/choice_guide");
  898 + },1)
  899 + },
  900 +
  901 + //点击门店,导购的次数判断, type 1=导购 2=门店
  902 + check_click_ok:function(func,idx){
  903 + var th=this;
  904 + var userId=getApp().globalData.user_id;
  905 + getApp().request.get("/api/weshop/users/getGuideNum/"+r.stoid+"/"+userId+"/"+idx, {
  906 + success: function(res) {
  907 + if(res.data.code==0){
  908 + func();
  909 + }else{
  910 + getApp().my_warnning(res.data.msg, 0, th);
  911 + }
  912 + }
  913 + });
  914 + }
  915 +
  916 +
  917 +});
0 918 \ No newline at end of file
... ...
packageA/pages/profile/profile.json 0 → 100644
  1 +{
  2 + "navigationBarTitleText": "个人信息",
  3 + "enablePullDownRefresh": false,
  4 + "usingComponents": {
  5 + "warn": "/components/long_warn/long_warn"
  6 + }
  7 +}
0 8 \ No newline at end of file
... ...
packageA/pages/profile/profile.wxml 0 → 100644
  1 +<wxs module="filters" src="../../../utils/filter.wxs"></wxs>
  2 +
  3 +<view class="container">
  4 +
  5 + <!-- 头像,昵称,多个卡 -->
  6 + <view class="head flex-space-between">
  7 + <view class="flex-center">
  8 +
  9 + <view class="flex-center">
  10 + <image class="Headportrait" src="{{user.head_pic}}"></image>
  11 + </view>
  12 +
  13 + <view class="flex-center vipmax">
  14 + <view>
  15 + <view class="fs32">
  16 + <view class="ellipsis-1 Nickname">{{user.nickname}}
  17 + </view>
  18 + </view>
  19 + </view>
  20 + </view>
  21 +
  22 + </view>
  23 + </view>
  24 +
  25 + <view class="user-container">
  26 + <view class="Bbottom">
  27 + <view bindtap="editUserInfo1" class="user-name flex-vertical" data-type="nickname">
  28 + <view class="user-name-txt">推荐人:</view>
  29 + <input bindblur="user_name" class="user-txt-right f1 pdl20 t-r" placeholder="请输入推荐人手机号码或卡号"/>
  30 + <view class="c-red pdl20 fs24">可获10积分</view>
  31 + </view>
  32 +
  33 + <view bindtap="editUserInfo1" class="user-name flex-vertical" data-type="nickname">
  34 + <view class="user-name-txt">姓名:</view>
  35 + <input bindblur="user_name" class="user-txt-right f1 pdl20 t-r" placeholder="请输入您的真实姓名"/>
  36 + <view class="c-red pdl20 fs24">可获10积分</view>
  37 + </view>
  38 +
  39 + <view bindtap="editUserInfo1" class="user-name flex-vertical" data-type="sex">
  40 + <view>性别:</view>
  41 + <view class="flex f1 pdl20 jc_fe">
  42 + <view class="flex-center {{isGender==1?'Gendercheck':'Gender'}}" data-sex="1" bindtap="isGender">
  43 + <block wx:if="{{isGender==1}}">
  44 + <image class="GenderImage" src="{{iurl}}/miniapp/images/userinfo/userinfo/malealready.png"></image>
  45 + </block>
  46 + <block wx:else>
  47 + <image class="GenderImage" src="{{iurl}}/miniapp/images/userinfo/userinfo/malenot.png"></image>
  48 + </block>
  49 + <view class="fs24">男</view>
  50 + </view>
  51 + <view class="flex-center {{isGender==2?'Gendercheck':'Gender'}} mgl20" data-sex="2" bindtap="isGender">
  52 + <block wx:if="{{isGender==2}}">
  53 + <image class="GenderImage" src="{{iurl}}/miniapp/images/userinfo/userinfo/femalealready.png"></image>
  54 + </block>
  55 + <block wx:else>
  56 + <image class="GenderImage" src="{{iurl}}/miniapp/images/userinfo/userinfo/femalenot.png"></image>
  57 + </block>
  58 + <view class="fs26">女</view>
  59 + </view>
  60 + </view>
  61 + <view class="c-red pdl20 fs24">可获10积分</view>
  62 + </view>
  63 +
  64 + <view bindtap="editUserInfo1" class="user-name flex-vertical" data-type="sex">
  65 + <view class="shrink0">出生日期:</view>
  66 + <view class="flex fs28 Birth pdl20 jc_fe">
  67 + <view class="flex" bindtap="iscalendar">
  68 +
  69 + <block wx:if="{{iscalendar}}">
  70 + <view class="flex-center">
  71 + <icon size="20" type="success" color="rgb(212,2,31)"></icon>
  72 + </view>
  73 + </block>
  74 + <block wx:else>
  75 + <icon size="20" type="success" color="rgb(0, 0, 0, 0.4)"></icon>
  76 + </block>
  77 +
  78 +
  79 + <view class="flex-center">
  80 + <view class="Mleft">农历</view>
  81 + </view>
  82 + </view>
  83 + <view class="user-txt-right pdl20">
  84 + <!-- 填充数据的时候要判断是否已经有出生日期,有值的话就不可修改 -->
  85 + <block wx:if="{{user.birthday==''||user.birthday==null}}">
  86 + <picker bindchange='bindChange' value="{{datet}}" mode="date" start="{{year-70}}-1-1" end="{{year}}-12-31">
  87 + {{datet?datet:"请选择时间"}}
  88 + </picker>
  89 + </block>
  90 + <block wx:else>
  91 + <view>{{datet==""? user.birthday==""?"":filters.replace_time2(user.birthday):datet}}</view>
  92 + </block>
  93 +
  94 + </view>
  95 + </view>
  96 + <view class="c-red pdl20 fs24 shrink0">可获10积分</view>
  97 + </view>
  98 +
  99 +
  100 + <view bindtap="editUserInfo1" class="user-name flex-vertical" data-type="nickname">
  101 + <view class="user-name-txt shrink0">身份证号码:</view>
  102 + <input bindblur="identity_card" class="user-txt-right pdl20 f1 t-r" value="{{user.idcard}}" placeholder="请输入身份证号码"></input>
  103 + <view class="c-red pdl20 fs24 shrink0">可获10积分</view>
  104 + </view>
  105 +
  106 +
  107 + <view class="user-name flex-vertical" data-type="mobile">
  108 + <view class="user-name-txt">地址:</view>
  109 + <input bindblur="address" maxlength="30" value="{{user.address}}" class="user-txt-right f1" placeholder="请输入详细地址" style="text-align:right" />
  110 + <view class="c-red pdl20 fs24">可获10积分</view>
  111 + </view>
  112 +
  113 +
  114 + <view bindtap="" class="user-name flex-vertical" data-type="mobile">
  115 + <view class="user-name-txt">手机:</view>
  116 + <input bindblur="" class="user-txt-right f1 pdl20 t-r" placeholder="请输入手机号码"/>
  117 + <view class="c-red pdl20 fs24">可获10积分</view>
  118 + </view>
  119 +
  120 + <view bindtap="editUserInfo1" class="user-name flex-vertical" data-type="nickname">
  121 + <view class="user-name-txt">验证码:</view>
  122 + <input bindblur="" class="user-txt-right f1 pdl20 t-r" placeholder="请输入"/>
  123 + <view class="mgl20 fs24 btn pd10">获取验证码</view>
  124 + </view>
  125 +
  126 +
  127 + <!-- 选择门店 -->
  128 + <view bindtap="onclickstore" class="user-name flex-vertical" data-type="email">
  129 + <view class="user-name-txt">所属门店:</view>
  130 + <view class="user-txt-right f1 flex ai_c jc_fe">
  131 + <view class="one-line">{{stoname}}</view>
  132 + <view class="angle">∟</view>
  133 + </view>
  134 + <view class="c-red pdl20 fs24">可获10积分</view>
  135 + </view>
  136 +
  137 +
  138 + <view bindtap="" class="user-name flex-vertical fs24">
  139 + <checkbox/>
  140 + <view class="user-name-txt">我已阅读同意 <text class="red">《用户使用协议》</text>与<text class="red">《隐私政策》</text></view>
  141 + </view>
  142 +
  143 + </view>
  144 + </view>
  145 +
  146 +<!-- 保存按钮 -->
  147 +<view class="confirm">
  148 + <view class="fs30 confirmtext" bindtap="confirm_revision">保存</view>
  149 + <view class="star fs24 t-c pdt10 c9">保存成功即可获得一张20.00元优惠券</view>
  150 +</view>
  151 +
  152 +<!--弹出层内容,其中的“我知道”中绑定让弹出层消失的函数:bindtap="hide"-->
  153 +<view class="tc_view" hidden='{{tc_hide}}' bindtap='hide_tc'>
  154 + <view class="modal-box" hidden="{{flag}}" bindtap="hide"></view>
  155 + <view class="modal-body">
  156 + <view class="modal-content">
  157 + <view class="flex">
  158 + <image src="{{user.head_pic}}" class="hd_img"></image>
  159 + <view class="ctent_txt">
  160 + <view class='txt1'>{{user.nickname}}
  161 + <image wx:if="{{user.sex==2}}" class="arrow-right" src="{{iurl}}/miniapp/images/user/wum.png"></image>
  162 + <image wx:else class="arrow-right" src="{{iurl}}/miniapp/images/user/man.png"></image>
  163 + </view>
  164 + <view class='txt2' wx:if="{{user.address}}">{{user.address}}</view>
  165 + </view>
  166 + </view>
  167 + <view class="m_ta">
  168 + <canvas class="g_img" canvas-id="qrcode" />
  169 + </view>
  170 + <view class="s_sao">扫一扫上面的二维码图案,即可消费</view>
  171 + </view>
  172 + </view>
  173 +</view>
  174 +
  175 +<!-- 选择门店的弹框,1.1版最新的 -->
  176 +<block wx:if="{{store==1}}">
  177 + <view class="mongolia-layer" bindtap="onclickstore"></view>
  178 + <view class="popup-frame">
  179 + <block wx:if="{{sort_store==0}}">
  180 + <!-- 头部 标题 -->
  181 + <view class="popup-top flex-space-between">
  182 + <text class="fs32 nearby_store">{{choice_sort_store==0?'附近的门店':region_name}}</text>
  183 + <view>
  184 + <view>
  185 + <icon bindtap="onclickstore" class="modal-closes" color="black" size="22" type="cancel"></icon>
  186 + </view>
  187 + <view class="felx choose_more" bindtap="more_store">
  188 + <text class="fs26 red-co" wx:if="{{is_show_sto_cat}}">{{choice_sort_store==0?'更多门店':'返回'}}</text>
  189 + <view class="bg_rights"></view>
  190 + </view>
  191 + </view>
  192 + </view>
  193 + <!-- 门店列表,最外层的门店列表,一开始 -->
  194 + <view class="store-list">
  195 + <!--如果还没有点击更多门店的时候 -->
  196 + <block wx:if="{{choice_sort_store==0}}">
  197 + <!-- 需要for循环 -->
  198 + <block wx:if="{{is_show_sto_cat==1}}">
  199 + <view class="store_choose flex" wx:for="{{def_pickpu_list}}" bindtap="choose_for_store_fir" data-ind="{{index}}">
  200 + <view class="store flex-vertical">
  201 + <!-- 需要点击事件 -->
  202 + <block wx:if="{{index==fir_pick_index}}">
  203 + <view class="circle white xc-hook fs20 red-b">Г</view>
  204 + </block>
  205 + <block wx:else>
  206 + <view class="circle xc-hooks"></view>
  207 + </block>
  208 + <view class="address-frame xc-ash">
  209 + <view class="flex-vertical-between butttem5">
  210 + <view class="flex xc-ash">
  211 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  212 + </view>
  213 + <view>
  214 + <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}">
  215 + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+'km':filters.toFix(item.distance,0)+"m"}}</view>
  216 + </view>
  217 + </view>
  218 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  219 + </view>
  220 + </view>
  221 + </view>
  222 + </block>
  223 + <block wx:else>
  224 + <view class="store_choose flex" wx:for="{{only_pk}}" bindtap="choose_for_store_fir" data-ind="{{index}}">
  225 + <view class="store flex-vertical">
  226 + <!-- 需要点击事件 -->
  227 + <block wx:if="{{index==fir_pick_index}}">
  228 + <view class="circle white xc-hook fs20 red-b">Г</view>
  229 + </block>
  230 + <block wx:else>
  231 + <view class="circle xc-hooks"></view>
  232 + </block>
  233 +
  234 + <view class="address-frame xc-ash">
  235 + <view class="flex-vertical-between ">
  236 + <view class="flex xc-ash">
  237 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  238 + </view>
  239 + <view>
  240 + <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}">距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}}
  241 + </view>
  242 + </view>
  243 + </view>
  244 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  245 + </view>
  246 + </view>
  247 + </view>
  248 + </block>
  249 + </block>
  250 + <block wx:else>
  251 + <!-- 如果是点击选择门店分类后显示分类下的门店 -->
  252 + <view class="store_choose flex" wx:for="{{sec_sto.s_arr}}" data-ind="{{index}}" bindtap="choose_for_store">
  253 + <view class="store flex-vertical">
  254 + <!-- 需要点击事件 -->
  255 + <block wx:if="{{index==sec_pick_index}}">
  256 + <view class="circle white xc-hook fs20 red-b">Г</view>
  257 + </block>
  258 + <block wx:else>
  259 + <view class="circle xc-hooks"></view>
  260 + </block>
  261 +
  262 + <view class="address-frame xc-ash">
  263 + <view class="flex-vertical-between ">
  264 + <view class="flex xc-ash">
  265 + <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view>
  266 + </view>
  267 + <view>
  268 + <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}"> 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}}</view>
  269 + </view>
  270 + </view>
  271 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  272 + </view>
  273 + </view>
  274 + </view>
  275 + </block>
  276 +
  277 + </view>
  278 +
  279 + <!-- 门店列表底部 -->
  280 + <view class="store-bottom-frame">
  281 + <view class="store-bottom flex-center">
  282 + <view class="determine red-b fs30 white t-c" bindtap="sure_pick" data-openindstore="{{open_ind_store}}">确定</view>
  283 + <!-- <view class="default t-c fs28" bindtap="set_def_pick" data-openindstore="{{open_ind_store}}">设为默认</view> -->
  284 + </view>
  285 + </view>
  286 +
  287 + </block>
  288 +
  289 +
  290 + <block wx:else>
  291 + <view class="popup-top flex-space-between">
  292 + <text class="fs32 nearby_store">门店分类选择</text>
  293 + <view>
  294 + <view>
  295 + <icon bindtap="onclickstore" class="modal-closes" color="black" size="22" type="cancel"></icon>
  296 + </view>
  297 + </view>
  298 + </view>
  299 + <view class="sort_store_list">
  300 +
  301 + <view class="sort-store-frame" wx:for="{{all_sto}}" data-index="{{index}}" bindtap="choice_sort_store" data-region="{{item.name}}">
  302 + <view class="sort-store flex-vertical-between">
  303 + <view class="fs30" di>{{item.name}}</view>
  304 + <view class="black_rights-frame">
  305 + <view class="black_rights"></view>
  306 + </view>
  307 + </view>
  308 + </view>
  309 +
  310 + </view>
  311 + </block>
  312 + </view>
  313 +</block>
  314 +</view>
  315 +<warn id="warn"></warn>
0 316 \ No newline at end of file
... ...
packageA/pages/profile/profile.wxss 0 → 100644
  1 +.container {
  2 + padding-bottom: 132rpx;
  3 + transform: translate();
  4 +}
  5 +
  6 +.user-container {
  7 + font-size: 30rpx;
  8 +}
  9 +
  10 +input {
  11 + width: 450rpx;
  12 +}
  13 +
  14 +.head {
  15 + height: 220rpx;
  16 + border-bottom: 6rpx solid rgb(245, 245, 245);
  17 + border-top: 2rpx solid rgb(245, 245, 245);
  18 + background-size: 100%;
  19 +}
  20 +
  21 +.angle {
  22 + transform: rotate(225deg);
  23 + font-size: 24rpx;
  24 + margin-top: 2rpx;
  25 + color: rgb(153, 153, 153);
  26 +}
  27 +
  28 +.Headportrait {
  29 + width: 145rpx;
  30 + height: 145rpx;
  31 + border-radius: 50%;
  32 + margin-left: 40rpx;
  33 +}
  34 +
  35 +.vip {
  36 + margin-top: 30rpx;
  37 + color: rgb(255, 255, 255);
  38 +}
  39 +
  40 +.AncrownMax {
  41 + background-color: rgb(57, 57, 57);
  42 + height: 36rpx;
  43 + border-radius: 20rpx;
  44 + margin-right: 20rpx;
  45 + line-height: 36rpx;
  46 + padding-right: 14rpx;
  47 + padding-left: 10rpx;
  48 +}
  49 +
  50 +.Nickname {
  51 + max-width: 170rpx;
  52 +}
  53 +
  54 +.Ancrown {
  55 + width: 30rpx;
  56 + height: 30rpx;
  57 + margin-right: 5rpx;
  58 +}
  59 +
  60 +.plusMax {
  61 + background-color: rgb(212, 58, 30);
  62 + height: 36rpx;
  63 + border-radius: 20rpx;
  64 + line-height: 36rpx;
  65 + padding-left: 10rpx;
  66 + padding-right: 14rpx;
  67 +}
  68 +
  69 +.fuls {
  70 + width: 25rpx;
  71 + height: 25rpx;
  72 + margin-right: 5rpx;
  73 +}
  74 +
  75 +.Bbottom {
  76 + border-bottom: 6rpx solid rgb(245, 245, 245);
  77 +}
  78 +
  79 +.Mleft {
  80 + margin-left: 8rpx;
  81 +}
  82 +
  83 +.Birth {
  84 + width: 500rpx;
  85 +}
  86 +
  87 +.Gendercheck {
  88 + width: 90rpx;
  89 + height: 35rpx;
  90 + border: 2rpx solid rgb(212, 2, 31);
  91 + color: rgb(212, 2, 31);
  92 + border-radius: 20rpx;
  93 + /* margin-left: 15rpx; */
  94 +}
  95 +
  96 +.Gender {
  97 + width: 90rpx;
  98 + height: 35rpx;
  99 + border: 2rpx solid rgb(153, 153, 153);
  100 + color: rgb(153, 153, 153);
  101 + border-radius: 20rpx;
  102 + /* margin-left: 15rpx; */
  103 +}
  104 +
  105 +.GenderImage {
  106 + width: 25rpx;
  107 + height: 25rpx;
  108 + margin-right: 10rpx;
  109 +}
  110 +
  111 +.confirm {
  112 + width: 100%;
  113 + position: fixed;
  114 + left: 0rpx;
  115 + bottom: 0rpx;
  116 + padding: 20rpx 0;
  117 + /* height: 130rpx; */
  118 + background-color: rgb(255, 255, 255);
  119 + z-index: 9;
  120 + border-top: 1rpx solid #ddd;
  121 +}
  122 +
  123 +.confirmtext {
  124 + width: 495rpx;
  125 + line-height: 65rpx;
  126 + text-align: center;
  127 + color: rgb(255, 255, 255);
  128 + background-color: rgb(214, 1, 33);
  129 + border-radius: 35rpx;
  130 + margin: 0 auto;
  131 +}
  132 +
  133 +.cmleft {
  134 + margin-left: 45rpx;
  135 +}
  136 +
  137 +.hion {
  138 + width: 300rpx;
  139 + text-align: right;
  140 + margin-top: 3rpx;
  141 + margin-right: 5rpx;
  142 +}
  143 +
  144 +.eye {
  145 + width: 50rpx;
  146 + height: 50rpx;
  147 +}
  148 +
  149 +.user-head {
  150 + height: 95rpx;
  151 + background-color: white;
  152 + margin: 0rpx 20rpx;
  153 + border-bottom: 2rpx solid rgb(245, 245, 245);
  154 + padding: 0rpx 20rpx;
  155 + padding-top: 20rpx;
  156 +}
  157 +
  158 +.user_headimg {
  159 + height: 140rpx;
  160 + width: 140rpx;
  161 + border-radius: 70rpx;
  162 +}
  163 +
  164 +.user-name {
  165 + height: 95rpx;
  166 + margin-top: 2rpx;
  167 + background-color: white;
  168 + /* margin: 0rpx 20rpx; */
  169 + border-bottom: 2rpx solid rgb(245, 245, 245);
  170 + padding: 0rpx 20rpx;
  171 +}
  172 +
  173 +.user-name.mt {
  174 + margin-top: 20rpx;
  175 +}
  176 +
  177 +.address {
  178 + max-width: 300rpx;
  179 +}
  180 +
  181 +.Receiving_goods {
  182 + width: 330rpx;
  183 +}
  184 +
  185 +.user-change {
  186 + width: 100%;
  187 + height: 100rpx;
  188 + margin-top: 20rpx;
  189 + background-color: white;
  190 +}
  191 +
  192 +.one-line {
  193 + white-space: nowrap;
  194 + word-break: keep-all;
  195 + overflow: hidden;
  196 +}
  197 +
  198 +/*---弹出层---*/
  199 +
  200 +.modal-box {
  201 + position: fixed;
  202 + width: 100%;
  203 + height: 100%;
  204 + top: 0px;
  205 + background: rgba(0, 0, 0, 0.4);
  206 + overflow: hidden;
  207 +}
  208 +
  209 +.modal-body {
  210 + position: fixed;
  211 + top: 80rpx;
  212 + left: 0;
  213 + z-index: 100;
  214 + background: #fff;
  215 + margin-left: 73rpx;
  216 + width: 600rpx;
  217 + height: 860rpx;
  218 + border-radius: 8px;
  219 + text-align: center;
  220 +}
  221 +
  222 +.modal-content {
  223 + width: 480rpx;
  224 + margin: 0 auto;
  225 + margin-top: 60rpx;
  226 + overflow: hidden;
  227 +}
  228 +
  229 +.modal-content .hd_img {
  230 + width: 170rpx;
  231 + height: 170rpx;
  232 + border-radius: 5px;
  233 +}
  234 +
  235 +.ctent_txt {
  236 + margin-left: 30rpx;
  237 + text-align: left;
  238 +}
  239 +
  240 +.txt1 {
  241 + font-size: 34rpx;
  242 + font-weight: bold;
  243 +}
  244 +
  245 +.txt2 {
  246 + font-size: 30rpx;
  247 + color: #999;
  248 + margin-top: 20rpx;
  249 +}
  250 +
  251 +.arrow-right {
  252 + width: 35rpx;
  253 + height: 35rpx;
  254 + margin-left: 10rpx;
  255 + position: relative;
  256 + top: 5rpx;
  257 +}
  258 +
  259 +.code {
  260 + margin-bottom: 10rpx;
  261 +}
  262 +
  263 +.user-txt-right {
  264 + color: rgb(153, 153, 153);
  265 + font-size: 28rpx;
  266 +}
  267 +
  268 +.user-txt {
  269 + font-size: 32rpx;
  270 +}
  271 +
  272 +.m_ta {
  273 + margin-top: 50rpx;
  274 +}
  275 +
  276 +.g_img {
  277 + width: 480rpx;
  278 + height: 480rpx;
  279 +}
  280 +
  281 +.s_sao {
  282 + font-size: 27rpx;
  283 + margin-top: 25rpx;
  284 +}
  285 +
  286 +.order-ico1 {
  287 + width: 80rpx;
  288 + height: 46rpx;
  289 + margin-left: 40rpx;
  290 + margin-right: 20rpx;
  291 + color: rgba(0, 0, 0, 0.4);
  292 +}
  293 +
  294 +.f_btn {
  295 + font-size: 24rpx;
  296 + padding: 0 12rpx;
  297 + margin-right: 26rpx;
  298 + margin-top: -10rpx;
  299 +}
  300 +
  301 +.order-ico3 {
  302 + width: 54rpx;
  303 + height: 40rpx;
  304 + margin-left: 40rpx;
  305 + margin-right: 20rpx;
  306 +}
  307 +
  308 +.wh1001 {
  309 + width: 62rpx;
  310 + height: 100%;
  311 +}
  312 +
  313 +.wh1002 {
  314 + width: 76rpx;
  315 + height: 100%;
  316 +}
  317 +
  318 +.order-ico.cla {
  319 + width: 32rpx;
  320 +}
  321 +
  322 +.order-ico.cla2 {
  323 + width: 42rpx;
  324 + margin-left: 34rpx;
  325 +}
  326 +
  327 +.order-ico.cla3 {
  328 + width: 40rpx;
  329 + margin-left: 36rpx;
  330 +}
  331 +
  332 +/* 日期控件 */
  333 +
  334 +.pi {
  335 + width: 200rpx;
  336 + height: auto;
  337 + margin-left: 10rpx;
  338 +}
  339 +
  340 +.vipmax {
  341 + margin-left: 20rpx;
  342 +}
  343 +
  344 +/* 门店地址 */
  345 +
  346 +.xc-address_frame {
  347 + border-top: 1rpx solid #eee;
  348 + width: 100%;
  349 + height: auto;
  350 +}
  351 +
  352 +.on_height {
  353 + height: 90rpx;
  354 +}
  355 +
  356 +.sn_height {
  357 + height: 170rpx;
  358 +}
  359 +
  360 +.xc-address_frame .address_frame {
  361 + width: 92%;
  362 + padding-left: 10rpx;
  363 + margin: auto;
  364 +}
  365 +
  366 +.stores-img {
  367 + width: 40rpx;
  368 + height: 35rpx;
  369 + margin-right: 10rpx;
  370 +}
  371 +
  372 +.shop_name {
  373 + margin-right: 10rpx;
  374 +}
  375 +
  376 +.address {
  377 + width: 87%;
  378 + margin-top: 5rpx;
  379 + margin-bottom: 5rpx;
  380 +}
  381 +
  382 +.distance {
  383 + padding-left: 15rpx;
  384 + padding-right: 15rpx;
  385 + background: #eee;
  386 + border-radius: 20rpx;
  387 + margin-right: 5rpx;
  388 + color: #999;
  389 + height: 38rpx;
  390 + line-height: 38rpx;
  391 +}
  392 +
  393 +/* 选择门店的弹窗 */
  394 +
  395 +.mongolia-layer {
  396 + position: fixed;
  397 + left: 0;
  398 + top: 0;
  399 + right: 0;
  400 + bottom: 0;
  401 + z-index: 11;
  402 + background: rgba(0, 0, 0, 0.4);
  403 + width: 100%;
  404 + height: 91.9%;
  405 +}
  406 +
  407 +.popup-frame {
  408 + position: fixed;
  409 + bottom: -1rpx;
  410 + z-index: 20;
  411 + background: white;
  412 + width: 100%;
  413 + border-radius: 20rpx 20rpx 0 0;
  414 + height: 72%;
  415 +}
  416 +
  417 +.popup-top {
  418 + border-bottom: 1rpx solid #eee;
  419 + height: 155rpx;
  420 + width: 95%;
  421 + margin: auto;
  422 + line-height: 155rpx;
  423 +}
  424 +
  425 +.bg_rights {
  426 + border-top: 2rpx solid;
  427 + border-right: 2rpx solid;
  428 + transform: rotate(45deg);
  429 + display: inline-block;
  430 + width: 15rpx;
  431 + height: 15rpx;
  432 + border-color: #da0b31;
  433 +}
  434 +
  435 +.modal-closes {
  436 + position: absolute;
  437 + right: 30rpx;
  438 + top: 20rpx;
  439 + height: 50rpx;
  440 + line-height: 50rpx;
  441 +}
  442 +
  443 +.choose_more {
  444 + margin-top: 40rpx;
  445 + padding-right: 20rpx;
  446 +}
  447 +
  448 +.choose_mores {
  449 + margin-top: 30rpx;
  450 + margin-right: 15rpx;
  451 +}
  452 +
  453 +.store-list {
  454 + width: 95%;
  455 + height: 72%;
  456 + overflow-y: scroll;
  457 + margin: auto;
  458 +}
  459 +
  460 +.store-list .store_choose {
  461 + width: 100%;
  462 + height: 120rpx;
  463 + line-height: 125rpx;
  464 + border-bottom: 1rpx solid #eee;
  465 +}
  466 +
  467 +.store-list .store_choose .store {
  468 + width: 100%;
  469 + margin: auto;
  470 + line-height: 37rpx;
  471 + padding-left: 20rpx;
  472 +}
  473 +
  474 +.xc-hook {
  475 + width: 33rpx;
  476 + height: 33rpx;
  477 + transform: rotate(-145deg);
  478 + line-height: 37rpx;
  479 + text-align: center;
  480 +}
  481 +
  482 +.xc-hooks {
  483 + width: 30rpx;
  484 + height: 30rpx;
  485 + border: 1rpx solid #999;
  486 +}
  487 +
  488 +.address-frame {
  489 + width: 93%;
  490 + margin-left: 7rpx;
  491 +}
  492 +
  493 +.nearby_store {
  494 + margin-left: 17rpx;
  495 +}
  496 +
  497 +.address_name {
  498 + margin-right: 10rpx;
  499 +}
  500 +
  501 +.address-val {
  502 + height: 38rpx;
  503 + line-height: 38rpx;
  504 +}
  505 +
  506 +.store-bottom {
  507 + width: 85%;
  508 + margin: auto;
  509 + height: 70rpx;
  510 +}
  511 +
  512 +.determine {
  513 + width: 320rpx;
  514 + height: 55rpx;
  515 + border-radius: 50rpx;
  516 + line-height: 55rpx;
  517 +}
  518 +
  519 +.default {
  520 + width: 260rpx;
  521 + height: 55rpx;
  522 + border: 3rpx solid #c8c8c8;
  523 + border-radius: 50rpx;
  524 + line-height: 55rpx;
  525 +}
  526 +
  527 +.store-bottom-frame {
  528 + width: 95%;
  529 + margin: auto;
  530 +}
  531 +
  532 +/* 门店分类列表 */
  533 +
  534 +.sort_store_list {
  535 + height: 82%;
  536 + overflow: hidden;
  537 + overflow-y: scroll;
  538 + width: 95%;
  539 + margin: auto;
  540 +}
  541 +
  542 +.sort_store_list .sort-store-frame {
  543 + width: 100%;
  544 + height: 100rpx;
  545 + line-height: 100rpx;
  546 + border-bottom: 1rpx solid #eee;
  547 +}
  548 +
  549 +.sort_store_list .sort-store-frame .sort-store {
  550 + width: 94.5%;
  551 + margin: auto;
  552 +}
  553 +
  554 +.black_rights-frame {
  555 + width: 50%;;
  556 +}
  557 +
  558 +.black_rights-frame .black_rights {
  559 + border-top: 3rpx solid;
  560 + border-right: 3rpx solid;
  561 + transform: rotate(45deg);
  562 + display: inline-block;
  563 + width: 20rpx;
  564 + height: 20rpx;
  565 +}
  566 +
  567 +.xc-val-money {
  568 + height: 80rpx;
  569 +}
  570 +
  571 +.xc-distance-bottom {
  572 + margin-bottom: 40rpx;
  573 +}
  574 +
  575 +.xc-distance-top {
  576 + margin-top: 10rpx;
  577 +}
  578 +
  579 +.xc-width {
  580 + width: 100%;
  581 +}
  582 +
  583 +.right-arrow {
  584 + width: 15rpx;
  585 + height: 15rpx;
  586 + border-top: 2rpx solid #d70026;
  587 + border-right: 2rpx solid #d70026;
  588 + transform: rotate(45deg);
  589 + display: inline-block;
  590 + margin-bottom: 3rpx;
  591 +}
  592 +
  593 +.xc-goods-attribute {
  594 + border-bottom: 1px solid #eee;
  595 + padding-bottom: 15px;
  596 + margin-bottom: 40rpx;
  597 +}
  598 +
  599 +.xc-val-fream {
  600 + width: 105rpx;
  601 +}
  602 +
  603 +.is_stock {
  604 + width: 58%;
  605 + height: 70rpx;
  606 + border-radius: 55rpx;
  607 +}
  608 +
  609 +.select_store_height {
  610 + height: 50rpx;
  611 +}
  612 +
  613 +.butttem5 {
  614 + margin-bottom: 5rpx;
  615 +}
  616 +
  617 +.s_btn {
  618 + margin-top: 25rpx;
  619 +}
  620 +
  621 +.padding {
  622 + padding: 0rpx 20rpx;
  623 +}
  624 +
  625 +.interest {
  626 + padding: 0rpx 20rpx;
  627 + padding-top: 30rpx;
  628 + padding-bottom: 30rpx;
  629 +}
  630 +
  631 +.lables {
  632 + display: inline-block;
  633 + padding-top: 25rpx;
  634 +}
  635 +
  636 +.lable {
  637 + display: inline-block;
  638 + height: 44rpx;
  639 + line-height: 44rpx;
  640 + margin-right: 15rpx;
  641 + color: rgb(255, 255, 255);
  642 + border: 2rpx solid rgb(255, 138, 160);
  643 + background-color: rgb(255, 138, 160);
  644 + padding: 0rpx 25rpx;
  645 + border-radius: 30rpx;
  646 + margin-bottom: 21rpx;
  647 + max-width: 195rpx;
  648 +}
  649 +
  650 +.add_lable {
  651 + height: 44rpx;
  652 + line-height: 44rpx;
  653 + color: rgb(189, 189, 189);
  654 + border: 2rpx solid rgb(189, 189, 189);
  655 + border-radius: 30rpx;
  656 + padding: 0rpx 25rpx;
  657 +}
  658 +
  659 +.plus {
  660 + font-weight: bold;
  661 + margin-right: 8rpx;
  662 +}
  663 +
  664 +.lable_wh {
  665 + height: 46rpx;
  666 + line-height: 46rpx;
  667 +}
  668 +
  669 +.contact {
  670 + background-color: #FE6867;
  671 + color: white;
  672 + border-radius: 8rpx;
  673 + padding-left: 10rpx;
  674 + padding-right: 10rpx;
  675 + margin-right: 20rpx;
  676 +}
  677 +
  678 +.btn {
  679 + background-color: #C4182E;
  680 + color: white;
  681 + border-radius: 6rpx;
  682 +}
  683 +
  684 +.red {
  685 + color: #C4182E;
  686 +}
  687 +
  688 +
  689 +
  690 +/*checkbox 选项框大小 */
  691 +checkbox .wx-checkbox-input {
  692 + width: 34rpx;
  693 + height: 34rpx;
  694 + border-radius: 50%;
  695 +
  696 +}
  697 +/*checkbox选中后样式 */
  698 +checkbox .wx-checkbox-input.wx-checkbox-input-checked {
  699 + background-color: #C4182E;
  700 + border-color: #C4182E;
  701 + /* color: white; */
  702 +}
  703 +/*checkbox选中后图标样式 */
  704 +checkbox .wx-checkbox-input.wx-checkbox-input-checked::before {
  705 + width: 34rpx;
  706 + height: 34rpx;
  707 + line-height: 34rpx;
  708 + text-align: center;
  709 + font-size: 24rpx;
  710 + color: #fff;
  711 + background: transparent;
  712 + transform: translate(-50%, -50%) scale(1);
  713 + -webkit-transform: translate(-50%, -50%) scale(1);
  714 +}
  715 +
  716 +
  717 +.star:before {
  718 + content: '*';
  719 + color: #C4182E;
  720 +}
... ...