Commit 3cc449388cb9d361ad8ec689ed67f383968aeb9f

Authored by season
2 parents 3a591d36 e4d539f4

Merge branch 'qa' of http://git.vipzhuang.cn/wxd/MShopWeApp

Showing 64 changed files with 9683 additions and 6485 deletions
... ... @@ -1351,6 +1351,42 @@ App({
1351 1351 })
1352 1352 },
1353 1353  
  1354 + //--- 统一跳转到物流的优化 ---
  1355 + async check_go_fw(goods_id,func){
  1356 +
  1357 + var user_id=this.globalData.user_id?this.globalData.user_id:0;
  1358 + var flag=null;
  1359 + //判断拼团的---会员身份--
  1360 + await this.promiseGet("/api/weshop/teamlist/pageteam/2", {
  1361 + data: {
  1362 + store_id: os.stoid,
  1363 + is_end: 0,
  1364 + is_show: 1,
  1365 + user_id: user_id,
  1366 + pageSize: 1000,
  1367 + goods_id:goods_id
  1368 + }
  1369 + }).then(res => {
  1370 + let pd_list = res.data.data.pageData;
  1371 + if (res.data.code == 0 && pd_list.length > 0) {
  1372 + flag = pd_list.find(pd => {
  1373 + return pd.goods_type==1;
  1374 + })
  1375 + }
  1376 + })
  1377 +
  1378 + var url= "/packageA/pages/goodsInfo/goodsInfo?goods_id="+goods_id;
  1379 + if(flag){
  1380 + url='/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id='+goods_id+'&prom_type=6&prom_id='+flag.id;
  1381 + }
  1382 + if(func){
  1383 + func(flag,url)
  1384 + }else{
  1385 + this.goto(url);
  1386 + }
  1387 +
  1388 +
  1389 + },
1354 1390 //-- 如果是新会员没有地址的时候,自提的时候可以不用管 --
1355 1391 is_no_addr(th,exp_type){
1356 1392 exp_type=parseInt(exp_type+'');
... ... @@ -1360,7 +1396,7 @@ App({
1360 1396 }
1361 1397 return false;
1362 1398 },
1363   - //---- 判断是不是虚拟商品狗阿米 -----
  1399 + //---- 判断是不是虚拟商品 -----
1364 1400 is_virtual(gd){
1365 1401 if(gd.is_virtual==2) return true;
1366 1402 return false;
... ... @@ -1411,7 +1447,10 @@ App({
1411 1447 })
1412 1448 }
1413 1449 return cx_arr;
1414   - }
  1450 + },
  1451 +
  1452 +
1415 1453  
  1454 + });
1416 1455  
1417   -});
  1456 +
... ...
app.json
... ... @@ -116,10 +116,12 @@
116 116 "pages/cart2_ser/cart2_ser",
117 117 "pages/libao_payment/payment",
118 118 "pages/details_serviceCard/details_serviceCard",
119   - "pages/serviceCard_pd/goodsInfo/goodsInfo",
120   - "pages/serviceCard_pd/team_show/team_show",
121   - "pages/serviceCard_pd/cart/cart",
122   - "pages/serviceCard_pd/team_success/team_success"
  119 + "pages/serviceCard_pd/goodsInfo/goodsInfo",
  120 + "pages/serviceCard_pd/team_show/team_show",
  121 + "pages/serviceCard_pd/cart/cart",
  122 + "pages/serviceCard_pd/team_success/team_success",
  123 + "pages/serviceCard_pd/cart_wk/cart_wk",
  124 + "pages/serviceCard_pd/team_more/team_more"
123 125 ]
124 126 },
125 127 {
... ...
app.wxss
... ... @@ -1211,7 +1211,7 @@ background: #ffe3e2;
1211 1211 .no_line_x{
1212 1212 text-decoration: none !important;
1213 1213 font-size: 24rpx !important;
1214   - color: #acaaaa !important;
  1214 + /*color: #acaaaa !important;*/
1215 1215 }
1216 1216 .no_line_c{
1217 1217 text-decoration: none !important;
... ...
components/diy_pingd_buy/diy_pingd_buy.js
... ... @@ -49,12 +49,15 @@ Component({
49 49 clearInterval(this.data.timer);
50 50 }
51 51 },
52   -
53   -
  52 +
54 53 ready: function() {
55 54 console.log("ready");
56 55 var g_id = this.data.object.data;
  56 + var data_type = this.data.object.data_type;
57 57 console.log(g_id);
  58 + if(data_type!=2){
  59 + g_id=null;
  60 + }
58 61 this.init(g_id);
59 62 },
60 63 detached() {
... ... @@ -219,7 +222,7 @@ Component({
219 222 bind_bnerr3: function (e) {
220 223 var _errImg = e.target.dataset.errorimg;
221 224 var _Img = e.target.dataset.img;
222   - if (_Img != undefined) {
  225 + if (_errImg != undefined) {
223 226 var _errObj = {};
224 227 _errObj[_errImg] = "/public/images/default_goods_image_240.gif";
225 228 this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
... ...
components/store_popup/store_popup.js 0 → 100644
  1 +// components/store_popup.js
  2 +var e = getApp(),
  3 + a = e.globalData.setting,
  4 + os = a
  5 +Component({
  6 + /**
  7 + * 组件的属性列表
  8 + */
  9 + properties: {
  10 + store: {
  11 + type: Number,
  12 + value: 0
  13 + }
  14 + },
  15 + lifetimes: {
  16 + attached: function () {
  17 + // 在组件实例进入页面节点树时执行
  18 + this.init()
  19 + },
  20 + detached: function () {
  21 + // 在组件实例被从页面节点树移除时执行
  22 + },
  23 + },
  24 + /**
  25 + * 组件的初始数据
  26 + */
  27 + data: {
  28 + //门店相关
  29 + ismend: 0,
  30 + is_sec_mend: 0,
  31 + sto_sele_name: "", //选中的门店名称
  32 + sto_sele_id: "", //选中的门店id
  33 + sto_sele_distr: "", //选择的门店的配送方式
  34 + is_show_sto_cat: 1, //是否显示门店分类
  35 + only_pk: null,
  36 + all_sto: null,
  37 + sec_sto: null, //选择了的门店分类
  38 + pickpu_list: null, //读出的所有门店list
  39 + def_pickpu_list: null, //一开始5个门店list
  40 + sec_pick_index: 0, //第二级门店选择ID
  41 + fir_pick_index: 0, //第一级门店选择ID
  42 + all_pick_list: null,//所有的门店先记录起来
  43 +
  44 + select_store: 0, //选择更多
  45 + index: 1,
  46 + more_store: 0, //选择门店
  47 + sort_store: 0, //门店分类
  48 + choice_sort_store: 0, //选择分类门店
  49 + new_user: 0, //新用户
  50 +
  51 + def_pick_store: null, // 默认的门店
  52 + fir_def_store: null, //客户默认的门店的
  53 + lat: null, //维度
  54 + lon: null, //经度
  55 +
  56 + is_get_local_ok: 0, //获取坐标是否完成
  57 + region_name: "门店分类", //区域的名字
  58 + is_gps: 1,
  59 + open_ind_store: 0, //哪里打开的门店列表的控制属性
  60 + default_store: {}, //创建添加默认门店地址的对象
  61 +
  62 +
  63 + openSpecModal: 0,
  64 +
  65 + is_get_guide: 0,
  66 + keyword: '', //门店搜索
  67 + sec_i: -1,//选中分类门店 下标
  68 + old_all_sto:null, //分类门店数据
  69 + },
  70 +
  71 + /**
  72 + * 组件的方法列表
  73 + */
  74 + methods: {
  75 + init() {
  76 + getApp().getConfig2((e) => {
  77 + this.setData({
  78 + bconfig: e,
  79 + });
  80 + })
  81 + this.wait_for_store_config()
  82 + this.set_user_mo_store(() => {
  83 + this.get_sto()
  84 + })
  85 + },
  86 + //开启定位
  87 + wait_for_store_config: function () {
  88 + let th = this
  89 + var t_time = setInterval(function () {
  90 + if (th.data.bconfig == null) false;
  91 + var e = th.data.bconfig;
  92 + if (e && e.is_sort_storage) {
  93 + wx.getLocation({
  94 + type: 'gcj02',
  95 + success: function (res) {
  96 + th.data.lat = res.latitude;
  97 + th.data.lon = res.longitude;
  98 + th.data.is_get_local_ok = 1;
  99 + },
  100 + fail: function (res) {
  101 + if (res.errCode == 2) {
  102 + th.setData({
  103 + is_gps: 0
  104 + });
  105 + if (th.data.is_gps == 0) {
  106 + getApp().confirmBox("请开启GPS定位", null, 10000, !1);
  107 + }
  108 +
  109 + } else {
  110 + th.setData({
  111 + is_gps: "3"
  112 + });
  113 + }
  114 +
  115 + th.data.is_get_local_ok = 1;
  116 + }
  117 + })
  118 + } else {
  119 + th.data.is_get_local_ok = 1;
  120 + }
  121 + clearInterval(t_time);
  122 + }, 500)
  123 + },
  124 + set_user_mo_store(func) {
  125 + let th = this;
  126 + let that = th;
  127 +
  128 + //获取用户的默认门店
  129 + getApp().get_user_store(function (e) {
  130 + if (!e) {
  131 + th.data.fir_def_store = {}; //赋值空对象
  132 + return false;
  133 + }
  134 +
  135 + if (getApp().globalData.is_dj_pk) th.setData({ has_def: 1 })
  136 +
  137 + var ee = JSON.parse(JSON.stringify(e));
  138 + //--定时器推迟一下--
  139 + setTimeout(function () {
  140 + if (th.data.fir_goods) var g_distr_type = th.data.fir_goods.distr_type;
  141 + //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对--
  142 + if (ee.distr_type != 0 && g_distr_type != 0 && ee.distr_type != g_distr_type) {
  143 + ee.is_no_dis = 1;
  144 + }
  145 +
  146 + var appd = getApp().globalData;
  147 + var w_time = setInterval(function () {
  148 + if (that.data.is_get_local_ok == 0) return false;
  149 + clearInterval(w_time);
  150 + var distance = null;
  151 + var e = JSON.parse(JSON.stringify(ee));
  152 +
  153 + //如果有开启近距离的话,同时距离优不一样了
  154 + if (that.data.lat != null) {
  155 + //如果经纬度有变化的话
  156 + if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) {
  157 + that.set_def_storage(e);
  158 + if (func) func();
  159 + } else {
  160 + //要用接口是获取距离,js的计算不准
  161 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  162 + data: {
  163 + store_id: os.stoid,
  164 + pickup_id: e.pickup_id,
  165 + lat: th.data.lat,
  166 + lon: th.data.lon,
  167 + isstop: 0,
  168 + is_pos: 1
  169 + },
  170 + }).then(res => {
  171 + if (res.data.code == 0) {
  172 + e = res.data.data.pageData[0];
  173 + if (e) {
  174 + e.is_no_dis = ee.is_no_dis;
  175 + appd.pk_store = e;
  176 + that.set_def_storage(e);
  177 + }
  178 +
  179 + }
  180 + if (func) func();
  181 + })
  182 + }
  183 + //e.distance = distance;
  184 + appd.lat = that.data.lat;
  185 + appd.lon = that.data.lon;
  186 +
  187 + } else {
  188 + if (e) {
  189 + e.distance = null;
  190 + that.set_def_storage(e);
  191 + }
  192 + if (func) func();
  193 + }
  194 + }, 500)
  195 + }, 700)
  196 + })
  197 +
  198 + },
  199 + //--- 设置一下默认库存的数量 ----
  200 + set_def_storage(ee) {
  201 + var that = this, th = this;
  202 + that.data.fir_def_store = ee;
  203 + that.setData({
  204 + def_pick_store: ee,
  205 + sto_sele_name: ee.pickup_name,
  206 + sto_sele_id: ee.pickup_id,
  207 + sto_sele_distr: ee.distr_type
  208 + })
  209 + },
  210 + //---------拿出门店分类和门店------------
  211 + get_sto() {
  212 + let th = this
  213 + var that = th;
  214 + var self = this;
  215 + var timer_get = setInterval(function () {
  216 + if (th.data.is_get_local_ok == 0) return false;
  217 + var dd = null;
  218 +
  219 + dd = {
  220 + store_id: os.stoid,
  221 + isstop: 0,
  222 + is_pos: 1,
  223 + pageSize: 2000,
  224 + }
  225 +
  226 + //如果有距离的话
  227 + if (th.data.lat != null) {
  228 + dd.lat = th.data.lat;
  229 + dd.lon = th.data.lon;
  230 + }
  231 +
  232 + if (th.data.sele_g && th.data.sele_g.pickup_list) {
  233 + dd.ids = th.data.sele_g.pickup_list
  234 + }
  235 +
  236 + clearInterval(timer_get);
  237 +
  238 + //如果会员是有默认的门店话
  239 + if (!th.data.def_pick_store && th.data.fir_def_store) {
  240 + th.setData({ def_pick_store: th.data.fir_def_store });
  241 + }
  242 + wx.showLoading({
  243 + title: '加载中.'
  244 + });
  245 + //----------获取门店----------------
  246 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  247 + data: dd,
  248 + }).then(res => {
  249 + var e = res;
  250 + wx.hideLoading()
  251 + if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {
  252 +
  253 + var his_cate_num = 0;
  254 + for (let i in e.data.data.pageData) {
  255 + let item = e.data.data.pageData[i];
  256 + if (item.category_id > 0) {
  257 + his_cate_num = 1;
  258 + break;
  259 + }
  260 + }
  261 + e.his_cate_num = his_cate_num;
  262 +
  263 + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店
  264 + if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) {
  265 + th.setData({
  266 + def_pick_store: e.data.data.pageData[0],
  267 + sto_sele_name: e.data.data.pageData[0].pickup_name,
  268 + sto_sele_id: e.data.data.pageData[0].pickup_id,
  269 + sto_sele_distr: e.data.data.pageData[0].distr_type
  270 + });
  271 + th.data.fir_def_store = e.data.data.pageData[0];
  272 + }
  273 +
  274 + //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 --
  275 + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') {
  276 + for (var k = 0; k < e.data.data.pageData.length; k++) {
  277 + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
  278 + e.data.data.pageData.splice(k, 1); //删除
  279 + break;
  280 + }
  281 + }
  282 + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
  283 + }
  284 +
  285 + th.setData({ all_pick_list: e.data.data.pageData });
  286 +
  287 + setTimeout(function () {
  288 +
  289 + self.deal_pickup(e, th, os); //--普通门店排版--
  290 + }, 800)
  291 +
  292 + }
  293 + })
  294 + }, 200)
  295 +
  296 + },
  297 + //---点击二级之后的选择---
  298 + choose_for_store: function (e) {
  299 + var index_c = e.currentTarget.dataset.ind;
  300 + var th = this;
  301 + th.setData({
  302 + sec_pick_index: index_c,
  303 + fir_pick_index: index_c
  304 + })
  305 +
  306 + },
  307 + choose_for_store_fir: function (e) {
  308 + console.log(e);
  309 + var index_c = e.currentTarget.dataset.ind;
  310 + var th = this;
  311 + th.setData({
  312 + fir_pick_index: index_c
  313 + })
  314 +
  315 + },
  316 + close_popup() {
  317 + this.setData({
  318 + store: 0,
  319 + keyword:''
  320 + })
  321 + },
  322 + //选择更多门店
  323 + more_store: function () {
  324 + this.setData({
  325 + sort_store: 1
  326 + });
  327 + },
  328 + // 返回按钮
  329 + returns: function () {
  330 + this.setData({
  331 + sort_store: 0,
  332 + choice_sort_store: 0
  333 + });
  334 + },
  335 + //---选择分类门店---
  336 + choice_sort_store: function (e) {
  337 + var index = e.currentTarget.dataset.index;
  338 + var region_name = e.currentTarget.dataset.region;
  339 + var item = this.data.all_sto[index];
  340 + this.setData({
  341 + region_name: region_name,
  342 + sort_store: 0,
  343 + choice_sort_store: 1,
  344 + sec_i: index,
  345 + sec_sto: item,
  346 + sec_pick_index: 0
  347 + });
  348 + },
  349 + //------------处理门店---------------
  350 + deal_pickup(e, th, os) {
  351 + // if (!th.data.sele_g) return false
  352 + wx.hideLoading();
  353 + //单总量超出10个的时候,同时门店有分类
  354 + if (e.data.data.total > 10 && e.his_cate_num) {
  355 + getApp().request.get("/api/weshop/storagecategory/page", {
  356 + data: {
  357 + store_id: os.stoid,
  358 + pageSize: 1000,
  359 + orderField: "sort",
  360 + orderType: 'asc',
  361 + },
  362 + success: function (ee) {
  363 + if (ee.data.code == 0) {
  364 + var check_all_cate = 0;
  365 + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
  366 + for (let i in ee.data.data.pageData) {
  367 + let item = ee.data.data.pageData[i];
  368 + if (item.is_show == 1) {
  369 + check_all_cate = 1;
  370 + break
  371 + }
  372 + }
  373 + }
  374 + if (check_all_cate) {
  375 + var sto_cate = ee.data.data.pageData;
  376 + var sto_arr = e.data.data.pageData;
  377 + var newarr = new Array();
  378 + var qita = new Array();
  379 +
  380 +
  381 + var is_del_pk = 0;
  382 + //----要进行门店分组--------
  383 + for (var i = 0; i < sto_arr.length; i++) {
  384 + //找一下这个门店有没有在分类数组内
  385 + var find2 = 0, find2name = "", sort = 0;
  386 + is_del_pk = 0;
  387 + for (var m = 0; m < sto_cate.length; m++) {
  388 + if (sto_arr[i].category_id == sto_cate[m].cat_id) {
  389 + if (sto_cate[m].is_show != 1) {
  390 + is_del_pk = 1;
  391 + sto_arr.splice(i, 1);
  392 + i--;
  393 + } else {
  394 + find2 = sto_cate[m].cat_id;
  395 + find2name = sto_cate[m].cat_name;
  396 + sort = sto_cate[m].sort;
  397 + is_del_pk = 0;
  398 + }
  399 + break;
  400 + }
  401 + }
  402 + if (is_del_pk) continue;
  403 +
  404 + if (newarr.length > 0) {
  405 + var find = 0;
  406 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  407 + if (find2 != 0) {
  408 + for (var ii = 0; ii < newarr.length; ii++) {
  409 + if (sto_arr[i].category_id == newarr[ii].cat_id) {
  410 + newarr[ii].s_arr.push(sto_arr[i]);
  411 + find = 1;
  412 + break;
  413 + }
  414 + }
  415 + if (find == 0) {
  416 + var arr0 = new Array();
  417 + arr0.push(sto_arr[i]);
  418 + var item = {
  419 + cat_id: find2,
  420 + name: find2name,
  421 + sort: sort,
  422 + s_arr: arr0
  423 + };
  424 + newarr.push(item);
  425 + }
  426 + } else {
  427 + qita.push(sto_arr[i]);
  428 + }
  429 + } else {
  430 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  431 + if (find2 != 0) {
  432 + var arr0 = new Array();
  433 + arr0.push(sto_arr[i]);
  434 + var item = {
  435 + cat_id: find2,
  436 + name: find2name,
  437 + sort: sort,
  438 + s_arr: arr0
  439 + };
  440 + newarr.push(item);
  441 + } else {
  442 + qita.push(sto_arr[i]);
  443 + }
  444 + }
  445 + }
  446 +
  447 + var def_arr = new Array();
  448 + //-- 开始就看10个门店 --
  449 + for (var k = 0; k < 10; k++) {
  450 + if (k == sto_arr.length) break;
  451 + def_arr.push(sto_arr[k]);
  452 + }
  453 +
  454 + th.setData({
  455 + def_pickpu_list: def_arr,
  456 + pickpu_list: ee.data.data.pageData
  457 + });
  458 +
  459 +
  460 + //门店分类要排序下
  461 + function compare(property) {
  462 + return function (a, b) {
  463 + var value1 = a[property];
  464 + var value2 = b[property];
  465 + return value1 - value2;
  466 + }
  467 + }
  468 +
  469 + if (newarr.length > 0)
  470 + newarr.sort(compare("sort"));
  471 +
  472 +
  473 + //----安排其他的分类-----
  474 + if (qita.length > 0) {
  475 + var item = {
  476 + cat_id: -1,
  477 + name: "其他",
  478 + s_arr: qita
  479 + };
  480 + newarr.push(item);
  481 + }
  482 +
  483 + var sd = {
  484 + all_sto: newarr,
  485 + is_show_sto_cat: 1
  486 + }
  487 + if (!sto_arr || sto_arr.length <= 10) {
  488 + sd.is_show_sto_cat = -1;
  489 + sd.only_pk = sto_arr;
  490 + }
  491 + th.setData(sd);
  492 +
  493 + } else {
  494 + th.setData({
  495 + is_show_sto_cat: -1,
  496 + only_pk: e.data.data.pageData
  497 + });
  498 + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
  499 + if (!th.data.def_pick_store) {
  500 + th.setData({
  501 + def_pick_store: e.data.data.pageData[0],
  502 + sto_sele_name: e.data.data.pageData[0].pickup_name,
  503 + sto_sele_id: e.data.data.pageData[0].pickup_id,
  504 + sto_sele_distr: e.data.data.pageData[0].distr_type
  505 + })
  506 + }
  507 + }
  508 + } else {
  509 + th.setData({
  510 + is_show_sto_cat: -1,
  511 + only_pk: e.data.data.pageData
  512 + });
  513 + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
  514 + if (!th.data.def_pick_store) {
  515 + th.setData({
  516 + def_pick_store: e.data.data.pageData[0],
  517 + sto_sele_name: e.data.data.pageData[0].pickup_name,
  518 + sto_sele_id: e.data.data.pageData[0].pickup_id,
  519 + sto_sele_distr: e.data.data.pageData[0].distr_type
  520 + })
  521 + }
  522 +
  523 + }
  524 + }
  525 + });
  526 + } else {
  527 + th.setData({
  528 + is_show_sto_cat: 0,
  529 + only_pk: e.data.data.pageData
  530 + });
  531 + //-----如果没有默认门店,要取第一个门店作为默认店------
  532 + if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) {
  533 + th.setData({
  534 + def_pick_store: e.data.data.pageData[0],
  535 + sto_sele_name: e.data.data.pageData[0].pickup_name,
  536 + sto_sele_id: e.data.data.pageData[0].pickup_id,
  537 + sto_sele_distr: e.data.data.pageData[0].distr_type
  538 + })
  539 + }
  540 + }
  541 + },
  542 +
  543 + check_def_pk: function () {
  544 + let th = this
  545 + th.data.def_pick_store.is_no_dis = 0;
  546 + var def_pick_store = th.data.def_pick_store
  547 + var sele_g = th.data.sele_g;
  548 + var arr = sele_g.pickup_list.split(',');
  549 +
  550 + var idx = arr.findIndex(function (e) {
  551 + return e == def_pick_store.pickup_id;
  552 + })
  553 +
  554 + if (idx == -1) {
  555 + def_pick_store.is_no_dis = 1;
  556 + }
  557 + th.setData({ def_pick_store })
  558 +
  559 + },
  560 + //获取搜索门店输入的值
  561 + input_store: function (e) {
  562 + this.setData({
  563 + keyword: e.detail.value
  564 + })
  565 + },
  566 + //搜索门店
  567 + searchfn() {
  568 + let choice_sort_store = this.data.choice_sort_store
  569 + if (choice_sort_store == 0) { //全局搜索
  570 + let all_pick_list = this.data.all_pick_list
  571 + let def_pickpu_list = this.data.def_pickpu_list
  572 + let keyword = this.data.keyword
  573 + if (keyword) {
  574 + let arr = all_pick_list.filter(item => {
  575 + let i = item.pickup_name.indexOf(keyword)
  576 + if (i > -1) {
  577 + return true
  578 + } else {
  579 + return false
  580 + }
  581 + })
  582 + if (arr && arr.length > 0) {
  583 + if (this.data.is_show_sto_cat == 1) {
  584 + this.setData({
  585 + def_pickpu_list: arr
  586 + })
  587 + } else {
  588 + this.setData({
  589 + only_pk: arr
  590 + })
  591 + }
  592 + } else {
  593 + wx.showToast({
  594 + title: '没有搜索到门店',
  595 + icon: 'none',
  596 + duration: 2000
  597 + })
  598 + }
  599 + } else {
  600 + if (this.data.is_show_sto_cat == 1) {
  601 + this.setData({
  602 + def_pickpu_list: all_pick_list.slice(0, 10)
  603 + })
  604 + } else {
  605 + this.setData({
  606 + only_pk: all_pick_list
  607 + })
  608 + }
  609 +
  610 + }
  611 + } else { //分类下搜索
  612 + let sec_i = this.data.sec_i
  613 + let all_sto = this.data.all_sto
  614 + let old_all_sto = this.data.old_all_sto
  615 + if (!old_all_sto) {
  616 + this.setData({
  617 + old_all_sto:JSON.parse(JSON.stringify(all_sto))
  618 + })
  619 + }
  620 + let sec_sto = this.data.sec_sto
  621 + let sec_arr = this.data.old_all_sto[sec_i].s_arr
  622 + let keyword = this.data.keyword
  623 + let text = 'sec_sto.s_arr'
  624 + if (keyword) {
  625 + let arr = sec_arr.filter(item => {
  626 + let i = item.pickup_name.indexOf(keyword)
  627 + if (i > -1) {
  628 + return true
  629 + } else {
  630 + return false
  631 + }
  632 + })
  633 + if (arr && arr.length > 0) {
  634 + this.setData({
  635 + [text]: arr
  636 + })
  637 + } else {
  638 + wx.showToast({
  639 + title: '没有搜索到门店',
  640 + icon: 'none',
  641 + duration: 2000
  642 + })
  643 + }
  644 + } else {
  645 + if (this.data.old_all_sto) {
  646 + this.setData({
  647 + [text]: this.data.old_all_sto[sec_i].s_arr
  648 + })
  649 + }else{
  650 + this.setData({
  651 + [text]: all_sto[sec_i].s_arr
  652 + })
  653 + }
  654 + }
  655 +
  656 +
  657 + }
  658 + },
  659 + //确定def_pick为选择的门店
  660 + sure_pick: function (e) {
  661 +
  662 + var th = this;
  663 + var item = null;
  664 + var openindstore = th.data.open_ind_store;
  665 + if (th.data.choice_sort_store == 0) {
  666 + var index = th.data.fir_pick_index;
  667 + if (th.data.is_show_sto_cat == 1) {
  668 + item = th.data.def_pickpu_list[index];
  669 + } else {
  670 + item = th.data.only_pk ? th.data.only_pk[index] : null; //当没有门店分类的时候
  671 + }
  672 + } else {
  673 + var index = th.data.sec_pick_index;
  674 + item = th.data.sec_sto.s_arr[index];
  675 + }
  676 +
  677 + if (!item) return false;
  678 +
  679 + // if (!th.data.sele_g) return false;
  680 +
  681 +
  682 +
  683 + this.triggerEvent('callback', item)
  684 +
  685 + th.setData({
  686 + def_pick_store: item,
  687 + sto_sele_name: item.pickup_name,
  688 + sto_sele_id: item.pickup_id,
  689 + sto_sele_distr: item.distr_type,
  690 + store: 0,
  691 + choice_sort_store: 0,
  692 + fir_pick_index: 0,
  693 + openSpecModal: !0,
  694 + });
  695 +
  696 +
  697 + },
  698 + }
  699 +})
... ...
components/store_popup/store_popup.json 0 → 100644
  1 +{
  2 + "component": true,
  3 + "usingComponents": {}
  4 +}
0 5 \ No newline at end of file
... ...
components/store_popup/store_popup.wxml 0 → 100644
  1 +<!--components/store_popup.wxml-->
  2 +<wxs module="filter" src="/utils/filter.wxs"></wxs>
  3 +<block wx:if="{{store}}">
  4 + <view class="mongolia-layer" bindtap="close_popup"></view>
  5 + <view class="popup-frame">
  6 + <block wx:if="{{sort_store==0}}">
  7 + <!-- 头部 标题 -->
  8 + <view class="popup-top flex-space-between">
  9 + <text class="fs32 nearby_store">{{choice_sort_store==0?'附近的门店':region_name}}</text>
  10 + <view>
  11 + <view>
  12 + <icon bindtap="close_popup" class="modal-closes" color="black" size="22" type="cancel"></icon>
  13 + </view>
  14 + <view class="felx choose_more" bindtap="more_store" wx:if="{{is_show_sto_cat>0}}">
  15 + <text class="fs26 red-co" >{{choice_sort_store==0?'更多门店':'返回'}}</text> <view class="bg_rights" ></view>
  16 + </view>
  17 + </view>
  18 + </view>
  19 + <view class="searchbar flex-vertical-between storeListpadd">
  20 + <input class="inputstore fs28" placeholder="输入要搜索的门店" value="{{keyword}}" placeholder-class="fs28" maxlength="16" bindinput="input_store" bindconfirm="searchfn" />
  21 + <view class="search flex-center" bindtap="searchfn">
  22 + <view class="fs28">搜索</view>
  23 + </view>
  24 + </view>
  25 + <!-- 门店列表,最外层的门店列表,一开始 -->
  26 + <view class="store-list">
  27 + <!-- 如果还没有点击更多门店的时候 -->
  28 + <block wx:if="{{choice_sort_store==0}}">
  29 + <!-- 需要for循环 -->
  30 + <block wx:if="{{is_show_sto_cat==1}}">
  31 + <view class="store_choose flex" wx:for="{{def_pickpu_list}}" bindtap="choose_for_store_fir" data-ind="{{index}}">
  32 + <view class="store flex-vertical">
  33 + <!-- 需要点击事件 -->
  34 + <block wx:if="{{index==fir_pick_index}}">
  35 + <view class="circle white xc-hook fs20 red-b">Г</view>
  36 + </block>
  37 + <block wx:else>
  38 + <view class="circle xc-hooks"></view>
  39 + </block>
  40 + <view class="address-frame xc-ash">
  41 + <view class="flex-vertical-between butttem5">
  42 + <view class="flex xc-ash">
  43 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  44 + </view>
  45 + <view>
  46 + <view class="distance fs24 address-val" wx:if="{{item.distance}}">
  47 + 距离:{{ item.distance>1000 ? filter.toFix(item.distance/1000,2)+'km' : filter.toFix(item.distance,0)+"m"}}
  48 + </view>
  49 + </view>
  50 + </view>
  51 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  52 + </view>
  53 + </view>
  54 + </view>
  55 + </block>
  56 + <block wx:else>
  57 + <view class="store_choose flex" wx:for="{{only_pk}}" bindtap="choose_for_store_fir" data-ind="{{index}}">
  58 + <view class="store flex-vertical">
  59 + <!-- 需要点击事件 -->
  60 + <block wx:if="{{index==fir_pick_index}}">
  61 + <view class="circle white xc-hook fs20 red-b">Г</view>
  62 + </block>
  63 + <block wx:else>
  64 + <view class="circle xc-hooks"></view>
  65 + </block>
  66 + <view class="address-frame xc-ash">
  67 + <view class="flex-vertical-between ">
  68 + <view class="flex xc-ash">
  69 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  70 + </view>
  71 + <view>
  72 + <view class="distance fs24 address-val" wx:if="{{item.distance}}">
  73 + 距离:{{ item.distance>1000 ? filter.toFix(item.distance/1000,2)+"km" : filter.toFix(item.distance,0)+"m"}}
  74 + </view>
  75 + </view>
  76 + </view>
  77 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  78 + </view>
  79 + </view>
  80 + </view>
  81 + </block>
  82 + </block>
  83 + <block wx:else>
  84 + <!-- 如果是点击选择门店分类后显示分类下的门店 -->
  85 + <view class="store_choose flex" wx:for="{{sec_sto.s_arr}}" data-ind="{{index}}" bindtap="choose_for_store">
  86 + <view class="store flex-vertical">
  87 + <!-- 需要点击事件 -->
  88 + <block wx:if="{{index==sec_pick_index}}">
  89 + <view class="circle white xc-hook fs20 red-b">Г</view>
  90 + </block>
  91 + <block wx:else>
  92 + <view class="circle xc-hooks"></view>
  93 + </block>
  94 + <view class="address-frame xc-ash">
  95 + <view class="flex-vertical-between ">
  96 + <view class="flex xc-ash">
  97 + <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view>
  98 + </view>
  99 + <view>
  100 + <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}">
  101 + 距离:{{item.distance>1000?filter.toFix(item.distance/1000,2)+"km":filter.toFix(item.distance,0)+"m"}}
  102 + </view>
  103 + </view>
  104 + </view>
  105 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  106 + </view>
  107 + </view>
  108 + </view>
  109 + </block>
  110 + </view>
  111 + <!-- 门店列表底部 -->
  112 + <view class="store-bottom-frame">
  113 + <view class="store-bottom flex-center">
  114 + <view class="determine red-b fs28 white t-c" bindtap="sure_pick" data-openindstore="{{open_ind_store}}">
  115 + 确定
  116 + </view>
  117 + <!-- <view class="default t-c fs28" bindtap="set_def_pick" data-openindstore="{{open_ind_store}}">
  118 + 设为默认
  119 + </view> -->
  120 + </view>
  121 + </view>
  122 + </block>
  123 + <block wx:else>
  124 + <view class="popup-top flex-space-between">
  125 + <text class="fs32 nearby_store">门店分类选择</text>
  126 + <view>
  127 + <view>
  128 + <icon bindtap="close_popup" class="modal-closes" color="black" size="22" type="cancel"></icon>
  129 + </view>
  130 + <view class="felx choose_mores" bindtap="returns">
  131 + <text class="fs26 red-co">返回</text>
  132 + </view>
  133 + </view>
  134 + </view>
  135 + <view class="sort_store_list">
  136 + <view class="sort-store-frame" wx:for="{{all_sto}}" data-index="{{index}}" bindtap="choice_sort_store" data-region="{{item.name}}">
  137 + <view class="sort-store flex-vertical-between">
  138 + <view class="fs30" di>{{item.name}}</view>
  139 + <view class="black_rights-frame">
  140 + <view class="black_rights"></view>
  141 + </view>
  142 + </view>
  143 + </view>
  144 + </view>
  145 + </block>
  146 + </view>
  147 +</block>
... ...
components/store_popup/store_popup.wxss 0 → 100644
  1 +/* 中间等距两边贴边 */
  2 +.flex-space-between{
  3 + display: flex;
  4 + justify-content:space-between;
  5 +}
  6 +.flex{display: flex}
  7 +/* 垂直居中 */
  8 +.flex-vertical{
  9 + display:flex;
  10 + align-items:center;
  11 + }
  12 + /* 圆 */
  13 +.circle{
  14 + border-radius: 50%;
  15 + -moz-border-radius: 50%;
  16 + -webkit-border-radius: 50%;
  17 +}
  18 +/* 7.26 */
  19 +.white{
  20 + color: #fff;
  21 +}
  22 +.red-b{
  23 + background: #d60021;
  24 +}
  25 +.fs20{
  26 + font-size: 20rpx;
  27 +}
  28 +.xc-ash{
  29 + color: #b9b9b9;
  30 + }
  31 +/* 水平垂直 */
  32 +.flex-center{
  33 + display:flex;
  34 + justify-content:center;
  35 + align-items:center;
  36 + }
  37 +/* 垂直居中 中间等距两边贴边 7.13*/
  38 +.flex-vertical-between{
  39 + display:flex;
  40 + align-items:center;
  41 + justify-content:space-between;
  42 + }
  43 + .xc-ash{
  44 + color: #b9b9b9;
  45 + }
  46 + .fs30{
  47 + font-size:30rpx;
  48 +}
  49 +.xc-black3{
  50 + color: #333;
  51 +}
  52 + .fs28{
  53 + font-size: 28rpx;
  54 +}
  55 + .fs32{
  56 + font-size:32rpx;
  57 +}
  58 +.fs26{
  59 + font-size: 26rpx;
  60 +}
  61 +.red-co{
  62 + color: #d60021;
  63 +
  64 +}
  65 +/* 门店分类列表 */
  66 +.sort_store_list {
  67 + max-height: 700rpx;
  68 + overflow: hidden;
  69 + overflow-y: scroll;
  70 + width: 95%;
  71 + margin: auto;
  72 +}
  73 +
  74 +.sort_store_list .sort-store-frame {
  75 + width: 100%;
  76 + height: 100rpx;
  77 + line-height: 100rpx;
  78 + border-bottom: 1rpx solid #eee;
  79 +
  80 +}
  81 +
  82 +.sort_store_list .sort-store-frame .sort-store {
  83 + width: 94.5%;
  84 + margin: auto;
  85 +}
  86 +.black_rights-frame {
  87 + width: 50%;
  88 +}
  89 +.black_rights-frame .black_rights {
  90 + border-top: 3rpx solid;
  91 + border-right: 3rpx solid;
  92 + transform: rotate(45deg);
  93 + display: inline-block;
  94 + width: 20rpx;
  95 + height: 20rpx;
  96 +}
  97 +/* 选择门店的弹窗 */
  98 +.mongolia-layer {
  99 + position: fixed;
  100 + left: 0;
  101 + top: 0;
  102 + right: 0;
  103 + bottom: 0;
  104 + z-index: 11;
  105 + background: rgba(0, 0, 0, 0.4);
  106 + width: 100%;
  107 + height: 91.9%;
  108 +
  109 +}
  110 +
  111 +.popup-frame {
  112 + position: fixed;
  113 + z-index: 20;
  114 + background: white;
  115 + width: 100%;
  116 + border-radius: 20rpx 20rpx 0 0;
  117 + height: auto;
  118 + bottom: 0;
  119 +}
  120 +
  121 +.popup-top {
  122 + border-bottom: 1rpx solid #eee;
  123 + height: 155rpx;
  124 + width: 95%;
  125 + margin: auto;
  126 + line-height: 155rpx;
  127 +
  128 +}
  129 +.fs32{
  130 + font-size: 32rpx;
  131 +}
  132 +.nearby_store {
  133 + margin-left: 17rpx;
  134 +}
  135 +.modal-closes {
  136 + position: absolute;
  137 + right: 30rpx;
  138 + top: -15rpx;
  139 + height: 25rpx;
  140 +
  141 +}
  142 +.choose_mores {
  143 + margin-top: 30rpx;
  144 + margin-right: 15rpx;
  145 +
  146 +}
  147 +.choose_more {
  148 + margin-top: 40rpx;
  149 + margin-right: 20rpx;
  150 +
  151 +}
  152 +.bg_rights {
  153 + border-top: 2rpx solid;
  154 + border-right: 2rpx solid;
  155 + transform: rotate(45deg);
  156 + display: inline-block;
  157 + width: 15rpx;
  158 + height: 15rpx;
  159 + border-color: #da0b31;
  160 +}
  161 +.searchbar {
  162 + height: 95rpx;
  163 + border-bottom: 2rpx solid rgb(238, 238, 238);
  164 +}
  165 +.storeListpadd {
  166 + padding: 0rpx 31rpx;
  167 +}
  168 +.search {
  169 + width: 125rpx;
  170 + height: 45rpx;
  171 + line-height: 45rpx;
  172 + background-color: rgb(219, 27, 52);
  173 + border-radius: 30rpx;
  174 + color: rgb(255, 255, 255);
  175 +}
  176 +.inputstore {
  177 + width: 510rpx;
  178 + height: 43rpx;
  179 + line-height: 43rpx;
  180 + border-radius: 30rpx;
  181 + border: 2rpx solid rgb(238, 238, 238);
  182 + padding-left: 30rpx;
  183 +}
  184 +
  185 +.store-list {
  186 + width: 95%;
  187 + min-height: 300rpx;
  188 + overflow-y: scroll;
  189 + margin: auto;
  190 + max-height: 610rpx;
  191 +}
  192 +.store-list .store_choose {
  193 + width: 100%;
  194 + height: 120rpx;
  195 + line-height: 125rpx;
  196 + border-bottom: 1rpx solid #eee;
  197 + padding: 10rpx 0;
  198 +}
  199 +
  200 +.store-list .store_choose .store {
  201 + width: 100%;
  202 + margin: auto;
  203 + line-height: 37rpx;
  204 + padding-left: 20rpx;
  205 +
  206 +}
  207 +.xc-hook {
  208 + width: 35rpx;
  209 + height: 35rpx;
  210 + transform: rotate(-145deg);
  211 + line-height: 37rpx;
  212 + text-align: center;
  213 +}
  214 +.address-frame {
  215 + width: 93%;
  216 + margin-left: 7rpx;
  217 +
  218 +}
  219 +.address_name {
  220 + margin-right: 10rpx;
  221 + width: 360rpx;
  222 +
  223 +}
  224 +.fs24{
  225 + font-size: 24rpx !important;
  226 +}
  227 +.xc-ash-9f{
  228 + color: #9fa1a0;
  229 +
  230 +}
  231 +.t-c {
  232 + text-align: center;
  233 +}
  234 +.distance {
  235 + padding-left: 20rpx;
  236 + padding-right: 20rpx;
  237 + background: #eee;
  238 + border-radius: 20rpx;
  239 + /* margin-right: 5rpx; */
  240 + color: #999;
  241 + height: 38rpx;
  242 + line-height: 38rpx;
  243 + position: relative;
  244 + top: 5rpx;
  245 +
  246 +}
  247 +.address-val {
  248 + height: 38rpx;
  249 + line-height: 38rpx;
  250 +
  251 +}
  252 +.butttem5 {
  253 + margin-bottom: 5rpx;
  254 +}
  255 +.store-bottom-frame {
  256 + width: 95%;
  257 + margin: auto;
  258 +
  259 +}
  260 +.store-bottom {
  261 + width: 85%;
  262 + margin: auto;
  263 + height: 90rpx;
  264 +}
  265 +.determine {
  266 + width: 260rpx;
  267 + height: 55rpx;
  268 + border-radius: 50rpx;
  269 + line-height: 55rpx;
  270 +}
  271 +
  272 +.default {
  273 + width: 260rpx;
  274 + height: 55rpx;
  275 + border: 3rpx solid #c8c8c8;
  276 + border-radius: 50rpx;
  277 + line-height: 55rpx;
  278 +}
  279 +.xc-hooks {
  280 + width: 30rpx;
  281 + height: 30rpx;
  282 + border: 1rpx solid #999;
  283 +}
0 284 \ No newline at end of file
... ...
packageA/pages/cart2_ser/cart2_ser.js
... ... @@ -510,6 +510,9 @@ Page({
510 510 'pickup_id': gg.pick_id,
511 511 'pickup_keyid': list[i].keyid,
512 512 };
  513 + if(gg.is_pd_normal){
  514 + goods.is_pd_normal=1;
  515 + }
513 516 }
514 517  
515 518 if(getApp().globalData.skinface_id){
... ... @@ -562,6 +565,11 @@ Page({
562 565 goods.skinface_id=getApp().globalData.skinface_id;
563 566 }
564 567  
  568 + if(this.data.postdata && this.data.postdata.is_pd_normal==1){
  569 + goods.is_pd_normal=1;
  570 + }
  571 +
  572 +
565 573 //--导购分享过来的id--
566 574 if (gg.guide_id) {
567 575 goods.guide_id = gg.guide_id;
... ...
packageA/pages/checkin/checkin.js
... ... @@ -2,405 +2,431 @@
2 2 var md5 = require("../../../utils/md5.js");
3 3 var ut = require("../../../utils/util.js");
4 4 const app = getApp();
5   -const os=app.globalData.setting;
  5 +const os = app.globalData.setting;
6 6 let self;
7 7 Page({
8 8  
9   - /**
10   - * 页面的初始数据
11   - */
12   - data: {
13   - year: '',
14   - month: '',
15   - day: '',
16   - weekArr: ['日', '一', '二', '三', '四', '五', '六'],
17   - dateArr: [],
18   - n_dateArr:[], //本月的日期
19   - s_dateArr:[], //上月的日期
20   -
21   - firstDay: '',
22   - lastDay: '',
23   - param: null,
24   - clockNum: 3,
25   -
26   - res: null,
27   - isShowRules: false,
28   - isCheckIn: false,
29   - checkInDays: 0, //连续签到天数
30   - integral: 0, //积分
31   - checkInNums: 0, //补签次数
32   - isCheckInDay: '',
33   -
34   - flag: true,
35   - isLogin: false,
36   - imgUrl: app.globalData.setting.imghost,
37   - show_no_integral:false
38   -
39   - },
40   -
41   - loadQd(callback) {
42   - app.request.get('/api/weshop/qdrecord/getUser/'+ app.globalData.setting.stoid + '/' + app.globalData.user_id, {
43   - success: function (res) {
44   - if(res.data.code==0){
45   - if(callback) callback();
46   - self.setData({
47   - res: res.data.data
48   - });
49   - self.loadCheckedRecord();
50   - }else{
51   - if(res.data.msg.indexOf('未开启签到')!=-1){
52   - self.setData({ show_no_integral: true });
53   - }else{
54   - wx.showToast({
55   - title: res.data.msg,
56   - icon: 'none',
57   - duration: 2000
58   - })
59   - }
60   -
61   - }
62   - },
63   - });
64   - },
65   -
66   - /**
67   - * 生命周期函数--监听页面加载
68   - */
69   - onLoad: function(options) {
70   - console.log('执行onload');
71   - self = this;
72   - this.getDate();
73   - this.setDate();
74   - var res = wx.getSystemInfoSync();
75   - this.setData({
76   - param: res.windowHeight / 12,
77   - })
78   -
79   - // 判断会员是否授权登录,
80   - // 没有登录则跳转到登录页,
81   - // 已登录则设置已登录状态,请求加载签到数据
82   - this.isLogin().then(function() {
83   - self.setData({
84   - isLogin: true
85   - });
86   - self.loadQd();
87   - });
88   -
89   - // 广告
90   - getApp().request.promiseGet("/api/weshop/ad/page?pid=1205&store_id=" + os.stoid, {
91   - data: {
92   - enabled: 1
93   - }
94   - }).then(res => {
95   - if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
96   - var a = res.data.data.pageData;
97   - var narr=[];
98   - for(var i in a){
99   - var tt = {
100   - 'ad_code': os.imghost + a[i].ad_code,
101   - 'media_link': '',
102   - 'ad_weapplink':a[i].ad_weapplink
103   - };
104   - narr.push(tt);
105   - }
106   - self.setData({ad_data:narr});
107   - }
108   - });
109   -
110   -
111   - },
112   -
113   - onShow() {
114   - if(app.globalData.userInfo instanceof Object) {
115   - if(this.data.isLogin) {
116   - return;
117   - } else {
118   - this.setData({
119   - isLogin: true
120   - });
121   - this.loadQd();
122   - };
123   - }
124   - },
125   -
126   - onHide() {
127   - console.log('执行onHide');
128   - },
129   -
130   - // 是否登录
131   - isLogin() {
132   - return new Promise(function(resolve, reject) {
133   - let user_info = getApp().globalData.userInfo;
134   - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
135   - wx.navigateTo({
136   - url: '/packageE/pages/togoin/togoin',
137   - })
138   - return false;
139   - } else {
140   - resolve();
141   - };
142   - });
143   - },
144   -
145   - // 点击"我的积分"和"去购物"进行跳转
146   - goto(e) {
147   - let url = e.target.dataset.url;
148   - app.goto(url);
149   - },
150   -
151   - // 点击显示签到规则
152   - showRules() {
153   - if(this.data.isShowRules) {
154   - this.setData({
155   - isShowRules: false
156   - });
157   - } else {
158   - this.setData({
159   - isShowRules: true
160   - });
161   - }
162   - },
163   -
164   -
165   - // 加载签到记录
166   - loadCheckedRecord() {
167   - let newDateArr=[];
168   - let list;
169   - let bqlist;
170   - //--判断什么日子是签到的,上个月的--
171   - if(this.data.res && this.data.res.qdsdaylist) {
172   - list = this.data.res.qdsdaylist.split(',');
173   - for(var i in this.data.s_dateArr){
174   - var item=this.data.s_dateArr[i];
175   - if(this.check_is_qd(item,list)){
176   - item.isCheckIn = true;
177   - }else{
178   - item.isCheckIn = false;
179   - }
180   - }
181   - }
182   - newDateArr=newDateArr.concat(this.data.s_dateArr);
183   - //--判断什么日子是签到的,这个月的--
184   - if(this.data.res && this.data.res.qddaylist) {
185   - list = this.data.res.qddaylist.split(',');
186   - for(var i in this.data.n_dateArr){
187   - var item=this.data.n_dateArr[i];
188   - if(this.check_is_qd(item,list)){
189   - item.isCheckIn = true;
190   - }else{
191   - item.isCheckIn = false;
192   - }
193   - }
194   - }
195   - newDateArr=newDateArr.concat(this.data.n_dateArr);
196   -
197   - //--判断什么日子是要补签的--
198   - if(this.data.res && this.data.res.curbqdaynum) {
199   - bqlist = this.data.res.curbqdaynum.split(',');
200   - for(var i in newDateArr){
201   - var item=newDateArr[i];
202   - if(this.check_is_bq(item,bqlist)){
203   - item.isBq = true;
204   - }else{
205   - item.isBq = false;
206   - }
207   - }
208   - }
209   - this.setData({
210   - dateArr: newDateArr
211   - });
212   - },
213   -
214   -
215   - //判断是不是同一个日期,签到的
216   - check_is_qd(item,bqlist){
217   - for(var i in bqlist){
218   - var c_item=JSON.parse(JSON.stringify(item));
219   - if(c_item.num<10) c_item.num="0"+c_item.num;
220   - if(c_item.num==bqlist[i]){
221   - return true;
222   - }
223   - }
224   - return false;
225   - },
226   -
227   - //判断是不是同一个日期,补签到的
228   - check_is_bq(item,bqlist){
229   - for(var i in bqlist){
230   - if(item.date==bqlist[i]){
231   - return true;
232   - }
233   - }
234   - return false;
235   - },
236   -
237   - // 点击签到
238   - checkInToday() {
239   - const self = this;
240   - // 获取今天的签到状态
241   - //let isCheckInToday = this.data.dateArr[this.data.day-1].isCheckIn;
242   - var ck=this.data.day;
243   - if(parseInt(ck)<10) ck="0"+ck;
244   - var isCheckInToday=this.data.res.qddaylist.indexOf(ck);
245   -
246   - // 如果还没签到, 可以点击签到
247   - if(isCheckInToday==-1) {
248   -
249   - var timeid=ut.gettimestamp();
250   - var key = "rgqsqLYhw67sgaIQBF6dw9JK7CDKSS";
251   - var str= app.globalData.setting.stoid+":"+app.globalData.user_id+":"+timeid+":"+key
252   - var sign=md5(str);
253   -
254   - app.request.promisePost('/api/weshop/qdrecord/saveQd', {
255   - data: {
256   - store_id: app.globalData.setting.stoid,
257   - user_id: app.globalData.user_id,
258   - timeid:timeid,
259   - sign:sign
260   - }
261   - }).then(res => {
262   - // 改变签到状态,由false置为true
263   - // let newDateArr = self.data.dateArr;
264   - // newDateArr[self.data.day-1].isCheckIn = true;
265   -
266   - for(var i in self.data.dateArr) {
267   - self.data.dateArr[i].isCheckIn=false;
268   - self.data.dateArr[i].isBq=false;
269   - }
270   - self.setData({
271   - dateArr: self.data.dateArr
272   - });
273   -
274   - self.loadQd(function() {
275   - wx.showToast({
276   - title: self.data.res.qdintro,
277   - icon: 'none',
278   - duration: 1500,
279   - success: function() {
280   -
281   - }
282   - });
283   - });
284   -
285   - })
286   - }
287   - },
288   -
289   -
290   - // 补签
291   - reCheckIn() {
292   - var self = this;
293   - // var i = 0;
294   - console.log('补签~');
295   - if(this.data.flag) {
296   - this.data.flag = false;
297   - app.request.promisePost('/api/weshop/qdrecord/saveBQd', {
298   - data: {
299   - store_id: app.globalData.setting.stoid,
300   - user_id: app.globalData.user_id,
301   - daynum: self.data.res.getBQIntegral1,
302   - bqnum: self.data.res.getbqnum2,
303   - bqintegral: self.data.res.getBQIntegral,
304   - }
305   - }).then(res => {
306   - // 改变签到状态,由false置为true
307   - // let newDateArr = self.data.dateArr;
308   - // newDateArr[self.data.day-1].isCheckIn = true;
309   - //var bqlist = self.data.res.curbqdaynum.split(',').sort();
310   - //var list = [];
311   - /*--
312   - for(let item of bqlist) {
313   - var date = new Date(item);
314   - list.push(date.getDate());
315   - }--*/
316   -
317   - for(var i in self.data.dateArr) {
318   - self.data.dateArr[i].isCheckIn=false;
319   - self.data.dateArr[i].isBq=false;
320   - }
321   - self.setData({
322   - dateArr: self.data.dateArr
323   - });
324   - self.loadQd(function() {
325   - self.data.flag = true;
326   - wx.showToast({
327   - title: '补签成功',
328   - icon: 'success',
329   - duration: 1500,
330   - success: function() {
331   -
332   - }
333   - });
334   - });
335   - })
336   - }
337   - },
338   -
339   - getDate: function() { //获取当月日期
340   - var mydate = new Date();
341   - var year = mydate.getFullYear();
342   - var month = mydate.getMonth(); //0~11: 一月至十二月
343   - var months = month + 1; //1~12:一月至十二月
344   - this.data.year = year;
345   - this.data.month = months;
346   - this.data.day = mydate.getDate(); //获取当月日期: 1~31
347   - var fist = new Date(year, month, 1);
348   - this.data.firstDay = fist.getDay(); //获取当月第一天
349   - var last = new Date(year, months, 0); //0表示当月最后一天
350   - this.data.lastDay = last.getDate(); //获取当月最后一天
351   -
352   - this.setData({
353   - year: this.data.year,
354   - month: this.data.month,
355   - day: this.data.day,
356   - firstDay: this.data.firstDay,
357   - lastDay: this.data.lastDay,
358   - fist:fist
359   - })
360   - console.log("今天:" + this.data.day);
361   - },
362   -
363   - setDate: function() {
364   - var day;
365   - for(var i=0;i<this.data.firstDay;i++){
366   - //获取前几天的时间数组
367   - var arr_d=this.getNextDate(this.data.fist,i-this.data.firstDay)
368   - day = {num: arr_d[1],date:arr_d[0]};
369   - this.data.s_dateArr.push(day);
370   - }
371   -
372   - for (var i = 1; i < this.data.lastDay + 1; i++) {
373   - var date=this.data.month+"";
374   - if(this.data.month<10) date="0"+date;
375   - if(i<10) {
376   - date=date+"-0"+i;
377   - }else{
378   - date=date+"-"+i;
379   - }
380   - day = {num: i,date:date};
381   - this.data.n_dateArr.push(day);
382   - }
383   - },
384   -
385   - //获取相隔是多少天的日期
386   - getNextDate(date,day) {
387   - var dd = date;
388   - dd.setDate(dd.getDate() + day);
389   - //var y = dd.getFullYear();
390   - var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
391   - var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
392   - //return y + "-" + m + "-" + d;
393   - return [m + "-" + d,dd.getDate()];
394   - },
395   - go_url(e){
396   - let url=e.currentTarget.dataset.url;
397   - if(url){
398   - getApp().goto(url);
399   - }
400   - },
401   -
402   - back_to(){
403   - wx.navigateBack();
404   - }
  9 + /**
  10 + * 页面的初始数据
  11 + */
  12 + data: {
  13 + year: '',
  14 + month: '',
  15 + day: '',
  16 + weekArr: ['日', '一', '二', '三', '四', '五', '六'],
  17 + dateArr: [],
  18 + n_dateArr: [], //本月的日期
  19 + s_dateArr: [], //上月的日期
  20 +
  21 + firstDay: '',
  22 + lastDay: '',
  23 + param: null,
  24 + clockNum: 3,
  25 +
  26 + res: null,
  27 + isShowRules: false,
  28 + isCheckIn: false,
  29 + checkInDays: 0, //连续签到天数
  30 + integral: 0, //积分
  31 + checkInNums: 0, //补签次数
  32 + isCheckInDay: '',
  33 +
  34 + flag: true,
  35 + isLogin: false,
  36 + imgUrl: app.globalData.setting.imghost,
  37 + show_no_integral: false
  38 +
  39 + },
  40 +
  41 + loadQd(callback) {
  42 + app.request.get('/api/weshop/qdrecord/getUser/' + app.globalData.setting.stoid + '/' + app.globalData.user_id, {
  43 + success: function (res) {
  44 + if (res.data.code == 0) {
  45 + if (callback) callback();
  46 + self.setData({
  47 + res: res.data.data
  48 + });
  49 + self.loadCheckedRecord();
  50 + } else {
  51 + if (res.data.msg.indexOf('未开启签到') != -1) {
  52 + self.setData({ show_no_integral: true });
  53 + } else {
  54 + wx.showToast({
  55 + title: res.data.msg,
  56 + icon: 'none',
  57 + duration: 2000
  58 + })
  59 + }
  60 +
  61 + }
  62 + },
  63 + });
  64 + },
  65 +
  66 + /**
  67 + * 生命周期函数--监听页面加载
  68 + */
  69 + onLoad: function (options) {
  70 + console.log('执行onload');
  71 + self = this;
  72 + this.getDate();
  73 + this.setDate();
  74 + var res = wx.getSystemInfoSync();
  75 + this.setData({
  76 + param: res.windowHeight / 12,
  77 + })
  78 +
  79 + // 判断会员是否授权登录,
  80 + // 没有登录则跳转到登录页,
  81 + // 已登录则设置已登录状态,请求加载签到数据
  82 + this.isLogin().then(function () {
  83 + self.setData({
  84 + isLogin: true
  85 + });
  86 + self.loadQd();
  87 + });
  88 +
  89 + // 广告
  90 + getApp().request.promiseGet("/api/weshop/ad/page?pid=1205&store_id=" + os.stoid, {
  91 + data: {
  92 + enabled: 1
  93 + }
  94 + }).then(res => {
  95 + if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
  96 + var a = res.data.data.pageData;
  97 + var narr = [];
  98 + for (var i in a) {
  99 + var tt = {
  100 + 'ad_code': os.imghost + a[i].ad_code,
  101 + 'media_link': '',
  102 + 'ad_weapplink': a[i].ad_weapplink
  103 + };
  104 + narr.push(tt);
  105 + }
  106 + self.setData({ ad_data: narr });
  107 + }
  108 + });
  109 +
  110 +
  111 + },
  112 +
  113 + onShow() {
  114 + if (app.globalData.userInfo instanceof Object) {
  115 + if (this.data.isLogin) {
  116 + return;
  117 + } else {
  118 + this.setData({
  119 + isLogin: true
  120 + });
  121 + this.loadQd();
  122 + };
  123 + }
  124 + },
  125 +
  126 + onHide() {
  127 + console.log('执行onHide');
  128 + },
  129 +
  130 + // 是否登录
  131 + isLogin() {
  132 + return new Promise(function (resolve, reject) {
  133 + let user_info = getApp().globalData.userInfo;
  134 + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
  135 + wx.navigateTo({
  136 + url: '/packageE/pages/togoin/togoin',
  137 + })
  138 + return false;
  139 + } else {
  140 + resolve();
  141 + };
  142 + });
  143 + },
  144 +
  145 + // 点击"我的积分"和"去购物"进行跳转
  146 + goto(e) {
  147 + let url = e.target.dataset.url;
  148 + app.goto(url);
  149 + },
  150 +
  151 + // 点击显示签到规则
  152 + showRules() {
  153 + if (this.data.isShowRules) {
  154 + this.setData({
  155 + isShowRules: false
  156 + });
  157 + } else {
  158 + this.setData({
  159 + isShowRules: true
  160 + });
  161 + }
  162 + },
  163 +
  164 +
  165 + // 加载签到记录
  166 + loadCheckedRecord() {
  167 + let newDateArr = [];
  168 + let list;
  169 + let bqlist;
  170 + //--判断什么日子是签到的,上个月的--
  171 + if (this.data.res && this.data.res.qdsdaylist) {
  172 + list = this.data.res.qdsdaylist.split(',');
  173 + for (var i in this.data.s_dateArr) {
  174 + var item = this.data.s_dateArr[i];
  175 + if (this.check_is_qd(item, list)) {
  176 + item.isCheckIn = true;
  177 + } else {
  178 + item.isCheckIn = false;
  179 + }
  180 + }
  181 + }
  182 + newDateArr = newDateArr.concat(this.data.s_dateArr);
  183 + //--判断什么日子是签到的,这个月的--
  184 + if (this.data.res && this.data.res.qddaylist) {
  185 + list = this.data.res.qddaylist.split(',');
  186 + for (var i in this.data.n_dateArr) {
  187 + var item = this.data.n_dateArr[i];
  188 + if (this.check_is_qd(item, list)) {
  189 + item.isCheckIn = true;
  190 + } else {
  191 + item.isCheckIn = false;
  192 + }
  193 + }
  194 + }
  195 + newDateArr = newDateArr.concat(this.data.n_dateArr);
  196 +
  197 + //--判断什么日子是要补签的--
  198 + if (this.data.res && this.data.res.curbqdaynum) {
  199 + bqlist = this.data.res.curbqdaynum.split(',');
  200 + for (var i in newDateArr) {
  201 + var item = newDateArr[i];
  202 + if (this.check_is_bq(item, bqlist)) {
  203 + item.isBq = true;
  204 + } else {
  205 + item.isBq = false;
  206 + }
  207 + }
  208 + }
  209 + this.setData({
  210 + dateArr: newDateArr
  211 + });
  212 + },
  213 +
  214 +
  215 + //判断是不是同一个日期,签到的
  216 + check_is_qd(item, bqlist) {
  217 + for (var i in bqlist) {
  218 + var c_item = JSON.parse(JSON.stringify(item));
  219 + if (c_item.num < 10) c_item.num = "0" + c_item.num;
  220 + if (c_item.num == bqlist[i]) {
  221 + return true;
  222 + }
  223 + }
  224 + return false;
  225 + },
  226 +
  227 + //判断是不是同一个日期,补签到的
  228 + check_is_bq(item, bqlist) {
  229 + for (var i in bqlist) {
  230 + if (item.date == bqlist[i]) {
  231 + return true;
  232 + }
  233 + }
  234 + return false;
  235 + },
  236 +
  237 + // 点击签到
  238 + checkInToday() {
  239 + const self = this;
  240 +
  241 + getApp().request.get("/api/weshop/users/getServerTime", {
  242 + success: function (res) {
  243 + if (res.data.code == 0) {
  244 + var getnowtime = res.data.data;
  245 + if (!getnowtime) {
  246 + getApp().showWarning("获取服务时间失败");
  247 + return;
  248 + } else {
  249 + // 获取今天的签到状态
  250 + //let isCheckInToday = this.data.dateArr[this.data.day-1].isCheckIn;
  251 + var ck = self.data.day;
  252 + if (parseInt(ck) < 10) ck = "0" + ck;
  253 + var isCheckInToday = self.data.res.qddaylist.indexOf(ck);
  254 +
  255 + // 如果还没签到, 可以点击签到
  256 + if (isCheckInToday == -1) {
  257 +
  258 + var timeid = Date.parse(getnowtime)/1000;
  259 + var key = "rgqsqLYhw67sgaIQBF6dw9JK7CDKSS";
  260 + var str = app.globalData.setting.stoid + ":" + app.globalData.user_id + ":" + timeid + ":" + key
  261 + var sign = md5(str);
  262 +
  263 + app.request.promisePost('/api/weshop/qdrecord/saveQd', {
  264 + data: {
  265 + store_id: app.globalData.setting.stoid,
  266 + user_id: app.globalData.user_id,
  267 + timeid: timeid,
  268 + sign: sign
  269 + }
  270 + }).then(res2 => {
  271 + // 改变签到状态,由false置为true
  272 + // let newDateArr = self.data.dateArr;
  273 + // newDateArr[self.data.day-1].isCheckIn = true;
  274 + if (res2.data.code == 0) {
  275 + for (var i in self.data.dateArr) {
  276 + self.data.dateArr[i].isCheckIn = false;
  277 + self.data.dateArr[i].isBq = false;
  278 + }
  279 + self.setData({
  280 + dateArr: self.data.dateArr
  281 + });
  282 +
  283 + self.loadQd(function () {
  284 + wx.showToast({
  285 + title: self.data.res.qdintro,
  286 + icon: 'none',
  287 + duration: 1500,
  288 + success: function () {
  289 +
  290 + }
  291 + });
  292 + });
  293 + } else {
  294 + getApp().showWarning(res2.data.msg);
  295 + }
  296 +
  297 +
  298 +
  299 + })
  300 + }
  301 + }
  302 +
  303 + } else {
  304 + getApp().showWarning(res.data.msg);
  305 + }
  306 + }
  307 + })
  308 +
  309 + },
  310 +
  311 +
  312 + // 补签
  313 + reCheckIn() {
  314 + var self = this;
  315 + // var i = 0;
  316 + console.log('补签~');
  317 + if (this.data.flag) {
  318 + this.data.flag = false;
  319 + app.request.promisePost('/api/weshop/qdrecord/saveBQd', {
  320 + data: {
  321 + store_id: app.globalData.setting.stoid,
  322 + user_id: app.globalData.user_id,
  323 + daynum: self.data.res.getBQIntegral1,
  324 + bqnum: self.data.res.getbqnum2,
  325 + bqintegral: self.data.res.getBQIntegral,
  326 + }
  327 + }).then(res => {
  328 + // 改变签到状态,由false置为true
  329 + // let newDateArr = self.data.dateArr;
  330 + // newDateArr[self.data.day-1].isCheckIn = true;
  331 + //var bqlist = self.data.res.curbqdaynum.split(',').sort();
  332 + //var list = [];
  333 + /*--
  334 + for(let item of bqlist) {
  335 + var date = new Date(item);
  336 + list.push(date.getDate());
  337 + }--*/
  338 + if (res.data.code == 0) {
  339 + for (var i in self.data.dateArr) {
  340 + self.data.dateArr[i].isCheckIn = false;
  341 + self.data.dateArr[i].isBq = false;
  342 + }
  343 + self.setData({
  344 + dateArr: self.data.dateArr
  345 + });
  346 + self.loadQd(function () {
  347 + self.data.flag = true;
  348 + wx.showToast({
  349 + title: '补签成功',
  350 + icon: 'success',
  351 + duration: 1500,
  352 + success: function () {
  353 +
  354 + }
  355 + });
  356 + });
  357 + } else {
  358 + getApp().showWarning(res.data.msg);
  359 + }
  360 +
  361 + })
  362 + }
  363 + },
  364 +
  365 + getDate: function () { //获取当月日期
  366 + var mydate = new Date();
  367 + var year = mydate.getFullYear();
  368 + var month = mydate.getMonth(); //0~11: 一月至十二月
  369 + var months = month + 1; //1~12:一月至十二月
  370 + this.data.year = year;
  371 + this.data.month = months;
  372 + this.data.day = mydate.getDate(); //获取当月日期: 1~31
  373 + var fist = new Date(year, month, 1);
  374 + this.data.firstDay = fist.getDay(); //获取当月第一天
  375 + var last = new Date(year, months, 0); //0表示当月最后一天
  376 + this.data.lastDay = last.getDate(); //获取当月最后一天
  377 +
  378 + this.setData({
  379 + year: this.data.year,
  380 + month: this.data.month,
  381 + day: this.data.day,
  382 + firstDay: this.data.firstDay,
  383 + lastDay: this.data.lastDay,
  384 + fist: fist
  385 + })
  386 + console.log("今天:" + this.data.day);
  387 + },
  388 +
  389 + setDate: function () {
  390 + var day;
  391 + for (var i = 0; i < this.data.firstDay; i++) {
  392 + //获取前几天的时间数组
  393 + var arr_d = this.getNextDate(this.data.fist, i - this.data.firstDay)
  394 + day = { num: arr_d[1], date: arr_d[0] };
  395 + this.data.s_dateArr.push(day);
  396 + }
  397 +
  398 + for (var i = 1; i < this.data.lastDay + 1; i++) {
  399 + var date = this.data.month + "";
  400 + if (this.data.month < 10) date = "0" + date;
  401 + if (i < 10) {
  402 + date = date + "-0" + i;
  403 + } else {
  404 + date = date + "-" + i;
  405 + }
  406 + day = { num: i, date: date };
  407 + this.data.n_dateArr.push(day);
  408 + }
  409 + },
  410 +
  411 + //获取相隔是多少天的日期
  412 + getNextDate(date, day) {
  413 + var dd = date;
  414 + dd.setDate(dd.getDate() + day);
  415 + //var y = dd.getFullYear();
  416 + var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
  417 + var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
  418 + //return y + "-" + m + "-" + d;
  419 + return [m + "-" + d, dd.getDate()];
  420 + },
  421 + go_url(e) {
  422 + let url = e.currentTarget.dataset.url;
  423 + if (url) {
  424 + getApp().goto(url);
  425 + }
  426 + },
  427 +
  428 + back_to() {
  429 + wx.navigateBack();
  430 + }
405 431  
406 432 })
... ...
packageA/pages/details_serviceCard/details_serviceCard.js
... ... @@ -4,6 +4,7 @@ const app = getApp();
4 4 const os = app.globalData.setting;
5 5 let self = null;
6 6 var util = require('../../../utils/util.js');
  7 +const ut = require("../../../utils/util.js");
7 8  
8 9 Page({
9 10  
... ... @@ -70,8 +71,13 @@ Page({
70 71 }).then(res => {
71 72 if (res.data.code == 0) {
72 73 // console.log('请求成功', res);
  74 + var dd=res.data.data.pageData[0];
  75 + dd.prom_type=dd.list[0].prom_type;
  76 + dd.pt_status=dd.list[0].pt_status;
  77 + dd.pt_tail_money=dd.list[0].pt_tail_money;
  78 +
73 79 this.setData({
74   - details: res.data.data.pageData[0],
  80 + details: dd,
75 81 });
76 82 } else {
77 83 throw (res);
... ... @@ -306,6 +312,9 @@ Page({
306 312 var card_id = details.list[i].card_id;
307 313 var prom_type = details.list[i].prom_type > 0 ? details.list[i].prom_type : 0;
308 314 var is_pd_normal = details.list[i].is_pd_normal;
  315 + if(is_pd_normal){
  316 + newd['is_pd_normal'] = 1;
  317 + }
309 318 // 库存
310 319 var redisNums = 0;
311 320 // 限购数
... ... @@ -356,6 +365,12 @@ Page({
356 365  
357 366 }
358 367  
  368 + if(prom_type==6){
  369 + wx.showModal({
  370 + title: details.list[i].service_name +"拼团商品不加入购物车\n"
  371 + });
  372 + return false;
  373 + }
359 374  
360 375 //----先看会员在购物车中是否加入了该商品-----
361 376 app.request.get("/api/weshop/cartService/page", {
... ... @@ -499,7 +514,7 @@ Page({
499 514  
500 515  
501 516 // 立即支付
502   - pay() {
  517 + async pay() {
503 518  
504 519 if(this.data.is_summit_ing) return false;
505 520 this.data.is_summit_ing=1;
... ... @@ -508,54 +523,218 @@ Page({
508 523 let order_sn = this.data.details.order_sn;
509 524 let order_id = this.data.details.order_id;
510 525 let store_id = app.globalData.setting.stoid;
511   - t_pay.set_pay_url("/api/weshop/order/pay/createRechargeOrder");
512   - t_pay.pay({
513   - parentSn: order_sn,
514   - store_id: store_id
515   - }, function () {
516   - app.showWarning('支付成功');
517   - setTimeout(function() {
518   - wx.reLaunch({
519   - url: "/pages/payment/pay_success/pay_success?card=1&order_id=" + order_id,
520   - })
521   - }, 1000)
522   -
523   - }, function (e) {
524   - th.data.is_summit_ing=0;
525   - wx.showToast({
526   - title: e,
527   - icon: 'none',
528   - duration: 2000
529   - });
530   - })
531   - // app.request.post('/api/weshop/order/pay/createRechargeOrder', {
532   - // data: {
533   - // parentSn: order_sn,
534   - // store_id: store_id,
535   - // },
536   - //
537   - // success: function(res) {
538   - // var n = res.data.data;
539   - // self.weixinPay(n, function() {
540   - // app.showWarning('支付成功');
541   - // // setTimeout(function() {
542   - // // wx.reLaunch({
543   - // // url: "/pages/payment/pay_success/pay_success?card=1&order_id=" + order_id,
544   - // // })
545   - // // }, 1000)
546   - // }, function() {
547   - // app.showWarning('支付失败');
548   - // // setTimeout(function() {
549   - // // wx.reLaunch({
550   - // // url: '/packageA/pages/cardList/cardList',
551   - // // })
552   - // // }, 1000)
553   - // });
554   - // }
555   - // })
556   - },
  526 + let user_id = os.user_id;
  527 +
  528 + let flag = true;
  529 + // 如果是普通购买或单独购买,不用判断
  530 + // 如果是秒杀购买:1、判断活动是否变化;2、是否超出限购
  531 + let list = this.data.details.list;
  532 + var pt_act=null; //-- 拼团活动的优化 --
557 533  
  534 + //秒杀活动和拼团活动要重新计算一下
  535 + for (const it of list) {
  536 + if (it.prom_type == 1) {
  537 + let act_details = null;
  538 + let redis_num = 0;
  539 + let promcardbuynum = 0;
  540 + let qty = it.qty;
558 541  
  542 +
  543 + await getApp().request.promiseGet('/api/ms/flash_sale/getNew/' + store_id + '/' + user_id + '/' + it.prom_id, {}).then(res => {
  544 + console.log('11111111====>>>');
  545 + if (res.data.code == 0) {
  546 + console.log('当前的秒杀活动信息:', res.data.data);
  547 + act_details = res.data.data;
  548 + if (act_details.is_end == 1) {
  549 + wx.showModal({
  550 + title: '提示',
  551 + content: '活动已结束,无法支付,请取消订单!',
  552 + showCancel: false,
  553 + });
  554 + flag = false;
  555 + return false;
  556 + };
  557 + if (act_details.id != it.prom_id) {
  558 + wx.showModal({
  559 + title: '提示',
  560 + content: '活动发生了变化,无法支付,请取消订单,重新购买!',
  561 + showCancel: false,
  562 + });
  563 + flag = false;
  564 + return false;
  565 + };
  566 +
  567 +
  568 + var t_now = ut.gettimestamp();
  569 + if (act_details.is_end == 0 && act_details.start_time < t_now && act_details.end_time > t_now) {
  570 + wx.showModal({
  571 + title: '提示',
  572 + content: '活动发生了变化,无法支付,请取消订单,重新购买!',
  573 + showCancel: false,
  574 + });
  575 + flag = false;
  576 + return false;
  577 + }
  578 +
  579 + };
  580 + });
  581 +
  582 + if(act_details.buy_limit>0 && flag){
  583 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
  584 + data: {
  585 + store_id: store_id,
  586 + user_id: user_id,
  587 + card_id: it.card_id,
  588 + prom_type: it.prom_type,
  589 + prom_id: it.prom_id,
  590 + ispay:1
  591 + }
  592 + }).then(res => {
  593 +
  594 + if (res.data.code == 0) {
  595 + promcardbuynum = res.data.data.promcardbuynum;
  596 + let canBuyNum = act_details.buy_limit - promcardbuynum; // 自己还可购买的数量c
  597 +
  598 + if (canBuyNum < qty) {
  599 + wx.showModal({
  600 + title: '提示',
  601 + content: '您已超出活动限购数量,无法支付,请取消订单!',
  602 + showCancel: false,
  603 + });
  604 + flag = false;
  605 + }
  606 + }
  607 + })
  608 + }
  609 +
  610 + };
  611 +
  612 + if (it.prom_type == 6) {
  613 + let act_details = null;
  614 + let redis_num = 0;
  615 + let promcardbuynum = 0;
  616 + let qty = it.qty;
  617 +
  618 + await getApp().request.promiseGet("/api/weshop/teamlist/get/" + store_id + "/" + it.prom_id, {}).then(res => {
  619 +
  620 + if (res.data.code == 0) {
  621 +
  622 + act_details = res.data.data;
  623 +
  624 + if (act_details.is_end == 1) {
  625 + wx.showModal({
  626 + title: '提示',
  627 + content: '活动已结束,无法支付,请取消订单!',
  628 + showCancel: false,
  629 + });
  630 + flag = false;
  631 + return false;
  632 + }
  633 +
  634 + if (act_details.id != it.prom_id) {
  635 + wx.showModal({
  636 + title: '提示',
  637 + content: '活动发生了变化,无法支付,请取消订单,重新购买!',
  638 + showCancel: false,
  639 + });
  640 + flag = false;
  641 + return false;
  642 + }
  643 +
  644 + var t_now = ut.gettimestamp();
  645 + if (act_details.is_end == 1 || act_details.start_time > t_now || act_details.end_time < t_now) {
  646 + wx.showModal({
  647 + title: '提示',
  648 + content: '活动发生了变化,无法支付,请取消订单,重新购买!',
  649 + showCancel: false,
  650 + });
  651 + flag = false;
  652 + return false;
  653 + }
  654 +
  655 + };
  656 + });
  657 +
  658 + if(act_details.buy_limit>0){
  659 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
  660 + data: {
  661 + store_id: store_id,
  662 + user_id: user_id,
  663 + card_id: it.card_id,
  664 + prom_type: it.prom_type,
  665 + prom_id: it.prom_id,
  666 + ispay:1
  667 + }
  668 + }).then(res => {
  669 + if (res.data.code == 0) {
  670 + console.log('已经购买的数量:', res.data.data);
  671 + promcardbuynum = res.data.data.promcardbuynum;
  672 + }
  673 + })
  674 + let limited = act_details.buy_limit; // 限购数量a
  675 + let canBuyNum = limited - promcardbuynum; // 自己还可购买的数量c
  676 +
  677 + if (canBuyNum < qty ) {
  678 + wx.showModal({
  679 + title: '提示',
  680 + content: '您已超出活动限购数量,无法支付,请取消订单!',
  681 + showCancel: false,
  682 + });
  683 + flag = false;
  684 + }
  685 + }
  686 + pt_act=act_details;
  687 + }
  688 + }
  689 +
  690 + if (flag) {
  691 + t_pay.set_pay_url("/api/weshop/order/pay/createRechargeOrder");
  692 + t_pay.pay({
  693 + parentSn: order_sn,
  694 + store_id: store_id
  695 + }, function () {
  696 + app.showWarning('支付成功');
  697 +
  698 + if(pt_act.kttype==1){
  699 + //--如果商家团的时候---
  700 + getApp().request.promisePost("/api/weshop/order/pay/vipAutoTuan", {
  701 + data: {orderSn:order_sn,storeId:os.stoid }
  702 + })
  703 + }
  704 +
  705 + setTimeout(function () {
  706 + if(pt_act){
  707 + wx.redirectTo({
  708 + url: "/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + order_sn
  709 + });
  710 + }else{
  711 + wx.reLaunch({
  712 + url: "/pages/payment/pay_success/pay_success?card=1&order_id=" + order_id,
  713 + })
  714 + }
  715 +
  716 + }, 1000)
  717 +
  718 + }, function (e) {
  719 + th.data.is_summit_ing = 0;
  720 + wx.showToast({
  721 + title: e,
  722 + icon: 'none',
  723 + duration: 2000
  724 + });
  725 + })
  726 + }else{
  727 + this.data.is_summit_ing=0;
  728 + }
  729 +
  730 + },
  731 +
  732 + //-- 支付尾款 --
  733 + pay2(){
  734 + var url="/packageA/pages/serviceCard_pd/cart_wk/cart_wk?order_id="+this.data.details.order_id;
  735 + getApp().goto(url);
  736 + },
  737 +
559 738 //------调起支付框--------
560 739 weixinPay: function(n, success, fail) {
561 740 if (!n) return false;
... ...
packageA/pages/details_serviceCard/details_serviceCard.wxml
... ... @@ -8,8 +8,17 @@
8 8 <view class="ellipsis-1 pdr40 fs30"><text class="iconfont icon-shop c-red pdr10"></text>{{item.pickup_name}}</view>
9 9 <!-- 订单状态 -->
10 10 <block>
11   - <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 0}}">待支付</text>
12   - <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 1}}">待评价</text>
  11 + <text class="c-red shrink0 fs26" wx:if="{{details.order_status<2 && details.pay_status==0 }}">
  12 + <block wx:if="{{details.prom_type==6}}">
  13 + <block wx:if="{{details.pt_status==0}}" >未支付</block>
  14 + <block wx:if="{{details.pt_status==1}}" >组团中</block>
  15 + <block wx:if="{{details.pt_status==2 && details.pt_tail_money>0}}">待支付尾款</block>
  16 + </block>
  17 + <block wx:else>
  18 + 待支付
  19 + </block>
  20 + </text>
  21 + <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 1 && details.pay_status==1}}">待评价</text>
13 22 <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 2}}">已评价</text>
14 23 <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 3}}">已取消</text>
15 24 <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 5}}">已作废</text>
... ... @@ -39,7 +48,9 @@
39 48  
40 49  
41 50 <!-- 统计栏 -->
42   - <view class="t-r bdt pdv20">共{{filter.count(details.list)}}件商品,合计:<text class="rmb c-red bold fs30">{{details.account}}</text></view>
  51 + <view class="t-r bdt pdv20">
  52 + 共{{filter.count(details.list)}}件商品,合计:<text class="rmb c-red bold fs30">{{filter.toFix(details.account+details.pt_tail_money,2) }}</text>
  53 + </view>
43 54 </view>
44 55  
45 56  
... ... @@ -68,14 +79,24 @@
68 79 </view>
69 80  
70 81 <!-- 底部按钮栏 -->
71   - <view class="btn-bar t-r bg-white pd20">
  82 + <view class="btn-bar t-r bg-white pd20" hidden="{{details.pt_status == 1 && details.order_status<2 }}">
72 83 <!-- 待支付 -->
73   - <block wx:if="{{details.order_status == 0}}">
  84 + <block wx:if="{{details.pay_status == 0 && details.order_status<2 && details.prom_type!=6 }}">
  85 + <text class="btn btn-border" bindtap="cancle">取消订单</text>
  86 + <text class="btn bg-red white mgl20" bindtap="pay">立即支付</text>
  87 + </block>
  88 +
  89 + <block wx:if="{{details.pt_status == 0 && details.order_status<2 && details.prom_type==6 }}">
74 90 <text class="btn btn-border" bindtap="cancle">取消订单</text>
75 91 <text class="btn bg-red white mgl20" bindtap="pay">立即支付</text>
76 92 </block>
  93 +
  94 + <block wx:if="{{details.pt_status == 2 && details.order_status<2 && details.prom_type==6 && details.pt_tail_money>0 }}">
  95 + <text class="btn bg-red white mgl20" bindtap="pay2">支付尾款</text>
  96 + </block>
  97 +
77 98 <!-- 已支付/未评价 -->
78   - <block wx:if="{{details.order_status == 1}}">
  99 + <block wx:if="{{details.order_status == 1 && details.pay_status == 1 }}">
79 100 <text class="btn bg-orange white" bindtap="buy2">再来一单</text>
80 101 <text class="btn bg-red white mgl20" bindtap="access">立即评价</text>
81 102 </block>
... ...
packageA/pages/goodsInfo/filter.wxs
... ... @@ -8,7 +8,19 @@ function format_tt(ts) {
8 8 var fm=(d.getMonth()+1)+"月"+ d.getDate()+"日";
9 9 return fm;
10 10 }
  11 +
  12 +//拿来判断是不是在指定门店内
  13 +function is_no_dis(text,val){
  14 + if(text==undefined) return false;
  15 + if(text=='') return false;
  16 + if(!text) return false;
  17 +
  18 + if(text.indexOf(val)==-1) return true;
  19 + return false;
  20 +}
  21 +
11 22 module.exports = {
12 23 is_has: is_has,
13   - format_tt:format_tt
  24 + format_tt:format_tt,
  25 + is_no_dis:is_no_dis
14 26 }
... ...
packageA/pages/goodsInfo/goodsInfo.js
... ... @@ -218,17 +218,13 @@ Page({
218 218 },
219 219  
220 220 //------初始化加载----------
221   - onLoad: function(t) {
  221 + onLoad:function(t) {
  222 + self = this;
222 223  
  224 + this.setData({
  225 + options: t,
  226 + });
223 227  
224   - console.log("11111111");
225   -
226   - self = this;
227   -
228   - this.setData({
229   - options: t,
230   - });
231   -
232 228 var ee = this,
233 229 that = ee,
234 230 th = ee,
... ... @@ -251,11 +247,11 @@ Page({
251 247 if(gid_str.length>1){
252 248 first_leader=gid_str[1];
253 249 }
254   - //-- 如果有room_id的获取 --
255   - if(gid_str.length>2 && gid_str[2]) {
256   - room_id=gid_str[2];
257   - room_user_share=1;
258   - };
  250 + //-- 如果有room_id的获取 --
  251 + if(gid_str.length>2 && gid_str[2]) {
  252 + room_id=gid_str[2];
  253 + room_user_share=1;
  254 + };
259 255 };
260 256  
261 257 ee.setData({ gid: gid});
... ... @@ -328,43 +324,10 @@ Page({
328 324  
329 325 //------几人评价-------
330 326 //n.init(th, "", "comments");
331   -
332   - th.requestCardNum(), wx.pageScrollTo && th.setData({
  327 + wx.pageScrollTo && th.setData({
333 328 supportPageScroll: !0
334 329 });
335 330  
336   - //计算等级价相关
337   - // var swithc_list = e.switch_list;
338   - // var sw_arr = JSON.parse(swithc_list);
339   - // //---如果后台又开等级卡的开关---
340   - // if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
341   - // th.setData({ rank_switch: true });
342   - // //---回调卡的列表---
343   - // th.getPlusCardType(function (ob) {
344   - // th.setData({ card_list: ob.card_list });
345   - // var ti = setInterval(function () {
346   - // var user = getApp().globalData.userInfo;
347   - // if (!user) return false;
348   - // clearInterval(ti);
349   - // if (user.card_field && user['card_expiredate']) {
350   - // var str = user['card_expiredate'].replace(/-/g, '/');
351   - // var end = new Date(str);
352   - // end = Date.parse(end) / 1000;
353   - // var now = ut.gettimestamp();
354   - // //--- 判断是等级会员,且在有效期范围内 ---
355   - // if (user.card_field && now < end) {
356   - // var card_name = ob.name_map.get(user.card_field);
357   - // //if(card_name.length>6) card_name=card_name.substring(0,6);
358   -
359   - // var is_near_date = 0;
360   - // if (end - now < 60 * 60 * 30 * 24) is_near_date = 1; //如果小于30天
361   - // th.setData({ card_field: user.card_field, card_name: card_name, card_list: ob.card_list, is_near_date: is_near_date });
362   - // }
363   - // }
364   - // }, 500)
365   - // })
366   - // }
367   -
368 331 }, 1);
369 332  
370 333 //获取用户设备信息,屏幕宽度
... ... @@ -508,7 +471,11 @@ Page({
508 471 });
509 472 };
510 473  
511   - };
  474 + }else{
  475 + this.setData({
  476 + actList: res.data.data,
  477 + });
  478 + }
512 479 });
513 480 };
514 481 // <---- 秒杀
... ... @@ -580,7 +547,6 @@ Page({
580 547 }
581 548 };
582 549  
583   - this.getTaohe();
584 550  
585 551 // if (th.data.is_closecoupon != 1 && (!th.data.fir_quan || th.data.fir_quan.length<=0)) {
586 552 // //----获取详情页的券的数量----
... ... @@ -640,199 +606,213 @@ Page({
640 606 // gid 在onload阶段已经保存在this.data中
641 607 onShow: function() {
642 608  
643   - getApp().check_can_share();
  609 + getApp().check_can_share();
644 610  
645 611 var that=this;var th=this;
646 612 var ee = this,gid = this.data.gid, i = getApp().request;
647   - this.data.is_timer = 1;
648 613  
649   - //获取用户的默认门店
650   - th.check_guide(()=>{
651   - getApp().get_user_store(function(e) {
652   - console.log('get_user_store');
653   - console.log("999999999");
  614 + //判断是不是要跳转到拼团服务卡
  615 + getApp().check_go_fw(gid,function (act,url){
654 616  
  617 + if(act){
  618 + wx.redirectTo({
  619 + url:url
  620 + })
  621 + return false;
  622 + }
655 623  
656   - if(!e) {
657   - th.data.fir_def_store={}; //赋值空对象
658   - return false;
659   - }
  624 + th.data.is_timer = 1;
  625 + //获取用户的默认门店
  626 + th.check_guide(()=>{
  627 + getApp().get_user_store(function(e) {
  628 + console.log('get_user_store');
  629 + console.log("999999999");
660 630  
661   - console.log("000000");
662 631  
663   - if(getApp().globalData.is_dj_pk) th.setData({has_def:1})
  632 + if(!e) {
  633 + th.data.fir_def_store={}; //赋值空对象
  634 + return false;
  635 + }
664 636  
665   - var ee=JSON.parse(JSON.stringify(e));
  637 + console.log("000000");
666 638  
  639 + if(getApp().globalData.is_dj_pk) th.setData({has_def:1})
667 640  
668   - console.log(e);
  641 + var ee=JSON.parse(JSON.stringify(e));
669 642  
670   - //--定时器推迟一下--
671   - setTimeout(function () {
672   - if(!th.data.data){
673   - return false;
674   - }
675   - var ser_card=th.data.data;
676   - //--如果默认门店不在等级卡的默认们店以内
677   - if(ser_card.storageId!=null && ser_card.storageId!="" && ser_card.storageId.indexOf(ee.keyid)==-1){
678   - ee.is_no_dis=1;
679   - }
680 643  
681   - var appd=getApp().globalData;
682   - var w_time = setInterval(function() {
683   - if (that.data.is_get_local_ok == 0) return false;
684   - clearInterval(w_time);
685   - var distance = null;
686   - var e=JSON.parse(JSON.stringify(ee));
687   -
688   - //如果有开启近距离的话,同时距离优不一样了
689   - if (that.data.lat != null) {
690   - //如果经纬度有变化的话
691   - if(e && appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){
692   - that.data.fir_def_store=e;
693   - that.setData({
694   - def_pick_store: e,
695   - sto_sele_name: e.pickup_name,
696   - sto_sele_id: e.pickup_id,
697   - sto_sele_distr: e.distr_type,
698   - sto_sele_keyid:e.keyid,
699   - })
700   - }else{
701   - //要用接口是获取距离,js的计算不准
702   - getApp().request.promiseGet("/api/weshop/pickup/list",{
703   - data:{store_id:os.stoid,pickup_id:e.pickup_id,lat:th.data.lat,lon: th.data.lon, is_pos: 1},
704   - }).then(res=>{
705   - if(ut.ajax_ok(res)){
706   - e=res.data.data.pageData[0];
707   - if (e){
708   - e.is_no_dis=ee.is_no_dis;
709   - appd.pk_store=e;
710   - that.data.fir_def_store=e;
711   -
712   - console.log('get_user_store--2');
713   - console.log(e);
714   -
715   - that.setData({
716   - def_pick_store: e,
717   - sto_sele_name: e.pickup_name,
718   - sto_sele_id: e.pickup_id,
719   - sto_sele_distr: e.distr_type,
720   - sto_sele_keyid:e.keyid,
721   - })
722   - }
723   -
724   - }
725   - })
726   - }
727   -
728   - //e.distance = distance;
729   - appd.lat=that.data.lat;
730   - appd.lon=that.data.lon;
731   -
732   - } else {
733   - if (e) {
734   -
735   -
736   - console.log('get_user_store3---');
737   - console.log(e);
738   -
739   - e.distance = null;
740   - that.data.fir_def_store=e;
741   - that.setData({
742   - def_pick_store: e,
743   - sto_sele_name: e.pickup_name,
744   - sto_sele_id: e.pickup_id,
745   - sto_sele_distr: e.distr_type,
746   - sto_sele_keyid:e.keyid,
747   - })
748   - }
749   - }
750   - }, 500)
751   - },1500)
  644 + console.log(e);
752 645  
753   - });
754   - })
  646 + //--定时器推迟一下--
  647 + setTimeout(function () {
  648 + if(!th.data.data){
  649 + return false;
  650 + }
  651 + var ser_card=th.data.data;
  652 + //--如果默认门店不在等级卡的默认们店以内
  653 + if(ser_card.storageId!=null && ser_card.storageId!="" && ser_card.storageId.indexOf(ee.keyid)==-1){
  654 + ee.is_no_dis=1;
  655 + }
  656 +
  657 + var appd=getApp().globalData;
  658 + var w_time = setInterval(function() {
  659 + if (that.data.is_get_local_ok == 0) return false;
  660 + clearInterval(w_time);
  661 + var distance = null;
  662 + var e=JSON.parse(JSON.stringify(ee));
  663 +
  664 + //如果有开启近距离的话,同时距离优不一样了
  665 + if (that.data.lat != null) {
  666 + //如果经纬度有变化的话
  667 + if(e && appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){
  668 + that.data.fir_def_store=e;
  669 + that.setData({
  670 + def_pick_store: e,
  671 + sto_sele_name: e.pickup_name,
  672 + sto_sele_id: e.pickup_id,
  673 + sto_sele_distr: e.distr_type,
  674 + sto_sele_keyid:e.keyid,
  675 + })
  676 + }else{
  677 + //要用接口是获取距离,js的计算不准
  678 + getApp().request.promiseGet("/api/weshop/pickup/list",{
  679 + data:{store_id:os.stoid,pickup_id:e.pickup_id,lat:th.data.lat,lon: th.data.lon, is_pos: 1},
  680 + }).then(res=>{
  681 + if(ut.ajax_ok(res)){
  682 + e=res.data.data.pageData[0];
  683 + if (e){
  684 + e.is_no_dis=ee.is_no_dis;
  685 + appd.pk_store=e;
  686 + that.data.fir_def_store=e;
  687 +
  688 + console.log('get_user_store--2');
  689 + console.log(e);
  690 +
  691 + that.setData({
  692 + def_pick_store: e,
  693 + sto_sele_name: e.pickup_name,
  694 + sto_sele_id: e.pickup_id,
  695 + sto_sele_distr: e.distr_type,
  696 + sto_sele_keyid:e.keyid,
  697 + })
  698 + }
  699 +
  700 + }
  701 + })
  702 + }
  703 +
  704 + //e.distance = distance;
  705 + appd.lat=that.data.lat;
  706 + appd.lon=that.data.lon;
  707 +
  708 + } else {
  709 + if (e) {
  710 +
  711 +
  712 + console.log('get_user_store3---');
  713 + console.log(e);
  714 +
  715 + e.distance = null;
  716 + that.data.fir_def_store=e;
  717 + that.setData({
  718 + def_pick_store: e,
  719 + sto_sele_name: e.pickup_name,
  720 + sto_sele_id: e.pickup_id,
  721 + sto_sele_distr: e.distr_type,
  722 + sto_sele_keyid:e.keyid,
  723 + })
  724 + }
  725 + }
  726 + }, 500)
  727 + },1500)
  728 +
  729 + });
  730 + })
  731 +
  732 + th.wait_for_store_config();
  733 +
  734 + i.get("/api/weshop/serviceCard/get/" + o.stoid + "/" + ee.data.gid, {
  735 + failRollback: !0,
  736 + success: function(t) {
  737 + if (t.data.code == 0) {
  738 + // console.log('GET pic and video');
  739 + if(t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_url) {
  740 + that.setData({
  741 + mapurl: t.data.data.listServiceVideos[0].video_url,
  742 + });
  743 + };
  744 + if(t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_img) {
  745 + that.setData({
  746 + mapurl_f_img: t.data.data.listServiceVideos[0].video_img,
  747 + });
  748 + };
  749 + if(t.data.data.listServiceImages) {
  750 + that.setData({
  751 + gallery: t.data.data.listServiceImages,
  752 + });
  753 + };
  754 + if(t.data.data.listServiceItem) {
  755 + that.setData({
  756 + listServiceItem: t.data.data.listServiceItem,
  757 + });
  758 + };
  759 + that.setData({
  760 + 'data.goods_name': t.data.data.serviceName,
  761 + 'data.shop_price': t.data.data.money,
  762 + 'data.show_price': t.data.data.show_price,
  763 + 'data.validDays': t.data.data.validDays,
  764 + 'data.serviceContent': t.data.data.serviceContent,
  765 + 'data.image_url': t.data.data.imgUrl,
  766 + 'data.goods_id': t.data.data.id,
  767 + 'data.id': t.data.data.id,
  768 + 'data.sales_sum': t.data.data.sales_sum,
  769 + 'data.storageId':t.data.data.storageId,
  770 + 'data.service_sn':t.data.data.serviceSn,
  771 + 'data.listServiceVideos': t.data.data.listServiceVideos,
  772 + // gallery: t.data.data.listServiceImages,
  773 + // mapurl: t.data.data.listServiceVideos[0].video_url,
  774 + // mapurl_f_img: t.data.data.listServiceVideos[0].video_img,
  775 + //listServiceItem: t.data.data.listServiceItem,
  776 + 'isshow':1
  777 +
  778 + });
  779 +
  780 + that.getTaohe();
  781 +
  782 + // console.log('0xxxxx999999', t.data.data);
  783 + //-----商品详情---
  784 + if(!t.data.data.serviceContent) t.data.data.serviceContent=" ";
  785 + a.wxParse("content", "html", ut.format_content(t.data.data.serviceContent), ee, 6);
  786 + e.wxParseAddFullImageUrl(ee, "content");
  787 +
  788 + //获取重表
  789 + getApp().promiseGet("/api/weshop/serviceItem/list",{
  790 + data:{store_id:o.stoid,service_id:t.data.data.id}
  791 + }).then(res=>{
  792 + if(res.data.code==0){
  793 + var list=res.data.data;
  794 + that.setData({service_list:list})
  795 + }
  796 + })
  797 +
  798 + } else {
  799 + wx.showModal({
  800 + title: t.data.msg,
  801 + showCancel: !1,
  802 + complete: function() {
  803 + wx.navigateBack();
  804 + }
  805 + });
  806 + };
  807 + }
  808 + });
  809 +
  810 + th.data.enterAddressPage && (this.data.enterAddressPage = !1);
  811 + th.get_sto();
  812 + })
755 813  
756   - this.wait_for_store_config();
757 814  
758   - i.get("/api/weshop/serviceCard/get/" + o.stoid + "/" + ee.data.gid, {
759   - failRollback: !0,
760   - success: function(t) {
761   - if (t.data.code == 0) {
762   - // console.log('GET pic and video');
763   - if(t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_url) {
764   - that.setData({
765   - mapurl: t.data.data.listServiceVideos[0].video_url,
766   - });
767   - };
768   - if(t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_img) {
769   - that.setData({
770   - mapurl_f_img: t.data.data.listServiceVideos[0].video_img,
771   - });
772   - };
773   - if(t.data.data.listServiceImages) {
774   - that.setData({
775   - gallery: t.data.data.listServiceImages,
776   - });
777   - };
778   - if(t.data.data.listServiceItem) {
779   - that.setData({
780   - listServiceItem: t.data.data.listServiceItem,
781   - });
782   - };
783   - that.setData({
784   - 'data.goods_name': t.data.data.serviceName,
785   - 'data.shop_price': t.data.data.money,
786   - 'data.show_price': t.data.data.show_price,
787   - 'data.validDays': t.data.data.validDays,
788   - 'data.serviceContent': t.data.data.serviceContent,
789   - 'data.image_url': t.data.data.imgUrl,
790   - 'data.goods_id': t.data.data.id,
791   - 'data.id': t.data.data.id,
792   - 'data.sales_sum': t.data.data.sales_sum,
793   - 'data.storageId':t.data.data.storageId,
794   - 'data.service_sn':t.data.data.serviceSn,
795   - 'data.listServiceVideos': t.data.data.listServiceVideos,
796   - // gallery: t.data.data.listServiceImages,
797   - // mapurl: t.data.data.listServiceVideos[0].video_url,
798   - // mapurl_f_img: t.data.data.listServiceVideos[0].video_img,
799   - //listServiceItem: t.data.data.listServiceItem,
800   - });
801   -
802   - // console.log('0xxxxx999999', t.data.data);
803   - //-----商品详情---
804   - if(!t.data.data.serviceContent) t.data.data.serviceContent=" ";
805   - a.wxParse("content", "html", ut.format_content(t.data.data.serviceContent), ee, 6);
806   - e.wxParseAddFullImageUrl(ee, "content");
807   -
808   - //获取重表
809   - getApp().promiseGet("/api/weshop/serviceItem/list",{
810   - data:{store_id:o.stoid,service_id:t.data.data.id}
811   - }).then(res=>{
812   - if(res.data.code==0){
813   - var list=res.data.data;
814   - that.setData({service_list:list})
815   - }
816   - })
817   -
818   -
819 815  
820   - } else {
821   - wx.showModal({
822   - title: t.data.msg,
823   - showCancel: !1,
824   - complete: function() {
825   - wx.navigateBack();
826   - }
827   - });
828   - };
829   - }
830   - });
831   -
832   -
833   -
834   - this.data.enterAddressPage && (this.data.enterAddressPage = !1);
835   - this.get_sto();
836 816  
837 817  
838 818  
... ... @@ -1701,7 +1681,7 @@ Page({
1701 1681 }
1702 1682 e.his_cate_num=his_cate_num;
1703 1683  
1704   - //--普通门店排版--
  1684 + //--普通门店排版,服务卡项有指定门店才能使用,所以要筛选一下--
1705 1685 setTimeout(function(){
1706 1686 var sto_list=th.data.data.storageId;
1707 1687 if(sto_list){
... ... @@ -2008,7 +1988,7 @@ Page({
2008 1988 });
2009 1989 //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
2010 1990 if (!th.data.def_pick_store) {
2011   - th.setData({def_pick_store:e.data.data.pageData[0]})
  1991 + th.setData({def_pick_store:e.data.data.pageData[0]})
2012 1992 }
2013 1993  
2014 1994 }
... ...
packageA/pages/goodsInfo/goodsInfo.wxml
... ... @@ -4,7 +4,7 @@
4 4 <wxs module="tool" src="filter.wxs"></wxs>
5 5  
6 6 <!-- 商品内容区域,普通商品,秒杀,拼团 -->
7   -<block>
  7 +<block wx:if="{{isshow}}">
8 8 <view class="container">
9 9 <view class="type-navbar">
10 10 <view class="type-box" wx:for="{{categories}}" wx:key="categories">
... ... @@ -830,7 +830,12 @@
830 830 <view class="address-frame xc-ash">
831 831 <view class="flex-vertical-between butttem5">
832 832 <view class="flex xc-ash">
833   - <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  833 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}
  834 + <block wx:if="{{tool.is_no_dis(sele_g.storageId,item.keyid)}}">
  835 + <text class="no_store">(配送不匹配)</text>
  836 + </block>
  837 +
  838 + </view>
834 839 </view>
835 840 <view>
836 841 <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}">
... ... @@ -856,7 +861,11 @@
856 861 <view class="address-frame xc-ash">
857 862 <view class="flex-vertical-between ">
858 863 <view class="flex xc-ash">
859   - <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  864 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}
  865 + <block wx:if="{{tool.is_no_dis(sele_g.storageId,item.keyid)}}">
  866 + <text class="no_store">(配送不匹配)</text>
  867 + </block>
  868 + </view>
860 869 </view>
861 870 <view>
862 871 <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"}}
... ... @@ -884,7 +893,11 @@
884 893 <view class="address-frame xc-ash">
885 894 <view class="flex-vertical-between ">
886 895 <view class="flex xc-ash">
887   - <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view>
  896 + <view class="fs28 xc-black3 address_name">{{item.pickup_name}}
  897 + <block wx:if="{{tool.is_no_dis(sele_g.storageId,item.keyid)}}">
  898 + <text class="no_store">(配送不匹配)</text>
  899 + </block>
  900 + </view>
888 901 </view>
889 902 <view>
890 903 <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}">
... ...
packageA/pages/serviceCard_pd/cart/cart.js
... ... @@ -3,6 +3,7 @@ var t = getApp(), app = t, a = t.request, e = require(&quot;../../../../utils/common.
3 3 var oo = t.globalData.setting, os = oo;
4 4 var regeneratorRuntime = require('../../../../utils/runtime.js');
5 5 var util_pay = require("../../../../utils/pay.js");
  6 +var t_pay = require("../../../../utils/pay2.js");
6 7  
7 8 Page({
8 9 data: {
... ... @@ -62,35 +63,16 @@ Page({
62 63 rank_switch: 0, //是不是开同等级卡
63 64 show_card: null, //显示的等级卡
64 65 card_name: '', //显示的卡的名称
65   - card_cut_price: null,//减价多少钱
66   - bconfig: null,
67   - showFold:true,
68   - },
69   -
70   -
71   -
72   - onReady() {
73   -
74   - setTimeout(() => {
75   - wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => {
76   - if (res.length != 0) {
77   - this.setData({
78   - showFold: res[0].height < res[1].height,
79   - });
80   - };
81 66  
82   - }).exec();
83   - }, 1000);
  67 + card_cut_price: null,//减价多少钱
84 68  
85   - },
86   -
87   - clickCollapse() {
88   - this.setData({
89   - flag: !this.data.flag,
90   - })
  69 + //dis_config:null, //因为拼团有佣金抵扣
  70 + //bn_use_commission: 0, //是不是使用佣金
91 71 },
92 72 onLoad: function (t) {
93 73 console.log("onLoad_pt_cart");
  74 +
  75 +
94 76 var th = this; this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, });
95 77 var appD = getApp().get_b_now();
96 78 getApp().getConfig2(function (e) {
... ... @@ -110,6 +92,8 @@ Page({
110 92 th.data.param = t;
111 93 //先获取物流,再获取用户信息,再展示页面
112 94 //th.get_wuliu(th.get_info(th.show_page));
  95 + //getApp().is_distribut(this);
  96 +
113 97 },
114 98 onUnload: function () { this.setData({ isclose: 1 }) },
115 99  
... ... @@ -214,6 +198,28 @@ Page({
214 198 if (pt_data.kttype == 3) {
215 199 t.data.data.shop_price = tt.data.data.yf_price; //用定金来购买
216 200 }
  201 +
  202 + //-- 计算获得佣金的金额 --
  203 + if (getApp().globalData.userInfo.is_distribut
  204 + && th.data.dis_config && th.data.dis_config.is_yongjin_dk) {
  205 + var fir_num = 0;
  206 + var sec_num = 0;
  207 + var thi_num = 0;
  208 + if (th.data.dis_config.pattern == 1) {
  209 + fir_num = (teamlist.fir_rate || 0) * order_goods.goods_num;
  210 + sec_num = (teamlist.sec_rate || 0) * order_goods.goods_num;
  211 + thi_num = (teamlist.thi_rate || 0) * order_goods.goods_num;
  212 + } else {
  213 + fir_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2);
  214 + sec_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2);
  215 + thi_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2);
  216 + }
  217 + var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th);
  218 + goods.use_commission = parseFloat(c_num.toFixed(2));
  219 +
  220 + }
  221 +
  222 +
217 223 }
218 224 } else {
219 225 t.data.data.prom_id = 0;
... ... @@ -238,6 +244,12 @@ Page({
238 244  
239 245 //----------子页返回父页触发----------
240 246 onShow: function () {
  247 +
  248 + s.fy_back('',0);
  249 +
  250 + t_pay.set_fir();
  251 + util_pay.set_fir();
  252 +
241 253 var th = this;
242 254 if (th.data.isclose == 0) {
243 255 wx.navigateTo({
... ... @@ -400,39 +412,42 @@ Page({
400 412 //要进行判断,如果是用微信支付,就要跳转到支付界面
401 413 if (order_amount > 0) {
402 414 th.setData({ isclose: 0 });
403   - getApp().request.post("/api/weshop/order/pay/createRechargeOrder", {
404   - data: {
405   - parentSn: data.data.order_sn,
406   - store_id: oo.stoid
407   - },
408   - success: function(su) {
409   -
410   - var n = su.data.data;
411   - let order_id = data.data.order_id;
412   - th.weixinPay(n,
413   - function() {
414   - // getApp().showWarning("购买成功");
415   - wx.showToast({
416   - title: '购买成功',
417   - icon: 'success',
418   - duration: 2000
419   - });
420   - setTimeout(function() {
421   - wx.redirectTo({
422   - url: "/packageA/pages/serviceCard_pd/team_success/team_success?order_sn=" + data.data.order_sn
423   - });
424   - }, 1000)
425   - },
426   - function() {
427   - getApp().showWarning("支付失败");
428   - setTimeout(function() {
429   - wx.reLaunch({
430   - url: "/pages/user/order_list/order_list?index=2&tabindex=1",
431   - })
432   - }, 1000)
433   - })
434   - }
  415 +
  416 + t_pay.set_pay_url("/api/weshop/order/pay/createRechargeOrder");
  417 + t_pay.pay({
  418 + parentSn: data.data.order_sn,
  419 + store_id: oo.stoid
  420 + }, function () {
  421 + wx.showToast({
  422 + title: '购买成功',
  423 + icon: 'success',
  424 + duration: 2000
  425 + });
  426 + setTimeout(function() {
  427 + wx.redirectTo({
  428 + url: "/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + data.data.order_sn
  429 + });
  430 + }, 1000)
  431 +
  432 + }, function (e) {
  433 + wx.showToast({
  434 + title: e,
  435 + icon: 'none',
  436 + duration: 2000
  437 + });
  438 +
  439 + //-- 支付失败,要返回 --
  440 + setTimeout(function () {
  441 + var cps = getCurrentPages();
  442 + if (cps.length > 1) {
  443 + wx.navigateBack({ delta: 1 })
  444 + } else {
  445 + getApp().goto("/pages/index/index/index");
  446 + }
  447 + }, 1000)
  448 +
435 449 })
  450 +
436 451 }
437 452 } else {
438 453 th.data.is_summit_ing = 0; //是否提交中
... ...
packageA/pages/serviceCard_pd/cart/cart.wxml
1 1 <wxs module="filters" src="../../../../utils/filter.wxs"></wxs>
2 2 <form bindsubmit="submitForm">
3 3 <view class="container">
4   -
5   - <view class="tab-container" wx:if="{{kt_type!=3 || is_normal==1}}">
6   - <view class="tab-wrapper">
7   - <view hidden="{{bn_t_exp_t==2}}" bindtap='setexptype' data-t='1' class="tab {{bn_exp_type == 1? 'active':''}}"
8   - data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >门店自提</view>
9   -
10   - <view hidden="{{bn_t_exp_t==1}}" bindtap='setexptype' data-t='0' class="tab {{bn_exp_type== 0 ? 'active':''}}"
11   - data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >快递邮寄</view>
12   -
13   - </view>
14   - </view>
15   -
16   -
17   - <!--要进行判断地址是否显示---->
18   - <view bindtap="enterAddressPage" class="user-mes mgt20" hidden='{{bn_exp_type==1 || kt_type==3}}'>
19   - <!---默认地址显示------>
20   - <block wx:if="{{user_addr!=null}}">
21   - <view class="user-contact">收货人:{{user_addr.consignee}}{{'  '}}{{user_addr.mobile}}</view>
22   - <view class="location">
23   - <view class="address">{{user_addr.more_address}}{{' '}}{{user_addr.address}}</view>
24   - <view class="pos-icon">
25   - <image class="wh100 bdr14" src="{{imgUrl}}/miniapp/images/goodscategory/new_position.png"></image>
26   - </view>
27   - </view>
28   - <view class="update-logistics">
29   - <image class="arrow-rigth" src="{{imgUrl}}/miniapp/images/icon-arrowdown.png"></image>
30   - </view>
31   - </block>
32   - <!---先增地址------>
33   - <block wx:else>
34   - <view class="add_new">
35   - <image class="addr_jia" src="{{imgUrl}}/miniapp/images/jia.png"></image>添加地址
36   - </view>
37   - </block>
38   - <!-- <view class="border-img"><image class="wh100 bdr14" src="{{imgUrl}}/miniapp/images/tt.png"></image></view> -->
39   - </view>
40   -
41 4  
42 5 <!------立即购买-------->
43 6 <block>
44   - <!-- <view class="xc-border main-top"></view> -->
45 7 <view class="use-item bfff bdr_t-14 mgt20">
46 8 <image class="dp" src='{{imgUrl}}/miniapp/images/goodscategory/new_store.png'> </image> <view>{{bn_pickname}}</view></view>
47 9 <view class="order-detail">
48   - <view class="goods-img">
  10 + <view class="goods-img" bindtap="go_to" data-url="/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id={{items.service_id}}&prom_type=6&prom_id={{bn_goods.prom_id}}">
49 11 <image class="wh100 bdr14" src="{{bn_goods.original_img}}"
50 12 binderror='cart_set_err' data-err="bn_goods.original_img"></image>
51 13 </view>
52   - <navigator class="order-cont" url="/pages/goods/goodsInfo/goodsInfo?goods_id={{bn_goods.goods_id}}">
53   - <view class="goods-name ellipsis-2">{{bn_goods.goods_name}}</view>
54   - <!-- 商品属性 -->
55   - <view class="flex-vertical fs28 color-gray n_guige">
56   - <view class="goods-color"><text>{{filters.show_gui_ge(bn_goods.goods_spec,bn_goods.goods_color)}}</text>
57   - </view></view>
58   -
  14 + <navigator class="order-cont" url="/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id={{items.service_id}}&prom_type=6&prom_id={{bn_goods.prom_id}}">
  15 + <view class="goods-name ellipsis-2">{{bn_goods.serviceName}}</view>
59 16 <!-----商品名称规格------>
60   - <view class="order-num flex-space-between">
61   - <view class="co-red">¥<text class="fs36">{{filters.toFix(bn_goods.shop_price,2)}}</text></view>
62   - <view class="goods-num">x{{bn_goods.buynum}}</view>
63   - </view>
  17 + <view class="order-num flex-space-between">
  18 + <view class="co-red">¥<text class="fs36">{{filters.toFix(bn_goods.shop_price,2)}}</text></view>
  19 + <view class="goods-num">x{{bn_goods.buynum}}</view>
  20 + </view>
64 21 </navigator>
65   - <!-- <view class="order-num">
66   - <view class="co-red">¥{{bn_goods.shop_price}}</view>
67   - <view class="goods-num">x{{bn_goods.buynum}}</view>
68   - </view> -->
69   - </view>
70   -
71   - <!-- 如果是等级卡的商品,会员没有注册,要提醒注册 -->
72   - <view class="plus_buy fs28" wx:if="{{card_cut_price>0}}">
73   - <view class="flex">
74   - <view class="card_bg ellipsis-1" style="margin-right: 10rpx;">
75   - <image src="{{imgUrl}}/miniapp/images/plus/dj_icon.png"></ image>
76   - <text class="card_name">{{show_card.CardName}}</text>
77   - </view>
78   - <view>立减 <text style="color:#f23030;">{{filters.toFix(card_cut_price,2) }}</text> 元</view>
79   - </view>
80   - <view>
81   - <text style="color: #999;margin-left: 4rpx;">vip超级会员仅需{{show_card.CardFee}}元</text>
82   - </view>
83   - <!-- 三角形 -->
84   - <view class="car_tri_up"></view>
85   - <!-- 立即开通跳转 -->
86   - <view bindtap="buycard" class="card_op">立即开通</view>
87   - </view>
88   -
89   -
90   - <view class="set-mes bdr_b-14">
91   - <view wx:if="{{order.store_prom}}"><icon color="#f23030" size="16" type="info"></icon>{{order.store_prom}}
92   - </view>
93   -
94   - <!--阶梯团是不显示的-->
95   - <block wx:if="{{bn_exp_type==0 && !is_default_logistics}}">
96   - <view class="use-item flex-space-between" wx:if="{{kt_type!=3 || is_normal==1}}">
97   - <view>选择物流</view>
98   - <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index' style="margin-right: 8rpx;">
99   - <view class="logistics-name">{{wu_arr[index].name}}</view><view class="xc-right"></view>
100   - </view>
101   - </view>
102   - </block>
103   -
104   - <!--阶梯团是不显示的
105   - <block wx:if="{{kt_type!=3 || is_normal==1 }}">
106   - <view class="use-item" hidden='{{bn_exp_type==1}}'>
107   - <view>使用物流:</view>
108   - <picker bindchange="bindPickerChange" value="{{index}}" range="{{wu_arr}}" range-key="name">
109   - <view >{{wu_arr[index].name}}</view>
110   - </picker>
111   - </view>
112   - </block>-->
113 22  
114 23 </view>
  24 +
115 25 <!-- 保障服务 -->
116 26 <view class="bz_view22 flex bdt16 ai_c" wx:if="{{bconfig.service_bz}}">
117 27 <image class="bzfu_img22" src="{{imgUrl}}/miniapp/images/bzfu_w.png"></image>
... ... @@ -124,23 +34,19 @@
124 34 </view>
125 35 </view>
126 36  
127   - <view class="coupon-mes flex-vertical">
  37 + <view class="coupon-mes flex-vertical">
128 38 <view>留言</view>
129 39 <view class="leave-word">
130 40 <input placeholder-class="fs28" placeholder='给商家留言,最多100字'bindinput="keyUpChangeNum" disabled="{{disabled}}" class="word-box" maxlength="100" name="user_note"></input>
131   -
132   - </view>
  41 + </view>
133 42 </view>
134   - </block>
  43 +
  44 +
  45 +
  46 +
  47 +
135 48  
136 49 <view class="information bdr14">
137   - <!-----使用余额------>
138   - <view class="set-mes" wx:if="{{userinfo.user_money>0 && yuer>0}}">
139   - <view class="use-item" bindtap='set_bn_useyuer' style="padding-left:0;padding-right:0;">
140   - <icon color="{{bn_use_money?'red':'gray'}}" size="16" type="success"></icon>
141   - <view class="yu_er">使用余额 :¥{{yuer}} </view>
142   - </view>
143   - </view>
144 50 <view class="item" wx:if="{{kt_type<3 || is_normal==1}}">
145 51 <view>商品金额</view>
146 52 <view class="co-red">¥ {{formData.all_price}}元</view>
... ... @@ -151,70 +57,18 @@
151 57 <view class="co-red">¥ {{formData.all_price}}元</view>
152 58 </view>
153 59  
154   - <view class="item" wx:if="{{formData.shipping_price>0}}">
155   - <view>配送费用</view>
156   - <view class="co-red">¥ {{formData.shipping_price}}元</view>
157   - </view>
158   - <view class="item" wx:if="{{formData.user_money>0}}">
159   - <view>使用余额</view>
160   - <view class="co-red">- ¥ {{formData.user_money}}元</view>
161   - </view>
162   -
163 60 </view>
164   - </view>
  61 +
165 62  
166 63 <view class="btn-wrap">
167 64 <view class="pay-amount">
168 65 <view class="payable">应付金额:<text class="co-red">¥{{formData.order_amount}}</text></view>
169   - <!-- <view class="co-red big"></view> -->
170 66 </view>
171 67 <button class="tips-btn" formType="submit" id="submitOrder">提交订单</button>
172 68 </view>
  69 +
  70 + </block>
  71 + </view>
173 72 </form>
174 73  
175   -<!----弹起选择物流名的列表---->
176   -<view wx:if='{{open_express==1}}' >
177   - <view class="cover-layer flex-center " bindtap='close_express'>
178   - </view>
179   -
180   - <view class="cx-popup radius {{open_express==1?'up' : 'down'}}" >
181   - <view class="tops flex">
182   - <view class="top-content fs32">
183   - <view>
184   - 选择物流名字
185   - </view>
186   - </view>
187   - <view class="close-frame" bindtap='close_express' >
188   - <view class="xc-close-express">×</view>
189   - </view>
190   - </view>
191   - <view class="express_list">
192   - <view wx:for="{{wu_arr}}" wx:for-item="express_list" wx:for-index="idx">
193   - <view class="express_list_frame" bindtap="click_express_name"
194   - data-shippingcode="{{express_list.shipping_code}}"
195   - data-name="{{express_list.name}}" data-idxe="{{idx}}">
196   -
197   - <block wx:if="{{is_express==idx}}">
198   - <view class="circle white xc-hook fs20 red-b"><text>Γ</text></view>
199   - </block>
200   - <block wx:else>
201   - <view class="circle xc-hooks"></view>
202   - </block>
203   - <view class="fs30">{{express_list.name}}</view>
204   -
205   - </view>
206   - </view>
207   - </view>
208   - <view class="flex click-buttem" >
209   - <view class="xc-determine flex-center" bindtap="determine_expres">
210   - <view class="flex-vertical t-c">确定</view>
211   - </view>
212   - <view class="xc-confirms flex-center" bindtap="select_default_logistics">
213   - <view class="flex-vertical t-c">设为默认</view>
214   - </view>
215   - </view>
216   -
217   - </view >
218   -</view>
219   -
220 74 <warn id="warn"></warn>
... ...
packageA/pages/serviceCard_pd/cart_wk/cart_wk.js 0 → 100644
  1 +// pages/cart/cart_wk/cart_wk.js
  2 +var t = getApp(),
  3 + oo = t.globalData.setting,
  4 + os=oo;
  5 +var ut=require("../../../../utils/util.js");
  6 +var util_pay=require("../../../../utils/pay.js");
  7 +var regeneratorRuntime = require('../../../../utils/runtime.js');
  8 +
  9 +Page({
  10 + /**
  11 + * 页面的初始数据
  12 + */
  13 + data: {
  14 + imgUrl: t.globalData.setting.imghost,
  15 + order_id: 0, //订单ID
  16 + order: null, //订单所有字段
  17 + user_addr: null, //会员地址
  18 + pickup: null, //门店
  19 + goods: null, //商品
  20 + /*------------------------*/
  21 + userinfo: null, //获取会员
  22 + /*----------物流选择--------*/
  23 + wu_arr: null,
  24 + index: 0,
  25 + is_express: 0,
  26 + //申请提现的金额
  27 + txmon: 0,
  28 + yuer: 0,
  29 + //判断页面是返回回来的还是 首次进入的
  30 + isclose: 1,
  31 +
  32 + //配送方式 0=用户自选 1=自提 2=物流
  33 + distr_type: 0,
  34 + //实际配送方式 0物流 1自提
  35 + exp_type: 1,
  36 + //------物流费用------
  37 + exp_price: 0,
  38 + enterAddressPage: 0, //进入地址页面
  39 + is_no_by: {},
  40 + allpice: 0,
  41 + show_pay_type: 0,
  42 +
  43 + teamgroup: null,
  44 + submit:1, //默认按钮是灰色
  45 + show_submit:0, //不线上
  46 +
  47 + dis_config: null,
  48 + bn_use_commission: 0, //是不是使用佣金
  49 +
  50 + bn_is_order_yh:1, //是不是订单优惠
  51 + bn_is_post_temp:1, //是不是进行计算包邮模板
  52 +
  53 + paying:0, //支付中
  54 + same_ok:1 //同城配送的控制
  55 +
  56 + },
  57 +
  58 + /**
  59 + * 生命周期函数--监听页面加载
  60 + */
  61 + onLoad: function (options) {
  62 +
  63 + //清空is_pick_up
  64 + getApp().request.put("/api/weshop/useraddress/updatePickUp", {
  65 + data: { user_id: getApp().globalData.user_id, is_pickup: 0 },
  66 + success: function (s) {
  67 + }
  68 + });
  69 +
  70 + var th = this;
  71 + this.data.order_id = options.order_id;
  72 + //--初始化--
  73 + getApp().getConfig2(function (e) {
  74 + var json_d = JSON.parse(e.switch_list);
  75 +
  76 + //测试强行写死,后面一定要删除
  77 + //json_d.pickupway=2;
  78 +
  79 +
  80 + th.data.json_d = json_d;
  81 + var is_default_logistics = json_d.is_default_logistics;
  82 + var is_same_city = json_d.is_same_city;
  83 + th.setData({ is_default_logistics: is_default_logistics,is_same_city:is_same_city });
  84 +
  85 + th.get_wuliu(th.get_info(th.show_page));
  86 + }, 1)
  87 +
  88 + //判断是不是佣金抵扣
  89 + getApp().is_distribut(this);
  90 +
  91 + },
  92 + /**
  93 + * 生命周期函数--监听页面显示
  94 + */
  95 + onShow: function () {
  96 +
  97 + ut.fy_back('',0);
  98 + this.data.paying=0;
  99 + util_pay.set_fir();
  100 + getApp().check_can_share();
  101 + var th = this;
  102 + if (th.data.isclose == 0) {
  103 + wx.navigateTo({
  104 + url: "/pages/index/index/index"
  105 + })
  106 + }
  107 + th.getuser_addr(function (addr) {
  108 + if (addr == null || addr == undefined || addr.length == 0) {
  109 + th.setData({ user_addr: null, enterAddressPage: 1,same_ok:1 });
  110 + } else {
  111 + th.setData({
  112 + user_addr: addr, enterAddressPage: 0,same_ok:1
  113 + });
  114 + }
  115 + })
  116 +
  117 + //--更新默认地址--,看一下是不是跳到地址页面
  118 + // if (!getApp().globalData.is_cart_old) {
  119 + // this.update_code();
  120 + // } else {
  121 + // getApp().globalData.is_cart_old = 0;
  122 + // }
  123 +
  124 + },
  125 + /**
  126 + * 用户点击右上角分享
  127 + */
  128 + onShareAppMessage: function () { getApp().globalData.no_clear=1 },
  129 + //---------------获取物流---------------
  130 + get_wuliu(func) {
  131 + var th = this,
  132 + to = getApp();
  133 + to.getwuliu(function (e) {
  134 + //如果第一个不是开启默认,说明要让用户自己选
  135 + if (!e[0].is_default) {
  136 + th.setData({ is_default_logistics: 0 });
  137 + }
  138 +
  139 + th.setData({ wu_arr: e })
  140 + typeof func == "function" && func();
  141 + })
  142 + },
  143 + //------获取会员信息-----先获取用户信息,在进行下一步---
  144 + get_info: function (func) {
  145 + var user_id = t.globalData.user_id,
  146 + to = getApp();
  147 + to.auth.get_u(func);
  148 + },
  149 +
  150 + //------获取会员收货地址-----
  151 + getuser_addr: function (func) {
  152 + var to = getApp(),
  153 + a = to.request;
  154 +
  155 + a.get("/api/weshop/useraddress/page", {
  156 + data: {
  157 + user_id: to.globalData.user_id,
  158 + store_id: oo.stoid,
  159 + pageSize: 600
  160 + },
  161 + success: function (su) {
  162 + var user_addr = su.data.data.pageData;
  163 + var item = null;
  164 + var def_item = null;
  165 + for (var i = 0; i < user_addr.length; i++) {
  166 + if (user_addr[i]['is_default'] == 1) { def_item = user_addr[i]; }
  167 + if (user_addr[i]['is_pickup'] == 1) { item = user_addr[i]; }
  168 + }
  169 +
  170 + if (item == null) item = def_item;
  171 + if (item == null) item = user_addr[0];
  172 + if (item == undefined) item = null;
  173 + func(item);
  174 + }
  175 + });
  176 +
  177 + },
  178 +
  179 + //----------------展示页面,是再获取用户信息之后--------------
  180 + show_page: function () {
  181 + var th = this,
  182 + to = getApp();
  183 + th.setData({
  184 + userinfo: to.globalData.userInfo,
  185 + });
  186 + //选获取地址
  187 + th.getuser_addr(function (addr) {
  188 +
  189 + if (addr == null || addr == undefined || addr.length == 0) {
  190 + th.setData({
  191 + enterAddressPage: 1,
  192 + });
  193 +
  194 + } else {
  195 + th.setData({
  196 + user_addr: addr, enterAddressPage: 0,
  197 + });
  198 + }
  199 + //获取立即购买的商品信息
  200 + th.get_buy_goods(th.data.order_id);
  201 + });
  202 + //获取提现金额
  203 + getApp().request.get("/api/weshop/withdrawals/summoney", {
  204 + data: {
  205 + user_id: to.globalData.user_id,
  206 + store_id: oo.stoid,
  207 + status: 0
  208 + },
  209 + success: function (su) {
  210 + console.log("withdrawals");
  211 + if (su.data.code == 0) {
  212 + var yuer = parseFloat(th.data.userinfo.user_money -
  213 + th.data.userinfo.frozen_money - su.data.data.summoney).toFixed(2);
  214 + th.setData({
  215 + txmon: su.data.data.summoney,
  216 + yuer: yuer
  217 + });
  218 + }
  219 + }
  220 + });
  221 + },
  222 +
  223 + //-----获取商品------
  224 + async get_buy_goods(ord) {
  225 + var order = null,
  226 + order_goods = null,
  227 + goods = null,
  228 + pickup = null,
  229 + distr_type = 0,
  230 + exp_type = 0,
  231 + teamgroup = null,
  232 + teamlist=null,
  233 + th = this;
  234 +
  235 + //---获取订单---
  236 + await getApp().request.promiseGet("/api/weshop/recharge/list", {
  237 + data:{store_id:oo.stoid,order_id: ord }
  238 + }).then(res => {
  239 + if(res.data.code==0 && res.data.data.length){
  240 + order = res.data.data[0];
  241 + }else{
  242 + wx.showToast({
  243 + title: "订单未找到",
  244 + icon: 'none',
  245 + duration: 2000
  246 + })
  247 + }
  248 + });
  249 +
  250 + if(!order) return false;
  251 +
  252 + //---获取订单从表---
  253 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/page", {
  254 + data: {
  255 + store_id: oo.stoid,
  256 + order_id: ord
  257 + }
  258 + }).then(res => {
  259 + if(ut.ajax_ok(res)){
  260 + order_goods = res.data.data.pageData[0];
  261 + }
  262 + });
  263 +
  264 + order.pt_listno=order_goods.pt_listno;
  265 + order.pt_status=order_goods.pt_status;
  266 + order.pt_prom_id=order_goods.prom_id;
  267 + order.pt_tail_money=order_goods.pt_tail_money;
  268 + order.tail_pay_type=order_goods.tail_pay_type;
  269 + order.pickup_id=order_goods.pickup_id;
  270 + order.order_amount=order.account;
  271 + order_goods.goods_num=order_goods.qty;
  272 +
  273 + //---获取商品---
  274 + await getApp().request.promiseGet("/api/weshop/serviceCard/get/" + oo.stoid + "/" + order_goods.card_id, {}).then(res => {
  275 + goods = res.data.data;
  276 + order.show_img = oo.imghost + goods.img_url;
  277 + });
  278 + //---获取门店---
  279 + await getApp().request.promiseGet("/api/weshop/pickup/get/" + oo.stoid + "/" + order.pickup_id, {}).then(res => {
  280 + pickup = res.data.data;
  281 + });
  282 +
  283 + //---获取尾款价格---
  284 + await getApp().request.promiseGet("/api/weshop/teamgroup/page", {
  285 + data: { store_id: oo.stoid, team_id: order.pt_prom_id, listno: order.pt_listno }
  286 + }).then(res => {
  287 + teamgroup = res.data.data.pageData[0];
  288 + });
  289 +
  290 + await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + order.pt_prom_id, {
  291 + data: { }
  292 + }).then(res => {
  293 + if(res.data.code==0) teamlist=res.data.data;
  294 + });
  295 +
  296 +
  297 + var act_set=null;
  298 + var url = '/api/weshop/activitylist/getActInfo1/'+os.stoid+'/6/'+order.pt_prom_id;
  299 + await getApp().promiseGet(url, {}).then(res => {
  300 + if(res.data.code==0){
  301 + act_set=res.data.data;
  302 + }
  303 + })
  304 +
  305 +
  306 + // if(act_set.is_order_yh){
  307 + // th.data.bn_is_order_yh=1;
  308 + // }else{
  309 + // th.data.bn_is_order_yh=0;
  310 + // }
  311 + th.data.bn_is_order_yh=0;
  312 + th.data.bn_is_post_temp=0;
  313 +
  314 + // if(act_set.is_post_temp){
  315 + // th.data.bn_is_post_temp=1;
  316 + // }else{
  317 + // th.data.bn_is_post_temp=0;
  318 + // }
  319 +
  320 +
  321 + var jsarr = JSON.parse(teamgroup.jt_json);
  322 + var count = teamgroup.jt_ct_num;
  323 + if(teamgroup.is_xuni_ct) count=teamlist.ct_num;
  324 +
  325 + //要计算尾款的价钱
  326 + var price = 0;
  327 + jsarr.forEach(function (value, index) {
  328 + if (count >= value['rynum']) price = value['price'];
  329 + })
  330 + var tail_money = (price * order_goods.goods_num - order['order_amount']).toFixed(2);
  331 +
  332 + tail_money = parseFloat(tail_money);
  333 + order.tail_money = tail_money;
  334 +
  335 + if (!goods) return false;
  336 +
  337 + if(goods.is_minishop==1 && getApp().is_sp_hao()){
  338 +
  339 + if(goods.distr_type==1 || pickup.distr_type==1) {
  340 + wx.showToast({
  341 + title: "视频号仅支持物流",
  342 + icon: 'none',
  343 + duration: 2000
  344 + })
  345 +
  346 + setTimeout(function(){
  347 + wx.navigateBack({delta: 1})
  348 + },1000)
  349 +
  350 + return false
  351 + }
  352 +
  353 + goods.distr_type=2;
  354 + th.setData({show_same_city:0})
  355 +
  356 + }
  357 +
  358 + //--判断物流--
  359 + if (goods.distr_type)
  360 + distr_type = goods.distr_type;
  361 + else
  362 + distr_type = pickup.distr_type;
  363 +
  364 +
  365 + //-- 如果商品有同城配送的参数的时候,一件代发商品不能显示同城配送按钮 --
  366 + if(goods.is_same_city && th.data.is_same_city && goods.whsle_id<=0){
  367 + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+order.pickup_id, {}).then(res=>{
  368 + if(res.data.code==0){
  369 + var pk=res.data.data;
  370 + if(pk && pk.is_same_city){
  371 + th.setData({show_same_city:1})
  372 + }
  373 + }
  374 + })
  375 + }
  376 +
  377 + exp_type = 1;
  378 + order.order_goods = order_goods;
  379 +
  380 + //-- 计算获得佣金的金额 --
  381 + if (getApp().globalData.userInfo.is_distribut
  382 + && th.data.dis_config && th.data.dis_config.is_yongjin_dk) {
  383 + var fir_num = 0;
  384 + var sec_num = 0;
  385 + var thi_num = 0;
  386 + if (th.data.dis_config.pattern == 1) {
  387 + fir_num = (teamlist.fir_rate || 0) * order_goods.goods_num;
  388 + sec_num = (teamlist.sec_rate || 0) * order_goods.goods_num;
  389 + thi_num = (teamlist.thi_rate || 0) * order_goods.goods_num;
  390 + } else {
  391 + fir_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2);
  392 + sec_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2);
  393 + thi_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2);
  394 + }
  395 + var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th);
  396 + goods.use_commission = parseFloat(c_num.toFixed(2));
  397 +
  398 + }
  399 +
  400 + this.setData({
  401 + order: order,
  402 + distr_type: distr_type,
  403 + pickup: pickup,
  404 + exp_type: exp_type,
  405 + goods: goods,
  406 + teamgroup: teamgroup,
  407 + teamlist: teamlist,
  408 + });
  409 +
  410 + //--计算价格--
  411 + th.calculatePrice2();
  412 + },
  413 +
  414 +
  415 + calculatePrice2: async function () {
  416 + wx.showLoading();
  417 + var th = this;
  418 + th.setData({submit: 1})
  419 +
  420 + var allpice = th.data.order.order_amount + th.data.order.user_money + th.data.order.tail_money;
  421 + var o_condition = allpice;
  422 + var ord_prom=null;
  423 + var order_prom_amount=0;
  424 +
  425 + if (th.data.bn_is_order_yh) {
  426 + await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
  427 + data: {store_id: os.stoid, orderAmount: o_condition, user_id: getApp().globalData.user_id}
  428 + }).then(res => {
  429 + if (res.data.code == 0) {
  430 + ord_prom = res.data.data;
  431 + }
  432 + })
  433 + }
  434 +
  435 + th.data.ord_prom=ord_prom;
  436 +
  437 + //--计算物流--
  438 + if (th.data.exp_type == 0) {
  439 + th.calculate_wuliu();
  440 + return false;
  441 + }else if(th.data.exp_type == 2){
  442 + th.calculate_same_city();
  443 + return false;
  444 + } else {
  445 +
  446 + var order_prom_id=0;
  447 + if (ord_prom) {
  448 + order_prom_id = ord_prom['id'];
  449 + switch (ord_prom['type']) {
  450 + case 0:
  451 + allpice = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
  452 + order_prom_amount = (o_condition - order_m).toFixed(2);
  453 + break;
  454 + case 1:
  455 + //-- 如果有优惠促销倍减的时候 --
  456 + var bs = 1;
  457 + if (ord_prom.is_bz) {
  458 + bs = Math.floor(o_condition / ord_prom.money);
  459 + }
  460 + allpice = o_condition - bs * ord_prom['expression'];//满额优惠金额
  461 + order_prom_amount = ord_prom['expression'];
  462 + break;
  463 + }
  464 + }
  465 +
  466 +
  467 + //--订单优惠的显示--
  468 + var order_prom_txt1 = "formData.order_prom_id";
  469 + var order_prom_txt2 = "formData.order_prom_amount";
  470 + if (order_prom_id > 0) {
  471 + th.setData({[order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount})
  472 + } else {
  473 + th.setData({[order_prom_txt1]: 0, [order_prom_txt2]: 0})
  474 + }
  475 +
  476 + if (th.data.bn_use_commission) {
  477 + allpice -= th.data.goods.use_commission;
  478 + }
  479 +
  480 +
  481 + allpice = allpice.toFixed(2);
  482 +
  483 + th.setData({exp_price: 0, allpice: allpice, submit: 0, show_submit: 1})
  484 + wx.hideLoading();
  485 + }
  486 + },
  487 +
  488 + //--图片失败,默认图片--
  489 + bind_bnerr: function (e) {
  490 + var _errImg = e.target.dataset.errorimg;
  491 + var _errObj = {};
  492 + _errObj[_errImg] = this.data.imgUrl + "/miniapp/images/del/logo.jpg";
  493 + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  494 + },
  495 +
  496 + //-------------------获取物流---------------
  497 + get_wuliu(func) {
  498 + var th = this, to = getApp();
  499 + to.getwuliu(function (e) {
  500 + th.setData({
  501 + wu_arr: e
  502 + })
  503 + typeof func == "function" && func();
  504 + })
  505 + },
  506 +
  507 + //--------点击选择----------
  508 + set_wuliu: function (e) {
  509 + var type = e.currentTarget.dataset.type, th = this;
  510 + this.setData({
  511 + exp_type: type,same_ok:1
  512 + });
  513 + //--计算物流的值--
  514 + if (type == 0) {
  515 + th.calculate_wuliu();
  516 + } else if(type==1){
  517 + var allpice = parseFloat(th.data.order.order_amount)
  518 + + parseFloat(th.data.order.user_money)
  519 + + parseFloat(th.data.order.tail_money);
  520 + allpice = allpice.toFixed(2);
  521 + this.setData({
  522 + allpice: allpice, exp_price: 0,show_submit:1,submit:0
  523 + });
  524 + }else{
  525 + th.calculate_same_city();
  526 + }
  527 + },
  528 +
  529 + //关闭支付
  530 + close_show_pay: function () {
  531 + this.setData({ show_pay_type: 0 });
  532 + },
  533 +
  534 + //--弹起支付框--
  535 + to_pay() {
  536 + //如果有再计算价格的过程中,不能提交订单
  537 + if(this.data.submit){ return false}
  538 + if(!this.data.same_ok){ return false}
  539 + this.set_pay_type(1);
  540 + },
  541 +
  542 + //选择支付方式,服务卡项固定微信支付
  543 + set_pay_type: function (e) {
  544 + if(this.data.paying) return false;
  545 + this.data.paying=1;
  546 + this.to_pay_type(0);
  547 + },
  548 +
  549 + //--立即支付--
  550 + to_pay_type: function (ind) {
  551 + var th = this;
  552 +
  553 +
  554 + th.data.exp_type=parseInt(th.data.exp_type+'');
  555 + //---支付参数--
  556 + var dd = {
  557 + order_sn: th.data.order.order_sn,
  558 + order_id: th.data.order.order_id,
  559 + store_id: oo.stoid,
  560 + exp_type: th.data.exp_type,
  561 + user_id: t.globalData.user_id,
  562 + listno: th.data.order.pt_listno,
  563 + prom_id: th.data.order.pt_prom_id,
  564 + tail_pay_type: ind,//0微信支付 1余额支付
  565 + };
  566 +
  567 + if(getApp().globalData.scene){
  568 + dd.scene=getApp().globalData.scene;
  569 + }
  570 +
  571 + if(th.data.bn_use_commission){
  572 + dd.use_commission=th.data.goods.use_commission;
  573 + }
  574 +
  575 + if(th.data.bn_use_commission){
  576 + dd.use_commission=th.data.goods.use_commission;
  577 + }
  578 +
  579 + //--判断有没有优惠活动--
  580 + if (th.data.formData.order_prom_amount > 0) {
  581 + var order_prom_list = {};
  582 + order_prom_list.order_prom_id = th.data.formData.order_prom_id;
  583 + order_prom_list.order_prom_amount = th.data.formData.order_prom_amount;
  584 + dd.order_prom_list = order_prom_list;
  585 + }
  586 +
  587 + var arr = [];
  588 + arr.push(dd);
  589 + console.log(JSON.stringify(arr));
  590 +
  591 + wx.request({
  592 + url: oo.url + '/api/weshop/order/pay/payTuanWkCard',
  593 + data: JSON.stringify(arr),
  594 + method: 'POST',
  595 + header: {
  596 + 'content-type': 'application/json'
  597 + },// 设置请求的 header
  598 + success: function (t) {
  599 +
  600 + //---用微信支付---
  601 + if (dd.tail_pay_type == 0) {
  602 +
  603 + if (t.data.code != 0) {
  604 + getApp().my_warnning(t.data.msg, 1, th);
  605 + th.data.paying=0;
  606 + return false;
  607 + }
  608 +
  609 + util_pay.pay_data(t,function (){
  610 + var allmoney = th.data.allpice;
  611 + th.jumpPaymentPage(th.data.order.order_id, allmoney);
  612 + },function (){
  613 + th.data.paying=0;
  614 + //getApp().my_warnning("支付失败", 0, th);
  615 + })
  616 +
  617 + } else {
  618 + if (t.data.code == 0) {
  619 + //---用余额支付---
  620 + // getApp().my_warnning("支付成功", 1, th);
  621 + wx.showToast({
  622 + title: '支付成功',
  623 + icon: 'success',
  624 + duration: 2000
  625 + });
  626 + setTimeout(function () {
  627 + th.setData({ isclose: 0 });
  628 + th.data.paying=0;
  629 + wx.redirectTo({
  630 + url: "/pages/user/order_list/order_list?index=1"
  631 + })
  632 + }, 1000)
  633 + } else {
  634 +
  635 + th.data.paying=0;
  636 + getApp().my_warnning(t.data.msg, 1, th);
  637 + }
  638 + }
  639 + }
  640 + });
  641 + },
  642 +
  643 + //检查区域是不是包邮
  644 + check_area: function (arr) {
  645 + var user_addr = this.data.user_addr;
  646 + if (!user_addr) return 0;
  647 + for (var i in arr) {
  648 + var item = arr[i];
  649 + if (user_addr.twon == item || user_addr.district == item
  650 + || user_addr.city == item || user_addr.province == item) {
  651 + return 0;
  652 + }
  653 + }
  654 + return 1;
  655 + },
  656 +
  657 + //检查立即购买的商品是不是不包邮
  658 + check_good: function (arr, goods_id) {
  659 + if (!goods_id) goods_id = this.data.goods.goods_id;
  660 + for (var i in arr) {
  661 + var item = arr[i];
  662 + if (goods_id == item) return 0;
  663 + }
  664 + return 1;
  665 + },
  666 + check_by_area: function (region_list) {
  667 + var arr = region_list.split(",");
  668 + var check = this.check_area(arr);
  669 + return !check;
  670 + },
  671 + check_by_goods: function (goods_list, goods_id) {
  672 + var arr = goods_list.split(",");
  673 + var check = this.check_good(arr, goods_id);
  674 + return !check;
  675 + },
  676 +
  677 + //------------循环获取config-----------
  678 + get_wuliu_config: function (region_id, code, rs) {
  679 + var item = null, rslist = rs.pageData;
  680 + for (var i = 0; i < rslist.length; i++) {
  681 + if (rslist[i].code == code && rslist[i].region_id == region_id) { item = rslist[i]; }
  682 + }
  683 + return item;
  684 + },
  685 + //-------循环获取config,code default-------
  686 + get_wuliu_default: function (code, rs) {
  687 + var item = null, rslist = rs.pageData;
  688 + for (var i = 0; i < rslist.length; i++) {
  689 + if (rslist[i].shipping_code == code && rslist[i].is_default == 1) { item = rslist[i]; }
  690 + }
  691 + return item;
  692 + },
  693 +
  694 +
  695 + //------支付成功页面--------
  696 + jumpPaymentPage: function (order_id, order_amount) {
  697 + wx.setStorageSync("order:order_list:update", !0), wx.redirectTo({
  698 + url: "/pages/payment/pay_success/pay_success?order_id=" + order_id + "&type=1&card=1",
  699 + });
  700 + },
  701 +
  702 + //------调起支付框--------
  703 + weixinPay: function (n, success, fail) {
  704 + if (!n) return false;
  705 + var th = this;
  706 +
  707 + getApp().globalData.no_clear=1;
  708 +
  709 + wx.requestPayment({
  710 + timeStamp: String(n.timeStamp),
  711 + nonceStr: n.nonceStr,
  712 + package: n.packageValue,
  713 + signType: n.signType,
  714 + paySign: n.paySign,
  715 + success: function (n) {
  716 + // console.log(n), getApp().showSuccess("支付成功!");
  717 + wx.showToast({
  718 + title: '支付成功',
  719 + icon: 'success',
  720 + duration: 2000
  721 + });
  722 + "function" == typeof success && success();
  723 + },
  724 + fail: function (n) {
  725 + console.log(n), "requestPayment:fail" == n.errMsg ? getApp().my_warnning("支付失败", 0, th) : "requestPayment:fail cancel" == n.errMsg ? getApp().my_warnning("您已取消支付", 0, th) : getApp().my_warnning("支付失败:" + n.errMsg.substr("requestPayment:fail ".length), 0, th),
  726 + "function" == typeof fail && fail();
  727 + }
  728 + });
  729 + },
  730 +
  731 +
  732 + //使用
  733 + set_bn_commission:function(){
  734 + var th = this;
  735 + th.setData({bn_use_commission: !th.data.bn_use_commission});
  736 + th.calculatePrice2();
  737 + }
  738 +
  739 +})
0 740 \ No newline at end of file
... ...
packageA/pages/serviceCard_pd/cart_wk/cart_wk.json 0 → 100644
  1 +{
  2 + "navigationBarTitleText": "支付尾款",
  3 + "usingComponents": {
  4 + "warn": "/components/long_warn/long_warn"
  5 + }
  6 +}
0 7 \ No newline at end of file
... ...
packageA/pages/serviceCard_pd/cart_wk/cart_wk.wxml 0 → 100644
  1 +<wxs module="filters" src="../../../../utils/filter.wxs"></wxs>
  2 +
  3 +<!--头部门店显示-->
  4 +<view class='top bdr_t-14 flex'>
  5 + <image class="t_img" src='{{imgUrl}}/miniapp/images/goodscategory/new_store.png'></image>
  6 + <view class='t_wz'>{{pickup.pickup_name}}</view>
  7 +</view>
  8 +
  9 +<!--商品图片显示-->
  10 +<view class='center'>
  11 + <view class='cen_img'>
  12 + <image src="{{order.show_img}}" binderror="bind_bnerr" data-errorimg="order.show_img"></image>
  13 + </view>
  14 +
  15 + <view class="details-container">
  16 + <view class='cen_name ellipsis-3'>{{order.order_goods.service_name}}</view>
  17 + <view class="flex jc_sb">
  18 + <view class='cen_jg'>¥{{order.order_goods.price}}</view>
  19 + <view class='cen_sl'>x{{order.order_goods.qty}}</view>
  20 + </view>
  21 + </view>
  22 +
  23 +</view>
  24 +
  25 +<view class="use-item bdr_b-14 jc_sb" wx:if='{{exp_type==0 && !is_default_logistics}}'>
  26 + <view>选择物流:</view>
  27 + <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index' style="margin-right: 8rpx;">
  28 + <view class="logistics-name">{{wu_arr[index].name}}</view><view class="xc-right"></view>
  29 + </view>
  30 +</view>
  31 +
  32 +<!--成团人数-->
  33 +<view class='chentuan bdr14'>
  34 + <view class='ct_one jc_sb'>
  35 + <view class='ct_one_left'>成团人数</view>
  36 + <view class='ct_one_right'>
  37 + <text wx:if="{{teamgroup.is_xuni_ct}}" class='redwz'>{{teamgroup.jt_ct_num}}</text>
  38 + <text wx:else class='redwz'>{{teamgroup.jt_ct_num}}</text>
  39 + 人
  40 + </view>
  41 + </view>
  42 + <view class='ct_one jc_sb'>
  43 + <view class='ct_one_left'>成团金额</view>
  44 + <view class='ct_one_right'><text class='redwz'>¥{{filters.toFix(order.account+order.tail_money,2)}}</text></view>
  45 + </view>
  46 +
  47 + <view class='ct_one jc_sb'>
  48 + <view class='ct_one_left'>支付定金</view>
  49 + <view class='ct_one_right'><text class='redwz'>¥{{filters.toFix(order.account,2)}}</text>
  50 + </view>
  51 + </view>
  52 +</view>
  53 +
  54 +<!--尾款-->
  55 +<view class='chentuan bdr14'>
  56 + <view class='ct_one jc_sb'>
  57 + <view class='ct_one_left'>尾款金额</view>
  58 + <view class='ct_one_right'>
  59 + <text class='redwz'>¥{{order.tail_money}}</text>
  60 + </view>
  61 + </view>
  62 + <view class='ct_one jc_sb' wx:if="{{exp_price>0}}">
  63 + <view class='ct_one_left'>配送费用</view>
  64 + <view class='ct_one_right'>
  65 + <text class='redwz'>¥{{exp_price}}</text>
  66 + </view>
  67 + </view>
  68 + <!-- 订单优惠优惠金额 -->
  69 + <view class="ct_one jc_sb" wx:if="{{formData.order_prom_amount>0}}">
  70 + <view>订单优惠</view>
  71 + <view class="co-red">- ¥ {{filters.toFix(formData.order_prom_amount, 2)}}</view>
  72 + </view>
  73 +</view>
  74 +
  75 +
  76 +<!-----使用佣金抵扣,只有佣金小于尾款金额的时候------>
  77 +<view class="set-mes mgt20" wx:if="{{goods.use_commission>0 && can_commission && goods.use_commission<order.tail_money+exp_price}}">
  78 + <view class="use-item" bindtap='set_bn_commission'>
  79 + <icon color="{{bn_use_commission?'red':'gray'}}" size="16" type="success"></icon>
  80 + <view class="yu_er">使用佣金 :¥{{goods.use_commission}} </view>
  81 + </view>
  82 +</view>
  83 +
  84 +<view style="height:100rpx"></view>
  85 +
  86 +
  87 +<!--支付-->
  88 +<view class='zf shadow'>
  89 + <!-- <view class='zf_left'>
  90 + <text class='zf_left_wz'>支付合计:</text>
  91 + <text class='zf_left_red'>¥{{filters.toFix(order.tail_money+exp_price,2)}}</text>
  92 + </view> -->
  93 + <view class='zf_left'>支付合计:<text class='zf_left_red'>¥{{filters.toFix(order.tail_money+exp_price-(bn_use_commission?goods.use_commission:0)-formData.order_prom_amount ,2)}}</text></view>
  94 + <view class="zf_btn {{(submit || !same_ok)?'gray':''}}" bindtap="to_pay">支付尾款</view>
  95 +</view>
  96 +
  97 +
  98 +<!--支付的方式选择,0微信支付 1余额支付-->
  99 +<block wx:if="{{show_pay_type}}">
  100 + <view class="cover-layer" bindtap="close_show_pay"></view>
  101 + <view class="pay_type_view">
  102 + <view class="title">请选择支付方式</view>
  103 + <view class="anniu_view">
  104 + <view bindtap="set_pay_type" data-type="0" >微信支付</view>
  105 + <view bindtap="set_pay_type" data-type="1" >余额支付</view>
  106 + </view>
  107 + </view>
  108 +</block>
  109 +
  110 +<warn id="warn"></warn>
  111 +
  112 +<!----弹起选择物流名的列表---->
  113 +<view wx:if='{{open_express==1}}' >
  114 + <view class="cover-layer flex-center " bindtap='close_express'>
  115 + </view>
  116 +
  117 + <view class="cx-popup radius {{open_express==1?'up' : 'down'}}" >
  118 + <view class="tops flex">
  119 + <view class="top-content fs32">
  120 + <view>
  121 + 选择物流名字
  122 + </view>
  123 + </view>
  124 + <view class="close-frame" bindtap='close_express' >
  125 + <view class="xc-close-express">×</view>
  126 + </view>
  127 + </view>
  128 + <view class="express_list">
  129 + <view wx:for="{{wu_arr}}" wx:for-item="express_list" wx:for-index="idx">
  130 + <view class="express_list_frame" bindtap="click_express_name"
  131 + data-shippingcode="{{express_list.shipping_code}}"
  132 + data-name="{{express_list.name}}" data-idxe="{{idx}}">
  133 +
  134 + <block wx:if="{{is_express==idx}}">
  135 + <view class="circle white xc-hook fs20 red-b"><text>Γ</text></view>
  136 + </block>
  137 + <block wx:else>
  138 + <view class="circle xc-hooks"></view>
  139 + </block>
  140 + <view class="fs30">{{express_list.name}}</view>
  141 +
  142 + </view>
  143 + </view>
  144 + </view>
  145 + <view class="flex click-buttem" >
  146 + <view class="xc-determine flex-center" bindtap="determine_expres">
  147 + <view class="flex-vertical t-c">确定</view>
  148 + </view>
  149 + <view class="xc-confirms flex-center" bindtap="select_default_logistics">
  150 + <view class="flex-vertical t-c">设为默认</view>
  151 + </view>
  152 + </view>
  153 +
  154 + </view >
  155 +</view>
  156 +<view style="height: 50rpx"></view>
  157 +
... ...
packageA/pages/serviceCard_pd/cart_wk/cart_wk.wxss 0 → 100644
  1 +page{ color: #333;}
  2 +.bdr_t-14 {
  3 + border-top-left-radius: 14rpx;
  4 + border-top-right-radius: 14rpx;
  5 +}
  6 +.bdr_b-14 {
  7 + border-bottom-left-radius: 14rpx;
  8 + border-bottom-right-radius: 14rpx;
  9 +}
  10 +.bdr14 {
  11 + border-radius: 14rpx;
  12 +}
  13 +.mgt20 {
  14 + margin-top: 20rpx;
  15 +}
  16 +.shadow {
  17 + box-shadow: 0 4rpx 12px #e7e9eb;
  18 +}
  19 +.shadow-1 {
  20 + box-shadow: 16rpx 0px 12px #e7e9eb;
  21 +}
  22 +
  23 +page {
  24 + background-color: #F0F0F0;
  25 + padding: 0 22rpx;
  26 + box-sizing: border-box;
  27 +}
  28 +
  29 +.user-mes {
  30 + position: relative;
  31 + background-color: #fff;
  32 + font-size: 32rpx;
  33 + color: #444;
  34 + /* margin-top: 28rpx; */
  35 + border-radius: 14rpx;
  36 +}
  37 +.user-contact {
  38 + padding: 24rpx 26rpx;
  39 + font-weight: 600;
  40 +}
  41 +
  42 +.location {
  43 + position: relative;
  44 + padding: 0 70rpx 24rpx;
  45 +}
  46 +
  47 +.pos-icon {
  48 + position: absolute;
  49 + left: 28rpx;
  50 + top: 6rpx;
  51 + width: 30rpx;
  52 + height: 36rpx;
  53 +}
  54 +
  55 +.border-img {
  56 + width: 100%;
  57 + height: 16rpx;
  58 +}
  59 +
  60 +.update-logistics {
  61 + position: absolute;
  62 + right: 0;
  63 + top: 0;
  64 + width: 80rpx;
  65 + height: 100%;
  66 + display: flex;
  67 + align-items: center;
  68 + justify-content: center;
  69 +}
  70 +
  71 +.arrow-rigth {
  72 + width: 32rpx;
  73 + height: 32rpx;
  74 +}
  75 +
  76 +.order-meg {
  77 + margin-bottom: 20rpx;
  78 + font-size: 28rpx;
  79 +
  80 +}
  81 +
  82 +.order-detail {
  83 + padding: 30rpx 0;
  84 + border-bottom: 1px solid #ddd;
  85 + color: #777;
  86 + min-height: 100rpx;
  87 + background-color: #fff;
  88 +
  89 +}
  90 +
  91 +.top {
  92 + background-color: white;
  93 + height: 40px;
  94 + display: flex;
  95 + padding: 0 26rpx;
  96 + /* border-bottom: 2rpx solid rgb(238, 238, 238); */
  97 + margin-top: 20rpx;
  98 + align-items: center;
  99 +}
  100 +
  101 +.t_img {
  102 + display: block;
  103 + width: 50rpx;
  104 + height: 50rpx;
  105 + margin-left:-6rpx;
  106 +}
  107 +
  108 +.t_wz {
  109 + font-size: 30rpx;
  110 + /* font-weight: bold; */
  111 + color: rgb(0, 0, 0);
  112 + line-height: 65rpx;
  113 + /* margin-left: 18rpx; */
  114 +}
  115 +
  116 +.center {
  117 + box-sizing: border-box;
  118 + background-color: white;
  119 + width: 100%;
  120 + min-height: 80rpx;
  121 + display: flex;
  122 + padding: 24rpx 26rpx;
  123 + border-bottom: 2rpx solid #eee;
  124 +}
  125 +
  126 +.center .cen_img {
  127 + width: 200rpx;
  128 + height: 200rpx;
  129 + border-radius: 14rpx;
  130 + overflow: hidden;
  131 + flex-shrink: 0;
  132 +}
  133 +
  134 +.center .cen_img image {
  135 + display: block;
  136 + width: 100%;
  137 + height: 100%;
  138 +}
  139 +
  140 +.details-container {
  141 + display: flex;
  142 + padding-left:20rpx;
  143 + flex:1;
  144 + flex-direction: column;
  145 + justify-content: space-between;
  146 +}
  147 +
  148 +.center .cen_name {
  149 + height: 120rpx;
  150 + font-size: 30rpx;
  151 +}
  152 +
  153 +.center .cen_jg {
  154 + color: #c4182e;
  155 + font-size: 32rpx;
  156 + width: 200rpx;
  157 + height: 40rpx;
  158 +}
  159 +
  160 +.center .cen_jg .cen_sl {
  161 + color: black;
  162 + font-size: 26rpx;
  163 + width: 200rpx;
  164 + height: 38rpx;
  165 +}
  166 +
  167 +.quhou {
  168 + box-sizing: border-box;
  169 + background-color: white;
  170 + border-bottom: 2rpx solid #eee;
  171 + font-size: 28rpx;
  172 + height: 92rpx;
  173 + display: flex;
  174 + align-items: center;
  175 + padding: 0 26rpx;
  176 +}
  177 +
  178 +.quhou .qu_fs {
  179 + font-size: 30rpx;
  180 + display: flex;
  181 + height: 60rpx;
  182 + /* margin-left: 25rpx; */
  183 + line-height: 62rpx;
  184 + margin-right: 20rpx;
  185 +}
  186 +
  187 +.quhou .qu_fs image {
  188 + width: 34rpx;
  189 + height: 34rpx;
  190 + margin-right: 18rpx;
  191 + vertical-align: center;
  192 + position: relative;
  193 + top:14rpx
  194 +}
  195 +
  196 +.quhou .qu_fs .qu_wz {}
  197 +
  198 +.chentuan {
  199 + box-sizing: border-box;
  200 + width: 100%;
  201 + min-height: 90rpx;
  202 + background-color: white;
  203 + padding: 20rpx 26rpx;
  204 + margin-top: 20rpx;
  205 + font-size: 28rpx;
  206 +}
  207 +
  208 +.chentuan .ct_one {
  209 + /* height: 40rpx; */
  210 + /* margin-bottom: 10rpx; */
  211 + display: flex;
  212 + line-height: 60rpx;
  213 + font-size: 30rpx;
  214 + /* width: 708rpx; */
  215 +}
  216 +
  217 +.chentuan .ct_one .ct_one_left {
  218 + /* margin-left: 10rpx; */
  219 +}
  220 +
  221 +.chentuan .ct_one .ct_one_right {
  222 + text-align: right;
  223 + width: 200rpx;
  224 +}
  225 +
  226 +.redwz {
  227 + color: #c4182e;
  228 +}
  229 +
  230 +.zf {
  231 + /* background-color: white;
  232 + width: 100%;
  233 + min-height: 80rpx;
  234 + line-height: 80rpx;
  235 + font-size: 30rpx;
  236 + position: fixed;
  237 + bottom: 0;
  238 + text-align: right; */
  239 +
  240 + height: 94rpx;
  241 + box-sizing: border-box;
  242 + display: flex;
  243 + justify-content: space-between;
  244 + background-color: white;
  245 + align-items: center;
  246 + position: fixed;
  247 + bottom: 0;
  248 + left: 0;
  249 + width: 100%;
  250 + padding: 0 30rpx;
  251 +}
  252 +
  253 +.zf view{
  254 + display: inline-block;
  255 +}
  256 +
  257 +.zf .zf_left {
  258 + text-align: right;
  259 + margin-right: 20rpx;
  260 +}
  261 +
  262 +.zf_btn {
  263 + /* color: white;
  264 + background-color: #c4182e;
  265 + font-size: 28rpx;
  266 + width: 170rpx;
  267 + text-align: center;
  268 + line-height: 80rpx; */
  269 + /* float: right;
  270 + width: 200rpx;
  271 + height: 100rpx;
  272 + line-height: 100rpx;
  273 + text-align: center;
  274 + font-size: 30rpx;
  275 + color: #fff;
  276 + background-color: #f23030; */
  277 + color: white;
  278 + background-color: #FE4445;
  279 + height: 72rpx;
  280 + line-height: 72rpx;
  281 + padding: 0 42rpx;
  282 + border-radius: 36rpx;
  283 + margin-left: 0;
  284 + margin-right: 0;
  285 +}
  286 +
  287 +.zf .zf_left .zf_left_red {
  288 + color: #c4182e;
  289 +}
  290 +
  291 +.zf_btn.gray{
  292 + background-color:darkgrey;
  293 +}
  294 +
  295 + /*----------nyf新增,地址---------*/
  296 +.add_new{
  297 + box-sizing: border-box;
  298 + height: 92rpx;
  299 + padding: 0 26rpx;
  300 + display: flex;
  301 + align-items: center;
  302 + /* line-height: 60rpx; */
  303 +}
  304 +.addr_jia{
  305 + width: 45rpx;
  306 + height: 45rpx;
  307 + border: 1rpx solid #ddd;
  308 + margin-right: 15rpx;
  309 + /* margin-left: 20rpx; */
  310 + vertical-align: middle;
  311 +}
  312 +.yu_er{margin-left: 15rpx;} .wuliu{margin-left: 20rpx;}
  313 +
  314 +
  315 +.use-item{
  316 + display: flex;
  317 + align-items: center;
  318 + height: 92rpx;
  319 + /* border-bottom: 1px solid #ddd; */
  320 + font-size: 30rpx;
  321 + padding:0 26rpx;
  322 + background: #fff;
  323 +}
  324 +.use-item>view{
  325 + display: flex;margin-right: 20rpx;
  326 +}
  327 +.use-item.bfff{ background-color: #fff;}
  328 +.use-item .dp{width: 56rpx; height: 56rpx;}
  329 +
  330 +.pay_type_view{width: 500rpx;height: 220rpx; position: fixed; background: #fff;z-index: 12;
  331 + left: 50%; margin-left: -250rpx; top: 50%; margin-top: -110rpx; text-align: center; border-radius: 12rpx;}
  332 + .pay_type_view .title{ height:100rpx; line-height: 100rpx; border-bottom: 1rpx solid #ededed;}
  333 +.anniu_view{display: flex;height: 120rpx; line-height: 120rpx;}
  334 +.anniu_view>view{width: 50%; border-right:1rpx solid #ededed;}
  335 +
  336 +
  337 +.tab-container {
  338 + font-size: 28rpx;
  339 + margin-top: 20rpx;
  340 + display: flex;
  341 +}
  342 +
  343 +.tab-wrapper {
  344 + background-color: #ccc;
  345 + display: flex;
  346 + border-radius: 40rpx;
  347 + overflow: hidden;
  348 +}
  349 +
  350 +.tab {
  351 + padding: 20rpx 30rpx;
  352 +
  353 +}
  354 +
  355 +
  356 +.tab.active {
  357 + background-color: white;
  358 + border-radius: 40rpx;
  359 +}
  360 +
  361 +.xc-right{
  362 + width:20rpx;
  363 + height:20rpx;
  364 + border-top:2rpx solid #666;
  365 + border-right:2rpx solid #666;
  366 + transform:rotate(45deg);
  367 + display:inline-block;
  368 +}
  369 +
  370 +
  371 +/* 自定义弹出窗口 */
  372 +.cx-popup{
  373 + width:100%;
  374 + height:880rpx;
  375 + background: #fff;
  376 + z-index: 35;
  377 + border-top-left-radius: 20rpx;
  378 + border-top-right-radius: 20rpx;
  379 + position:fixed;
  380 + bottom:0;
  381 + left: 0;
  382 + /* padding-bottom: 25rpx; */
  383 +}
  384 +
  385 +.cx-popup .top{
  386 + width:95%;
  387 + height:100rpx;
  388 + border-bottom:3rpx solid #ddd;
  389 + margin: auto;
  390 + margin-top: 30rpx;
  391 +
  392 +}
  393 +.xc-top-content{
  394 + width: 93%;
  395 + height:85rpx;
  396 + padding-top: 30rpx;
  397 + font-size: 34rpx;
  398 + font-weight: 600;
  399 +
  400 +}
  401 +
  402 +.xc-close{
  403 + width: 37rpx;
  404 +height: 37rpx;
  405 +border-radius: 50%;
  406 +border: 3rpx solid #333;
  407 +text-align: center;
  408 +line-height: 34rpx;
  409 +font-size: 29rpx;
  410 +color: #333;
  411 +
  412 +}
  413 +
  414 +.xc-confirm {
  415 + width: 50%;
  416 + border-radius: 50rpx;
  417 + height: 80rpx;
  418 + margin:0 auto;
  419 + background:#d60021;
  420 + color:#fff;
  421 + font-size:28rpx;
  422 + margin-top: 28rpx;
  423 +}
  424 +
  425 +.up{ animation: up .7s; }
  426 +.down{ animation: down 1s; }
  427 +@keyframes up { 0% { transform: translateY(550rpx); } 100% { transform: translateY(0); } }
  428 +@keyframes down { 0% { transform: translateY(0); } 100% { transform: translateY(550rpx); } }
  429 +
  430 +
  431 +.xc-close-express{
  432 + width: 40rpx;
  433 +height: 40rpx;
  434 +border-radius: 50%;
  435 +border: 3rpx solid #333;
  436 +text-align: center;
  437 +font-size:32rpx;
  438 +line-height: 38rpx;
  439 +color: #333;
  440 +margin-top: 5rpx;
  441 +}
  442 +.cx-popup .tops{
  443 + width: 100%;
  444 +height: 145rpx;
  445 +border-bottom: 3rpx solid #eee;
  446 +
  447 +}
  448 +.top-content {
  449 + width: 82%;
  450 +padding-top: 33px;
  451 +height: 100%;
  452 +padding-left: 40rpx;
  453 +}
  454 +.close-frame{
  455 + margin-top: 30rpx;
  456 +
  457 +}
  458 +
  459 +.xc-hook {
  460 +width: 33rpx;
  461 +height: 33rpx;
  462 +transform: rotate(-135deg);
  463 +line-height: 35rpx;
  464 +text-align: center;
  465 +margin-right: 20rpx
  466 +
  467 +
  468 +}
  469 +.xc-hooks {
  470 +width: 30rpx;
  471 +height: 30rpx;
  472 +border: 1rpx solid #999;
  473 +margin-right: 20rpx;
  474 +}
  475 +.express_list_frame{
  476 + display: flex;
  477 +height: 80rpx;
  478 +align-items: center;
  479 +padding-left: 40rpx;
  480 +border-bottom: 1rpx solid #eee;
  481 +
  482 +}
  483 +.express_list{
  484 + width: 100%;
  485 + height: 65%;
  486 + overflow-y: auto;
  487 + margin-bottom: 40rpx;
  488 +
  489 +}
  490 +.xc-confirms {
  491 + box-sizing: border-box;
  492 + width: 40%;
  493 + border-radius: 50rpx;
  494 + height: 80rpx;
  495 + margin:0 auto;
  496 + font-size:28rpx;
  497 + background: #fff;
  498 + color: #333;
  499 + border: 2rpx solid #333;
  500 +}
  501 +
  502 +.determine-frame{
  503 + width: 100%;
  504 + height: 130rpx;
  505 +
  506 +}
  507 +.xc-determine{
  508 + height: 80rpx;
  509 + width: 40%;
  510 + border-radius: 50rpx;
  511 +background: #d60021;
  512 +color: #fff;
  513 +font-size: 28rpx;
  514 +margin: 0 auto;
  515 +
  516 +}
  517 +
... ...
packageA/pages/serviceCard_pd/goodsInfo/buy_pt.wxml
... ... @@ -5,18 +5,13 @@
5 5  
6 6 <!-- 商品名称 -->
7 7 <view class="spec-goods">
8   - <image class="wh100 spec-img xc-distance-bottom" bindtap="previewImage" src="{{data.original_img}}" binderror="pop_err_img" data-errorimg="data.original_img"></image>
  8 + <image class="wh100 spec-img" src="{{iurl}}{{data.image_url?data.image_url:'miniapp/images/default_g_img.gif'}}"
  9 + binderror="pop_err_img" data-errorimg="data.image_url" />
9 10 <view class="spec-goods-info">
10   - <view class="spec-goods-name ellipsis-1">{{sele_g.goods_name}}</view>
11   - <view class="flex ai_end xc-val-money {{sele_g[card_field]}}" >
  11 + <view class="spec-goods-name ellipsis-1">{{sele_g.serviceName}}</view>
  12 + <view class="flex ai_end xc-val-money" >
12 13 <view class="spec-goods-price" wx:if="{{is_normal==1}}" >
13   - <!-- 如果是等级会员,且有等级价 -->
14   - <block wx:if="{{card_field && sele_g[card_field]>0}}">
15   - ¥ {{sele_g[card_field]}}
16   - </block>
17   - <block wx:else>
18   - ¥ {{sele_g.shop_price}}
19   - </block>
  14 + ¥ {{sele_g.money}}
20 15 </view>
21 16 <view class="spec-goods-price" wx:else>¥ {{prom_price}}</view>
22 17 </view>
... ... @@ -24,11 +19,6 @@
24 19 <block wx:if="{{is_normal==1}}">
25 20 <view class="flex">
26 21 <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view>
27   - <block wx:if="{{sales_rules==2}}">
28   - <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}">可售:{{def_pick_store.CanOutQty}}</view>
29   - <view class="spec-goods-stock" wx:else>可售:0</view>
30   - </block>
31   - <block wx:else><view class="spec-goods-stock">可售:{{sele_g.store_count}}</view></block>
32 22 </view>
33 23 </block>
34 24 <block wx:if="{{is_normal==0}}">
... ... @@ -47,10 +37,9 @@
47 37 <view style="margin-top: 20rpx">
48 38 <view class="flex-space-between address ai_end xc-width ">
49 39  
50   - <view class="flex ai_end" wx:if="{{def_pick_store && def_pick_store.pickup_name}}">
51   - <text class="fs30 xc-black3 shop_name">{{def_pick_store.pickup_name}}</text>
52   -
53   -
  40 + <view class="flex" wx:if="{{def_pick_store && def_pick_store.pickup_name}}">
  41 + <text class="fs30 xc-black3 shop_name {{def_pick_store.distance!=null?'max':''}} ">{{def_pick_store.pickup_name}}</text>
  42 +
54 43 <view class="distance fs24 xc-ash"wx:if="{{def_pick_store.distance!=null}}">
55 44 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}
56 45  
... ... @@ -63,15 +52,15 @@
63 52 <view class="fs28 xc-ash-9f">选择门店</view>
64 53 </view>
65 54  
66   - <view class="red-co fs28" bindtap="choice_store" >更多门店<text class="right-arrow"></text></view>
  55 + <view hidden="{{has_def && sys_switch.is_pricing_open_store}}" class="red-co fs28" bindtap="choice_store" >更多门店<text class="right-arrow"></text></view>
67 56 </view>
68 57 <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view>
69 58 <view class="no_store" wx:elif="{{is_normal && def_pick_store && def_pick_store.CanOutQty<=0}}">(库存不足)</view>
70   - <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store && def_pick_store.pickup_name}}">地址:{{def_pick_store.fulladdress}}</view>
  59 + <view class="fs24 xc-ash-9f xc-distance-top" wx:if="{{def_pick_store && def_pick_store.pickup_name}}">地址:{{def_pick_store.fulladdress}}</view>
71 60 </view>
72 61 <!----商品的属性项目---->
73 62 <view>
74   - <view hidden="{{ismend==1}}" class="spec-name">商品规格</view>
  63 +<!-- <view hidden="{{ismend==1}}" class="spec-name">商品规格</view>-->
75 64 <block wx:if="{{is_normal==0}}">
76 65 <view hidden="{{ismend==1}}" class="flex">
77 66 <view class="spec_bt {{gid==item.goods_id?'act':''}}" bindtap="sele_spec" data-gid='{{item.goods_id}}' wx:for="{{sku_g}}" wx:key="sku_g">{{item.gg}}
... ...
packageA/pages/serviceCard_pd/goodsInfo/filter.wxs
... ... @@ -20,8 +20,19 @@ function act_type(ty){
20 20 }
21 21 }
22 22  
  23 +//拿来判断是不是在指定门店内
  24 +function is_no_dis(text,val){
  25 + if(text==undefined) return false;
  26 + if(text=='') return false;
  27 + if(!text) return false;
  28 +
  29 + if(text.indexOf(val)==-1) return true;
  30 + return false;
  31 +}
  32 +
23 33 module.exports = {
24 34 is_has: is_has,
25 35 format_tt:format_tt,
26   - act_type:act_type
  36 + act_type:act_type,
  37 + is_no_dis:is_no_dis
27 38 }
... ...
packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js
Changes suppressed. Click to show
... ... @@ -3,4270 +3,3387 @@ var ut = require(&quot;../../../../utils/util.js&quot;),
3 3 e = require("../../../../utils/common.js"),
4 4 oo = getApp().globalData,
5 5 os = oo.setting;
  6 +var s=getApp();
6 7 //评价加载更多
7   -var more = function(e) {
8   - return e && e.__esModule ? e : {
9   - default: e
10   - };
  8 +var more = function (e) {
  9 + return e && e.__esModule ? e : {
  10 + default: e
  11 + };
11 12 }(require("../../../../utils/LoadMore.js")),
12 13 n = new more.default();
13 14 var regeneratorRuntime = require('../../../../utils/runtime.js');
14 15  
15 16 Page({
16   - data: {
17   - start_stop: 2, //秒杀开始 结束 的控制(1正在进行,2即将开始)
18   - color_type: 0, //线条控制
19   - color_type_one: 0,
20   - color_type_two: 1,
21   - gid: "",
22   - stoid: os.stoid,
23   - url: os.url,
24   - resourceUrl: os.h5_url, //公众号那边的图片文件域名
25   - iurl: os.imghost,
26   -
27   - data: null,
28   - content: "", //商品详情
29   -
30   - gallery: null, //图片滚动
31   - is_collect: 0,
32   - collect_id: 0,
33   - cartGoodsNum: 0,
34   - specSelect: 0,
35   - optionItemId: 0,
36   - goodsInputNum: 1,
37   - openSpecModal: !1,
38   -
39   - activeCategoryId: 0,
40   - supportPageScroll: !1,
41   - address: {
42   - address: "",
43   - district: 0,
44   - },
45   - shipping: "",
46   - shippingCost: 0,
47   - enterAddressPage: !1,
48   - categories: [{
49   - name: "卡项",
50   - id: 0
51   - }, {
52   - name: "详情",
53   - id: 1
54   - },{
55   - name: "评价",
56   - id: 2
57   - }],
58   - activeCategoryId2: 0,
59   - categories2: [{
60   - name: "商品详情",
61   - id: 0
62   - }, {
63   - name: "规格参数",
64   - id: 1
65   - }],
66   - activeCategoryId3: 1, // 点击评价-全部、有图、好评、中评时对应的id
67   - categories3: [{
68   - name: "全部",
69   - id: 1,
70   - num: 0
71   - },
72   - {
73   - name: "有图",
74   - id: 5,
75   - num: 0
76   - },
77   -
78   - {
79   - name: "好评",
80   - id: 2,
81   - num: 0
82   - }, {
83   - name: "中评",
84   - id: 3,
85   - num: 0
86   - }, {
87   - name: "差评",
88   - id: 4,
89   - num: 0
90   - },
91   - ],
92   -
93   - select: {
94   - price: 0,
95   - stock: 0,
96   - specName: "",
97   - activity: null
  17 + data: {
  18 + start_stop: 2, //秒杀开始 结束 的控制(1正在进行,2即将开始)
  19 + color_type: 0, //线条控制
  20 + color_type_one: 0,
  21 + color_type_two: 1,
  22 + gid: "",
  23 + stoid: os.stoid,
  24 + url: os.url,
  25 + resourceUrl: os.h5_url, //公众号那边的图片文件域名
  26 + iurl: os.imghost,
  27 +
  28 + data: null,
  29 + content: "", //商品详情
  30 +
  31 + gallery: null, //图片滚动
  32 + is_collect: 0,
  33 + collect_id: 0,
  34 + cartGoodsNum: 0,
  35 + specSelect: 0,
  36 + optionItemId: 0,
  37 + goodsInputNum: 1,
  38 + openSpecModal: !1,
  39 +
  40 + activeCategoryId: 0,
  41 + supportPageScroll: !1,
  42 + address: {
  43 + address: "",
  44 + district: 0,
  45 + },
  46 + shipping: "",
  47 + shippingCost: 0,
  48 + enterAddressPage: !1,
  49 + categories: [{
  50 + name: "卡项",
  51 + id: 0
  52 + }, {
  53 + name: "详情",
  54 + id: 1
  55 + }, {
  56 + name: "评价",
  57 + id: 2
  58 + }],
  59 + activeCategoryId2: 0,
  60 + categories2: [{
  61 + name: "商品详情",
  62 + id: 0
  63 + }, {
  64 + name: "规格参数",
  65 + id: 1
  66 + }],
  67 + activeCategoryId3: 1, // 点击评价-全部、有图、好评、中评时对应的id
  68 + categories3: [{
  69 + name: "全部",
  70 + id: 1,
  71 + num: 0
  72 + },
  73 + {
  74 + name: "有图",
  75 + id: 5,
  76 + num: 0
  77 + },
  78 +
  79 + {
  80 + name: "好评",
  81 + id: 2,
  82 + num: 0
  83 + }, {
  84 + name: "中评",
  85 + id: 3,
  86 + num: 0
  87 + }, {
  88 + name: "差评",
  89 + id: 4,
  90 + num: 0
  91 + },
  92 + ],
  93 +
  94 + select: {
  95 + price: 0,
  96 + stock: 0,
  97 + specName: "",
  98 + activity: null
  99 + },
  100 +
  101 +
  102 + //门店相关
  103 + ismend: 0,
  104 + is_sec_mend: 0,
  105 + sto_sele_name: "", //选中的门店名称
  106 + sto_sele_id: "", //选中的门店id
  107 + sto_sele_keyid: '', //选中的门店线下
  108 + sto_sele_distr: "", //选择的门店的配送方式
  109 + is_show_sto_cat: 1, //是否显示门店分类
  110 + only_pk: null,
  111 + all_sto: null,
  112 + sec_sto: null, //选择了的门店分类
  113 + pickpu_list: null, //读出的所有门店list
  114 + def_pickpu_list: null, //一开始5个门店list
  115 + sec_pick_index: 0, //第二级门店选择ID
  116 + fir_pick_index: 0, //第一级门店选择ID
  117 + all_pick_list: null,//所有的门店先记录起来
  118 +
  119 + //联系电话
  120 + mobile: '',
  121 + //商品的活动类型 0普通 1秒杀 2团购 3优惠 4 积分购 6拼单
  122 + timer: [],
  123 + //商品的购买次数
  124 + prom_buy_num: -1,
  125 + g_buy_num: null,
  126 +
  127 + //会员自己的购买的拼单商品的情况
  128 + //购买的订单
  129 + buy_order: null,
  130 + //1加入购物车 2立即购买
  131 + openSpecModal_ind: 0,
  132 +
  133 + //---计时器开关----
  134 + is_timer: 1,
  135 + isshow: 0,
  136 + bconfig: null, //基础配置
  137 +
  138 + //会员分享的头像
  139 + share_head: "",
  140 + share_goods_img: "",
  141 +
  142 + //----------视频图片data参数---------
  143 + current: 0, //图片计数
  144 + swiperCurrent: 0, //轮播的下标
  145 + hiddenn: 0, //控制轮播计数显示
  146 +
  147 + currentTab: 0, // 选择器控制参数
  148 + mapurl: "",
  149 + mapurl_f_img: "",
  150 + videopicture: 0, //视频图片的控制
  151 +
  152 + video: 0, //视频图片切换器
  153 + index: 0,
  154 + noon: 0, //开始视频的隐藏
  155 +
  156 + screenWidth: 0,
  157 + canvasHidden: 1,
  158 +
  159 + //--推荐--
  160 + store_config: null,
  161 + is_show_pl: 0, //是否品类
  162 + is_show_pp: 0, //是否品牌
  163 + is_show_gb: 0, //是否国别
  164 + is_closecoupon: 0,
  165 + select_store: 0, //选择更多
  166 + index: 1,
  167 + more_store: 0, //选择门店
  168 + sort_store: 0, //门店分类
  169 + choice_sort_store: 0, //选择分类门店
  170 + new_user: 0, //新用户
  171 +
  172 + def_pick_store: null, // 默认的门店
  173 + fir_def_store: null, //客户默认的门店的
  174 + lat: null, //维度
  175 + lon: null, //经度
  176 +
  177 + is_get_local_ok: 0, //获取坐标是否完成
  178 + region_name: "门店分类", //区域的名字
  179 + is_gps: 1,
  180 + open_ind_store: 0, //哪里打开的门店列表的控制属性
  181 + default_store: {}, //创建添加默认门店地址的对象
  182 +
  183 + comments_no_more: 0,
  184 +
  185 + is_collect_load: 0, //是不是处理
  186 + wait_for_user_store: null,
  187 + poster: null, //自定义海报
  188 + share_b_img: '', //自定义分享的背景
  189 + showPoster: false,
  190 + hui_condition: null,
  191 + sto_sele_name_1: '',//分享的门店名称
  192 +
  193 + //-- 活动的情况 --
  194 + prom_st: null,
  195 + prom_r_null: 0,
  196 + hiddenCS: true, //控制客服操作菜单显示和控制
  197 + user_order_pt_state: 0,
  198 +
  199 + is_retail_price: 0,
98 200 },
99 201  
100   -
101   - //门店相关
102   - ismend: 0,
103   - is_sec_mend: 0,
104   - sto_sele_name: "", //选中的门店名称
105   - sto_sele_id: "", //选中的门店id
106   - sto_sele_keyid:'', //选中的门店线下
107   - sto_sele_distr: "", //选择的门店的配送方式
108   - is_show_sto_cat: 1, //是否显示门店分类
109   - only_pk: null,
110   - all_sto: null,
111   - sec_sto: null, //选择了的门店分类
112   - pickpu_list: null, //读出的所有门店list
113   - def_pickpu_list: null, //一开始5个门店list
114   - sec_pick_index: 0, //第二级门店选择ID
115   - fir_pick_index: 0, //第一级门店选择ID
116   - all_pick_list:null,//所有的门店先记录起来
117   -
118   - //联系电话
119   - mobile: '',
120   - //商品的活动类型 0普通 1秒杀 2团购 3优惠 4 积分购 6拼单
121   - timer: [],
122   - //商品的购买次数
123   - prom_buy_num: -1,
124   - g_buy_num: null,
125   -
126   - //会员自己的购买的拼单商品的情况
127   - //购买的订单
128   - buy_order: null,
129   - //1加入购物车 2立即购买
130   - openSpecModal_ind: 0,
131   -
132   - //---计时器开关----
133   - is_timer: 1,
134   - isshow: 0,
135   - bconfig: null, //基础配置
136   -
137   - //会员分享的头像
138   - share_head: "",
139   - share_goods_img: "",
140   -
141   - //----------视频图片data参数---------
142   - current: 0, //图片计数
143   - swiperCurrent: 0, //轮播的下标
144   - hiddenn: 0, //控制轮播计数显示
145   -
146   - currentTab: 0, // 选择器控制参数
147   - mapurl: "",
148   - mapurl_f_img: "",
149   - videopicture: 0, //视频图片的控制
150   -
151   - video: 0, //视频图片切换器
152   - index: 0,
153   - noon: 0, //开始视频的隐藏
154   -
155   - screenWidth: 0,
156   - canvasHidden: 1,
157   -
158   - //--推荐--
159   - store_config: null,
160   - is_show_pl: 0, //是否品类
161   - is_show_pp: 0, //是否品牌
162   - is_show_gb: 0, //是否国别
163   - is_closecoupon: 0,
164   -
165   -
166   - select_store: 0, //选择更多
167   - index: 1,
168   - more_store: 0, //选择门店
169   - sort_store: 0, //门店分类
170   - choice_sort_store: 0, //选择分类门店
171   - new_user: 0, //新用户
172   -
173   - def_pick_store: null, // 默认的门店
174   - fir_def_store:null, //客户默认的门店的
175   - lat: null, //维度
176   - lon: null, //经度
177   -
178   - is_get_local_ok: 0, //获取坐标是否完成
179   - region_name: "门店分类", //区域的名字
180   - is_gps: 1,
181   - open_ind_store: 0, //哪里打开的门店列表的控制属性
182   - default_store: {}, //创建添加默认门店地址的对象
183   -
184   - comments_no_more:0,
185   -
186   - is_collect_load:0, //是不是处理
187   - is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存
188   - sales_rules:1, //默认是线上销售
189   -
190   - wait_for_user_store:null,
191   - poster:null, //自定义海报
192   - share_b_img:'', //自定义分享的背景
193   - showPoster: false,
194   - hui_condition:null,
195   - sto_sele_name_1:'',//分享的门店名称
196   -
197   - // 秒杀
198   - prom_st: null,
199   - prom_r_null: 0,
200   - hiddenCS: true, //控制客服操作菜单显示和控制
201   - openSpecModal_flash_normal: 0,
202   - },
203   -
204   - //------初始化加载----------
205   - onLoad: function(t) {
206   - self = this;
207   - this.setData({ options: t,});
208   -
209   - var ee = this,
210   - that = ee,
211   - th = ee,
212   - gid = t.goods_id,
213   - first_leader=t.first_leader;
214   -
215   -
216   - //-- 自定义海报 --
217   - // getApp().request.promiseGet("/api/weshop/goods/poster/page", {
218   - // data:{store_id:os.stoid, type:1, is_use:1}
219   - // }).then(res=>{
220   - // if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]){
221   - // var poster_data=res.data.data.pageData[0];
222   - // var json_str=poster_data.jsonStr;
223   - // if(json_str){
224   - // var json_data=JSON.parse(json_str);
225   - // if(json_data.bg_img){
226   - // //-- 把图片那到本地 --
227   - // wx.getImageInfo({
228   - // src:json_data.bg_img,
229   - // success: function(res) {
230   - // var path= res.path;
231   - // th.setData({share_b_img:path})
232   - // },
233   - // fail: function(res) {}
234   - // });
235   - // }
236   - // th.setData({poster:json_data})
237   - // }
238   - // }
239   - // })
240   -
241   -
242   - //---获取手机地址坐标--
243   - //--如果tg_id是空的话,分享回来--
244   - if (gid == undefined || gid == null || gid == "") {
245   - var gid_str = decodeURIComponent(t.scene);
246   - gid_str=gid_str.split("_");
247   - gid=gid_str[0];
248   - if(gid_str.length>1){
249   - first_leader=gid_str[1];
250   - }
251   - //-- 如果有room_id的获取 --
252   - if(gid_str.length>2 && gid_str[2]) {
253   - room_id=gid_str[2];
254   - room_user_share=1;
255   - };
256   - };
257   -
258   - ee.setData({ gid: gid});
259   -
260   - if(first_leader) {
261   - getApp().globalData.first_leader=first_leader;
262   - //调用接口判断是不是会员
263   - getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+os.stoid+"/"+first_leader,{}).then(res=>{
264   - if(res.data.code==0) {
265   - getApp().globalData.guide_id=res.data.data.id;
266   - }
267   - })
268   - }
269   -
270   - var c_guide_id=t.c_guide_id;
271   - if(c_guide_id){
272   - th.data.c_guide_id=c_guide_id;
273   - }
274   -
275   - getApp().getConfig(function(e) {
276   - ee.setData({sto_sele_name_1:e.store_name})
277   - })
278   -
279   - //----获取系统参数-----
280   - getApp().getConfig2(function (e) {
281   - ee.setData({
282   - bconfig: e,
283   - sales_rules: e.sales_rules,
284   - });
285   -
286   - if (e.categoryset.indexOf("," + 1 + ",") != -1) {
287   - ee.setData({
288   - is_show_pl: 1
289   - });
290   - }
291   - if (e.categoryset.indexOf("," + 3 + ",") != -1) {
292   - ee.setData({
293   - is_show_pp: 1
294   - });
295   - }
296   - if (e.categoryset.indexOf("," + 2 + ",") != -1) {
297   - ee.setData({
298   - is_show_gb: 1
299   - });
300   - }
301   -
302   - var json_d = JSON.parse(e.switch_list);
303   - ee.setData({
304   - store_config: e,
305   - sys_switch: json_d,
306   - is_closecoupon: json_d.is_closecoupon,
307   - is_newsales_rules: json_d.is_newsales_rules
308   - });
309   - ee.init(gid);
310   -
311   - //------几人评价-------
312   - //n.init(th, "", "comments");
313   -
314   - th.requestCardNum(), wx.pageScrollTo && th.setData({
315   - supportPageScroll: !0
316   - });
317   -
318   -
319   - }, 1);
320   -
321   - //获取用户设备信息,屏幕宽度
322   - wx.getSystemInfo({
323   - success: res => {
324   - that.setData({
325   - screenWidth: res.screenWidth
  202 + //------初始化加载----------
  203 + onLoad: function (t) {
  204 + self = this;
  205 + this.setData({options: t,});
  206 + var ee = this, that = ee, th = ee,
  207 + gid = t.goods_id,
  208 + first_leader = t.first_leader;
  209 +
  210 + //-- 自定义海报 --
  211 + getApp().request.promiseGet("/api/weshop/goods/poster/page", {
  212 + data:{store_id:os.stoid, type:1, is_use:1}
  213 + }).then(res=>{
  214 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]){
  215 + var poster_data=res.data.data.pageData[0];
  216 + var json_str=poster_data.jsonStr;
  217 + if(json_str){
  218 + var json_data=JSON.parse(json_str);
  219 + if(json_data.bg_img){
  220 + //-- 把图片那到本地 --
  221 + wx.getImageInfo({
  222 + src:json_data.bg_img,
  223 + success: function(res) {
  224 + var path= res.path;
  225 + th.setData({share_b_img:path})
  226 + },
  227 + fail: function(res) {}
  228 + });
  229 + }
  230 + th.setData({poster:json_data})
  231 + }
  232 + }
326 233 })
327   - }
328   - });
329   -
330   - //获取用户的默认门店
331   - getApp().get_user_store(function(e) {
332   - if(!e) {
333   - th.data.fir_def_store={}; //赋值空对象
334   - return false;
335   - }
336   - var ee=JSON.parse(JSON.stringify(e));
337   - //--定时器推迟一下--
338   - setTimeout(function () {
339   - if(!th.data.data) return false;
340   - var ser_card=th.data.data;
341   - //--如果默认门店不在等级卡的默认们店以内
342   - if(ser_card.storageId!=null && ser_card.storageId!="" && ser_card.storageId.indexOf(ee.keyid)==-1){
343   - ee.is_no_dis=1;
  234 +
  235 + var room_id=0;
  236 + var room_user_share=0;
  237 +
  238 + //---获取手机地址坐标--
  239 + //--如果tg_id是空的话,分享回来--
  240 + if (gid == undefined || gid == null || gid == "") {
  241 + var gid_str = decodeURIComponent(t.scene);
  242 + gid_str = gid_str.split("_");
  243 + gid = parseInt(gid_str[0]);
  244 + that.data.options.goods_id=gid;
  245 +
  246 +
  247 + if (gid_str.length > 1) {
  248 + first_leader = gid_str[1];
  249 + }
  250 + //-- 如果有room_id的获取 --
  251 + if (gid_str.length > 2 && gid_str[2]) {
  252 + room_id = parseInt(gid_str[2]);
  253 + room_user_share = 1;
  254 +
  255 + that.data.options.room_id=room_id;
  256 + that.data.options.prom_type= parseInt(gid_str[3]);
  257 + that.data.options.prom_id=parseInt(gid_str[4]);
  258 + }
  259 +
  260 + this.setData({options: that.data.options});
  261 +
344 262 }
345 263  
346   - var appd=getApp().globalData;
347   - var w_time = setInterval(function() {
348   - if (that.data.is_get_local_ok == 0) return false;
349   - clearInterval(w_time);
350   - var distance = null;
351   - var e=JSON.parse(JSON.stringify(ee));
352   -
353   - //如果有开启近距离的话,同时距离优不一样了
354   - if (that.data.lat != null) {
355   - //如果经纬度有变化的话
356   - if(e && appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){
357   - that.data.fir_def_store=e;
358   - that.setData({
359   - def_pick_store: e,
360   - sto_sele_name: e.pickup_name,
361   - sto_sele_id: e.pickup_id,
362   - sto_sele_distr: e.distr_type,
363   - sto_sele_keyid:e.keyid,
364   - })
365   - }else{
366   - //要用接口是获取距离,js的计算不准
367   - getApp().request.promiseGet("/api/weshop/pickup/list",{
368   - data:{store_id:os.stoid,pickup_id:e.pickup_id,lat:th.data.lat,lon: th.data.lon, is_pos: 1},
369   - }).then(res=>{
370   - if(ut.ajax_ok(res)){
371   - e=res.data.data.pageData[0];
372   - if (e){
373   - e.is_no_dis=ee.is_no_dis;
374   - appd.pk_store=e;
375   - that.data.fir_def_store=e;
376   - that.setData({
377   - def_pick_store: e,
378   - sto_sele_name: e.pickup_name,
379   - sto_sele_id: e.pickup_id,
380   - sto_sele_distr: e.distr_type,
381   - sto_sele_keyid:e.keyid,
382   - })
383   - }
384 264  
  265 + //-- 如果有房间号 --
  266 + if (room_id) {
  267 + getApp().globalData.room_id = room_id;
  268 + getApp().globalData.room_goods_id = gid;
  269 + //如果是会员分享过来的要记录
  270 + if (room_user_share)
  271 + getApp().globalData.room_user_share = room_user_share;
  272 + }
  273 +
  274 + ee.setData({gid: gid});
  275 + if (first_leader) {
  276 + getApp().globalData.first_leader = first_leader;
  277 + //调用接口判断是不是会员
  278 + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
  279 + if (res.data.code == 0) {
  280 + getApp().globalData.guide_id = res.data.data.id;
  281 + getApp().globalData.guide_pick_id= res.data.data.pickup_id
385 282 }
386   - })
  283 + })
  284 + }
  285 +
  286 + var c_guide_id = t.c_guide_id;
  287 + if (c_guide_id) {
  288 + th.data.c_guide_id = c_guide_id;
  289 + }
  290 +
  291 + getApp().getConfig(function (e) {
  292 + ee.setData({sto_sele_name_1: e.store_name})
  293 + })
  294 +
  295 + //----获取系统参数-----
  296 + getApp().getConfig2(function (e) {
  297 + ee.setData({
  298 + bconfig: e,
  299 + sales_rules: e.sales_rules,
  300 + });
  301 +
  302 + if (e.categoryset.indexOf("," + 1 + ",") != -1) {
  303 + ee.setData({
  304 + is_show_pl: 1
  305 + });
  306 + }
  307 + if (e.categoryset.indexOf("," + 3 + ",") != -1) {
  308 + ee.setData({
  309 + is_show_pp: 1
  310 + });
  311 + }
  312 + if (e.categoryset.indexOf("," + 2 + ",") != -1) {
  313 + ee.setData({
  314 + is_show_gb: 1
  315 + });
387 316 }
388 317  
389   - //e.distance = distance;
390   - appd.lat=that.data.lat;
391   - appd.lon=that.data.lon;
392   -
393   - } else {
394   - if (e) {
395   - e.distance = null;
396   - that.data.fir_def_store=e;
397   - that.setData({
398   - def_pick_store: e,
399   - sto_sele_name: e.pickup_name,
400   - sto_sele_id: e.pickup_id,
401   - sto_sele_distr: e.distr_type,
402   - sto_sele_keyid:e.keyid,
403   - })
  318 + var json_d = JSON.parse(e.switch_list);
  319 + ee.setData({
  320 + store_config: e,
  321 + sys_switch: json_d,
  322 + is_closecoupon: json_d.is_closecoupon,
  323 + is_newsales_rules: json_d.is_newsales_rules,
  324 + is_retail_price: json_d.is_retail_price || 0,
  325 + });
  326 +
  327 + ee.init(gid);
  328 +
  329 + //------几人评价------
  330 + //n.init(th, "", "comments");
  331 + wx.pageScrollTo && th.setData({
  332 + supportPageScroll: !0
  333 + });
  334 +
  335 +
  336 + }, 1);
  337 +
  338 + //获取用户设备信息,屏幕宽度
  339 + wx.getSystemInfo({
  340 + success: res => {
  341 + that.setData({
  342 + screenWidth: res.screenWidth
  343 + })
404 344 }
405   - }
406   - }, 500)
407   - },700)
408   -
409   - });
410   -
411   -
412   - },
413   -
414   -
415   - onReady() {
416   - // 用于控制保障服务折叠图标的显示
417   - setTimeout(() => {
418   - wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => {
419   -
420   - if(res.length != 0) {
421   - this.setData({
422   - showFold: res[0].height < res[1].height,
423   - });
424   - };
425   -
426   - }).exec();
427   - }, 1000);
428   -
429   - },
430   -
431   -
432   - //------------程序初始化入口-------------
433   - async init(gid) {
434   - var ee = this,
435   - th = ee,
436   - gallery = null,
437   - is_collect = 0,
438   - collect_id = 0,
439   - categories3 = ee.data.categories3,
440   - fir_com = null,
441   - fir_quan = null,
442   - mapurl = null,
443   - mapurl_f_img = null;
444   -
445   -
446   - //------图片滚动----------
447   - // await getApp().request.promiseGet("/api/weshop/goodsimages/page", {
448   - // data: {
449   - // store_id: os.stoid,
450   - // goods_id: gid,
451   - // },
452   - // }).then(res => {
453   -
454   - // var t = res;
455   - // var g = t.data.data.pageData;
456   - // if (g.length == 0) {
457   - // var ie = {
458   - // "image_url": o.imghost + "/public/images/default_goods_image_240.gif"
459   - // };
460   - // g.push(ie);
461   - // gallery = g;
462   - // return;
463   - // }
464   - // for (var i = 0; i < g.length; i++) {
465   - // if (g[i].image_url.indexOf(o.imghost) == -1)
466   - // g[i].image_url = o.imghost + g[i].image_url;
467   - // }
468   - // gallery = g;
469   - // })
470   -
471   -
472   - // ----> 秒杀
473   - let prom_type = this.data.options.prom_type;
474   -
475   - let goods_id = this.data.options.goods_id;
476   - if(!goods_id) goods_id = this.data.data.goods_id;
477   -
478   - if(prom_type) { // 进入商品详情页地址传参有带goods_id、prom_type、prom_id参数, 即从秒杀入口进入
479   - let prom_id = this.data.options.prom_id;
480   - // 检查活动是否开始
481   - this.check_prom(goods_id, prom_type, prom_id);
482   -
483   - } else { // 从非秒杀入口进入,地址不带prom_type、prom_id参数
484   - getApp().request.promiseGet('/api/weshop/activitylist/listGoodActInfo2', {
485   - data: {
486   - store_id: os.stoid,
487   - goods_id: goods_id,
488   - goods_type: 1,
489   - user_id: oo.user_id,
490   - }
491   - }).then(res => {
492   - if (res.data.code == 0) {
493   - let result = res.data.data;
494   - let resLength = result.length;
495   - if(resLength == 1) { // 如果数组长度为1,则直接显示当前活动
496   - let goods_id = this.data.options.goods_id;
497   - let prom_type = result[0].prom_type;
498   - let prom_id = result[0].act_id;
499   - this.setData({
500   - 'options.prom_type': prom_type,
501   - 'options.prom_id': prom_id,
502   - });
503   - // 检查活动是否开始
504   - this.check_prom(goods_id, prom_type, prom_id);
505   - } else if(resLength > 1) { //如果数组长度大于1,表示当前商品参加多个活动,以列表形式显示多活动
506   - this.setData({
507   - actList: res.data.data,
508   - });
509   - };
510   -
511   - };
512   - });
513   - };
514   - // <---- 秒杀
515   -
516   -
517   -
518   -
519   -
520   -
521   -
522   -
523   -
524   -
525   - //------是否收藏----------
526   - await getApp().request.promiseGet("/api/weshop/goodscollect/page", {
527   - data: {
528   - store_id: os.stoid,
529   - goods_id: gid,
530   - user_id: oo.user_id,
531   - }
532   - }).then(res => {
533   - var t = res;
534   - var data = t.data.data.pageData;
535   - if (data && data.length > 0) {
536   - //ee.setData({ is_collect: 1, collect_id: data[0].collect_id, });
537   - is_collect = 1;
538   - collect_id = data[0].collect_id;
539   - }
540   - })
541   -
542   - //------获取评价的统计数量----
543   - await getApp().request.promiseGet("/api/weshop/serviceComment/countlist/", {
544   - data: {
545   - store_id: os.stoid,
546   - service_id: gid
547   - },
548   - }).then(res => {
549   - console.log('get评价统计数量', res.data.data);
550   - var t = res;
551   - var g = t.data.data[0];
552   - if (g != null && g != undefined) {
553   - var allnum = g.c0 + g.c1 + g.c2 + g.c3 + g.c4 + g.c5;
554   - var num2 = g.c4 + g.c5;
555   - var num3 = g.c3;
556   - var num4 = g.c0 + g.c1 + g.c2;
557   -
558   - var dd = ee.data.categories3;
559   - dd[0].num = allnum;
560   - dd[1].num = g.cimg;
561   - dd[2].num = num2;
562   - dd[3].num = num3;
563   - dd[4].num = num4;
564   -
565   - categories3 = dd;
566   - }
567   - });
568   -
569   - //----获取详情页的评价----
570   - await getApp().request.promiseGet("/api/weshop/serviceComment/pageComment", {
571   - data: {
572   - store_id: os.stoid,
573   - service_id: gid,
574   - pageSize: 3,
575   - parent_id: 0,
576   - page: 1,
577   - is_show: 1,
578   - },
579   - }).then(res => {
580   - console.log('get详情页评价', res.data.data);
581   - fir_com = res.data.data.pageData;
582   - });
583   -
584   - if (fir_com) {
585   - for (var ind in fir_com) {
586   - if (fir_com[ind].head_pic == "") fir_com[ind].head_pic = ee.data.iurl + "/miniapp/images/hui_hear_pic.png";
587   - if (fir_com[ind].img) fir_com[ind].img = ut.unserialize(fir_com[ind].img);
588   - if (fir_com[ind].weapp_img) fir_com[ind].weapp_img = JSON.parse(fir_com[ind].weapp_img);
589   - }
590   - };
591   -
592   - this.getTaohe();
593   -
594   - //this.getHistoryBuy(); //获取历史购买
595   - ee.setData({
596   - is_collect: is_collect,
597   - collect_id: collect_id,
598   - categories3: categories3,
599   - fir_quan: fir_quan,
600   - fir_comments: fir_com,
601   - // cardComments: fir_com,
602   - });
603   -
604   - },
605   -
606   - //---展示---
607   - // gid 在onload阶段已经保存在this.data中
608   - onShow: function() {
609   -
610   - getApp().check_can_share();
611   - var that=this;
612   - var ee = this,gid = this.data.gid, i = getApp().request;
613   - this.data.is_timer = 1;
614   - this.wait_for_store_config();
615   -
616   -
617   -
618   -
619   - i.get("/api/weshop/serviceCard/get/" + os.stoid + "/" + ee.data.gid, {
620   - failRollback: !0,
621   - success: function(t) {
622   - if (t.data.code == 0) {
623   - // console.log('GET pic and video');
624   - if(t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_url) {
625   - that.setData({
626   - mapurl: t.data.data.listServiceVideos[0].video_url,
627   - });
628   - };
629   - if(t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_img) {
630   - that.setData({
631   - mapurl_f_img: t.data.data.listServiceVideos[0].video_img,
632   - });
633   - };
634   - if(t.data.data.listServiceImages) {
635   - that.setData({
636   - gallery: t.data.data.listServiceImages,
637   - });
638   - };
639   - if(t.data.data.listServiceItem) {
640   - that.setData({
641   - listServiceItem: t.data.data.listServiceItem,
642   - });
643   - };
644   - that.setData({
645   - 'data.goods_name': t.data.data.serviceName,
646   - 'data.shop_price': t.data.data.money,
647   - 'data.show_price': t.data.data.show_price,
648   - 'data.validDays': t.data.data.validDays,
649   - 'data.serviceContent': t.data.data.serviceContent,
650   - 'data.image_url': t.data.data.imgUrl,
651   - 'data.goods_id': t.data.data.id,
652   - 'data.id': t.data.data.id,
653   - 'data.sales_sum': t.data.data.sales_sum,
654   - 'data.storageId':t.data.data.storageId,
655   - 'data.service_sn':t.data.data.serviceSn,
656   - 'data.listServiceVideos': t.data.data.listServiceVideos,
657   - // gallery: t.data.data.listServiceImages,
658   - // mapurl: t.data.data.listServiceVideos[0].video_url,
659   - // mapurl_f_img: t.data.data.listServiceVideos[0].video_img,
660   - //listServiceItem: t.data.data.listServiceItem,
661   - });
662   -
663   - // console.log('0xxxxx999999', t.data.data);
664   - //-----商品详情---
665   - if(!t.data.data.serviceContent) t.data.data.serviceContent=" ";
666   - a.wxParse("content", "html", t.data.data.serviceContent, ee, 6);
667   - e.wxParseAddFullImageUrl(ee, "content");
668   -
669   - //获取重表
670   - getApp().promiseGet("/api/weshop/serviceItem/list",{
671   - data:{store_id:os.stoid,service_id:t.data.data.id}
672   - }).then(res=>{
673   - if(res.data.code==0){
674   - var list=res.data.data;
675   - that.setData({service_list:list})
676   - }
677   - })
678   -
679   -
  345 + });
680 346  
681   - } else {
682   - wx.showModal({
683   - title: t.data.msg,
684   - showCancel: !1,
685   - complete: function() {
686   - wx.navigateBack();
687   - }
688   - });
689   - };
690   - }
691   - });
692   -
693   -
694   -
695   - this.data.enterAddressPage && (this.data.enterAddressPage = !1);
696   - this.get_sto();
697   -
698   -
699   -
700   - },
701   -
702   - enterAddress: function() {
703   - this.data.enterAddressPage = !0, wx.navigateTo({
704   - url: "/pages/user/address_list/address_list?operate=selectAddress"
705   - });
706   - },
707   -
708   - onUnload: function() {
709   - for(var i = 1; i < 100; i++) {
710   - clearInterval(i);
711   - }
712   - },
713   -
714   - onHide: function() {
715   - this.data.is_timer = 0;
716   - for(var i = 1; i < 100; i++) {
717   - clearInterval(i);
718   - }
719   - },
720   - //----------三个选项按钮-----------
721   - tabClick: function(t) {
722   - var e = t.currentTarget.id;
723   - this.setData({
724   - activeCategoryId: e
725   - }), 1 == e ? this.tabGoodsContent() : 2 == e && this.tabComment();
726   - },
727   -
728   - // tabClick2: function(t) {
729   - // this.setData({
730   - // activeCategoryId2: t.currentTarget.id
731   - // });
732   - // },
733   -
734   - tabClick3: function(t) {
735   - var e = this;
736   - if (t.currentTarget.id != this.data.activeCategoryId3) {
737   - e.data.c_curr_p = 1;
738   - this.setData({
739   - activeCategoryId3: t.currentTarget.id,
740   - comments: null,comments_no_more:0,get_c:0,
741   - });
742   - this.requestComments_new();
743   - }
744   - },
745   -
746   - // doScrollTop: function() {
747   - // wx.pageScrollTo({
748   - // scrollTop: 0
749   - // });
750   - // },
751   -
752   - tabComment: function() {
753   - this.setData({
754   - activeCategoryId: 2,comments_no_more:0,get_c:0
755   - }), this.data.comments || this.requestComments_new();
756   - },
757   -
758   - //商品详情的时候调用
759   - tabGoodsContent: function() {
760   - var th = this,
761   - i = getApp().request;
762   - this.setData({
763   - activeCategoryId: 1
764   - });
765   - },
766   -
767   -
768   -
769   - //------------加入购物车--------------
770   - addCart: async function(t) {
771   - var th = this;
772   - var ind = t.currentTarget.dataset.openSpecModal_ind;
773   - var action= t.currentTarget.dataset.action;
774   - if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind;
775   -
776   - th.setData({
777   - open_ind_store: ind
778   - });
779   -
780   - if(!th.data.sto_sele_name) {
781   - getApp().my_warnning('请选择门店', 1, th, 450);
782   - return false;
783   - };
784   -
785   - // 库存
786   - var redisNums = 0;
787   - // 限购数
788   - var limitNum = 0;
789   - // 已购买数量
790   - var boughtNum = 0;
791   -
792   - // 秒杀活动
793   - if(this.data.prom_type == 1) {
794   - // 如果是秒杀活动下的单独购买,is_normal为1
795   - if(this.data.openSpecModal_flash_normal) this.data.is_normal = 1;
796   -
797   - if(!this.data.is_normal) {// 秒杀购买
798   -
799   - // 获取redis当前可以购买的数量
800   - // 如果数量为0,设置和显示已抢光
801   - // 否则,进一步判断是否超出限购或超出库存
802   - await this.getactLen().then(async function(res) {
803   - redisNums = res;
804   - let curNum = th.data.goodsInputNum;
805   - // res: redis可购买数量
806   - console.log('当前可以购买的数量:', res);
807   - if(res <= 0) {
808   - // 可购买数量<=0, 设置和显示已抢光
809   - th.setData({
810   - prom_r_null: 1,
811   - });
812   - // wx.showModal({
813   - // title: '超出活动库存',
814   - // });
815   - getApp().my_warnning('超出活动库存', 0, self);
816   - return false;
817   - } else {
818   - // 可购买数量>0
819   - // 计算自己还可以购买的数量
820   - // 自己还可购买的数量c = 每人活动限购数量a - 自己已经购买的数量b
821   - // 如果限购数量a>redis可购买数量d,当增加数量t>d, 提示超出库存
822   - // 如果限购数量a<=redis可购买数量d, 当增加数量t>a,提示超出限购
823   - let actInfo = th.data.sele_g;
824   - await th.get_buy_num2().then(function (data) {
825   - let limited = actInfo.buy_limit; // 限购数量a
826   - let promcardbuynum = data.data.data.promcardbuynum;
827   - let buyedNum = promcardbuynum; // 自己已经购买的数量b
828   - let canBuyNum = limited - buyedNum; // 自己还可购买的数量c
829   - limitNum = limited;
830   - boughtNum = buyedNum;
831   -
832   - if(canBuyNum <= 0) {
833   - canBuyNum = 0;
834   - };
835   -
836   - if(canBuyNum > res) {
837   - if(curNum > res) { // t当前增减的数量
838   - // wx.showModal({
839   - // title: '超出活动库存',
840   - // });
841   - getApp().my_warnning('超出活动库存', 0, self);
842   - th.setData({
843   - goodsInputNum: res,
844   - });
845   - return false;
846   - };
847   - };
848   -
849   - if(canBuyNum <= res) {
850   - if(curNum > canBuyNum) {
851   - // wx.showModal({
852   - // title: '超出限购数量',
853   - // });
854   - getApp().my_warnning('超出限购数量', 0, self);
855   - th.setData({
856   - goodsInputNum: canBuyNum,
857   - });
858   - return false;
859   - };
860   - };
861   -
862   -
863   - });
864   -
865   -
866   -
867   - };
868   - });
869   -
870   - };
871   -
872   -
873   - };
874   -
875   -
876   -
877   - if(action=="buy"){
878   - //--------------此时操作的数据------------
879   - var newd = {
880   - id: th.data.data.id,
881   - goods_num: th.data.goodsInputNum,
882   - pick_id: th.data.sto_sele_id,
883   - keyid: th.data.sto_sele_keyid,
884   - };
885   - newd['pick_name'] = th.data.sto_sele_name;
886   - newd['guide_id'] = getApp().globalData.guide_id;
887   - newd['guide_type']=0;
888   -
889   - if(this.data.prom_type && this.data.prom_type == 1) {
890   - newd['prom_type'] = this.data.prom_type;
891   - newd['prom_id'] = this.data.prom_id;
892   - newd['prom_price'] = this.data.prom_price;
893   - };
894   -
895   - if(this.data.prom_type == 1 && this.data.openSpecModal_flash_normal) {
896   - newd['prom_type'] = 0;
897   - newd['prom_price'] = this.data.data.shop_price;
898   - };
899   -
900   - // console.log('newd++++++++', newd);
901   - th.buyNow(newd);
902   - } else {
903   -
904   - var newd = {
905   - service_id: th.data.data.id,
906   - service_sn:th.data.data.service_sn,
907   - service_name:th.data.data.goods_name,
908   - goods_num: th.data.goodsInputNum,
909   - pick_id: th.data.sto_sele_id,
910   - user_id:oo.user_id,
911   - store_id:os.stoid,
912   - money:th.data.data.shop_price,
913   - };
914   - if(getApp().globalData.guide_id) {
915   - newd['guide_id'] = getApp().globalData.guide_id;
916   - newd['guide_type']=0;
917   - };
918   - // 秒杀:单独购买的情况下,加入购物车显示的是零售价,否则显示秒杀活动价
919   - if(th.data.options.prom_type == 1) {
920   - newd['prom_type'] = th.data.options.prom_type;
921   - newd['prom_id'] = th.data.options.prom_id;
922   - if(th.data.openSpecModal_flash_normal) {
923   - newd['money'] = th.data.data.shop_price;
924   - newd['is_pd_normal'] = 1;
925   - } else {
926   - newd['money'] = th.data.prom_price;
927   - };
928   - };
929   -
930   -
931   - //----先看会员在购物车中是否加入了该商品-----
932   - getApp().request.get("/api/weshop/cartService/page", {
  347 + //获取用户的默认门店
  348 + getApp().get_user_store(function (e) {
  349 + if (!e) {
  350 + th.data.fir_def_store = {}; //赋值空对象
  351 + return false;
  352 + }
  353 +
  354 + if(getApp().globalData.is_dj_pk) th.setData({has_def:1})
  355 + var ee = JSON.parse(JSON.stringify(e));
  356 + //--定时器推迟一下--
  357 + setTimeout(function () {
  358 + if (!th.data.data) return false;
  359 + var ser_card = th.data.data;
  360 + //--如果默认门店不在等级卡的默认们店以内
  361 + if (ser_card.storageId != null && ser_card.storageId != "" && ser_card.storageId.indexOf(ee.keyid) == -1) {
  362 + ee.is_no_dis = 1;
  363 + }
  364 +
  365 + var appd = getApp().globalData;
  366 + var w_time = setInterval(function () {
  367 + if (that.data.is_get_local_ok == 0) return false;
  368 + clearInterval(w_time);
  369 + var distance = null;
  370 + var e = JSON.parse(JSON.stringify(ee));
  371 +
  372 + //如果有开启近距离的话,同时距离优不一样了
  373 + if (that.data.lat != null) {
  374 + //如果经纬度有变化的话
  375 + if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) {
  376 + that.data.fir_def_store = e;
  377 + that.setData({
  378 + def_pick_store: e,
  379 + sto_sele_name: e.pickup_name,
  380 + sto_sele_id: e.pickup_id,
  381 + sto_sele_distr: e.distr_type,
  382 + sto_sele_keyid: e.keyid,
  383 + })
  384 + } else {
  385 + //要用接口是获取距离,js的计算不准
  386 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  387 + data: {
  388 + store_id: os.stoid,
  389 + pickup_id: e.pickup_id,
  390 + lat: th.data.lat,
  391 + lon: th.data.lon,
  392 + is_pos: 1
  393 + },
  394 + }).then(res => {
  395 + if (ut.ajax_ok(res)) {
  396 + e = res.data.data.pageData[0];
  397 + if (e) {
  398 + e.is_no_dis = ee.is_no_dis;
  399 + appd.pk_store = e;
  400 + that.data.fir_def_store = e;
  401 + that.setData({
  402 + def_pick_store: e,
  403 + sto_sele_name: e.pickup_name,
  404 + sto_sele_id: e.pickup_id,
  405 + sto_sele_distr: e.distr_type,
  406 + sto_sele_keyid: e.keyid,
  407 + })
  408 + }
  409 +
  410 + }
  411 + })
  412 + }
  413 +
  414 + //e.distance = distance;
  415 + appd.lat = that.data.lat;
  416 + appd.lon = that.data.lon;
  417 +
  418 + } else {
  419 + if (e) {
  420 + e.distance = null;
  421 + that.data.fir_def_store = e;
  422 + that.setData({
  423 + def_pick_store: e,
  424 + sto_sele_name: e.pickup_name,
  425 + sto_sele_id: e.pickup_id,
  426 + sto_sele_distr: e.distr_type,
  427 + sto_sele_keyid: e.keyid,
  428 + })
  429 + }
  430 + }
  431 + }, 500)
  432 + }, 700)
  433 +
  434 + });
  435 +
  436 +
  437 + },
  438 +
  439 +
  440 + onReady() {
  441 + // 用于控制保障服务折叠图标的显示
  442 + setTimeout(() => {
  443 + wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => {
  444 +
  445 + if (res.length != 0) {
  446 + this.setData({
  447 + showFold: res[0].height < res[1].height,
  448 + });
  449 + }
  450 +
  451 + }).exec();
  452 + }, 1000);
  453 +
  454 + },
  455 +
  456 +
  457 + //------------程序初始化入口-------------
  458 + async init(gid) {
  459 + var ee = this,
  460 + th = ee,
  461 + gallery = null,
  462 + is_collect = 0,
  463 + collect_id = 0,
  464 + categories3 = ee.data.categories3,
  465 + fir_com = null,
  466 + fir_quan = null,
  467 + mapurl = null,
  468 + mapurl_f_img = null;
  469 +
  470 +
  471 +
  472 + let goods_id = this.data.options.goods_id;
  473 + if (!goods_id) goods_id = this.data.data.goods_id;
  474 +
  475 + //------是否收藏----------
  476 + await getApp().request.promiseGet("/api/weshop/goodscollect/page", {
933 477 data: {
934 478 store_id: os.stoid,
  479 + goods_id: gid,
935 480 user_id: oo.user_id,
936   - service_id: th.data.data.id,
  481 + }
  482 + }).then(res => {
  483 + var t = res;
  484 + var data = t.data.data.pageData;
  485 + if (data && data.length > 0) {
  486 + is_collect = 1;
  487 + collect_id = data[0].collect_id;
  488 + }
  489 + })
  490 +
  491 + //------获取评价的统计数量----
  492 + await getApp().request.promiseGet("/api/weshop/serviceComment/countlist/", {
  493 + data: {
  494 + store_id: os.stoid,
  495 + service_id: gid
937 496 },
938   - success: function(re) {
939   - //-------如果购物车中有相关的数据---------
940   - if (re.data.data.total > 0) {
941   - var item = null;
942   - // 多门店问题
943   - var cartGoodsNum = 0;
944   - const tmpObj = re.data.data.pageData;
945   - for (let i = 0; i < tmpObj.length; i++) {
946   - if (th.data.sto_sele_id != tmpObj[i].pick_id) {
947   - cartGoodsNum += parseInt(tmpObj[i].goods_num);
948   - } else {
949   - item = tmpObj[i];
950   - }
951   - }
952   - // 当前门店同类商品还没加入到购物车 但是有其他门店的同类商品
953   - if (th.data.prom_type == 1 && !th.data.is_normal && !item) {
954   -
955   - // 秒杀购物车购买 修正数量
956   - var snum = limitNum - boughtNum;
957   - if (snum <= 0) {
958   - // wx.showModal({
959   - // title: '超出限购数量',
960   - // });
961   - getApp().my_warnning('超出限购数量', 0, self);
962   - return false;
963   - }
964   -
965   - var cSnum = snum- cartGoodsNum <= 0 ? 0 : snum- cartGoodsNum;
966   - var cRedisNums = redisNums- cartGoodsNum <= 0 ? 0 : redisNums- cartGoodsNum;
967   -
968   - if (newd['goods_num'] >= redisNums){
969   - if (redisNums > snum) {
970   - newd['goods_num'] = cSnum;
971   - } else {
972   - newd['goods_num'] = cRedisNums;
973   - }
974   - } else {
975   - if (newd['goods_num'] > snum) newd['goods_num'] = cSnum;
976   - }
977   -
978   - if (newd['goods_num'] <= 0) {
979   - getApp().my_warnning('加入购物车成功', 1, th, 450);
980   - th.closeSpecModal();
981   - return false;
982   - }
983   - getApp().request.post("/api/weshop/cartService/save", {
984   - data: newd,
985   - success: function(t) {
986   - getApp().my_warnning('加入购物车成功', 1, th, 450);
987   - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
988   - th.setData({
989   - cartGoodsNum: c_num
990   - });
991   - th.closeSpecModal();
992   - }
993   - });
994   - return false;
995   - }
996   -
997   - // 以下为当前门店同类商品已经加入到购物车
998   - var totalNum = th.data.goodsInputNum + item.goods_num;
999   -
1000   - // 秒杀购物车购买 修正数量
1001   - if (th.data.prom_type == 1 && !th.data.is_normal) {
1002   - var snum = limitNum - boughtNum;
1003   - if (snum <= 0) {
1004   - // wx.showModal({
1005   - // title: '超出限购数量',
1006   - // });
1007   - getApp().my_warnning('超出限购数量', 0, self);
1008   - return false;
1009   - }
1010   - if (totalNum >= redisNums){
1011   - if (redisNums > snum) {
1012   - totalNum = snum- cartGoodsNum;
1013   - } else {
1014   - totalNum = redisNums- cartGoodsNum;
1015   - }
1016   - } else {
1017   - if (totalNum > snum)
1018   - totalNum = snum- cartGoodsNum;
1019   - }
1020   - }
1021   -
1022   - var updata = {
1023   - id: item.id,
1024   - goods_num: totalNum,
1025   - money: th.data.data.shop_price,
1026   - store_id: os.stoid,
1027   - };
1028   -
1029   - // 秒杀:单独购买的情况下,加入购物车显示的是零售价,否则显示秒杀活动价
1030   - if(th.data.options.prom_type == 1) {
1031   - // updata['prom_type'] = th.data.options.prom_type;
1032   - // updata['prom_id'] = th.data.options.prom_id;
1033   - if(th.data.openSpecModal_flash_normal) {
1034   - updata['money'] = th.data.data.shop_price;
1035   - updata['is_pd_normal'] = 1;
1036   - } else {
1037   - updata['money'] = th.data.prom_price;
1038   - };
1039   - };
1040   -
1041   - if (getApp().globalData.guide_id) {
1042   - updata['guide_id'] = getApp().globalData.guide_id;
1043   - updata['guide_type'] = 1;
  497 + }).then(res => {
  498 + console.log('get评价统计数量', res.data.data);
  499 + var t = res;
  500 + var g = t.data.data[0];
  501 + if (g != null && g != undefined) {
  502 + var allnum = g.c0 + g.c1 + g.c2 + g.c3 + g.c4 + g.c5;
  503 + var num2 = g.c4 + g.c5;
  504 + var num3 = g.c3;
  505 + var num4 = g.c0 + g.c1 + g.c2;
  506 +
  507 + var dd = ee.data.categories3;
  508 + dd[0].num = allnum;
  509 + dd[1].num = g.cimg;
  510 + dd[2].num = num2;
  511 + dd[3].num = num3;
  512 + dd[4].num = num4;
  513 +
  514 + categories3 = dd;
  515 + }
  516 + });
  517 +
  518 + //----获取详情页的评价----
  519 + await getApp().request.promiseGet("/api/weshop/serviceComment/pageComment", {
  520 + data: {
  521 + store_id: os.stoid,
  522 + service_id: gid,
  523 + pageSize: 3,
  524 + parent_id: 0,
  525 + page: 1,
  526 + is_show: 1,
  527 + },
  528 + }).then(res => {
  529 + fir_com = res.data.data.pageData;
  530 + });
  531 +
  532 + if (fir_com) {
  533 + for (var ind in fir_com) {
  534 + if (fir_com[ind].head_pic == "") fir_com[ind].head_pic = ee.data.iurl + "/miniapp/images/hui_hear_pic.png";
  535 + if (fir_com[ind].img) fir_com[ind].img = ut.unserialize(fir_com[ind].img);
  536 + if (fir_com[ind].weapp_img) fir_com[ind].weapp_img = JSON.parse(fir_com[ind].weapp_img);
  537 + }
  538 + }
  539 +
  540 +
  541 + //this.getHistoryBuy(); //获取历史购买
  542 + ee.setData({
  543 + is_collect: is_collect,
  544 + collect_id: collect_id,
  545 + categories3: categories3,
  546 + fir_quan: fir_quan,
  547 + fir_comments: fir_com,
  548 + //cardComments: fir_com,
  549 + });
  550 +
  551 + },
  552 +
  553 + //---展示---
  554 + // gid 在onload阶段已经保存在this.data中
  555 + onShow: function () {
  556 +
  557 + getApp().check_can_share(this);
  558 + var that = this;
  559 + var ee = this, gid = this.data.gid, i = getApp().request;
  560 + this.data.is_timer = 1;
  561 + this.wait_for_store_config();
  562 +
  563 + i.get("/api/weshop/serviceCard/get/" + os.stoid + "/" + ee.data.gid, {
  564 + failRollback: !0,
  565 + success: function (t) {
  566 + if (t.data.code == 0) {
  567 + // console.log('GET pic and video');
  568 + if (t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_url) {
  569 + that.setData({
  570 + mapurl: t.data.data.listServiceVideos[0].video_url,
  571 + });
1044 572 }
1045   - getApp().request.put("/api/weshop/cartService/update", {
1046   - data: updata,
1047   - success: function(t) {
1048   - getApp().my_warnning('加入购物车成功', 1, th, 450);
1049   - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
1050   - th.setData({
1051   - cartGoodsNum: c_num
1052   - });
1053   - th.closeSpecModal();
1054   - }
  573 +
  574 + if (t.data.data.listServiceVideos && t.data.data.listServiceVideos[0] && t.data.data.listServiceVideos[0].video_img) {
  575 + that.setData({
  576 + mapurl_f_img: t.data.data.listServiceVideos[0].video_img,
  577 + });
  578 + }
  579 +
  580 + if (t.data.data.listServiceImages) {
  581 + that.setData({
  582 + gallery: t.data.data.listServiceImages,
  583 + });
  584 + }
  585 +
  586 + if (t.data.data.listServiceItem) {
  587 + that.setData({
  588 + listServiceItem: t.data.data.listServiceItem,
  589 + });
  590 + }
  591 +
  592 + that.setData({
  593 + 'sele_g':t.data.data,
  594 + 'data.goods_name': t.data.data.serviceName,
  595 + 'data.shop_price': t.data.data.money,
  596 + 'data.show_price': t.data.data.show_price,
  597 + 'data.validDays': t.data.data.validDays,
  598 + 'data.serviceContent': t.data.data.serviceContent,
  599 + 'data.image_url': t.data.data.imgUrl,
  600 + 'data.goods_id': t.data.data.id,
  601 + 'data.id': t.data.data.id,
  602 + 'data.sales_sum': t.data.data.sales_sum,
  603 + 'data.storageId': t.data.data.storageId,
  604 + 'data.service_sn': t.data.data.serviceSn,
  605 + 'data.listServiceVideos': t.data.data.listServiceVideos,
  606 + // gallery: t.data.data.listServiceImages,
  607 + // mapurl: t.data.data.listServiceVideos[0].video_url,
  608 + // mapurl_f_img: t.data.data.listServiceVideos[0].video_img,
  609 + //listServiceItem: t.data.data.listServiceItem,
1055 610 });
  611 +
  612 +
  613 + // ----> 秒杀
  614 + let prom_type = that.data.options.prom_type;
  615 +
  616 + if (prom_type) { // 进入商品详情页地址传参有带goods_id、prom_type、prom_id参数, 即从秒杀入口进入
  617 + let prom_id = that.data.options.prom_id;
  618 + // 检查活动是否开始
  619 + that.check_prom(t.data.data.id, prom_type, prom_id);
  620 + }
  621 +
  622 +
  623 + that.getTaohe();
  624 + //-----商品详情---
  625 + if (!t.data.data.serviceContent) t.data.data.serviceContent = " ";
  626 + a.wxParse("content", "html", ut.format_content(t.data.data.serviceContent), ee, 6);
  627 + e.wxParseAddFullImageUrl(ee, "content");
  628 +
  629 + //获取重表
  630 + getApp().promiseGet("/api/weshop/serviceItem/list", {
  631 + data: {store_id: os.stoid, service_id: t.data.data.id}
  632 + }).then(res => {
  633 + if (res.data.code == 0) {
  634 + var list = res.data.data;
  635 + that.setData({service_list: list})
  636 + }
  637 + })
  638 +
1056 639 } else {
1057   - getApp().request.post("/api/weshop/cartService/save", {
1058   - data: newd,
1059   - success: function(t) {
1060   - getApp().my_warnning('加入购物车成功', 1, th, 450);
1061   - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
1062   - th.setData({
1063   - cartGoodsNum: c_num
1064   - });
1065   - th.closeSpecModal();
  640 + wx.showModal({
  641 + title: t.data.msg,
  642 + showCancel: !1,
  643 + complete: function () {
  644 + wx.navigateBack();
1066 645 }
1067 646 });
1068 647 }
  648 +
1069 649 }
1070 650 });
1071 651  
1072   - };
1073   -
1074   -
1075   -
1076   -
1077   -
1078   -
1079   -
1080   - },
1081   -
1082   - //----------立即购买-----------
1083   - buyNow: function(e) {
1084   - getApp().globalData.service_now=e;
1085   - wx.redirectTo({
1086   - url: "/packageA/pages/cart2_ser/cart2_ser",
1087   - });
1088   - },
1089   - //----------增加购买数量-----------
1090   - addCartNum: function(t) {
1091   - this.checkCartNum(this.data.goodsInputNum + 1);
1092   - },
1093   - //----------减少购买数量-----------
1094   - subCartNum: function(t) {
1095   - this.checkCartNum(this.data.goodsInputNum - 1);
1096   - },
1097   - //----------输入框输入购买数量-----------
1098   - inputCartNum: function(t) {
1099   - this.checkCartNum(Number(t.detail.value));
1100   - },
1101   -
1102   - //------检查数量是不是超出限购------
1103   - checkCartNum: async function(t) {
1104   - var th = this;
1105   -
1106   - if(!th.data.def_pick_store) {
1107   - wx.showModal({title: '请选择门店',});
1108   - return false;
1109   - };
1110   -
1111   - // 非秒杀活动
1112   - if(this.data.prom_type != 1) {
1113   - this.setData({
1114   - goodsInputNum: t,
1115   - });
1116   - };
1117   -
1118   - // 秒杀活动
1119   - if(this.data.prom_type == 1) {
1120   - // 如果是秒杀活动下的单独购买,is_normal为1
1121   - if(this.data.openSpecModal_flash_normal) this.data.is_normal = 1;
1122   -
1123   - if(this.data.is_normal) {// 单独购买
1124   - this.setData({
1125   - goodsInputNum: t,
1126   - });
1127   - } else {// 秒杀购买
1128   -
1129   - // 获取redis当前可以购买的数量
1130   - // 如果数量为0,设置和显示已抢光
1131   - // 否则,进一步判断是否超出限购或超出库存
1132   - await this.getactLen().then(async function(res) {
1133   - // res: redis可购买数量
1134   - // console.log('当前可以购买的数量:', res);
1135   - if(res <= 0) {
1136   - // 可购买数量<=0, 设置和显示已抢光
1137   - th.setData({
1138   - prom_r_null: 1,
1139   - });
1140   - } else {
1141   - // 可购买数量>0
1142   - // 计算自己还可以购买的数量
1143   - // 自己还可购买的数量c = 每人活动限购数量a - 自己已经购买的数量b
1144   - // 如果限购数量a>redis可购买数量d,当增加数量t>d, 提示超出库存
1145   - // 如果限购数量a<=redis可购买数量d, 当增加数量t>a,提示超出限购
1146   - let actInfo = th.data.sele_g;
1147   - await th.get_buy_num2().then(function (data) {
1148   - let limited = actInfo.buy_limit; // 限购数量a
1149   - let promcardbuynum = data.data.data.promcardbuynum;
1150   - let buyedNum = promcardbuynum; // 自己已经购买的数量b
1151   - let canBuyNum = limited - buyedNum; // 自己还可购买的数量c
1152   -
1153   - if(canBuyNum <= 0) {
1154   - canBuyNum = 0;
1155   - };
1156   -
1157   - if(limited > res) {
1158   - if(t > res) { // t当前增减的数量
1159   - // wx.showModal({
1160   - // title: '超出活动库存',
1161   - // });
1162   - getApp().my_warnning('超出活动库存', 0, self);
1163   - th.setData({
1164   - goodsInputNum: res,
1165   - });
1166   - return false;
1167   - };
1168   - };
1169   -
1170   - if(limited <= res) {
1171   - if(t>canBuyNum) {
1172   - // wx.showModal({
1173   - // title: '超出限购数量',
1174   - // });
1175   - getApp().my_warnning('超出限购数量', 0, self);
1176   - th.setData({
1177   - goodsInputNum: canBuyNum,
1178   - });
1179   - return false;
1180   - };
1181   - };
1182   -
1183   - th.setData({
1184   - goodsInputNum: t,
1185   - });
1186   - });
1187   - };
1188   - });
1189   -
1190   - }
1191   -
1192   -
1193   - };
1194   -
1195   - },
1196   -
1197   -
1198   - closeSpecModal: function() {
1199   - this.setData({
1200   - openSpecModal: !1,
1201   - openSpecModal_pt: !1,
1202   - openSpecModal_flash_normal: !1,
1203   - });
1204   - },
1205   -
1206   - openSpecModel: function(t) {
1207   - var th=this;
1208   - var open_store = t.currentTarget.dataset.ind;
1209   - this.setData({
1210   - store: 0,
1211   - choice_sort_store: 0,
1212   - sort_store: 0,
1213   - open_ind_store: open_store,
1214   - })
1215   - //--先判断会员状态--
1216   - var user_info = getApp().globalData.userInfo;
1217   - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
1218   - wx.navigateTo({
1219   - url: '/packageE/pages/togoin/togoin',
1220   - })
1221   - return false;
1222   - }
1223   -
1224   - var ind = t.currentTarget.dataset.ind;
1225   - this.setData({
1226   - openSpecModal: !0,
1227   - openSpecModal_ind: ind,
1228   - });
1229   -
1230   - },
1231   -
1232   - //---------点击收藏和不收藏------------
1233   - collectGoods: function() {
1234   - var t = this,i = getApp().request;
1235   - var user_id = s.globalData.user_id;
1236   - if (user_id == '') {
1237   - getApp().getUserFir(function() {});
1238   - getApp().showWarning("未登录");
1239   - return false;
1240   - } else {
1241   -
1242   - if(t.data.is_collect_load) return false;
1243   - t.data.is_collect_load=1;
1244   -
1245   - if (t.data.is_collect == 1) { //删除收藏
1246   - i.delete("/api/weshop/goodscollect/del/" + os.stoid + "/" + t.data.collect_id, {
1247   - success: function(e) {
1248   - t.data.is_collect_load=0;
1249   - if (e.data.code == 0) {
1250   - t.setData({
1251   - is_collect: 0,
1252   - collect_id: 0,
1253   - });
1254   - }
1255   - }
  652 + this.data.enterAddressPage && (this.data.enterAddressPage = !1);
  653 + this.get_sto();
  654 +
  655 + },
  656 +
  657 + enterAddress: function () {
  658 + this.data.enterAddressPage = !0, wx.navigateTo({
  659 + url: "/pages/user/address_list/address_list?operate=selectAddress"
1256 660 });
1257   - } else {
1258   - var timestamp = Date.parse(new Date());
1259   - timestamp = timestamp / 1000;
1260   - var d = {
1261   - goods_id: t.data.data.goods_id,
1262   - user_id: s.globalData.user_id,
1263   - store_id: os.stoid,
1264   - add_time: timestamp,
1265   - type: 1,
1266   - };
1267   - //加入收藏夹就是导购的ID
1268   - if(getApp().globalData.guide_id){
1269   - d.guide_id=getApp().globalData.guide_id;
1270   - d.guide_type=2;
  661 + },
  662 +
  663 + onUnload: function () {
  664 + for (var i = 1; i < 100; i++) {
  665 + clearInterval(i);
1271 666 }
  667 + },
1272 668  
1273   - i.post("/api/weshop/goodscollect/save", { //添加收藏
1274   - data: d,
1275   - success: function(e) {
1276   - t.data.is_collect_load=0;
1277   - if (e.data.code == 0) {
1278   - t.setData({
1279   - is_collect: 1,
1280   - collect_id: e.data.data.collect_id,
1281   - });
1282   - }
1283   - }
  669 + onHide: function () {
  670 + this.data.is_timer = 0;
  671 + for (var i = 1; i < 100; i++) {
  672 + clearInterval(i);
  673 + }
  674 + },
  675 + //----------三个选项按钮-----------
  676 + tabClick: function (t) {
  677 + var e = t.currentTarget.id;
  678 + this.setData({
  679 + activeCategoryId: e
  680 + }), 1 == e ? this.tabGoodsContent() : 2 == e && this.tabComment();
  681 + },
  682 +
  683 + // tabClick2: function(t) {
  684 + // this.setData({
  685 + // activeCategoryId2: t.currentTarget.id
  686 + // });
  687 + // },
  688 +
  689 + tabClick3: function (t) {
  690 + var e = this;
  691 + if (t.currentTarget.id != this.data.activeCategoryId3) {
  692 + e.data.c_curr_p = 1;
  693 + this.setData({
  694 + activeCategoryId3: t.currentTarget.id,
  695 + comments: null, comments_no_more: 0, get_c: 0,
  696 + });
  697 + this.requestComments_new();
  698 + }
  699 + },
  700 +
  701 + tabComment: function () {
  702 + this.setData({
  703 + activeCategoryId: 2, comments_no_more: 0, get_c: 0
  704 + }), this.data.comments || this.requestComments_new();
  705 + },
  706 +
  707 + //商品详情的时候调用
  708 + tabGoodsContent: function () {
  709 + this.setData({
  710 + activeCategoryId: 1
1284 711 });
1285   - }
1286   - }
1287   - },
1288   - //---------联系客服------------
1289   - contactService: function () {
1290   - this.getTel()
1291   - .then(() => {
1292   - if(self.data.store_tel) {
1293   - wx.showModal({
1294   - title: '联系客服',
1295   - content: '客服热线:' + self.data.store_tel,
1296   - confirmText: '拨打',
1297   - success(res) {
1298   - if(res.confirm) {
1299   - wx.makePhoneCall({
1300   - phoneNumber: self.data.store_tel,
1301   - })
1302   - };
1303   - },
1304   - });
1305   - };
1306   - });
1307   - },
1308   - // 获取客服电话
1309   - getTel() {
1310   - return new Promise((resolve, reject) => {
1311   - s.getConfig(function (t) {
1312   - if (t.store_tel == undefined) {
1313   - getApp().request.get("/api/weshop/store/get/" + os.stoid, {
1314   - isShowLoading: 1,
1315   - data: {},
1316   - success: function (rs) {
1317   - getApp().globalData.config = rs.data.data;
1318   - if (rs.data.data.store_tel == null && rs.data.data.store_tel == undefined) {
1319   - getApp().my_warnning("商家未设置电话", 0, th);
1320   - return false;
1321   - }
1322   - self.setData({
1323   - store_tel: rs.data.data.store_tel,
1324   - });
1325   - // s.confirmBox("请联系客服:" + rs.data.data.store_tel);
1326   - }
1327   - })
1328   - } else {
1329   - self.setData({
1330   - store_tel: t.store_tel,
1331   - });
1332   - // s.confirmBox("请联系客服:" + t.store_tel);
1333   - };
1334   - resolve();
1335   - });
1336   - });
1337   - },
1338   - //-------获取购物车数量----------
1339   - requestCardNum: function() {
1340   - var t = this;
1341   - getApp().request.get("/api/weshop/cart/page", {
1342   - data: {
1343   - store_id: os.stoid,
1344   - user_id: getApp().globalData.user_id,
1345   - state:0,
1346   - is_gift:0
1347   - },
1348   - success: function(e) {
1349   - var num = 0;
1350   - for (var i = 0; i < e.data.data.pageData.length; i++) {
1351   - num += e.data.data.pageData[i].goods_num;
1352   - }
1353   - //-- 读取服务卡的数量 --
1354   - getApp().promiseGet("/api/weshop/cartService/page",{
1355   - data:{
1356   - store_id: os.stoid,
1357   - user_id: getApp().globalData.user_id,
1358   - }
1359   - }).then(res=>{
1360   - for (var i = 0; i < res.data.data.pageData.length; i++) {
1361   - num += res.data.data.pageData[i].goods_num;
1362   - }
1363   - t.setData({cartGoodsNum:num});
1364   - })
1365   -
1366   -
1367   - }
1368   - });
1369   - },
1370   -
1371   - //--点击分享事件---
1372   - onShareAppMessage: function(t) {
1373   -
1374   - var th = this;
1375   - var price = th.data.data.shop_price;
1376   - if (th.data.prom_act) {
1377   - price = th.data.prom_act.price;
1378   -
1379   - }
1380   - var title= th.data.data.goods_name;
1381   - var img=th.data.data.original_img;
1382   - if(th.data.prom_type==6){
1383   - title=th.data.prom_act.share_title;
1384   - img=th.data.iurl+th.data.prom_act.share_imgurl;
1385   - }
1386   -
1387   -
1388   -
1389   -
1390   - var url="/packageA/pages/goodsInfo/goodsInfo?goods_id=" + th.data.gid;
1391   - if(getApp().globalData.user_id) {
1392   - url+="&first_leader="+getApp().globalData.user_id;
1393   - }
1394   -
1395   - //-- 如果房间分享,且不是会员分享的 --
1396   - if(getApp().globalData.room_id &&
1397   - th.data.data.goods_id==getApp().globalData.room_goods_id &&
1398   - !getApp().globalData.room_user_share
1399   - ){
1400   - url+="&room_id="+getApp().globalData.room_id+"&room_user_share=1";
1401   - }
1402   -
1403   -
1404   - var ob={
1405   - title: price + "元 " +title,
1406   - path:url,
1407   - imageUrl: img,
1408   - };
1409   -
1410   - // 如果服务卡参加秒杀活动,且后台设置了分享标题和分享图片
1411   - if(th.data.prom_type == 1) {
1412   - if(th.data.sele_g && th.data.sele_g.share_title) {
1413   - title = th.data.sele_g.share_title;
1414   - ob.title = title;
1415   - };
1416   - if(th.data.sele_g && th.data.sele_g.share_imgurl) {
1417   - img = th.data.iurl + th.data.sele_g.share_imgurl;
1418   - ob.imageUrl = img;
1419   - };
1420   - };
1421   -
1422   - return ob;
1423   -
1424   - },
1425   -
1426   - //-----图片失败,默认图片-----
1427   - bind_bnerr: function(e) {
1428   - var _errImg = e.target.dataset.errorimg;
1429   - var _errObj = {};
1430   - _errObj[_errImg] = this.data.iurl + "/miniapp/images/default_g_img.gif";
1431   - this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
1432   - },
1433   -
1434   - //-----图片失败,默认图片-----
1435   - bind_bnerr2: function(e) {
1436   -
1437   - var _errImg = e.target.dataset.errorimg;
1438   - var _errObj = {};
1439   - _errObj[_errImg] = this.data.iurl + "/miniapp/images/hui_hear_pic.png"
1440   - this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
1441   - },
1442   -
1443   -
1444   - //---------拿出门店分类和门店------------
1445   - get_sto(e) {
1446   - var th = this,that=this;
1447   - var timer_get = setInterval(function() {
1448   - if (th.data.is_get_local_ok == 0) return false;
1449   - var i = getApp().request;
1450   - if (!th.data.data) return false;
1451   - var dd= {
1452   - store_id: os.stoid,
1453   - isstop: 0,
1454   - is_pos: 1,
1455   - pageSize: 2000
1456   - }
1457   - //如果有距离的话
1458   - if (th.data.lat != null) {
1459   - dd.lat = th.data.lat;
1460   - dd.lon = th.data.lon;
1461   - }
1462   - clearInterval(timer_get);
1463   -
1464   - //如果会员是有默认的门店话
1465   - if(!th.data.def_pick_store && th.data.fir_def_store){
1466   - th.setData({def_pick_store:th.data.fir_def_store});
1467   - }
1468   -
1469   - wx.showLoading({
1470   - title:'加载中.'
1471   - });
1472   - //----------获取门店----------------
1473   - getApp().request.promiseGet("/api/weshop/pickup/list", {
1474   - data: dd,
1475   - }).then(res => {
1476   - var e = res;
1477   - if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length>0) {
1478   -
1479   - var his_cate_num=0;
1480   - for(let i in e.data.data.pageData){
1481   - let item=e.data.data.pageData[i];
1482   - if(item.category_id>0){
1483   - his_cate_num=1;break;
1484   - }
  712 + },
  713 +
  714 + //-----------------拼单生成方法---------------------
  715 + addCart_pt: function () {
  716 + var th = this;
  717 + if (this.data.is_normal == 0) {
  718 + //看一下有没有起购数,如果有起购数,要计算起购数
  719 + var qnum = parseFloat(th.data.prom_act.minbuynum);
  720 + if (qnum > 0 && th.data.goodsInputNum < qnum) {
  721 + getApp().confirmBox("拼团商品至少要买" + qnum + "件!");
  722 + return false;
1485 723 }
1486   - e.his_cate_num=his_cate_num;
1487   -
1488   - //--普通门店排版--
1489   - setTimeout(function(){
1490   - var sto_list=th.data.data.storageId;
1491   - if(sto_list){
1492   - for (var k = 0; k < e.data.data.pageData.length; k++) {
1493   - var it=e.data.data.pageData[k];
1494   - if (sto_list.indexOf(it.keyid)==-1) {
1495   - //删除
1496   - e.data.data.pageData.splice(k--, 1);
1497   - }
1498   - }
1499   - }
1500   -
1501   - //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店
1502   - if(dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store)=='{}') && th.data.bconfig && th.data.bconfig.is_sort_storage){
1503   - th.setData({
1504   - def_pick_store:e.data.data.pageData[0],
1505   - sto_sele_name: e.data.data.pageData[0].pickup_name,
1506   - sto_sele_id: e.data.data.pageData[0].pickup_id,
1507   - sto_sele_distr: e.data.data.pageData[0].distr_type
1508   - });
1509   - th.data.fir_def_store=e.data.data.pageData[0];
1510   - }
1511   -
1512   - //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 --
1513   - if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){
1514   - for (var k = 0; k < e.data.data.pageData.length; k++) {
1515   - if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
1516   - e.data.data.pageData.splice(k, 1); //删除
1517   - break;
1518   - }
1519   - }
1520   - e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
1521   - }
1522   -
1523   - th.setData({all_pick_list:e.data.data.pageData});
1524   - th.deal_pickup(e);
1525   - },800)
1526   -
  724 + th.addcart_pt_func();
  725 + } else {
  726 + th.addcart_pt_func();
1527 727 }
1528   - })
1529   - }, 200)
1530   - },
1531   -
1532   -
1533   - //------------处理门店---------------
1534   - deal_pickup(e){
1535   - var th=this;
1536   - if(!th.data.data) return false
1537   - wx.hideLoading();
1538   - //单总量超出5个的时候
1539   - if (e.data.data.total > 10 && e.his_cate_num) {
1540   - getApp().request.get("/api/weshop/storagecategory/page", {
1541   - data: {
1542   - store_id: os.stoid,
1543   - pageSize: 1000,
1544   - orderField:"sort",
1545   - orderType:'asc',
1546   - },
1547   - success: function(ee) {
1548   - if (ee.data.code == 0) {
1549   -
1550   - var check_all_cate=0;
1551   - if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0){
1552   - for(let i in ee.data.data.pageData){
1553   - let item=ee.data.data.pageData[i];
1554   - if(item.is_show==1){
1555   - check_all_cate=1;break
1556   - }
1557   - }
1558   - }
1559   -
1560   - if (check_all_cate) {
1561   -
1562   -
1563   - var sto_cate = ee.data.data.pageData;
1564   - var sto_arr = e.data.data.pageData;
1565   - var newarr = new Array();
1566   - var qita = new Array();
1567   -
1568   - var is_del_pk=0;
1569   -
1570   - //----要进行门店分组--------
1571   - for (var i = 0; i < sto_arr.length; i++) {
1572   - //找一下这个门店有没有在分类数组内
1573   - var find2 = 0, find2name = "",sort=0;
1574   - is_del_pk=0;
1575   - for (var m = 0; m < sto_cate.length; m++) {
1576   - if (sto_arr[i].category_id == sto_cate[m].cat_id) {
1577   - if (sto_cate[m].is_show != 1) {
1578   - is_del_pk = 1;
1579   - sto_arr.splice(i, 1);
1580   - i--;
1581   - } else {
1582   - find2 = sto_cate[m].cat_id;
1583   - find2name = sto_cate[m].cat_name;
1584   - sort = sto_cate[m].sort;
1585   - is_del_pk = 0;
1586   - }
1587   - break;
1588   - }
1589   - }
1590   - if(is_del_pk) continue;
1591   -
1592   - if (newarr.length > 0) {
1593   - var find = 0;
1594   - //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
1595   - if (find2 != 0) {
1596   - for (var ii = 0; ii < newarr.length; ii++) {
1597   - if (sto_arr[i].category_id == newarr[ii].cat_id) {
1598   - newarr[ii].s_arr.push(sto_arr[i]);
1599   - find = 1;
1600   - break;
1601   - }
1602   - }
1603   - if (find == 0) {
1604   - var arr0 = new Array();
1605   - arr0.push(sto_arr[i]);
1606   - var item = {
1607   - cat_id: find2,
1608   - name: find2name,
1609   - sort:sort,
1610   - s_arr: arr0
1611   - };
1612   - newarr.push(item);
1613   - }
1614   - } else {
1615   - qita.push(sto_arr[i]);
1616   - }
1617   - } else {
1618   - //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
1619   - if (find2 != 0) {
1620   - var arr0 = new Array();
1621   - arr0.push(sto_arr[i]);
1622   - var item = {
1623   - cat_id: find2,
1624   - name: find2name,
1625   - sort:sort,
1626   - s_arr: arr0
1627   - };
1628   - newarr.push(item);
1629   - } else {
1630   - qita.push(sto_arr[i]);
1631   - }
  728 + },
  729 +
  730 + addcart_pt_func: function () {
  731 + if (oo.user_id == null) {
  732 + s.my_warnning("还未登录!", 0, this);
  733 + return;
  734 + }
  735 + var e = this,
  736 + th = e,
  737 + o = this.data.sele_g;
  738 +
  739 + //----------添加到购物车时,要判断限购数量,--------
  740 + e.get_buy_num(async function (ee) {
  741 +
  742 + //---判断商品是否超出活动限购,拼团的普通购买不计算活动的限购---
  743 + if (th.data.promcardbuynum != -1 && th.data.prom_buy_limit > 0 && th.data.is_normal != 1) {
  744 +
  745 + if (th.data.goodsInputNum + th.data.promcardbuynum > th.data.prom_buy_limit) {
  746 + s.my_warnning('超出商品活动限购', 0, th);
  747 + var num = th.data.prom_buy_limit - th.data.promcardbuynum;
  748 + if (num < 0) num = 0;
  749 + th.setData({goodsInputNum: num})
  750 + return false;
1632 751 }
1633   - }
  752 + }
  753 +
  754 + var redis_num = 0
  755 + //不是普通购买的时候
  756 + if (th.data.is_normal != 1) {
  757 + //-------判断活动是否抢光---------
  758 + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + th.data.prom_id, {
  759 + 1: 1
  760 + }).then(res => {
  761 + redis_num = res.data.data;
  762 + })
1634 763  
1635   - var def_arr = new Array();
1636   - //-- 开始就看10个门店 --
1637   - for (var k = 0; k < 10; k++) {
1638   - if (k == sto_arr.length) break;
1639   - def_arr.push(sto_arr[k]);
  764 + if (th.data.goodsInputNum > redis_num) {
  765 + s.my_warnning('超出商品活动库存', 0, th);
  766 + th.setData({goodsInputNum: redis_num})
  767 +
  768 + return false;
1640 769 }
  770 + }
  771 +
  772 + if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th);
  773 + if (th.data.goodsInputNum > o.store_count) {
  774 + th.setData({goodsInputNum: o.store_count})
  775 + return s.my_warnning("超出商品库存", 0, th);
  776 + }
1641 777  
  778 + if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
1642 779 th.setData({
1643   - def_pickpu_list: def_arr,
1644   - pickpu_list: ee.data.data.pageData
  780 + sto_sele_name: ""
1645 781 });
1646   -
1647   - //门店分类要排序下
1648   - function compare(property){
1649   - return function(a,b){
1650   - var value1 = a[property];
1651   - var value2 = b[property];
1652   - return value1 - value2;
1653   - }
1654   - }
1655   - if(newarr.length>0)
1656   - newarr.sort(compare("sort"));
1657   -
1658   - //----安排其他的分类-----
1659   - if (qita.length > 0) {
1660   - var item = {
1661   - cat_id: -1,
1662   - name: "其他",
1663   - s_arr: qita
1664   - };
1665   - newarr.push(item);
1666   - }
  782 + if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th);
  783 + //--------------此时操作的数据------------
  784 + var newd = {
  785 + id: o.id,
  786 + goods_num: th.data.goodsInputNum,
  787 + pick_id: th.data.sto_sele_id,
  788 + keyid: th.data.sto_sele_keyid,
  789 + user_id: oo.user_id,
  790 + store_id: th.data.stoid,
  791 + goods_price: o.money,
  792 + goods_name: o.serviceName,
  793 + goods_sn: o.serviceSn,
  794 + sku: o.sku,
  795 + };
1667 796  
1668   - var sd={
1669   - all_sto: newarr,
1670   - is_show_sto_cat:1
1671   - }
1672   - if(!sto_arr || sto_arr.length<=10){
1673   - sd.is_show_sto_cat=-1;
1674   - sd.only_pk=sto_arr;
  797 + //---是不是从收藏夹出来的---
  798 + if (th.data.c_guide_id) {
  799 + newd['guide_id'] = th.data.c_guide_id;
  800 + newd['guide_type'] = 2;
  801 +
  802 +
  803 +
  804 +
  805 + } else {
  806 + if (getApp().globalData.guide_id) {
  807 + newd['guide_id'] = getApp().globalData.guide_id;
  808 + newd['guide_type'] = 0;
1675 809 }
1676   - th.setData(sd);
  810 + }
1677 811  
  812 + //让商品带上房间号
  813 + if (!th.data.sys_switch.is_skuroom_id && th.data.sys_switch.is_skuroom_id == 1) {
  814 + if (th.data.data.goods_id == getApp().globalData.room_goods_id) {
  815 + newd.room_id = getApp().globalData.room_id;
  816 + }
1678 817 } else {
1679   - th.setData({
1680   - is_show_sto_cat: -1,
1681   - only_pk: e.data.data.pageData
1682   - });
1683   - //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
1684   - if (!th.data.def_pick_store) {
1685   - th.setData({def_pick_store:e.data.data.pageData[0]})
1686   - }
  818 + if (newd.goods_id == getApp().globalData.room_goods_id) {
  819 + newd.room_id = getApp().globalData.room_id;
  820 + }
1687 821 }
1688   - } else {
1689   - th.setData({
1690   - is_show_sto_cat: -1,
1691   - only_pk: e.data.data.pageData
1692   - });
1693   - //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
1694   - if (!th.data.def_pick_store) {
1695   - th.setData({def_pick_store:e.data.data.pageData[0]})
  822 +
  823 + //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------
  824 +
  825 + if (th.data.is_normal == 1) {
  826 + var conf = th.data.bconfig;
  827 + if (conf.switch_list) {
  828 + var s_list = JSON.parse(conf.switch_list);
  829 + //如果后台有开启等级价的功能
  830 + if (parseInt(s_list.rank_switch) == 2) {
  831 + var card_price = o[getApp().globalData.userInfo['card_field']];
  832 + //如果会员有等级价
  833 + if (getApp().globalData.userInfo['card_field'] != undefined && getApp().globalData.userInfo['card_field'] != null
  834 + && getApp().globalData.userInfo['card_field'] != "" && card_price > 0) {
  835 + newd.goods_price = card_price;
  836 + }
  837 + }
  838 + }
1696 839 }
1697 840  
1698   - }
1699   - }
1700   - });
1701   - } else {
1702   - th.setData({
1703   - is_show_sto_cat: 0,
1704   - only_pk: e.data.data.pageData
1705   - });
1706   - //-----如果没有默认门店,要取第一个门店作为默认店------
1707   - if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) {
1708   -
1709   - if(e.data.data && e.data.data.pageData && e.data.data.pageData.length>0){
1710   - th.setData({
1711   - def_pick_store:e.data.data.pageData[0],
1712   - sto_sele_name: e.data.data.pageData[0].pickup_name,
1713   - sto_sele_id: e.data.data.pageData[0].pickup_id,
1714   - sto_sele_distr: e.data.data.pageData[0].distr_type
1715   - })
1716   - }
1717   -
1718   - }
1719   - }
1720   - },
1721   -
1722   - //加载更多是靠这个函数
1723   - onReachBottom: function() {
1724   - if (this.data.activeCategoryId == 2){
1725   - if(!this.data.comments_no_more) this.requestComments_new();
1726   - }
1727   -
1728   - var goods_list = this.selectComponent("#goods_list"); //组件的id
1729   - if (goods_list) goods_list.get_list();
1730   - },
1731   -
1732   -
1733   - //---小于10的格式化函数----
1734   - timeFormat(param) {
1735   - return param < 10 ? '0' + param : param;
1736   - },
1737   -
1738   -
1739   - //--定义的保存图片方法,分享团---
1740   - saveImageToPhotosAlbum: function() {
1741   - //--先判断会员状态--
1742   - var user_info = getApp().globalData.userInfo;
1743   - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
1744   - //getApp().my_warnning("请先登录",0,this);
1745   - wx.navigateTo({ url: '/packageE/pages/togoin/togoin', })
1746   - return false;
1747   - }
1748   -
1749   - //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团
1750   - var type = this.data.prom_type;
1751   - if (type == 6) type = 2;
1752   - if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;
1753   -
1754   - wx.showLoading({
1755   - title: '生成中...',
1756   - })
1757   - var that = this,
1758   - th = that;
1759   - //设置画板显示,才能开始绘图
1760   - that.setData({
1761   - canvasHidden: false
1762   - })
1763   -
1764   - var app = getApp();
1765   - var unit = that.data.screenWidth / 750 * 1.35; //基础单位,
1766   - var path2 = that.data.data.original_img;
1767   - var scene = th.data.gid+"";
1768   - var user_id = getApp().globalData.user_id?getApp().globalData.user_id:0;
1769   - if(user_id>0) {
1770   - scene+="_"+user_id;
1771   - }
1772   - //-- 如果不是会员分享过来的要分享给别人 --
1773   - if(getApp().globalData.room_id && th.data.data.goods_id==getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) {
1774   - //固定房间是第3个字符
1775   - if(!user_id) scene+="_0";
1776   - scene+="_"+getApp().globalData.room_id ;
1777   - }
1778   - ///二微码
1779   - var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
1780   - os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo";
1781   -
1782   - console.log(path3);
1783   -
1784   - //读取文件成功则OK--
1785   - wx.getImageInfo({
1786   - src: path3,
1787   - success: function(res) {
1788   - //回调写法
1789   - th.get_head_temp(th.get_goods_temp, function() {
1790   - var vpath = res.path;
1791   - var context = wx.createCanvasContext('share');
1792   - //先画背景
1793   - var pg_path = "../../../images/share/share_bg.png";
1794   -
1795   - // context.fillStyle="#FFFFFF";
1796   - // context.fillRect(0,0,554 * unit, 899 * unit);
1797   -
1798   - //-- 如果有自定义海报的时候,判断背景的图片 --
1799   - if(th.data.share_b_img){
1800   - pg_path=th.data.share_b_img;
1801   - }
1802   - context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
1803   -
1804   - //-- 是自定义海报的情况下 --
1805   - if(th.data.poster && parseInt(th.data.poster.style)==2) {
1806   - //在线上分享人的情况下
1807   - if(parseInt(th.data.poster.show_headpic)){
1808   - //获取坐标
1809   - var x=parseFloat(th.data.poster.head_x)*2;
1810   - var y=parseFloat(th.data.poster.head_y)*2;
1811   - var x1=(x+90) *unit;
1812   - var y1=(y+50) *unit;
1813   - //--昵称---
1814   - context.setFontSize(24 * unit)
1815   - context.setFillStyle("black")
1816   - context.fillText(app.globalData.userInfo.nickname, x1, y1);
1817   - var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit;
1818   - //强烈推荐 改许程
1819   - var tj_path = "../../../images/share/q_tj.png";
1820   - context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit);
1821   - context.setFontSize(16 * unit)
1822   - context.setLineJoin('round'); //交点设置成圆角
1823   - context.setFillStyle("white")
1824   - context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit);
1825   -
1826   - //context.setFillStyle("black")
1827   - //context.setFontSize(24 * unit)
1828   - //context.fillText(getApp().globalData.config.store_name, 40 * unit, 130 * unit);
1829   - }
1830   - } else {
1831   - //--昵称---
1832   - context.setFontSize(24 * unit)
1833   - context.setFillStyle("black")
1834   - context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit);
1835   - var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;
1836   - //强烈推荐 改许程
1837   - var tj_path = "../../../images/share/q_tj.png";
1838   - context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit);
1839   - context.setFontSize(16 * unit);
1840   - context.setLineJoin('round'); //交点设置成圆角
1841   - context.setFillStyle("white");
1842   - context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit);
1843   - }
1844   -
1845   -
1846   - //---产品名称---
1847   - //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
1848   - if(type!=4){
1849   - context.setFillStyle("black");
1850   - context.setFontSize(21.3 * unit)
1851   - th.draw_Text(context, th.data.data.goods_name,
1852   - 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit);
1853   - //------产品的价格-------
1854   - context.setFontSize(23 * unit)
1855   - context.setFillStyle("red")
1856   - context.fillText("¥", 416 * unit, 185 * unit);
1857   - context.setFontSize(31 * unit)
1858   - var pri0 = th.data.data.shop_price;
1859   - if (th.data.prom_act)
1860   - pri0 = th.data.prom_act.price;
1861   - pri0 = parseFloat(pri0).toFixed(2);
1862   - context.fillText(pri0, 438 * unit, 185 * unit);
1863   - //---市场价划掉---
1864   - context.setFillStyle("gray")
1865   - context.setFontSize(22 * unit)
1866   - context.fillText("¥" + th.data.data.market_price, 426 * unit, 213 * unit);
1867   - context.setStrokeStyle('gray');
1868   - context.setLineWidth(1 * unit);
1869   - context.moveTo(426 * unit, 206 * unit);
1870   - context.lineTo(510 * unit, 206 * unit);
1871   - context.stroke();
1872   -
1873   - }else{
1874   - context.setFillStyle("black");
1875   - context.setFontSize(21.3 * unit)
1876   - th.draw_Text(context, th.data.data.goods_name,
1877   - 38 * unit, 170 * unit, 20 * unit, 300*unit, unit);
1878   - //------ 产品的价格 -----
1879   - var pri0 = th.data.prom_act.addmoney;
1880   - var integral=th.data.prom_act.integral;
1881   - var text= "";
1882   - if(integral){text=integral+"积分"; }
1883   - if(pri0 && integral){ text+="+";}
1884   - if(pri0){ text+="¥"+pri0;}
1885   -
1886   - if(!pri0 && !integral){ text="0积分";}
1887   - context.setFillStyle("red");
1888   - context.fillText(text, 38 * unit, 235 * unit);
1889   -
1890   - }
1891   -
1892   - //---中间大图---
1893   - context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit);
1894   - //-------大图后面就不一样了-----------
1895   - switch (type) {
1896   - case 0: //普通商品的展示
1897   - case 4:
1898   - //中间的几个字
1899   - if(th.data.poster && parseInt(th.data.poster.style)==2 ){
1900   - if(parseInt(th.data.poster.show_quality)){
1901   - var g_path = "../../../images/share/s_gou.png";
1902   - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);
1903   - context.setFillStyle("red")
1904   - context.setFontSize(18 * unit)
1905   - context.fillText("正品保证", 84 * unit, 690 * unit);
1906   -
1907   - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);
1908   - context.setFillStyle("red")
1909   - context.setFontSize(18 * unit)
1910   - context.fillText("纯实体店", 246 * unit, 690 * unit);
1911   -
1912   - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);
1913   - context.setFillStyle("red")
1914   - context.setFontSize(18 * unit)
1915   - context.fillText("官方验证", 420 * unit, 690 * unit);
1916   - }
1917   -
1918   - }else{
1919   - var g_path = "../../../images/share/s_gou.png";
1920   - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);
1921   - context.setFillStyle("red")
1922   - context.setFontSize(18 * unit)
1923   - context.fillText("正品保证", 84 * unit, 690 * unit);
1924   -
1925   - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);
1926   - context.setFillStyle("red")
1927   - context.setFontSize(18 * unit)
1928   - context.fillText("纯实体店", 246 * unit, 690 * unit);
1929   -
1930   - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);
1931   - context.setFillStyle("red")
1932   - context.setFontSize(18 * unit)
1933   - context.fillText("官方验证", 420 * unit, 690 * unit);
1934   - }
1935   -
1936   -
1937   - //---画线---
1938   - context.setLineWidth(1 * unit)
1939   - context.moveTo(32 * unit, 710 * unit)
1940   - context.lineTo(520 * unit, 710 * unit)
1941   - context.stroke();
1942   -
1943   - //---文字---
1944   - context.setFillStyle("black")
1945   - context.setFontSize(22 * unit)
1946   -
1947   - if(type==0){
1948   - // 原来start --->
1949   - context.setFontSize(24 * unit)
1950   - context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit);
1951   -
1952   - context.setFontSize(22 * unit)
1953   - context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 806 * unit);
1954   - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit);
1955   -
1956   - }else{
1957   - context.setFontSize(24 * unit)
1958   - context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit);
1959   - context.setFontSize(22 * unit)
1960   - context.fillText("长按识别二维码", 40 * unit, 806 * unit);
1961   - context.fillText("立即开始兑换", 40 * unit, 846 * unit);
1962   -
1963   -
1964   - }
1965   -
1966   - //---二维吗图---
1967   - //-- 自定义海报 --
1968   - if(th.data.poster){
1969   - var erm_x= parseFloat(th.data.poster.ewm_x)*2;
1970   - var erm_y= parseFloat(th.data.poster.ewm_y)*2;
1971   - context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
1972   - }else{
1973   - //---二维吗图---
1974   - context.drawImage(vpath, 410 * unit, 726 * unit, 115 * unit, 125 * unit);
1975   - }
1976   -
1977   - break;
1978   - case 1: //秒杀商品的展示
1979   - //---画线---
1980   - context.setLineWidth(1 * unit)
1981   - context.moveTo(32 * unit, 670 * unit)
1982   - context.lineTo(520 * unit, 670 * unit)
1983   - context.stroke();
1984   -
1985   - //画秒杀的图片
1986   - var miaos_path = '../../../images/share/miao_share.png';
1987   - context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit);
1988   -
1989   - context.setFillStyle("black")
1990   - context.setFontSize(24 * unit)
1991   - context.fillText(th.data.sto_sele_name_1, 40 * unit, 786 * unit);
1992   - //---文字---
1993   - context.setFontSize(22 * unit)
1994   - context.setFillStyle("black")
1995   - context.fillText("特惠好物,限时秒杀", 40 * unit, 826 * unit);
1996   - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 866 * unit);
1997   -
1998   -
1999   - //---二维吗图---
2000   - //-- 自定义海报 --
2001   - if(th.data.poster){
2002   - var erm_x= parseFloat(th.data.poster.ewm_x)*2;
2003   - var erm_y= parseFloat(th.data.poster.ewm_y)*2;
2004   - context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
2005   - }else{
2006   - //---二维吗图---
2007   - context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
2008   - }
2009   - break;
2010   -
2011   - case 2: //会员团和商家团的展示
2012   - //---画线---
2013   - context.setLineWidth(1 * unit)
2014   - context.moveTo(32 * unit, 670 * unit)
2015   - context.lineTo(520 * unit, 670 * unit)
2016   - context.stroke();
2017   - //---文字---
2018   -
2019   - context.setFillStyle("black")
2020   - context.setFontSize(24 * unit)
2021   - context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);
2022   -
2023   - //绘制成团图片
2024   - var ct_img = "../../../images/share/ct_num.png";
2025   - context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit);
2026   - var ct_num = th.data.prom_act.ct_num;
2027   - context.setFontSize(14 * unit)
2028   - context.font = 'normal';
2029   - context.setFillStyle("red")
2030   - if (ct_num < 10) {
2031   - context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit);
2032   - } else {
2033   - context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit);
2034   - }
2035   - context.setFontSize(22 * unit)
2036   - context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit);
2037   -
2038   - context.setFillStyle("gray")
2039   - context.fillText("快来和我一起拼团吧!", 40 * unit, 806 * unit);
2040   - context.setFillStyle("black")
2041   - context.font = 'normal bold 18px sans-serif';
2042   - context.setFontSize(21.3 * unit)
2043   - context.fillText("长按识别二维码,立即参团", 40 * unit, 836 * unit);
2044   -
2045   -
2046   - //---二维吗图---
2047   - //-- 自定义海报 --
2048   - if(th.data.poster){
2049   - var erm_x= parseFloat(th.data.poster.ewm_x)*2;
2050   - var erm_y= parseFloat(th.data.poster.ewm_y)*2;
2051   - context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
2052   - }else{
2053   - //---二维吗图---
2054   - context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
2055   - }
2056   - break
2057   - case 3: //阶梯团的展示
2058   - //---画线---
2059   - context.setLineWidth(1 * unit)
2060   - context.moveTo(32 * unit, 670 * unit)
2061   - context.lineTo(520 * unit, 670 * unit)
2062   - context.stroke();
2063   - //---文字---
2064   -
2065   - context.setFillStyle("black")
2066   - context.setFontSize(24 * unit)
2067   - context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);
2068   -
2069   - //---绘制中间阶梯的价格---
2070   - var list = th.data.prom_act.ct_rylist;
2071   - for (var i = 0; i < list.length; i++) {
2072   - var item = list[i];
2073   - var wi = i * 90 * unit;
2074   - context.font = 'normal';
2075   - context.setFontSize(16 * unit)
2076   - context.setFillStyle("red")
2077   - context.fillText("¥", 40 * unit + wi, 756 * unit);
2078   - context.setFontSize(22 * unit)
2079   - var pri = parseFloat(item.price).toFixed(2);
2080   - context.fillText(pri, 56 * unit + wi, 756 * unit);
2081   - context.setFillStyle("gray")
2082   - context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit);
2083   - }
2084   - //----------------下面部分----------------
2085   - // context.setFillStyle("gray")
2086   - // context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit);
2087   - // context.setFillStyle("black")
2088   - // context.font = 'normal bold 18px sans-serif';
2089   - // context.setFontSize(22 * unit)
2090   - // context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit);
2091   - //context.setFillStyle("gray")
2092   - context.setFillStyle("black")
2093   - context.fillText("快来和我一起拼团吧!", 40 * unit, 820 * unit);
2094   - //context.font = 'normal bold 18px sans-serif';
2095   - context.setFontSize(22 * unit)
2096   - context.fillText("长按识别二维码,立即参团", 40 * unit, 850 * unit);
2097   -
2098   -
2099   - //-- 自定义海报 --
2100   - if(th.data.poster){
2101   - var erm_x= parseFloat(th.data.poster.ewm_x)*2;
2102   - var erm_y= parseFloat(th.data.poster.ewm_y)*2;
2103   - context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
2104   - }else{
2105   - //---二维吗图---
2106   - context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
2107   - }
2108   - break
2109   -
2110   -
2111   - }
2112   -
2113   -
2114   - //--- 如果是自定义海报的时候 ---
2115   - if(th.data.poster && parseInt(th.data.poster.style)==2){
2116   -
2117   - //如果显示会员信息的话
2118   - if(parseInt(th.data.poster.show_headpic)){
2119   - //获取坐标
2120   - var x= parseFloat(th.data.poster.head_x)*2;
2121   - var y=parseFloat(th.data.poster.head_y)*2;
2122   - //---绘制圆形要放在最后----
2123   - context.save();
2124   - context.beginPath();
2125   - var h_x = x* unit;
2126   - var h_y = y * unit;
2127   - var h_r = 40 * unit;
2128   - var cx = h_x + h_r;
2129   - var cy = h_y + h_r;
2130   - context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
2131   - context.closePath();
2132   - context.fill();
2133   - context.clip();
2134   - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
2135   - context.restore();
2136   - }
2137   -
2138   - }else{
2139   - //---绘制圆形要放在最后----
2140   - context.save();
2141   - context.beginPath();
2142   - var h_x = 60 * unit;
2143   - var h_y = 24 * unit;
2144   - var h_r = 40 * unit;
2145   - var cx = h_x + h_r;
2146   - var cy = h_y + h_r;
2147   - context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
2148   - context.closePath();
2149   - context.fill();
2150   - context.clip();
2151   - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
2152   - context.restore();
2153   - }
2154   -
2155   -
2156   - //把画板内容绘制成图片,并回调 画板图片路径
2157   - context.draw(false, function() {
2158   - setTimeout(function() {
2159   - wx.canvasToTempFilePath({
2160   - x: 0,
2161   - y: 0,
2162   - width: 750,
2163   - height: 1217,
2164   - destWidth: 1.2 * 750 * 750 / that.data.screenWidth,
2165   - destHeight: 1.2 * 1217 * 750 / that.data.screenWidth,
2166   - canvasId: 'share',
2167   - success: function(res) {
2168   - that.setData({
2169   - shareImgPath: res.tempFilePath,
2170   - canvasHidden: true
2171   - })
2172   - if (!res.tempFilePath) {
2173   - wx.showModal({
2174   - title: '提示',
2175   - content: '图片绘制中,请稍后重试',
2176   - showCancel: false
2177   - })
2178   - return false;
2179   - }
2180   - // wx.previewImage({
2181   - // //将图片预览出来
2182   - // urls: [that.data.shareImgPath]
2183   - // });
2184   - that.setData({
2185   - showPoster: true,
2186   - });
2187   - wx.hideLoading();
  841 +
  842 + //-----如果是秒杀,团购,积分购,拼团,且不是普通购买-----
  843 + if (th.data.prom_type == 6 && th.data.is_normal != 1) {
  844 + newd.goods_price = th.data.prom_price;
  845 + newd.prom_type = th.data.prom_type;
  846 + newd.prom_id = th.data.prom_id;
  847 + newd.kt_type = th.data.prom_act.kttype; //开团类型
  848 + newd.is_pt_tz = 0;
  849 + //th.data.sto_sele_distr=1; //直接用自提的方式提交
  850 + if (newd.kt_type > 1) {
  851 + newd.is_pt_tz = 1; //开团类型
2188 852 }
2189   - })
2190   - }, 500)
  853 + if (newd.kt_type == 3) {
  854 + th.data.sto_sele_distr = 1;
  855 + }
  856 +
  857 + }
  858 + else if (th.data.prom_type == 3) {
  859 + newd.prom_type = 0;
  860 + newd.prom_id = 0;
  861 + }
  862 + newd['pick_name'] = th.data.sto_sele_name;
  863 + newd['pick_dis'] = th.data.sto_sele_distr;
  864 + newd['is_normal'] = th.data.is_normal;
  865 +
  866 + if (newd['is_normal']) {
  867 + newd['is_pd_normal'] = 1;
  868 + th.buyNow(newd);
  869 + return false;
  870 + //判断一下有没有全局优惠活动
  871 + //th.check_nor_promgood(newd.goods_id, function (e) {
  872 + // if (e && e.act_id) {
  873 + // newd['prom_type'] = 3;
  874 + // newd['prom_id'] = e.act_id;
  875 + // }
  876 + // th.buyNow(newd)
  877 + //})
  878 + }
  879 + else th.buyNow_pt(newd);
  880 + })
  881 + },
2191 882  
2192   - });
  883 + //----------立即购买-----------
  884 + buyNow: function(e) {
  885 + getApp().globalData.service_now=e;
  886 + this.setData({openSpecModal_pt:0})
  887 + wx.redirectTo({
  888 + url: "/packageA/pages/cart2_ser/cart2_ser",
2193 889 });
2194   - }
2195   - });
2196   - },
2197   -
2198   -
2199   - //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
2200   - draw_Text: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) {
2201   - var lineWidth = 0;
2202   - var lastSubStrIndex = 0; //每次开始截取的字符串的索引
2203   - var han = 0;
2204   - for (let i = 0; i < str.length; i++) {
2205   - if (han == 2) return;
2206   - //lineWidth += ctx.measureText(str[i]).width;
2207   - lineWidth += ut.measureText(str[i], 21.3 * unit);
2208   - if (lineWidth > canvasWidth) {
2209   - han++;
2210   -
2211   - if (han == 2)
2212   - ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分
2213   - else
2214   - ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight);
2215   -
2216   - initHeight += 22; //22为字体的高度
2217   - lineWidth = 0;
2218   - lastSubStrIndex = i;
2219   - titleHeight += 20;
2220   - }
2221   - if (i == str.length - 1) { //绘制剩余部分
2222   - ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight);
2223   - }
2224   - }
2225   - },
2226   -
2227   - // ----视频图片----
2228   - // 图片计数器
2229   - swiperChange: function (e) {
2230   - var that = this;
2231   - if (e.detail.current > 0) {
2232   - that.setData({
2233   - hiddenn: 1,
2234   - videopicture: 1,
2235   - })
2236   - } else {
2237   - that.setData({
2238   - hiddenn: 0,
2239   - videopicture: 0,
2240   - })
2241   - }
2242   - if (e.detail.source == 'touch') {
2243   - that.setData({
2244   - current: e.detail.current
2245   - })
2246   - }
2247   - },
2248   -
2249   - /*---视频相关--*/
2250   - videopicture: function (e) {
2251   - var vipi = e.currentTarget.dataset.vipi;
2252   - this.setData({
2253   - videopicture: vipi,
2254   - swiperCurrent: vipi,
2255   - noon: 0,
2256   - current: 1
2257   - });
2258   - },
2259   -
2260   - videoPlay: function (e) {
2261   - var _index = e.currentTarget.id
2262   - this.setData({
2263   - _index: _index,
2264   - noon: 1
2265   - })
2266   -
2267   - setTimeout(function () {
2268   - //将点击视频进行播放
2269   - var videoContext = wx.createVideoContext(_index)
2270   - videoContext.play();
2271   - }, 500)
2272   - },
2273   -
2274   - //--获取头像的本地缓存,回调写法--
2275   - get_head_temp: function(tt, func) {
2276   - var ee = this;
2277   - if (ee.data.share_head) {
2278   - tt(func);
2279   - return false;
2280   - }
2281   - //---获取分享图片的本地地址,头像和商品图片----
2282   - var path2 = getApp().globalData.userInfo.head_pic;
2283   - if (path2 == "") {
2284   - ee.data.share_head = "../../../images/share/hui_hear_pic.png";
2285   - tt(func);
2286   - } else {
2287   - path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
2288   - path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
2289   - wx.getImageInfo({
2290   - src: path2,
2291   - success: function(res) {
2292   - //res.path是网络图片的本地地址
2293   - ee.data.share_head = res.path;
2294   - tt(func);
2295   - },
2296   - fail: function(res) {
2297   - ee.data.share_head = "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
2298   - tt(func);
  890 + },
  891 +
  892 + //----------立即购买_pt-----------
  893 + buyNow_pt: function (e) {
  894 + getApp().set_b_now(e);
  895 + this.setData({openSpecModal_pt:0})
  896 + getApp().goto("/packageA/pages/serviceCard_pd/cart/cart?is_bnow=1&goods_id=" + e.goods_id);
  897 + },
  898 +
  899 + //----------增加购买数量-----------
  900 + addCartNum: function (t) {
  901 + this.checkCartNum(this.data.goodsInputNum + 1);
  902 + },
  903 + //----------减少购买数量-----------
  904 + subCartNum: function (t) {
  905 + this.checkCartNum(this.data.goodsInputNum - 1);
  906 + },
  907 + //----------输入框输入购买数量-----------
  908 + inputCartNum: function (t) {
  909 + this.checkCartNum(Number(t.detail.value));
  910 + },
  911 +
  912 + //------检查数量是不是超出限购------
  913 + checkCartNum: async function (t) {
  914 + var th = this;
  915 +
  916 + if (!th.data.def_pick_store) {
  917 + wx.showModal({title: '请选择门店',});
  918 + return false;
2299 919 }
2300   - });
2301   - }
2302   - },
2303   - //--获取商品图片的本地缓存,回调写法--
2304   - get_goods_temp: function(tt) {
2305   - var ee = this;
2306   - if (ee.data.share_goods_img) {
2307   - tt();
2308   - return false;
2309   - }
2310   - //获取商品是分享图信息
2311   - wx.getImageInfo({
2312   - src: ee.data.data.original_img,
2313   - success: function(res) {
2314   - //res.path是网络图片的本地地址
2315   - ee.data.share_goods_img = res.path;
2316   - tt();
2317   - },
2318   - fail: function(res) {
2319   -
2320   - ee.data.share_goods_img = "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的
2321   - tt();
2322   - }
2323   - });
2324   - },
2325   -
2326   -
2327   - //--跳转到商品详情页面--
2328   - go_goods: function(e) {
2329   - var gid = e.currentTarget.dataset.gid;
2330   - var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gid;
2331   - getApp().goto(url);
2332   - },
2333   -
2334   -
2335   - pop_err_img: function(e) {
2336   - var txt = e.currentTarget.dataset.errorimg;
2337   - var ob = {};
2338   - ob[txt] = this.data.iurl + "/miniapp/images/default_g_img.gif";
2339   - this.setData(ob);
2340   - },
2341   -
2342   - // 选择门店
2343   - choice_store: function(ee) {
2344   - var th = this;
2345   - var ind=ee.currentTarget.dataset.ind;
2346   - var bconfig = th.data.bconfig;
2347   -
2348   - if(!th.data.only_pk && !th.data.def_pickpu_list){
2349   - getApp().confirmBox("门店库存不足", null, 25000, !1);
2350   - return false;
2351   - }
2352   -
2353   - if(th.data.only_pk && !th.data.only_pk.length){
2354   - getApp().confirmBox("门店库存不足", null, 25000, !1);
2355   - return false;
2356   - }
2357   - if(th.data.def_pickpu_list && !th.data.def_pickpu_list.length){
2358   - getApp().confirmBox("门店库存不足", null, 25000, !1);
2359   - return false;
2360   - }
2361   -
2362   -
2363   - if (bconfig && bconfig.is_sort_storage) {
2364   - wx.getLocation({
2365   - type: 'gcj02',
2366   - success: function(res) {
2367   -
2368   - th.data.lat = res.latitude;
2369   - th.data.lon = res.longitude;
2370   - th.data.is_get_local_ok = 1;
2371   - th.setData({ is_gps: 1 });
2372   - th.get_sto(th.data.is_normal);
2373   - },
2374   - fail: function(res) {
2375   -
2376   - th.data.is_get_local_ok = 1;
2377   - th.get_sto(th.data.is_normal);
2378   - if (res.errCode == 2) {
2379   - th.setData({is_gps: 0});
2380   - if (th.data.is_gps == 0) {
2381   - getApp().confirmBox("请开启GPS定位", null, 25000, !1);
  920 +
  921 + // 非秒杀活动
  922 + if (this.data.prom_type != 1) {
  923 + this.setData({
  924 + goodsInputNum: t,
  925 + });
  926 + }
  927 +
  928 + // 秒杀活动
  929 + // 如果是秒杀活动下的单独购买,is_normal为1
  930 + if (this.data.is_normal) {// 单独购买
  931 + this.setData({
  932 + goodsInputNum: t,
  933 + });
  934 + } else {// 秒杀购买
  935 +
  936 + // 获取redis当前可以购买的数量
  937 + // 如果数量为0,设置和显示已抢光
  938 + // 否则,进一步判断是否超出限购或超出库存
  939 + await this.getactLen().then(async function (res) {
  940 + // res: redis可购买数量
  941 + // console.log('当前可以购买的数量:', res);
  942 + if (res <= 0) {
  943 + // 可购买数量<=0, 设置和显示已抢光
  944 + th.setData({
  945 + prom_r_null: 1,
  946 + });
  947 + } else {
  948 + // 可购买数量>0
  949 + // 计算自己还可以购买的数量
  950 + // 自己还可购买的数量c = 每人活动限购数量a - 自己已经购买的数量b
  951 + // 如果限购数量a>redis可购买数量d,当增加数量t>d, 提示超出库存
  952 + // 如果限购数量a<=redis可购买数量d, 当增加数量t>a,提示超出限购
  953 + let actInfo = th.data.prom_act;
  954 + th.get_buy_num2().then(function (data) {
  955 + let limited = actInfo.buy_limit; // 限购数量a
  956 + let promcardbuynum = data.data.data.promcardbuynum;
  957 + let buyedNum = promcardbuynum; // 自己已经购买的数量b
  958 + let canBuyNum = limited - buyedNum; // 自己还可购买的数量c
  959 +
  960 + if (canBuyNum <= 0) {
  961 + canBuyNum = 0;
  962 + }
  963 + if (limited > res) {
  964 + if (t > res) { // t当前增减的数量
  965 + getApp().my_warnning('超出活动库存', 0, self);
  966 + th.setData({
  967 + goodsInputNum: res,
  968 + });
  969 + return false;
  970 + }
  971 +
  972 + }
  973 +
  974 + if (limited <= res) {
  975 + if (t > canBuyNum) {
  976 + getApp().my_warnning('超出限购数量', 0, self);
  977 + th.setData({
  978 + goodsInputNum: canBuyNum,
  979 + });
  980 + return false;
  981 + }
  982 +
  983 + }
  984 +
  985 + th.setData({
  986 + goodsInputNum: t,
  987 + });
  988 + });
  989 + }
  990 +
  991 + })
  992 +
  993 + }
  994 +
  995 +
  996 +
  997 +
  998 + },
  999 +
  1000 +
  1001 + closeSpecModal: function () {
  1002 + this.setData({
  1003 + openSpecModal: !1,
  1004 + openSpecModal_pt: !1,
  1005 + openSpecModal_flash_normal: !1,
  1006 + });
  1007 + },
  1008 +
  1009 + openSpecModel: function (t) {
  1010 + var th = this;
  1011 + var open_store = t.currentTarget.dataset.ind;
  1012 + this.setData({
  1013 + store: 0,
  1014 + choice_sort_store: 0,
  1015 + sort_store: 0,
  1016 + open_ind_store: open_store,
  1017 + })
  1018 + //--先判断会员状态--
  1019 + var user_info = getApp().globalData.userInfo;
  1020 + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
  1021 + wx.navigateTo({
  1022 + url: '/packageE/pages/togoin/togoin',
  1023 + })
  1024 + return false;
  1025 + }
  1026 +
  1027 + var ind = t.currentTarget.dataset.ind;
  1028 + this.setData({
  1029 + openSpecModal: !0,
  1030 + openSpecModal_ind: ind,
  1031 + });
  1032 +
  1033 + },
  1034 +
  1035 + //---------点击收藏和不收藏------------
  1036 + collectGoods: function () {
  1037 + var t = this, i = getApp().request;
  1038 + var user_id = s.globalData.user_id;
  1039 + if (user_id == '') {
  1040 + getApp().getUserFir(function () {
  1041 + });
  1042 + getApp().showWarning("未登录");
  1043 + return false;
  1044 + } else {
  1045 +
  1046 + if (t.data.is_collect_load) return false;
  1047 + t.data.is_collect_load = 1;
  1048 +
  1049 + if (t.data.is_collect == 1) { //删除收藏
  1050 + i.delete("/api/weshop/goodscollect/del/" + os.stoid + "/" + t.data.collect_id, {
  1051 + success: function (e) {
  1052 + t.data.is_collect_load = 0;
  1053 + if (e.data.code == 0) {
  1054 + t.setData({
  1055 + is_collect: 0,
  1056 + collect_id: 0,
  1057 + });
  1058 + }
  1059 + }
  1060 + });
  1061 + } else {
  1062 + var timestamp = Date.parse(new Date());
  1063 + timestamp = timestamp / 1000;
  1064 + var d = {
  1065 + goods_id: t.data.data.goods_id,
  1066 + user_id: s.globalData.user_id,
  1067 + store_id: os.stoid,
  1068 + add_time: timestamp,
  1069 + type: 1,
  1070 + };
  1071 + //加入收藏夹就是导购的ID
  1072 + if (getApp().globalData.guide_id) {
  1073 + d.guide_id = getApp().globalData.guide_id;
  1074 + d.guide_type = 2;
  1075 + }
  1076 +
  1077 + i.post("/api/weshop/goodscollect/save", { //添加收藏
  1078 + data: d,
  1079 + success: function (e) {
  1080 + t.data.is_collect_load = 0;
  1081 + if (e.data.code == 0) {
  1082 + t.setData({
  1083 + is_collect: 1,
  1084 + collect_id: e.data.data.collect_id,
  1085 + });
  1086 + }
  1087 + }
  1088 + });
  1089 + }
  1090 + }
  1091 + },
  1092 + //---------联系客服------------
  1093 + contactService: function () {
  1094 + this.getTel()
  1095 + .then(() => {
  1096 + if (self.data.store_tel) {
  1097 + wx.showModal({
  1098 + title: '联系客服',
  1099 + content: '客服热线:' + self.data.store_tel,
  1100 + confirmText: '拨打',
  1101 + success(res) {
  1102 + if (res.confirm) {
  1103 + wx.makePhoneCall({
  1104 + phoneNumber: self.data.store_tel,
  1105 + })
  1106 + }
  1107 + },
  1108 + });
  1109 + }
  1110 + });
  1111 + },
  1112 + // 获取客服电话
  1113 + getTel() {
  1114 + return new Promise((resolve, reject) => {
  1115 + s.getConfig(function (t) {
  1116 + if (t.store_tel == undefined) {
  1117 + getApp().request.get("/api/weshop/store/get/" + os.stoid, {
  1118 + isShowLoading: 1,
  1119 + data: {},
  1120 + success: function (rs) {
  1121 + getApp().globalData.config = rs.data.data;
  1122 + if (rs.data.data.store_tel == null && rs.data.data.store_tel == undefined) {
  1123 + getApp().my_warnning("商家未设置电话", 0, th);
  1124 + return false;
  1125 + }
  1126 + self.setData({
  1127 + store_tel: rs.data.data.store_tel,
  1128 + });
  1129 + // s.confirmBox("请联系客服:" + rs.data.data.store_tel);
  1130 + }
  1131 + })
  1132 + } else {
  1133 + self.setData({
  1134 + store_tel: t.store_tel,
  1135 + });
  1136 + // s.confirmBox("请联系客服:" + t.store_tel);
  1137 + }
  1138 + resolve();
  1139 + });
  1140 + });
  1141 + },
  1142 +
  1143 +
  1144 + //--点击分享事件---
  1145 + onShareAppMessage: function (t) {
  1146 +
  1147 + var th = this;
  1148 + var price = th.data.data.shop_price;
  1149 + if (th.data.prom_act) {
  1150 + price = th.data.prom_act.price;
  1151 +
  1152 + }
  1153 + var title = th.data.data.goods_name;
  1154 + var img = th.data.data.original_img;
  1155 +
  1156 +
  1157 +
  1158 + var url = "/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id=" + th.data.gid;
  1159 + if (getApp().globalData.user_id) {
  1160 + url += "&first_leader=" + getApp().globalData.user_id;
  1161 + }
  1162 +
  1163 + //-- 如果房间分享,且不是会员分享的 --
  1164 + if (getApp().globalData.room_id &&
  1165 + th.data.data.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share
  1166 + ) {
  1167 + url += "&room_id=" + getApp().globalData.room_id + "&room_user_share=1";
  1168 + }
  1169 +
  1170 + //如果是拼团的时候
  1171 + if (th.data.prom_type == 6) {
  1172 + title = th.data.prom_act.share_title;
  1173 + img = th.data.iurl + th.data.prom_act.share_imgurl;
  1174 + url += "&prom_id="+th.data.prom_id+"&prom_type=6";
  1175 + }
  1176 +
  1177 + var ob = {
  1178 + title: price + "元 " + title,
  1179 + path: url,
  1180 + imageUrl: img,
  1181 + };
  1182 +
  1183 + // 如果服务卡参加秒杀活动,且后台设置了分享标题和分享图片
  1184 + if (th.data.prom_type == 1) {
  1185 + if (th.data.sele_g && th.data.sele_g.share_title) {
  1186 + title = th.data.sele_g.share_title;
  1187 + ob.title = title;
  1188 + }
  1189 +
  1190 + if (th.data.sele_g && th.data.sele_g.share_imgurl) {
  1191 + img = th.data.iurl + th.data.sele_g.share_imgurl;
  1192 + ob.imageUrl = img;
  1193 + }
  1194 +
  1195 + }
  1196 +
  1197 + return ob;
  1198 +
  1199 + },
  1200 +
  1201 + //-----图片失败,默认图片-----
  1202 + bind_bnerr: function (e) {
  1203 + var _errImg = e.target.dataset.errorimg;
  1204 + var _errObj = {};
  1205 + _errObj[_errImg] = this.data.iurl + "/miniapp/images/default_g_img.gif";
  1206 + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  1207 + },
  1208 +
  1209 + //-----图片失败,默认图片-----
  1210 + bind_bnerr2: function (e) {
  1211 +
  1212 + var _errImg = e.target.dataset.errorimg;
  1213 + var _errObj = {};
  1214 + _errObj[_errImg] = this.data.iurl + "/miniapp/images/hui_hear_pic.png"
  1215 + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  1216 + },
  1217 +
  1218 +
  1219 + //---------拿出门店分类和门店------------
  1220 + get_sto(e) {
  1221 + var th = this, that = this;
  1222 + var timer_get = setInterval(function () {
  1223 + if (th.data.is_get_local_ok == 0) return false;
  1224 + var i = getApp().request;
  1225 + if (!th.data.data) return false;
  1226 + var dd = {
  1227 + store_id: os.stoid,
  1228 + isstop: 0,
  1229 + is_pos: 1,
  1230 + pageSize: 2000
  1231 + }
  1232 + //如果有距离的话
  1233 + if (th.data.lat != null) {
  1234 + dd.lat = th.data.lat;
  1235 + dd.lon = th.data.lon;
  1236 + }
  1237 + clearInterval(timer_get);
  1238 +
  1239 + //如果会员是有默认的门店话
  1240 + if (!th.data.def_pick_store && th.data.fir_def_store) {
  1241 + th.setData({def_pick_store: th.data.fir_def_store});
  1242 + }
  1243 +
  1244 + wx.showLoading({
  1245 + title: '加载中.'
  1246 + });
  1247 + //----------获取门店----------------
  1248 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  1249 + data: dd,
  1250 + }).then(res => {
  1251 + var e = res;
  1252 + if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {
  1253 +
  1254 + var his_cate_num = 0;
  1255 + for (let i in e.data.data.pageData) {
  1256 + let item = e.data.data.pageData[i];
  1257 + if (item.category_id > 0) {
  1258 + his_cate_num = 1;
  1259 + break;
  1260 + }
  1261 + }
  1262 + e.his_cate_num = his_cate_num;
  1263 +
  1264 + //--普通门店排版,服务卡项有指定门店才能使用,所以要筛选一下--
  1265 + setTimeout(function () {
  1266 + var sto_list = th.data.data.storageId;
  1267 + if (sto_list) {
  1268 + for (var k = 0; k < e.data.data.pageData.length; k++) {
  1269 + var it = e.data.data.pageData[k];
  1270 + if (sto_list.indexOf(it.keyid) == -1) {
  1271 + //删除
  1272 + e.data.data.pageData.splice(k--, 1);
  1273 + }
  1274 + }
  1275 + }
  1276 +
  1277 + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店
  1278 + if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) {
  1279 + th.setData({
  1280 + def_pick_store: e.data.data.pageData[0],
  1281 + sto_sele_name: e.data.data.pageData[0].pickup_name,
  1282 + sto_sele_id: e.data.data.pageData[0].pickup_id,
  1283 + sto_sele_distr: e.data.data.pageData[0].distr_type,
  1284 + sto_sele_keyid: e.data.data.pageData[0].keyid,
  1285 + });
  1286 + th.data.fir_def_store = e.data.data.pageData[0];
  1287 + }
  1288 +
  1289 + //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 --
  1290 + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') {
  1291 + for (var k = 0; k < e.data.data.pageData.length; k++) {
  1292 + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
  1293 + e.data.data.pageData.splice(k, 1); //删除
  1294 + break;
  1295 + }
  1296 + }
  1297 + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
  1298 + }
  1299 +
  1300 + th.setData({all_pick_list: e.data.data.pageData});
  1301 + th.deal_pickup(e);
  1302 + }, 800)
  1303 +
  1304 + }
  1305 + })
  1306 + }, 200)
  1307 + },
  1308 +
  1309 +
  1310 + //------------处理门店---------------
  1311 + deal_pickup(e){
  1312 + var th = this;
  1313 + if (!th.data.data) return false
  1314 + wx.hideLoading();
  1315 + //单总量超出5个的时候
  1316 + if (e.data.data.total > 10 && e.his_cate_num) {
  1317 + getApp().request.get("/api/weshop/storagecategory/page", {
  1318 + data: {
  1319 + store_id: os.stoid,
  1320 + pageSize: 1000,
  1321 + orderField: "sort",
  1322 + orderType: 'asc',
  1323 + },
  1324 + success: function (ee) {
  1325 + if (ee.data.code == 0) {
  1326 +
  1327 + var check_all_cate = 0;
  1328 + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
  1329 + for (let i in ee.data.data.pageData) {
  1330 + let item = ee.data.data.pageData[i];
  1331 + if (item.is_show == 1) {
  1332 + check_all_cate = 1;
  1333 + break
  1334 + }
  1335 + }
  1336 + }
  1337 +
  1338 + if (check_all_cate) {
  1339 +
  1340 +
  1341 + var sto_cate = ee.data.data.pageData;
  1342 + var sto_arr = e.data.data.pageData;
  1343 + var newarr = new Array();
  1344 + var qita = new Array();
  1345 +
  1346 + var is_del_pk = 0;
  1347 +
  1348 + //----要进行门店分组--------
  1349 + for (var i = 0; i < sto_arr.length; i++) {
  1350 + //找一下这个门店有没有在分类数组内
  1351 + var find2 = 0, find2name = "", sort = 0;
  1352 + is_del_pk = 0;
  1353 + for (var m = 0; m < sto_cate.length; m++) {
  1354 + if (sto_arr[i].category_id == sto_cate[m].cat_id) {
  1355 + if (sto_cate[m].is_show != 1) {
  1356 + is_del_pk = 1;
  1357 + sto_arr.splice(i, 1);
  1358 + i--;
  1359 + } else {
  1360 + find2 = sto_cate[m].cat_id;
  1361 + find2name = sto_cate[m].cat_name;
  1362 + sort = sto_cate[m].sort;
  1363 + is_del_pk = 0;
  1364 + }
  1365 + break;
  1366 + }
  1367 + }
  1368 + if (is_del_pk) continue;
  1369 +
  1370 + if (newarr.length > 0) {
  1371 + var find = 0;
  1372 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  1373 + if (find2 != 0) {
  1374 + for (var ii = 0; ii < newarr.length; ii++) {
  1375 + if (sto_arr[i].category_id == newarr[ii].cat_id) {
  1376 + newarr[ii].s_arr.push(sto_arr[i]);
  1377 + find = 1;
  1378 + break;
  1379 + }
  1380 + }
  1381 + if (find == 0) {
  1382 + var arr0 = new Array();
  1383 + arr0.push(sto_arr[i]);
  1384 + var item = {
  1385 + cat_id: find2,
  1386 + name: find2name,
  1387 + sort: sort,
  1388 + s_arr: arr0
  1389 + };
  1390 + newarr.push(item);
  1391 + }
  1392 + } else {
  1393 + qita.push(sto_arr[i]);
  1394 + }
  1395 + } else {
  1396 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  1397 + if (find2 != 0) {
  1398 + var arr0 = new Array();
  1399 + arr0.push(sto_arr[i]);
  1400 + var item = {
  1401 + cat_id: find2,
  1402 + name: find2name,
  1403 + sort: sort,
  1404 + s_arr: arr0
  1405 + };
  1406 + newarr.push(item);
  1407 + } else {
  1408 + qita.push(sto_arr[i]);
  1409 + }
  1410 + }
  1411 + }
  1412 +
  1413 + var def_arr = new Array();
  1414 + //-- 开始就看10个门店 --
  1415 + for (var k = 0; k < 10; k++) {
  1416 + if (k == sto_arr.length) break;
  1417 + def_arr.push(sto_arr[k]);
  1418 + }
  1419 +
  1420 + th.setData({
  1421 + def_pickpu_list: def_arr,
  1422 + pickpu_list: ee.data.data.pageData
  1423 + });
  1424 +
  1425 + //门店分类要排序下
  1426 + function compare(property) {
  1427 + return function (a, b) {
  1428 + var value1 = a[property];
  1429 + var value2 = b[property];
  1430 + return value1 - value2;
  1431 + }
  1432 + }
  1433 +
  1434 + if (newarr.length > 0)
  1435 + newarr.sort(compare("sort"));
  1436 +
  1437 + //----安排其他的分类-----
  1438 + if (qita.length > 0) {
  1439 + var item = {
  1440 + cat_id: -1,
  1441 + name: "其他",
  1442 + s_arr: qita
  1443 + };
  1444 + newarr.push(item);
  1445 + }
  1446 +
  1447 + var sd = {
  1448 + all_sto: newarr,
  1449 + is_show_sto_cat: 1
  1450 + }
  1451 + if (!sto_arr || sto_arr.length <= 10) {
  1452 + sd.is_show_sto_cat = -1;
  1453 + sd.only_pk = sto_arr;
  1454 + }
  1455 + th.setData(sd);
  1456 +
  1457 + } else {
  1458 + th.setData({
  1459 + is_show_sto_cat: -1,
  1460 + only_pk: e.data.data.pageData
  1461 + });
  1462 + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
  1463 + if (!th.data.def_pick_store) {
  1464 + th.setData({def_pick_store: e.data.data.pageData[0]})
  1465 + }
  1466 + }
  1467 + } else {
  1468 + th.setData({
  1469 + is_show_sto_cat: -1,
  1470 + only_pk: e.data.data.pageData
  1471 + });
  1472 + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
  1473 + if (!th.data.def_pick_store) {
  1474 + th.setData({def_pick_store: e.data.data.pageData[0]})
  1475 + }
  1476 +
  1477 + }
  1478 + }
  1479 + });
  1480 + } else {
  1481 + th.setData({
  1482 + is_show_sto_cat: 0,
  1483 + only_pk: e.data.data.pageData
  1484 + });
  1485 + //-----如果没有默认门店,要取第一个门店作为默认店------
  1486 + if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) {
  1487 +
  1488 + if (e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {
  1489 + th.setData({
  1490 + def_pick_store: e.data.data.pageData[0],
  1491 + sto_sele_name: e.data.data.pageData[0].pickup_name,
  1492 + sto_sele_id: e.data.data.pageData[0].pickup_id,
  1493 + sto_sele_distr: e.data.data.pageData[0].distr_type,
  1494 + sto_sele_keyid:e.data.data.pageData[0].keyid,
  1495 + })
  1496 + }
  1497 +
  1498 + }
  1499 + }
  1500 + },
  1501 +
  1502 + //加载更多是靠这个函数
  1503 + onReachBottom: function () {
  1504 + if (this.data.activeCategoryId == 2) {
  1505 + if (!this.data.comments_no_more) this.requestComments_new();
  1506 + }
  1507 +
  1508 + var goods_list = this.selectComponent("#goods_list"); //组件的id
  1509 + if (goods_list) goods_list.get_list();
  1510 + },
  1511 +
  1512 +
  1513 + //---小于10的格式化函数----
  1514 + timeFormat(param) {
  1515 + return param < 10 ? '0' + param : param;
  1516 + },
  1517 +
  1518 +
  1519 + //--定义的保存图片方法,分享团---
  1520 + saveImageToPhotosAlbum: function () {
  1521 + //--先判断会员状态--
  1522 + var user_info = getApp().globalData.userInfo;
  1523 + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
  1524 + //getApp().my_warnning("请先登录",0,this);
  1525 + wx.navigateTo({url: '/packageE/pages/togoin/togoin',})
  1526 + return false;
  1527 + }
  1528 +
  1529 + //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4积分购
  1530 + var type = 2
  1531 + if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;
  1532 +
  1533 + wx.showLoading({
  1534 + title: '生成中...',
  1535 + })
  1536 + var that = this,
  1537 + th = that;
  1538 + //设置画板显示,才能开始绘图
  1539 + that.setData({
  1540 + canvasHidden: false
  1541 + })
  1542 +
  1543 + var app = getApp();
  1544 + var unit = that.data.screenWidth / 750 * 1.35; //基础单位,
  1545 + var path2 = that.data.data.original_img;
  1546 + var scene = th.data.gid + "";
  1547 + var user_id = getApp().globalData.user_id ? getApp().globalData.user_id : 0;
  1548 + if (user_id > 0) {
  1549 + scene += "_" + user_id;
  1550 + }else{
  1551 + scene += "_0";
  1552 + }
  1553 +
  1554 + //-- 如果不是会员分享过来的要分享给别人 --
  1555 + if (getApp().globalData.room_id && th.data.data.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) {
  1556 + //固定房间是第3个字符
  1557 + scene += "_" + getApp().globalData.room_id;
  1558 + }else{
  1559 + scene += "_0";
  1560 + }
  1561 +
  1562 + scene += "_6";
  1563 + scene += "_"+this.data.prom_act.id ;
  1564 +
  1565 +
  1566 + ///二微码
  1567 + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
  1568 + os.stoid + "?sceneValue=" + scene + "&pageValue=packageA/pages/serviceCard_pd/goodsInfo/goodsInfo";
  1569 +
  1570 + console.log(path3);
  1571 +
  1572 + //读取文件成功则OK--
  1573 + wx.getImageInfo({
  1574 + src: path3,
  1575 + success: function (res) {
  1576 + //回调写法
  1577 + th.get_head_temp(th.get_goods_temp, function () {
  1578 + var vpath = res.path;
  1579 + var context = wx.createCanvasContext('share');
  1580 + //先画背景
  1581 + var pg_path = "../../../../images/share/share_bg.png";
  1582 +
  1583 +
  1584 + //-- 如果有自定义海报的时候,判断背景的图片 --
  1585 + if (th.data.share_b_img) {
  1586 + pg_path = th.data.share_b_img;
  1587 + }
  1588 +
  1589 + var act_time='';
  1590 + if (!th.data.share_b_img){ // 如果是普通商品,绘制新海报
  1591 + th.drawPoster(context, unit, th.data.share_goods_img, vpath, type);
  1592 + } else {
  1593 +
  1594 + context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
  1595 +
  1596 + //-- 是自定义海报的情况下 --
  1597 + if (th.data.poster && parseInt(th.data.poster.style) == 2) {
  1598 + //在线上分享人的情况下
  1599 + if (parseInt(th.data.poster.show_headpic)) {
  1600 + //获取坐标
  1601 + var x = parseFloat(th.data.poster.head_x) * 2;
  1602 + var y = parseFloat(th.data.poster.head_y) * 2;
  1603 + var x1 = (x + 90) * unit;
  1604 + var y1 = (y + 50) * unit;
  1605 + //--昵称---
  1606 + context.setFontSize(24 * unit)
  1607 + context.setFillStyle("black")
  1608 + context.fillText(app.globalData.userInfo.nickname, x1, y1);
  1609 + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit;
  1610 + //强烈推荐 改许程
  1611 + var tj_path = "../../../../images/share/q_tj.png";
  1612 + context.drawImage(tj_path, x1 + width, y1 - 22 * unit, 85 * unit, 30 * unit);
  1613 + context.setFontSize(16 * unit)
  1614 + context.setLineJoin('round'); //交点设置成圆角
  1615 + context.setFillStyle("white")
  1616 + context.fillText('强烈推荐', x1 + width + 8 * unit, y1 - 1 * unit);
  1617 +
  1618 + }
  1619 + } else {
  1620 + //--昵称---
  1621 + context.setFontSize(24 * unit)
  1622 + context.setFillStyle("black")
  1623 + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit);
  1624 + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;
  1625 + //强烈推荐 改许程
  1626 + var tj_path = "../../../../images/share/q_tj.png";
  1627 + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit);
  1628 + context.setFontSize(16 * unit);
  1629 + context.setLineJoin('round'); //交点设置成圆角
  1630 + context.setFillStyle("white");
  1631 + context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit);
  1632 + }
  1633 +
  1634 +
  1635 + //---产品名称---
  1636 + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
  1637 +
  1638 + context.setFillStyle("black");
  1639 + context.setFontSize(21.3 * unit)
  1640 + th.draw_Text(context, th.data.data.goods_name,
  1641 + 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit);
  1642 + //------产品的价格-------
  1643 + context.setFontSize(23 * unit)
  1644 + context.setFillStyle("red")
  1645 + context.fillText("¥", 416 * unit, 185 * unit);
  1646 + context.setFontSize(31 * unit)
  1647 + var pri0 = th.data.data.shop_price;
  1648 + if (th.data.prom_act)
  1649 + pri0 = th.data.prom_act.price;
  1650 + pri0 = parseFloat(pri0).toFixed(2);
  1651 + context.fillText(pri0, 438 * unit, 185 * unit);
  1652 + //---市场价划掉---
  1653 + context.setFillStyle("gray")
  1654 + context.setFontSize(22 * unit)
  1655 + context.fillText("¥" + th.data.data.show_price, 426 * unit, 213 * unit);
  1656 + context.setStrokeStyle('gray');
  1657 + context.setLineWidth(1 * unit);
  1658 + context.moveTo(426 * unit, 206 * unit);
  1659 + context.lineTo(510 * unit, 206 * unit);
  1660 + context.stroke();
  1661 +
  1662 + //---中间大图---
  1663 + context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit);
  1664 + //-------大图后面就不一样了-----------
  1665 + switch (type) {
  1666 + case 2: //会员团和商家团的展示
  1667 + //---画线---
  1668 + context.setLineWidth(1 * unit)
  1669 + context.moveTo(32 * unit, 670 * unit)
  1670 + context.lineTo(520 * unit, 670 * unit)
  1671 + context.stroke();
  1672 + //---文字---
  1673 +
  1674 + context.setFillStyle("black")
  1675 + context.setFontSize(24 * unit)
  1676 + context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);
  1677 +
  1678 + //绘制成团图片
  1679 + var ct_img = "../../../../images/share/ct_num.png";
  1680 + context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit);
  1681 + var ct_num = th.data.prom_act.ct_num;
  1682 + context.setFontSize(14 * unit)
  1683 + context.font = 'normal';
  1684 + context.setFillStyle("red")
  1685 + if (ct_num < 10) {
  1686 + context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit);
  1687 + } else {
  1688 + context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit);
  1689 + }
  1690 + context.setFontSize(22 * unit)
  1691 + context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit);
  1692 +
  1693 + context.setFillStyle("gray")
  1694 + context.fillText("快来和我一起拼团吧!", 40 * unit, 806 * unit);
  1695 + context.setFillStyle("black")
  1696 + context.font = 'normal bold 18px sans-serif';
  1697 + context.setFontSize(21.3 * unit)
  1698 + context.fillText("长按识别二维码,立即参团", 40 * unit, 836 * unit);
  1699 +
  1700 +
  1701 + //---二维吗图---
  1702 + //-- 自定义海报 --
  1703 + if (th.data.poster) {
  1704 + var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
  1705 + var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
  1706 + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
  1707 + } else {
  1708 + //---二维吗图---
  1709 + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
  1710 + }
  1711 + break
  1712 + case 3: //阶梯团的展示
  1713 + //---画线---
  1714 + context.setLineWidth(1 * unit)
  1715 + context.moveTo(32 * unit, 670 * unit)
  1716 + context.lineTo(520 * unit, 670 * unit)
  1717 + context.stroke();
  1718 + //---文字---
  1719 +
  1720 + context.setFillStyle("black")
  1721 + context.setFontSize(24 * unit)
  1722 + context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);
  1723 +
  1724 + //---绘制中间阶梯的价格---
  1725 + var list = th.data.prom_act.ct_rylist;
  1726 + for (var i = 0; i < list.length; i++) {
  1727 + var item = list[i];
  1728 + var wi = i * 90 * unit;
  1729 + context.font = 'normal';
  1730 + context.setFontSize(16 * unit)
  1731 + context.setFillStyle("red")
  1732 + context.fillText("¥", 40 * unit + wi, 756 * unit);
  1733 + context.setFontSize(22 * unit)
  1734 + var pri = parseFloat(item.price).toFixed(2);
  1735 + context.fillText(pri, 56 * unit + wi, 756 * unit);
  1736 + context.setFillStyle("gray")
  1737 + context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit);
  1738 + }
  1739 + //----------------下面部分----------------
  1740 + context.setFillStyle("black")
  1741 + context.fillText("快来和我一起拼团吧!", 40 * unit, 820 * unit);
  1742 + //context.font = 'normal bold 18px sans-serif';
  1743 + context.setFontSize(22 * unit)
  1744 + context.fillText("长按识别二维码,立即参团", 40 * unit, 850 * unit);
  1745 + //-- 自定义海报 --
  1746 + if (th.data.poster) {
  1747 + var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
  1748 + var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
  1749 + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
  1750 + } else {
  1751 + //---二维吗图---
  1752 + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
  1753 + }
  1754 + break
  1755 +
  1756 +
  1757 + }
  1758 +
  1759 +
  1760 + //--- 如果是自定义海报的时候 ---
  1761 + if (th.data.poster && parseInt(th.data.poster.style) == 2) {
  1762 +
  1763 + //如果显示会员信息的话
  1764 + if (parseInt(th.data.poster.show_headpic)) {
  1765 + //获取坐标
  1766 + var x = parseFloat(th.data.poster.head_x) * 2;
  1767 + var y = parseFloat(th.data.poster.head_y) * 2;
  1768 + //---绘制圆形要放在最后----
  1769 + context.save();
  1770 + context.beginPath();
  1771 + var h_x = x * unit;
  1772 + var h_y = y * unit;
  1773 + var h_r = 40 * unit;
  1774 + var cx = h_x + h_r;
  1775 + var cy = h_y + h_r;
  1776 + context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
  1777 + context.closePath();
  1778 + context.fill();
  1779 + context.clip();
  1780 + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
  1781 + context.restore();
  1782 + }
  1783 +
  1784 + } else {
  1785 + //---绘制圆形要放在最后----
  1786 + context.save();
  1787 + context.beginPath();
  1788 + var h_x = 60 * unit;
  1789 + var h_y = 24 * unit;
  1790 + var h_r = 40 * unit;
  1791 + var cx = h_x + h_r;
  1792 + var cy = h_y + h_r;
  1793 + context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
  1794 + context.closePath();
  1795 + context.fill();
  1796 + context.clip();
  1797 + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
  1798 + context.restore();
  1799 + }
  1800 + }
  1801 +
  1802 +
  1803 + //把画板内容绘制成图片,并回调 画板图片路径
  1804 + context.draw(false, function () {
  1805 + setTimeout(function () {
  1806 + wx.canvasToTempFilePath({
  1807 + x: 0,
  1808 + y: 0,
  1809 + width: 750,
  1810 + height: 1217,
  1811 + destWidth: 1.2 * 750 * 750 / that.data.screenWidth,
  1812 + destHeight: 1.2 * 1217 * 750 / that.data.screenWidth,
  1813 + canvasId: 'share',
  1814 + success: function (res) {
  1815 + that.setData({
  1816 + shareImgPath: res.tempFilePath,
  1817 + canvasHidden: true
  1818 + })
  1819 + if (!res.tempFilePath) {
  1820 + wx.showModal({
  1821 + title: '提示',
  1822 + content: '图片绘制中,请稍后重试',
  1823 + showCancel: false
  1824 + })
  1825 + return false;
  1826 + }
  1827 + // wx.previewImage({
  1828 + // //将图片预览出来
  1829 + // urls: [that.data.shareImgPath]
  1830 + // });
  1831 + that.setData({
  1832 + showPoster: true,
  1833 + });
  1834 + wx.hideLoading();
  1835 + }
  1836 + })
  1837 + }, 500)
  1838 +
  1839 + });
  1840 + });
  1841 + }
  1842 + });
  1843 + },
  1844 +
  1845 +
  1846 + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
  1847 + draw_Text: function (ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) {
  1848 + var lineWidth = 0;
  1849 + var lastSubStrIndex = 0; //每次开始截取的字符串的索引
  1850 + var han = 0;
  1851 + for (let i = 0; i < str.length; i++) {
  1852 + if (han == 2) return;
  1853 + //lineWidth += ctx.measureText(str[i]).width;
  1854 + lineWidth += ut.measureText(str[i], 21.3 * unit);
  1855 + if (lineWidth > canvasWidth) {
  1856 + han++;
  1857 +
  1858 + if (han == 2)
  1859 + ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分
  1860 + else
  1861 + ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight);
  1862 +
  1863 + initHeight += 22; //22为字体的高度
  1864 + lineWidth = 0;
  1865 + lastSubStrIndex = i;
  1866 + titleHeight += 20;
  1867 + }
  1868 + if (i == str.length - 1) { //绘制剩余部分
  1869 + ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight);
  1870 + }
  1871 + }
  1872 + },
  1873 +
  1874 + // ----视频图片----
  1875 + // 图片计数器
  1876 + swiperChange: function (e) {
  1877 + var that = this;
  1878 + if (e.detail.current > 0) {
  1879 + that.setData({
  1880 + hiddenn: 1,
  1881 + videopicture: 1,
  1882 + })
  1883 + } else {
  1884 + that.setData({
  1885 + hiddenn: 0,
  1886 + videopicture: 0,
  1887 + })
  1888 + }
  1889 + if (e.detail.source == 'touch') {
  1890 + that.setData({
  1891 + current: e.detail.current
  1892 + })
  1893 + }
  1894 + },
  1895 +
  1896 + /*---视频相关--*/
  1897 + videopicture: function (e) {
  1898 + var vipi = e.currentTarget.dataset.vipi;
  1899 + this.setData({
  1900 + videopicture: vipi,
  1901 + swiperCurrent: vipi,
  1902 + noon: 0,
  1903 + current: 1
  1904 + });
  1905 + },
  1906 +
  1907 + videoPlay: function (e) {
  1908 + var _index = e.currentTarget.id
  1909 + this.setData({
  1910 + _index: _index,
  1911 + noon: 1
  1912 + })
  1913 +
  1914 + setTimeout(function () {
  1915 + //将点击视频进行播放
  1916 + var videoContext = wx.createVideoContext(_index)
  1917 + videoContext.play();
  1918 + }, 500)
  1919 + },
  1920 +
  1921 + //--获取头像的本地缓存,回调写法--
  1922 + get_head_temp: function (tt, func) {
  1923 + var ee = this;
  1924 + if (ee.data.share_head) {
  1925 + tt(func);
  1926 + return false;
  1927 + }
  1928 + //---获取分享图片的本地地址,头像和商品图片----
  1929 + var path2 = getApp().globalData.userInfo.head_pic;
  1930 + if (path2 == "") {
  1931 + ee.data.share_head = "../../../images/share/hui_hear_pic.png";
  1932 + tt(func);
  1933 + } else {
  1934 + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
  1935 + path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
  1936 + wx.getImageInfo({
  1937 + src: path2,
  1938 + success: function (res) {
  1939 + //res.path是网络图片的本地地址
  1940 + ee.data.share_head = res.path;
  1941 + tt(func);
  1942 + },
  1943 + fail: function (res) {
  1944 + ee.data.share_head = "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
  1945 + tt(func);
  1946 + }
  1947 + });
  1948 + }
  1949 + },
  1950 + //--获取商品图片的本地缓存,回调写法--
  1951 + get_goods_temp: function (tt) {
  1952 + var ee = this;
  1953 + if (ee.data.share_goods_img) {
  1954 + tt();
  1955 + return false;
  1956 + }
  1957 + //获取商品是分享图信息
  1958 + wx.getImageInfo({
  1959 + src: (ee.data.iurl+ee.data.data.image_url),
  1960 + success: function (res) {
  1961 + //res.path是网络图片的本地地址
  1962 + ee.data.share_goods_img = res.path;
  1963 + tt();
  1964 + },
  1965 + fail: function (res) {
  1966 + //获取默认空白图
  1967 + wx.getImageInfo({
  1968 + src: ee.data.iurl+'/miniapp/images/default_g_img.gif',
  1969 + success: function(res) {
  1970 + ee.data.share_goods_img = res.path; //分享的图片不能用网络的
  1971 + tt();
  1972 + }
  1973 + })
  1974 + }
  1975 + });
  1976 + },
  1977 +
  1978 +
  1979 + //--跳转到商品详情页面--
  1980 + go_goods: function (e) {
  1981 + var gid = e.currentTarget.dataset.gid;
  1982 + var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gid;
  1983 + getApp().goto(url);
  1984 + },
  1985 +
  1986 +
  1987 + pop_err_img: function (e) {
  1988 + var txt = e.currentTarget.dataset.errorimg;
  1989 + var ob = {};
  1990 + ob[txt] = this.data.iurl + "/miniapp/images/default_g_img.gif";
  1991 + this.setData(ob);
  1992 + },
  1993 +
  1994 + // 选择门店
  1995 + choice_store: function (ee) {
  1996 + var th = this;
  1997 + var ind = ee.currentTarget.dataset.ind;
  1998 + var bconfig = th.data.bconfig;
  1999 +
  2000 + //如果开启了,则不在选择门店
  2001 + if(this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store){
  2002 + return false;
  2003 + }
  2004 +
  2005 + if (!th.data.only_pk && !th.data.def_pickpu_list) {
  2006 + getApp().confirmBox("门店库存不足", null, 25000, !1);
  2007 + return false;
  2008 + }
  2009 +
  2010 + if (th.data.only_pk && !th.data.only_pk.length) {
  2011 + getApp().confirmBox("门店库存不足", null, 25000, !1);
  2012 + return false;
  2013 + }
  2014 + if (th.data.def_pickpu_list && !th.data.def_pickpu_list.length) {
  2015 + getApp().confirmBox("门店库存不足", null, 25000, !1);
  2016 + return false;
  2017 + }
  2018 +
  2019 +
  2020 + if (bconfig && bconfig.is_sort_storage) {
  2021 + wx.getLocation({
  2022 + type: 'gcj02',
  2023 + success: function (res) {
  2024 +
  2025 + th.data.lat = res.latitude;
  2026 + th.data.lon = res.longitude;
  2027 + th.data.is_get_local_ok = 1;
  2028 + th.setData({is_gps: 1});
  2029 + th.get_sto(th.data.is_normal);
  2030 + },
  2031 + fail: function (res) {
  2032 +
  2033 + th.data.is_get_local_ok = 1;
  2034 + th.get_sto(th.data.is_normal);
  2035 + if (res.errCode == 2) {
  2036 + th.setData({is_gps: 0});
  2037 + if (th.data.is_gps == 0) {
  2038 + getApp().confirmBox("请开启GPS定位", null, 25000, !1);
  2039 + }
  2040 + } else {
  2041 + th.setData({is_gps: "3"});
  2042 + }
  2043 +
  2044 + }
  2045 + })
  2046 + } else {
  2047 + th.data.is_get_local_ok = 1;
  2048 + th.get_sto(th.data.is_normal);
  2049 + }
  2050 +
  2051 + if (ind != undefined && ind != null) {
  2052 + this.setData({
  2053 + open_ind_store: ind,
  2054 + store: 1,
  2055 + openSpecModal: !1,
  2056 + openSpecModal_pt: !1
  2057 + })
  2058 + } else {
  2059 + this.setData({
  2060 + store: 1,
  2061 + openSpecModal: !1,
  2062 + openSpecModal_pt: !1
  2063 + })
  2064 + }
  2065 + },
  2066 + //关闭选择门店
  2067 + close_popup: function (e) {
  2068 + var th = this;
  2069 + this.setData({
  2070 + store: 0,
  2071 + choice_sort_store: 0,
  2072 + sort_store: 0,
  2073 + fir_pick_index: 0,
  2074 + sec_pick_index: 0
  2075 + })
  2076 +
  2077 + var openindstore = this.data.open_ind_store;
  2078 + if (openindstore == 1) {
  2079 + th.setData({
  2080 + openSpecModal: !0,
  2081 + openSpecModal_ind: openindstore,
  2082 + });
  2083 + } else if (openindstore == 2) {
  2084 + th.setData({
  2085 + openSpecModal: !0,
  2086 + openSpecModal_ind: openindstore,
  2087 + });
  2088 + }
  2089 + else if (openindstore == 4) { //4就是拼团
  2090 + th.setData({
  2091 + openSpecModal_pt: 1, //打开拼团购买界面
  2092 + store: 0, //关闭门店
  2093 + choice_sort_store: 0, //关闭门店2级
  2094 + sort_store: 0, //关闭门店2级
  2095 + });
  2096 + }
  2097 + else {
  2098 + th.setData({
  2099 + store: 0,
  2100 + choice_sort_store: 0,
  2101 + sort_store: 0
  2102 + })
  2103 + }
  2104 + },
  2105 +
  2106 + //选择更多门店
  2107 + more_store: function () {
  2108 + this.setData({
  2109 + sort_store: 1
  2110 + });
  2111 + },
  2112 +
  2113 + sort_store: function () {
  2114 + },
  2115 + // 返回按钮
  2116 + returns: function () {
  2117 + this.setData({
  2118 + sort_store: 0,
  2119 + choice_sort_store: 0
  2120 + });
  2121 + },
  2122 + //---选择分类门店---
  2123 + choice_sort_store: function (e) {
  2124 + var index = e.currentTarget.dataset.index;
  2125 + var region_name = e.currentTarget.dataset.region;
  2126 + var item = this.data.all_sto[index];
  2127 + this.setData({
  2128 + region_name: region_name,
  2129 + sort_store: 0,
  2130 + choice_sort_store: 1,
  2131 + sec_sto: item,
  2132 + sec_pick_index: 0
  2133 + });
  2134 + },
  2135 +
  2136 + choose_for_store_fir: function (e) {
  2137 + var index_c = e.currentTarget.dataset.ind;
  2138 + var th = this;
  2139 + th.setData({
  2140 + fir_pick_index: index_c
  2141 + })
  2142 +
  2143 + },
  2144 +
  2145 + //确定def_pick为选择的门店
  2146 + sure_pick: function (e) {
  2147 + var th = this;
  2148 + var item = null;
  2149 + var openindstore = th.data.open_ind_store;
  2150 +
  2151 + if (th.data.choice_sort_store == 0) {
  2152 + var index = th.data.fir_pick_index;
  2153 + if (th.data.is_show_sto_cat == 1) {
  2154 + item = th.data.def_pickpu_list[index];
  2155 + } else {
  2156 + item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候
  2157 + }
  2158 +
  2159 + } else {
  2160 + var index = th.data.sec_pick_index;
  2161 + item = th.data.sec_sto.s_arr[index];
  2162 + }
  2163 +
  2164 + if(!item) return false;
  2165 +
  2166 + var ser_card = this.data.data;
  2167 + //判断门店的配送方式是不是匹配
  2168 + if (ser_card.storageId != null && ser_card.storageId != "" && ser_card.storageId.indexOf(item.keyid) == -1) {
  2169 + wx.showToast({
  2170 + title: "该门店无此服务项目,请重新选择!",
  2171 + icon: 'none',
  2172 + duration: 2000
  2173 + });
  2174 + return false;
  2175 + }
  2176 +
  2177 + if (!item) return false;
  2178 +
  2179 + th.setData({
  2180 + def_pick_store: item,
  2181 + sto_sele_name: item.pickup_name,
  2182 + sto_sele_id: item.pickup_id,
  2183 + sto_sele_keyid: item.keyid,
  2184 + sto_sele_distr: item.distr_type,
  2185 + store: 0,
  2186 + choice_sort_store: 0,
  2187 + fir_pick_index: 0
  2188 + });
  2189 +
  2190 + if (openindstore == 1) {
  2191 + th.setData({
  2192 + openSpecModal: !0,
  2193 + openSpecModal_ind: openindstore,
  2194 + });
  2195 + } else if (openindstore == 2) {
  2196 + th.setData({
  2197 + openSpecModal: !0,
  2198 + openSpecModal_ind: openindstore,
  2199 + });
  2200 + }
  2201 + else if (openindstore == 4) { //4就是拼团
  2202 + th.setData({
  2203 + openSpecModal_pt: 1, //打开拼团购买界面
  2204 + store: 0, //关闭门店
  2205 + choice_sort_store: 0, //关闭门店2级
  2206 + sort_store: 0, //关闭门店2级
  2207 + });
  2208 + }
  2209 + else {
  2210 + th.setData({
  2211 + store: 0,
  2212 + choice_sort_store: 0,
  2213 + sort_store: 0
  2214 + })
  2215 + }
  2216 + },
  2217 +
  2218 + //---点击二级之后的选择---
  2219 + choose_for_store: function (e) {
  2220 + var index_c = e.currentTarget.dataset.ind;
  2221 + var th = this;
  2222 + th.setData({
  2223 + sec_pick_index: index_c,
  2224 + fir_pick_index: index_c
  2225 + })
  2226 +
  2227 + },
  2228 + //把选择的门店设置成默认的门店def_pick
  2229 + set_def_pick: function (e) {
  2230 + var th = this;
  2231 + var item = null;
  2232 + if (th.data.choice_sort_store == 0) {
  2233 + var index = th.data.fir_pick_index;
  2234 + if (th.data.is_show_sto_cat == 1) {
  2235 + item = th.data.def_pickpu_list[index];
  2236 + } else {
  2237 + item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候
  2238 + }
  2239 + } else {
  2240 + var index = th.data.sec_pick_index;
  2241 + item = th.data.sec_sto.s_arr[index];
  2242 + }
  2243 +
  2244 + if(!item) return false;
  2245 +
  2246 + //判断门店的配送方式是不是匹配
  2247 + var ser_card = this.data.data;
  2248 + //判断门店的配送方式是不是匹配
  2249 + if (ser_card.storageId != null && ser_card.storageId != "" && ser_card.storageId.indexOf(item.keyid) == -1) {
  2250 + wx.showToast({
  2251 + title: "该门店无此服务项目,请重新选择!",
  2252 + icon: 'none',
  2253 + duration: 2000
  2254 + });
  2255 + return false;
  2256 + }
  2257 +
  2258 +
  2259 + var store_id = os.stoid;
  2260 + var user_id = getApp().globalData.user_id;
  2261 + var def_pickup_id = item.pickup_id;
  2262 +
  2263 + getApp().request.put('/api/weshop/users/update', {
  2264 + data: {
  2265 + user_id: user_id,
  2266 + def_pickup_id: def_pickup_id
  2267 + },
  2268 + success: function (res) {
  2269 + if (res.data.code == 0) {
  2270 + if (th.data.choice_sort_store == 0) th.setData({
  2271 + fir_pick_index: 0
  2272 + });
  2273 + getApp().globalData.pk_store = item;
  2274 + } else {
  2275 + //s.showWarning("设置默认门店地址失败", null, 500, !1);
  2276 + getApp().my_warnning("设置默认门店地址失败", 0, th)
  2277 + }
  2278 +
  2279 + }
  2280 + });
  2281 +
  2282 +
  2283 + if (!item) return false;
  2284 +
  2285 + th.setData({
  2286 + def_pick_store: item,
  2287 + sto_sele_name: item.pickup_name,
  2288 + sto_sele_id: item.pickup_id,
  2289 + sto_sele_keyid: item.keyid,
  2290 + sto_sele_distr: item.distr_type,
  2291 + store: 0,
  2292 + choice_sort_store: 0
  2293 + });
  2294 +
  2295 + var openindstore = th.data.open_ind_store;
  2296 + if (openindstore == 1) {
  2297 + th.setData({
  2298 + openSpecModal: !0,
  2299 + openSpecModal_ind: openindstore,
  2300 + store: 0,
  2301 + choice_sort_store: 0,
  2302 + sort_store: 0,
  2303 + });
  2304 + } else if (openindstore == 2) {
  2305 + th.setData({
  2306 + openSpecModal: !0,
  2307 + openSpecModal_ind: openindstore,
  2308 + store: 0,
  2309 + choice_sort_store: 0,
  2310 + sort_store: 0,
  2311 + });
  2312 + }
  2313 + else if (openindstore == 4) { //4就是拼团
  2314 + th.setData({
  2315 + openSpecModal_pt: 1, //打开拼团购买界面
  2316 + store: 0, //关闭门店
  2317 + choice_sort_store: 0, //关闭门店2级
  2318 + sort_store: 0, //关闭门店2级
  2319 + });
  2320 + }
  2321 +
  2322 + else {
  2323 + th.setData({
  2324 + store: 0,
  2325 + choice_sort_store: 0,
  2326 + sort_store: 0,
  2327 + })
  2328 + }
  2329 +
  2330 + },
  2331 +
  2332 + wait_for_store_config: function () {
  2333 + var th = this;
  2334 + var t_time = setInterval(function () {
  2335 + if (th.data.bconfig == null) false;
  2336 + var e = th.data.bconfig;
  2337 + if (e && e.is_sort_storage) {
  2338 + wx.getLocation({
  2339 + type: 'gcj02',
  2340 + success: function (res) {
  2341 + th.data.lat = res.latitude;
  2342 + th.data.lon = res.longitude;
  2343 + th.data.is_get_local_ok = 1;
  2344 + },
  2345 + fail: function (res) {
  2346 + if (res.errCode == 2) {
  2347 + th.setData({
  2348 + is_gps: 0
  2349 + });
  2350 + if (th.data.is_gps == 0) {
  2351 + getApp().confirmBox("请开启GPS定位", null, 10000, !1);
  2352 + }
  2353 +
  2354 + } else {
  2355 + th.setData({
  2356 + is_gps: "3"
  2357 + });
  2358 + }
  2359 +
  2360 + th.data.is_get_local_ok = 1;
  2361 + }
  2362 + })
  2363 + } else {
  2364 + th.data.is_get_local_ok = 1;
  2365 + }
  2366 + clearInterval(t_time);
  2367 + }, 500)
  2368 + },
  2369 +
  2370 +
  2371 + //-- 根据ID拿出门店 --
  2372 + get_pick_from_list(pid){
  2373 + var all_pick_list = this.data.all_pick_list;
  2374 + for (var i in all_pick_list) {
  2375 + var item = all_pick_list[i];
  2376 + if (item.pickup_id == pid) {
  2377 + return item;
  2378 + }
  2379 + }
  2380 + },
  2381 +
  2382 + closePoster() {
  2383 + this.setData({
  2384 + showPoster: false,
  2385 + });
  2386 + },
  2387 +
  2388 + // 保存图片到手机
  2389 + savePic() {
  2390 + console.log('保存图片');
  2391 + var self = this;
  2392 + // 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限
  2393 + this.getSetting().then((res) => {
  2394 + // 判断用户是否授权了保存到相册的权限,如果没有发起授权
  2395 + if (!res.authSetting['scope.writePhotosAlbum']) {
  2396 + this.authorize().then(() => {
  2397 + // 同意授权后保存下载文件
  2398 + this.saveImage(self.data.shareImgPath)
  2399 + .then(() => {
  2400 + self.setData({
  2401 + showPoster: false
  2402 + });
  2403 + });
  2404 + })
  2405 + } else {
  2406 + // 如果已经授权,保存下载文件
  2407 + this.saveImage(self.data.shareImgPath)
  2408 + .then(() => {
  2409 + self.setData({showPoster: false});
  2410 + });
  2411 + }
  2412 +
  2413 + })
  2414 + },
  2415 +
  2416 + // 获取用户已经授予了哪些权限
  2417 + getSetting() {
  2418 + return new Promise((resolve, reject) => {
  2419 + wx.getSetting({
  2420 + success: res => {
  2421 + resolve(res)
  2422 + }
  2423 + })
  2424 + })
  2425 + },
  2426 +
  2427 + // 发起首次授权请求
  2428 + authorize() {
  2429 + // isFirst 用来记录是否为首次发起授权,
  2430 + // 如果首次授权拒绝后,isFirst赋值为1
  2431 + let isFirst = wx.getStorageSync('isFirst') || 0;
  2432 + return new Promise((resolve, reject) => {
  2433 + wx.authorize({
  2434 + scope: 'scope.writePhotosAlbum',
  2435 + // 同意授权
  2436 + success: () => {
  2437 + resolve();
  2438 + },
  2439 + // 拒绝授权,这里是用户拒绝授权后的回调
  2440 + fail: res => {
  2441 + if (isFirst === 0) {
  2442 + wx.setStorageSync('isFirst', 1);
  2443 + wx.showToast({
  2444 + title: '保存失败',
  2445 + icon: 'none',
  2446 + duration: 1000
  2447 + })
  2448 + } else {
  2449 + this.showModal();
  2450 + }
  2451 + console.log('拒绝授权');
  2452 + reject();
  2453 + }
  2454 + })
  2455 + })
  2456 + },
  2457 +
  2458 + // 保存图片到系统相册
  2459 + saveImage(saveUrl) {
  2460 + var self = this;
  2461 + return new Promise((resolve, reject) => {
  2462 + wx.saveImageToPhotosAlbum({
  2463 + filePath: saveUrl,
  2464 + success: (res) => {
  2465 + wx.showToast({
  2466 + title: '保存成功',
  2467 + duration: 1000,
  2468 + });
  2469 + self.setData({
  2470 + showPlaybill: 'true'
  2471 + });
  2472 + resolve();
  2473 + },
  2474 + fail: () => {
  2475 + wx.showToast({
  2476 + title: '保存失败',
  2477 + duration: 1000,
  2478 + });
  2479 + }
  2480 + })
  2481 + })
  2482 + },
  2483 +
  2484 + previewImage() {
  2485 + getApp().pre_img(this.data.shareImgPath);
  2486 + },
  2487 +
  2488 + onShareTimeline() {
  2489 + getApp().globalData.no_clear = 1;
  2490 + var th=this;
  2491 + var store_name = getApp().globalData.config ? getApp().globalData.config.store_name : '';
  2492 + if (!store_name)
  2493 + store_name = getApp().globalData.setting.appName;
  2494 +
  2495 +
  2496 + var url = "goods_id=" + th.data.gid;
  2497 + if (getApp().globalData.user_id) {
  2498 + url += "&first_leader=" + getApp().globalData.user_id;
  2499 + }
  2500 +
  2501 + //-- 如果房间分享,且不是会员分享的 --
  2502 + if (getApp().globalData.room_id &&
  2503 + th.data.data.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share
  2504 + ) {
  2505 + url += "&room_id=" + getApp().globalData.room_id + "&room_user_share=1";
  2506 + }
  2507 +
  2508 + return {
  2509 + title: this.data.data.goods_name + '-' + store_name,
  2510 + imageUrl: this.data.gallery[0].image_url,
  2511 + query: url
  2512 + }
  2513 + },
  2514 +
  2515 +
  2516 + clickCollapse() {
  2517 + this.setData({
  2518 + flag: !this.data.flag,
  2519 + })
  2520 + },
  2521 +
  2522 + //---------联系微信客服------------
  2523 + con_weixin: function () {
  2524 + var url = this.data.sys_switch.weapp_customertype_url;
  2525 + var id = this.data.sys_switch.weapp_customertype_appid;
  2526 + wx.openCustomerServiceChat({
  2527 + extInfo: {url: url},
  2528 + corpId: id,
  2529 + success(res) {
  2530 + }
  2531 + })
  2532 + },
  2533 +
  2534 + //评论的调用
  2535 + requestComments_new: async function () {
  2536 + var e = this, th = e, ee = e;
  2537 + var tp = e.data.activeCategoryId3;
  2538 + var t = '/api/weshop/serviceComment/pageComment?page=' + e.data.c_curr_p;
  2539 +
  2540 + wx.showLoading();
  2541 + var req_where = {
  2542 + store_id: os.stoid, pageSize: 5, is_show: 1,
  2543 + parent_id: 0, goods_id: th.data.gid, commenttype: tp,
  2544 + service_id: this.data.gid,
  2545 + }
  2546 + if (getApp().globalData.userInfo) {
  2547 + req_where.userId = getApp().globalData.user_id;
  2548 + }
  2549 +
  2550 + var rs_data = null;
  2551 + await getApp().request.promiseGet(t, {data: req_where}).then(res => {
  2552 + var tot = res.data.data.total;
  2553 + e.data.c_curr_p++;
  2554 + e.setData({
  2555 + com_num: tot, //已经有加载
  2556 + });
  2557 + if (res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
  2558 + rs_data = res.data.data.pageData;
  2559 + } else {
  2560 + th.setData({comments_no_more: 1, auto: 1});
  2561 + }
  2562 + })
  2563 +
  2564 + if (rs_data) {
  2565 + //var cda = th.data.comments;
  2566 + var cda = rs_data, com_data = th.data.comments;
  2567 + for (var ind in cda) {
  2568 + var ep = cda[ind];
  2569 + if (cda[ind].head_pic == '') {
  2570 + cda[ind].head_pic = th.data.iurl + "/miniapp/images/hui_hear_pic.png";
  2571 + }
  2572 + if (ep.weapp_img != "" && ut.isString(ep.weapp_img)) {
  2573 + cda[ind].weapp_img = JSON.parse(ep.weapp_img);
  2574 + }
  2575 + if (ep.img != "" && ut.isString(ep.img)) {
  2576 + cda[ind].img = ut.unserialize(ep.img);
  2577 + }
  2578 +
  2579 + //--测量多有字的宽带,计算有多少行--
  2580 + var widh = ut.measureText(ep.content, 30);
  2581 + var lines = widh / 712;
  2582 + cda[ind].seeMore = false;
  2583 + if (lines > 3) cda[ind].seeMore = true;
  2584 +
  2585 + await getApp().request.promiseGet("/api/weshop/serviceComment/pageComment", {
  2586 + data: {
  2587 + store_id: os.stoid,
  2588 + parent_id: ep.comment_id,
  2589 + service_id: this.data.gid,
  2590 + }
  2591 + }).then(res => {
  2592 + if (res.data.data.pageData && res.data.data.pageData.length > 0) {
  2593 + cda[ind].replay_list = res.data.data.pageData;
  2594 + }
  2595 + })
  2596 + }
  2597 +
  2598 + if (!com_data) com_data = cda;
  2599 + else com_data = com_data.concat(cda);
  2600 +
  2601 + th.setData({comments: com_data});
  2602 + }
  2603 + th.setData({get_c: 1});
  2604 + wx.hideLoading();
  2605 + },
  2606 +
  2607 +
  2608 + //--点赞功能--
  2609 + click_zan: function (e) {
  2610 + var com_id = e.currentTarget.dataset.com_id;
  2611 + var item_id = e.currentTarget.dataset.item_id;
  2612 + var app = getApp(),
  2613 + th = this;
  2614 +
  2615 + if (app.globalData.userInfo == null || app.globalData.userInfo == undefined) {
  2616 + app.confirmBox("您还未登录");
  2617 + return false;
  2618 + }
  2619 +
  2620 + var iszan = th.data.comments[item_id].userZanNum;
  2621 + if (this.data.iszaning) return false;
  2622 + this.data.iszaning = 1;
  2623 +
  2624 +
  2625 + app.request.post("/api/weshop/serviceCommentZan/save", {
  2626 + data: {
  2627 + store_id: os.stoid,
  2628 + user_id: app.globalData.user_id,
  2629 + goods_id: th.data.gid,
  2630 + service_id: th.data.gid,
  2631 + comment_id: com_id
  2632 + },
  2633 + success: function (ee) {
  2634 +
  2635 + if (ee.data.code == "-1") {
  2636 + app.my_warnning("不能给自己点赞", 0, th);
  2637 + th.data.iszaning = 0;
  2638 + return;
  2639 + }
  2640 +
  2641 + if (ee.data.code == 0 && iszan != 1) {
  2642 + var num = th.data.comments[item_id].zan_num;
  2643 + num++;
  2644 + var text = "comments[" + item_id + "].zan_num";
  2645 + var text1 = "comments[" + item_id + "].userZanNum";
  2646 + var _errObj = {};
  2647 + _errObj[text] = num;
  2648 + _errObj[text1] = 1;
  2649 + th.setData(_errObj);
  2650 +
  2651 + } else {
  2652 + var num = th.data.comments[item_id].zan_num;
  2653 + num--;
  2654 + var text = "comments[" + item_id + "].zan_num";
  2655 + var text1 = "comments[" + item_id + "].userZanNum";
  2656 + var _errObj = {};
  2657 + _errObj[text] = num;
  2658 + _errObj[text1] = 0;
  2659 + th.setData(_errObj);
  2660 + }
  2661 +
  2662 + setTimeout(function () {
  2663 + th.data.iszaning = 0;
  2664 + }, 500)
  2665 +
  2666 + }
  2667 + })
  2668 + },
  2669 +
  2670 +
  2671 + //--外侧评价的点击效果---
  2672 + clik_evaluate: function (e) {
  2673 + var val = e.currentTarget.dataset.val;
  2674 + this.setData({
  2675 + activeCategoryId: 2,
  2676 + activeCategoryId3: val,
  2677 + comments: null
  2678 + });
  2679 + this.requestComments_new();
  2680 + },
  2681 +
  2682 +
  2683 + //显示全部
  2684 + toggleHandler: function (e) {
  2685 + var that = this,
  2686 + index = e.currentTarget.dataset.index;
  2687 + for (var i = 0; i < that.data.comments.length; i++) {
  2688 + if (index == i) {
  2689 + for (var i = 0; i < that.data.comments.length; i++) {
  2690 + that.data.comments[index].auto = true;
  2691 + that.data.comments[index].seeMore = false;
  2692 + }
  2693 + }
  2694 + }
  2695 + that.setData({
  2696 + comments: that.data.comments
  2697 + })
  2698 + },
  2699 +
  2700 + //收起更多
  2701 + toggleContent: function (e) {
  2702 + var that = this,
  2703 + index = e.currentTarget.dataset.index;
  2704 + for (var i = 0; i < that.data.comments.length; i++) {
  2705 + if (index == i) {
  2706 + that.data.comments[index].auto = true;
  2707 + that.data.comments[index].seeMore = true;
  2708 + }
  2709 + }
  2710 + that.setData({
  2711 + comments: that.data.comments
  2712 + })
  2713 + },
  2714 +
  2715 + //--查看评价--
  2716 + look_pj: function () {
  2717 + this.tabComment();
  2718 + this.doScrollTop();
  2719 + },
  2720 +
  2721 + previewCommentImgs_w: function (t) {
  2722 + var e = this.data.comments[t.currentTarget.dataset.cidx].weapp_img;
  2723 + var b = e.slice()
  2724 + // for (var i in b) {
  2725 + // b[i] = this.data.iurl + e[i];
  2726 + // }
  2727 + this.data.show_prew_img = 1;
  2728 + wx.previewImage({
  2729 + current: b[t.currentTarget.dataset.id],
  2730 + urls: b
  2731 + });
  2732 + },
  2733 +
  2734 +
  2735 + // 判断是否开启美业,获取套盒列表
  2736 + getTaohe() {
  2737 + // 判断是否开启美业
  2738 + getApp().promiseGet('/api/weshop/store/getTabSys/' + os.stoid, {}).then(res => {
  2739 + if (res.data.code == 0) {
  2740 + let enableMeiye = res.data.data.EnableMeiye;
  2741 + self.setData({
  2742 + enableMeiye,
  2743 + });
  2744 +
  2745 + if (enableMeiye) { // 开启美业
  2746 + // 获取套盒列表
  2747 + let url = '/api/weshop/serviceGoods/list'
  2748 + let data = {
  2749 + store_id: getApp().globalData.setting.stoid,
  2750 + service_id: this.data.data.id,
  2751 + };
  2752 + // 请求数据
  2753 + getApp().promiseGet(url, {
  2754 + data: data,
  2755 + }).then(res => {
  2756 + if (res.data.code == 0) {
  2757 + console.log('请求成功套盒列表', res);
  2758 + self.setData({
  2759 + taoheList: res.data.data,
  2760 + });
  2761 + } else {
  2762 + throw (res);
  2763 + }
  2764 + }).catch(err => {
  2765 +
  2766 + });
  2767 +
  2768 + }
  2769 + }
  2770 +
  2771 + });
  2772 + },
  2773 +
  2774 + //---小于10的格式化函数----
  2775 + timeFormat(param) {
  2776 + return param < 10 ? '0' + param : param;
  2777 + },
  2778 + //----倒计时函数-----
  2779 + countDown(time, prom_st) {
  2780 + if (!this.data.is_timer) return false;
  2781 + var th = this;
  2782 + // 获取当前时间,同时得到活动结束时间数组
  2783 + var endTime = time;
  2784 + var newTime = ut.gettimestamp();
  2785 + // 对结束时间进行处理渲染到页面
  2786 + var obj = null;
  2787 + // 如果活动未结束,对时间进行处理
  2788 + if (endTime - newTime > 0) {
  2789 + var time = (endTime - newTime);
  2790 + // 获取天、时、分、秒
  2791 + var day = parseInt(time / (60 * 60 * 24));
  2792 + var hou = parseInt(time % (60 * 60 * 24) / 3600);
  2793 + var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
  2794 + var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
  2795 + obj = {
  2796 + day: this.timeFormat(day),
  2797 + hou: this.timeFormat(hou),
  2798 + min: this.timeFormat(min),
  2799 + sec: this.timeFormat(sec)
  2800 + }
  2801 + } else {
  2802 + if (th.data.prom_st == 0) {
  2803 + //var endTime2 = new Date(th.data.prom_end_time).getTime();
  2804 + var endTime2 = th.data.prom_act.end_time;
  2805 + th.setData({
  2806 + prom_time_text: '距结束还剩:',
  2807 + prom_st: 1
  2808 + })
  2809 + setTimeout(function () {
  2810 + th.countDown(endTime2)
  2811 + }, 1000);
  2812 + return false;
  2813 +
  2814 + } else {
  2815 + //活动已结束,全部设置为'00'
  2816 + obj = {
  2817 + day: '00',
  2818 + hou: '00',
  2819 + min: '00',
  2820 + sec: '00'
  2821 + }
  2822 + th.setData({
  2823 + prom_time_text: '活动已经结束:',
  2824 + prom_st: 3
  2825 + })
  2826 + th.setData({
  2827 + djs: obj
  2828 + });
  2829 + return false;
  2830 + }
  2831 + }
  2832 +
  2833 + th.setData({
  2834 + djs: obj
  2835 + });
  2836 + setTimeout(function () {
  2837 + th.countDown(endTime)
  2838 + }, 1000);
  2839 + },
  2840 +
  2841 + get_normal(gid,txt) {
  2842 + // this.setData({
  2843 + // prom_type: 0,
  2844 + // isshow: 1,
  2845 + // });
  2846 + // this.get_sku(os.stoid, this.data.data, gid);
  2847 + // this.get_sto();
  2848 + // //this.check_is_youhui(gid, 1);
  2849 + // this.data.is_normal = 1;
  2850 + if(txt) {
  2851 + wx.showToast({
  2852 + title: txt,
  2853 + icon: 'none'
  2854 + });
  2855 + }
  2856 + setTimeout(() => {
  2857 + getApp().goto('/pages/index/index/index');
  2858 + },2000)
  2859 +
  2860 + },
  2861 + //获取redis中的数量
  2862 + async getactLen() {
  2863 + let prom_type = this.data.options.prom_type;
  2864 + let prom_id = this.data.options.prom_id;
  2865 + return await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
  2866 + 1: 1
  2867 + }).then(res => {
  2868 + if (res.data.code == 0) {
  2869 + // 当前可以购买的数量
  2870 + let r_num = res.data.data;
  2871 + return r_num;
  2872 + }
  2873 + ;
  2874 + })
  2875 + },
  2876 +
  2877 +
  2878 + //--------检查是否活动,活动是否开始,或者是否结束-------
  2879 + async check_prom(gid, prom_type, prom_id) {
  2880 + var ee = this, th = ee;
  2881 + var user_id = getApp().globalData.user_id;
  2882 + if (!user_id) user_id = 0;
  2883 + //-------判断活动是否抢光---------
  2884 + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + prom_id, {
  2885 + 1: 1
  2886 + }).then(res => {
  2887 + var em = res;
  2888 + var flag = null;
  2889 + if (em.data.code == 0) {
  2890 + if (em.data.data <= 0) ee.setData({
  2891 + prom_r_null: 1
  2892 + });
  2893 + //拿取价格并且判断时间--
  2894 + getApp().request.get("/api/weshop/teamlist/get/" +
  2895 + os.stoid + "/" + prom_id, {
  2896 + success: async function (t) {
  2897 + if (t.data.code != 0) {
  2898 + ee.get_normal(gid,'未找到活动');
  2899 + return false;
  2900 + }
  2901 + //----已经结束-----
  2902 + if (t.data.data.is_end == 1) {
  2903 + ee.get_normal(gid,'活动已经结束');
  2904 + return false;
  2905 + }
  2906 + //----已经过期-----
  2907 + var now = ut.gettimestamp();
  2908 + if (t.data.data.end_time < now) {
  2909 + ee.get_normal(gid,'活动已经结束');
  2910 + return false;
  2911 + }
  2912 +
  2913 + /*-- 还没有开始预热的也不显示 --*/
  2914 + if (t.data.data.show_time > now) {
  2915 + ee.get_normal(gid,'活动还未开始');
  2916 + return false;
  2917 + }
  2918 +
  2919 + /*-- 判断拼单是否启用 --*/
  2920 + if (!t.data.data.is_show) {
  2921 + console.log('没启用');
  2922 + wx.setNavigationBarTitle({
  2923 + title: '系统提示',
  2924 + });
  2925 + wx.showToast({
  2926 + title: '此商品暂时没有拼单活动',
  2927 + icon: 'none'
  2928 + });
  2929 +
  2930 + setTimeout(() => {
  2931 + getApp().goto('/pages/index/index/index');
  2932 + },2000)
  2933 + return false
  2934 + }
  2935 +
  2936 + //判断拼团的---会员身份--
  2937 + await getApp().request.promiseGet("/api/weshop/teamlist/pageteam/2", {
  2938 + data: {
  2939 + store_id: os.stoid,
  2940 + is_end: 0,
  2941 + is_show: 1,
  2942 + user_id: getApp().globalData.user_id,
  2943 + pageSize: 1000
  2944 + }
  2945 + }).then(res => {
  2946 + let pd_list = res.data.data.pageData;
  2947 + if (res.data.code == 0 && pd_list.length > 0) {
  2948 + flag = pd_list.some(pd => {
  2949 + return pd.goods_id == gid && pd.goods_type==1
  2950 + })
  2951 + }
  2952 + })
  2953 + if (!flag) {
  2954 + //ee.get_normal(gid);
  2955 +
  2956 + wx.showToast({
  2957 + title: '会员无权限参与此活动',
  2958 + icon: 'none'
  2959 + });
  2960 + setTimeout(() => {
  2961 + getApp().goto('/pages/index/index/index');
  2962 + },2000)
  2963 +
  2964 + return false;
  2965 +
  2966 + }
  2967 + //-------查看自己是不是有买过该团的商品,并还为支付,或者在进行中-------
  2968 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/page", {
  2969 + data: {
  2970 + prom_id: prom_id,
  2971 + prom_type: 6,
  2972 + user_id: oo.user_id,
  2973 + store_id: os.stoid,
  2974 + pageSize: 1,
  2975 + page: 1
  2976 + }
  2977 + }).then(e => {
  2978 + if (e.data.code == 0 && e.data.data.pageData.length > 0) {
  2979 + var odr = e.data.data.pageData[0];
  2980 + th.data.buy_order = odr;
  2981 + if (odr.pt_status == 0 && odr.order_status == 1) {
  2982 + th.setData({
  2983 + user_order_pt_state: 1
  2984 + });
  2985 + }
  2986 + if (odr.pt_status == 1) {
  2987 + if (odr.is_zsorder == 4) {
  2988 + getApp().request.promiseGet("/api/weshop/teamgroup/page/", {
  2989 + data: {
  2990 + store_id: os.stoid,
  2991 + team_id: odr.prom_id,
  2992 + listno: odr.pt_listno
  2993 + }
  2994 + }).then(res => {
  2995 + var now = ut.gettimestamp();
  2996 + if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
  2997 + var tgr = res.data.data.pageData[0];
  2998 + //如果团的时间已经到了
  2999 + if (now >= tgr.kt_end_time) {
  3000 + th.update_jiti(tgr.id);
  3001 + } else {
  3002 + th.setData({
  3003 + user_order_pt_state: 2
  3004 + });
  3005 + }
  3006 + }
  3007 + })
  3008 +
  3009 + } else {
  3010 + th.setData({
  3011 + user_order_pt_state: 2
  3012 + });
  3013 + }
  3014 + }
  3015 +
  3016 + if (odr.pt_status == 2 && odr.is_zsorder == 4) {
  3017 + th.setData({
  3018 + user_order_pt_state: 3,
  3019 + });
  3020 + th.data.wk_order_id = odr.order_id;
  3021 + }
  3022 + }
  3023 + })
  3024 +
  3025 + //----------查看阶梯团------------
  3026 + if (t.data.data.ct_rylist != "null" && t.data.data.ct_rylist != "" && t.data.data.ct_rylist != null && t.data.data.ct_rylist != undefined) {
  3027 + t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist);
  3028 + var max_num = 0;
  3029 + t.data.data.ct_rylist.forEach(function (val, ind) {
  3030 + if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum);
  3031 + })
  3032 + t.data.data.max_ct_num = max_num;
  3033 + }
  3034 +
  3035 + var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss");
  3036 + var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss");
  3037 +
  3038 + ee.setData({
  3039 + prom_price: t.data.data.price,
  3040 + prom_type: 6,
  3041 + prom_id: prom_id,
  3042 + prom_buy_limit: t.data.data.buy_limit,
  3043 + prom_act: t.data.data,
  3044 + prom_end_time: prom_end_time,
  3045 + prom_start_time: prom_start_time,
  3046 + isshow: 1,
  3047 + });
  3048 +
  3049 + ee.get_sto();
  3050 +
  3051 + var newTime = now;
  3052 + var endTime2 = t.data.data.end_time;
  3053 + var endTime1 = t.data.data.start_time;
  3054 +
  3055 + if (endTime1 > newTime) {
  3056 + ee.setData({
  3057 + prom_time_text: '距拼单开始还剩:',
  3058 + prom_st: 0
  3059 + })
  3060 + ee.countDown(endTime1, 0);
  3061 + } else {
  3062 + if (endTime2 > newTime) {
  3063 + ee.setData({
  3064 + prom_time_text: '距拼单结束还剩:',
  3065 + prom_st: 1
  3066 + })
  3067 + ee.countDown(endTime2);
  3068 + }
  3069 + }
  3070 +
  3071 + //-------查看有多少人在开这个团-------
  3072 + th.get_team_group(prom_id);
  3073 + }
  3074 + });
  3075 + }
  3076 + })
  3077 +
  3078 + },
  3079 +
  3080 +
  3081 + viewFlash(e) {
  3082 + let prom_type = e.currentTarget.dataset.promtype;
  3083 + let prom_id = e.currentTarget.dataset.promid;
  3084 + let goods_id = this.data.data.goods_id;
  3085 + let url = `/packageA/pages/goodsInfo/goodsInfo?goods_id=${goods_id}&prom_type=${prom_type}&prom_id=${prom_id}`;
  3086 + s
  3087 + getApp().goto(url);
  3088 + },
  3089 +
  3090 +
  3091 + //获取更多秒杀
  3092 + get_more_flash: async function (func) {
  3093 + var f_more = false;
  3094 + var user_id = getApp().globalData.user_id;
  3095 + if (!user_id) user_id = 0;
  3096 +
  3097 + var url = "/api/weshop/goods/listSkuFlash?store_id=" + os.stoid + "&goods_id=" + this.data.options.goods_id + "&user_id=" + user_id;
  3098 + //获取秒杀的多规格
  3099 + await getApp().request.promiseGet(url, {}).then(res => {
  3100 + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
  3101 + f_more = res.data.data;
  3102 + }
  3103 + })
  3104 + if (!f_more) {
  3105 + func(false);
  3106 + return false;
  3107 + }
  3108 + //-- 秒杀的价格要更新 --
  3109 + for (let i in f_more) {
  3110 +
  3111 + let item = f_more[i];
  3112 + f_more[i].prom_id = item.act_id;
  3113 + f_more[i].prom_type = 1;
  3114 + if (item.goods_id == this.data.data.goods_id) {
  3115 + continue;
2382 3116 }
2383   - } else {
2384   - th.setData({ is_gps: "3" });
2385   - }
  3117 + var url = "/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + item.act_id;
  3118 + await getApp().request.promiseGet(url, {}).then(rs => {
  3119 + if (rs.data.code == 0) {
  3120 + f_more[i].price = rs.data.data.user_price;
2386 3121  
  3122 + }
  3123 + })
2387 3124 }
2388   - })
2389   - }else{
2390   - th.data.is_get_local_ok = 1;
2391   - th.get_sto(th.data.is_normal);
2392   - }
2393   -
2394   - if(ind!=undefined && ind!=null ){
2395   - this.setData({
2396   - open_ind_store: ind,
2397   - store: 1,
2398   - openSpecModal: !1,
2399   - openSpecModal_pt: !1
2400   - })
2401   - }else{
2402   - this.setData({
2403   - store: 1,
2404   - openSpecModal: !1,
2405   - openSpecModal_pt: !1
2406   - })
2407   - }
2408   - },
2409   - //关闭选择门店
2410   - close_popup: function(e) {
2411   - var th=this;
2412   - this.setData({
2413   - store: 0,
2414   - choice_sort_store: 0,
2415   - sort_store: 0,
2416   - fir_pick_index:0,
2417   - sec_pick_index:0
2418   - })
2419   -
2420   - var openindstore=this.data.open_ind_store;
2421   - if (openindstore == 1) {
2422   - th.setData({
2423   - openSpecModal: !0,
2424   - openSpecModal_ind: openindstore,
2425   - });
2426   - } else if (openindstore == 2) {
2427   - th.setData({
2428   - openSpecModal: !0,
2429   - openSpecModal_ind: openindstore,
2430   - });
2431   - }
2432   - else if (openindstore == 4) { //4就是拼团
2433   - th.setData({
2434   - openSpecModal_pt: 1, //打开拼团购买界面
2435   - store: 0, //关闭门店
2436   - choice_sort_store: 0, //关闭门店2级
2437   - sort_store: 0, //关闭门店2级
2438   - });
2439   - }
2440   - else {
2441   - th.setData({
2442   - store: 0,
2443   - choice_sort_store: 0,
2444   - sort_store: 0
2445   - })
2446   - }
2447   - },
2448   -
2449   - //选择更多门店
2450   - more_store: function() {
2451   - this.setData({
2452   - sort_store: 1
2453   - });
2454   - },
2455   -
2456   - sort_store: function() { },
2457   - // 返回按钮
2458   - returns: function() {
2459   - this.setData({
2460   - sort_store: 0,
2461   - choice_sort_store: 0
2462   - });
2463   - },
2464   - //---选择分类门店---
2465   - choice_sort_store: function(e) {
2466   - var index = e.currentTarget.dataset.index;
2467   - var region_name = e.currentTarget.dataset.region;
2468   - var item = this.data.all_sto[index];
2469   - this.setData({
2470   - region_name: region_name,
2471   - sort_store: 0,
2472   - choice_sort_store: 1,
2473   - sec_sto: item,
2474   - sec_pick_index: 0
2475   - });
2476   - },
2477   -
2478   - choose_for_store_fir: function(e) {
2479   - var index_c = e.currentTarget.dataset.ind;
2480   - var th=this;
2481   - th.setData({
2482   - fir_pick_index: index_c
2483   - })
2484   -
2485   - },
2486   -
2487   - //确定def_pick为选择的门店
2488   - sure_pick: function(e) {
2489   - var th = this;
2490   - var item = null;
2491   - var openindstore = th.data.open_ind_store;
2492   -
2493   - if (th.data.choice_sort_store == 0) {
2494   - var index = th.data.fir_pick_index;
2495   - if (th.data.is_show_sto_cat == 1) {
2496   - item = th.data.def_pickpu_list[index];
2497   - } else {
2498   - item = th.data.only_pk[index]; //当没有门店分类的时候
2499   - }
2500   -
2501   - } else {
2502   - var index = th.data.sec_pick_index;
2503   - item = th.data.sec_sto.s_arr[index];
2504   - }
2505   -
2506   - var ser_card=this.data.data;
2507   - //判断门店的配送方式是不是匹配
2508   - if(ser_card.storageId!=null && ser_card.storageId!="" && ser_card.storageId.indexOf(item.keyid)==-1){
2509   - wx.showToast({
2510   - title: "该门店无此服务项目,请重新选择!",
2511   - icon: 'none',
2512   - duration: 2000
2513   - });
2514   - return false;
2515   - }
2516   -
2517   - if(!item) return false;
2518   -
2519   - th.setData({
2520   - def_pick_store: item,
2521   - sto_sele_name: item.pickup_name,
2522   - sto_sele_id: item.pickup_id,
2523   - sto_sele_keyid: item.keyid,
2524   - sto_sele_distr: item.distr_type,
2525   - store: 0,
2526   - choice_sort_store: 0,
2527   - fir_pick_index: 0
2528   - });
2529   -
2530   - if (openindstore == 1) {
2531   - th.setData({
2532   - openSpecModal: !0,
2533   - openSpecModal_ind: openindstore,
2534   - });
2535   - } else if (openindstore == 2) {
2536   - th.setData({
2537   - openSpecModal: !0,
2538   - openSpecModal_ind: openindstore,
2539   - });
2540   - }
2541   - else if(openindstore == 4) { //4就是拼团
2542   - th.setData({
2543   - openSpecModal_pt: 1, //打开拼团购买界面
2544   - store: 0, //关闭门店
2545   - choice_sort_store: 0, //关闭门店2级
2546   - sort_store: 0, //关闭门店2级
2547   - });
2548   - }
2549   - else {
2550   - th.setData({
2551   - store: 0,
2552   - choice_sort_store: 0,
2553   - sort_store: 0
2554   - })
2555   - }
2556   - },
2557   -
2558   - //---点击二级之后的选择---
2559   - choose_for_store: function(e) {
2560   - var index_c = e.currentTarget.dataset.ind;
2561   - var th=this;
2562   - th.setData({
2563   - sec_pick_index: index_c,
2564   - fir_pick_index: index_c
2565   - })
2566   -
2567   - },
2568   - //把选择的门店设置成默认的门店def_pick
2569   - set_def_pick: function(e) {
2570   - var th = this;
2571   - var item = null;
2572   - if (th.data.choice_sort_store == 0) {
2573   - var index = th.data.fir_pick_index;
2574   - if (th.data.is_show_sto_cat == 1) {
2575   - item = th.data.def_pickpu_list[index];
2576   - } else {
2577   - item = th.data.only_pk[index]; //当没有门店分类的时候
2578   - }
2579   - } else {
2580   - var index = th.data.sec_pick_index;
2581   - item = th.data.sec_sto.s_arr[index];
2582   - }
2583   -
2584   - //判断门店的配送方式是不是匹配
2585   - var ser_card=this.data.data;
2586   - //判断门店的配送方式是不是匹配
2587   - if(ser_card.storageId!=null && ser_card.storageId!="" && ser_card.storageId.indexOf(item.keyid)==-1){
2588   - wx.showToast({
2589   - title: "该门店无此服务项目,请重新选择!",
2590   - icon: 'none',
2591   - duration: 2000
2592   - });
2593   - return false;
2594   - }
2595   -
2596   -
2597   -
2598   - var store_id = os.stoid;
2599   - var user_id = getApp().globalData.user_id;
2600   - var def_pickup_id = item.pickup_id;
2601   -
2602   - getApp().request.put('/api/weshop/users/update', {
2603   - data: {
2604   - user_id:user_id,
2605   - def_pickup_id:def_pickup_id
2606   - },
2607   - success: function(res) {
2608   - if (res.data.code == 0) {
2609   - if (th.data.choice_sort_store == 0) th.setData({
2610   - fir_pick_index: 0
2611   - });
2612   - getApp().globalData.pk_store = item;
2613   - } else {
2614   - //s.showWarning("设置默认门店地址失败", null, 500, !1);
2615   - getApp().my_warnning("设置默认门店地址失败",0,th)
2616   - }
  3125 + func(f_more);
  3126 +
  3127 + },
2617 3128  
  3129 +
  3130 + //-------------获取购买数量的总函数----------------
  3131 + get_buy_num: function (func) {
  3132 +
  3133 + var th = this,
  3134 + user_id = getApp().globalData.user_id;
  3135 + if (user_id == null) {
  3136 +
  3137 + th.setData({
  3138 + prom_buy_num: 0,
  3139 + });
  3140 + "function" == typeof func && func();
  3141 + return false;
2618 3142 }
2619   - });
2620 3143  
  3144 + //----获取活动购买数----
  3145 + getApp().request.get("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
  3146 + data: {
  3147 + store_id: os.stoid,
  3148 + user_id: user_id,
  3149 + card_id: th.data.options.goods_id,
  3150 + prom_type: th.data.options.prom_type,
  3151 + prom_id: th.data.options.prom_id
  3152 + },
  3153 + //-----获取-----
  3154 + success: function (tt) {
  3155 + if (tt.data.code == 0) {
  3156 + // map.set(gd.goods_id, g_buy_num);
  3157 + th.setData({
  3158 + // g_buy_num: map,
  3159 + promcardbuynum: tt.data.data.promcardbuynum,
  3160 + cardbuynum: tt.data.data.cardbuynum,
  3161 + });
  3162 + "function" == typeof func && func();
  3163 + }
  3164 + }
  3165 + });
2621 3166  
2622   - if(!item) return false;
  3167 + },
2623 3168  
2624   - th.setData({
2625   - def_pick_store: item,
2626   - sto_sele_name: item.pickup_name,
2627   - sto_sele_id: item.pickup_id,
2628   - sto_sele_keyid: item.keyid,
2629   - sto_sele_distr: item.distr_type,
2630   - store: 0,
2631   - choice_sort_store: 0
2632   - });
2633 3169  
2634   - var openindstore = th.data.open_ind_store;
2635   - if (openindstore == 1) {
2636   - th.setData({
2637   - openSpecModal: !0,
2638   - openSpecModal_ind: openindstore,
2639   - store: 0,
2640   - choice_sort_store: 0,
2641   - sort_store: 0,
2642   - });
2643   - } else if (openindstore == 2) {
2644   - th.setData({
2645   - openSpecModal: !0,
2646   - openSpecModal_ind: openindstore,
2647   - store: 0,
2648   - choice_sort_store: 0,
2649   - sort_store: 0,
2650   - });
2651   - }
2652   - else if (openindstore == 4) { //4就是拼团
2653   - th.setData({
2654   - openSpecModal_pt: 1, //打开拼团购买界面
2655   - store: 0, //关闭门店
2656   - choice_sort_store: 0, //关闭门店2级
2657   - sort_store: 0, //关闭门店2级
  3170 + get_buy_num2: async function () {
  3171 + // var map = this.data.g_buy_num,
  3172 + var th = this, user_id = getApp().globalData.user_id;
  3173 + //----获取活动购买数----
  3174 + return await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
  3175 + data: {
  3176 + store_id: os.stoid,
  3177 + user_id: user_id,
  3178 + card_id: th.data.options.goods_id,
  3179 + prom_type: th.data.options.prom_type,
  3180 + prom_id: th.data.options.prom_id
  3181 + }
2658 3182 });
2659   - }
  3183 + },
2660 3184  
2661   - else {
2662   - th.setData({
2663   - store: 0,
2664   - choice_sort_store: 0,
2665   - sort_store: 0,
  3185 +
  3186 + // 促销 -> 送礼包 -> 查看详情
  3187 + viewLbDetails(e) {
  3188 + let id = e.currentTarget.dataset.id; // 获取礼包id
  3189 + let url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮
  3190 + // console.log('myurl', url);
  3191 + getApp().goto(url);
  3192 + },
  3193 +
  3194 + go_more_ladder: function (e) {
  3195 + var prom_id = e.currentTarget.dataset.id;
  3196 + getApp().goto("/pages/goods/goodsList/goodsList?ladder_id=" + prom_id);
  3197 + },
  3198 +
  3199 + getHistoryBuy() {
  3200 + let _this = this;
  3201 + let req_data = {
  3202 + store_id: os.stoid,
  3203 + goods_id: this.data.gid,
  3204 + pay_status: 1,
  3205 + rndid: 1
  3206 + };
  3207 + getApp().request.promiseGet('/api/weshop/ordergoods/list', {
  3208 + data: req_data,
2666 3209 })
2667   - }
2668   -
2669   - },
2670   -
2671   - wait_for_store_config: function() {
2672   - var th = this;
2673   - var t_time = setInterval(function() {
2674   - if (th.data.bconfig == null) false;
2675   - var e = th.data.bconfig;
2676   - if (e && e.is_sort_storage) {
2677   - wx.getLocation({
2678   - type: 'gcj02',
2679   - success: function(res) {
2680   - th.data.lat = res.latitude;
2681   - th.data.lon = res.longitude;
2682   - th.data.is_get_local_ok = 1;
2683   - },
2684   - fail: function(res) {
2685   - if (res.errCode == 2) {
2686   - th.setData({
2687   - is_gps: 0
2688   - });
2689   - if (th.data.is_gps == 0) {
2690   - getApp().confirmBox("请开启GPS定位", null, 10000, !1);
2691   - }
  3210 + .then(res => {
  3211 + if (ut.ajax_ok(res)) {
  3212 + _this.setData({
  3213 + historyBuyInfo: res.data.data.pageData,
  3214 + })
  3215 + }
  3216 + })
  3217 + },
2692 3218  
  3219 +
  3220 + //打开客服操作菜单
  3221 + openCS() {
  3222 + // 判断会员状态
  3223 + let user_info = getApp().globalData.userInfo;
  3224 + if (user_info == null || user_info.mobile == undefined || user_info.mobile == '' || user_info.mobile == null) {
  3225 + wx.navigateTo({
  3226 + url: '/packageE/pages/togoin/togoin',
  3227 + })
  3228 + return false;
  3229 + }
  3230 + ;
  3231 + // csType/在线客服设置:
  3232 + // 0关闭(如果有设置热线电话,则显示拨打热线电话)、
  3233 + // 1小程序客服、
  3234 + // 2企业微信客服
  3235 + if (this.data.sys_switch) {
  3236 + let csType = this.data.sys_switch.weapp_customertype;
  3237 + if (csType == 0) {
  3238 + // 拨打电话号码
  3239 + this.contactService();
2693 3240 } else {
2694   - th.setData({
2695   - is_gps: "3"
2696   - });
  3241 + this.getTel()
  3242 + .then(() => {
  3243 + self.setData({
  3244 + hiddenCS: false,
  3245 + });
  3246 + });
2697 3247 }
  3248 + ;
  3249 + }
  3250 + ;
2698 3251  
2699   - th.data.is_get_local_ok = 1;
2700   - }
2701   - })
2702   - } else {
2703   - th.data.is_get_local_ok = 1;
2704   - }
2705   - clearInterval(t_time);
2706   - }, 500)
2707   - },
2708   -
2709   -
2710   - //-- 根据ID拿出门店 --
2711   - get_pick_from_list(pid){
2712   - var all_pick_list=this.data.all_pick_list;
2713   - for(var i in all_pick_list){
2714   - var item=all_pick_list[i];
2715   - if(item.pickup_id==pid){ return item;}
2716   - }
2717   - },
2718   -
2719   - closePoster() {
2720   - this.setData({
2721   - showPoster: false,
2722   - });
2723   - },
2724   -
2725   - // 保存图片到手机
2726   - savePic() {
2727   - console.log('保存图片');
2728   - var self = this;
2729   - // 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限
2730   - this.getSetting().then((res) => {
2731   - // 判断用户是否授权了保存到相册的权限,如果没有发起授权
2732   - if (!res.authSetting['scope.writePhotosAlbum']) {
2733   - this.authorize().then(() => {
2734   - // 同意授权后保存下载文件
2735   - this.saveImage(self.data.shareImgPath)
2736   - .then(() => {
2737   - self.setData({
2738   - showPoster: false
2739   - });
2740   - });
2741   - })
2742   - } else {
2743   - // 如果已经授权,保存下载文件
2744   - this.saveImage(self.data.shareImgPath)
2745   - .then(() => {
2746   - self.setData({ showPoster: false });
2747   - });
2748   - }
2749   -
2750   - })
2751   - },
2752   -
2753   - // 获取用户已经授予了哪些权限
2754   - getSetting() {
2755   - return new Promise((resolve, reject) => {
2756   - wx.getSetting({
2757   - success: res => {
2758   - resolve(res)
2759   - }
2760   - })
2761   - })
2762   - },
2763   -
2764   - // 发起首次授权请求
2765   - authorize() {
2766   - // isFirst 用来记录是否为首次发起授权,
2767   - // 如果首次授权拒绝后,isFirst赋值为1
2768   - let isFirst = wx.getStorageSync('isFirst') || 0;
2769   - return new Promise((resolve, reject) => {
2770   - wx.authorize({
2771   - scope: 'scope.writePhotosAlbum',
2772   - // 同意授权
2773   - success: () => {
2774   - resolve();
2775   - },
2776   - // 拒绝授权,这里是用户拒绝授权后的回调
2777   - fail: res => {
2778   - if(isFirst === 0) {
2779   - wx.setStorageSync('isFirst', 1);
2780   - wx.showToast({
2781   - title: '保存失败',
2782   - icon: 'none',
2783   - duration: 1000
2784   - })
2785   - } else {
2786   - this.showModal();
2787   - }
2788   - console.log('拒绝授权');
2789   - reject();
2790   - }
2791   - })
2792   - })
2793   - },
2794   -
2795   - // 保存图片到系统相册
2796   - saveImage(saveUrl) {
2797   - var self = this;
2798   - return new Promise((resolve, reject) => {
2799   - wx.saveImageToPhotosAlbum({
2800   - filePath: saveUrl,
2801   - success: (res) => {
2802   - wx.showToast({
2803   - title: '保存成功',
2804   - duration: 1000,
2805   - });
2806   - self.setData({
2807   - showPlaybill: 'true'
2808   - });
2809   - resolve();
2810   - },
2811   - fail: () => {
2812   - wx.showToast({
2813   - title: '保存失败',
2814   - duration: 1000,
2815   - });
2816   - }
2817   - })
2818   - })
2819   - },
2820   -
2821   - previewImage() {
2822   - getApp().pre_img(this.data.shareImgPath);
2823   - },
2824   -
2825   - onShareTimeline() {
2826   - getApp().globalData.no_clear=1
2827   - var store_name=getApp().globalData.config?getApp().globalData.config.store_name:'';
2828   - if(!store_name)
2829   - store_name=getApp().globalData.setting.appName;
2830   -
2831   - return {
2832   - title:this.data.data.goods_name + '-' + store_name,
2833   - imageUrl:this.data.gallery[0].image_url,
2834   - }
2835   - },
2836   -
2837   -
2838   -
2839   - clickCollapse() {
2840   - this.setData({
2841   - flag: !this.data.flag,
2842   - })
2843   - },
  3252 + },
2844 3253  
2845   - //---------联系微信客服------------
2846   - con_weixin:function () {
2847   - var url=this.data.sys_switch.weapp_customertype_url;
2848   - var id=this.data.sys_switch.weapp_customertype_appid;
2849   - wx.openCustomerServiceChat({
2850   - extInfo: {url: url},
2851   - corpId: id,
2852   - success(res) {}
2853   - })
  3254 + //关闭客服操作菜单
  3255 + closeCS() {
  3256 + this.setData({
  3257 + hiddenCS: true,
  3258 + });
2854 3259 },
2855   -
2856   - //评论的调用
2857   - requestComments_new: async function () {
2858   - var e = this, th = e, ee = e; var tp = e.data.activeCategoryId3;
2859   - var t = '/api/weshop/serviceComment/pageComment?page=' + e.data.c_curr_p;
2860   -
2861   - wx.showLoading();
2862   - var req_where = {
2863   - store_id: os.stoid, pageSize: 5, is_show: 1,
2864   - parent_id: 0, goods_id: th.data.gid, commenttype: tp,
2865   - service_id: this.data.gid,
2866   - }
2867   - if (getApp().globalData.userInfo) {
2868   - req_where.userId = getApp().globalData.user_id;
2869   - }
2870   -
2871   - var rs_data = null;
2872   - await getApp().request.promiseGet(t, { data: req_where }).then(res => {
2873   - var tot = res.data.data.total;
2874   - e.data.c_curr_p++;
2875   - e.setData({
2876   - com_num: tot, //已经有加载
2877   - });
2878   - if (res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
2879   - rs_data = res.data.data.pageData;
2880   - } else {
2881   - th.setData({ comments_no_more: 1, auto: 1 });
2882   - }
2883   - })
2884   -
2885   - if (rs_data) {
2886   - //var cda = th.data.comments;
2887   - var cda = rs_data, com_data = th.data.comments;
2888   - for (var ind in cda) {
2889   - var ep = cda[ind];
2890   - if (cda[ind].head_pic == '') {
2891   - cda[ind].head_pic = th.data.iurl + "/miniapp/images/hui_hear_pic.png";
2892   - }
2893   - if (ep.weapp_img != "" && ut.isString(ep.weapp_img)) {
2894   - cda[ind].weapp_img = JSON.parse(ep.weapp_img);
2895   - }
2896   - if (ep.img != "" && ut.isString(ep.img)) {
2897   - cda[ind].img = ut.unserialize(ep.img);
2898   - }
2899   -
2900   - //--测量多有字的宽带,计算有多少行--
2901   - var widh = ut.measureText(ep.content, 30);
2902   - var lines = widh / 712;
2903   - cda[ind].seeMore = false;
2904   - if (lines > 3) cda[ind].seeMore = true;
2905   -
2906   - await getApp().request.promiseGet("/api/weshop/serviceComment/pageComment", {
2907   - data: {
2908   - store_id: os.stoid,
2909   - parent_id: ep.comment_id,
2910   - service_id: this.data.gid,
2911   - }
2912   - }).then(res => {
2913   - if (res.data.data.pageData && res.data.data.pageData.length > 0) {
2914   - cda[ind].replay_list = res.data.data.pageData;
2915   - }
2916   - })
2917   - }
2918   -
2919   - if (!com_data) com_data = cda;
2920   - else com_data = com_data.concat(cda);
2921   -
2922   - th.setData({ comments: com_data });
2923   - }
2924   - th.setData({ get_c: 1 });
2925   - wx.hideLoading();
2926   - },
2927   -
2928   -
2929   -
2930   - //--点赞功能--
2931   - click_zan: function (e) {
2932   - var com_id = e.currentTarget.dataset.com_id;
2933   - var item_id = e.currentTarget.dataset.item_id;
2934   - var app = getApp(),
2935   - th = this;
2936   -
2937   - if (app.globalData.userInfo == null || app.globalData.userInfo == undefined) {
2938   - app.confirmBox("您还未登录");
2939   - return false;
2940   - }
2941   -
2942   - var iszan = th.data.comments[item_id].userZanNum;
2943   - if (this.data.iszaning) return false;
2944   - this.data.iszaning = 1;
2945   -
2946   -
2947   - app.request.post("/api/weshop/serviceCommentZan/save", {
2948   - data: {
2949   - store_id: os.stoid,
2950   - user_id: app.globalData.user_id,
2951   - goods_id: th.data.gid,
2952   - service_id: th.data.gid,
2953   - comment_id: com_id
2954   - },
2955   - success: function (ee) {
2956   -
2957   - if (ee.data.code == "-1") {
2958   - app.my_warnning("不能给自己点赞", 0, th);
2959   - th.data.iszaning = 0;
2960   - return;
2961   - }
2962   -
2963   - if (ee.data.code == 0 && iszan != 1) {
2964   - var num = th.data.comments[item_id].zan_num;
2965   - num++;
2966   - var text = "comments[" + item_id + "].zan_num";
2967   - var text1 = "comments[" + item_id + "].userZanNum";
2968   - var _errObj = {};
2969   - _errObj[text] = num;
2970   - _errObj[text1] = 1;
2971   - th.setData(_errObj);
2972   -
2973   - } else {
2974   - var num = th.data.comments[item_id].zan_num;
2975   - num--;
2976   - var text = "comments[" + item_id + "].zan_num";
2977   - var text1 = "comments[" + item_id + "].userZanNum";
2978   - var _errObj = {};
2979   - _errObj[text] = num;
2980   - _errObj[text1] = 0;
2981   - th.setData(_errObj);
2982   - }
2983   -
2984   - setTimeout(function () {
2985   - th.data.iszaning = 0;
2986   - }, 500)
2987   -
2988   - }
2989   - })
2990   - },
2991   -
2992   -
2993   - //--外侧评价的点击效果---
2994   - clik_evaluate: function (e) {
2995   - var val = e.currentTarget.dataset.val;
2996   - this.setData({
2997   - activeCategoryId: 2,
2998   - activeCategoryId3: val,
2999   - comments: null
3000   - });
3001   - this.requestComments_new();
3002   - },
3003   -
3004   -
3005   - //显示全部
3006   - toggleHandler: function (e) {
3007   - var that = this,
3008   - index = e.currentTarget.dataset.index;
3009   - for (var i = 0; i < that.data.comments.length; i++) {
3010   - if (index == i) {
3011   - for (var i = 0; i < that.data.comments.length; i++) {
3012   - that.data.comments[index].auto = true;
3013   - that.data.comments[index].seeMore = false;
3014   - }
3015   - }
3016   - }
3017   - that.setData({
3018   - comments: that.data.comments
3019   - })
3020   - },
3021   -
3022   - //收起更多
3023   - toggleContent: function (e) {
3024   - var that = this,
3025   - index = e.currentTarget.dataset.index;
3026   - for (var i = 0; i < that.data.comments.length; i++) {
3027   - if (index == i) {
3028   - that.data.comments[index].auto = true;
3029   - that.data.comments[index].seeMore = true;
3030   - }
3031   - }
3032   - that.setData({
3033   - comments: that.data.comments
3034   - })
3035   - },
3036   -
3037   - //--查看评价--
3038   - look_pj: function () {
3039   - this.tabComment();
3040   - this.doScrollTop();
3041   - },
3042   -
3043   - previewCommentImgs_w: function (t) {
3044   - var e = this.data.comments[t.currentTarget.dataset.cidx].weapp_img;
3045   - var b = e.slice()
3046   - // for (var i in b) {
3047   - // b[i] = this.data.iurl + e[i];
3048   - // }
3049   - this.data.show_prew_img = 1;
3050   - wx.previewImage({
3051   - current: b[t.currentTarget.dataset.id],
3052   - urls: b
3053   - });
3054   - },
3055   -
3056   -
3057   - // 判断是否开启美业,获取套盒列表
3058   - getTaohe() {
3059   - // 判断是否开启美业
3060   - getApp().promiseGet('/api/weshop/store/getTabSys/' + os.stoid, {}).then(res => {
3061   - if(res.data.code == 0) {
3062   - let enableMeiye = res.data.data.EnableMeiye;
3063   - self.setData({
3064   - enableMeiye,
3065   - });
3066   -
3067   - if(enableMeiye) { // 开启美业
3068   - // 获取套盒列表
3069   - let url = '/api/weshop/serviceGoods/list'
3070   - let data = {
3071   - store_id: getApp().globalData.setting.stoid,
3072   - service_id: this.data.data.id,
3073   - };
3074   - // 请求数据
3075   - getApp().promiseGet(url, {
3076   - data: data,
3077   - }).then(res => {
3078   - if (res.data.code == 0) {
3079   - console.log('请求成功套盒列表', res);
3080   - self.setData({
3081   - taoheList: res.data.data,
3082   - });
3083   - } else {
3084   - throw (res);
3085   - };
3086   - }).catch(err => {});
3087   -
3088   - };
3089   - };
3090   - });
3091   - },
3092   -
3093   - //---小于10的格式化函数----
3094   - timeFormat(param) {
3095   - return param < 10 ? '0' + param : param;
  3260 +
  3261 + click_contact: function () {
  3262 + getApp().globalData.no_clear = 1;
  3263 + },
  3264 +
  3265 + //打开客服操作菜单
  3266 + openCS() {
  3267 + // csType/在线客服设置:
  3268 + // 0关闭(如果有设置热线电话,则显示拨打热线电话)、
  3269 + // 1小程序客服、
  3270 + // 2企业微信客服
  3271 + let csType = this.data.sys_switch.weapp_customertype;
  3272 + if (csType == 0) {
  3273 + // 获取电话号码
  3274 + this.contactService();
  3275 + } else {
  3276 + this.getTel()
  3277 + .then(() => {
  3278 + self.setData({
  3279 + hiddenCS: false,
  3280 + });
  3281 + });
  3282 +
  3283 + }
  3284 + ;
3096 3285 },
3097   - //----倒计时函数-----
3098   - countDown(time, prom_st) {
3099   - if (!this.data.is_timer) return false;
3100   - var th = this;
3101   - // 获取当前时间,同时得到活动结束时间数组
3102   - var endTime = time;
3103   - var newTime = ut.gettimestamp();
3104   - // 对结束时间进行处理渲染到页面
3105   - var obj = null;
3106   - // 如果活动未结束,对时间进行处理
3107   - if (endTime - newTime > 0) {
3108   - var time = (endTime - newTime);
3109   - // 获取天、时、分、秒
3110   - var day = parseInt(time / (60 * 60 * 24));
3111   - var hou = parseInt(time % (60 * 60 * 24) / 3600);
3112   - var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
3113   - var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
3114   - obj = {
3115   - day: this.timeFormat(day),
3116   - hou: this.timeFormat(hou),
3117   - min: this.timeFormat(min),
3118   - sec: this.timeFormat(sec)
3119   - }
3120   - } else {
3121   - if (th.data.prom_st == 0) {
3122   - //var endTime2 = new Date(th.data.prom_end_time).getTime();
3123   - var endTime2 = th.data.prom_act.end_time;
3124   - th.setData({
3125   - prom_time_text: '距结束还剩:',
3126   - prom_st: 1
3127   - })
3128   - setTimeout(function () {
3129   - th.countDown(endTime2)
3130   - }, 1000);
3131   - return false;
3132   -
3133   - } else {
3134   - //活动已结束,全部设置为'00'
3135   - obj = {
3136   - day: '00',
3137   - hou: '00',
3138   - min: '00',
3139   - sec: '00'
3140   - }
3141   - th.setData({
3142   - prom_time_text: '活动已经结束:',
3143   - prom_st: 3
3144   - })
3145   - th.setData({
3146   - djs: obj
3147   - });
3148   - return false;
3149   - }
3150   - }
3151   -
3152   - th.setData({
3153   - djs: obj
3154   - });
3155   - setTimeout(function () {
3156   - th.countDown(endTime)
3157   - }, 1000);
3158   - },
3159   -
3160   -
3161   - get_normal(gid) {
3162   - this.setData({
3163   - prom_type: 0,
3164   - isshow: 1,
3165   - });
3166   - this.get_sku(os.stoid, this.data.data, gid);
3167   - this.get_sto();
3168   - this.check_is_youhui(gid, 1);
3169   - this.data.is_normal = 1;
3170   - },
3171   -
3172   - //获取redis中的数量
3173   - async getactLen() {
3174   - let prom_type = this.data.options.prom_type;
3175   - let prom_id = this.data.options.prom_id;
3176   - return await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, {
3177   - 1: 1
3178   - }).then(res => {
3179   - if (res.data.code == 0) {
3180   - // 当前可以购买的数量
3181   - let r_num = res.data.data;
3182   - return r_num;
3183   - };
3184   - })
3185   - },
3186 3286  
  3287 + //关闭客服操作菜单
  3288 + closeCS() {
  3289 + this.setData({
  3290 + hiddenCS: true,
  3291 + });
  3292 + },
3187 3293  
  3294 + //--点击弹起拼单--
  3295 + openSpecModel_pt: function (e) {
3188 3296  
3189   - //--------检查是否活动,活动是否开始,或者是否结束-------
3190   - async check_prom(gid, prom_type, prom_id) {
3191   - var ee = this, th = ee;
3192   - var user_id = getApp().globalData.user_id;
3193   - if (!user_id) user_id = 0;
3194   - //-------判断活动是否抢光---------
3195   - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + prom_id, {
3196   - 1: 1
3197   - }).then(res => {
3198   - var em = res;
3199   - var flag = null;
3200   - if (em.data.code == 0) {
3201   - if (em.data.data <= 0) ee.setData({
3202   - prom_r_null: 1
3203   - });
3204   - //拿取价格并且判断时间--
3205   - getApp().request.get("/api/weshop/teamlist/get/" +
3206   - os.stoid + "/" + prom_id, {
3207   - success: async function (t) {
3208   - if (t.data.code != 0) {
3209   - ee.get_normal(gid);
3210   - return false;
3211   - }
3212   - //----已经结束-----
3213   - if (t.data.data.is_end == 1) {
3214   - ee.get_normal(gid);
3215   - return false;
3216   - }
3217   - //----已经过期-----
3218   - var now = ut.gettimestamp();
3219   - if (t.data.data.end_time < now) {
3220   - ee.get_normal(gid);
3221   - return false;
3222   - }
3223 3297  
3224   - /*-- 还没有开始预热的也不显示 --*/
3225   - if (t.data.data.show_time > now) {
3226   - ee.get_normal(gid);
3227   - return false;
3228   - }
  3298 + this.setData({open_ind_store: 4, goodsInputNum: 1});//拼团直接给4
3229 3299  
3230   - /*-- 判断拼单是否启用 --*/
3231   - if (!t.data.data.is_show) {
3232   - console.log('没启用');
3233   - wx.setNavigationBarTitle({
3234   - title: '系统提示',
3235   - });
3236   - wx.showToast({
3237   - title: '此商品暂时没有拼单活动',
3238   - icon: 'none',
3239   - success(){
3240   - setTimeout(() => {
3241   - wx.navigateBack()
3242   - }, 2000)
3243   - }
3244   - });
3245   - return false
3246   - }
3247 3300  
3248   - //判断拼团的---会员身份--
3249   - await getApp().request.promiseGet("/api/weshop/teamlist/pageteam/2", {
3250   - data: {
3251   - store_id: os.stoid,
3252   - is_end: 0,
3253   - is_show: 1,
3254   - user_id: getApp().globalData.user_id,
3255   - pageSize: 1000
3256   - }
3257   - }).then(res => {
3258   - let pd_list = res.data.data.pageData;
3259   - if (res.data.code == 0 && pd_list.length > 0) {
3260   - flag = pd_list.some(pd => {
3261   - return pd.goods_id == gid
3262   - })
3263   - }
3264   - })
3265   - if (!flag) {
3266   - ee.get_normal(gid);
3267   - return false;
  3301 + //--先判断会员状态--
  3302 + var user_info = getApp().globalData.userInfo;
  3303 + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
  3304 + wx.navigateTo({
  3305 + url: '/packageE/pages/togoin/togoin',
  3306 + })
  3307 + return false;
  3308 + }
3268 3309  
3269   - }
3270   - //-------查看自己是不是有买过该团的商品,并还为支付,或者在进行中-------
3271   - await getApp().request.promiseGet("/api/weshop/order/page", {
3272   - data: {
3273   - pt_prom_id: prom_id,
3274   - user_id: oo.user_id,
3275   - store_id: os.stoid,
3276   - pageSize: 1,
3277   - page: 1
3278   - }
3279   - }).then(e => {
3280   - if (e.data.code == 0 && e.data.data.pageData.length > 0) {
3281   - var odr = e.data.data.pageData[0];
3282   - th.data.buy_order = odr;
3283   - if (odr.pt_status == 0 && odr.order_status == 1) {
3284   - th.setData({
3285   - user_order_pt_state: 1
3286   - });
3287   - }
3288   - if (odr.pt_status == 1 && odr.order_status == 1) {
3289   - if (odr.is_zsorder == 4) {
3290   - getApp().request.promiseGet("/api/weshop/teamgroup/page/", {
3291   - data: {
3292   - store_id: os.stoid,
3293   - team_id: odr.pt_prom_id,
3294   - listno: odr.pt_listno
3295   - }
3296   - }).then(res => {
3297   - var now = ut.gettimestamp();
3298   - if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
3299   - var tgr = res.data.data.pageData[0];
3300   - //如果团的时间已经到了
3301   - if (now >= tgr.kt_end_time) {
3302   - th.update_jiti(tgr.id);
3303   - } else {
3304   - th.setData({
3305   - user_order_pt_state: 2
3306   - });
3307   - }
3308   - }
3309   - })
  3310 + var th = this;
  3311 + var ind = parseInt(e.currentTarget.dataset.it);
3310 3312  
3311   - } else {
3312   - th.setData({
3313   - user_order_pt_state: 2
3314   - });
3315   - }
3316   - }
  3313 + //如果是拼单活动的普通购买
  3314 + if (ind == 1) {
3317 3315  
3318   - if (odr.pt_status == 2 && odr.is_zsorder == 4) {
3319   - th.setData({
3320   - user_order_pt_state: 3,
  3316 + if (!th.data.is_normal) {
  3317 + th.data.g_buy_num = new Map();
  3318 + }
  3319 + //如果拼单的sku data是空的,就要先获取一下
  3320 + th.get_sto(1);
  3321 + th.setData({
  3322 + is_normal: ind,
  3323 + openSpecModal_pt: 1
  3324 + });
  3325 + //th.check_is_youhui(th.data.gid, 1);
  3326 + } else {
  3327 +
  3328 + if (th.data.is_normal) {
  3329 + th.data.g_buy_num = new Map();
  3330 + }
  3331 +
  3332 + //拼单商品从这里进,先判断有没有买过商品,
  3333 + getApp().request.get("/api/weshop/rechargeServicelist/page", {
  3334 + data: {
  3335 + prom_id: th.data.prom_act.id,
  3336 + prom_type: 6,
  3337 + user_id: oo.user_id,
  3338 + store_id: os.stoid,
  3339 + pageSize: 1,
  3340 + page: 1
  3341 + },
  3342 + success: function (e) {
  3343 + //--跳转到已经购买的情况--
  3344 + if (e.data.data.pageData.length > 0) {
  3345 + var odr = e.data.data.pageData[0];
  3346 + //还未支付
  3347 + if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) {
  3348 + wx.showModal({
  3349 + title: "您已经购买了该商品待支付中",
  3350 + success: function (a) {
  3351 + if (a.confirm) {
  3352 + wx.navigateTo({
  3353 + url: "/packageA/pages/details_serviceCard/details_serviceCard?order_id=" + odr.order_id,
3321 3354 });
3322   - th.data.wk_order_id = odr.order_id;
3323 3355 }
3324 3356 }
3325   - })
3326   -
3327   - //----------查看阶梯团------------
3328   - if (t.data.data.ct_rylist != "null" && t.data.data.ct_rylist != "" && t.data.data.ct_rylist != null && t.data.data.ct_rylist != undefined) {
3329   - t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist);
3330   - var max_num = 0;
3331   - t.data.data.ct_rylist.forEach(function (val, ind) {
3332   - if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum);
3333   - })
3334   - t.data.data.max_ct_num = max_num;
3335   - }
3336   -
3337   - var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss");
3338   - var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss");
3339   -
3340   - ee.setData({
3341   - prom_price: t.data.data.price,
3342   - prom_type: 6,
3343   - prom_id: prom_id,
3344   - prom_buy_limit: t.data.data.buy_limit,
3345   - prom_act: t.data.data,
3346   - prom_end_time: prom_end_time,
3347   - prom_start_time: prom_start_time,
3348   - isshow: 1,
3349 3357 });
  3358 + } else if (odr.pt_status == 1 && odr.order_status == 1) {
3350 3359  
3351   - ee.get_sto();
  3360 + if (this.data.is_go_to_team_show) return false;
  3361 + this.data.is_go_to_team_show = 1;
  3362 + wx.showLoading();
3352 3363  
3353   - var newTime = now;
3354   - var endTime2 = t.data.data.end_time;
3355   - var endTime1 = t.data.data.start_time;
  3364 + /*---
  3365 + wx.redirectTo({
  3366 + url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn,
  3367 + });--*/
  3368 + getApp().goto("/pages/team/team_success/team_success?ordersn=" + odr.order_sn);
3356 3369  
3357   - if (endTime1 > newTime) {
3358   - ee.setData({
3359   - prom_time_text: '距拼单开始还剩:'
3360   - })
3361   - ee.countDown(endTime1, 0);
3362   - } else {
3363   - if (endTime2 > newTime) {
3364   - ee.setData({
3365   - prom_time_text: '距拼单结束还剩:',
3366   - prom_st: 1
3367   - })
3368   - ee.countDown(endTime2);
3369   - }
3370   - }
3371   - //-------查看有多少人在开这个团-------
3372   - th.get_team_group(prom_id);
  3370 + } else {
  3371 + th.setData({
  3372 + is_normal: ind,
  3373 + openSpecModal_pt: 1
  3374 + });
3373 3375 }
3374   - });
  3376 + }
  3377 + else {
  3378 + th.setData({
  3379 + is_normal: ind,
  3380 + openSpecModal_pt: 1
  3381 + });
  3382 + }
3375 3383 }
3376 3384 })
3377   -
  3385 + }
3378 3386 },
3379   -
3380   -
3381   - viewFlash(e) {
3382   - let prom_type = e.currentTarget.dataset.promtype;
3383   - let prom_id = e.currentTarget.dataset.promid;
3384   - let goods_id = this.data.data.goods_id;
3385   - let url = `/packageA/pages/goodsInfo/goodsInfo?goods_id=${goods_id}&prom_type=${prom_type}&prom_id=${prom_id}`;s
3386   - getApp().goto(url);
3387   - },
3388   -
3389   -
3390   -
3391   - //获取更多秒杀
3392   - get_more_flash: async function (func) {
3393   - var f_more = false;
3394   - var user_id = getApp().globalData.user_id;
3395   - if (!user_id) user_id = 0;
3396   -
3397   - var url = "/api/weshop/goods/listSkuFlash?store_id=" + os.stoid + "&goods_id=" + this.data.options.goods_id + "&user_id=" + user_id;
3398   - //获取秒杀的多规格
3399   - await getApp().request.promiseGet(url, {}).then(res => {
3400   - if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
3401   - f_more = res.data.data;
3402   - }
3403   - })
3404   - if (!f_more) {
3405   - func(false);
3406   - return false;
3407   - }
3408   - //-- 秒杀的价格要更新 --
3409   - for (let i in f_more) {
3410   -
3411   - let item = f_more[i];
3412   - f_more[i].prom_id = item.act_id;
3413   - f_more[i].prom_type = 1;
3414   - if (item.goods_id == this.data.data.goods_id) {
3415   - continue;
3416   - }
3417   - var url = "/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + item.act_id;
3418   - await getApp().request.promiseGet(url, {}).then(rs => {
3419   - if (rs.data.code == 0) {
3420   - f_more[i].price = rs.data.data.user_price;
3421   -
3422   - }
3423   - })
3424   - }
3425   - func(f_more);
3426   -
3427   - },
3428   -
3429   -
3430   -
3431   -
3432   -
3433   -
3434   - //-------------获取购买数量的总函数----------------
3435   - get_buy_num: function (gd, func) {
3436   - // var map = this.data.g_buy_num,
3437   - var th = this,
3438   - user_id = getApp().globalData.user_id;
3439   - if (user_id == null) {
3440   - // map.set(gd.goods_id, 0);
3441   - th.setData({
3442   - // g_buy_num: map,
3443   - prom_buy_num: 0,
3444   - });
3445   - "function" == typeof func && func();
3446   - return false;
3447   - }
3448   -
3449   - // if (map.has(gd.goods_id)) {
3450   - // "function" == typeof func && func();
3451   - // } else {
3452   - //----获取商品购买数----
3453   - if (th.data.prom_type == 1) {
3454   - //----获取活动购买数----
3455   - getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
3456   - data: {
3457   - store_id: os.stoid,
3458   - user_id: user_id,
3459   - card_id: th.data.options.goods_id,
3460   - prom_type: th.data.options.prom_type,
3461   - prom_id: th.data.options.prom_id
3462   - },
3463   - //-----获取-----
3464   - success: function (tt) {
3465   - if (tt.data.code == 0) {
3466   - // map.set(gd.goods_id, g_buy_num);
3467   - th.setData({
3468   - // g_buy_num: map,
3469   - promcardbuynum: tt.data.data.promcardbuynum,
3470   - cardbuynum: tt.data.data.cardbuynum,
3471   - });
3472   - "function" == typeof func && func();
3473   - }
3474   - }
3475   - });
3476   - } else {
3477   - "function" == typeof func && func();
3478   - };
3479   -
3480   - },
3481   -
3482   -
3483   - get_buy_num2: async function () {
3484   - // var map = this.data.g_buy_num,
3485   - var th = this,
3486   - user_id = getApp().globalData.user_id;
3487   - // if (user_id == null) {
3488   - // // map.set(gd.goods_id, 0);
3489   - // th.setData({
3490   - // // g_buy_num: map,
3491   - // prom_buy_num: 0,
3492   - // });
3493   - // "function" == typeof func && func();
3494   - // return false;
3495   - // }
3496   -
3497   -
3498   - //----获取商品购买数----
3499   -
3500   - //----获取活动购买数----
3501   - return await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
3502   - data: {
3503   - store_id: os.stoid,
3504   - user_id: user_id,
3505   - card_id: th.data.options.goods_id,
3506   - prom_type: th.data.options.prom_type,
3507   - prom_id: th.data.options.prom_id
3508   - },
3509   - //-----获取-----
3510   - success: function (tt) {
3511   - if (tt.data.code == 0) {
3512   - // map.set(gd.goods_id, g_buy_num);
3513   - th.setData({
3514   - // g_buy_num: map,
3515   - promcardbuynum: tt.data.data.promcardbuynum,
3516   - cardbuynum: tt.data.data.cardbuynum,
3517   - });
3518   - }
3519   - }
3520   - });
3521   -
3522   -
3523   - },
3524   -
3525   -
3526   -
3527   -
3528   -
3529   - // 促销 -> 送礼包 -> 查看详情
3530   - viewLbDetails(e) {
3531   - let id = e.currentTarget.dataset.id; // 获取礼包id
3532   - let url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮
3533   - // console.log('myurl', url);
3534   - getApp().goto(url);
3535   - },
3536   -
3537   - go_more_ladder: function (e) {
3538   - var prom_id = e.currentTarget.dataset.id;
3539   - getApp().goto("/pages/goods/goodsList/goodsList?ladder_id=" + prom_id);
3540   - },
3541   -
3542   - getHistoryBuy() {
3543   - let _this = this;
3544   - let req_data = {
3545   - store_id: os.stoid,
3546   - goods_id: this.data.gid,
3547   - pay_status: 1,
3548   - rndid: 1
3549   - };
3550   - getApp().request.promiseGet('/api/weshop/ordergoods/list', {
3551   - data: req_data,
3552   - })
3553   - .then(res => {
3554   - if (t.ajax_ok(res)) {
3555   - _this.setData({
3556   - historyBuyInfo: res.data.data.pageData,
3557   - })
3558   - }
3559   - })
3560   - },
3561   -
3562   -
3563   -
3564   - //-- 秒杀的普通购买 --
3565   - openSpecModel_Nor: function () {
3566   -
3567   - // 是否授权登陆
3568   - var user_info = getApp().globalData.userInfo;
3569   - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
3570   - wx.navigateTo({
3571   - url: '/packageE/pages/togoin/togoin',
3572   - })
3573   - return false;
3574   - }
3575   -
3576   -
3577   - this.data.g_buy_num = new Map();
3578   - var th = this;
3579   - this.setData({open_ind_store: 5, goodsInputNum: 1});//拼团直接给4
3580   -
3581   - this.setData({openSpecModal_flash_normal: 1});
3582   -
3583   -
3584   - // if (th.data.sku_g_pt) {
3585   - // // this.get_sto(1)
3586   - // this.setData({openSpecModal_flash_normal: 1});
3587   - // } else {
3588   - // th.get_sto(1);
3589   - // th.get_sku(os.stoid, th.data.data, th.data.gid, 1, function () {
3590   - // th.setData({
3591   - // openSpecModal_flash_normal: 1
3592   - // });
3593   - // });
3594   - // }
3595   - // this.check_is_youhui(th.data.gid, 1);
3596   - },
3597   -
3598   - closeSpecModal_flash_normal: function () {
3599   - this.setData({openSpecModal_flash_normal: 0});
3600   - },
3601   -
3602   -
3603   - //打开客服操作菜单
3604   - openCS() {
3605   - // 判断会员状态
3606   - let user_info = getApp().globalData.userInfo;
3607   - if (user_info == null || user_info.mobile == undefined || user_info.mobile == '' || user_info.mobile == null) {
3608   - wx.navigateTo({
3609   - url: '/packageE/pages/togoin/togoin',
3610   - })
3611   - return false;
3612   - };
3613   - // csType/在线客服设置:
3614   - // 0关闭(如果有设置热线电话,则显示拨打热线电话)、
3615   - // 1小程序客服、
3616   - // 2企业微信客服
3617   - if(this.data.sys_switch) {
3618   - let csType = this.data.sys_switch.weapp_customertype;
3619   - if(csType == 0) {
3620   - // 拨打电话号码
3621   - this.contactService();
3622   - } else {
3623   - this.getTel()
3624   - .then(() => {
3625   - self.setData({
3626   - hiddenCS: false,
3627   - });
3628   - });
3629   - };
3630   - };
3631   -
3632   - },
3633   -
3634   - //关闭客服操作菜单
3635   - closeCS() {
3636   - this.setData({
3637   - hiddenCS: true,
3638   - });
3639   - },
3640   -
3641   -
3642   -
3643   -
3644   -
3645   -
3646   -
3647   - //-- 加入购物的函数 --
3648   - add_cart_func: function (t) {
3649   - var i = getApp().request;
3650   - if (oo.user_id == null) {
3651   - return s.my_warnning("还未登录!", 0, this);
3652   - }
3653   -
3654   - if (!getApp().globalData.userInfo) {
3655   - return s.my_warnning("还未登录!", 0, this);
3656   - }
3657   -
3658   - var e = this,
3659   - th = e,
3660   - a = 0,
3661   - o = this.data.sele_g;
3662   - a = o.goods_id;
3663   -
3664   - //----------添加到购物车时,要判断限购数量,--------
3665   - e.get_buy_num(o, function (ee) {
3666   - //---判断商品是否超出限购---
3667   - if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
3668   - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) {
3669   - // wx.showModal({
3670   - // title: '提示',
3671   - // content: '超出活动限购数量'
3672   - // });
3673   - getApp().my_warnning('超出活动限购数量', 0, self);
3674   - return false;
3675   - }
3676   - }
3677   - //---判断商品是否超出活动限购---
3678   - if ((th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) && !th.data.is_normal) {
3679   - if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) {
3680   - // wx.showModal({
3681   - // title: '提示',
3682   - // content: '超出活动限购数量'
3683   - // });
3684   - getApp().my_warnning('超出活动限购数量', 0, self);
3685   - return false;
3686   - }
3687   - }
3688   -
3689   - if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th);
3690   - if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
3691   - this.setData({
3692   - sto_sele_name: ""
3693   - });
3694   - if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th);
3695   -
3696   - //--------------此时操作的数据------------
3697   - var newd = {
3698   - goods_id: o.goods_id,
3699   - goods_num: th.data.goodsInputNum,
3700   - pick_id: th.data.sto_sele_id,
3701   - user_id: oo.user_id,
3702   - store_id: th.data.stoid,
3703   - goods_price: o.shop_price,
3704   - member_goods_price: o.shop_price,
3705   - goods_name: o.goods_name,
3706   - goods_sn: o.goods_sn,
3707   - sku: o.sku,
3708   - prom_id: th.data.sele_g.prom_id,
3709   - prom_type: th.data.sele_g.prom_type,
3710   - };
3711   -
3712   - //---是不是从收藏夹出来的---
3713   - if (th.data.c_guide_id) {
3714   - newd['guide_id'] = th.data.c_guide_id;
3715   - newd['guide_type'] = 2;
3716   - if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 3;
3717   - } else {
3718   - if (getApp().globalData.guide_id) {
3719   - newd['guide_id'] = getApp().globalData.guide_id;
3720   - newd['guide_type'] = 0;
3721   - if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 1;
3722   - }
3723   - }
3724   -
3725   - //让商品带上房间号
3726   - //让商品带上房间号
3727   - if (th.data.sys_switch.is_skuroom_id == 1) {
3728   - if (th.data.data.goods_id == getApp().globalData.room_goods_id) {
3729   - newd.room_id = getApp().globalData.room_id;
3730   - }
3731   - } else {
3732   - if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id;
3733   - }
3734   -
3735   - //如果是积分够,is_integral_normal就要有积分购普通购买字段
3736   - if (o.prom_type == 4) {
3737   - newd.is_integral_normal = 1;
3738   - }
3739   -
3740   - //如果有线下取价
3741   - if (o.offline_price) {
3742   - newd.offline_price = o.offline_price;
3743   - newd.pricing_type = o.pricing_type;
3744   - }
3745   -
3746   - //-----如果是秒杀,团购,积分购,拼团-----
3747   - if (th.data.prom_type == 1 || th.data.prom_type == 2) {
3748   -
3749   - if (th.data.openSpecModal_flash_normal) {
3750   -
3751   - newd.prom_type = 0;
3752   - newd.prom_id = 0;
3753   -
3754   - //---如果是线下门店销售的时候---
3755   - if (th.data.sales_rules == 2) {
3756   - var pick = th.get_pick_from_list(th.data.sto_sele_id)
3757   - //---通过接口获取门店的线下库存信息--
3758   - getApp().request.get("/api/weshop/goods/getWareStorages", {
3759   - data: {
3760   - storageNos: pick.pickup_no,
3761   - wareIds: encodeURIComponent(th.data.sele_g.erpwareid),
3762   - storeId: os.stoid
3763   - },
3764   - success: function (res) {
3765   - if (res.data.code == 0) {
3766   - if (res.data.data.pageData.length > 0) {
3767   - var CanOutQty = res.data.data.pageData[0].CanOutQty;
3768   - if (CanOutQty < e.data.goodsInputNum) {
3769   - return s.my_warnning("库存不足!", 0, th);
3770   - }
3771   - //在调一次接口,读取商品的预出库的数量,lock
3772   - getApp().request.get("/api/weshop/order/ware/lock/page", {
3773   - data: {
3774   - store_id: os.stoid,
3775   - wareId: th.data.sele_g.goods_id,
3776   - storageId: pick.pickup_id,
3777   - pageSize: 1000
3778   - },
3779   - success: function (res_data) {
3780   - if (res_data.data.code == 0 && res_data.data.data.total > 0) {
3781   -
3782   - var lock = 0;
3783   - for (var i in res_data.data.data.pageData) {
3784   - lock += res_data.data.data.pageData[i].outQty;
3785   - }
3786   -
3787   - if (CanOutQty <= lock) {
3788   - return s.my_warnning("库存不足!", 0, th);
3789   - }
3790   - th.add_cart_next(e, t, a, o, newd, CanOutQty - lock);
3791   - } else {
3792   - th.add_cart_next(e, t, a, o, newd, CanOutQty);
3793   - }
3794   - }
3795   - })
3796   - } else {
3797   - return s.my_warnning("库存不足!", 0, th);
3798   - }
3799   -
3800   - }
3801   - }
3802   - })
3803   - } else {
3804   - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
3805   - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
3806   - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
3807   - }
3808   -
3809   - return false;
3810   - }
3811   -
3812   -
3813   - newd.goods_price = th.data.prom_price;
3814   - newd.member_goods_price = th.data.prom_price,
3815   - newd.prom_type = th.data.prom_type;
3816   - newd.prom_id = th.data.prom_id;
3817   -
3818   - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
3819   - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
3820   -
3821   - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
3822   -
3823   - } else if (o.prom_type == 7) {
3824   -
3825   - //判断进行中的活动,是不是要判断线下库存
3826   - th.check_zh_acting(function (ee) {
3827   - newd.prom_id = 0;
3828   - newd.prom_type = 0;
3829   - if (ee && th.data.sele_g.act) {
3830   - newd.prom_id = th.data.sele_g.act.id;
3831   - newd.prom_type = 7;
3832   - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
3833   - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
3834   - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
3835   - return false;
3836   - } else {
3837   - //---如果是线下门店销售的时候---
3838   - if (th.data.sales_rules == 2) {
3839   - var pick = th.get_pick_from_list(th.data.sto_sele_id)
3840   - //---通过接口获取门店的线下库存信息--
3841   - getApp().request.get("/api/weshop/goods/getWareStorages", {
3842   - data: {
3843   - storageNos: pick.pickup_no,
3844   - wareIds: encodeURIComponent(th.data.sele_g.erpwareid),
3845   - storeId: os.stoid
3846   - },
3847   - success: function (res) {
3848   - if (res.data.code == 0) {
3849   - if (res.data.data.pageData.length > 0) {
3850   - var CanOutQty = res.data.data.pageData[0].CanOutQty;
3851   - if (CanOutQty < e.data.goodsInputNum) {
3852   - return s.my_warnning("库存不足!", 0, th);
3853   - }
3854   - //在调一次接口,读取商品的预出库的数量,lock
3855   - getApp().request.get("/api/weshop/order/ware/lock/page", {
3856   - data: {
3857   - store_id: os.stoid,
3858   - wareId: th.data.sele_g.goods_id,
3859   - storageId: pick.pickup_id,
3860   - pageSize: 1000
3861   - },
3862   - success: function (res_data) {
3863   - if (res_data.data.code == 0 && res_data.data.data.total > 0) {
3864   -
3865   - var lock = 0;
3866   - for (var i in res_data.data.data.pageData) {
3867   - lock += res_data.data.data.pageData[i].outQty;
3868   - }
3869   -
3870   - if (CanOutQty <= lock) {
3871   - return s.my_warnning("库存不足!", 0, th);
3872   - }
3873   - th.add_cart_next(e, t, a, o, newd, CanOutQty - lock);
3874   - } else {
3875   - th.add_cart_next(e, t, a, o, newd, CanOutQty);
3876   - }
3877   - }
3878   - })
3879   - } else {
3880   - return s.my_warnning("库存不足!", 0, th);
3881   - }
3882   -
3883   - }
3884   - }
3885   - })
3886   - } else {
3887   - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
3888   - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
3889   - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
3890   - }
3891   - }
3892   - })
3893   -
3894   - }
3895   - else if (th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 4 || th.data.prom_type == 5 || th.data.prom_type == 10) {
3896   - newd.prom_type = 0;
3897   - newd.prom_id = 0;
3898   -
3899   - if (th.data.prom_type == 10) {
3900   - newd.prom_type = th.data.prom_type;
3901   - newd.prom_id = th.data.prom_id;
3902   - }
3903   -
3904   - //---如果是线下门店销售的时候---
3905   - if (th.data.sales_rules == 2) {
3906   - var pick = th.get_pick_from_list(th.data.sto_sele_id)
3907   - //---通过接口获取门店的线下库存信息--
3908   - getApp().request.get("/api/weshop/goods/getWareStorages", {
3909   - data: {
3910   - storageNos: pick.pickup_no,
3911   - wareIds: encodeURIComponent(th.data.sele_g.erpwareid),
3912   - storeId: os.stoid
3913   - },
3914   - success: function (res) {
3915   - if (res.data.code == 0) {
3916   - if (res.data.data.pageData.length > 0) {
3917   - var CanOutQty = res.data.data.pageData[0].CanOutQty;
3918   - if (CanOutQty < e.data.goodsInputNum) {
3919   - return s.my_warnning("库存不足!", 0, th);
3920   - }
3921   - //在调一次接口,读取商品的预出库的数量,lock
3922   - getApp().request.get("/api/weshop/order/ware/lock/page", {
3923   - data: {
3924   - store_id: os.stoid,
3925   - wareId: th.data.sele_g.goods_id,
3926   - storageId: pick.pickup_id,
3927   - pageSize: 1000
3928   - },
3929   - success: function (res_data) {
3930   - if (res_data.data.code == 0 && res_data.data.data.total > 0) {
3931   -
3932   - var lock = 0;
3933   - for (var i in res_data.data.data.pageData) {
3934   - lock += res_data.data.data.pageData[i].outQty;
3935   - }
3936   -
3937   - if (CanOutQty <= lock) {
3938   - return s.my_warnning("库存不足!", 0, th);
3939   - }
3940   - th.add_cart_next(e, t, a, o, newd, CanOutQty - lock);
3941   - } else {
3942   - th.add_cart_next(e, t, a, o, newd, CanOutQty);
3943   - }
3944   - }
3945   - })
3946   - } else {
3947   - return s.my_warnning("库存不足!", 0, th);
3948   - }
3949   -
3950   - }
3951   - }
3952   - })
3953   - } else {
3954   - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
3955   - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
3956   - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步
3957   - }
3958   - }
3959   - })
3960   - },
3961   -
3962   - //---加入购物车的最后一步---
3963   - add_cart_next(e, t, a, o, newd, CanOutQty) {
3964   - var th = this, i = getApp().request;
3965   - //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------
3966   - if ((o.prom_type != 1 || o.prom_id <= 0) && ((o.prom_type != 6 && o.prom_type != 4 && o.prom_type != 2 ) || th.data.is_normal)) {
3967   - var conf = th.data.bconfig;
3968   - if (conf.switch_list && getApp().globalData.userInfo['card_field'] && getApp().globalData.userInfo['card_expiredate']) {
3969   - var s_list = JSON.parse(conf.switch_list);
3970   - var now = ut.gettimestamp();
3971   -
3972   -
3973   - var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/');
3974   - var end = new Date(str);
3975   - end = Date.parse(end) / 1000;
3976   -
3977   - //--如果后台有开启等级价的功能,而且会员的等级没有过期的情况下--
3978   - if (parseInt(s_list.rank_switch) == 2 && end > now) {
3979   - var card_price = o[getApp().globalData.userInfo['card_field']];
3980   - //如果会员有等级价
3981   - if (getApp().globalData.userInfo['card_field'] != undefined && getApp().globalData.userInfo['card_field'] != null
3982   - && getApp().globalData.userInfo['card_field'] != "" && card_price > 0) {
3983   - newd.goods_price = card_price;
3984   - newd.member_goods_price = card_price;
3985   - }
3986   - }
3987   - }
3988   - }
3989   -
3990   - if ("add" == t.currentTarget.dataset.action) {
3991   -
3992   - if (th.data.prom_goods) {
3993   - newd.prom_type = 3;
3994   - newd.prom_id = th.data.prom_goods[0].prom_id;
3995   - }
3996   -
3997   - //----先看会员在购物车中是否加入了该商品-----
3998   - i.get("/api/weshop/cart/page", {
3999   - data: {
4000   - store_id: e.data.stoid,
4001   - user_id: oo.user_id,
4002   - goods_id: a,
4003   - pick_id: e.data.sto_sele_id,
4004   - state: 0
4005   - },
4006   - success: function (re) {
4007   -
4008   - //-------如果购物车中有相关的数据---------
4009   - if (re.data.data.total > 0) {
4010   -
4011   - var item = re.data.data.pageData[0];
4012   -
4013   - //判断数量,要看下购物车中有没有该商品
4014   - if (CanOutQty) {
4015   - if (item.goods_num + th.data.goodsInputNum > CanOutQty) {
4016   - return s.my_warnning("库存不足!", 0, th);
4017   - }
4018   - } else {
4019   - if (item.goods_num + th.data.goodsInputNum > o.store_count) {
4020   - return s.my_warnning("库存不足!", 0, th);
4021   - }
4022   - }
4023   -
4024   - var updata = {
4025   - id: item.id,
4026   - goods_num: e.data.goodsInputNum + item.goods_num,
4027   - goods_price: newd.goods_price,
4028   - member_goods_price: newd.goods_price,
4029   - store_id: th.data.stoid,
4030   - };
4031   -
4032   - //---是不是从收藏夹出来的---
4033   - if (th.data.c_guide_id) {
4034   - updata['guide_id'] = th.data.c_guide_id;
4035   - updata['guide_type'] = 3; //加入购物车之后就变成了3
4036   - } else {
4037   - if (getApp().globalData.guide_id) {
4038   - updata['guide_id'] = getApp().globalData.guide_id;
4039   - updata['guide_type'] = 0;
4040   - }
4041   - }
4042   -
4043   - i.put("/api/weshop/cart/update", {
4044   - data: updata,
4045   - success: function (t) {
4046   - getApp().my_warnning('加入购物车成功', 1, th, 450);
4047   - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
4048   - th.setData({
4049   - cartGoodsNum: c_num
4050   - });
4051   - th.closeSpecModal();
4052   - }
4053   - });
4054   - } else {
4055   -
4056   -
4057   - i.post("/api/weshop/cart/save", {
4058   - data: newd,
4059   - success: function (t) {
4060   - getApp().my_warnning('加入购物车成功', 1, th, 450);
4061   - var c_num = th.data.cartGoodsNum + e.data.goodsInputNum;
4062   - th.setData({
4063   - cartGoodsNum: c_num
4064   - });
4065   - th.closeSpecModal();
4066   - }
4067   - });
4068   - }
4069   - }
4070   - });
4071   -
4072   - }
4073   - else {
4074   -
4075   - //这一步主要是要让立即购买 走 购物车的逻辑 参与活动
4076   - if (newd.prom_type == 10 || newd.prom_type == 7) {
4077   - //----先看会员在购物车中是否加入了该商品,立即购买的-----
4078   - getApp().request.get("/api/weshop/cart/page", {
4079   - data: {
4080   - store_id: e.data.stoid,
4081   - user_id: oo.user_id,
4082   - state: 1
4083   - },
4084   - success: function (res) {
4085   - //-------如果购物车中有相关的数据---------
4086   - if (res.data.code == 0 && res.data.data.total > 0) {
4087   - for (let j in res.data.data.pageData) {
4088   - let item_j = res.data.data.pageData[j];
4089   - var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
4090   - getApp().request.delete(url, {});
4091   - }
4092   - }
4093   - newd.state = 1;
4094   - getApp().request.post("/api/weshop/cart/save", {
4095   - data: newd,
4096   - success: function (t) {
4097   - th.closeSpecModal();
4098   - getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
4099   - }
4100   - });
4101   - },
4102   - })
4103   - return false;
4104   - }
4105   -
4106   - if (th.data.prom_goods) {
4107   - var prom_d = th.data.prom_goods;
4108   - for (var i in prom_d) {
4109   - //判断活动有俩种条件,0元 1件
4110   - var condition_t = prom_d[i].prom_type;
4111   - switch (condition_t) {
4112   - case 0: //按钱
4113   - if (newd.goods_price >= condition_t) {
4114   - newd.prom_type = 3;
4115   - newd.prom_id = prom_d[i].prom_id;
4116   - }
4117   - break
4118   - case 1://按购买数量
4119   - if (newd.goods_num >= condition_t) {
4120   - newd.prom_type = 3;
4121   - newd.prom_id = prom_d[i].prom_id;
4122   - }
4123   - break;
4124   - }
4125   - }
4126   -
4127   - }
4128   -
4129   - newd['pick_name'] = th.data.sto_sele_name;
4130   - newd['pick_dis'] = th.data.sto_sele_distr;
4131   - th.buyNow(newd);
4132   - }
4133   - },
4134   -
4135   - click_contact:function () {
4136   - getApp().globalData.no_clear=1;
4137   - },
4138   -
4139   - //打开客服操作菜单
4140   - openCS() {
4141   - // csType/在线客服设置:
4142   - // 0关闭(如果有设置热线电话,则显示拨打热线电话)、
4143   - // 1小程序客服、
4144   - // 2企业微信客服
4145   - let csType = this.data.sys_switch.weapp_customertype;
4146   - if(csType == 0) {
4147   - // 获取电话号码
4148   - this.contactService();
4149   - } else {
4150   - this.getTel()
4151   - .then(() => {
4152   - self.setData({
4153   - hiddenCS: false,
4154   - });
4155   - });
4156   -
4157   - };
4158   - },
4159   -
4160   - //关闭客服操作菜单
4161   - closeCS() {
4162   - this.setData({
4163   - hiddenCS: true,
4164   - });
4165   - },
4166   -
4167   - //--点击弹起拼单--
4168   - openSpecModel_pt: function (e) {
4169   -
4170   -
4171   - this.setData({open_ind_store: 4, goodsInputNum: 1});//拼团直接给4
4172   -
4173   -
4174   - //--先判断会员状态--
4175   - var user_info = getApp().globalData.userInfo;
4176   - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
4177   - wx.navigateTo({
4178   - url: '/packageE/pages/togoin/togoin',
4179   - })
4180   - return false;
4181   - }
4182   -
4183   - var th = this;
4184   - var ind = parseInt(e.currentTarget.dataset.it);
4185   -
4186   - //如果是拼单活动的普通购买
4187   - if (ind == 1) {
4188   -
4189   - if (!th.data.is_normal) {
4190   - th.data.g_buy_num = new Map();
4191   - }
4192   -
4193   - //如果拼单的sku data是空的,就要先获取一下
4194   - if (th.data.sku_g_pt) {
4195   - th.get_sto(1);
4196   - th.setData({
4197   - is_normal: ind,
4198   - openSpecModal_pt: 1
4199   - });
4200   - } else {
4201   - th.get_sto(1);
4202   - th.get_sku(os.stoid, th.data.data, th.data.gid, 1, function () {
4203   - th.setData({
4204   - is_normal: ind,
4205   - openSpecModal_pt: 1
4206   - });
4207   - });
4208   - }
4209   - th.check_is_youhui(th.data.gid, 1);
4210   - } else {
4211   -
4212   - if (th.data.is_normal) {
4213   - th.data.g_buy_num = new Map();
4214   - }
4215   -
4216   - //拼单商品从这里进,先判断有没有买过商品,
4217   - getApp().request.get("/api/weshop/order/page", {
4218   - data: {
4219   - pt_prom_id: th.data.prom_act.id,
4220   - user_id: oo.user_id,
4221   - store_id: os.stoid,
4222   - pageSize: 1,
4223   - page: 1
4224   - },
4225   - success: function (e) {
4226   - //--跳转到已经购买的情况--
4227   - if (e.data.data.pageData.length > 0) {
4228   - var odr = e.data.data.pageData[0];
4229   - //还未支付
4230   - if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) {
4231   - wx.showModal({
4232   - title: "您已经购买了该商品待支付中",
4233   - success: function (a) {
4234   - if (a.confirm) {
4235   - wx.navigateTo({
4236   - url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id,
4237   - });
4238   - }
4239   - }
4240   - });
4241   - } else if (odr.pt_status == 1 && odr.order_status == 1) {
4242   -
4243   - if (this.data.is_go_to_team_show) return false;
4244   - this.data.is_go_to_team_show = 1;
4245   - wx.showLoading();
4246   -
4247   - /*---
4248   - wx.redirectTo({
4249   - url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn,
4250   - });--*/
4251   - getApp().goto("/pages/team/team_success/team_success?ordersn=" + odr.order_sn);
4252   -
4253   - } else {
4254   - th.setData({
4255   - is_normal: ind,
4256   - openSpecModal_pt: 1
4257   - });
4258   - }
4259   - }
4260   - else {
4261   - th.setData({
4262   - is_normal: ind,
4263   - openSpecModal_pt: 1
4264   - });
4265   - }
4266   - }
4267   - })
4268   - }
4269   - },
4270 3387  
4271 3388 //--获取有多少人在开团--
4272 3389 async get_team_group(prom_id) {
... ... @@ -4296,18 +3413,32 @@ Page({
4296 3413 teamgroup = res.data.data.pageData;
4297 3414 grounp_tatal = res.data.data.total;
4298 3415 })
  3416 +
4299 3417 //获取订单的总数这个接口不能用
4300   - for (i = 0; i < teamgroup.length; i++) {
4301   - await getApp().request.promiseGet("/api/weshop/order/page", {
4302   - data: {
4303   - store_id: os.stoid,
4304   - pt_status: 1,
4305   - pt_listno: teamgroup[i].listno
4306   - }
4307   - }).then(res => {
4308   - var order = res.data.data.pageData;
4309   - teamgroup[i].open_num = order.length;
4310   - })
  3418 + for (var i = 0; i < teamgroup.length; i++) {
  3419 +
  3420 + if(teamgroup[i].goods_type==0){
  3421 + await getApp().request.promiseGet("/api/weshop/order/page", {
  3422 + data: {
  3423 + store_id: os.stoid,
  3424 + pt_status: 1,
  3425 + pt_listno: teamgroup[i].listno
  3426 + }
  3427 + }).then(res => {
  3428 + var order = res.data.data.pageData;
  3429 + teamgroup[i].open_num = order.length;
  3430 + })
  3431 + }else{
  3432 +
  3433 + //获取order信息根据订单编号order_sn
  3434 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/page", {
  3435 + data: { store_id: os.stoid, prom_id: prom_id,pt_status: 1,pt_listno:teamgroup[i].listno}
  3436 + }).then(res => {
  3437 + var order = res.data.data.pageData;
  3438 + teamgroup[i].open_num = order.length;
  3439 + })
  3440 + }
  3441 +
4311 3442 await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + teamgroup[i].openvipid, {}).then(res => {
4312 3443 var user = res.data.data;
4313 3444 teamgroup[i].user = user;
... ... @@ -4324,6 +3455,385 @@ Page({
4324 3455 }
4325 3456 },
4326 3457  
  3458 + doScrollTop: function () {
  3459 + wx.pageScrollTo({
  3460 + scrollTop: 0
  3461 + });
  3462 + },
  3463 +
  3464 +
  3465 + clickShare() {
  3466 + if(!getApp().globalData.user_id){
  3467 + getApp().goto("/packageE/pages/togoin/togoin");
  3468 + return false;
  3469 + }
  3470 + this.setData({
  3471 + share_hidden: true,
  3472 + });
  3473 + },
  3474 +
  3475 + cancel() {
  3476 + this.setData({
  3477 + share_hidden: false,
  3478 + });
  3479 + },
  3480 +
  3481 +
  3482 + //-- 先版绘制 --
  3483 + drawPoster(context, unit, img, vpath, type) {
  3484 + // 1.灰色背景
  3485 + context.setFillStyle('#f2f1f6');
  3486 + context.rect(0, 0, 554 * unit, 899 * unit);
  3487 + context.fill();
  3488 +
  3489 + // 2.商城名称
  3490 + let shopName = this.data.sto_sele_name_1;
  3491 + context.setTextAlign('center');
  3492 + context.setFontSize(26 * unit);
  3493 + context.setFillStyle('black');
  3494 + context.fillText(shopName, 277 * unit, 60 * unit);
  3495 +
  3496 + // 3.推荐来源
  3497 + let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`;
  3498 + context.setTextAlign('center');
  3499 + context.setFontSize(22 * unit);
  3500 + context.setFillStyle('#96959a');
  3501 + context.fillText(fromText, 277 * unit, 105 * unit);
  3502 +
  3503 + // 4.海报背景
  3504 + context.setFillStyle('white');
  3505 + context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);
  3506 +
  3507 + // 5.商品图片
  3508 + // 图片的x坐标
  3509 + let bg_x = 37 * unit
  3510 + // 图片的y坐标
  3511 + let bg_y = 157 * unit
  3512 + // 图片宽度
  3513 + let bg_w = 480 * unit
  3514 + // 图片高度
  3515 + let bg_h = 474 * unit
  3516 + // 图片圆角
  3517 + let bg_r = 4
  3518 + // 绘制海报背景图片圆角
  3519 + context.save()
  3520 + context.beginPath()
  3521 + context.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5)
  3522 + context.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2)
  3523 + context.arc(bg_x + bg_w, bg_y + bg_h, bg_r, 0, Math.PI * 0.5)
  3524 + context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI)
  3525 + context.clip()
  3526 + context.drawImage(img, bg_x, bg_y, bg_w, bg_h);
  3527 + context.restore();
  3528 +
  3529 + // 6.强烈推荐
  3530 + let src = '';
  3531 + context.beginPath();
  3532 + if (type == 0) { // 普通
  3533 + src = '../../../../images/share/q_tj.png';
  3534 + context.drawImage(src, 54 * unit, 648 * unit, 85 * unit, 30 * unit);
  3535 + context.setFontSize(16 * unit)
  3536 + context.setFillStyle("white")
  3537 + context.setTextAlign('left');
  3538 + context.fillText('强烈推荐', 64 * unit, 668 * unit);
  3539 + }
  3540 +
  3541 + if (type == 1) { // 秒杀
  3542 +
  3543 + if(this.data.is_share_text==1){
  3544 + src = '../../../../images/share/miao_share.png';
  3545 + context.drawImage(src, 54 * unit, 648 * unit, 200 * unit, 36 * unit);
  3546 + }
  3547 + context.setTextAlign('left');
  3548 + }
  3549 +
  3550 + if (type == 2) { // 商家和会员团
  3551 + src = '../../../../images/share/ct_num.png';
  3552 + context.drawImage(src, 54 * unit, 648 * unit, 120 * unit, 30 * unit);
  3553 + context.setTextAlign('left');
  3554 +
  3555 + let ct_num = self.data.prom_act.ct_num;
  3556 + context.setFontSize(16 * unit)
  3557 + context.font = 'normal';
  3558 + context.setFillStyle("red")
  3559 + if (ct_num < 10) {
  3560 + context.fillText(ct_num + "人拼团", 100 * unit, 670 * unit);
  3561 + } else {
  3562 + context.fillText(ct_num + "人拼团", 96 * unit, 670 * unit);
  3563 + }
  3564 + context.setFontSize(22 * unit)
  3565 + context.fillText("已拼" + self.data.prom_act.buy_num + "份", 186 * unit, 672 * unit);
  3566 + }
  3567 +
  3568 + if (type == 3) { // 阶梯团
  3569 + let list = self.data.prom_act.ct_rylist;
  3570 + for (let i = 0; i < list.length; i++) {
  3571 + let item = list[i];
  3572 + let wi = i * 90 * unit;
  3573 + context.font = 'normal';
  3574 + context.setTextAlign('left');
  3575 + context.setFontSize(16 * unit)
  3576 + context.setFillStyle("red")
  3577 + context.fillText("¥", 50 * unit + wi, 680 * unit);
  3578 + context.setFontSize(22 * unit)
  3579 + let pri = parseFloat(item.price).toFixed(2);
  3580 + context.fillText(pri, 66 * unit + wi, 680 * unit);
  3581 +
  3582 +
  3583 + context.setFillStyle("gray")
  3584 + context.fillText("满" + item.rynum + "人", 50 * unit + wi, 716 * unit);
  3585 + }
  3586 +
  3587 +
  3588 + var wp= 52 * unit;
  3589 + var hp=755 * unit
  3590 + self.draw_pos_price(context,wp,hp,self.data.data.market_price,unit);
  3591 + }
  3592 +
  3593 +
  3594 + // 7.商品价格
  3595 + if (type != 3) {
  3596 + let price = this.data.data.money;
  3597 + if (this.data.card_field && this.data.data[this.data.card_field]) {
  3598 + price = this.data.data[this.data.card_field];
  3599 + }
  3600 + if (this.data.prom_act) price = this.data.prom_price;
  3601 + price = parseFloat(price).toFixed(2);
  3602 + context.setFontSize(32 * unit);
  3603 + context.setFillStyle('#DE1117');
  3604 + if (this.data.prom_type == 4 && this.data.prom_integral) {
  3605 + context.fillText(this.data.prom_integral + '积分+¥' + price, 54 * unit, 735 * unit);
  3606 +
  3607 + var wp= 62 * unit+ut.measureText(this.data.prom_integral + '积分+¥' + price, 32 * unit);
  3608 + var hp=735 * unit
  3609 + this.draw_pos_price(context,wp,hp,this.data.data.market_price,unit);
  3610 +
  3611 + } else {
  3612 + context.fillText('¥' + price, 54 * unit, 735 * unit);
  3613 + var wp= 62 * unit+ut.measureText('¥' + price, 32 * unit);
  3614 + var hp=735 * unit
  3615 + this.draw_pos_price(context,wp,hp,this.data.data.market_price,unit);
  3616 +
  3617 + }
  3618 +
  3619 + }
  3620 +
  3621 + // 8.商品标题
  3622 + context.setFontSize(20 * unit);
  3623 + context.setFillStyle('#898989');
  3624 + getApp().draw_Text(context, this.data.data.goods_name, 54 * unit, 800 * unit, 240 * unit, 280 * unit, unit, 1);
  3625 + // 9.小程序码
  3626 + context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit);
  3627 + context.setFontSize(16 * unit);
  3628 + context.setFillStyle('#777');
  3629 + context.fillText('长按识别二维码', 378 * unit, 810 * unit);
  3630 +
  3631 + // 10.竖线
  3632 + context.beginPath();
  3633 + context.setFillStyle('#eee');
  3634 + context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit);
  3635 + context.fill();
  3636 + },
  3637 +
  3638 + //---市场价划掉---
  3639 + draw_pos_price(context,w,h,market_price,unit){
  3640 +
  3641 + if(!this.data.sys_switch) return false;
  3642 + if(!this.data.sys_switch.is_retail_price) return false;
  3643 + context.setFillStyle("gray")
  3644 + context.setFontSize(22 * unit)
  3645 + var pri0 = "¥" + market_price.toFixed(2);
  3646 + context.fillText(pri0, w, h);
  3647 +
  3648 + var c_h=h-6;
  3649 + context.setStrokeStyle('gray');
  3650 + context.setLineWidth(1 * unit);
  3651 + context.moveTo(w - 5, c_h);
  3652 + context.lineTo(w + ut.measureText(pri0, 22 * unit) + 5, c_h);
  3653 + context.stroke();
  3654 +
  3655 + },
  3656 +
  3657 +
  3658 + //-------跳转pt teamshow-------
  3659 + go_to_team_show: function () {
  3660 +
  3661 + if (this.data.is_go_to_team_show) return false;
  3662 + this.data.is_go_to_team_show = 1;
  3663 + wx.showLoading();
  3664 +
  3665 + var th = this;
  3666 + var url = "/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + th.data.buy_order.order_sn;
  3667 + /*--
  3668 + wx.redirectTo({
  3669 + url:url,
  3670 + })--*/
  3671 + getApp().goto(url);
  3672 +
  3673 + setTimeout(()=>{
  3674 + this.data.is_go_to_team_show =0;
  3675 + },1000)
  3676 +
  3677 + },
  3678 +
  3679 +
  3680 + //---拼团倒计时---
  3681 + countDown2() {
  3682 + if (!this.data.is_timer) return false;
  3683 + var th = this;
  3684 + // 获取当前时间,同时得到活动结束时间数组
  3685 + var newTime = ut.gettimestamp();
  3686 + var List = th.data.teamgroup;
  3687 + for (var j = 0; j < List.length; j++) {
  3688 + // 对结束时间进行处理渲染到页面
  3689 + var endTime = List[j].kt_end_time;
  3690 + let obj = null;
  3691 + // 如果活动未结束,对时间进行处理
  3692 + if (endTime - newTime > 0) {
  3693 + let time = (endTime - newTime);
  3694 + // 获取天、时、分、秒
  3695 + let day = parseInt(time / (60 * 60 * 24));
  3696 + let hou = parseInt(time % (60 * 60 * 24) / 3600);
  3697 + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
  3698 + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
  3699 + obj = {
  3700 + day: this.timeFormat(day),
  3701 + hou: this.timeFormat(hou),
  3702 + min: this.timeFormat(min),
  3703 + sec: this.timeFormat(sec)
  3704 + }
  3705 + } else {
  3706 + //活动已结束,全部设置为'00'
  3707 + obj = {
  3708 + day: '00',
  3709 + hou: '00',
  3710 + min: '00',
  3711 + sec: '00'
  3712 + }
  3713 + }
  3714 + var txt = "timer[" + j + "]";
  3715 + th.setData({
  3716 + [txt]: obj
  3717 + });
  3718 + }
  3719 + setTimeout(th.countDown2, 1000);
  3720 + },
  3721 +
  3722 + //-- 跳转参加团 --
  3723 + go_cj_team: function (e) {
  3724 +
  3725 + //先判断有没有登陆
  3726 + if(!getApp().globalData.user_id){
  3727 + getApp().goto("/packageE/pages/togoin/togoin");
  3728 + return false;
  3729 + }
  3730 +
  3731 + var ind = e.currentTarget.dataset.ind;
  3732 + var item = this.data.teamgroup[ind];
  3733 + var goods_id = e.currentTarget.dataset.goodsid;
  3734 + var id = item.id;
  3735 + var th = this;
  3736 +
  3737 + getApp().request.get("/api/weshop/rechargeServicelist/page", {
  3738 + data: {
  3739 + prom_type: 6,
  3740 + prom_id: item.team_id,
  3741 + user_id: oo.user_id,
  3742 + store_id: os.stoid,
  3743 + pageSize: 1,
  3744 + page: 1
  3745 + },
  3746 + success: function (e) {
  3747 + if (e.data.code != 0) {
  3748 + getApp().my_warnning("读取订单失败", 0, th);
  3749 + return fasle;
  3750 + }
  3751 + //--跳转到已经购买的情况--
  3752 + if (e.data.data.pageData.length > 0) {
  3753 + var odr = e.data.data.pageData[0];
  3754 + //还未支付
  3755 + if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) {
  3756 + wx.showModal({
  3757 + title: "您已经购买了该商品待支付中",
  3758 + success: function (a) {
  3759 + if (a.confirm) {
  3760 + wx.navigateTo({
  3761 + url: "/packageA/pages/details_serviceCard/details_serviceCard?order_id=" + odr.order_id,
  3762 + });
  3763 + }
  3764 + }
  3765 + });
  3766 + } else if (odr.pt_status == 1 && odr.order_status == 1) {
  3767 +
  3768 + if (this.data.is_go_to_team_show) return false;
  3769 + this.data.is_go_to_team_show = 1;
  3770 + wx.showLoading();
  3771 +
  3772 + getApp().goto("/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + odr.order_sn);
  3773 +
  3774 + } else {
  3775 + console.log(222, goods_id)
  3776 + wx.navigateTo({
  3777 + url: "/packageA/pages/serviceCard_pd/team_show/team_show?tg_id=" + id + "&goods_id=" + goods_id,
  3778 + });
  3779 + }
  3780 + }
  3781 + //--跳转到参团--
  3782 + else {
  3783 + console.log(1111, th.data.goods_id)
  3784 + wx.navigateTo({
  3785 + url: "/packageA/pages/serviceCard_pd/team_show/team_show?tg_id=" + id + "&goods_id=" + goods_id,
  3786 + });
  3787 + }
  3788 + }
  3789 + })
  3790 +
  3791 + },
  3792 +
  3793 + //-- 跳到团更多 --
  3794 + go_t_more: function () {
  3795 + var team_id = this.data.prom_id;
  3796 + wx.navigateTo({
  3797 + url: "/packageA/pages/serviceCard_pd/team_more/team_more?team_id=" + team_id,
  3798 + });
  3799 + },
  3800 +
  3801 + //-------跳转pt商品-------
  3802 + go_to_nopay: function () {
  3803 + var th = this;
  3804 + var url = "/packageA/pages/details_serviceCard/details_serviceCard?order_id=" + th.data.buy_order.order_id;
  3805 + getApp().goto(url);
  3806 +
  3807 + },
  3808 +
  3809 +
  3810 + //--调用更新阶梯团的接口--
  3811 + update_jiti: function (id) {
  3812 + var th = this;
  3813 + //--更新阶梯团--
  3814 + getApp().request.put("/api/weshop/teamgroup/updateTeamOrder/" + os.stoid + "/" + id, {
  3815 + success: function (ee) {
  3816 + //--等于0是要去支付尾款,接口调用失败,就要去查看参团详情--
  3817 + if (ee.data.code == 0) {
  3818 + th.setData({
  3819 + user_order_pt_state: 3,
  3820 + });
  3821 + } else if (ee.data.code == -1) {
  3822 + th.setData({
  3823 + user_order_pt_state: 2,
  3824 + });
  3825 + }
  3826 + }
  3827 + })
  3828 + },
  3829 +
  3830 + //--跳转到支付尾款界面--
  3831 + go_pay_wk: function () {
  3832 + var url = "/packageA/pages/serviceCard_pd/cart_wk/cart_wk?order_id=" + this.data.wk_order_id;
  3833 + getApp().goto(url);
  3834 + },
  3835 +
  3836 +
4327 3837 });
4328 3838  
4329 3839  
... ...
packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.json
1 1 {
2   - "navigationBarTitleText": "商品详情",
  2 + "navigationBarTitleText": "卡项详情",
3 3 "enablePullDownRefresh": false,
4 4 "usingComponents": {
5 5 "nav_box": "/components/nav_box/nav_box",
6 6 "warn": "/components/long_warn/long_warn",
7   - "goods_recommend": "/components/goods_list/goods_list",
8   - "share": "/components/share/share"
  7 + "serviceCard_recommend": "/components/serviceCard_list/serviceCard_list",
  8 + "share": "/components/share/share"
9 9 }
10 10 }
11 11 \ No newline at end of file
... ...
packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml
... ... @@ -4,7 +4,7 @@
4 4 <wxs module="tool" src="filter.wxs"></wxs>
5 5  
6 6 <!-- 商品内容区域,普通商品,秒杀,拼团 -->
7   -<block>
  7 +<block wx:if="{{isshow}}">
8 8 <view class="container">
9 9 <view class="type-navbar">
10 10 <view class="type-box" wx:for="{{categories}}" wx:key="categories">
... ... @@ -79,9 +79,9 @@
79 79 <view class="flex fs35 xc-qtsign">¥</view>
80 80 <view class="fs50 val">{{prom_price}}</view>
81 81 </view>
82   - <view class="word-line fs20 xc-qtunit-price">
83   - 零售价¥{{filters.toFix(data.market_price,2)}}
84   - </view>
  82 + <view wx:if="{{is_retail_price}}" class="fs20 xc-qtunit-price t-l" >零售价¥{{filters.toFix(data.market_price,2)}}</view>
  83 + <view wx:else class="fs20 xc-qtunit-price t-l">¥{{filters.toFix(data.shop_price,2)}}</view>
  84 +
85 85 </view>
86 86  
87 87 <view class="abs white xc-nanber">
... ... @@ -94,16 +94,7 @@
94 94 </view>
95 95 </view>
96 96  
97   - <!-- 幸运购 -->
98   - <view class="abs white xc-nanber" wx:if="{{false}}">
99   - <text class="fs22">已成团{{prom_act.buy_num}}期</text>
100   - <view class="flex" style='margin-top:-34rpx'>
101   - <view class="xc-people-img">
102   - <image class="imgs" src="{{prom_st==1? iurl+'/miniapp/images/r_logo_red.png':iurl+'/miniapp/images/r_logo.png'}}"></image>
103   - </view>
104   - <view class="t-s fs20 xc-people-val">{{prom_act.ct_num}}人团</view>
105   - </view>
106   - </view>
  97 +
107 98  
108 99 <view class="hy-stop word-color fs26 abs" wx:if="{{prom_st==1}}">距活动结束还有</view>
109 100 <view class="hy-stop word-color-lan fs26 abs" wx:if="{{prom_st==0}}">距活动开始还有</view>
... ... @@ -215,7 +206,7 @@
215 206 <image class="stores-img" src="{{iurl}}/miniapp/images/stores.png"></image>
216 207 <view class="fs30" style="color:black;">选择门店</view>
217 208 </view>
218   - <view class="red_bb fs26">更多门店<text class="bg_jj"></text></view>
  209 + <view hidden="{{has_def && sys_switch.is_pricing_open_store}}" class="red_bb fs26">更多门店<text class="bg_jj"></text></view>
219 210 </view>
220 211  
221 212 <view wx:if="{{def_pick_store && def_pick_store.pickup_name}}">
... ... @@ -243,42 +234,7 @@
243 234  
244 235 </view>
245 236  
246   -
247   - <view class="bdt16" wx:if="{{actList}}">
248   - <view class="cx-frame" style="position: relative; height: auto">
249   - <!-- <block> -->
250   - <view class="flex ai_c" wx:for="{{actList}}">
251   - <view class="cx-sizs fs30 pdr40" wx:if="{{item.prom_type == 1}}">秒杀{{index+1}}</view>
252   - <view class="f1">
253   - <!-- <view class="fs28 f1"> -->
254   - <!-- <view>
255   - <text class="prom_condition">
256   - <text class="fill-box">消费满</text>享优惠
257   - </text>
258   - </view> -->
259   -
260   - <!-- <view class="word f1 fs26"> -->
261   - <!-- <text class="tick lh2 pdr20" wx:if="{{item.money>0}}">减价{{item.money}}元</text>
262   - <text class="tick lh2 pdr20" wx:if="{{item.sale>0}}">打{{item.sale}}折</text>
263   - <text class="tick lh2 pdr20" wx:if="{{item.past==1}}">包邮</text>
264   - <text class="tick lh2 pdr20" wx:if="{{item.intValue>0}}">送{{item.intValue}}积分</text>
265   - <view class="tick lh2 pdr20" wx:if="{{item.couponId>0}}">送{{item.couponMoney}}元优惠券</view>
266   - <view class="tick ellipsis-1x lh2" wx:if="{{item.gift_id>0}}">送商品{{item.goods_name}}</view>
267   - <view class="tick ellipsis-1x lh2 details pdr40" wx:if="{{item.lb_id>0}}" data-id="{{item.lb_id}}" bindtap="viewLbDetails">送{{item.lbtitle}}</view> -->
268   - <view class="tick ellipsis-1x lh2 details pdr40" bindtap="viewFlash" data-promtype="{{item.prom_type}}" data-promid="{{item.act_id}}">{{item.act_name}}</view>
269   - <!-- </view> -->
270   - <!-- </view> -->
271   - </view>
272   - </view>
273   -
274   -
275   - <!-- </block> -->
276   - </view>
277   - </view>
278   -
279 237  
280   -
281   -
282 238 <!-- 保障服务 -->
283 239 <view class="bz_view flex bdt16 ai_c" wx:if="{{store_config.service_bz}}">
284 240 <image class="bzfu_img" src="{{iurl}}/miniapp/images/bzfu_w.png"></image>
... ... @@ -595,26 +551,8 @@
595 551 </view> -->
596 552  
597 553 <!-- 底部按钮 -->
598   - <view class="join-cart jc_sb ai_c">
599   -
600   - <view class="flex">
601   - <!-- <button wx:if="{{sys_switch.weapp_customertype==1}}" class="custom-service cart-ico new_split pdh20" open-type="contact"
602   - session-from="wechat|{{userInfo.user_id}}|{{userInfo.nickname}}|{{userInfo.head_pic}}">
603   - <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image>
604   - <view>客服</view>
605   - </button>
606   -
607   - <view wx:elif="{{sys_switch.weapp_customertype==2}}" class="custom-service cart-ico new_split pdh20" bindtap="con_weixin"
608   - style="text-align: center">
609   - <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image>
610   - <view>客服</view>
611   - </view>
  554 + <view class="join-cart ai_c">
612 555  
613   - <view wx:else class="custom-service cart-ico new_split pdh20" bindtap="contactService" style="text-align: center">
614   - <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image>
615   - <view>客服</view>
616   - </view> -->
617   -
618 556 <view class="custom-service cart-ico new_split pdh20" bindtap="openCS">
619 557 <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image>
620 558 <view>客服</view>
... ... @@ -633,72 +571,23 @@
633 571 <view>购物车</view>
634 572 </navigator>
635 573 </view>
636   - </view>
637 574  
638   -
639   - <view class="flex f1 btn-group">
640   -
641   - <!-- 从“秒杀”入口进入购买商品 -->
642   - <block wx:if="{{options.prom_type == 1}}">
643   - <!-- 活动正在开始,商品还没抢光 -->
644   - <block wx:if="{{prom_st==1 && !prom_r_null}}">
645   - <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn f1">加入购物车</view>
646   - <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn f1">立即抢购</view>
647   - </block>
648   -
649   - <!-- 活动还没开始,商品还没抢光 -->
650   - <block wx:if="{{prom_st == 0 && !prom_r_null}}">
651   - <!-- 秒杀预热要单独购买 -->
652   - <!-- is_shop_buy支持以原价购买 -->
653   - <block wx:if="{{prom_type==1 && prom_act.is_shop_buy}}">
654   - <view bindtap="openSpecModel_Nor" data-nor="1" class="join-btn cart-btn f1">单独购买</view>
655   - <view class="buy-btn cart-btn lanse f1">即将开始</view>
656   - </block>
657   - <block wx:else>
658   - <view class="buy-btn cart-btn cart-btn-lg lanse set_width f1">即将开始</view>
659   - </block>
660   - </block>
661   -
662   - <!-- 商品已被抢光 -->
663   - <block wx:if="{{prom_r_null}}">
664   - <block wx:if="{{prom_type==1 && prom_act.is_shop_buy}}">
665   - <view bindtap="openSpecModel_Nor" data-nor="1" class="join-btn cart-btn f1">单独购买</view>
666   - <view class="buy-btn cart-btn huise f1">已抢光</view>
667   - </block>
668   - <view wx:else class="buy-btn cart-btn cart-btn-lg huise set_width f1">已抢光</view>
669   - </block>
670   -
671   - <!-- 活动已经结束,商品还没抢光 -->
672   - <block wx:if="{{prom_st==3 && !prom_r_null}}">
673   - <block wx:if="{{prom_type==1 && prom_act.is_shop_buy}}">
674   - <view bindtap="openSpecModel_Nor" data-nor="1" class="join-btn cart-btn f1">单独购买</view>
675   - <view class="buy-btn cart-btn huise f1">活动已经结束</view>
676   - </block>
677   - <view wx:else class="buy-btn cart-btn cart-btn-lg huise set_width f1">活动已经结束</view>
678   - </block>
679   -
680   - </block>
681   -
682   - <!-- -----拼单------ -->
683   - <!-- <block wx:elif="{{options.prom_type==6}}">
  575 + <!-- -----拼单------ -->
  576 + <block >
684 577 <view bindtap="openSpecModel_pt" data-it="1" data-ind="1" class="join-btn cart-btn line-h">
685 578 <view class="fir-v">
686   -
687   - <block wx:if="{{card_field && sele_g[card_field]>0}}">
688   - {{filters.toFix(sele_g[card_field],2)}}
689   - </block>
690   - <block wx:else>{{filters.toFix(sele_g.shop_price,2)}}</block>
  579 + {{filters.toFix(sele_g.money,2)}}
691 580 </view>
692 581 <view>单独购买</view>
693 582 </view>
694   - <block wx:if="{{user_order_pt_state==0}}"> -->
  583 + <block wx:if="{{user_order_pt_state==0}}">
695 584 <!-- --商家团-- -->
696   - <!-- <view bindtap="openSpecModel_pt" data-it="0" wx:if="{{prom_st==1 && !prom_r_null && prom_act.kttype==1}}" class="buy-btn cart-btn line-h">
  585 + <view bindtap="openSpecModel_pt" data-it="0" wx:if="{{prom_st==1 && !prom_r_null && prom_act.kttype==1}}" class="buy-btn cart-btn line-h">
697 586 <view class="fir-v">¥{{prom_act.price}}</view>
698 587 <view>去参团</view>
699   - </view> -->
  588 + </view>
700 589 <!-- --会员团-- -->
701   - <!-- <view bindtap="openSpecModel_pt" data-it="0" wx:if="{{prom_st==1 && !prom_r_null && prom_act.kttype==2}}" class="buy-btn cart-btn line-h">
  590 + <view bindtap="openSpecModel_pt" data-it="0" wx:if="{{prom_st==1 && !prom_r_null && prom_act.kttype==2}}" class="buy-btn cart-btn line-h">
702 591  
703 592 <view class="pd_top1" wx:if="{{prom_act.tz_yhjgtype>1}}">
704 593 <view>一键开团</view>
... ... @@ -713,9 +602,9 @@
713 602 <view class="fir-v">¥{{ filters.toFix(prom_act.price,2)}}</view>
714 603 <view>一键开团</view>
715 604 </view>
716   - </view> -->
  605 + </view>
717 606 <!-- -阶梯团-- -->
718   - <!-- <view bindtap="openSpecModel_pt" data-it="0" wx:if="{{prom_st==1 && !prom_r_null && prom_act.kttype==3 && user_order_pt_state!=3 }}" class="buy-btn cart-btn line-h">
  607 + <view bindtap="openSpecModel_pt" data-it="0" wx:if="{{prom_st==1 && !prom_r_null && prom_act.kttype==3 && user_order_pt_state!=3 }}" class="buy-btn cart-btn line-h">
719 608 <view class="fir-v">¥{{filters.toFix(prom_act.yf_price,2)}}</view>
720 609 <view>支付定金</view>
721 610 </view>
... ... @@ -734,16 +623,7 @@
734 623 支付尾款
735 624 </view>
736 625 </block>
737   - </block> -->
738   -
739   -
740   - <!-- 从“我的服务”入口进入购买商品 -->
741   - <block wx:else>
742   - <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn f1">加入购物车</view>
743   - <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn f1">立即购买</view>
744 626 </block>
745   -
746   - </view>
747 627  
748 628 </view>
749 629  
... ... @@ -787,8 +667,12 @@
787 667 </block>
788 668 <view class="address-frame xc-ash">
789 669 <view class="flex-vertical-between butttem5">
790   - <view class="flex xc-ash">
791   - <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  670 + <view class="flex xc-ash" style="flex-shrink:0;max-width: 62%;" >
  671 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}
  672 + <block wx:if="{{tool.is_no_dis(sele_g.storageId,item.keyid)}}">
  673 + <text class="no_store">(配送不匹配)</text>
  674 + </block>
  675 + </view>
792 676 </view>
793 677 <view>
794 678 <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}">
... ... @@ -814,7 +698,11 @@
814 698 <view class="address-frame xc-ash">
815 699 <view class="flex-vertical-between ">
816 700 <view class="flex xc-ash">
817   - <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  701 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}
  702 + <block wx:if="{{tool.is_no_dis(sele_g.storageId,item.keyid)}}">
  703 + <text class="no_store">(配送不匹配)</text>
  704 + </block>
  705 + </view>
818 706 </view>
819 707 <view>
820 708 <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"}}
... ... @@ -842,7 +730,11 @@
842 730 <view class="address-frame xc-ash">
843 731 <view class="flex-vertical-between ">
844 732 <view class="flex xc-ash">
845   - <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view>
  733 + <view class="fs28 xc-black3 address_name">{{item.pickup_name}}
  734 + <block wx:if="{{tool.is_no_dis(sele_g.storageId,item.keyid)}}">
  735 + <text class="no_store">(配送不匹配)</text>
  736 + </block>
  737 + </view>
846 738 </view>
847 739 <view>
848 740 <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}">
... ... @@ -913,12 +805,6 @@
913 805 </view>
914 806 </view>
915 807  
916   -<!-- 弹起来,购买预热商品的普通购买 -->
917   -<view hidden="{{!openSpecModal_flash_normal}}">
918   - <include src="buy_flash_normal.wxml" />
919   -</view>
920   -
921   -
922 808 <!-- 联系客服操作菜单 -->
923 809 <view class="action {{!hiddenCS ? 'active':''}}" hidden="{{hiddenCS}}">
924 810 <view class="pd20 t-c pr">
... ... @@ -945,3 +831,11 @@
945 831 </view>
946 832  
947 833 <view class="mask2" bindtap="closeCS"></view>
  834 +
  835 +<!-- --弹起来,选择规格数量,拼单商品购买---- -->
  836 +<view hidden="{{!openSpecModal_pt}}">
  837 + <include src="buy_pt.wxml" />
  838 +</view>
  839 +
  840 +<!-- 分享控件,底部弹出 -->
  841 +<share id="share_button" bind:send="send" bind:cancel="cancel" bind:share_img="saveImageToPhotosAlbum" wx:if="{{share_hidden}}"></share>
... ...
packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxss
... ... @@ -361,20 +361,6 @@ image {
361 361  
362 362 }
363 363  
364   -.join-cart > view {
365   - /* width: 29%; */
366   -}
367   -
368   -.join-cart .new_split {
369   - /* width: 13%; */
370   - /* text-align: center; */
371   - /* padding: 20rpx; */
372   - /* box-sizing: border-box; */
373   - /* flex-shrink: 0; */
374   - /* padding: 0;
375   - margin: 0; */
376   -}
377   -
378 364 .cart-ico {
379 365 font-size: 24rpx;
380 366 color: #333;
... ... @@ -422,10 +408,7 @@ image {
422 408 .join-btn {
423 409 background-color: #ffb03f;
424 410 height: 70rpx;
425   -/* border-radius: 55rpx 0rpx 0rpx 55rpx;
426   -margin-top: 16rpx; */
427   -
428   -
  411 + border-radius: 55rpx 0rpx 0rpx 55rpx;
429 412 }
430 413  
431 414 view.cart-btn-lg {
... ... @@ -435,8 +418,7 @@ view.cart-btn-lg {
435 418 .buy-btn {
436 419 background-color: #f23030;
437 420 height: 70rpx;
438   -/* border-radius: 0 56rpx 55rpx 0; */
439   -
  421 + border-radius: 0 56rpx 55rpx 0;
440 422 }
441 423  
442 424 .buy-btn-all{
... ... @@ -868,7 +850,7 @@ left:31rpx;}
868 850 .juzhong .xq .hs1{font-size: 28rpx; color: #ab8f9e}
869 851 .juzhong .xq .title .close{position: absolute;top: 0; right: 0; width: 45rpx; height: 45rpx;}
870 852  
871   -.pt_qd{margin-top: 40rpx; height: auto;}
  853 +.pt_qd{margin: 40rpx 0; height: auto;}
872 854 .spec-cart-btn.w100{width: 95%; margin-left: 0; height: 75rpx; line-height:75rpx;margin: auto; }
873 855  
874 856 .sto_v{color: #333;}
... ... @@ -2575,7 +2557,7 @@ line-height: 38rpx;
2575 2557 }
2576 2558 /* 门店分类列表 */
2577 2559 .sort_store_list{
2578   - height: 82%;
  2560 + max-height: 700rpx;
2579 2561 overflow: hidden;
2580 2562 overflow-y: scroll;
2581 2563 width: 95%;
... ... @@ -2969,4 +2951,18 @@ button.custom-service::after{
2969 2951 top: -1000px;
2970 2952 }
2971 2953  
  2954 +.join-cart>view {
  2955 + width: 29%;
  2956 +}
  2957 +
  2958 +.join-cart>.new_split {
  2959 + width: 13%;
  2960 + text-align: center;
  2961 + padding: 0;
  2962 + margin: 0;
  2963 +}
  2964 +
  2965 +.shop_name.max{
  2966 + max-width:370rpx; flex-shrink: 0;
  2967 +}
2972 2968  
... ...
packageA/pages/serviceCard_pd/team_more/team_more.js 0 → 100644
  1 +var t = getApp(), a = t.request, o = t.globalData.setting, os = o,
  2 + i = require("../../../../utils/util.js"), ut = i, s = require("../../../../utils/common.js");
  3 +var regeneratorRuntime = require('../../../../utils/runtime.js');
  4 +
  5 +
  6 +Page({
  7 + data: {
  8 + ylburl: "https://mshopimg.yolipai.net/",//有礼派图片地址
  9 + pt_act: null,//拼单数据
  10 + baseUrl: "/api/weshop/teamgroup/page?1=1",
  11 + resourceUrl: t.globalData.setting.resourceUrl,
  12 + currentPage: 1,
  13 + requestData: null,
  14 + store_id: 1,
  15 + team_id:0,
  16 + requestUrl: "",
  17 + teamgroup:null,
  18 + },
  19 +
  20 + onLoad: function (t) {
  21 +
  22 + wx.setNavigationBarTitle({ title: "开团列表", })
  23 +
  24 + var th=this;
  25 + //初始化加載更多
  26 + th.data.requestData=new Array();
  27 + var team_id=t.team_id;
  28 + var teamlist=null;
  29 + th.data.team_id = team_id;
  30 +
  31 + //获取活动表的ct_num
  32 + getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + team_id, {
  33 + data: {}
  34 + }).then(res => {
  35 + if (res.data.code == 0) {
  36 + teamlist = res.data.data;
  37 + var jt_team_num=teamlist.ct_rylist;
  38 + if (jt_team_num != "" && jt_team_num != null && jt_team_num!= undefined) {
  39 + var team_num_arr = JSON.parse(jt_team_num);
  40 + var max_num = 0;
  41 + team_num_arr.forEach(function (val, ind) {
  42 + if (val.rynum > max_num) max_num = val.rynum;
  43 + })
  44 + teamlist.max_num = max_num;
  45 + }
  46 +
  47 + th.setData({ pt_act: teamlist });
  48 + th.init(team_id);
  49 + }
  50 + })
  51 + },
  52 +
  53 + //加载更多的函数
  54 + async init(team_id) {
  55 +
  56 + var teamgroup_arr = [];//活動从表
  57 + var teamgroup = null,//活動从表
  58 + user = null,
  59 + ee = this, th=ee,
  60 + pt_status = 1;//已支付
  61 +
  62 + var req_data={
  63 + store_id: os.stoid, pageSize:6,page:ee.data.currentPage,
  64 + state: 2, team_id: team_id,ordernum:1
  65 + }
  66 +
  67 + if(this.data.pt_act.kttype==3 && this.data.pt_act.max_num){
  68 + req_data.max_num=this.data.pt_act.max_num;
  69 + }
  70 +
  71 +
  72 + //获取活动从表信息team_id
  73 + await getApp().request.promiseGet("/api/weshop/teamgroup/page", {
  74 + data: req_data
  75 + }).then(res => {
  76 + if(ut.ajax_ok(res)){
  77 + teamgroup = res.data.data.pageData;
  78 + console.log(teamgroup);
  79 + ee.data.currentPage++;
  80 + }
  81 +
  82 + })
  83 +
  84 + //获取订单的总数这个接口不能用
  85 + for (i = 0; i < teamgroup.length; i++) {
  86 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/page", {
  87 + data: { store_id: os.stoid, pt_status: 1, pt_listno: teamgroup[i].listno }
  88 + }).then(res => {
  89 + if(ut.ajax_ok(res)){
  90 + var order = res.data.data.pageData;
  91 + teamgroup[i].open_num = order.length;
  92 + }
  93 + })
  94 +
  95 + if(!teamgroup[i].open_num) continue;
  96 +
  97 + await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + teamgroup[i].openvipid, {
  98 + }).then(res => {
  99 + var user = res.data.data;
  100 + teamgroup[i].user = user;
  101 + })
  102 +
  103 + teamgroup_arr.push(teamgroup[i]);
  104 + }
  105 + // //设置值
  106 + // for(var ii=0;ii<teamgroup.length;ii++){
  107 + // th.data.requestData.push(teamgroup[ii]);
  108 + // }
  109 + if(teamgroup_arr.length){
  110 + th.setData({ teamgroup: teamgroup_arr});
  111 + ee.countDown2();
  112 + }
  113 + },
  114 + //滚动到底部
  115 + onReachBottom: function () {
  116 + this.init(th.data.team_id);
  117 + },
  118 +
  119 + resetData: function () {
  120 + n.resetConfig(), this.data.teamgroup = null, this.data.currentPage = 1;
  121 + },
  122 +
  123 + //---小于10的格式化函数----
  124 + timeFormat(param) {
  125 + return param < 10 ? '0' + param : param;
  126 + },
  127 +
  128 + //----拼单倒计时函数-----
  129 + countDown2() {
  130 + var th = this;
  131 + // 获取当前时间,同时得到活动结束时间数组
  132 + var newTime = ut.gettimestamp();
  133 + var List = this.data.teamgroup;
  134 + if(!List || List.length<=0) return false;
  135 +
  136 + for (var j = 0; j < List.length; j++) {
  137 + // 对结束时间进行处理渲染到页面
  138 + var endTime = List[j].kt_end_time;
  139 + let obj = null;
  140 + // 如果活动未结束,对时间进行处理
  141 + if (endTime - newTime > 0) {
  142 + let time = (endTime - newTime);
  143 + // 获取天、时、分、秒
  144 + let day = parseInt(time / (60 * 60 * 24));
  145 + let hou = parseInt(time % (60 * 60 * 24) / 3600);
  146 + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
  147 + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
  148 + obj = {
  149 + day: this.timeFormat(day),
  150 + hou: this.timeFormat(hou),
  151 + min: this.timeFormat(min),
  152 + sec: this.timeFormat(sec)
  153 + }
  154 + } else {
  155 + //活动已结束,全部设置为'00'
  156 + obj = {
  157 + day: '00',
  158 + hou: '00',
  159 + min: '00',
  160 + sec: '00'
  161 + }
  162 + }
  163 + var txt = "teamgroup[" + j + "].djs";
  164 + th.setData({
  165 + [txt]: obj
  166 + });
  167 + }
  168 +
  169 + setTimeout(th.countDown2, 1000);
  170 + },
  171 +
  172 + //--跳转到加载更多--
  173 + go_team_show:function (e) {
  174 +
  175 + var th=this;
  176 + var tid=e.currentTarget.dataset.tid;
  177 + var team_id=e.currentTarget.dataset.team_id;
  178 + var oo=getApp().globalData;
  179 +
  180 + getApp().request.get("/api/weshop/rechargeServicelist/page", {
  181 + data: {
  182 + prom_id: team_id,
  183 + user_id: oo.user_id,
  184 + store_id: os.stoid,
  185 + pageSize: 1,
  186 + page: 1
  187 + },
  188 + success: function(e) {
  189 + //--跳转到已经购买的情况--
  190 + if (e.data.code == 0 && e.data.data.pageData.length > 0) {
  191 + var odr = e.data.data.pageData[0];
  192 + //还未支付
  193 + if (odr.pt_status == 0 && odr.order_status == 1) {
  194 + wx.navigateTo({
  195 + url: "/packageA/pages/details_serviceCard/details_serviceCard/details_serviceCard?order_id=" + odr.order_id,
  196 + });
  197 + }else if (odr.pt_status == 1 && odr.order_status == 1){
  198 + wx.navigateTo({
  199 + url: "/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + odr.order_sn,
  200 + });
  201 + }
  202 + }
  203 + //--跳转到参团--
  204 + else if(e.data.code == 0){
  205 + wx.navigateTo({
  206 + url: "/packageA/pages/serviceCard_pd/team_show/team_show?tg_id="+tid+"&goods_id="+th.data.pt_act.goods_id,
  207 + });
  208 + }
  209 +
  210 + }
  211 + });
  212 +
  213 + }
  214 +
  215 +})
0 216 \ No newline at end of file
... ...
packageA/pages/serviceCard_pd/team_more/team_more.json 0 → 100644
  1 +{
  2 + "usingComponents": {}
  3 +}
0 4 \ No newline at end of file
... ...
packageA/pages/serviceCard_pd/team_more/team_more.wxml 0 → 100644
  1 +<!--//选项框-->
  2 +<block wx:for="{{teamgroup}}">
  3 +<view class='group' wx:if="{{item.open_num>0}}">
  4 + <view class='group-list' bindtap="go_team_show" data-tid="{{item.id}}" data-team_id="{{item.team_id}}" >
  5 + <!--//选项框头像-->
  6 + <view class='gtou' >
  7 + <image src='{{item.user.head_pic}}'></image>
  8 + </view>
  9 + <!--//等你来拼-->
  10 + <view class='gdn'>等你来拼 (^_^)</view>
  11 + <!--//还差几人,剩余时间-->
  12 + <view class='ghaicha'>
  13 + <text class='gred' wx:if="{{pt_act.max_num}}">
  14 + <text wx:if="prom_act.max_num - item.open_num>0">还差{{pt_act.max_num - item.open_num}}人享最低优惠</text>
  15 + <text wx:else>您已经享最低优惠</text>
  16 + </text>
  17 + <text class='gred' wx:else>还差{{pt_act.ct_num - item.open_num}}人成团</text>
  18 + <view>
  19 + <view class="time_show_view">
  20 + 剩余
  21 + <text wx:if="{{item.djs.day}}">{{item.djs.day}}天:</text>
  22 + <text>{{item.djs.hou}}</text>:
  23 + <text>{{item.djs.min}}</text>:
  24 + <text>{{item.djs.sec}}</text>结束
  25 + </view>
  26 + </view>
  27 +
  28 + </view>
  29 + <!--//参加团-->
  30 + <view class='cjt'>
  31 + <navigator>去参团 ></navigator>
  32 + </view>
  33 + <view class="clear"></view>
  34 + </view>
  35 +</view>
  36 +</block>
0 37 \ No newline at end of file
... ...
packageA/pages/serviceCard_pd/team_more/team_more.wxss 0 → 100644
  1 +/* pages/team/team_more/team_more.wxss */
  2 +
  3 +/* pages/team/test.wxss */
  4 +
  5 +page {
  6 + background-color: white;
  7 +}
  8 +
  9 +.top {
  10 + background-color: white;
  11 + width: 100%;
  12 + height: 100rpx;
  13 + font-size: 32rpx;
  14 + border-bottom: 2rpx #e5e5e5 solid;
  15 + padding-left: 4rpx;
  16 + padding-right: 4rpx;
  17 +}
  18 +
  19 +.group {
  20 + width: 100%;
  21 + margin-top: 20rpx;
  22 + min-height: 108rpx;
  23 +}
  24 +
  25 +.group .group-list {
  26 + border: 1rpx #f48886 solid;
  27 + border-radius: 200rpx;
  28 + height: 90rpx;
  29 + width: 720rpx;
  30 + margin-left: 15rpx;
  31 + overflow: hidden;
  32 + display: flex;
  33 + position: relative;
  34 +}
  35 +
  36 +.group .group-list .gtou {
  37 + width: 80rpx;
  38 + height: 80rpx;
  39 + top: 6rpx;
  40 +}
  41 +
  42 +.group .group-list .gtou image {
  43 + width: 80rpx;
  44 + height: 80rpx;
  45 + border-radius: 200rpx;
  46 + background-color: green;
  47 +}
  48 +
  49 +.group .group-list .gdn {
  50 + font-size: 24rpx;
  51 + line-height: 48rpx;
  52 + height: 48rpx;
  53 + width: 168rpx;
  54 + color: #8f8f94;
  55 + margin-left: 15rpx;
  56 +}
  57 +
  58 +.group .group-list .ghaicha {
  59 + text-align: right;
  60 + width: 320rpx;
  61 + height: 96rpx;
  62 + font-size: 24rpx;
  63 + overflow: hidden;
  64 +}
  65 +
  66 +.group .group-list .ghaicha .gred {
  67 + height: 48rpx;
  68 + line-height: 48rpx;
  69 + color: red;
  70 + width: 300rpx;
  71 +}
  72 +
  73 +
  74 +.group .group-list .cjt {
  75 + height: 86rpx;
  76 + width: 120rpx;
  77 + position: absolute;
  78 + right: 0;
  79 + top: 0;
  80 + border-radius: 0 100rpx 100rpx 0;
  81 + line-height: 86rpx;
  82 + font-size: 24rpx;
  83 + color: #fff;
  84 + border: 2rpx solid #dd524d;
  85 + background-color: #dd524d;
  86 +}
  87 +
  88 +.gbody {
  89 + background-color: white;
  90 +}
  91 +.time_show_view{ height: 40rpx; line-height: 40rpx; color: #8f8f94; }
... ...
packageA/pages/serviceCard_pd/team_show/team_show.js
1   -var t = require("../../../../utils/util.js"),
2   - ut = t,
3   - e = require("../../../../utils/common.js"),
4   - a = require("../../../../utils/wxParse/wxParse.js"),
  1 +var ut = require("../../../../utils/util.js"),
5 2 s = getApp(),
6 3 i = s.request,
7   - rq = i,
8 4 oo = s.globalData,
9 5 o = s.globalData.setting,
10 6 os = o;
... ... @@ -95,15 +91,13 @@ Page({
95 91 },
96 92 onLoad: function(options) {
97 93 wx.setNavigationBarTitle({ title: "拼团订单",})
98   - //var postdata=getApp().globalData.to_group;
  94 +
99 95 var postdata=options;
100 96 var tg_id = postdata.tg_id, first_leader=options.first_leader,goods_id=options.goods_id;
101 97 //如果tg_id是空的话
102 98 if(tg_id==null ||goods_id==null){
103 99 var tg_id_str=decodeURIComponent(postdata.scene);
104 100 tg_id_str=tg_id_str.split("_");
105   - console.log(tg_id_str.length);
106   - //tg_id_str[0] teamgroup.id tg_id_str[1] user_id tg_id_str[2] goods_id
107 101 switch(tg_id_str.length){
108 102 case 1:
109 103 tg_id=tg_id_str[0];
... ... @@ -126,6 +120,7 @@ Page({
126 120 getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+os.stoid+"/"+first_leader,{}).then(res=>{
127 121 if(res.data.code==0){
128 122 getApp().globalData.guide_id=res.data.data.id;
  123 + getApp().globalData.guide_pick_id= res.data.data.pickup_id
129 124 }
130 125 })
131 126 }
... ... @@ -134,9 +129,12 @@ Page({
134 129  
135 130 var th=this;
136 131 getApp().getConfig2(function(e) {
137   - th.setData({ bconfig: e,});
  132 +
  133 + var json_d = JSON.parse(e.switch_list);
  134 + th.setData({ bconfig: e,sys_switch:json_d});
138 135 th.wait_for_store_config(); //获取默认的门店
139 136 })
  137 +
140 138  
141 139 },
142 140  
... ... @@ -293,37 +291,28 @@ Page({
293 291 var gd=this.data.goods;
294 292 var th=this;
295 293 var user_id=getApp().globalData.user_id;
296   - var promgoodsbuynum=0;
  294 + var promcardbuynum=0;
297 295 var goodsbuynum=0;
298   - getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  296 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
299 297 data: {
300 298 store_id: os.stoid,
301 299 user_id: user_id,
302   - goods_id: gd.goods_id,
303   - prom_type: gd.prom_type,
304   - prom_id: gd.prom_id,
  300 + card_id: gd.id,
  301 + prom_type: 6,
  302 + prom_id: gd.prom_id,
305 303 isnew:1
306 304 },
307 305 }).then(res=>{
308 306 var buy_num_data=res.data.data;
309   - if(buy_num_data.promgoodsbuynum) promgoodsbuynum=buy_num_data.promgoodsbuynum;
310   - goodsbuynum=buy_num_data.goodsbuynum;
  307 + if(buy_num_data.promcardbuynum) promcardbuynum=buy_num_data.promcardbuynum;
  308 + goodsbuynum=buy_num_data.cardbuynum;
311 309 })
312 310  
313   - //先判断限购
314   - if (num+goodsbuynum>gd.viplimited && gd.viplimited>0) {
315   - getApp().confirmBox("超出商品限购");
316   - return false;
317   - }
318   - if (num+promgoodsbuynum>th.data.teamlist.buy_limit && th.data.teamlist.buy_limit>0) {
  311 + if (num+promcardbuynum>th.data.teamlist.buy_limit && th.data.teamlist.buy_limit>0) {
319 312 getApp().confirmBox("超出活动限购");
320 313 return false;
321 314 }
322   - //判断库存
323   - if ( num>gd.store_count) {
324   - getApp().confirmBox("超出商品库存");
325   - return false;
326   - }
  315 +
327 316 var r_num=0;
328 317 await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + th.data.teamlist.id, {
329 318 1: 1
... ... @@ -344,6 +333,8 @@ Page({
344 333 minusStatus: minusStatus,
345 334 })
346 335  
  336 + return true;
  337 +
347 338 },
348 339  
349 340 /*输入框事件*/
... ... @@ -370,22 +361,22 @@ Page({
370 361 min_price = 0,
371 362 th=this,
372 363 that=th,
373   - flag=null;
  364 + flag=null,
  365 + odr=null;
374 366 await getApp().request.promiseGet("/api/weshop/teamlist/pageteam/2",{
375 367 data:{
376 368 store_id: os.stoid,
377 369 is_end: 0,
378 370 is_show: 1,
379 371 user_id: getApp().globalData.user_id,
380   - pageSize:1000
  372 + pageSize:1000,
  373 + goods_id:th.data.goods_id
381 374 }
382 375 }).then(res=>{
383 376 let pd_list=res.data.data.pageData;
384 377 if(res.data.code==0 && pd_list.length>0){
385   - flag =pd_list.some(pd=>{
386   - // if(th.data.goods_id){
387   - return pd.goods_id==th.data.goods_id;
388   - // }
  378 + flag =pd_list.find(pd=>{
  379 + return pd.goods_type==1;
389 380 })
390 381 }
391 382 })
... ... @@ -435,9 +426,10 @@ Page({
435 426 var is_ok=1;
436 427  
437 428 //要先读取订单,看自己有没有买过该团的商品
438   - await getApp().request.promiseGet("/api/weshop/order/page", {
  429 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/page", {
439 430 data: {
440   - pt_prom_id:teamgroup.team_id,
  431 + prom_id:teamgroup.team_id,
  432 + prom_type:6,
441 433 user_id: oo.user_id,
442 434 store_id: os.stoid,
443 435 pageSize: 1,
... ... @@ -453,18 +445,15 @@ Page({
453 445 }
454 446 //--跳转到已经购买的情况--
455 447 if (e.data.data.pageData.length > 0) {
456   - var odr = e.data.data.pageData[0];
  448 + odr = e.data.data.pageData[0];
457 449 //还未支付
458 450 if (odr.pt_status == 0 && odr.order_status == 1) {
459   - wx.navigateTo({
460   - url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id,
461   - });
462   - is_ok=0;
  451 +
  452 + getApp().goto("/packageA/pages/details_serviceCard/details_serviceCard?order_id=" + odr.order_id)
  453 + is_ok=0;
463 454 }else if (odr.pt_status == 1 && odr.order_status == 1){
464   - wx.navigateTo({
465   - url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn,
466   - });
467   - is_ok=0;
  455 + getApp().goto( "/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + odr.order_sn);
  456 + is_ok=0;
468 457 }
469 458 }
470 459 })
... ... @@ -512,7 +501,7 @@ Page({
512 501 }
513 502  
514 503 //多少人参团头像
515   - await getApp().request.promiseGet("/api/weshop/order/pagePtList", {
  504 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/pagePtList", {
516 505 data: {
517 506 store_id: o.stoid,
518 507 pt_listno: teamgroup.listno,
... ... @@ -522,37 +511,31 @@ Page({
522 511 })
523 512  
524 513 //获取商品信息
525   - await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, {
  514 + await getApp().request.promiseGet("/api/weshop/serviceCard/get/" + os.stoid + "/" + goods_id, {
526 515 }).then(res => {
527   - //商品地址
528   - original_img = ee.data.imageurl + res.data.data.original_img,
529   - goods = res.data.data
  516 + //商品地址
  517 + original_img = ee.data.imageurl + res.data.data.original_img,
  518 + goods = res.data.data
530 519 })
531   -
532   - //显示商品规格
533   - var gg = "";
534   - if(goods.goods_spec=="null" || goods.goods_spec==null ) goods.goods_spec="";
535   - if(goods.goods_color=="null" || goods.goods_color==null) goods.goods_color="";
536   -
537   - if (goods.goods_spec != "" && goods.goods_color != "") {
538   - gg = goods.goods_spec + "/" + goods.goods_color;
539   - } else if (goods.goods_spec != "" || goods.goods_color != "") {
540   - gg = goods.goods_spec + goods.goods_color;
541   - } else {
542   - gg = "规格1";
543   - }
544   - goods.gg = gg;
545   -
  520 +
  521 + if(!goods){
  522 + getApp().showWarning("拼单活动商品未找到");
  523 + th.go_back();
  524 + return false;
  525 + }
  526 + goods.prom_id=teamgroup.team_id;
  527 +
  528 +
546 529 //只装5个
547 530 var ordertx2 = [], sf_num = 0, ct_nun = teamlist.ct_num;
548 531 if (max_num) {
549 532 ct_nun = parseInt(max_num);
550   - if (ct_nun < ordertx.length) ct_nun = ordertx.length;
  533 + if (ordertx && ct_nun < ordertx.length) ct_nun = ordertx.length;
551 534 }
552 535  
553 536 if (ct_nun > 5) ct_nun = 5;
554 537 for (var i = 0; i < ct_nun; i++) {
555   - if (i >= ordertx.length) sf_num++
  538 + if (!ordertx || i >= ordertx.length) sf_num++
556 539 else
557 540 ordertx2.push(ordertx[i]);
558 541 }
... ... @@ -561,14 +544,18 @@ Page({
561 544 for (var i = 0; i < sf_num; i++) {
562 545 sf_arr.push(i);
563 546 }
564   -
565   -
566   -
  547 +
  548 + //-- 团期已满的优化 --
567 549 if(th.data.is_group_end==1 || th.data.is_group_end==2 ){
568   - getApp().confirmBox(th.data.end_text);
569   - wx.redirectTo({
570   - url: "/pages/goods/goodsInfo/goodsInfo?goods_id=" + goods.goods_id,
  550 + //getApp().confirmBox(th.data.end_text);
  551 + wx.showToast({
  552 + title: th.data.end_text,
  553 + icon: 'none'
571 554 });
  555 + setTimeout(()=>{
  556 + getApp().goto("/pages/index/index/index"); //返回首页
  557 + },2000)
  558 +
572 559 return false;
573 560 }
574 561  
... ... @@ -611,22 +598,21 @@ Page({
611 598 th.data.fir_def_store={}; //赋值空对象
612 599 return false;
613 600 }
  601 +
  602 + if(getApp().globalData.is_dj_pk) th.setData({has_def:1})
614 603 //--定时器推迟一下--
615 604 setTimeout(function () {
616 605 if(!th.data.goods) return false;
617 606 var g_distr_type=th.data.goods.distr_type;
618 607 //--如果默认门店的配送方式不对,就不能被选择--
619   - if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){
620   - //th.data.fir_def_store={}; //赋值空对象
621   - //return false;
622   - ee.is_no_dis=1;
623   - }
  608 + // if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){
  609 + // ee.is_no_dis=1;
  610 + // }
624 611  
625 612 var appd=getApp().globalData;
626 613 var w_time = setInterval(function() {
627 614 if (that.data.is_get_local_ok == 0) return false;
628 615 clearInterval(w_time);
629   - var distance = null;
630 616 var e=JSON.parse(JSON.stringify(ee));
631 617  
632 618 //如果有开启近距离的话,同时距离优不一样了
... ... @@ -710,9 +696,8 @@ Page({
710 696 if(getCurrentPages()>1)
711 697 wx.navigateBack({delta: 1})
712 698 else
713   - wx.navigateTo({
714   - url: "/pages/index/index/index"
715   - });
  699 + getApp().goto("/pages/index/index/index");
  700 +
716 701 },
717 702 //---小于10的格式化函数----
718 703 timeFormat(param) {
... ... @@ -757,7 +742,7 @@ Page({
757 742 },
758 743  
759 744 //------去支付,购买-------
760   - go_pay:function () {
  745 + go_pay:async function () {
761 746 var th=this;
762 747 var def_pick_store=this.data.def_pick_store;
763 748 if(def_pick_store && def_pick_store.pickup_id) {
... ... @@ -773,6 +758,14 @@ Page({
773 758 getApp().confirmBox("拼团商品至少要买"+qnum+"件!");
774 759 return false;
775 760 }
  761 +
  762 +
  763 + var minusStatus = th.data.num > 1 ? 'normal' : 'disable';
  764 + //判断限购
  765 + var f=await this.check_num(th.data.num,minusStatus);
  766 + if(!f) return false;
  767 +
  768 +
776 769 //先判断团的redis数量
777 770 this.buy_check_redis(function () {
778 771 var arr=th.data.redis_arr;
... ... @@ -789,15 +782,18 @@ Page({
789 782 return false;
790 783 }
791 784  
  785 +
  786 +
792 787 //--------------此时操作的数据------------
793 788 var newd = {
794   - goods_id: th.data.goods.goods_id,
  789 + id: th.data.goods.id,
795 790 goods_num: th.data.num,
796 791 pick_id: th.data.pick_id,
  792 + keyid: th.data.def_pick_store.keyid,
797 793 user_id: oo.user_id,
798   - store_id: th.data.stoid,
799   - goods_name: th.data.goods.goods_name,
800   - goods_sn: th.data.goods.goods_sn,
  794 + store_id: os.stoid,
  795 + goods_name: th.data.goods.service_name,
  796 + goods_sn: th.data.goods.service_sn,
801 797 };
802 798  
803 799 //---是不是从收藏夹出来的---
... ... @@ -845,8 +841,8 @@ Page({
845 841 }
846 842  
847 843 s.set_b_now(newd);
848   - wx.navigateTo({
849   - url: "/pages/cart/cart2_pt/cart2_pt?is_bnow=1&goods_id=" + th.data.goods.goods_id,
  844 + wx.redirectTo({
  845 + url: "/packageA/pages/serviceCard_pd/cart/cart?is_bnow=1&goods_id=" + th.data.goods.card_id,
850 846 });
851 847 });
852 848 },
... ... @@ -940,11 +936,16 @@ Page({
940 936 })
941 937 },
942 938  
943   - go_goodsinfo:function (e) {
944   - var gid=e.currentTarget.dataset.gid;
945   - var url="/pages/goods/goodsInfo/goodsInfo?goods_id="+gid;
946   - wx.navigateTo({ url: url, }) //跳到非tabbar页
947   - },
  939 + go_goodsinfo:function (e) {
  940 + var index=e.currentTarget.dataset.index;
  941 + var item=this.data.pageteam[index];
  942 + var gid=item.goods_id;
  943 + var url="/pages/goods/goodsInfo/goodsInfo?goods_id="+gid+"&prom_id="+item.id+"&prom_type=6";
  944 + if(item.goods_type==1){
  945 + url="/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id="+gid+"&prom_id="+item.id+"&prom_type=6";
  946 + }
  947 + getApp().goto(url); //跳到非tabbar页
  948 + },
948 949  
949 950 gohome:function(){
950 951 getApp().goto("/pages/index/index/index");
... ... @@ -960,7 +961,7 @@ Page({
960 961  
961 962 //------ 分享配置 --------
962 963 onShareAppMessage: function (e) {
963   - getApp().globalData.no_clear=1;
  964 + getApp().globalData.no_clear=1;
964 965 var curPage=this;
965 966 var pagePath = curPage.route; //当前页面url
966 967 if (pagePath.indexOf('/') != 0) {
... ... @@ -969,7 +970,7 @@ Page({
969 970 var url=pagePath;
970 971  
971 972 //--分享图片--
972   - img=th.data.iurl+th.data.teamlist.share_imgurl;
  973 + var img=this.data.iurl+this.data.teamlist.share_imgurl;
973 974 //--把会员分享出去--
974 975 if(getApp().globalData.user_id){
975 976 if(url.indexOf("?")>0)
... ... @@ -978,16 +979,22 @@ Page({
978 979 url+="?first_leader="+getApp().globalData.user_id;
979 980 }
980 981  
  982 + if(url.indexOf('goods_id')==-1){
  983 + url+="&goods_id="+this.data.goods.id;
  984 + }
  985 +
  986 + if(url.indexOf('tg_id')==-1){
  987 + url+="&tg_id="+this.data.teamgroup.id;
  988 + }
  989 +
981 990 return {
982 991 path:url,
983   - title: "商品分类",
  992 + title: "拼团",
984 993 imageUrl: img,
985 994 }
986 995 },
987 996  
988   -
989   -
990   -
  997 +
991 998  
992 999 closeSpecModal: function() {
993 1000 this.setData({
... ... @@ -1005,9 +1012,25 @@ Page({
1005 1012  
1006 1013 //-- 选择门店。此时的门店选择与门店有关系 --
1007 1014 choice_store: function(ee) {
  1015 +
  1016 + //--先判断会员状态--
  1017 + var user_info = getApp().globalData.userInfo;
  1018 + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
  1019 + wx.navigateTo({
  1020 + url: '/packageE/pages/togoin/togoin',
  1021 + })
  1022 + return false;
  1023 + }
  1024 +
1008 1025  
1009 1026 var th = this;
1010   - var bconfig = th.data.bconfig;
  1027 + var bconfig = th.data.bconfig;
  1028 +
  1029 + //如果开启了,则不在选择门店
  1030 + if(this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store){
  1031 + return false;
  1032 + }
  1033 +
1011 1034 if(!th.data.only_pk && !th.data.def_pickpu_list){
1012 1035 getApp().confirmBox("门店库存不足", null, 25000, !1);
1013 1036 return false;
... ... @@ -1020,6 +1043,9 @@ Page({
1020 1043 getApp().confirmBox("门店库存不足", null, 25000, !1);
1021 1044 return false;
1022 1045 }
  1046 +
  1047 +
  1048 +
1023 1049  
1024 1050 if ( bconfig && bconfig.is_sort_storage) {
1025 1051 wx.getLocation({
... ... @@ -1127,25 +1153,13 @@ Page({
1127 1153 var timer_get = setInterval(function() {
1128 1154 if (th.data.is_get_local_ok == 0) return false;
1129 1155 if (!th.data.goods) return false;
1130   - var dd = null,
1131   - i = getApp().request;
  1156 + var dd = null, i = getApp().request;
1132 1157 var g_distr_type = th.data.goods.distr_type;
1133   - if (g_distr_type != 0) {
1134   - dd = {
1135   - store_id: o.stoid,
1136   - distr_type: g_distr_type,
1137   - isstop: 0,
1138   - is_pos: 1,
1139   - pageSize: 2000
1140   - }
1141   - } else {
  1158 +
1142 1159 dd = {
1143   - store_id: o.stoid,
1144   - isstop: 0,
1145   - is_pos: 1,
1146   - pageSize: 2000
  1160 + store_id: o.stoid,isstop: 0,is_pos: 1, pageSize: 2000
1147 1161 }
1148   - }
  1162 +
1149 1163 //如果有距离的话
1150 1164 if (th.data.lat != null) {
1151 1165 dd.lat = th.data.lat;
... ... @@ -1439,7 +1453,7 @@ Page({
1439 1453 if (th.data.is_show_sto_cat == 1) {
1440 1454 item = th.data.def_pickpu_list[index];
1441 1455 } else {
1442   - item = th.data.only_pk[index]; //当没有门店分类的时候
  1456 + item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候
1443 1457 }
1444 1458  
1445 1459 } else {
... ... @@ -1481,12 +1495,14 @@ Page({
1481 1495 if (th.data.is_show_sto_cat == 1) {
1482 1496 item = th.data.def_pickpu_list[index];
1483 1497 } else {
1484   - item = th.data.only_pk[index]; //当没有门店分类的时候
  1498 + item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候
1485 1499 }
1486 1500 } else {
1487 1501 var index = th.data.sec_pick_index;
1488 1502 item = th.data.sec_sto.s_arr[index];
1489 1503 }
  1504 +
  1505 + if(!item) return false;
1490 1506  
1491 1507  
1492 1508 var store_id = o.stoid;
... ... @@ -1544,6 +1560,12 @@ Page({
1544 1560 })
1545 1561  
1546 1562 },
  1563 +
  1564 +
  1565 + go_to:function (e) {
  1566 + var url=e.currentTarget.dataset.url;
  1567 + getApp().goto(url);
  1568 + }
1547 1569  
1548 1570  
1549 1571  
... ...
packageA/pages/serviceCard_pd/team_show/team_show.wxml
... ... @@ -3,7 +3,7 @@
3 3 <view wx:if="{{is_show}}">
4 4  
5 5 <!--图片区域-->
6   - <view class='center'>
  6 + <view class='center' bindtap="go_to" data-url="/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id={{goods_id}}&prom_type=6&prom_id={{teamlist.id}}">
7 7 <view class='cenleft'>
8 8 <image src='{{image}}' binderror='bind_bnerr' data-errorimg='image'></image>
9 9 </view>
... ... @@ -11,7 +11,7 @@
11 11 <view class='cenrt'>
12 12  
13 13 <view class='xc-goods-details ellipsis-2 fs28'>
14   - <span>{{goods.goods_name}}</span>
  14 + <span>{{goods.serviceName}}</span>
15 15 </view>
16 16 </view>
17 17 <view class='cenrcen flex-vertical-between'>
... ... @@ -19,7 +19,7 @@
19 19 <view class="fs40 xc-wc" style='font-size:40rpx'>
20 20 <span class="fs28" style="font-weight:500;">¥</span>{{teamlist.price}}</view>
21 21 <view class="fs22 word-line xc-wc">
22   - 零售价¥{{goods.market_price}}
  22 + 零售价¥{{goods.show_price}}
23 23 </view>
24 24 </view>
25 25 <view class="xc-wc fs24">
... ... @@ -153,11 +153,7 @@
153 153 </view>
154 154 </view>
155 155 </view>
156   - <!----//拼团玩法---->
157   - <!-- <view class='pintuan' bindtap="cpd">
158   - <view class='pintuanzhou'>拼团玩法</view>
159   - <view class='pintuanyou'>开团/参团>邀请参团>人满成团</view>
160   - </view> -->
  156 +
161 157 <!--大家都在团-->
162 158 <view class='goodslist'>
163 159 <view class='goodslisttop'>
... ... @@ -165,7 +161,7 @@
165 161 <view class='goodslisttopright'></view>
166 162 </view>
167 163 <view class="changxin">
168   - <view class='onegoods' wx:for='{{pageteam}}' wx:key="{{index}}" bindtap="go_goodsinfo" data-gid="{{item.goods_id}}">
  164 + <view class='onegoods' wx:for='{{pageteam}}' wx:key="{{index}}" bindtap="go_goodsinfo" data-index="{{index}}">
169 165 <view class='onegoodsimg'>
170 166 <image src="{{imageurl+item.share_imgurl}}"></image>
171 167 </view>
... ... @@ -187,9 +183,6 @@
187 183 <view class="pop_up" wx:if="{{yijian}}">
188 184 <view>
189 185  
190   - <!----弹起来,选择规格数量,拼单商品购买------>
191   - <!-- <view> -->
192   - <!-- <view hidden="{{!openSpecModal_pt}}"> -->
193 186 <view bindtap="closeSpecModal" class="cover-layer"></view>
194 187 <view class="spec-model">
195 188 <view class="pding">
... ... @@ -198,7 +191,7 @@
198 191 <view class="spec-goods">
199 192 <image class="wh100 spec-img xc-distance-bottom" src="{{image}}" binderror="pop_err_img" data-errorimg="data.original_img"></image>
200 193 <view class="spec-goods-info">
201   - <view class="spec-goods-name ellipsis-1">{{goods.goods_name}}商品名称</view>
  194 + <view class="spec-goods-name ellipsis-1">{{goods.serviceName}}</view>
202 195 <view class="flex ai_end xc-val-money">
203 196 <view class="spec-goods-price">
204 197 <span class='t1'>¥</span><text class='t2'>{{teamlist.kttype==3?teamlist.yf_price:teamlist.price}}</text>
... ... @@ -229,7 +222,7 @@
229 222 <view class="fs28 xc-ash-9f">选择门店</view>
230 223 </view>
231 224  
232   - <view class="red-co fs28" bindtap="choice_store">更多门店<text class="right-arrow"></text></view>
  225 + <view hidden="{{has_def && sys_switch.is_pricing_open_store}}" class="red-co fs28" bindtap="choice_store">更多门店<text class="right-arrow"></text></view>
233 226  
234 227  
235 228 </view>
... ... @@ -237,17 +230,6 @@
237 230 <view class="fs24 xc-ash-9f xc-distance-top " wx:elif="{{def_pick_store && def_pick_store.fulladdress}}">地址:{{def_pick_store.fulladdress}}</view>
238 231  
239 232 </view>
240   - <!-- 商品的属性项目 -->
241   - <view>
242   - <view hidden="{{ismend==1}}" class="spec-name">商品规格</view>
243   - <block>
244   - <view hidden="{{ismend==1}}" class="flex">
245   - <view class="spec_bt act" >{{goods.gg}}
246   - </view>
247   - </view>
248   - </block>
249   - <view class="clear"></view>
250   - </view>
251 233  
252 234 <view>
253 235 <view class="b_num" hidden="{{ismend==1}}" style="margin-top: 20rpx">
... ... @@ -260,7 +242,6 @@
260 242 </view>
261 243 </view>
262 244  
263   - <!-- <view class="clear"></view> -->
264 245  
265 246 </view>
266 247 </view>
... ... @@ -271,7 +252,6 @@
271 252 </view>
272 253  
273 254 </view>
274   - <!-- </view> -->
275 255  
276 256 </view>
277 257 </view>
... ... @@ -416,83 +396,6 @@
416 396 </view>
417 397 </block>
418 398  
419   -
420   -
421   -
422   -
423   -
424   -<!-- <view class='buy-option'> -->
425   -<!--头部图片-->
426   -<!-- <view class='buy-top'>
427   - <view class='buy-image mimg'>
428   - <image src='{{image}}'></image>
429   - <view>
430   - <view>
431   - <span class='t1'>¥</span><text class='t2'>{{teamlist.kttype==3?teamlist.yf_price:teamlist.price}}</text>
432   - </view>
433   - <view class="ellipsis-2">
434   - {{goods.goods_name}}
435   - </view>
436   - </view>
437   -
438   - </view>
439   -
440   - <view class='buy-cou' bindtap='cbcou'>⊗</view>
441   - <view class='clear'></view>
442   - </view> -->
443   -
444   -<!--取货门店-->
445   -<!-- <view class='quhuo' wx:if="{{qh}}" bindtap='cqh'> -->
446   -<!--当ii==0请选择门店显示,ii==1最后名字显示-->
447   -<!-- <text>取货门店</text><view class='end_name' wx:if="{{ii==1 }}">({{end_name}})</view><view wx:if="{{ii==0 }}" class='ttxz'>(请选择门店)</view>
448   - </view> -->
449   -<!--选择门店-->
450   -<!-- <view class='xuanze1' wx:if="{{xz}}" bindtap='cxz'>
451   - <text decode='true'>&lt; 选择门店</text>
452   - </view>
453   - <view class='x-z'> -->
454   -<!--第一层-->
455   -<!-- <block wx:if="{{one}}">
456   - <view class="fir_view">
457   - <view>
458   - <view class='xuanze' bindtap='setchild' data-bindex='{{bindex}}' data-bname='{{item.name}}' wx:for-index="bindex" wx:for="{{ssl}}" wx:key>
459   - <text decode='true'>{{item.name}}</text>
460   - </view>
461   - </view>
462   - </view>
463   - </block> -->
464   -<!--选择的-->
465   -<!-- <view class='xuanze1' wx:if="{{se}}" bindtap='sel'><text decode='true'>&lt;</text> {{sele_dl_name}}</view> -->
466   -<!--第二层list-->
467   -<!-- <block wx:if="{{list}}">
468   - <scroll-view scroll-y="true" style="max-height: 460rpx">
469   - <view class='xuanze' wx:for="{{ssl_child}}" wx:key bindtap='clist'
470   - data-pick_dis="{{item.distr_type}}"
471   - data-end='{{item.pickup_name}}' data-pick_id='{{item.pickup_id}}'>
472   - <text decode='true'>{{item.pickup_name}}</text>
473   - </view>
474   - </scroll-view>
475   - </block>
476   - </view> -->
477   -
478   -<!--数量-->
479   -<!-- <view class='buy-button' wx:if="{{qh}}">
480   - <text>数量</text>
481   - <view class='stepper sum'>
482   - <text class='{{minusStatus}}' type='number' bindtap='bindMinus' class="jiajian">-</text>
483   - <input bindinput='bindManual' value='{{num}}'></input>
484   - <text bindtap='bindPlus' class="jiajian">+</text>
485   - </view>
486   - <view class='clear'></view>
487   - </view> -->
488   -
489   -<!-- <view class="clear"></view>
490   - </view> -->
491   -<!--支付-->
492   -<!-- <view class='btn' bindtap="go_pay">立即支付</view> -->
493   -<!-- </view>
494   -</view> -->
495   -
496 399 <!--mask吐司内容-->
497 400 <view class="toast_mask" wx:if="{{isShowToast}}"></view>
498 401  
... ...
packageA/pages/serviceCard_pd/team_success/team_success.js
... ... @@ -81,10 +81,20 @@ Page({
81 81 th.setData({poster:json_data})
82 82 }
83 83 }
84   - })
  84 + })
  85 +
  86 +
  87 + getApp().getConfig(function (e) {
  88 + th.setData({sto_sele_name_1: e.store_name})
  89 + })
  90 + getApp().getConfig2(function(e) {
  91 + var json_d = JSON.parse(e.switch_list);
  92 + th.setData({ bconfig: e,sys_switch:json_d});
  93 + })
  94 +
85 95 },
86 96 onShow:function () {
87   - getApp().check_can_share();
  97 + getApp().check_can_share(this);
88 98 },
89 99  
90 100 //关闭展开列表
... ... @@ -151,7 +161,7 @@ Page({
151 161 p_status=1;
152 162  
153 163 //--如果商家团的时候,这个要改---
154   - await getApp().request.promisePost("/api/weshop/order/pay/vipAutoTuan", {
  164 + await getApp().request.promisePost("/api/weshop/rechargeServicelist/vipAutoTuan", {
155 165 data: {orderSn:order_sn,storeId:os.stoid }
156 166 })
157 167  
... ... @@ -193,7 +203,8 @@ Page({
193 203 }).then(res => {
194 204 if(res.data.code==0){
195 205 teamlist=res.data.data;
196   - this.setData({
  206 + ee.data.prom_act=teamlist;
  207 + ee.setData({
197 208 teamlist:teamlist
198 209 });
199 210 var nt =ut.gettimestamp();
... ... @@ -208,6 +219,7 @@ Page({
208 219 if (teamlist.ct_rylist != "" && teamlist.ct_rylist != null && teamlist.ct_rylist != undefined){
209 220 var ct_rylist = JSON.parse(teamlist.ct_rylist);
210 221 var max=0; var pri=0;
  222 +
211 223 ct_rylist.forEach(function (val,ind) {
212 224 if(val.rynum>max){
213 225 max=val.rynum;
... ... @@ -216,6 +228,7 @@ Page({
216 228 })
217 229 max_num=max;
218 230 min_price=pri;
  231 +
219 232 }
220 233  
221 234 }
... ... @@ -227,8 +240,14 @@ Page({
227 240  
228 241 })
229 242  
  243 +
  244 + //因为主表没有pt_status这个字段
  245 + order.pt_status=service_list.pt_status;
  246 + order.is_zsorder=service_list.is_zsorder;
  247 +
230 248 //只装5个
231 249 var ordertx2=[],sf_num=0,ct_nun=teamlist.ct_num;
  250 +
232 251 if(max_num){
233 252 ct_nun=parseInt(max_num);
234 253 if (ordertx && ct_nun < ordertx.length) ct_nun = ordertx.length;
... ... @@ -241,10 +260,6 @@ Page({
241 260 ordertx2.push(ordertx[i]);
242 261 }
243 262  
244   - var sf_arr=[];
245   - for (var i=0;i<sf_num;i++){
246   - sf_arr.push(i);
247   - }
248 263  
249 264  
250 265 //获取活动从表信息team_id:305暂时
... ... @@ -258,18 +273,42 @@ Page({
258 273 }
259 274 })
260 275  
  276 + var head=[];
  277 + if(teamgroup.is_xuni_ct) {
  278 + head=teamgroup.xuni_head_id.split(",");
  279 + order.is_xuni_ct=1;
261 280  
262   - var ct_price = 0,
263   - num_0 = ordertx.length;
264   - if (teamlist.kttype == 3){
265   - var js_data = JSON.parse(teamlist.ct_rylist);
266   - js_data.forEach(function (val,ind) {
267   - if (num_0<=val.rynum && ct_price==0){
268   - ct_price=val.price;
269   - }
270   - })
271   - if(ct_price==0) ct_price=min_price;
272   - }
  281 + this.setData({head:head,});
  282 + }
  283 +
  284 +
  285 +
  286 + var sf_arr=[];
  287 + for (var i=0;i<sf_num;i++){
  288 +
  289 + if(teamgroup.is_xuni_ct){
  290 + sf_arr.push(head[i]);
  291 + }else {
  292 +
  293 + sf_arr.push(i);
  294 + }
  295 + }
  296 +
  297 + //获取团的价格
  298 + var ct_price = 0, num_0 = ordertx.length;
  299 + if (teamlist.kttype == 3 && teamlist.ct_rylist){
  300 +
  301 + var js_data = JSON.parse(teamlist.ct_rylist);
  302 + js_data.forEach(function (val,ind) {
  303 + if (num_0<=val.rynum && ct_price==0){
  304 + ct_price=val.price;
  305 + }
  306 + })
  307 + if(ct_price==0) ct_price=min_price;
  308 +
  309 + //-- 字符要改成json --
  310 + ee.data.prom_act.ct_rylist=js_data
  311 + }
273 312  
274 313 //获取大家都在团信息
275 314 getApp().request.promiseGet("/api/weshop/teamlist/pageteam/1?store_id="+ os.stoid +"&is_end=0&is_show=1" , {
... ... @@ -284,8 +323,7 @@ Page({
284 323  
285 324 //--当是成团的时候的操作--
286 325 if(order.pt_status==2 || order.pt_status==4 || order.pt_status==5){
287   - //设置值
288   -
  326 + //-- 设置值 --
289 327 ee.setData({
290 328 ordertx2: ordertx2, ordertx: ordertx, teamlist: teamlist, teamgroup: teamgroup, min_price: min_price,
291 329 order: order, share_img: share_img,max_num:max_num,
... ... @@ -344,7 +382,7 @@ Page({
344 382 if (o.status == 0) endTime = o.start_time;
345 383  
346 384 //看一下,是否要支付尾款
347   - if(o.team_type==3 && th.data.order.pt_status==2){
  385 + if(o.team_type==3 && th.data.goods.pt_status==2){
348 386 endTime = o.wk_end_time;
349 387 }
350 388  
... ... @@ -412,7 +450,7 @@ Page({
412 450  
413 451 //二微码
414 452 var path3 = os.url+ "/api/wx/open/app/user/getWeAppEwm/"+
415   - os.stoid+"?sceneValue="+scene+"&pageValue=pages/team/team_show/team_show";
  453 + os.stoid+"?sceneValue="+scene+"&pageValue=packageA/pages/serviceCard_pd/team_show/team_show";
416 454  
417 455 console.log(path3,6000);
418 456  
... ... @@ -437,225 +475,228 @@ Page({
437 475 var share_title=th.data.teamlist.share_title;
438 476 if(!share_title)
439 477 share_title=th.data.teamlist.title;
440   - context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
441   -
442   - //-- 是自定义海报的情况下 --
443   - if(th.data.poster && parseInt(th.data.poster.style)==2){
444   - //在线上分享人的情况下
445   - if(parseInt(th.data.poster.show_headpic)){
446   - //获取坐标
447   - var x=parseFloat(th.data.poster.head_x)*2;
448   - var y=parseFloat(th.data.poster.head_y)*2;
449   - var x1=(x+90) *unit;
450   - var y1=(y+50) *unit;
451   - //--昵称---
452   - context.setFontSize(24 * unit)
453   - context.setFillStyle("black")
454   - context.fillText(app.globalData.userInfo.nickname, x1, y1);
455   - var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit;
456   - //强烈推荐 改许程
457   - var tj_path = "../../../../images/share/q_tj.png";
458   - context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit);
459   - context.setFontSize(16 * unit)
460   - context.setLineJoin('round'); //交点设置成圆角
461   - context.setFillStyle("white")
462   - context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit);
463   - }
464   -
465   - }else{
466   - //--昵称---
467   - context.setFontSize(24 * unit)
468   - context.setFillStyle("black")
469   - context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit);
470   - var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;
471   - //强烈推荐
472   - var tj_path = "../../../../images/share/q_tj.png";
473   - context.drawImage(tj_path, 152 * unit + width, 54 * unit, 110 * unit, 30 * unit);
474   - context.setFontSize(18 * unit)
475   - context.setFillStyle("white")
476   - context.fillText('强烈推荐', 152 * unit + width + 20 * unit, 76 * unit);
477   - }
478   -
479 478  
480   - //---产品名称---
481   - context.setFontSize(21.3 * unit);
482   - context.setFillStyle("black");
  479 + var act_time='';
  480 + if (!th.data.share_b_img){ // 如果是普通商品,绘制新海报
  481 + th.drawPoster(context, unit, th.data.share_img_localpath, vpath, type);
  482 + } else {
483 483  
  484 + context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
  485 + //-- 是自定义海报的情况下 --
  486 + if (th.data.poster && parseInt(th.data.poster.style) == 2) {
  487 + //在线上分享人的情况下
  488 + if (parseInt(th.data.poster.show_headpic)) {
  489 + //获取坐标
  490 + var x = parseFloat(th.data.poster.head_x) * 2;
  491 + var y = parseFloat(th.data.poster.head_y) * 2;
  492 + var x1 = (x + 90) * unit;
  493 + var y1 = (y + 50) * unit;
  494 + //--昵称---
  495 + context.setFontSize(24 * unit)
  496 + context.setFillStyle("black")
  497 + context.fillText(app.globalData.userInfo.nickname, x1, y1);
  498 + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit;
  499 + //强烈推荐 改许程
  500 + var tj_path = "../../../../images/share/q_tj.png";
  501 + context.drawImage(tj_path, x1 + width, y1 - 22 * unit, 85 * unit, 30 * unit);
  502 + context.setFontSize(16 * unit)
  503 + context.setLineJoin('round'); //交点设置成圆角
  504 + context.setFillStyle("white")
  505 + context.fillText('强烈推荐', x1 + width + 8 * unit, y1 - 1 * unit);
  506 + }
  507 +
  508 + } else {
  509 + //--昵称---
  510 + context.setFontSize(24 * unit)
  511 + context.setFillStyle("black")
  512 + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit);
  513 + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;
  514 + //强烈推荐
  515 + var tj_path = "../../../../images/share/q_tj.png";
  516 + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 110 * unit, 30 * unit);
  517 + context.setFontSize(18 * unit)
  518 + context.setFillStyle("white")
  519 + context.fillText('强烈推荐', 152 * unit + width + 20 * unit, 76 * unit);
  520 + }
484 521  
485 522  
  523 + //---产品名称---
  524 + context.setFontSize(21.3 * unit);
  525 + context.setFillStyle("black");
  526 +
  527 + th.draw_Text(context,share_title,
  528 + 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit);
  529 + //------产品的价格-------
  530 + context.setFontSize(24 * unit)
  531 + context.setFillStyle("red")
  532 +
  533 + var pri0 = th.data.teamlist.price;
  534 + pri0=parseFloat(pri0).toFixed(2);
  535 + var wd1=th.data.screenWidth-ut.measureText(pri0, 31 * unit)-25;
  536 + context.fillText("¥", wd1-15, 180 * unit);
  537 + context.setFontSize(31 * unit)
  538 + context.fillText(pri0, wd1, 180 * unit);
  539 +
  540 + //---市场价划掉---
  541 + context.setFillStyle("gray")
  542 + context.setFontSize(22 * unit)
  543 + pri0= "¥" + parseFloat(th.data.goods.market_price).toFixed(2);
  544 + var wd2=th.data.screenWidth-ut.measureText(pri0, 22 * unit)-25;
  545 + context.fillText(pri0, wd2, 210 * unit);
  546 +
  547 + context.setStrokeStyle('gray')
  548 + context.setLineWidth(1 * unit)
  549 + context.moveTo(wd2-5, 204 * unit)
  550 + context.lineTo(wd2+ut.measureText(pri0, 22 * unit)+5, 204 * unit)
  551 + context.stroke();
  552 + console.log(th.data.share_img_localpath);
  553 +
  554 +
  555 + //---中间大图---
  556 + context.drawImage(th.data.share_img_localpath, 68 * unit, 242 * unit, 410 * unit, 410 * unit);
  557 +
  558 + var g_ct=th.data.teamlist.ct_num-th.data.ordertx.length;
  559 + var wz= "";
  560 + if(g_ct>0) wz="还差"+g_ct+"人成团,";
  561 + else{
  562 + g_ct= th.data.max_num -th.data.ordertx.length;
  563 + if(g_ct>0){
  564 + wz="还差"+g_ct+"人享最低优惠,";
  565 + }else{
  566 + wz="已享受最优惠,";
  567 + }
  568 + }
486 569  
487   - th.draw_Text(context,share_title,
488   - 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit);
489   - //------产品的价格-------
490   - context.setFontSize(24 * unit)
491   - context.setFillStyle("red")
  570 + //-------大图后面就不一样了-----------
  571 + switch (type) {
  572 + case 1://会员团和商家团的展示
  573 + //---画线---
  574 + context.setLineWidth(1 * unit)
  575 + context.moveTo(32 * unit, 670 * unit)
  576 + context.lineTo(520 * unit, 670 * unit)
  577 + context.stroke();
492 578  
493   - var pri0 = th.data.teamlist.price;
494   - pri0=parseFloat(pri0).toFixed(2);
495   - var wd1=th.data.screenWidth-ut.measureText(pri0, 31 * unit)-25;
496   - context.fillText("¥", wd1-15, 180 * unit);
497   - context.setFontSize(31 * unit)
498   - context.fillText(pri0, wd1, 180 * unit);
  579 + //---文字---
  580 + context.setFontSize(22 * unit)
  581 + context.setFillStyle("black")
  582 + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit);
499 583  
500   - //---市场价划掉---
501   - context.setFillStyle("gray")
502   - context.setFontSize(22 * unit)
503   - pri0= "¥" + parseFloat(th.data.goods.market_price).toFixed(2);
504   - var wd2=th.data.screenWidth-ut.measureText(pri0, 22 * unit)-25;
505   - context.fillText(pri0, wd2, 210 * unit);
  584 + //绘制成团图片
  585 + var ct_img ="../../../../images/share/ct_num.png";
  586 + context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit);
  587 + var ct_num = th.data.teamlist.ct_num;
  588 + context.setFontSize(14 * unit)
506 589  
507   - context.setStrokeStyle('gray')
508   - context.setLineWidth(1 * unit)
509   - context.moveTo(wd2-5, 204 * unit)
510   - context.lineTo(wd2+ut.measureText(pri0, 22 * unit)+5, 204 * unit)
511   - context.stroke();
512   - console.log(th.data.share_img_localpath);
  590 + context.setFillStyle("red")
  591 + if(ct_num<10){
  592 + context.fillText(ct_num+"人拼团", 92 * unit, 760 * unit);
  593 + }else{
  594 + context.fillText(ct_num+"人拼团", 86 * unit, 760 * unit);
  595 + }
  596 + context.setFontSize(22 * unit)
  597 + context.fillText("已拼"+th.data.teamlist.buy_num+"份", 166 * unit, 763 * unit);
  598 + context.setFillStyle("gray")
  599 + context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 826 * unit);
  600 + context.setFillStyle("black")
513 601  
  602 + context.setFontSize(22 * unit)
  603 + context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit);
  604 + //---二维吗图---
  605 + //-- 自定义海报 --
  606 + if(th.data.poster){
  607 + var erm_x= parseFloat(th.data.poster.ewm_x)*2;
  608 + var erm_y= parseFloat(th.data.poster.ewm_y)*2;
  609 + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
  610 + }else{
  611 + //---二维吗图---
  612 + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
  613 + }
  614 + break
  615 + case 2://阶梯团的展示
  616 + //---画线---
  617 + context.setLineWidth(1 * unit)
  618 + context.moveTo(32 * unit, 670 * unit)
  619 + context.lineTo(520 * unit, 670 * unit)
  620 + context.stroke();
  621 + //---文字---
  622 + context.setFontSize(22 * unit)
  623 + context.setFillStyle("black")
  624 + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit);
  625 + //---绘制中间阶梯的价格---
  626 + var list= JSON.parse(th.data.teamlist.ct_rylist);
  627 + for(var i=0; i<list.length;i++){
  628 + var item=list[i];
  629 + var wi=i*90*unit;
  630 + context.setFontSize(16 * unit)
  631 + context.setFillStyle("red")
  632 + context.fillText("¥", 40 * unit+wi, 756 * unit);
  633 + context.setFontSize(22 * unit)
  634 + var pri=parseFloat(item.price).toFixed(2);
  635 + context.fillText(pri, 56 * unit+wi, 756 * unit);
  636 + context.setFillStyle("gray")
  637 + context.fillText("满"+item.rynum+"人", 40 * unit+wi, 786 * unit);
  638 + }
514 639  
515   - //---中间大图---
516   - context.drawImage(th.data.share_img_localpath, 68 * unit, 242 * unit, 410 * unit, 410 * unit);
  640 + //----------------下面部分----------------
  641 + context.setFillStyle("gray")
  642 + context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 830 * unit);
  643 + context.setFillStyle("black")
  644 + context.setFontSize(22 * unit)
517 645  
518   - var g_ct=th.data.teamlist.ct_num-th.data.ordertx.length;
519   - var wz= "";
520   - if(g_ct>0) wz="还差"+g_ct+"人成团,";
521   - else{
522   - g_ct= th.data.max_num -th.data.ordertx.length;
523   - if(g_ct>0){
524   - wz="还差"+g_ct+"人享最低优惠,";
525   - }else{
526   - wz="已享受最优惠,";
  646 + context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit);
  647 + //---二维吗图---
  648 + //-- 自定义海报 --
  649 + if(th.data.poster){
  650 + var erm_x= parseFloat(th.data.poster.ewm_x)*2;
  651 + var erm_y= parseFloat(th.data.poster.ewm_y)*2;
  652 + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
  653 + }else{
  654 + //---二维吗图---
  655 + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
  656 + }
  657 + break
527 658 }
528   - }
529 659  
530   - //-------大图后面就不一样了-----------
531   - switch (type) {
532   - case 1://会员团和商家团的展示
533   - //---画线---
534   - context.setLineWidth(1 * unit)
535   - context.moveTo(32 * unit, 670 * unit)
536   - context.lineTo(520 * unit, 670 * unit)
537   - context.stroke();
538   -
539   - //---文字---
540   - context.setFontSize(22 * unit)
541   - context.setFillStyle("black")
542   - context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit);
543   -
544   - //绘制成团图片
545   - var ct_img ="../../../../images/share/ct_num.png";
546   - context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit);
547   - var ct_num = th.data.teamlist.ct_num;
548   - context.setFontSize(14 * unit)
549   -
550   - context.setFillStyle("red")
551   - if(ct_num<10){
552   - context.fillText(ct_num+"人拼团", 92 * unit, 760 * unit);
553   - }else{
554   - context.fillText(ct_num+"人拼团", 86 * unit, 760 * unit);
  660 + //--- 如果是自定义海报的时候 ---
  661 + if(th.data.poster && parseInt(th.data.poster.style)==2){
  662 +
  663 + //如果显示会员信息的话
  664 + if(parseInt(th.data.poster.show_headpic)){
  665 + //获取坐标
  666 + var x= parseFloat(th.data.poster.head_x)*2;
  667 + var y=parseFloat(th.data.poster.head_y)*2;
  668 + //---绘制圆形要放在最后----
  669 + context.save();
  670 + context.beginPath();
  671 + var h_x = x* unit;
  672 + var h_y = y * unit;
  673 + var h_r = 40 * unit;
  674 + var cx = h_x + h_r;
  675 + var cy = h_y + h_r;
  676 + context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
  677 + context.closePath();
  678 + context.fill();
  679 + context.clip();
  680 + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
  681 + context.restore();
555 682 }
556   - context.setFontSize(22 * unit)
557   - context.fillText("已拼"+th.data.teamlist.buy_num+"份", 166 * unit, 763 * unit);
558   - context.setFillStyle("gray")
559   - context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 826 * unit);
560   - context.setFillStyle("black")
561   -
562   - context.setFontSize(22 * unit)
563   - context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit);
564   - //---二维吗图---
565   - //-- 自定义海报 --
566   - if(th.data.poster){
567   - var erm_x= parseFloat(th.data.poster.ewm_x)*2;
568   - var erm_y= parseFloat(th.data.poster.ewm_y)*2;
569   - context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
570   - }else{
571   - //---二维吗图---
572   - context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
573   - }
574   - break
575   - case 2://阶梯团的展示
576   - //---画线---
577   - context.setLineWidth(1 * unit)
578   - context.moveTo(32 * unit, 670 * unit)
579   - context.lineTo(520 * unit, 670 * unit)
580   - context.stroke();
581   - //---文字---
582   - context.setFontSize(22 * unit)
583   - context.setFillStyle("black")
584   - context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit);
585   - //---绘制中间阶梯的价格---
586   - var list= JSON.parse(th.data.teamlist.ct_rylist);
587   - for(var i=0; i<list.length;i++){
588   - var item=list[i];
589   - var wi=i*90*unit;
590   - context.setFontSize(16 * unit)
591   - context.setFillStyle("red")
592   - context.fillText("¥", 40 * unit+wi, 756 * unit);
593   - context.setFontSize(22 * unit)
594   - var pri=parseFloat(item.price).toFixed(2);
595   - context.fillText(pri, 56 * unit+wi, 756 * unit);
596   - context.setFillStyle("gray")
597   - context.fillText("满"+item.rynum+"人", 40 * unit+wi, 786 * unit);
598   - }
599   -
600   - //----------------下面部分----------------
601   - context.setFillStyle("gray")
602   - context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 830 * unit);
603   - context.setFillStyle("black")
604   - context.setFontSize(22 * unit)
605   -
606   - context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit);
607   - //---二维吗图---
608   - //-- 自定义海报 --
609   - if(th.data.poster){
610   - var erm_x= parseFloat(th.data.poster.ewm_x)*2;
611   - var erm_y= parseFloat(th.data.poster.ewm_y)*2;
612   - context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
613   - }else{
614   - //---二维吗图---
615   - context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
616   - }
617   - break
618   - }
619 683  
620   - //--- 如果是自定义海报的时候 ---
621   - if(th.data.poster && parseInt(th.data.poster.style)==2){
622   -
623   - //如果显示会员信息的话
624   - if(parseInt(th.data.poster.show_headpic)){
625   - //获取坐标
626   - var x= parseFloat(th.data.poster.head_x)*2;
627   - var y=parseFloat(th.data.poster.head_y)*2;
628   - //---绘制圆形要放在最后----
629   - context.save();
630   - context.beginPath();
631   - var h_x = x* unit;
632   - var h_y = y * unit;
633   - var h_r = 40 * unit;
634   - var cx = h_x + h_r;
635   - var cy = h_y + h_r;
636   - context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
637   - context.closePath();
638   - context.fill();
639   - context.clip();
640   - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
641   - context.restore();
642   - }
643   -
644   - }else{
645   - //---绘制圆形要放在最后----
646   - context.save();
647   - context.beginPath();
648   - var h_x = 60 * unit;
649   - var h_y = 24 * unit;
650   - var h_r = 40 * unit;
651   - var cx = h_x + h_r;
652   - var cy = h_y + h_r;
653   - context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
654   - context.closePath();
655   - context.fill();
656   - context.clip();
657   - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
658   - context.restore();
  684 + }else{
  685 + //---绘制圆形要放在最后----
  686 + context.save();
  687 + context.beginPath();
  688 + var h_x = 60 * unit;
  689 + var h_y = 24 * unit;
  690 + var h_r = 40 * unit;
  691 + var cx = h_x + h_r;
  692 + var cy = h_y + h_r;
  693 + context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
  694 + context.closePath();
  695 + context.fill();
  696 + context.clip();
  697 + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
  698 + context.restore();
  699 + }
659 700 }
660 701  
661 702 //把画板内容绘制成图片,并回调 画板图片路径
... ... @@ -804,14 +845,22 @@ Page({
804 845 tt();
805 846 },
806 847 fail: function (res) {
807   - ee.data.share_img_localpath= "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的
808   - tt();
  848 + //获取默认空白图
  849 + wx.getImageInfo({
  850 + src:os.imghost+'/miniapp/images/default_g_img.gif',
  851 + success: function(res) {
  852 + ee.data.share_img_localpath = res.path; //分享的图片不能用网络的
  853 + tt();
  854 + }
  855 + })
809 856 }
810 857 });
811 858 },
812 859  
  860 +
  861 + //跳转到支付尾款
813 862 go_pay_wk:function(){
814   - var url = "/pages/cart/cart_wk/cart_wk?order_id=" + this.data.order.order_id;
  863 + var url = "/packageA/pages/serviceCard_pd/cart_wk/cart_wk?order_id=" + this.data.order.order_id;
815 864 getApp().goto(url);
816 865 },
817 866  
... ... @@ -829,7 +878,7 @@ Page({
829 878 var th=this;
830 879 var scene=this.data.teamgroup.id;
831 880 var goods_id=this.data.teamlist.goods_id;
832   - var url="/pages/team/team_show/team_show?tg_id="+scene+"&goods_id="+goods_id;
  881 + var url="/packageA/pages/serviceCard_pd/team_show/team_show?tg_id="+scene+"&goods_id="+goods_id;
833 882 //--分享图片--
834 883 var img=th.data.iurl+th.data.teamlist.share_imgurl;
835 884 //--把会员分享出去--
... ... @@ -985,7 +1034,159 @@ Page({
985 1034 go_to:function (e) {
986 1035 var url=e.currentTarget.dataset.url;
987 1036 getApp().goto(url);
988   - }
  1037 + },
  1038 +
  1039 + //-- 先版绘制 --img 是中间的大图
  1040 + drawPoster(context, unit, img, vpath, type) {
  1041 +
  1042 + var self=this;
  1043 +
  1044 + // 1.灰色背景
  1045 + context.setFillStyle('#f2f1f6');
  1046 + context.rect(0, 0, 554 * unit, 899 * unit);
  1047 + context.fill();
  1048 +
  1049 + // 2.商城名称
  1050 + let shopName = this.data.sto_sele_name_1;
  1051 + context.setTextAlign('center');
  1052 + context.setFontSize(26 * unit);
  1053 + context.setFillStyle('black');
  1054 + context.fillText(shopName, 277 * unit, 60 * unit);
  1055 +
  1056 + // 3.推荐来源
  1057 + let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`;
  1058 + context.setTextAlign('center');
  1059 + context.setFontSize(22 * unit);
  1060 + context.setFillStyle('#96959a');
  1061 + context.fillText(fromText, 277 * unit, 105 * unit);
  1062 +
  1063 + // 4.海报背景
  1064 + context.setFillStyle('white');
  1065 + context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);
  1066 +
  1067 + // 5.商品图片
  1068 + // 图片的x坐标
  1069 + let bg_x = 37 * unit
  1070 + // 图片的y坐标
  1071 + let bg_y = 157 * unit
  1072 + // 图片宽度
  1073 + let bg_w = 480 * unit
  1074 + // 图片高度
  1075 + let bg_h = 474 * unit
  1076 + // 图片圆角
  1077 + let bg_r = 4
  1078 +
  1079 + // 绘制海报背景图片圆角
  1080 + context.save()
  1081 + context.beginPath()
  1082 + context.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5)
  1083 + context.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2)
  1084 + context.arc(bg_x + bg_w, bg_y + bg_h, bg_r, 0, Math.PI * 0.5)
  1085 + context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI)
  1086 + context.clip()
  1087 + context.drawImage(img, bg_x, bg_y, bg_w, bg_h);
  1088 + context.restore();
  1089 +
  1090 + // 6.强烈推荐
  1091 + let src = '';
  1092 + context.beginPath();
  1093 +
  1094 +
  1095 + if (type == 1) { // 商家和会员团
  1096 + src = '../../../../images/share/ct_num.png';
  1097 + context.drawImage(src, 54 * unit, 648 * unit, 120 * unit, 30 * unit);
  1098 + context.setTextAlign('left');
  1099 +
  1100 + let ct_num = self.data.prom_act.ct_num;
  1101 + context.setFontSize(16 * unit)
  1102 + context.font = 'normal';
  1103 + context.setFillStyle("red")
  1104 + if (ct_num < 10) {
  1105 + context.fillText(ct_num + "人拼团", 100 * unit, 670 * unit);
  1106 + } else {
  1107 + context.fillText(ct_num + "人拼团", 96 * unit, 670 * unit);
  1108 + }
  1109 + context.setFontSize(22 * unit)
  1110 + context.fillText("已拼" + self.data.prom_act.buy_num + "份", 186 * unit, 672 * unit);
  1111 +
  1112 +
  1113 +
  1114 +
  1115 + }
  1116 +
  1117 + if (type == 2) { // 阶梯团
  1118 + let list = self.data.prom_act.ct_rylist;
  1119 + for (let i = 0; i < list.length; i++) {
  1120 + let item = list[i];
  1121 + let wi = i * 90 * unit;
  1122 + context.font = 'normal';
  1123 + context.setTextAlign('left');
  1124 + context.setFontSize(16 * unit)
  1125 + context.setFillStyle("red")
  1126 + context.fillText("¥", 50 * unit + wi, 680 * unit);
  1127 + context.setFontSize(22 * unit)
  1128 + let pri = parseFloat(item.price).toFixed(2);
  1129 + context.fillText(pri, 66 * unit + wi, 680 * unit);
  1130 +
  1131 +
  1132 + context.setFillStyle("gray")
  1133 + context.fillText("满" + item.rynum + "人", 50 * unit + wi, 716 * unit);
  1134 + }
  1135 +
  1136 +
  1137 + var wp= 52 * unit;
  1138 + var hp=755 * unit
  1139 + self.draw_pos_price(context,wp,hp,this.data.goods.show_price,unit);
  1140 + }
  1141 +
  1142 + // 7.商品价格
  1143 + if (type != 2) {
  1144 + let price = this.data.teamlist.price;
  1145 + price = parseFloat(price).toFixed(2);
  1146 + context.setFontSize(32 * unit);
  1147 + context.setFillStyle('#DE1117');
  1148 +
  1149 + context.fillText('¥' + price, 54 * unit, 735 * unit);
  1150 + var wp= 62 * unit+ut.measureText('¥' + price, 32 * unit);
  1151 + var hp=735 * unit
  1152 + this.draw_pos_price(context,wp,hp,this.data.goods.show_price,unit);
  1153 + }
  1154 +
  1155 + // 8.商品标题
  1156 + context.setFontSize(20 * unit);
  1157 + context.setFillStyle('#898989');
  1158 + getApp().draw_Text(context, this.data.goods.service_name, 54 * unit, 800 * unit, 240 * unit, 280 * unit, unit, 1);
  1159 + // 9.小程序码
  1160 + context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit);
  1161 + context.setFontSize(16 * unit);
  1162 + context.setFillStyle('#777');
  1163 + context.fillText('长按识别二维码', 378 * unit, 810 * unit);
  1164 +
  1165 + // 10.竖线
  1166 + context.beginPath();
  1167 + context.setFillStyle('#eee');
  1168 + context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit);
  1169 + context.fill();
  1170 + },
  1171 +
  1172 + //---市场价划掉---
  1173 + draw_pos_price(context,w,h,market_price,unit){
  1174 +
  1175 + if(!this.data.sys_switch) return false;
  1176 + if(!this.data.sys_switch.is_retail_price) return false;
  1177 + context.setFillStyle("gray")
  1178 + context.setFontSize(22 * unit)
  1179 + var pri0 = "¥" + market_price.toFixed(2);
  1180 + context.fillText(pri0, w, h);
  1181 +
  1182 + var c_h=h-6;
  1183 + context.setStrokeStyle('gray');
  1184 + context.setLineWidth(1 * unit);
  1185 + context.moveTo(w - 5, c_h);
  1186 + context.lineTo(w + ut.measureText(pri0, 22 * unit) + 5, c_h);
  1187 + context.stroke();
  1188 +
  1189 + },
989 1190  
990 1191 })
991 1192  
... ...
packageA/pages/serviceCard_pd/team_success/team_success.wxml
... ... @@ -95,8 +95,10 @@
95 95 <image src='{{item.head_pic}}'></image>
96 96 <span wx:if="{{item.is_pt_tz==1}}">团长</span>
97 97 </view>
98   - <view class='d' wx:for="{{sf_arr}}" wx:if="{{p_status!=2}}">
99   - <image src='{{iurl}}/miniapp/images/shafa.png'></image>
  98 +
  99 + <view class='d' wx:for="{{sf_arr}}">
  100 + <image wx:if="{{teamgroup.is_xuni_ct}}" src='{{iurl}}/miniapp/images/anonymous/anonymous{{item}}.png'></image>
  101 + <image wx:else src='{{iurl}}/miniapp/images/shafa.png'></image>
100 102 </view>
101 103  
102 104 <view class='xc-ellipsis-img flex-vertical' wx:if="{{ordertx.length>5}}">
... ... @@ -122,7 +124,7 @@
122 124 </view>
123 125  
124 126 <!-- 阶梯团 成功-->
125   - <view class='bodytimecen-success' wx:if='{{teamlist.kttype==3&&p_status==2 && is_pay_wk!=1}}'>
  127 + <view class='bodytimecen-success' wx:if='{{teamlist.kttype==3&& p_status==2 && is_pay_wk!=1}}'>
126 128 剩余支付时间:
127 129  
128 130 <span>{{obj.hou}}</span>时
... ... @@ -143,7 +145,7 @@
143 145 <!-- 会员团 -->
144 146 <view class='bodytimecen' wx:if='{{(teamlist.kttype==1 || teamlist.kttype==2) && p_status==2}}'>
145 147 已经有
146   - <text class="xc-wc">{{ordertx.length}}</text>人参团, 拼团成功。
  148 + <text class="xc-wc">{{ordertx.length>teamlist.ct_num?ordertx.length:teamlist.ct_num}}</text>人参团, 拼团成功。
147 149 </view>
148 150  
149 151 <!----//旁边直线---->
... ... @@ -164,8 +166,8 @@
164 166 <!----/ // // // //按钮---->
165 167  
166 168 <view wx:if="{{teamlist.kttype==3}}" class='bodybutton'>
167   - <!-- 阶梯团 -->
168   - <button wx:if="{{p_status==1}}" bindtap="clickShare" style='background-color:#fab55a; color:#fff'>
  169 + <!-- 阶梯团wx:if="{{isLogin}}" -->
  170 + <button wx:if="{{p_status==1 && isLogin}}" bindtap="clickShare" style='background-color:#fab55a; color:#fff'>
169 171 <!-- <button wx:if="{{p_status==1}}" bindtap="clickShare" bindtap='cmeng' style='background-color:#fab55a; color:#fff'> -->
170 172 邀请好友参团
171 173 </button>
... ... @@ -196,6 +198,7 @@
196 198 </span>
197 199 </view>
198 200  
  201 + <!-- 正常下单的 -->
199 202 <view class='zhangxi' hidden="{{hiddenName}}" wx:for="{{ordertx}}" wx:for-index="ky">
200 203 <view class='img rel'>
201 204 <view class="xc-list" wx:if="{{item.is_pt_tz}}">
... ... @@ -210,6 +213,14 @@
210 213 <view class='zssj' wx:else>{{item.add_time_date}} 参团</view>
211 214 <view class="clear"></view>
212 215 </view>
  216 + <!-- 虚拟参与的 -->
  217 + <view class='zhangxi' hidden="{{hiddenName}}" wx:for="{{head}}" >
  218 + <view class='img rel'>
  219 + <image src='{{iurl}}/miniapp/images/anonymous/anonymous{{item}}.png'></image>匿名
  220 + </view>
  221 + <view class='zssj'>{{filters.format_time(teamgroup.buyenddate,1)}} 参团</view>
  222 + <view class="clear"></view>
  223 + </view>
213 224  
214 225  
215 226 <view class='clear'></view>
... ...
packageC/pages/luckyGo/luckyGo_goodsInfo/buy_pt.wxml
... ... @@ -50,8 +50,8 @@
50 50 <view style="margin-top: 20rpx">
51 51 <view class="flex-space-between address ai_end xc-width ">
52 52  
53   - <view class="flex ai_end" wx:if="{{def_pick_store && def_pick_store.pickup_name}}">
54   - <text class="fs30 xc-black3 shop_name">{{def_pick_store.pickup_name}}</text>
  53 + <view class="flex" wx:if="{{def_pick_store && def_pick_store.pickup_name}}">
  54 + <text class="fs30 xc-black3 shop_name {{def_pick_store.distance!=null?'max':''}} ">{{def_pick_store.pickup_name}}</text>
55 55  
56 56  
57 57 <view class="distance fs24 xc-ash"wx:if="{{def_pick_store.distance!=null}}">
... ...
packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.wxml
... ... @@ -1368,7 +1368,7 @@
1368 1368 </block>
1369 1369 <view class="address-frame xc-ash">
1370 1370 <view class="flex-vertical-between butttem5">
1371   - <view class="flex xc-ash">
  1371 + <view class="flex xc-ash" style="flex-shrink:0;max-width: 62%;">
1372 1372 <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
1373 1373 </view>
1374 1374 <view>
... ...
packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.wxss
... ... @@ -3120,6 +3120,7 @@ button.custom-service::after{
3120 3120 overflow-y: auto;
3121 3121 }
3122 3122  
  3123 +
3123 3124 .searchbar {
3124 3125 height: 95rpx;
3125 3126 border-bottom: 2rpx solid rgb(238, 238, 238);
... ... @@ -3143,3 +3144,7 @@ button.custom-service::after{
3143 3144 border: 2rpx solid rgb(238, 238, 238);
3144 3145 padding-left: 30rpx;
3145 3146 }
  3147 +.shop_name.max{
  3148 + max-width:370rpx; flex-shrink: 0;
  3149 +}
  3150 +
... ...
packageC/pages/presell/cart/cart.js
... ... @@ -2756,13 +2756,8 @@ Page({
2756 2756 }
2757 2757  
2758 2758 //商品的普通购买 ,不要进行判断
2759   - if ((good.prom_type == 1 || good.prom_type == 6 || good.prom_type == 4) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal) {
2760   - if (gg.prom_type != good.prom_type) {
  2759 + if ((good.prom_type == 1 || good.prom_type == 2 || good.prom_type == 4 || good.prom_type == 6 || good.prom_type == 8 || good.prom_type == 9 ) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal) {
2761 2760  
2762   - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买';
2763   - th.toast(content);
2764   - return false;
2765   - }
2766 2761 } else {
2767 2762 if ((gg.prom_type == 1 || gg.prom_type == 3 || gg.prom_type == 5 || gg.prom_type == 6 || gg.prom_type == 4)
2768 2763 && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) {
... ...
packageE/pages/cart/cart2/cart2.js
... ... @@ -2200,9 +2200,15 @@ Page({
2200 2200 newd.guide_id=fd_gd.guide_id;
2201 2201 newd.guide_type=fd_gd.guide_type;
2202 2202 newd.distr_type=fd_gd.distr_type;
  2203 + newd.is_order_yh = fd_gd.is_order_yh;
  2204 + newd.is_post_temp = fd_gd.is_post_temp;
2203 2205  
2204 2206 ord_goods.splice(pos+1,0,newd);
2205 2207 th.data.old_cartlist[i].goods.splice(pos2+1,0,newd);
  2208 +
  2209 + var txt9 = "cartlist[" + i + "].goods";
  2210 + th.setData({ [txt9]: ord_goods })
  2211 +
2206 2212 }
2207 2213  
2208 2214 }
... ... @@ -7210,6 +7216,11 @@ Page({
7210 7216 });
7211 7217 var pk_list_goods = alllist[index].goods;
7212 7218  
  7219 +
  7220 + var pos=this.find_pro_last(pk_list_goods,3,this.data.gf_prom_id);
  7221 + var fd_gd=pk_list_goods[pos]
  7222 +
  7223 +
7213 7224 var url = "/api/weshop/cart/delGift?store_id=" + os.stoid + "&user_id="
7214 7225 + getApp().globalData.user_id + "&is_gift=1&pick_id=" + this.data.gift_pkid + "&prom_id=" + this.data.gf_prom_id;
7215 7226 await getApp().request.promiseDelete(url, {});
... ... @@ -7251,7 +7262,6 @@ Page({
7251 7262 uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum,
7252 7263 goods_spec: gf_item.goodsinfo.goods_spec,
7253 7264 goods_color: gf_item.goodsinfo.goods_color,
7254   - is_post_temp:1 //赠品暂时的是要包邮运算, 后面和主商品是不是包邮一样
7255 7265 };
7256 7266  
7257 7267 var prom_goods_map=th.data.prom_goods_map[gf_pickup_id];
... ... @@ -7262,6 +7272,12 @@ Page({
7262 7272 newd.is_xz_yh=fd.is_xz_yh;
7263 7273 }
7264 7274  
  7275 + //赠品的优惠要和商品的一样
  7276 + if(fd_gd){
  7277 + newd.is_post_temp=fd_gd.is_post_temp;
  7278 + newd.is_order_yh=fd_gd.is_order_yh;
  7279 + }
  7280 +
7265 7281 //-- 如果是代发商品的时候 --
7266 7282 if (gf_item.goodsinfo.whsle_id) {
7267 7283 newd.whsle_id = gf_item.goodsinfo.whsle_id;
... ...
packageE/pages/qy/contactMe/contactMe.js
... ... @@ -12,90 +12,90 @@ Page({
12 12 first_leader: '', //-- 邀请人 --
13 13 config2: null,
14 14 sub: 0,
15   - phone:'',
16   - id:"",
17   - openuserid:'',
18   - skip_verify:1,
19   - error_arr:{
20   - '81012':'缺失可见范围',
21   - '81013':'UserID、部门ID、标签ID全部非法或无权限',
22   - '40031':'不合法的UserID列表',
23   - '0032': '不合法的UserID列表长度',
24   - '40058':'不合法的参数',
25   - '40063':'参数为空',
26   - '40094':'不合法的URL',
27   - '40096':'不合法的外部联系人userid',
28   - '40099':'外部联系人的数量已达上限',
29   - '40100':'此用户的外部联系人已经在转移流程中',
30   - '40125':'无效的openuserid参数',
31   - '41001':'缺少access_token参数',
32   - '41009':'缺少userid参数',
33   - '41010':'缺少url参数',
34   - '41035':'缺少外部联系人userid参数',
35   - "41037":'缺少「联系我」type参数',
36   - "41038":'缺少「联系我」scene参数',
37   - "41039":'无效的「联系我」type参数',
38   - "41040":'无效的「联系我」scene参数',
39   - "41041":'「联系我」使用人数超过限制',
40   - "41042":'无效的「联系我」style参数',
41   - "41043":'缺少「联系我」config_id参数',
42   - "41044":'无效的「联系我」config_id参数',
43   - "41045":'API添加「联系我」达到数量上限',
44   - "42001":'access_token已过期',
45   - '43009': '企业未验证主体',
46   - '45009': '接口调用超过限制',
47   - '45022': '应用name参数长度不符合系统限制',
48   - '45024': '帐号数量超过上限',
49   - '45034': 'url必须有协议头',
50   - '46004': '指定的用户不存在',
51   - '48001': 'API功能未授权',
52   - '48002': 'API接口无权限调用',
53   - '48003': '不合法的suite_id',
54   - '48004': '授权关系无效',
55   - '48005': 'API接口已废弃',
56   - '48006': '接口权限被收回',
57   - '60102': 'UserID已存在',
58   - '670010': '负责人数量超出限制',
59   - '81014': '标签添加成员,单次添加user或party过多',
60   - '82001':' 指定的成员/部门/标签全部为空',
61   - '84072': '应用未配置客服',
62   - '84073': '客服userid不在应用配置的客服列表中',
63   - '84074': '没有外部联系人权限',
64   - '84075': '不合法或过期的authcode',
65   - '84076': '缺失authcode',
66   - '84083': '非服务人员',
67   - '84084': '非跟进用户',
68   - '84085': '应用已下架',
69   - '84144': '确认者的gid不在当前服务商的通讯录中',
70   - '84145': '确认者gid所在的企业数不能超过5个',
71   - '84146': '确认者gid最多只能在3个企业下确认合同',
72   - '86001': '参数 chatid 不合法',
73   - '86003': '参数 chatid 不存在',
74   - '86004': '参数 群名不合法',
75   - '86005': '参数 群主不合法',
76   - '86006': '群成员数过多或过少',
77   - '86007': '不合法的群成员',
  15 + phone: '',
  16 + id: "",
  17 + openuserid: '',
  18 + skip_verify: 1,
  19 + error_arr: {
  20 + '81012': '缺失可见范围',
  21 + '81013': 'UserID、部门ID、标签ID全部非法或无权限',
  22 + '40031': '不合法的UserID列表',
  23 + '0032': '不合法的UserID列表长度',
  24 + '40058': '不合法的参数',
  25 + '40063': '参数为空',
  26 + '40094': '不合法的URL',
  27 + '40096': '不合法的外部联系人userid',
  28 + '40099': '外部联系人的数量已达上限',
  29 + '40100': '此用户的外部联系人已经在转移流程中',
  30 + '40125': '无效的openuserid参数',
  31 + '41001': '缺少access_token参数',
  32 + '41009': '缺少userid参数',
  33 + '41010': '缺少url参数',
  34 + '41035': '缺少外部联系人userid参数',
  35 + "41037": '缺少「联系我」type参数',
  36 + "41038": '缺少「联系我」scene参数',
  37 + "41039": '无效的「联系我」type参数',
  38 + "41040": '无效的「联系我」scene参数',
  39 + "41041": '「联系我」使用人数超过限制',
  40 + "41042": '无效的「联系我」style参数',
  41 + "41043": '缺少「联系我」config_id参数',
  42 + "41044": '无效的「联系我」config_id参数',
  43 + "41045": 'API添加「联系我」达到数量上限',
  44 + "42001": 'access_token已过期',
  45 + '43009': '企业未验证主体',
  46 + '45009': '接口调用超过限制',
  47 + '45022': '应用name参数长度不符合系统限制',
  48 + '45024': '帐号数量超过上限',
  49 + '45034': 'url必须有协议头',
  50 + '46004': '指定的用户不存在',
  51 + '48001': 'API功能未授权',
  52 + '48002': 'API接口无权限调用',
  53 + '48003': '不合法的suite_id',
  54 + '48004': '授权关系无效',
  55 + '48005': 'API接口已废弃',
  56 + '48006': '接口权限被收回',
  57 + '60102': 'UserID已存在',
  58 + '670010': '负责人数量超出限制',
  59 + '81014': '标签添加成员,单次添加user或party过多',
  60 + '82001': ' 指定的成员/部门/标签全部为空',
  61 + '84072': '应用未配置客服',
  62 + '84073': '客服userid不在应用配置的客服列表中',
  63 + '84074': '没有外部联系人权限',
  64 + '84075': '不合法或过期的authcode',
  65 + '84076': '缺失authcode',
  66 + '84083': '非服务人员',
  67 + '84084': '非跟进用户',
  68 + '84085': '应用已下架',
  69 + '84144': '确认者的gid不在当前服务商的通讯录中',
  70 + '84145': '确认者gid所在的企业数不能超过5个',
  71 + '84146': '确认者gid最多只能在3个企业下确认合同',
  72 + '86001': '参数 chatid 不合法',
  73 + '86003': '参数 chatid 不存在',
  74 + '86004': '参数 群名不合法',
  75 + '86005': '参数 群主不合法',
  76 + '86006': '群成员数过多或过少',
  77 + '86007': '不合法的群成员',
78 78 },
79 79 },
80 80 onLoad: function (tt) {
81 81 // tt.scene="0_0_16"
82 82 if (tt && tt.scene) {
83   - var first_leader_str = decodeURIComponent(tt.scene);
84   - var f_arr = first_leader_str.split("_");
85   - // first_leader = f_arr[0] && parseFloat(f_arr[0]) > 0 ? f_arr[0] : null;
86   - //注册门店
87   - // if (f_arr[1] && parseFloat(f_arr[1]) > 0) {
88   - // getApp().globalData.store_number = f_arr[1];
  83 + var first_leader_str = decodeURIComponent(tt.scene);
  84 + var f_arr = first_leader_str.split("_");
  85 + // first_leader = f_arr[0] && parseFloat(f_arr[0]) > 0 ? f_arr[0] : null;
  86 + //注册门店
  87 + // if (f_arr[1] && parseFloat(f_arr[1]) > 0) {
  88 + // getApp().globalData.store_number = f_arr[1];
89 89 // }
90 90 //企业微信群id
91   - if (f_arr && f_arr[2] && parseFloat(f_arr[2]) > 0) {
  91 + if (f_arr && f_arr[2] && parseFloat(f_arr[2]) > 0) {
92 92 this.setData({
93   - id:f_arr[2]
  93 + id: f_arr[2]
94 94 })
95 95 this.getopenuserid(f_arr[2])
96   - // getApp().globalData.groupchat_id = f_arr[2];
  96 + // getApp().globalData.groupchat_id = f_arr[2];
97 97 }
98   -
  98 +
99 99 }
100 100 // if (wx.getUserProfile) {
101 101 // this.setData({
... ... @@ -146,38 +146,41 @@ Page({
146 146 // })
147 147 },
148 148  
149   - getopenuserid(id){
150   - let url=`/api/weshop/qyWeChat/qywxStaffcode/get/${id}`
151   - getApp().request.promiseGet(url,{data:{}}).then(res => {
  149 + getopenuserid(id) {
  150 + let url = `/api/weshop/qyWeChat/qywxStaffcode/get/${id}`
  151 + getApp().request.promiseGet(url, { data: {} }).then(res => {
152 152 console.log(res);
153 153 if (res.data.code == 0) {
154 154 // let resdata=JSON.parse(res.data.data);
155   - let openuserid=res.data.data.openuserid;
156   - let skip_verify=res.data.data.skip_verify;
157   - this.setData({
158   - openuserid,
159   - skip_verify
160   - })
  155 + let openuserid = res.data.data.openuserid;
  156 + let skip_verify = res.data.data.skip_verify;
  157 + this.setData({
  158 + openuserid,
  159 + skip_verify
  160 + })
  161 + // if (this.data.phone) {
  162 + // this.getqy()
  163 + // }
161 164 }
162 165 })
163 166 },
164   - async getqy(){
165   - wx.showLoading({
166   - title: '加载中',
167   - mask:true
168   - })
169   - let openuserid=this.data.openuserid
170   - let skip_verify=this.data.skip_verify ? true : false
  167 + async getqy() {
  168 + // wx.showLoading({
  169 + // title: '加载中',
  170 + // mask:true
  171 + // })
  172 + let openuserid = this.data.openuserid
  173 + let skip_verify = this.data.skip_verify ? true : false
171 174 let res = await getApp().request.promisePost(`/apib/weshop/admin/qyWeChat/qyWeChatCorpInfo/postAdminQyApi?accdb=${this.data.store.erpid}&url=externalcontact/add_contact_way`, {
172 175 data: {
173 176 // accdb: getApp().globalData.config.erpid,
174 177 // ApiName: 'api.pos.shop.advancesum.seek',
175 178 // url:'externalcontact/add_contact_way',
176   - user:openuserid,
177   - type:1,
178   - scene:2,
179   - style:1,
180   - state:'手店_'+this.data.phone,
  179 + user: openuserid,
  180 + type: 1,
  181 + scene: 2,
  182 + style: 1,
  183 + state: '手店_' + this.data.phone,
181 184 skip_verify
182 185 // is_temp:true,
183 186 // store_id: getApp().globalData.setting.stoid,
... ... @@ -191,21 +194,22 @@ Page({
191 194 is_json: 1
192 195 })
193 196 wx.hideLoading()
194   - if(res.data && res.data.errcode==0){
  197 + if (res.data && res.data.errcode == 0) {
195 198 this.setData({
196   - qr_code:res.data.qr_code
  199 + qr_code: res.data.qr_code
197 200 })
198   - }else{
199   - let errcode=res.data.errcode
200   - let msg=errcode
  201 + this.saveqy(res.data.config_id, res.data.qr_code)
  202 + } else {
  203 + let errcode = res.data.errcode
  204 + let msg = errcode
201 205 if (this.data.error_arr[errcode]) {
202   - msg+=this.data.error_arr[errcode]
  206 + msg += this.data.error_arr[errcode]
203 207 }
204 208 wx.showModal({
205 209 title: '提示',
206   - content: '获取失败,错误码:'+msg,
207   - showCancel:false,
208   - success (res) {
  210 + content: '获取失败,错误码:' + msg,
  211 + showCancel: false,
  212 + success(res) {
209 213 if (res.confirm) {
210 214 console.log('用户点击确定')
211 215 } else if (res.cancel) {
... ... @@ -222,41 +226,111 @@ Page({
222 226 getphone: function (e) {
223 227 //接下来写业务代码登录
224 228 console.log(e);
225   - // return
226 229 e = e.detail;
227 230 if (e.code == undefined) {
228 231 this.setData({ show_bind: 0 })
229 232 return app.my_warnning("登录需要授权手机号码!", 0, this);
230 233 return false;
231 234 }
232   - // var sessionKey = getApp().globalData.sessionKey;
233   - var req_data = {
234   - js_code: e.code,
235   - store_id: getApp().globalData.setting.stoid,
236   - }
237   - //-- 获取一下手机 --/api/weshop/users/getCodeMobile?store_id=1&js_code=b8451556dd98b2eebec5aa6775625bce192a68fc1a4b15b0c6bf3ed046f90da4
238   - getApp().request.promiseGet("/api/weshop/users/getCodeMobile", { data: req_data }).then(res => {
239   - // console.log('手机号码');
240   - // console.log(res);
241   - if (res.data.code == 0) {
242   - let resdata=JSON.parse(res.data.data);
243   - this.setData({
244   - phone:resdata.phoneNumber
245   - })
246   - this.getqy()
247   - // getApp().globalData.zc_dd = dd;
248   - // wx.redirectTo({
249   - // url: "/packageA/pages/profile/profile?is_back=1"
250   - // })
  235 +
  236 + var that =this;
  237 + app.request.get("/api/weshop/manager/managerConfig/get", {
  238 + data: {
  239 + storeId: getApp().globalData.setting.stoid
  240 + },
  241 + success: function (res2) {
  242 + if (res2.data.code == 0) {
  243 + var sessionKey = getApp().globalData.sessionKey;
  244 + if (res2.data.data.is_newphone == 1) {
  245 +
  246 + var req_data = {
  247 + sessionKey: sessionKey,
  248 + code: e.code,
  249 + isNewPhone: 1,
  250 + store_id: getApp().globalData.setting.stoid,
  251 + }
  252 + }else{
  253 + var req_data = {
  254 + sessionKey: sessionKey,
  255 + encryptedData: e.encryptedData,
  256 + iv: e.iv,
  257 + store_id: getApp().globalData.setting.stoid,
  258 + }
  259 + }
  260 +
  261 +
  262 + //-- 获取一下手机 --/api/weshop/users/getCodeMobile?store_id=1&js_code=b8451556dd98b2eebec5aa6775625bce192a68fc1a4b15b0c6bf3ed046f90da4
  263 + getApp().request.promiseGet("/api/weshop/users/getmobile", { data: req_data }).then(res => {
  264 + // console.log('手机号码');
  265 + // console.log(res);
  266 + if (res.data.code == 0) {
  267 + let resdata = res.data.data;
  268 + that.setData({
  269 + phone: resdata
  270 + })
  271 + that.befgetqy()
  272 + // getApp().globalData.zc_dd = dd;
  273 + // wx.redirectTo({
  274 + // url: "/packageA/pages/profile/profile?is_back=1"
  275 + // })
  276 + }
  277 + })
  278 + // var sessionKey = getApp().globalData.sessionKey;
  279 + // var openid = getApp().globalData.openid;
  280 + // var r = getApp().globalData.getu;
  281 + // this.save_the_data(r, e, sessionKey, openid)
  282 +
  283 +
  284 + } else {
  285 + return app.my_warnning("授权登入失败,请稍后再试!", 0, that);
  286 + }
  287 + },
  288 + failStatus: function (t) {
  289 + return app.my_warnning("授权登入失败,请稍后再试!", 0, that);
  290 + },
  291 + fail: function (t) {
  292 + return i.clearAuth(), i.alertLoginErrorAndGoHome(), !1;
251 293 }
252   - })
  294 + });
253 295  
254   - // var sessionKey = getApp().globalData.sessionKey;
255   - // var openid = getApp().globalData.openid;
256   - // var r = getApp().globalData.getu;
257   - // this.save_the_data(r, e, sessionKey, openid)
258 296 },
  297 + async befgetqy() {
  298 + wx.showLoading({
  299 + title: '加载中',
  300 + mask: true
  301 + })
  302 + let openuserid = this.data.openuserid
  303 + let res = await getApp().request.promiseGet(`/api/weshop/qyWeChat/qywxConfigList/getMobileInfo/${getApp().globalData.setting.stoid}/${openuserid}/${this.data.phone}`, { data: {} })
  304 + console.log('获取数据库表');
  305 + console.log(res);
  306 + if (res.data && res.data.code == 0) {
  307 + this.setData({
  308 + qr_code: res.data.data.qrcode
  309 + })
  310 + wx.hideLoading()
  311 + } else {
  312 + this.getqy()
  313 + }
259 314  
  315 + },
  316 + async saveqy(config_id, qrcode) {
  317 + let openuserid = this.data.openuserid
  318 + let mobile = this.data.phone
  319 + let addtime = ((Date.now()) / 1000).toFixed(0)
  320 + let req_data = {
  321 + store_id: getApp().globalData.setting.stoid,
  322 + openuserid,
  323 + config_id,
  324 + qrcode,
  325 + mobile,
  326 + addtime
  327 + }
  328 + let res = await getApp().request.promisePost(`/api/weshop/qyWeChat/qywxConfigList/save`, {
  329 + data: req_data,
  330 + // is_json: 1
  331 + })
  332 + // wx.hideLoading()
  333 + },
260 334  
261 335 //-- 会员授权 --
262 336 bindGetUserInfo: function (ee) {
... ...
packageE/pages/togoin/togoin.js
... ... @@ -134,7 +134,7 @@ Page({
134 134 app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
135 135 if (res.data.code == 0) {
136 136 getApp().globalData.guide_id = res.data.data.id;
137   - getApp().globalData.guide_pick_id= res.data.data.pickup_id
  137 + getApp().globalData.guide_pick_id = res.data.data.pickup_id
138 138 }
139 139 })
140 140  
... ... @@ -191,93 +191,148 @@ Page({
191 191  
192 192 save_the_data: async function (r, e, sessionKey, openid) {
193 193 var app = getApp(), a = app, th = this;
194   - var dd = {
195   - oauth: "miniapp",
196   - nickname: a.clear_word(r.nickName),
197   - head_pic: r.avatarUrl,
198   - sex: r.gender,
199   - terminal: "miniapp",
200   - sessionKey: sessionKey,
201   - openid: openid,
202   - encryptedData: e.encryptedData,
203   - iv: e.iv,
204   - store_id: getApp().globalData.setting.stoid,
205   - };
206   - //--如果有邀请人的时候--
207   - if (th.data.first_leader) {
208   - dd.first_leader = th.data.first_leader;
209   - }
210   - //-- 导购会员ID --
211   - if (getApp().globalData.guide_id) {
212   - dd.guide_id = getApp().globalData.guide_id;
213   - }
214 194  
215   - //门店的扫描识别码
216   - if (getApp().globalData.store_number) {
217   - dd.SunCode = encodeURIComponent(getApp().globalData.store_number.trim());
218   - }
  195 + app.request.get("/api/weshop/manager/managerConfig/get", {
  196 + data: {
  197 + storeId: getApp().globalData.setting.stoid
  198 + },
  199 + success: function (res2) {
  200 + if (res2.data.code == 0) {
  201 + if (res2.data.data.is_newphone == 1) {
  202 + var dd = {
  203 + oauth: "miniapp",
  204 + nickname: a.clear_word(r.nickName),
  205 + head_pic: r.avatarUrl,
  206 + sex: r.gender,
  207 + terminal: "miniapp",
  208 + sessionKey: sessionKey,
  209 + openid: openid,
  210 + code: e.code,
  211 + isNewPhone: 1,
  212 + store_id: getApp().globalData.setting.stoid,
  213 + };
  214 + } else {
  215 + var dd = {
  216 + oauth: "miniapp",
  217 + nickname: a.clear_word(r.nickName),
  218 + head_pic: r.avatarUrl,
  219 + sex: r.gender,
  220 + terminal: "miniapp",
  221 + sessionKey: sessionKey,
  222 + openid: openid,
  223 + encryptedData: e.encryptedData,
  224 + iv: e.iv,
  225 + store_id: getApp().globalData.setting.stoid,
  226 + };
  227 + }
219 228  
220   - console.log("-----会员注册的信息-------");
221   - console.log(dd);
222 229  
  230 + //--如果有邀请人的时候--
  231 + if (th.data.first_leader) {
  232 + dd.first_leader = th.data.first_leader;
  233 + }
  234 + //-- 导购会员ID --
  235 + if (getApp().globalData.guide_id) {
  236 + dd.guide_id = getApp().globalData.guide_id;
  237 + }
223 238  
224   - var need_go = 0;
225   - //如果有需要完善的信息没有完善,就需要跳转
226   - if (th.data.name_need_go) { need_go = 1; }
227   - if (th.data.birth_need_go) { need_go = 1; }
228   - if (th.data.idcard_need_go) { need_go = 1; }
229   - if (th.data.address_need_go) { need_go = 1; }
230   - if (th.data.pick_need_go) { need_go = 1; }
231   - if (th.data.sex_need_go) { need_go = 1; }
232   - if (th.data.introducer_need_go) { need_go = 1; }
  239 + //门店的扫描识别码
  240 + if (getApp().globalData.store_number) {
  241 + dd.SunCode = encodeURIComponent(getApp().globalData.store_number.trim());
  242 + }
233 243  
234   - if (need_go) {
  244 + console.log("-----会员注册的信息-------");
  245 + console.log(dd);
235 246  
236   - var req_data = {
237   - sessionKey: sessionKey,
238   - encryptedData: e.encryptedData,
239   - iv: e.iv,
240   - store_id: getApp().globalData.setting.stoid,
241   - }
242   - //-- 获取一下手机 --
243   - getApp().request.promiseGet("/api/weshop/users/getmobile", { data: req_data }).then(res => {
244   - if (res.data.code == 0) {
245   - dd.mobile = res.data.data;
246   - getApp().globalData.zc_dd = dd;
247   - wx.redirectTo({
248   - url: "/packageA/pages/profile/profile?is_back=1"
249   - })
250   - }
251   - })
252 247  
253   - } else {
254   - if (th.data.is_lable_set) {
255   - var req_data = {
256   - sessionKey: sessionKey,
257   - encryptedData: e.encryptedData,
258   - iv: e.iv,
259   - store_id: getApp().globalData.setting.stoid,
260   - }
261   - //-- 获取一下手机 --
262   - getApp().request.promiseGet("/api/weshop/users/getmobile", { data: req_data }).then(res => {
263   - if (res.data.code == 0) {
264   - dd.mobile = res.data.data;
265   - getApp().globalData.zc_dd = dd;
266   - wx.redirectTo({
267   - url: "/packageE/pages/user/labels/labels?pageType=1"
  248 + var need_go = 0;
  249 + //如果有需要完善的信息没有完善,就需要跳转
  250 + if (th.data.name_need_go) { need_go = 1; }
  251 + if (th.data.birth_need_go) { need_go = 1; }
  252 + if (th.data.idcard_need_go) { need_go = 1; }
  253 + if (th.data.address_need_go) { need_go = 1; }
  254 + if (th.data.pick_need_go) { need_go = 1; }
  255 + if (th.data.sex_need_go) { need_go = 1; }
  256 + if (th.data.introducer_need_go) { need_go = 1; }
  257 +
  258 + if (need_go) {
  259 +
  260 + if (res2.data.data.is_newphone == 1) {
  261 + var req_data = {
  262 + sessionKey: sessionKey,
  263 + code: e.code,
  264 + isNewPhone: 1,
  265 + store_id: getApp().globalData.setting.stoid,
  266 + }
  267 + }else{
  268 + var req_data = {
  269 + sessionKey: sessionKey,
  270 + encryptedData: e.encryptedData,
  271 + iv: e.iv,
  272 + store_id: getApp().globalData.setting.stoid,
  273 + }
  274 + }
  275 + //-- 获取一下手机 --
  276 + getApp().request.promiseGet("/api/weshop/users/getmobile", { data: req_data }).then(res => {
  277 + if (res.data.code == 0) {
  278 + dd.mobile = res.data.data;
  279 + getApp().globalData.zc_dd = dd;
  280 + wx.redirectTo({
  281 + url: "/packageA/pages/profile/profile?is_back=1"
  282 + })
  283 + }
268 284 })
  285 +
  286 + } else {
  287 + if (th.data.is_lable_set) {
  288 + if (res2.data.data.is_newphone == 1) {
  289 + var req_data = {
  290 + sessionKey: sessionKey,
  291 + code: e.code,
  292 + isNewPhone: 1,
  293 + store_id: getApp().globalData.setting.stoid,
  294 + }
  295 + }else{
  296 + var req_data = {
  297 + sessionKey: sessionKey,
  298 + encryptedData: e.encryptedData,
  299 + iv: e.iv,
  300 + store_id: getApp().globalData.setting.stoid,
  301 + }
  302 + }
  303 +
  304 + //-- 获取一下手机 --
  305 + getApp().request.promiseGet("/api/weshop/users/getmobile", { data: req_data }).then(res => {
  306 + if (res.data.code == 0) {
  307 + dd.mobile = res.data.data;
  308 + getApp().globalData.zc_dd = dd;
  309 + wx.redirectTo({
  310 + url: "/packageE/pages/user/labels/labels?pageType=1"
  311 + })
  312 + }
  313 + })
  314 + } else {
  315 + this.setData({ sub: 1 });
  316 + wx.showLoading({
  317 + title: '处理中.',
  318 + mask: true
  319 + })
  320 + this.zu_ce(dd); //调用注册的函数
  321 + }
269 322 }
270   - })
271   - } else {
272   - this.setData({ sub: 1 });
273   - wx.showLoading({
274   - title: '处理中.',
275   - mask: true
276   - })
277   - this.zu_ce(dd); //调用注册的函数
278   - }
279   - }
280 323  
  324 +
  325 + } else {
  326 + return app.my_warnning("授权登入失败,请稍后再试!", 0, that);
  327 + }
  328 + },
  329 + failStatus: function (t) {
  330 + return app.my_warnning("授权登入失败,请稍后再试!", 0, that);
  331 + },
  332 + fail: function (t) {
  333 + return i.clearAuth(), i.alertLoginErrorAndGoHome(), !1;
  334 + }
  335 + });
281 336 },
282 337  
283 338 zu_ce: function (dd) {
... ... @@ -298,7 +353,7 @@ Page({
298 353 app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
299 354 if (res.data.code == 0) {
300 355 getApp().globalData.guide_id = res.data.data.id;
301   - getApp().globalData.guide_pick_id= res.data.data.pickup_id
  356 + getApp().globalData.guide_pick_id = res.data.data.pickup_id
302 357 }
303 358 })
304 359  
... ... @@ -369,7 +424,7 @@ Page({
369 424 app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
370 425 if (res.data.code == 0) {
371 426 getApp().globalData.guide_id = res.data.data.id;
372   - getApp().globalData.guide_pick_id= res.data.data.pickup_id
  427 + getApp().globalData.guide_pick_id = res.data.data.pickup_id
373 428 }
374 429 })
375 430  
... ...
packageE/pages/user/monthgiftbag/giftpackbuy/giftpackbuy.wxml
... ... @@ -65,7 +65,7 @@
65 65 </view>
66 66 <view class="content_box_button">
67 67 <view class="box_button_remark" >
68   - <text wx:if="{{ items.starTime1 < now}}">{{"已售:"+(items.giftQty+items.virtualSales)+"件"}}</text>
  68 + <text wx:if="{{ items.is_showbuynum==1 && items.starTime1 < now}}">{{"已售:"+(items.giftQty+items.virtualSales)+"件"}}</text>
69 69 </view>
70 70 <block wx:if="{{now > items.starTime1}}">
71 71 <view class="flex-vertical">
... ...
packageE/pages/user/monthgiftbag/monthgiftbag.js
... ... @@ -174,7 +174,16 @@ Page({
174 174 navigateTo: function (e) {
175 175 var th = this;
176 176 var url = e.currentTarget.dataset.url;
177   - getApp().goto(url);
  177 + let is_back = e.currentTarget.dataset.is_back
  178 + if (is_back==1) {
  179 + wx.showToast({
  180 + title: '该礼包已退款',
  181 + icon: 'none',
  182 + duration: 2000
  183 + })
  184 + }else{
  185 + getApp().goto(url);
  186 + }
178 187 },
179 188 //下拉事件
180 189 onReachBottom: function () {
... ...
packageE/pages/user/monthgiftbag/monthgiftbag.wxml
... ... @@ -23,7 +23,7 @@
23 23 </view>
24 24 <block wx:for="{{wareCard}}" wx:for-item="item" wx:for-index="index" wx:key="index">
25 25 <view class="content_box">
26   - <view class="content_box_ware" bindtap="navigateTo" data-url="/packageE/pages/user/monthgiftbag/giftpacklist/giftpacklist?isBuy=0&lbId={{item.lbId}}&cover_img={{item.cover_img}}&orderSn={{item.receive_ordersn}}&record_list_id={{item.record_list_id}}&is_receive={{item.is_receive}}">
  26 + <view class="content_box_ware" bindtap="navigateTo" data-is_back="{{item.is_back}}" data-url="/packageE/pages/user/monthgiftbag/giftpacklist/giftpacklist?isBuy=0&lbId={{item.lbId}}&cover_img={{item.cover_img}}&orderSn={{item.receive_ordersn}}&record_list_id={{item.record_list_id}}&is_receive={{item.is_receive}}">
27 27 <view class="content_box_img">
28 28 <!-- <image src="{{$GetInfo.imgHttp+item.$orig.lbUrl}}"></image> -->
29 29 <image wx:if="{{item.cover_img}}" src="{{iurl+item.cover_img}}" lazy-load="true" binderror="bind_bnerr2" data-errorimg="wareCard[{{index}}].cover_img"></image>
... ... @@ -93,10 +93,11 @@
93 93  
94 94 </view>
95 95 </view>
96   - <view class="content_box_button" bindtap="navigateTo" data-url="/packageE/pages/user/monthgiftbag/giftpacklist/giftpacklist?isBuy=0&lbId={{item.lbId}}&cover_img={{item.cover_img}}&orderSn={{item.receive_ordersn}}&record_list_id={{item.record_list_id}}&is_receive={{item.is_receive}}">
  96 + <view wx:if="{{item.is_back !=1}}" class="content_box_button" bindtap="navigateTo" data-url="/packageE/pages/user/monthgiftbag/giftpacklist/giftpacklist?isBuy=0&lbId={{item.lbId}}&cover_img={{item.cover_img}}&orderSn={{item.receive_ordersn}}&record_list_id={{item.record_list_id}}&is_receive={{item.is_receive}}">
97 97 <button wx:if="{{item.receive_ordersn}}">立即使用</button>
98 98 <button wx:else>立即领取</button>
99 99 </view>
  100 + <view class="content_box_button" style="color:#b9b5b5;" wx:else>已退款</view>
100 101 </view>
101 102 </block>
102 103 <block wx:if="{{is_read && wareCard.length<1 && is_get}}">
... ...
pages/activity/pind_list/pind_list.js
... ... @@ -85,13 +85,13 @@ Page({
85 85 onShow: function (t) {
86 86 getApp().check_can_share();
87 87 this.data.is_timer = 1;
88   - this.data.currentPage = 1;
89   - this.data.ismore = 1;
90   - var th = this;
91 88  
  89 + //this.data.currentPage = 1;
  90 + //this.data.ismore = 1;
  91 + var th = this;
92 92 //设置全局定时器
93 93 th.data.timer = setInterval(function () {
94   - th.countDown();
  94 + if(th.data.is_get) th.countDown();
95 95 }, 1000);
96 96 },
97 97  
... ... @@ -229,6 +229,7 @@ Page({
229 229 }
230 230 e.data.currentPage++;
231 231 }
  232 +
232 233 th.setData({
233 234 goodlist: alllist,
234 235 isshow: 1,
... ... @@ -313,6 +314,7 @@ Page({
313 314  
314 315 //图片失败,默认图片
315 316 bind_bnerr2: function (e) {
  317 +
316 318 var _errImg = e.target.dataset.errorimg;
317 319 var val = e.target.dataset.val;
318 320 if (val != "/public/images/default_goods_image_240.gif") {
... ...
pages/activity/pind_list/pind_list.wxml
... ... @@ -30,7 +30,7 @@
30 30 <view class="kill-list">
31 31 <view class="kill-item" wx:for="{{goodlist}}" wx:if="{{item.djs.hide==1}}">
32 32 <navigator class="kill-pic " url="{{!item.goods_type ? ('/pages/goods/goodsInfo/goodsInfo?prom_type=6&goods_id=' + item.goods_id+ '&prom_id=' + item.id):('/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?prom_type=6&goods_id=' + item.goods_id + '&prom_id=' + item.id)}}">
33   - <image class="wh100" src="{{url+item.original_img}}" data-val="{{item.original_img}}"
  33 + <image class="wh100" src="{{url}}{{item.original_img}}" data-val="{{item.original_img}}"
34 34 data-errorimg="goodlist[{{index}}].original_img" binderror="bind_bnerr2" lazy-load="true"></image>
35 35  
36 36 </navigator>
... ...
pages/cart/cart/cart.js
... ... @@ -900,26 +900,24 @@ Page({
900 900  
901 901 //-- 全部清除不选中 --
902 902 rq.promisePut("/api/weshop/cartService/update", {
903   - data: {
904   - id: item.id,
905   - selected: 0,
906   - store_id: oo.stoid
907   - }
  903 + data: {
  904 + id: item.id,
  905 + selected: 0,
  906 + store_id: oo.stoid
  907 + }
908 908 });
909 909  
910   -
911 910 await getApp().request.promiseGet("/api/weshop/serviceCard/get/" + oo.stoid + "/" + item.service_id, {}).then(res => {
912   - good = res.data.data;
  911 + if(res.data.code==0 && res.data.data){
  912 + good = res.data.data;
  913 + }
913 914 })
914 915 if (!good) {
915   - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
916   - // getApp().request.delete(url, {
917   - // success: function (t) {}
918   - // });
919   - th.disInvalid({
920   - ...item,
921   - original_img: good.imgUrl
922   - }, 1, 1);
  916 + //-- 找不到就要删除 --
  917 + var url = '/api/weshop/cartService/del/' + oo.stoid + '/' + item.id;
  918 + getApp().request.delete(url, {
  919 + success: function (t) {}
  920 + });
923 921 continue;
924 922 }
925 923  
... ... @@ -937,7 +935,7 @@ Page({
937 935 continue;
938 936 }
939 937  
940   - if (item.prom_type == 0) {
  938 + if (item.prom_type == 0 && !item.is_integral_normal && !item.is_pd_normal ) {
941 939 var prom = null;
942 940 var now = ut.gettimestamp();
943 941 await getApp().request.promiseGet(`/api/weshop/activitylist/listGoodActInfo2`, {
... ... @@ -3817,27 +3815,37 @@ Page({
3817 3815 var th = this;
3818 3816  
3819 3817 var ab = 0; //选中
3820   - var abc = 0; //
3821   - for (var i = 0; i < this.data.requestData.length; i++) {
3822   - var i_arr = this.data.requestData[i].goods;
3823   - for (var j = 0; j < i_arr.length; j++) {
3824   - if (i_arr[j].selected) {
3825   - glist += i_arr[j].id + ",";
3826   - ab = 1;
  3818 + var abc = 0;
  3819 +
  3820 + //如果有普通商品的时候
  3821 + if(this.data.requestData && this.data.requestData.length){
  3822 + for (var i = 0; i < this.data.requestData.length; i++) {
  3823 + var i_arr = this.data.requestData[i].goods;
  3824 + for (var j = 0; j < i_arr.length; j++) {
  3825 + if (i_arr[j].selected) {
  3826 + glist += i_arr[j].id + ",";
  3827 + ab = 1;
  3828 + }
3827 3829 }
3828 3830 }
3829 3831 }
3830 3832  
3831   - for (var ii = 0; ii < this.data.service_data.length; ii++) {
3832   - var i_arr = this.data.service_data[ii].goods;
3833   - for (var jj = 0; jj < i_arr.length; jj++) {
3834   - if (i_arr[jj].selected) {
3835   - slist += i_arr[jj].id + ",";
3836   - abc = 1;
  3833 + //如果有普通服务卡的时候
  3834 + if(this.data.service_data && this.data.service_data.length){
  3835 + for (var ii = 0; ii < this.data.service_data.length; ii++) {
  3836 + var i_arr = this.data.service_data[ii].goods;
  3837 + for (var jj = 0; jj < i_arr.length; jj++) {
  3838 + if (i_arr[jj].selected) {
  3839 + slist += i_arr[jj].id + ",";
  3840 + abc = 1;
  3841 + }
3837 3842 }
3838 3843 }
3839 3844 }
3840 3845  
  3846 +
  3847 +
  3848 +
3841 3849 if (ab == 0 && abc == 0) {
3842 3850 t.my_warnning("未选择商品或者服务卡", 0, th);
3843 3851 return false;
... ...
pages/cart/cart_wk/cart_wk.js
... ... @@ -311,6 +311,7 @@ Page({
311 311 jsarr.forEach(function (value, index) {
312 312 if (count >= value['rynum']) price = value['price'];
313 313 })
  314 +
314 315 var tail_money = (price * order_goods.goods_num - order['order_amount'] - order['user_money']).toFixed(2);
315 316  
316 317 tail_money = parseFloat(tail_money);
... ...
pages/goods/goodsInfo/buy_integral.wxml
... ... @@ -28,6 +28,7 @@
28 28  
29 29 <view class="flex" wx:if="{{def_pick_store && def_pick_store.pickup_name}}">
30 30 <text class="fs30 xc-black3 shop_name bold {{def_pick_store.distance!=null?'max':''}} ">{{def_pick_store.pickup_name}}</text>
  31 +
31 32 <view class="distance fs24 xc-ash" wx:if="{{def_pick_store.distance!=null}}">
32 33 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}
33 34  
... ...
pages/goods/goodsInfo/buy_pt.wxml
... ... @@ -51,8 +51,6 @@
51 51  
52 52 <view class="flex" wx:if="{{def_pick_store && def_pick_store.pickup_name}}">
53 53 <text class="fs30 xc-black3 shop_name {{def_pick_store.distance!=null?'max':''}} ">{{def_pick_store.pickup_name}}</text>
54   -
55   -
56 54 <view class="distance fs24 xc-ash" wx:if="{{def_pick_store.distance!=null}}">
57 55 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}
58 56  
... ...
pages/goods/goodsInfo/goodsInfo.wxml
... ... @@ -130,7 +130,6 @@
130 130 <view class="flex fs35 xc-qtsign">¥</view>
131 131 <view class="fs50 val">{{prom_price}}</view>
132 132 </view>
133   -
134 133 <view wx:if="{{is_retail_price}}" class="word-line fs20 xc-qtunit-price no_line_c" style="color:#fff !important ">零售价:¥{{filters.toFix(data.market_price,2)}}</view>
135 134 <view wx:else class="word-line no_line_x fs20 xc-qtunit-price" style="color:#fff !important ">¥{{filters.toFix(data.shop_price,2)}}</view>
136 135 </view>
... ...
pages/goods/goodsInfo/goodsInfo.wxss
... ... @@ -3135,8 +3135,8 @@ xc-ensure-div {
3135 3135 }
3136 3136  
3137 3137 .xc-qt-price .xc-qtunit-price {
3138   - margin-left: 6rpx;
3139   - margin-top: -4rpx;
  3138 + /*margin-left: 6rpx;*/
  3139 + /*margin-top: -4rpx;*/
3140 3140 }
3141 3141  
3142 3142 .xc-nanber {
... ...
pages/index/index/index.js
... ... @@ -316,7 +316,7 @@ Page({
316 316 }
317 317  
318 318 //--正再拼团中的处理--
319   - var url = "/api/weshop/order/pageTuan?pt_status=2&is_pt=1&store_id=" + os.stoid + "&pageSize=6&page=1"
  319 + var url = "/api/weshop/order/pageTuanNew?pt_status=2&is_pt=1&store_id=" + os.stoid + "&pageSize=6&page=1"
320 320 await getApp().request.promiseGet(url, {}).then(res => {
321 321 if (res.data.code == 0 && res.data.data && res.data.data.pageData) {
322 322 th.data.pt_timer_arr = res.data.data.pageData;
... ...
pages/team/team_ping/team_ping.js
... ... @@ -92,8 +92,7 @@ Page({
92 92  
93 93  
94 94 //获取订单表的信息根据活动user_id,pt_prom_id>0 AND pay_time>0
95   -
96   - await getApp().request.promiseGet("/api/weshop/order/pageTuan?"+where, {
  95 + await getApp().request.promiseGet("/api/weshop/order/pageTuanNew?"+where, {
97 96 data: { is_pt:1,store_id: os.stoid, user_id: user_id, pageSize: 6, page: this.data.currentPage,}
98 97 }).then(res => {
99 98 order = res.data.data.pageData;
... ... @@ -102,82 +101,130 @@ Page({
102 101  
103 102  
104 103 wx.showLoading({ title: "加载中"});
105   - for (i = 0; i < order.length; i++) {
106   - //获取订单从表信息
107   - await getApp().request.promiseGet("/api/weshop/ordergoods/pageGoods", {
108   - data: { store_id: os.stoid, order_id: order[i].order_id }
109   - }).then(res => {
110   - order_goods = res.data.data.pageData;
111   - order[i].order_goods = order_goods;
112   - order[i].gimage = ee.data.imageurl + order_goods[0]?.original_img;
113   - })
  104 + if(order && order.length){
  105 + for (i = 0; i < order.length; i++) {
114 106  
115   -
116   - //获取订单表信息根据上面查询的订单号order[i].pt_listno
117   - await getApp().request.promiseGet("/api/weshop/order/pagePtList", {
118   - data: { store_id: os.stoid, pt_listno: order[i].pt_listno,pageSize:60,page:1}
119   - }).then(res => {
120   - //console.log("ordertx");
121   - ordertx = res.data.data.pageData;
122   - //console.log(ordertx);
123   - order[i].tx=ordertx;
124   - })
  107 + //获取teamgroup中的值
  108 + await getApp().request.promiseGet("/api/weshop/teamgroup/page", {
  109 + data: { store_id: os.stoid, listno: order[i].pt_listno,pageSize:1,page:1}
  110 + }).then(res => {
  111 + team_g = res.data.data.pageData[0]
  112 + })
125 113  
126   - //获取teamgroup中的值
127   - await getApp().request.promiseGet("/api/weshop/teamgroup/page", {
128   - data: { store_id: os.stoid, listno: order[i].pt_listno,pageSize:1,page:1}
129   - }).then(res => {
130   - team_g = res.data.data.pageData[0]
131   -
132   - })
133 114  
134   - //获取预存使用金额
135   - await getApp().request.promiseGet("/api/weshop/orderMore/get/" + os.stoid + "/" + order[i].order_sn, {
136   - }).then(res => {
137   - if (res.data.code == 0 && res.data.data) {
138   - // data[ind].use_commission = res.data.data.use_commission;
139   - order[i].pre_cut = res.data.data.pre_cut; //是否使用预存,如果是使用预存不能单品退,只能整单退
140   - order[i].pre_json = res.data.data.pre_json; //是否使用预存,如果是使用预存不能单品退,只能整单退
  115 + switch (team_g.goods_type){
  116 + case 0:
  117 + //获取订单从表信息
  118 + await getApp().request.promiseGet("/api/weshop/ordergoods/pageGoods", {
  119 + data: { store_id: os.stoid, order_id: order[i].order_id }
  120 + }).then(res => {
  121 + order_goods = res.data.data.pageData;
  122 + order[i].order_goods = order_goods;
  123 + order[i].gimage = ee.data.imageurl + order_goods[0]?.original_img;
  124 + })
  125 +
  126 + //获取订单表信息根据上面查询的订单号order[i].pt_listno
  127 + await getApp().request.promiseGet("/api/weshop/order/pagePtList", {
  128 + data: { store_id: os.stoid, pt_listno: order[i].pt_listno,pageSize:60,page:1}
  129 + }).then(res => {
  130 + //console.log("ordertx");
  131 + ordertx = res.data.data.pageData;
  132 + //console.log(ordertx);
  133 + order[i].tx=ordertx;
  134 + })
  135 + //获取预存使用金额
  136 + await getApp().request.promiseGet("/api/weshop/orderMore/get/" + os.stoid + "/" + order[i].order_sn, {
  137 + }).then(res => {
  138 + if (res.data.code == 0 && res.data.data) {
  139 + // data[ind].use_commission = res.data.data.use_commission;
  140 + order[i].pre_cut = res.data.data.pre_cut; //是否使用预存,如果是使用预存不能单品退,只能整单退
  141 + order[i].pre_json = res.data.data.pre_json; //是否使用预存,如果是使用预存不能单品退,只能整单退
  142 + }
  143 + })
  144 + break;
  145 +
  146 + case 1:
  147 +
  148 + order[i].goods_type=1;
  149 + order[i].pre_cut=0;
  150 +
  151 + //获取order信息根据订单编号order_sn
  152 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/page", {
  153 + data: { store_id: os.stoid, order_id: order[i].order_id,}
  154 + }).then(res => {
  155 + order_goods = res.data.data.pageData;
  156 + order_goods[0].goods_num=order_goods[0].qty;
  157 + order_goods[0].goods_price=order_goods[0].price;
  158 + order[i].order_goods = order_goods;
  159 + })
  160 +
  161 +
  162 + //pt_tail_money 在从表
  163 + order[i].pt_tail_money=order_goods[0].pt_tail_money;
  164 +
  165 + //-- 获取商品信息 --
  166 + await getApp().request.promiseGet("/api/weshop/serviceCard/get/" + os.stoid + "/" + order_goods[0].card_id, {
  167 + }).then(res => {
  168 + //-- 商品地址 --
  169 + order[i].gimage = ee.data.imageurl + res.data.data.imgUrl
  170 + order[i].order_goods[0].goods_name= res.data.data.serviceName;
  171 + })
  172 +
  173 + //-- 多少人参团头像 --
  174 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/pagePtList", {
  175 + data: {
  176 + store_id: o.stoid,
  177 + pt_listno: team_g.listno,
  178 + }
  179 + }).then(res => {
  180 + ordertx = res.data.data.pageData;
  181 + order[i].tx=ordertx;
  182 + })
  183 +
  184 + break;
141 185 }
142   - })
143   -
144 186  
145   - if (order[i].is_zsorder== 4) {
146   - var num = 0;
147   - var jt_data = JSON.parse(order[i].ct_rylist);
148   - for (var m in jt_data) {
149   - if (jt_data[m].rynum > num) num = jt_data[m].rynum;
  187 +
  188 + if (order[i].is_zsorder== 4) {
  189 + var num = 0;
  190 + var jt_data = JSON.parse(order[i].ct_rylist);
  191 + for (var m in jt_data) {
  192 + if (jt_data[m].rynum > num) num = jt_data[m].rynum;
  193 + }
  194 + order[i].max_ct_num = num;
150 195 }
151   - order[i].max_ct_num = num;
152   - }
153 196  
154   - var head=[];
155   - if(team_g.is_xuni_ct) {
  197 + var head=[];
  198 + if(team_g.is_xuni_ct) {
156 199 head=team_g.xuni_head_id.split(",");
157 200 order[i].is_xuni_ct=1;
158   - }
  201 + }
  202 +
  203 + var sf_num = order[i].ct_num;
  204 + if (order[i].ct_num>=3){ sf_num=3;}
  205 + sf_num=sf_num-ordertx.length;
  206 + if(sf_num>0) {
  207 + var arr = [];
  208 + for(var j=0;j<sf_num;j++){
  209 + if(team_g.is_xuni_ct){
  210 + arr.push(head[j]);
  211 + }else{
  212 + arr.push(j);
  213 + }
159 214  
160   - var sf_num = order[i].ct_num;
161   - if (order[i].ct_num>=3){ sf_num=3;}
162   - sf_num=sf_num-ordertx.length;
163   - if(sf_num>0) {
164   - var arr = [];
165   - for(var j=0;j<sf_num;j++){
166   - if(team_g.is_xuni_ct){
167   - arr.push(head[j]);
168   - }else{
169   - arr.push(j);
170 215 }
171   -
  216 + order[i].sf_num=arr;
172 217 }
173   - order[i].sf_num=arr;
174   - }
175 218  
  219 + }
  220 + //设置值
  221 + for (var ii = 0; ii < order.length;ii++){
  222 + this.data.requestData.push(order[ii]);
  223 + }
176 224 }
177   - //设置值
178   - for (var ii = 0; ii < order.length;ii++){
179   - this.data.requestData.push(order[ii]);
180   - }
  225 +
  226 +
  227 +
181 228  
182 229 wx.hideLoading();
183 230 ee.setData({ order: this.data.requestData, ordertx: ordertx, isgo:1});
... ... @@ -195,9 +242,13 @@ Page({
195 242 //----跳转到拼单success展示-----
196 243 go_team_success:function(e) {
197 244 var order_sn=e.currentTarget.dataset.ordsn;
198   - wx.navigateTo({
199   - url: "/pages/team/team_success/team_success?ordersn=" + order_sn,
200   - });
  245 + var goods_type=e.currentTarget.dataset.goods_type;
  246 + var url="/pages/team/team_success/team_success?ordersn=" + order_sn;
  247 + if(goods_type==1){
  248 + url="/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + order_sn;
  249 + }
  250 + getApp().goto(url);
  251 +
201 252 },
202 253  
203 254 onHide:function(){
... ...
pages/team/team_ping/team_ping.wxml
... ... @@ -11,7 +11,7 @@
11 11 <!--单号显示-->
12 12 <view class='wu' wx:if="{{order.length>0}}">
13 13 <view class='pd' wx:for="{{order}}" wx:key>
14   - <view class='pd-list' bindtap="go_team_success" data-ordsn="{{item.order_sn}}">
  14 + <view class='pd-list' bindtap="go_team_success" data-ordsn="{{item.order_sn}}" data-goods_type="{{item.goods_type}}">
15 15 <!--top-->
16 16 <view class='pd-list-top'>
17 17 <!-- <image src='{{iurl}}/miniapp/images/dianpu.png'></image> -->
... ... @@ -33,7 +33,11 @@
33 33 <view class="flex">
34 34 <text class='fs24 xc-wc {{item.pt_status==1?"xc-rmbs":"xc-rmb"}}'>¥</text>
35 35 <view class='pd-jg xc-wc'>{{item.order_goods[0].goods_price}}</view>
36   - <view class="flex no_line_c word-line xc-ash {{item.pt_status==1?'xc-rmbs':'xc-rmb'}}"><text class="fs24 xc-black"></text><text class="fs24 xc-wc">¥</text><text class="fs26 xc-wc">{{item.order_goods[0].shop_price || item.order_goods[0].market_price}}</text> </view>
  36 + <view hidden="{{item.goods_type}}" class="flex no_line_c word-line xc-ash {{item.pt_status==1?'xc-rmbs':'xc-rmb'}}">
  37 + <text class="fs24 xc-black"></text>
  38 + <text class="fs24 xc-wc">¥</text>
  39 + <text class="fs26 xc-wc">{{item.order_goods[0].shop_price || item.order_goods[0].market_price}}</text>
  40 + </view>
37 41 </view>
38 42  
39 43 <view class="xc-img-frame" wx:if="{{item.pt_status==2 || item.pt_status==4 || item.pt_status==5 || item.pt_status==6}}">
... ...
pages/team/team_show/team_show.js
... ... @@ -982,6 +982,14 @@ Page({
982 982 url+="?first_leader="+getApp().globalData.user_id;
983 983 }
984 984  
  985 + if(url.indexOf('goods_id')==-1){
  986 + url+="&goods_id="+this.data.goods.goods_id;
  987 + }
  988 + if(url.indexOf('tg_id')==-1){
  989 + url+="&tg_id="+this.data.teamgroup.id;
  990 + }
  991 +
  992 +
985 993 return {
986 994 path:url,
987 995 title: "商品分类",
... ...
pages/team/team_success/team_success.js
... ... @@ -84,7 +84,11 @@ Page({
84 84 th.setData({poster:json_data})
85 85 }
86 86 }
87   - })
  87 + })
  88 +
  89 + getApp().getConfig(function (e) {
  90 + th.setData({sto_sele_name_1: e.store_name})
  91 + })
88 92 },
89 93 onShow:function () {
90 94 getApp().check_can_share(this);
... ... @@ -462,223 +466,227 @@ Page({
462 466 var share_title=th.data.teamlist.share_title;
463 467 if(!share_title)
464 468 share_title=th.data.teamlist.title;
465   - context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
466   -
467   - //-- 是自定义海报的情况下 --
468   - if(th.data.poster && parseInt(th.data.poster.style)==2){
469   - //在线上分享人的情况下
470   - if(parseInt(th.data.poster.show_headpic)){
471   - //获取坐标
472   - var x=parseFloat(th.data.poster.head_x)*2;
473   - var y=parseFloat(th.data.poster.head_y)*2;
474   - var x1=(x+90) *unit;
475   - var y1=(y+50) *unit;
476   - //--昵称---
477   - context.setFontSize(24 * unit)
478   - context.setFillStyle("black")
479   - context.fillText(app.globalData.userInfo.nickname, x1, y1);
480   - var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit;
481   - //强烈推荐 改许程
482   - var tj_path = "../../../images/share/q_tj.png";
483   - context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit);
484   - context.setFontSize(16 * unit)
485   - context.setLineJoin('round'); //交点设置成圆角
486   - context.setFillStyle("white")
487   - context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit);
488   - }
489   -
490   - }else{
491   - //--昵称---
492   - context.setFontSize(24 * unit)
493   - context.setFillStyle("black")
494   - context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit);
495   - var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;
496   - //强烈推荐
497   - var tj_path = "../../../images/share/q_tj.png";
498   - context.drawImage(tj_path, 152 * unit + width, 54 * unit, 110 * unit, 30 * unit);
499   - context.setFontSize(18 * unit)
500   - context.setFillStyle("white")
501   - context.fillText('强烈推荐', 152 * unit + width + 20 * unit, 76 * unit);
502   - }
503   -
504   -
505   - //---产品名称---
506   - context.setFontSize(21.3 * unit);
507   - context.setFillStyle("black");
508   -
509   -
510   - getApp().draw_Text(context,share_title,
511   - 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit);
512   - //------产品的价格-------
513   - context.setFontSize(24 * unit)
514   - context.setFillStyle("red")
515   -
516   - var pri0 = th.data.teamlist.price;
517   - pri0=parseFloat(pri0).toFixed(2);
518   - var wd1=th.data.screenWidth-ut.measureText(pri0, 31 * unit)-25;
519   - context.fillText("¥", wd1-15, 180 * unit);
520   - context.setFontSize(31 * unit)
521   - context.fillText(pri0, wd1, 180 * unit);
522   -
523   - //---市场价划掉---
524   - context.setFillStyle("gray")
525   - context.setFontSize(22 * unit)
526   - pri0= "¥" + parseFloat(th.data.goods.market_price).toFixed(2);
527   - var wd2=th.data.screenWidth-ut.measureText(pri0, 22 * unit)-25;
528   - context.fillText(pri0, wd2, 210 * unit);
529   -
530   - context.setStrokeStyle('gray')
531   - context.setLineWidth(1 * unit)
532   - context.moveTo(wd2-5, 204 * unit)
533   - context.lineTo(wd2+ut.measureText(pri0, 22 * unit)+5, 204 * unit)
534   - context.stroke();
535   - console.log(th.data.share_img_localpath);
536   -
537   -
538   - //---中间大图---
539   - context.drawImage(th.data.share_img_localpath, 68 * unit, 242 * unit, 410 * unit, 410 * unit);
540   -
541   - var g_ct=th.data.teamlist.ct_num-th.data.ordertx.length;
542   - var wz= "";
543   - if(g_ct>0) wz="还差"+g_ct+"人成团,";
544   - else{
545   - g_ct= th.data.max_num -th.data.ordertx.length;
546   - if(g_ct>0){
547   - wz="还差"+g_ct+"人享最低优惠,";
  469 +
  470 + if (!th.data.share_b_img){ // 如果是普通商品,绘制新海报
  471 + th.drawPoster(context, unit, th.data.share_img_localpath, vpath, type);
  472 + } else {
  473 + context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
  474 + //-- 是自定义海报的情况下 --
  475 + if(th.data.poster && parseInt(th.data.poster.style)==2){
  476 + //在线上分享人的情况下
  477 + if(parseInt(th.data.poster.show_headpic)){
  478 + //获取坐标
  479 + var x=parseFloat(th.data.poster.head_x)*2;
  480 + var y=parseFloat(th.data.poster.head_y)*2;
  481 + var x1=(x+90) *unit;
  482 + var y1=(y+50) *unit;
  483 + //--昵称---
  484 + context.setFontSize(24 * unit)
  485 + context.setFillStyle("black")
  486 + context.fillText(app.globalData.userInfo.nickname, x1, y1);
  487 + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit;
  488 + //强烈推荐 改许程
  489 + var tj_path = "../../../images/share/q_tj.png";
  490 + context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit);
  491 + context.setFontSize(16 * unit)
  492 + context.setLineJoin('round'); //交点设置成圆角
  493 + context.setFillStyle("white")
  494 + context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit);
  495 + }
  496 +
548 497 }else{
549   - wz="已享受最优惠,";
  498 + //--昵称---
  499 + context.setFontSize(24 * unit)
  500 + context.setFillStyle("black")
  501 + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit);
  502 + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;
  503 + //强烈推荐
  504 + var tj_path = "../../../images/share/q_tj.png";
  505 + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 110 * unit, 30 * unit);
  506 + context.setFontSize(18 * unit)
  507 + context.setFillStyle("white")
  508 + context.fillText('强烈推荐', 152 * unit + width + 20 * unit, 76 * unit);
550 509 }
551   - }
552 510  
553   - //-------大图后面就不一样了-----------
554   - switch (type) {
555   - case 1://会员团和商家团的展示
556   - //---画线---
557   - context.setLineWidth(1 * unit)
558   - context.moveTo(32 * unit, 670 * unit)
559   - context.lineTo(520 * unit, 670 * unit)
560   - context.stroke();
561   -
562   - //---文字---
563   - context.setFontSize(22 * unit)
564   - context.setFillStyle("black")
565   - context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit);
566   -
567   - //绘制成团图片
568   - var ct_img ="../../../images/share/ct_num.png";
569   - context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit);
570   - var ct_num = th.data.teamlist.ct_num;
571   - context.setFontSize(14 * unit)
572   -
573   - context.setFillStyle("red")
574   - if(ct_num<10){
575   - context.fillText(ct_num+"人拼团", 92 * unit, 760 * unit);
  511 +
  512 + //---产品名称---
  513 + context.setFontSize(21.3 * unit);
  514 + context.setFillStyle("black");
  515 +
  516 +
  517 + getApp().draw_Text(context,share_title,
  518 + 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit);
  519 + //------产品的价格-------
  520 + context.setFontSize(24 * unit)
  521 + context.setFillStyle("red")
  522 +
  523 + var pri0 = th.data.teamlist.price;
  524 + pri0=parseFloat(pri0).toFixed(2);
  525 + var wd1=th.data.screenWidth-ut.measureText(pri0, 31 * unit)-25;
  526 + context.fillText("¥", wd1-15, 180 * unit);
  527 + context.setFontSize(31 * unit)
  528 + context.fillText(pri0, wd1, 180 * unit);
  529 +
  530 + //---市场价划掉---
  531 + context.setFillStyle("gray")
  532 + context.setFontSize(22 * unit)
  533 + pri0= "¥" + parseFloat(th.data.goods.market_price).toFixed(2);
  534 + var wd2=th.data.screenWidth-ut.measureText(pri0, 22 * unit)-25;
  535 + context.fillText(pri0, wd2, 210 * unit);
  536 +
  537 + context.setStrokeStyle('gray')
  538 + context.setLineWidth(1 * unit)
  539 + context.moveTo(wd2-5, 204 * unit)
  540 + context.lineTo(wd2+ut.measureText(pri0, 22 * unit)+5, 204 * unit)
  541 + context.stroke();
  542 + console.log(th.data.share_img_localpath);
  543 +
  544 +
  545 + //---中间大图---
  546 + context.drawImage(th.data.share_img_localpath, 68 * unit, 242 * unit, 410 * unit, 410 * unit);
  547 +
  548 + var g_ct=th.data.teamlist.ct_num-th.data.ordertx.length;
  549 + var wz= "";
  550 + if(g_ct>0) wz="还差"+g_ct+"人成团,";
  551 + else{
  552 + g_ct= th.data.max_num -th.data.ordertx.length;
  553 + if(g_ct>0){
  554 + wz="还差"+g_ct+"人享最低优惠,";
576 555 }else{
577   - context.fillText(ct_num+"人拼团", 86 * unit, 760 * unit);
  556 + wz="已享受最优惠,";
578 557 }
579   - context.setFontSize(22 * unit)
580   - context.fillText("已拼"+th.data.teamlist.buy_num+"份", 166 * unit, 763 * unit);
581   - context.setFillStyle("gray")
582   - context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 826 * unit);
583   - context.setFillStyle("black")
584   -
585   - context.setFontSize(22 * unit)
586   - context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit);
587   - //---二维吗图---
588   - //-- 自定义海报 --
589   - if(th.data.poster){
590   - var erm_x= parseFloat(th.data.poster.ewm_x)*2;
591   - var erm_y= parseFloat(th.data.poster.ewm_y)*2;
592   - context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
593   - }else{
594   - //---二维吗图---
595   - context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
596   - }
597   - break
598   - case 2://阶梯团的展示
599   - //---画线---
600   - context.setLineWidth(1 * unit)
601   - context.moveTo(32 * unit, 670 * unit)
602   - context.lineTo(520 * unit, 670 * unit)
603   - context.stroke();
604   - //---文字---
605   - context.setFontSize(22 * unit)
606   - context.setFillStyle("black")
607   - context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit);
608   - //---绘制中间阶梯的价格---
609   - var list= JSON.parse(th.data.teamlist.ct_rylist);
610   - for(var i=0; i<list.length;i++){
611   - var item=list[i];
612   - var wi=i*90*unit;
613   - context.setFontSize(16 * unit)
  558 + }
  559 +
  560 + //-------大图后面就不一样了-----------
  561 + switch (type) {
  562 + case 1://会员团和商家团的展示
  563 + //---画线---
  564 + context.setLineWidth(1 * unit)
  565 + context.moveTo(32 * unit, 670 * unit)
  566 + context.lineTo(520 * unit, 670 * unit)
  567 + context.stroke();
  568 +
  569 + //---文字---
  570 + context.setFontSize(22 * unit)
  571 + context.setFillStyle("black")
  572 + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit);
  573 +
  574 + //绘制成团图片
  575 + var ct_img ="../../../images/share/ct_num.png";
  576 + context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit);
  577 + var ct_num = th.data.teamlist.ct_num;
  578 + context.setFontSize(14 * unit)
  579 +
614 580 context.setFillStyle("red")
615   - context.fillText("¥", 40 * unit+wi, 756 * unit);
  581 + if(ct_num<10){
  582 + context.fillText(ct_num+"人拼团", 92 * unit, 760 * unit);
  583 + }else{
  584 + context.fillText(ct_num+"人拼团", 86 * unit, 760 * unit);
  585 + }
616 586 context.setFontSize(22 * unit)
617   - var pri=parseFloat(item.price).toFixed(2);
618   - context.fillText(pri, 56 * unit+wi, 756 * unit);
  587 + context.fillText("已拼"+th.data.teamlist.buy_num+"份", 166 * unit, 763 * unit);
619 588 context.setFillStyle("gray")
620   - context.fillText("满"+item.rynum+"人", 40 * unit+wi, 786 * unit);
621   - }
  589 + context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 826 * unit);
  590 + context.setFillStyle("black")
622 591  
623   - //----------------下面部分----------------
624   - context.setFillStyle("gray")
625   - context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 830 * unit);
626   - context.setFillStyle("black")
627   - context.setFontSize(22 * unit)
628   -
629   - context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit);
630   - //---二维吗图---
631   - //-- 自定义海报 --
632   - if(th.data.poster){
633   - var erm_x= parseFloat(th.data.poster.ewm_x)*2;
634   - var erm_y= parseFloat(th.data.poster.ewm_y)*2;
635   - context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
636   - }else{
637   - //---二维吗图---
638   - context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
639   - }
640   - break
641   - }
  592 + context.setFontSize(22 * unit)
  593 + context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit);
  594 + //---二维吗图---
  595 + //-- 自定义海报 --
  596 + if(th.data.poster){
  597 + var erm_x= parseFloat(th.data.poster.ewm_x)*2;
  598 + var erm_y= parseFloat(th.data.poster.ewm_y)*2;
  599 + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
  600 + }else{
  601 + //---二维吗图---
  602 + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
  603 + }
  604 + break
  605 + case 2://阶梯团的展示
  606 + //---画线---
  607 + context.setLineWidth(1 * unit)
  608 + context.moveTo(32 * unit, 670 * unit)
  609 + context.lineTo(520 * unit, 670 * unit)
  610 + context.stroke();
  611 + //---文字---
  612 + context.setFontSize(22 * unit)
  613 + context.setFillStyle("black")
  614 + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit);
  615 + //---绘制中间阶梯的价格---
  616 + var list= JSON.parse(th.data.teamlist.ct_rylist);
  617 + for(var i=0; i<list.length;i++){
  618 + var item=list[i];
  619 + var wi=i*90*unit;
  620 + context.setFontSize(16 * unit)
  621 + context.setFillStyle("red")
  622 + context.fillText("¥", 40 * unit+wi, 756 * unit);
  623 + context.setFontSize(22 * unit)
  624 + var pri=parseFloat(item.price).toFixed(2);
  625 + context.fillText(pri, 56 * unit+wi, 756 * unit);
  626 + context.setFillStyle("gray")
  627 + context.fillText("满"+item.rynum+"人", 40 * unit+wi, 786 * unit);
  628 + }
642 629  
643   - //--- 如果是自定义海报的时候 ---
644   - if(th.data.poster && parseInt(th.data.poster.style)==2){
645   -
646   - //如果显示会员信息的话
647   - if(parseInt(th.data.poster.show_headpic)){
648   - //获取坐标
649   - var x= parseFloat(th.data.poster.head_x)*2;
650   - var y=parseFloat(th.data.poster.head_y)*2;
651   - //---绘制圆形要放在最后----
652   - context.save();
653   - context.beginPath();
654   - var h_x = x* unit;
655   - var h_y = y * unit;
656   - var h_r = 40 * unit;
657   - var cx = h_x + h_r;
658   - var cy = h_y + h_r;
659   - context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
660   - context.closePath();
661   - context.fill();
662   - context.clip();
663   - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
664   - context.restore();
665   - }
666   -
667   - }else{
668   - //---绘制圆形要放在最后----
669   - context.save();
670   - context.beginPath();
671   - var h_x = 60 * unit;
672   - var h_y = 24 * unit;
673   - var h_r = 40 * unit;
674   - var cx = h_x + h_r;
675   - var cy = h_y + h_r;
676   - context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
677   - context.closePath();
678   - context.fill();
679   - context.clip();
680   - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
681   - context.restore();
  630 + //----------------下面部分----------------
  631 + context.setFillStyle("gray")
  632 + context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 830 * unit);
  633 + context.setFillStyle("black")
  634 + context.setFontSize(22 * unit)
  635 +
  636 + context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit);
  637 + //---二维吗图---
  638 + //-- 自定义海报 --
  639 + if(th.data.poster){
  640 + var erm_x= parseFloat(th.data.poster.ewm_x)*2;
  641 + var erm_y= parseFloat(th.data.poster.ewm_y)*2;
  642 + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit);
  643 + }else{
  644 + //---二维吗图---
  645 + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit);
  646 + }
  647 + break
  648 + }
  649 +
  650 + //--- 如果是自定义海报的时候 ---
  651 + if(th.data.poster && parseInt(th.data.poster.style)==2){
  652 +
  653 + //如果显示会员信息的话
  654 + if(parseInt(th.data.poster.show_headpic)){
  655 + //获取坐标
  656 + var x= parseFloat(th.data.poster.head_x)*2;
  657 + var y=parseFloat(th.data.poster.head_y)*2;
  658 + //---绘制圆形要放在最后----
  659 + context.save();
  660 + context.beginPath();
  661 + var h_x = x* unit;
  662 + var h_y = y * unit;
  663 + var h_r = 40 * unit;
  664 + var cx = h_x + h_r;
  665 + var cy = h_y + h_r;
  666 + context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
  667 + context.closePath();
  668 + context.fill();
  669 + context.clip();
  670 + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
  671 + context.restore();
  672 + }
  673 +
  674 + }else{
  675 + //---绘制圆形要放在最后----
  676 + context.save();
  677 + context.beginPath();
  678 + var h_x = 60 * unit;
  679 + var h_y = 24 * unit;
  680 + var h_r = 40 * unit;
  681 + var cx = h_x + h_r;
  682 + var cy = h_y + h_r;
  683 + context.arc(cx, cy, h_r, 0, Math.PI * 2, false);
  684 + context.closePath();
  685 + context.fill();
  686 + context.clip();
  687 + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);
  688 + context.restore();
  689 + }
682 690 }
683 691  
684 692 //把画板内容绘制成图片,并回调 画板图片路径
... ... @@ -885,6 +893,147 @@ Page({
885 893  
886 894 },
887 895  
  896 + //-- 先版绘制 --
  897 + drawPoster(context, unit, img, vpath, type) {
  898 +
  899 + var self=this;
  900 + self.data.prom_act=this.data.teamlist;
  901 +
  902 + // 1.灰色背景
  903 + context.setFillStyle('#f2f1f6');
  904 + context.rect(0, 0, 554 * unit, 899 * unit);
  905 + context.fill();
  906 +
  907 + // 2.商城名称
  908 + let shopName = this.data.sto_sele_name_1;
  909 + context.setTextAlign('center');
  910 + context.setFontSize(26 * unit);
  911 + context.setFillStyle('black');
  912 + context.fillText(shopName, 277 * unit, 60 * unit);
  913 +
  914 + // 3.推荐来源
  915 + let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`;
  916 + context.setTextAlign('center');
  917 + context.setFontSize(22 * unit);
  918 + context.setFillStyle('#96959a');
  919 + context.fillText(fromText, 277 * unit, 105 * unit);
  920 +
  921 + // 4.海报背景
  922 + context.setFillStyle('white');
  923 + context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);
  924 +
  925 + // 5.商品图片
  926 + // 图片的x坐标
  927 + let bg_x = 37 * unit
  928 + // 图片的y坐标
  929 + let bg_y = 157 * unit
  930 + // 图片宽度
  931 + let bg_w = 480 * unit
  932 + // 图片高度
  933 + let bg_h = 474 * unit
  934 + // 图片圆角
  935 + let bg_r = 4
  936 + // 绘制海报背景图片圆角
  937 + context.save()
  938 + context.beginPath()
  939 + context.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5)
  940 + context.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2)
  941 + context.arc(bg_x + bg_w, bg_y + bg_h, bg_r, 0, Math.PI * 0.5)
  942 + context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI)
  943 + context.clip()
  944 + context.drawImage(img, bg_x, bg_y, bg_w, bg_h);
  945 + context.restore();
  946 +
  947 + // 6.强烈推荐
  948 + let src = '';
  949 + context.beginPath();
  950 +
  951 +
  952 + if (type == 1) { // 商家和会员团
  953 + src = '../../../images/share/ct_num.png';
  954 + context.drawImage(src, 54 * unit, 648 * unit, 120 * unit, 30 * unit);
  955 + context.setTextAlign('left');
  956 +
  957 + let ct_num = self.data.prom_act.ct_num;
  958 + context.setFontSize(16 * unit)
  959 + context.font = 'normal';
  960 + context.setFillStyle("red")
  961 + if (ct_num < 10) {
  962 + context.fillText(ct_num + "人拼团", 100 * unit, 670 * unit);
  963 + } else {
  964 + context.fillText(ct_num + "人拼团", 96 * unit, 670 * unit);
  965 + }
  966 + context.setFontSize(22 * unit)
  967 + context.fillText("已拼" + self.data.prom_act.buy_num + "份", 186 * unit, 672 * unit);
  968 + }
  969 +
  970 + if (type == 2) { // 阶梯团
  971 + let list = self.data.prom_act.ct_rylist;
  972 + if(ut.isString(list)){
  973 + list=JSON.parse(list);
  974 + }
  975 +
  976 + for (let i = 0; i < list.length; i++) {
  977 + let item = list[i];
  978 + let wi = i * 90 * unit;
  979 + context.font = 'normal';
  980 + context.setTextAlign('left');
  981 + context.setFontSize(16 * unit)
  982 + context.setFillStyle("red")
  983 + context.fillText("¥", 50 * unit + wi, 680 * unit);
  984 + context.setFontSize(22 * unit)
  985 + let pri = parseFloat(item.price).toFixed(2);
  986 + context.fillText(pri, 66 * unit + wi, 680 * unit);
  987 +
  988 +
  989 + context.setFillStyle("gray")
  990 + context.fillText("满" + item.rynum + "人", 50 * unit + wi, 716 * unit);
  991 + }
  992 +
  993 +
  994 + var wp= 52 * unit;
  995 + var hp=755 * unit
  996 + self.draw_pos_price(context,wp,hp,self.data.goods.market_price,unit);
  997 + }
  998 +
  999 +
  1000 + // 8.商品标题
  1001 + context.setFontSize(20 * unit);
  1002 + context.setFillStyle('#898989');
  1003 + getApp().draw_Text(context, this.data.goods.goods_name, 54 * unit, 800 * unit, 240 * unit, 280 * unit, unit, 1);
  1004 + // 9.小程序码
  1005 + context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit);
  1006 + context.setFontSize(16 * unit);
  1007 + context.setFillStyle('#777');
  1008 + context.fillText('长按识别二维码', 378 * unit, 810 * unit);
  1009 +
  1010 + // 10.竖线
  1011 + context.beginPath();
  1012 + context.setFillStyle('#eee');
  1013 + context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit);
  1014 + context.fill();
  1015 + },
  1016 +
  1017 +
  1018 + //---市场价划掉---
  1019 + draw_pos_price(context, w, h, market_price, unit) {
  1020 +
  1021 + if (!this.data.sys_switch) return false;
  1022 + if (!this.data.sys_switch.is_retail_price) return false;
  1023 +
  1024 + context.setFillStyle("gray")
  1025 + context.setFontSize(22 * unit)
  1026 + var pri0 = "¥" + market_price.toFixed(2);
  1027 + context.fillText(pri0, w, h);
  1028 +
  1029 + var c_h = h - 6;
  1030 + context.setStrokeStyle('gray');
  1031 + context.setLineWidth(1 * unit);
  1032 + context.moveTo(w - 5, c_h);
  1033 + context.lineTo(w + ut.measureText(pri0, 22 * unit) + 5, c_h);
  1034 + context.stroke();
  1035 +
  1036 + },
888 1037  
889 1038  
890 1039  
... ...
pages/user/order_detail/order_detail.js
... ... @@ -388,6 +388,8 @@ Page({
388 388 }
389 389  
390 390 var wlist = "";
  391 + var the_yh_map={}; //判断那种商品的prom_type为0,正在做的活动是优惠促销
  392 +
391 393 for (var i in order_goods) {
392 394 var good = order_goods[i];
393 395  
... ... @@ -728,10 +730,8 @@ Page({
728 730 }
729 731 //-- 优惠促销活动没有超出限购的话 --
730 732 if(yh_check){
731   - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买';
732   - th.toast(content);
733   - t_ok = 0;
734   - break;
  733 + if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[];
  734 + the_yh_map[gg.prom_id].push(good);
735 735 }
736 736  
737 737 break
... ... @@ -784,6 +784,40 @@ Page({
784 784 }
785 785 }
786 786 }
  787 +
  788 +
  789 + //如果有普通商品要判断能不到达到优惠促销的条件
  790 + if(Object.keys(the_yh_map).length){
  791 + for (let rkey in the_yh_map) {
  792 + var all_price=0;
  793 + var all_num=0;
  794 +
  795 + for(var ij=0;ij<the_yh_map[rkey].length;ij++){
  796 + all_price+=the_yh_map[rkey][ij].goods_price * the_yh_map[rkey][ij].goods_num;
  797 + all_num+= the_yh_map[rkey][ij].goods_num;
  798 + }
  799 +
  800 + //-- 只有在单赠品的时候,才要进行计算 --
  801 + var res= await getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
  802 + data: {
  803 + price: parseFloat(all_price).toFixed(2),
  804 + prom_id: rkey,
  805 + goods_num: all_num,
  806 + user_id: getApp().globalData.user_id,
  807 + is_bz: prom.is_bz
  808 + }
  809 + })
  810 + if (res.data.code == 0 && res.data.data && res.data.data.condition){
  811 + var content = '商品的活动发生了变化,请取消订单重新购买';
  812 + th.toast(content);
  813 + t_ok = 0;
  814 + break;
  815 + }
  816 + }
  817 +
  818 + }
  819 +
  820 +
787 821 //-- 判断活动是不是OK --
788 822 if (!t_ok) {
789 823 th.setData({ paying: 0 }); return false;
... ... @@ -1012,7 +1046,7 @@ Page({
1012 1046 var pre_arr = all_pre_goods[idx];
1013 1047 var prom_buy_limit = pre_arr.vip_butyqty;
1014 1048  
1015   - if (goods.goods_num > th.data.pre_arr.presell_sumqty - th.data.pre_arr.buy_goodnum) {
  1049 + if (goodsinfo.goods_num > pre_arr.presell_sumqty - pre_arr.buy_goodnum) {
1016 1050 wx.showToast({ title: "超出活动商品库存", icon: 'none', duration: 3000 });
1017 1051 return false;
1018 1052 }
... ...
pages/user/order_list/order_list.js
... ... @@ -109,62 +109,76 @@ Page({
109 109 activeCategoryId: t.type
110 110 });
111 111 s.init(this, "", "orderList");
112   - },
113   - onShow: function () {
114   -
115   -
116   - ut.fy_back('',0)
117   - this.setData({ paying: 0 });
118   - this.data.ser_paying=0;
119   -
120   - t_pay.set_fir();
121   - t.set_fir();
122   -
123   - var th = this;
124   - //---查看会员的等级价---
125   - getApp().getConfig2(function (e) {
126 112  
  113 + setTimeout(()=>{
  114 + if(!getApp().globalData.user_id){
  115 + getApp().goto('/packageE/pages/togoin/togoin')
  116 + return false;
  117 + }
  118 + },1500)
127 119  
128 120  
129   - th.setData({ conf: e, sales_rules: e.sales_rules });
130   - //--- 看后台是不是有开通等级卡 ---
131   - if (e.switch_list) {
132   - var s_list = JSON.parse(e.switch_list);
133   - th.setData({ appoint_pick_keyid: s_list.appoint_pick_keyid })
  121 + },
  122 + onShow: function () {
134 123  
135   - var user = getApp().globalData.userInfo;
136   - var is_open_offline = s_list.is_pricing_open;
137   - //-- 如果后台有开启等级价的功能 --
138   - if (parseInt(s_list.rank_switch) == 2 && user['card_expiredate']) {
139   - var str = user['card_expiredate'].replace(/-/g, '/');
140   - var end = new Date(str);
141   - end = Date.parse(end) / 1000;
142   - var now = ut.gettimestamp();
143   - //--- 判断是等级会员,且在有效期范围内 ---
144   - if (user.card_field && now < end) {
145   - th.setData({ card_field: user.card_field })
  124 + wx.showLoading();
  125 + //-- 读取会员的信息先 --,再app.js中有
  126 + setTimeout(()=> {
  127 + ut.fy_back('', 0)
  128 + this.setData({paying: 0});
  129 + this.data.ser_paying = 0;
  130 +
  131 + t_pay.set_fir();
  132 + t.set_fir();
  133 +
  134 + var th = this;
  135 +
  136 + //---查看会员的等级价---
  137 + getApp().getConfig2(function (e) {
  138 +
  139 +
  140 + th.setData({conf: e, sales_rules: e.sales_rules});
  141 + //--- 看后台是不是有开通等级卡 ---
  142 + if (e.switch_list) {
  143 + var s_list = JSON.parse(e.switch_list);
  144 + th.setData({appoint_pick_keyid: s_list.appoint_pick_keyid})
  145 +
  146 + var user = getApp().globalData.userInfo;
  147 + var is_open_offline = s_list.is_pricing_open;
  148 + //-- 如果后台有开启等级价的功能 --
  149 + if (parseInt(s_list.rank_switch) == 2 && user && user['card_expiredate']) {
  150 + var str = user['card_expiredate'].replace(/-/g, '/');
  151 + var end = new Date(str);
  152 + end = Date.parse(end) / 1000;
  153 + var now = ut.gettimestamp();
  154 + //--- 判断是等级会员,且在有效期范围内 ---
  155 + if (user.card_field && now < end) {
  156 + th.setData({card_field: user.card_field})
  157 + }
146 158 }
147   - }
148   - //-- 判断有没有过期 --
149   - getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" + os.stoid + "&type=6", {}).then(res => {
150   - //未购买
151   - if (res.data.code != 0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length) {
152   - is_open_offline = 0;
153   - } else {
154   - //已经过期
155   - var item = res.data.data.pageData[0];
156   - if (item.end_time < ut.gettimestamp()) {
  159 +
  160 + //-- 判断有没有过期 --
  161 + getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" + os.stoid + "&type=6", {}).then(res => {
  162 + //未购买
  163 + if (res.data.code != 0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length) {
157 164 is_open_offline = 0;
  165 + } else {
  166 + //已经过期
  167 + var item = res.data.data.pageData[0];
  168 + if (item.end_time < ut.gettimestamp()) {
  169 + is_open_offline = 0;
  170 + }
158 171 }
159   - }
160 172  
161   - th.data.is_open_offline = is_open_offline;
162   - })
163   - }
164   - }, 1)
  173 + th.data.is_open_offline = is_open_offline;
  174 + })
  175 + }
  176 + }, 1)
  177 +
  178 + this.resetData(), this.requestOrderList(this.data.activeCategoryId);
165 179  
166   - this.resetData(), this.requestOrderList(this.data.activeCategoryId);
167   - this.clickTab();
  180 + this.clickTab();
  181 + },1500);
168 182 },
169 183 changeTab: function (t) {
170 184 if (this.data.activeCategoryId == t.currentTarget.id) return false;
... ... @@ -372,6 +386,8 @@ Page({
372 386  
373 387 th.setData({ orderList: data, });
374 388  
  389 + wx.hideLoading();
  390 +
375 391 });
376 392  
377 393  
... ... @@ -688,6 +704,8 @@ Page({
688 704 }
689 705  
690 706 var wlist = "";
  707 + var the_yh_map={}; //判断那种商品的prom_type为0,正在做的活动是优惠促销
  708 +
691 709 for (var i in order_goods) {
692 710 var good = order_goods[i];
693 711  
... ... @@ -841,8 +859,10 @@ Page({
841 859 }
842 860 })
843 861  
  862 +
844 863 if (presellList) {
845 864  
  865 +
846 866 if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) {
847 867 var content = good.goods_name + '购买数量超出商品库存,请取消订单';
848 868 th.toast(content);
... ... @@ -859,7 +879,7 @@ Page({
859 879  
860 880 }
861 881 }
862   -
  882 +
863 883 //如果优惠促销和搭配购的时候
864 884 if ((good.prom_type == 3 || good.prom_type == 5 || good.prom_type == 10) && good.is_gift != 1 && good.is_collocation != 1) {
865 885 var p_ok = 1, is_g_prom = 0;
... ... @@ -1028,12 +1048,9 @@ Page({
1028 1048 }
1029 1049 //-- 优惠促销活动没有超出限购的话 --
1030 1050 if(yh_check){
1031   - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买';
1032   - th.toast(content);
1033   - t_ok = 0;
1034   - break;
  1051 + if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[];
  1052 + the_yh_map[gg.prom_id].push(good);
1035 1053 }
1036   -
1037 1054 break
1038 1055 case 7:
1039 1056 //获取组合购活动
... ... @@ -1081,9 +1098,41 @@ Page({
1081 1098 t_ok = 0;
1082 1099 break;
1083 1100 }
1084   - }
  1101 + }
1085 1102 }
1086 1103 }
  1104 +
  1105 +
  1106 + //如果有普通商品要判断能不到达到优惠促销的条件
  1107 + if(Object.keys(the_yh_map).length){
  1108 + for (let rkey in the_yh_map) {
  1109 + var all_price=0;
  1110 + var all_num=0;
  1111 +
  1112 + for(var ij=0;ij<the_yh_map[rkey].length;ij++){
  1113 + all_price+=the_yh_map[rkey][ij].goods_price * the_yh_map[rkey][ij].goods_num;
  1114 + all_num+= the_yh_map[rkey][ij].goods_num;
  1115 + }
  1116 +
  1117 + //-- 只有在单赠品的时候,才要进行计算 --
  1118 + var res= await getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
  1119 + data: {
  1120 + price: parseFloat(all_price).toFixed(2),
  1121 + prom_id: rkey,
  1122 + goods_num: all_num,
  1123 + user_id: getApp().globalData.user_id,
  1124 + is_bz: prom.is_bz
  1125 + }
  1126 + })
  1127 + if (res.data.code == 0 && res.data.data && res.data.data.condition){
  1128 + var content = '商品的活动发生了变化,请取消订单重新购买';
  1129 + th.toast(content);
  1130 + t_ok = 0;
  1131 + break;
  1132 + }
  1133 + }
  1134 +
  1135 + }
1087 1136 //-- 判断活动是不是OK --
1088 1137 if (!t_ok) {
1089 1138 th.setData({ paying: 0 }); return false;
... ... @@ -1312,7 +1361,7 @@ Page({
1312 1361 var pre_arr = all_pre_goods[idx];
1313 1362 var prom_buy_limit = pre_arr.vip_butyqty;
1314 1363  
1315   - if (goods.goods_num > th.data.pre_arr.presell_sumqty - th.data.pre_arr.buy_goodnum) {
  1364 + if (goodsinfo.goods_num > pre_arr.presell_sumqty - pre_arr.buy_goodnum) {
1316 1365 wx.showToast({ title: "超出活动商品库存", icon: 'none', duration: 3000 });
1317 1366 return false;
1318 1367 }
... ... @@ -1414,7 +1463,9 @@ Page({
1414 1463 success: function (t) {
1415 1464 th.setData({ paying: 0 });
1416 1465 if (t.data.code == 0) {
1417   - th.onload();
  1466 + //th.data.orderList.splice(o_index, 1);
  1467 + //th.setData({ orderList: th.data.orderList });
  1468 + th.onShow();
1418 1469 } else {
1419 1470 getApp().confirmBox(t.data.msg + "请您取消该订单");
1420 1471 }
... ... @@ -1434,8 +1485,23 @@ Page({
1434 1485 t.pay(e.order_sn, function () {
1435 1486 th.setData({ paying: 0 });
1436 1487 wx.showToast({ title: '支付成功' })
1437   - th.data.orderList.splice(o_index, 1);
1438   - th.setData({ orderList: th.data.orderList });
  1488 + //th.data.orderList.splice(o_index, 1);
  1489 + //th.setData({ orderList: th.data.orderList });
  1490 +
  1491 + //商家团支付成功后,要让他的团能够建立或者参与
  1492 + if(e.is_zsorder==2){
  1493 + //--如果商家团的时候---
  1494 + getApp().request.promisePost("/api/weshop/order/pay/vipAutoTuan", {
  1495 + data: {orderSn:e.order_sn,storeId:os.stoid }
  1496 + })
  1497 + }
  1498 +
  1499 + setTimeout(()=>{
  1500 + th.setData({is_get:0})
  1501 + th.onShow();
  1502 + },500)
  1503 +
  1504 +
1439 1505 }, function () {
1440 1506 th.setData({ paying: 0 });
1441 1507 }, os.stoid, 1);
... ... @@ -2341,7 +2407,17 @@ Page({
2341 2407 };
2342 2408 if (currentIndex == 2) { // 卡项订单
2343 2409 list = th.data.cardList;
2344   - list = list.concat(data);
  2410 + var new_data= data.map((item,index)=>{
  2411 + if(item.list && item.list.length){
  2412 + item.pt_status=item.list[0].pt_status;
  2413 + item.pt_tail_money=item.list[0].pt_tail_money;
  2414 + item.prom_id=item.list[0].prom_id;
  2415 + item.prom_type=item.list[0].prom_type;
  2416 + }
  2417 + return item;
  2418 + })
  2419 +
  2420 + list = list.concat(new_data);
2345 2421 th.setData({ cardList: list });
2346 2422 console.log('currentCard', list);
2347 2423 };
... ... @@ -2666,6 +2742,11 @@ Page({
2666 2742  
2667 2743 // 卡项订单 - 立即支付
2668 2744 pay: async function (e) {
  2745 + let th=this;
  2746 +
  2747 + if(th.data.ser_paying) return false;
  2748 + th.data.ser_paying=1;
  2749 +
2669 2750 let index = e.currentTarget.dataset.index;
2670 2751 let item = this.data.cardList[index];
2671 2752 let order_sn = item.order_sn;
... ... @@ -2673,14 +2754,11 @@ Page({
2673 2754 let store_id = app.globalData.setting.stoid;
2674 2755 let user_id = oo.user_id;
2675 2756 let flag = true;
2676   -
2677   - let th=this;
2678   -
2679   -
2680 2757 // 如果是普通购买或单独购买,不用判断
2681 2758 // 如果是秒杀购买:1、判断活动是否变化;2、是否超出限购
2682   -
2683 2759 let list = item.list;
  2760 + var pt_act=null; //-- 拼团活动的优化 --
  2761 +
2684 2762 for (const it of list) {
2685 2763 if (it.prom_type == 1) {
2686 2764 let act_details = null;
... ... @@ -2690,9 +2768,8 @@ Page({
2690 2768  
2691 2769  
2692 2770 await getApp().request.promiseGet('/api/ms/flash_sale/getNew/' + store_id + '/' + user_id + '/' + it.prom_id, {}).then(res => {
2693   - console.log('11111111====>>>');
  2771 +
2694 2772 if (res.data.code == 0) {
2695   - console.log('当前的秒杀活动信息:', res.data.data);
2696 2773 act_details = res.data.data;
2697 2774 if (act_details.is_end == 1) {
2698 2775 wx.showModal({
... ... @@ -2712,108 +2789,129 @@ Page({
2712 2789 flag = false;
2713 2790 return false;
2714 2791 };
2715   - };
2716   - });
2717 2792  
2718   - await getApp().request.promiseGet('/api/weshop/activitylist/getActLen/' + store_id + '/' + it.prom_type + '/' + it.prom_id, {
2719   - 1: 1
2720   - }).then(res => {
2721   - console.log('222222222====>>>');
2722   - if (res.data.code == 0) {
2723   - // 当前可以购买的数量
2724   - console.log('redis当前可以购买的数量:', res.data.data);
2725   - redis_num = res.data.data;
2726   - // if(redis_num <=0) {
2727   - // wx.showModal({
2728   - // title: '提示',
2729   - // content: '活动库存不足,无法支付,请取消订单!',
2730   - // showCancel: false,
2731   - // });
2732   - // // flag = false;
2733   - // return true;
2734   - // };
2735   - };
2736   - });
2737 2793  
2738   - await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
2739   - data: {
2740   - store_id: store_id,
2741   - user_id: user_id,
2742   - card_id: it.card_id,
2743   - prom_type: it.prom_type,
2744   - prom_id: it.prom_id,
  2794 + var t_now = ut.gettimestamp();
  2795 + if (act_details.is_end == 1 || act_details.start_time > t_now || act_details.end_time < t_now) {
  2796 + wx.showModal({
  2797 + title: '提示',
  2798 + content: '活动发生了变化,无法支付,请取消订单,重新购买!',
  2799 + showCancel: false,
  2800 + });
  2801 + flag = false;
  2802 + return false;
  2803 + }
  2804 +
2745 2805 }
2746   - }).then(res => {
2747   - console.log('333333333====>>>');
2748   - if (res.data.code == 0) {
2749   - console.log('已经购买的数量:', res.data.data);
2750   - promcardbuynum = res.data.data.promcardbuynum;
  2806 + });
2751 2807  
  2808 + if(act_details.buy_limit>0 && flag){
  2809 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
  2810 + data: {
  2811 + store_id: store_id,
  2812 + user_id: user_id,
  2813 + card_id: it.card_id,
  2814 + prom_type: it.prom_type,
  2815 + prom_id: it.prom_id,
  2816 + ispay:1
  2817 + }
  2818 + }).then(res => {
  2819 + if (res.data.code == 0) {
  2820 + promcardbuynum = res.data.data.promcardbuynum;
  2821 + let canBuyNum = act_details.buy_limit - promcardbuynum; // 自己还可购买的数量c
  2822 +
  2823 + if (canBuyNum < qty) {
  2824 + wx.showModal({
  2825 + title: '提示',
  2826 + content: '您已超出活动限购数量,无法支付,请取消订单!',
  2827 + showCancel: false,
  2828 + });
  2829 + flag = false;
  2830 + }
  2831 + }
  2832 + })
  2833 + }
2752 2834  
2753   - let limited = act_details.buy_limit; // 限购数量a
2754   - let buyedNum = promcardbuynum; // 自己已经购买的数量b
2755   - let canBuyNum = limited - buyedNum; // 自己还可购买的数量c
  2835 + };
2756 2836  
  2837 + if (it.prom_type == 6) {
  2838 + let act_details = null;
  2839 + let redis_num = 0;
  2840 + let promcardbuynum = 0;
  2841 + let qty = it.qty;
  2842 +
  2843 + await getApp().request.promiseGet("/api/weshop/teamlist/get/" + store_id + "/" + it.prom_id, {}).then(res => {
  2844 +
  2845 + if (res.data.code == 0) {
  2846 +
  2847 + act_details = res.data.data;
2757 2848  
2758   - if (canBuyNum <= 0) {
  2849 + if (act_details.is_end == 1) {
2759 2850 wx.showModal({
2760 2851 title: '提示',
2761   - content: '您已超出活动限购数量,无法支付,请取消订单!',
  2852 + content: '活动已结束,无法支付,请取消订单!',
2762 2853 showCancel: false,
2763 2854 });
2764 2855 flag = false;
2765 2856 return false;
2766   - };
2767   -
2768   - if (limited > redis_num) {
2769   - if (canBuyNum <= redis_num) {
2770   - if (qty > canBuyNum) {
2771   - wx.showModal({
2772   - title: '提示',
2773   - content: '您已超出活动限购数量,无法支付,请取消订单!',
2774   - showCancel: false,
2775   - });
2776   - flag = false;
2777   - return false;
2778   - };
2779   -
2780   - };
2781   -
2782   - if (canBuyNum > redis_num) {
2783   - if (qty > redis_num) {
2784   - wx.showModal({
2785   - title: '提示',
2786   - content: '活动库存不足,无法支付,请取消订单!',
2787   - showCancel: false,
2788   - });
2789   - flag = false;
2790   - return false;
2791   - };
  2857 + }
2792 2858  
2793   - };
2794   - };
  2859 + if (act_details.id != it.prom_id) {
  2860 + wx.showModal({
  2861 + title: '提示',
  2862 + content: '活动发生了变化,无法支付,请取消订单,重新购买!',
  2863 + showCancel: false,
  2864 + });
  2865 + flag = false;
  2866 + return false;
  2867 + }
2795 2868  
2796   - if (limited <= redis_num) {
2797   - if (qty > canBuyNum) {
2798   - wx.showModal({
2799   - title: '提示',
2800   - content: '您已超出活动限购数量,无法支付,请取消订单!',
2801   - showCancel: false,
2802   - });
2803   - flag = false;
2804   - return false;
2805   - };
2806   - };
2807   - };
  2869 + var t_now = ut.gettimestamp();
  2870 + if (act_details.is_end == 1 || act_details.start_time > t_now || act_details.end_time < t_now) {
  2871 + wx.showModal({
  2872 + title: '提示',
  2873 + content: '活动发生了变化,无法支付,请取消订单,重新购买!',
  2874 + showCancel: false,
  2875 + });
  2876 + flag = false;
  2877 + return false;
  2878 + }
  2879 + }
2808 2880 });
2809 2881  
2810   - };
2811   -
2812   - };
  2882 + if(act_details.buy_limit>0 && flag){
  2883 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
  2884 + data: {
  2885 + store_id: store_id,
  2886 + user_id: user_id,
  2887 + card_id: it.card_id,
  2888 + prom_type: it.prom_type,
  2889 + prom_id: it.prom_id,
  2890 + ispay:1
  2891 + }
  2892 + }).then(res => {
  2893 + if (res.data.code == 0) {
  2894 + console.log('已经购买的数量:', res.data.data);
  2895 + promcardbuynum = res.data.data.promcardbuynum;
  2896 + }
  2897 + })
  2898 + let limited = act_details.buy_limit; // 限购数量a
  2899 + let canBuyNum = limited - promcardbuynum; // 自己还可购买的数量c
  2900 +
  2901 + if (canBuyNum < qty ) {
  2902 + wx.showModal({
  2903 + title: '提示',
  2904 + content: '您已超出活动限购数量,无法支付,请取消订单!',
  2905 + showCancel: false,
  2906 + });
  2907 + flag = false;
  2908 + }
  2909 + }
  2910 + pt_act=act_details;
2813 2911  
2814   - if(th.data.ser_paying) return false;
2815   - th.data.ser_paying=1;
  2912 + }
2816 2913  
  2914 + }
2817 2915  
2818 2916 if (flag) {
2819 2917  
... ... @@ -2822,12 +2920,28 @@ Page({
2822 2920 parentSn: order_sn,
2823 2921 store_id: store_id
2824 2922 }, function () {
2825   - th.data.ser_paying=0;
2826   - wx.showToast({
2827   - title: '支付成功',
2828   - icon:'success',
2829   - duration: 2000
2830   - });
  2923 + th.data.ser_paying=0;
  2924 + wx.showToast({
  2925 + title: '支付成功',
  2926 + icon:'success',
  2927 + duration: 2000
  2928 + });
  2929 +
  2930 + if(pt_act.kttype==1){
  2931 +
  2932 + //--如果商家团的时候,这个要改,要用服务卡的接口---
  2933 + getApp().request.promisePost("/api/weshop/rechargeServicelist/vipAutoTuan", {
  2934 + data: {orderSn:order_sn,storeId:os.stoid }
  2935 + })
  2936 + }
  2937 +
  2938 + setTimeout(()=>{
  2939 + th.setData({is_get:0})
  2940 + th.onShow();
  2941 + },500)
  2942 +
  2943 +
  2944 +
2831 2945 }, function (e) {
2832 2946 th.data.ser_paying=0;
2833 2947 wx.showToast({
... ... @@ -2858,7 +2972,9 @@ Page({
2858 2972 // });
2859 2973 // // }
2860 2974 // });
2861   - };
  2975 + }else {
  2976 + th.data.ser_paying=0;
  2977 + }
2862 2978  
2863 2979 },
2864 2980  
... ... @@ -2925,12 +3041,7 @@ Page({
2925 3041 },
2926 3042 });
2927 3043  
2928   - // let index = e.currentTarget.dataset.index;
2929   - // let cardList = self.data.cardList;
2930   - // cardList.splice(index, 1);
2931   - // self.setData({
2932   - // cardList,
2933   - // });
  3044 +
2934 3045  
2935 3046 //self.request_list(self.data.currentRequestData);
2936 3047 },
... ... @@ -2961,7 +3072,7 @@ Page({
2961 3072  
2962 3073  
2963 3074 if (action == "buy") {
2964   - //--------------此时操作的数据------------
  3075 + //-------------- 此时操作的数据 ------------
2965 3076 var newd = {
2966 3077 id: th.data.data.id,
2967 3078 goods_num: th.data.goodsInputNum,
... ...
pages/user/order_list/order_list.wxml
... ... @@ -322,19 +322,44 @@
322 322 <!--商品编号 -->
323 323 <text selectable='true'>订单编号:{{item.order_sn}}</text>
324 324 <!-- 订单状态 -->
325   - <view class="flex-center c-r">
326   - <view wx:if="{{item.order_status == 0}}">待支付</view>
327   - <view wx:if="{{item.order_status == 1}}" class="flex-center">待评价 <view class="lin"></view>
328   - <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteSerOrderData" data-index="{{index}}" data-orderid="{{item.order_id}}" data-ordersn="{{item.order_sn}}" ></image>
329   - </view>
330   - <view wx:if="{{item.order_status == 2}}" class="flex-center">已评价<view class="lin"></view>
331   - <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteSerOrderData" data-index="{{index}}" data-orderid="{{item.order_id}}" data-ordersn="{{item.order_sn}}" ></image>
332   - </view>
333   - <view wx:if="{{item.order_status == 3}}" class="c-a9" class="flex-center">已取消<view class="lin"></view>
334   - <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteSerOrderData" data-index="{{index}}" data-orderid="{{item.order_id}}" data-ordersn="{{item.order_sn}}" ></image>
335   - </view>
336   - <view wx:if="{{item.order_status == 5}}">已作废</view>
337   - </view>
  325 + <view class="flex-center c-r">
  326 + <view wx:if="{{item.pay_status == 0 && item.order_status<2 }}">
  327 + <block wx:if="{{item.prom_type==6}}">
  328 + <block wx:if="{{item.pt_status==0}}" >未支付</block>
  329 + <block wx:if="{{item.pt_status==1}}" >组团中</block>
  330 +
  331 + </block>
  332 + <block wx:else>
  333 + 待支付
  334 + </block>
  335 + </view>
  336 + <view wx:if="{{item.order_status<2}}">
  337 + <block wx:if="{{item.pt_status==2 && item.pt_tail_money>0}}">待支付尾款</block>
  338 + </view>
  339 +
  340 + <view wx:if="{{item.order_status == 1 && item.pay_status==1}}" class="flex-center">待评价
  341 + <view class="lin"></view>
  342 + <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteSerOrderData"
  343 + data-index="{{index}}" data-orderid="{{item.order_id}}" data-ordersn="{{item.order_sn}}">
  344 +
  345 + </image>
  346 + </view>
  347 + <view wx:if="{{item.order_status == 2}}" class="flex-center">已评价
  348 + <view class="lin"></view>
  349 + <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteSerOrderData" data-index="{{index}}"
  350 + data-orderid="{{item.order_id}}" data-ordersn="{{item.order_sn}}"></image>
  351 + </view>
  352 +
  353 +
  354 + <!-- 要判断支付尾款失败 -->
  355 + <view wx:if="{{item.order_status == 3 && item.pt_status!=6}}" class="c-a9" class="flex-center">已取消
  356 + <view class="lin"></view>
  357 + <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteSerOrderData" data-index="{{index}}"
  358 + data-orderid="{{item.order_id}}" data-ordersn="{{item.order_sn}}"></image>
  359 + </view>
  360 + <view wx:if="{{item.order_status == 5}}">已作废</view>
  361 + <view wx:if="{{item.pt_status==6}}"><text style="font-size: 26rpx;">支付尾款失败</text></view>
  362 + </view>
338 363 </view>
339 364  
340 365 <!-- 商品详情集合 -->
... ... @@ -345,7 +370,8 @@
345 370 <!-- 商品图片 -->
346 371 <navigator class="rel">
347 372 <image src="{{resourceUrl+goods.img_url}}" binderror="bind_bnerr" lazy-load="{{true}}" data-errorimg="orderList[{{index}}].list[{{pinx}}].img_url"></image>
348   - <!-- <view class="abs flex-center fs26">服务卡</view> -->
  373 + <view class="abs flex-center fs26" wx:if="{{goods.prom_type==1}}">秒杀</view>
  374 + <view class="abs flex-center fs26" wx:if="{{goods.prom_type==6}}">团购</view>
349 375 </navigator>
350 376 <!-- 商品内容 -->
351 377 <view class="Commodity_content">
... ... @@ -389,7 +415,7 @@
389 415 <view class="commodity_money flex baseline">
390 416 <view>合计<text wx:if="{{item.discount!=underdefine && item.discount!=null && item.discount!=0}}" style="color:#d60021;">(改)</text>:</view>
391 417 <view class="fs24 c-r">¥</view>
392   - <view class="c-r">{{filters.toFix(item.account,2)}}
  418 + <view class="c-r">{{filters.toFix(item.account+item.pt_tail_money,2)}}
393 419 </view>
394 420  
395 421 </view>
... ... @@ -407,18 +433,24 @@
407 433 <navigator class="commodity_To_evaluate flex-level View_evaluation" url="/packageA/pages/details_serviceCard/details_serviceCard?order_id={{item.order_id}}">订单详情</navigator>
408 434  
409 435  
410   - <block wx:if="{{item.order_status==1}}">
  436 + <block wx:if="{{item.order_status==1 && item.pay_status==1}}">
411 437 <navigator wx:if="{{item.list.length > 1}}" class="order-btn white bg-orange"
412 438 url="/packageB/pages/user/comment/comment?card=1&status=0&order_id={{item.list[index].order_id}}">评价</navigator>
413 439 <navigator wx:else class="order-btn white bg-orange"
414 440 url="/packageB/pages/user/add_comment/add_comment?card=1&goods_id={{item.list[0].card_id}}&order_id={{item.list[0].order_id}}&price={{item.list[0].price}}">评价</navigator>
415 441 </block>
416 442  
417   - <navigator class="commodity_To_evaluate flex-level comment_go" bindtap="pay" data-index="{{index}}" wx:if="{{item.order_status==0}}">立即支付</navigator>
418   -
  443 + <navigator class="commodity_To_evaluate flex-level comment_go"
  444 + bindtap="pay" data-index="{{index}}" wx:if="{{item.prom_type!=6 && item.pay_status==0 && item.order_status<2}}">立即支付</navigator>
419 445  
  446 + <navigator class="commodity_To_evaluate flex-level comment_go"
  447 + bindtap="pay" data-index="{{index}}" wx:if="{{item.prom_type==6 && item.pt_status==0 && item.order_status<2}}">立即支付</navigator>
420 448  
421   - </view>
  449 + <navigator class="commodity_To_evaluate flex-level comment_go" url="/packageA/pages/serviceCard_pd/cart_wk/cart_wk?order_id={{item.order_id}}"
  450 + data-idx="{{index}}" wx:if="{{item.order_status<2 && item.pt_status==2 && item.pt_tail_money>0}}">支付尾款</navigator>
  451 +
  452 +
  453 + </view>
422 454 </view>
423 455 </view>
424 456 </view>
... ... @@ -467,7 +499,7 @@
467 499 </view>
468 500  
469 501 <!-- 无订单 -->
470   -<view class="empty_order" wx:if="{{((!orderList||orderList.length==0) && is_get && currentIndex == 0) || (list2.length==0 && currentIndex == 1) || (cardList.length == 0 && currentIndex == 2)}}">
  502 +<view class="empty_order" wx:if="{{((!orderList||orderList.length==0) && is_get && currentIndex == 0) || (list2.length==0 && currentIndex == 1) || (cardList.length == 0 && currentIndex == 2 && is_get)}}">
471 503 <view class="flex-level">
472 504 <image src="{{iurl}}miniapp/images/order/empty_order.png"></image>
473 505 </view>
... ...
pages/user/user_spsy/user_spsy.js
... ... @@ -5,7 +5,7 @@ var ut = require(&#39;../../../utils/util&#39;);
5 5 var regeneratorRuntime = require('../../../utils/runtime.js');
6 6  
7 7 Page({
8   - /**
  8 + /**
9 9 * 页面的初始数据
10 10 */
11 11 data: {
... ... @@ -15,7 +15,8 @@ Page({
15 15 page: 1,
16 16 isLoading: 0,
17 17 no_more: 0,
18   - is_use: 0 //领取状态
  18 + is_use: 0, //领取状态
  19 + is_appoint_storage:0 //是否要登记门店才可以领取 0是不用,1要登记
19 20 },
20 21 /**
21 22 * 生命周期函数--监听页面加载
... ... @@ -41,6 +42,14 @@ Page({
41 42 * 生命周期函数--监听页面显示
42 43 */
43 44 onShow: function () {
  45 + let th=this
  46 + //先获取是否有关闭使用优惠券
  47 + getApp().getConfig2(function (ee) {
  48 + var json_d = JSON.parse(ee.switch_list);
  49 + th.setData({
  50 + is_appoint_storage:json_d.is_appoint_storage,//是否要登记门店才可以领取 0是不用,1要登记
  51 + });
  52 + }, 1);
44 53 getApp().check_can_share();
45 54 },
46 55 async getQrCode(FormId,GradeId) {
... ... @@ -64,6 +73,43 @@ Page({
64 73 }
65 74 }
66 75 },
  76 + //门店回调
  77 + async callback(e){
  78 + let item = e.detail;
  79 + console.log('门店信息');
  80 + console.log(item);
  81 + if (item && item.pickup_no) {
  82 + let qr_code_object=this.data.qr_code_object
  83 + let data={
  84 + store_id:os.stoid,//商家编号
  85 + user_id:getApp().globalData.user_id, //会员编号
  86 + // storageId:item.pickup_no, //门店编号
  87 + storageId:item.keyid,
  88 + writeOffCode:qr_code_object.WriteOffCode,//核销码
  89 + }
  90 + let res = await getApp().request.promisePut("/api/weshop/users/grade/storage/update", {
  91 + data: data
  92 + });
  93 + if (res && res.data && res.data.code==0) {
  94 + let text='qr_code_object.StorageID'
  95 + this.setData({
  96 + [text]:item.keyid
  97 + })
  98 + }else{
  99 + wx.showToast({
  100 + title: '门店选择失败',
  101 + icon: 'none',
  102 + duration: 2000
  103 + })
  104 + }
  105 + }else{
  106 + wx.showToast({
  107 + title: '门店选择失败',
  108 + icon: 'none',
  109 + duration: 2000
  110 + })
  111 + }
  112 + },
67 113 async requestData() {
68 114 if (this.data.no_more) return false;
69 115 if (this.data.isLoading) return false;
... ... @@ -159,5 +205,11 @@ Page({
159 205  
160 206 close: function () {
161 207 this.getQrCode(this.data.FormId)
  208 + },
  209 +
  210 + select_product(){
  211 + this.setData({
  212 + store:1
  213 + })
162 214 }
163 215 })
164 216 \ No newline at end of file
... ...
pages/user/user_spsy/user_spsy.json
1 1 {
2 2 "navigationBarTitleText": "免费领取",
3 3 "usingComponents": {
4   - "qr_code": "/components/qr_code/qr_code"
  4 + "qr_code": "/components/qr_code/qr_code",
  5 + "store_popup":"/components/store_popup/store_popup"
5 6 }
6 7 }
7 8 \ No newline at end of file
... ...
pages/user/user_spsy/user_spsy.wxml
... ... @@ -13,10 +13,16 @@
13 13 已使用{{list[0].freebh}}
14 14 </view> -->
15 15 <view wx:if="{{is_use}}" class="btn1">已使用</view>
16   - <view wx:else bindtap="show_hxm" data-type="1" class="btn">立即使用</view>
  16 + <block wx:else>
  17 + <view wx:if="{{!is_appoint_storage || qr_code_object.StorageID}}" bindtap="show_hxm" data-type="1" class="btn">立即使用</view>
  18 + <view wx:else bindtap="select_product" data-type="1" class="btn">登记取货</view>
  19 + </block>
17 20 <!-- <view bindtap="right_use" class="btn">立即使用</view></view> -->
18 21 </view>
19 22 </view>
20 23  
21 24 <!-- 弹出框扫描 -->
22   -<qr_code id="qc_com" bindclose="close"></qr_code>
23 25 \ No newline at end of file
  26 +<qr_code id="qc_com" bindclose="close"></qr_code>
  27 +
  28 +<!-- 门店选择弹窗 -->
  29 +<store_popup store="{{store}}" bindcallback="callback" ></store_popup>
24 30 \ No newline at end of file
... ...