commit 835d0df125dd4d7a89e4ffafd98bf69c13320cb5
Author: wuhui_zzw <1760308791@qq.com>
Date: Wed May 24 15:47:12 2023 +0800
初始化
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..c2cc4f2
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,15 @@
+/.idea/
+/.idea
+.idea
+/.vscode/
+/.vscode
+.vscode
+npm-debug.log
+wx-canvas/echarts.js
+dist
+ec-canvas
+utils
+wxParse
+poster
+mymap
+/packageD/tim-wx-sdk/
\ No newline at end of file
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..e552a16
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,55 @@
+module.exports = {
+ env: {
+ browser: true,
+ es6: true,
+ node: true,
+ es2021: true,
+ },
+ extends: ["eslint:recommended"],
+ parserOptions: {
+ ecmaVersion: 12,
+ sourceType: "module",
+ },
+ rules: {
+ indent: ["error", 2],
+ "comma-dangle": "off",
+ "function-paren-newline": "off",
+ "global-require": "off",
+ "import/no-dynamic-require": "off",
+ "no-inner-declarations": "off",
+ // New rules
+ "class-methods-use-this": "off",
+ "import/extensions": "off",
+ "import/prefer-default-export": "off",
+ // render不规范
+ "react/display-name": "off",
+ "react/prop-types": "off",
+ "require-atomic-updates": "off",
+ // 数组统一空格 [1, 2, 3, ...]
+ "array-bracket-spacing": 2,
+ // prettier 中默认函数名不加空格,类似 function add() {},而eslint中默认为function add () {}
+ "space-before-function-paren": 0,
+ //禁止在使用new构造一个实例后不赋值
+ "no-new": 0,
+ "no-unused-vars": [
+ 2,
+ {
+ // 允许声明未使用变量
+ vars: "all",
+ // 参数不检查
+ args: "none",
+ },
+ ],
+ // 语句强制分号结尾
+ semi: [2, "always"],
+ //空行最多不能超过10行
+ "no-multiple-empty-lines": [0, { max: 10 }],
+ "no-useless-escape": 0, //正则中多余的斜杠
+ "no-prototype-builtins": 0,
+ "no-sparse-arrays": 0,
+ //关闭禁止混用tab和空格
+ // "no-mixed-spaces-and-tabs": [0],
+ // "no-self-assign": 0, // 自我分配
+ "no-undef": 0, //不能有未定义的变量
+ }
+};
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ed1c575
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,15 @@
+/.idea/
+/.idea
+.idea
+/.vscode/
+/.vscode
+.vscode
+npm-debug.log
+package-lock.json
+eslintReport.html
+stylelintReport.html
+node_modules/
+npm-debug.log
+eslintReport.html
+stylelintReport.txt
+project.private.config.json
\ No newline at end of file
diff --git a/.stylelintrc.js b/.stylelintrc.js
new file mode 100644
index 0000000..eee6f3d
--- /dev/null
+++ b/.stylelintrc.js
@@ -0,0 +1,24 @@
+module.exports = {
+ processors: [],
+ plugins: [],
+ extends: "stylelint-config-standard",
+ rules: {
+ indentation: 2,
+ "block-no-empty": true,
+ "font-family-no-missing-generic-family-keyword": null,
+ "no-empty-source": null,
+ "function-calc-no-invalid": null,
+ "no-descending-specificity": null,
+ "no-duplicate-selectors": null,
+ "declaration-block-single-line-max-declarations": null,
+ "declaration-block-no-shorthand-property-overrides": null,
+ "selector-type-no-unknown": [
+ true,
+ {
+ ignoreTypes: ["page", "view", "text", "icon", "wxParse-s","/van-.+/","swiper","radio","scroll-view","checkbox","live-player","tabs"],
+ },
+ ],
+ "unit-no-unknown": [true, { ignoreUnits: ["rpx"] }],
+ },
+ ignoreFiles: ["dist/**.wxss","dist/**/**.wxss","weui.wxss", "**/iconfont.wxss", "wxParse/*.wxss","*.json","utils/*.wxss","ec-canvas/*.wxss","poster/*.wxss"],
+};
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3c2646f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,70 @@
+
+ "pages/index/index",
+
+ "pages/search/search",
+
+ "pages/detail/detail",
+
+ "pages/category/category",
+
+ "pages/commission/commission",
+
+ "pages/commission/distribution_commission_state/distribution_commission_state",
+
+ "pages/commission/customer/customer",
+
+ "pages/commission/order_commission/order_commission",
+
+ "pages/commission/detail_commission/detail_commission",
+
+ "pages/commission/team/team",
+ "pages/commission/balance/balance",
+ "pages/commission/balanceDetail/balanceDetail",
+
+ "pages/buy/cart/cart",
+
+ "pages/buy/myOrder/myOrder",
+
+ "pages/buy/goodsList/goodsList",
+
+ "pages/buy/addressSelect/addressSelect",
+
+ "pages/buy/orderPay/orderPay",
+
+ "pages/buy/success/success",
+
+ "pages/member/index/index",
+
+ "pages/member/myOrder/myOrder",
+
+ "pages/member/userSet/userSet",
+
+ "pages/member/userSetData/userSetData",
+
+ "pages/member/addressList/addressList",
+
+ "pages/member/addressAdd/addressAdd",
+
+ "pages/member/collection/collection",
+
+ "pages/member/footprint/footprint",
+
+ "pages/member/allReturn/allReturn",
+
+ "pages/member/balance/balance",
+
+ "pages/member/balanceLog/balanceLog",
+
+ "pages/member/balanceDetail/balanceDetail",
+
+ "pages/member/coupon/coupon",
+ "pages/supplier/apply/apply",
+ "pages/supplier/center/center",
+ "pages/supplier/withdrawLog/withdrawLog",
+ "pages/channel/apply/apply",
+
+ "pages/template/tableCell/tableCell",
+ "pages/template/imageBe/imageBe",
+ "pages/template/radioLw/radioLw",
+
+ "pages/logs/logs"
diff --git a/app.js b/app.js
new file mode 100644
index 0000000..ea6b092
--- /dev/null
+++ b/app.js
@@ -0,0 +1,1468 @@
+import newhost from "/host.js";
+import locales from "/utils/language.js";
+
+var QQMapWX = require('/mymap/qqmap-wx-jssdk.min.js');
+var qqmapsdk;
+var yzFirstlogin = 1;
+var yzValidate_page = 1;
+let livePlayer = null;
+try {
+ livePlayer = requirePlugin("live-player-plugin");
+} catch (error) {
+}
+
+var loginTap = false;
+// var loginTap = false;
+App({
+ data: {
+ // wx_token: ''
+ host: newhost.host,
+ uniacid: newhost.uniacid,
+ store_id: newhost.store_id,
+ basic_info: {},
+ validate_page: {},
+ front_accept_message_id: "wx446c12387876992d", //后屏幕小程序appdid
+ front_mini_programs_id: "wxf90477356b51ec91",
+ accept_message_id: "wxa0ecf1f5513abab3", //前屏幕小程序appdid
+ mini_programs_id: "wxf90477356b51ec91",
+ clearlogin: null,
+
+ login_type: 1, //1无请求,2正在请求 状态锁
+ login_fun_list: [] // 需要登录后再请求的接口队列
+ },
+ onLaunch(options) {
+ let that = this;
+ wx.getSystemInfo({
+ success: (res) => {
+ this.globalData.statusBarHeight = res.statusBarHeight;
+ this.globalData.navBarHeight = 44 + res.statusBarHeight;
+ },
+ });
+ this._getLanguage(locales);
+ //删除首次模板信息
+ try {
+ // 每次关闭要清除存储
+ wx.removeStorageSync("tempIndex");
+ wx.removeStorageSync("iPhoneBottom");
+ wx.removeStorageSync("deliverId");
+ } catch (e) {
+ // Do something when catch error
+ }
+
+ //记录首次进入小程序页面
+ try {
+ if (options.query) {
+ console.log(options, 'options1');
+ this.seyzredirect(options.path, options.query);
+ if (options.query.store_alone_id ||options.query.store_id) {
+ // 如果有store_alone_id,进入门店独立模块
+ this.globalData.STORE_ID = options.query.store_alone_id || newhost.store_id;
+ this.globalData.store_alone_temp = 1;
+ }
+ if (options.query.dyID) {
+ //deliverId 获取链接上的参数,自提点id
+ this.setDeliver(options);
+ }
+ } else {
+ // wx.setStorageSync("yz_redirect", options.path);
+ this.seyzredirect(options.path);
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ //隐藏底部菜单栏
+ // wx.hideTabBar({})
+
+ // try {
+ // wx.removeStorageSync('withdraw_status')
+ // } catch (e) {
+ // // Do something when catch error
+ // }
+ if (options.query.mid) {
+ this._setMid(options.query.mid);
+ }
+ if (options.query && options.query.scene) {
+ let scene = decodeURIComponent(options.query.scene);
+ if (scene) {
+ let info_arr = [];
+ info_arr = scene.split(',');
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split('=');
+ if (chil_arr[0] == 'mid') {
+ this._setMid(chil_arr[1]);
+ }
+ }
+ }
+ }
+ this.gotochecklogin(options);
+ this.getSystemInfo();
+ try {
+ //获取青蛙相关信息
+ wxfaceapp.checkWxFacePayOsInfo({
+ success(res) {
+ console.log("1111111::::::", res.screenInfo);
+ if (res.screenInfo == "back-screen") {
+ wxfaceapp.onRemoteMessage(function (resdata) {
+ if (resdata.content) {
+ let content = JSON.parse(resdata.content);
+ if (content.redirectType) {
+ if (content.redirectType == "succeededPayment") {
+ wx.redirectTo({
+ url: "/packageC/frogpro/succeededPayment/succeededPayment?money=" + content.money,
+ });
+ } else if (content.redirectType == "login") {
+ wx.redirectTo({
+ url: "/packageC/frogpro/backScreenlogin/backScreenlogin",
+ });
+ } else if (content.redirectType == "lose") {
+ wx.redirectTo({
+ url: "/packageC/frogpro/lose/lose?money=" + content.money,
+ });
+ } else if (content.redirectType == "waitingPayment") {
+ wx.redirectTo({
+ url: "/packageC/frogpro/waitingPayment/waitingPayment?money=" + content.money,
+ });
+ }
+ }
+ }
+ });
+ that.startLogin();
+ }
+ },
+ fail(res) {
+ },
+ });
+ } catch (e) {
+ //TODO handle the exception
+ }
+ console.log(this.globalData.STORE_ID, 'STORE_ID=============>>>>>>>>>>');
+ this.overShare();
+
+ wx.setInnerAudioOption({
+ obeyMuteSwitch: false,
+ // 解决小程序createInnerAudioContext()音频播放iOS端真机调试没有声音问题
+ success: function (res) {
+ console.log("开启静音模式下播放音乐的功能");
+ },
+
+ fail: function (err) {
+ console.log("静音设置失败");
+ },
+ });
+
+ },
+ onShow(options) {
+ // 页面出现在前台时执行
+ // this.getInvite();
+ yzFirstlogin = 1;
+ yzValidate_page = 1;
+ this.data.login_type = 1;
+ this._getTemplate();
+ if (options.query && options.query.custom_params) {
+ this._setMid(JSON.parse(decodeURIComponent(options.query.custom_params)).mid);
+ }
+ const sceneList = [1007, 1008, 1014, 1044, 1045, 1046, 1047, 1048, 1049, 1073, 1154, 1155];
+ // 分享卡片入口场景才调用getShareParams接口获取以下参数
+ console.log(options, 'onShow');
+ if (livePlayer && sceneList.indexOf(options.scene) > -1) {
+ livePlayer
+ .getShareParams()
+ .then((res) => {
+ console.log('get room id', res.room_id); // 房间号
+ // console.log('get openid', res.openid) // 用户openid
+ // console.log('get share openid', res.share_openid) // 分享者openid,分享卡片进入场景才有
+ console.log("get custom params", res.custom_params); // 开发者在跳转进入直播间页面时,页面路径上携带的自定义参数,这里传回给开发者
+ this._setMid(res.custom_params.mid);
+ })
+ .catch((err) => {
+ console.log("get share params", err);
+ });
+ }
+ if (options.referrerInfo && options.referrerInfo.extraData) {
+ this.globalData.integralOtherMiniData = options.referrerInfo.extraData || {};
+ }
+ if (options.query.store_alone_id) {
+ // 如果有store_alone_id,进入门店独立模块
+ this.globalData.STORE_ID = options.query.store_alone_id;
+ this.globalData.store_alone_temp = 1;
+ }
+ },
+ onHide() {
+ // 会员的弹窗广告
+ wx.removeStorageSync("firstAdvertisement");
+ // 首页的弹窗广告
+ wx.removeStorageSync("fullAdvertisement");
+ wx.removeStorageSync("popAdvertisement");
+ //装修的弹窗广告
+ wx.removeStorageSync("page_idFull_screens");
+ wx.removeStorageSync("page_idAdvertisings");
+ // 关闭时删除Storage的地址
+ wx.removeStorageSync("address-point");
+
+ // 新装修数据
+ wx.removeStorageSync("home_onUnload");
+ wx.removeStorageSync("new_decorate");
+ },
+ /**
+ * url 请求地址
+ * data 请求的参数
+ * success 成功的回调
+ * fail 失败的回调
+ * complete 结束的回调函数(调用成功、失败都会执行)
+ */
+ _getNetWork: function (_ObjData) {
+ return this._Request(_ObjData, 'GET');
+ },
+ /**
+ * url 请求地址
+ * success 成功的回调
+ * fail 失败的回调
+ * complete 结束的回调函数(调用成功、失败都会执行)
+ */
+ _postNetWork: function (_ObjData) {
+ return this._Request(_ObjData, 'POST');
+ },
+
+ _Request(obj, method) {
+ return new Promise((resolve, reject) => {
+ obj.resolve = resolve;
+ obj.reject = reject;
+ obj.method = method;
+ //1就发起第一次请求,2加入队列数组
+ if (this.data.login_type == 1) {
+ this.toRequestNetWork(obj);
+ } else {
+ this.data.login_fun_list.push(obj);
+ }
+ });
+ },
+
+ toRequestNetWork(_ObjData) {
+ var url = _ObjData.url;
+ var resolve = _ObjData.resolve;
+ var reject = _ObjData.reject;
+ var method = _ObjData.method;
+ var data = _ObjData.data || {};
+ let params = _ObjData.data;
+ var success = _ObjData.success;
+ var fail = _ObjData.fail;
+ var complete = _ObjData.complete;
+ var validateBol = _ObjData.validateBol == 2 ? false : true;
+ // 加载遮罩
+ var showToastIn = true;
+ if (typeof _ObjData.showToastIn == "boolean") {
+ showToastIn = _ObjData.showToastIn;
+ }
+
+ var that = this;
+ if (showToastIn) {
+ wx.showNavigationBarLoading();
+ }
+
+ let _session = "";
+ let _wx_token = "";
+ try {
+ let value = wx.getStorageSync("session");
+ if (value) {
+ _session = value;
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ try {
+ let value = wx.getStorageSync("wx_token");
+ if (value) {
+ _wx_token = value;
+ }
+ } catch (e) {
+ console.log(e);
+ }
+
+ if (yzFirstlogin === 0 && yzValidate_page === 1) {
+ if (data.not_validate_page == '0' && data) {
+ //想接口不返回validate_page的参数
+ } else {
+ url += "&validate_page=1";
+ }
+ }
+
+ if ((yzFirstlogin === 1 && url.indexOf("member.login.index") < 0 && url.indexOf("member.member.wxJsSdkConfig") < 0) || url.indexOf("finance.income-page.index") >= 0) {
+ url += "&basic_info=1&validate_page=1";
+ }
+
+ if (method === 'GET' && params) {
+ let paramsArray = [];
+ Object.keys(params).forEach(key =>
+ paramsArray.push(key + "=" + params[key])
+ );
+ url += "&" + paramsArray.join("&");
+ }
+
+ url += "&app_type=wechat";
+ url += "&3rd_session=" + _session;
+
+ if (this.globalData.store_alone_temp == 1) {
+ // 开启门店独立模块
+ url += "&store_id=" + this.globalData.STORE_ID;
+ }
+ console.log(method, "请求中Url:", url);
+
+ let headers = {
+ "Content-Type": "application/json",
+ Accept: "application/json",
+ Cookie: "PHPSESSID=" + _wx_token,
+ };
+
+ if (this.globalData.new_page_comeIn != 2) {
+ let pages = getCurrentPages();
+ let view = pages[pages.length - 1];
+ // 浏览足迹 new_page_comeIn == 2为页面第一个请求接口
+ headers['local-url'] = view.route;
+ this.globalData.new_page_comeIn = 2;
+ }
+
+ url += "&mini_version=v1.1.136";
+ this.data.login_type = 2;
+ wx.request({
+ url: url,
+ method: method,
+ data: data,
+ header: headers,
+ timeout: 10000,
+ success: (res) => {
+ if (res.data.basic_info) {
+ yzFirstlogin = 0;
+ that.data.basic_info = res.data.basic_info;
+ that.initLanguage(that.data.basic_info.lang);
+ try {
+ wx.setStorageSync("yz_basic_info", res.data.basic_info);
+
+ // 判断门店独立模块是否开启
+ // let basic_info = res.data.basic_info;
+ // if (basic_info.plugin_setting && basic_info.plugin_setting.store_alone_temp && basic_info.plugin_setting.store_alone_temp.enable == 1) {
+ // this.globalData.store_alone_temp = 1;
+ // let pages = getCurrentPages(),
+ // view = pages[pages.length - 1]; //获取当前页面的对象
+ // if (!this.globalData.STORE_ID && view.route !== 'packageG/independent_store/index/index') {
+ // // this.isHasStoreId();
+ // return false;
+ // }
+ // }
+
+ this.globalData.cart_num = res.data.basic_info.globalParameter ? res.data.basic_info.globalParameter.cart_num : '';
+ if (res.data.basic_info.home && res.data.basic_info.home.mailInfo && res.data.basic_info.home.mailInfo) {
+ // 积分名称
+ wx.setStorageSync('integral', res.data.basic_info.home.mailInfo.credit1 || '积分');
+ }
+ } catch (e) {
+ console.log("yz_basic_info存储出错", e);
+ }
+ try {
+ if (res.data.basic_info.home.plugin.new_member_prize && res.data.basic_info.home.plugin.new_member_prize.prize && res.data.basic_info.home.plugin.new_member_prize.prize.length != 0) {
+ console.log("storage_newAward存储====");
+ wx.setStorageSync("storage_newAward", res.data.basic_info.home.plugin.new_member_prize);
+ }
+ } catch (e) {
+ console.log("storage_newAward存储出错", e);
+ }
+ }
+
+ if (validateBol && res.data.validate_page) {
+ that.getInvite(res.data.validate_page);
+ }
+
+ if (res.data.result == 0 && res.data.msg === "请登录") {
+ that.login_state(_ObjData, "get");
+ return;
+ }
+ if (res.data.result == 2) {
+ wx.removeStorage({
+ key: "session",
+ success: function (res) {
+ console.log(res.data);
+ },
+ });
+ wx.removeStorage({
+ key: "openid",
+ success: function (res) {
+ console.log(res.data);
+ },
+ });
+ wx.removeStorage({
+ key: "wx_token",
+ success: function (res) {
+ console.log(res.data);
+ },
+ });
+ wx.removeStorage({
+ key: "userInfo",
+ success: function (res) {
+ that._getNetWork(_ObjData);
+ },
+ });
+ } else {
+ // wx.hideToast()
+ wx.hideNavigationBarLoading();
+ success && success(res);
+ resolve(res);
+ this.data.login_type = 1;
+ if (this.data.login_fun_list.length > 0) {
+ let obj = this.data.login_fun_list.shift();
+ this.toRequestNetWork(obj);
+ // console.log(obj,"-------------------------------------------------success")
+ }
+ }
+ },
+ fail: (res) => {
+ this.data.login_type = 1;
+ if (fail && typeof fail === "function") {
+ fail(res);
+ }
+ reject(res);
+ wx.showToast({
+ title: "数据获取失败!",
+ icon: "loading",
+ duration: 2000,
+ mask: true,
+ });
+ console.log("数据获取失败:", url, res);
+ },
+ complete: (res) => {
+ if (complete && typeof complete === "function") {
+ complete(res);
+ }
+ },
+ });
+ },
+ /*青蛙pro信息*/
+ requestFrogproServerData(url, method, data) {
+ return new Promise(function (resolve, reject) {
+ wx.request({
+ url: url,
+ data: data,
+ header: {
+ "Content-Type": "application/json",
+ Accept: "application/json",
+ },
+ method: method,
+ success: function (res) {
+ resolve(res);
+ },
+ fail: function (res) {
+ reject(res);
+ },
+ });
+ });
+ },
+ // 青蛙小程序登录
+ startLogin: function () {
+ let that = this;
+ that.data.clearlogin = setInterval(function () {
+ wx.login({
+ success: function (_json) {
+ if (_json.code) {
+ // 请求登录接口
+ that
+ .requestFrogproServerData(that.getFrogproNetAddresss("member.login.index"), "get", {
+ code: _json.code,
+ ver: "2",
+ // info: _info
+ })
+ .then(function (res) {
+ var _data = res.data;
+ if (_data.result == 1) {
+ // 存储key
+ if (_data.data.user_info) {
+ wx.setStorageSync("nickname", _data.data.user_info.nickname);
+ }
+ if (_data.msg.session) {
+ wx.setStorageSync("session", _data.session);
+ }
+ if (_data.msg.wx_token) {
+ wx.setStorageSync("wx_token", _data.wx_token);
+ }
+ if (_data.data.store) {
+ wx.setStorageSync("storeMessage", _data.data.store);
+ }
+ let Json = {
+ wx_token: _data.msg.wx_token,
+ session: _data.msg.session,
+ store_id: _data.data.store.store_id,
+ dispatch_type_id: 2,
+ goods_id: _data.data.store.goods_id,
+ host: that.data.host,
+ uniacid: that.data.uniacid,
+ };
+ wxfaceapp.postMsg({
+ targetAppid: that.data.accept_message_id,
+ content: JSON.stringify(Json),
+ success(res) {
+ },
+ fail(res) {
+ },
+ });
+ } else {
+ console.log("错误信息:::" + res.errMsg);
+ }
+ // 异步请求到的数据data
+ })
+ .catch(function (res) {
+ console.log("错误信息:::" + res.errMsg);
+ });
+ } else {
+ console.log("错误信息:::" + res.errMsg);
+ }
+ },
+ fail: function (res) {
+ console.log("登录失败,请求被拒绝!获取用户登录态失败!" + res);
+ },
+ });
+ }, 600000);
+ },
+ getFrogproNetAddresss: function (action) {
+ let wx_token = this.getWxToken();
+ var url = this.data.host + "/yhmobile/yun_shop/api.php?i=" + this.data.uniacid + "&session_id=" + wx_token + "&type=12&route=" + action;
+ if(this.globalData.STORE_ID){
+ url += "&store_id=" + this.globalData.STORE_ID;
+ }
+ return url;
+ },
+ /*青蛙pro信息*/
+ //获取设备信息
+ getSystemInfo() {
+ try {
+ const res = wx.getSystemInfoSync();
+ let model = res.model;
+ if (/iPhone X/i.test(model) || /iPhone 11/i.test(model) || /iPhone 12/i.test(model) || /iPhone 13/i.test(model)) {
+ try {
+ wx.setStorageSync("iPhoneBottom", model);
+ } catch (e) {
+ console.log(e);
+ }
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+
+ seyzredirect(path, options) {
+ // 设置当前链接 登录后返回
+ console.log(path, options, 'options2');
+ var pages = getCurrentPages(); //获取加载的页面
+ var currentPage = pages[pages.length - 1]; //获取当前页面的对象
+ // 优先级 options > currentPage.options 当只有path参数传入即不用options
+ let optionsData = options ? options : (path ? '' : currentPage.options);
+ let routeData = path ? path : currentPage.route;
+ let notLogin = ['pages/login/login', 'packageA/member/editmobile/editmobile'];
+ if (notLogin.indexOf(routeData) > -1) {
+ return;
+ }
+ if (optionsData) {
+ //参数多时通过&拼接url的参数
+ var urlWithArgs = routeData + "?";
+ for (var key in optionsData) {
+ var value = optionsData[key];
+ urlWithArgs += key + "=" + value + "&";
+ }
+ urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1);
+ wx.setStorageSync("yz_redirect", `${urlWithArgs}`);
+ } else {
+ wx.setStorageSync("yz_redirect", routeData);
+ }
+
+ // console.log(optionsData,routeData, 'options3')
+ },
+ getyzredirect() {
+ let yzredirect = "";
+ try {
+ let value = wx.getStorageSync("yz_redirect");
+ if (value) {
+ yzredirect = value;
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ return yzredirect;
+ },
+ globalData: {
+ host: newhost.host,
+ uniacid: newhost.uniacid,
+ new_page_comeIn: 0,
+ statusBarHeight: 0,
+ screenHeight: 0,
+ define_order_pay: 1, // '确认付款' => 1,这种方法定义常量不用每个js都注入
+ define_order_receiv: 5, // '确认收货' => 5,这种方法定义常量不用每个js都注入
+ define_order_check: 8, // '查看物流' => 8,这种方法定义常量不用每个js都注入
+ define_order_cancle: 9, // '取消订单' => 9,这种方法定义常量不用每个js都注入
+ define_order_comment: 10, // '评价' => 10,这种方法定义常量不用每个js都注入
+ define_order_recomment: 11, // '追加评价' => 10,这种方法定义常量不用每个js都注入
+ define_order_delete: 12, // '删除订单' => 10,这种方法定义常量不用每个js都注入
+ define_order_refund: 13, // '退款' => 10,这种方法定义常量不用每个js都注入
+ define_order_used: 14, // '确认使用' => 10,这种方法定义常量不用每个js都注入
+ // uid: 0,// 推广人id
+ mid: 0,
+ userInfo: null,
+ globaSession: null,
+ // 自定义跳转方式选择值,用于区别调用跳转方法
+ tabBar: {
+ index: "-1",
+ category: "-1",
+ extension: "-1",
+ cart: "-1",
+ memindex: "-1",
+ },
+ // 腾讯地图key值
+ qqmapkey: "",
+ // 腾讯地图校验码
+ qqmapsig: "",
+ pathData: "",
+ cart_num: 0, //购物车数量
+ isLocationIng: false,
+
+ // 门店独立模块
+ store_alone_temp: 1,
+ STORE_ID: newhost.store_id,
+ integralOtherMiniData: {}
+ },
+ _getLanguage(data) {
+ wx.setStorageSync("langIndex", data);
+ },
+ _getTemplate() {
+ // 获取动态腾讯地图key
+ let urlStr = this.getNetAddresss("plugin.min-app.Frontend.Controllers.page.index");
+ urlStr = urlStr + "&scope=pass";
+ return new Promise((resolve, reject) => {
+ wx.request({
+ url: urlStr,
+ method: "GET",
+ header: {
+ "Content-Type": "application/json",
+ Accept: "application/json",
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result === 1) {
+
+ this.globalData.qqmapkey = res.data.qq_map_web_key;
+ this.globalData.qqmapsig = res.data.qq_map_web_sign;
+ try {
+ // 平台协议
+ wx.setStorageSync("new_agreement", {
+ agreement_name: res.data.agreement_name,
+ new_agreement: res.data.new_agreement
+ });
+ } catch (error) {
+ console.log(error);
+ }
+ resolve();
+ } else {
+ this.globalData.qqmapkey = "KUBBZ-IXPCO-3ZNWD-SHC4H-O4TZH-ZSBQR";
+ this.globalData.qqmapsig = "l3Fyt4WylOFiPzbBSIkjWJ1aDU6NNa4";
+ resolve();
+ }
+ },
+ fail: (res) => {
+ this.globalData.qqmapkey = "KUBBZ-IXPCO-3ZNWD-SHC4H-O4TZH-ZSBQR";
+ this.globalData.qqmapsig = "l3Fyt4WylOFiPzbBSIkjWJ1aDU6NNa4";
+ resolve();
+ }
+ });
+ });
+ },
+ _setMid: function (mid) {
+ this.globalData.mid = mid;
+ wx.setStorage({
+ key: "mid",
+ data: mid,
+ });
+ },
+ _setshopid: function (shop_id) {
+ this.globalData.shop_id = shop_id;
+ wx.setStorage({
+ key: "shop_id",
+ data: shop_id,
+ });
+ },
+ _setvid: function (vid) {
+ this.globalData.vid = vid;
+ },
+ _setcircleInvitationId(circle_invitation_id) {
+ console.log("设置了circle_invitation_id");
+ this.globalData.circle_invitation_id = circle_invitation_id;
+ },
+ _setroomid: function (roomid) {
+ this.globalData.roomid = roomid;
+ },
+
+
+ getWxToken: function () {
+ var value = wx.getStorageSync("wx_token");
+ if (value) {
+ console.log("同步token", value);
+ return value;
+ } else {
+ console.log("获取token失败");
+ }
+ },
+
+ getNetAddresss: function (action) {
+ // let wx_token = this.getWxToken();
+ this.getExtJson();
+ var url = this.data.host + "/yhmobile/yun_shop/api.php?i=" + this.data.uniacid + "&type=2&route=" + action;
+ if (this.globalData.STORE_ID) {
+ url += "&store_id=" + this.globalData.STORE_ID;
+ }
+ if (this.globalData.mid) {
+ url += "&mid=" + this.globalData.mid;
+ }
+ if (this.globalData.vid) {
+ url += "&vid=" + this.globalData.vid;
+ }
+ if (this.globalData.circle_invitation_id) {
+ console.log("地址带上circle_invitation_id");
+ url += "&circle_invitation_id=" + this.globalData.circle_invitation_id;
+ }
+ if (this.globalData.roomid) {
+ url += "&room_id=" + this.globalData.roomid;
+ }
+ if (this.globalData.shop_id) {
+ url += "&shop_id=" + this.globalData.shop_id;
+ }
+ url += "&ingress=weChatApplet";
+
+ if (url.indexOf("member.login.index") > -1) {
+ // 解决登录授权后没有新人奖(basic_info )
+ yzFirstlogin = 1;
+ }
+ // url += "&mid=399"
+ console.log("APP____URL:::", url);
+ return url;
+ },
+ // 时间戳差值
+ getTimeDifference(Timestamp) {
+ var now = Date.parse(new Date());
+ // console.log("Timestamp", Timestamp);
+ let time = Timestamp < 1000000000000 ? Timestamp * 1000 : Timestamp;
+ // console.log(time - now);
+ if (time - now > 0) {
+ return time - now;
+ } else if (time - now <= 0) {
+ return 0;
+ }
+ },
+
+ // 返回评价数组
+ getEvaluate: function (num) {
+ return {
+ num: num,
+ list: [1, 1, 1, 1, 1, 0, 0, 0, 0, 0].slice(5 - num, 10 - num),
+ };
+ },
+ // 判断是否是空
+ _isTextEmpty: function (str) {
+ if (str == null || str == "" || str == undefined) {
+ return true;
+ } else {
+ return false;
+ }
+ },
+ // 判断ios还是android
+ isIosOrAndroid: function () {
+ let u = navigator.userAgent;
+ let isAndroid = u.indexOf("Android") > -1 || u.indexOf("Adr") > -1; // android终端
+ let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); // ios终端
+ let isStr = "";
+ if (isAndroid) {
+ isStr = "android";
+ }
+ if (isiOS) {
+ isStr = "ios";
+ }
+ return isStr;
+ },
+ // 判断参数传递是否为空
+ setMailLanguage: function (defaultStr, languageStr) {
+ let language = this._isTextEmpty(languageStr) ? defaultStr : languageStr;
+ return language;
+ },
+ // 是否手机
+ _isMoblie: function (value) {
+ // return !/^1(3|5|7|8|9)[0-9]{9}$/.test(value)
+ return isNaN(Number(value));
+ },
+ // 判断URL链接中是否有mid如果有
+ _isMid: function (url, val) {
+ if (url.indexOf("mid=") >= 0) {
+ return this.changeUrlArg(url, "mid", val);
+ } else {
+ let burl = this.delQueStr(url, "mid");
+ return this.changeUrlArg(burl, "mid", val);
+ }
+ },
+ changeUrlArg: function (url, arg, val) {
+ var pattern = arg + "=([^&]*)";
+ var replaceText = arg + "=" + val;
+ return url.match(pattern) ? url.replace(eval("/(" + arg + "=)([^&]*)/gi"), replaceText) : url.match("[?]") ? url + "&" + replaceText : url + "?" + replaceText;
+ },
+ // 删除参数值
+ delQueStr: function (url, ref) {
+ var str = "";
+ if (url.indexOf("#") != -1) {
+ str = url.substr(url.indexOf("#") + 1);
+ } else {
+ return url;
+ }
+ var arr = "";
+ var returnurl = "";
+ if (str.indexOf("&") != -1) {
+ arr = str.split("&");
+ for (let i = 0; i < arr.length; i++) {
+ if (arr[i].split("=")[0] != ref) {
+ returnurl = returnurl + arr[i].split("=")[0] + "=" + arr[i].split("=")[1] + "&";
+ }
+ }
+ return url.substr(0, url.indexOf("?")) + "?#" + returnurl.substr(0, returnurl.length - 1);
+ } else {
+ arr = str.split("=");
+ if (arr[0] == ref) return url.substr(0, url.indexOf("?"));
+ else return url;
+ }
+ },
+ getExtJson: function () {
+ console.log("================enter extJson===============");
+ var that = this;
+ var extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {};
+ console.log("********extConfig*********", extConfig);
+ if (extConfig.host) {
+ console.log("================extJson exists===============");
+ that.data.host = extConfig.host;
+ that.data.uniacid = extConfig.uniacid;
+ } else {
+ console.log("================extJson not exists===============");
+ wx.getExtConfigSync({
+ success: function (res) {
+ console.log("================extJson11===============", res.extConfig);
+ that.data.host = res.extConfig.host;
+ that.data.uniacid = res.extConfig.uniacid;
+ },
+ fail: function (res) {
+ console.log("================error.extJson11===============", res);
+ },
+ });
+ }
+ },
+ //是否开启邀请页面
+ getInvite(data) {
+ if (data.is_invite === 1 || data.invite_mobile === 1 || (data.real_name_auth_is_open === 1 && data.is_auth === 1)) {
+ yzValidate_page = 0;
+ }
+ if (data.real_name_auth_is_open === 1) {
+ // 判断实名插件是否开启
+ if (data.is_auth !== 1 && data.real_name_auth_scene && data.real_name_auth_scene.length > 0) {
+ // 是否已经实名过
+ this.bind_real_name(data.real_name_auth_scene);
+ return;
+ }
+ }
+ if (data.is_bind_mobile !== 0) {
+ this.bindMobile(data.is_bind_mobile, this.globalData.pathData);
+ } else {
+ if (data.is_login === 1) {
+ // 登录
+ if (data.is_invite !== 1) {
+ // 是否填写过邀请人
+ if (data.invite_page === 1) {
+ //是否开启邀请页面
+ wx.redirectTo({
+ url: "/packageC/member/visit/Inviter/Inviter",
+ });
+ }
+ } else {
+ if (typeof data.invite_mobile != "undefined" && data.invite_mobile !== 1 && data.invite_page === 1) {
+ wx.redirectTo({
+ url: "/packageC/member/visit/Inviter/Inviter",
+ });
+ }
+ }
+ }
+ }
+ },
+ //查看用户是否需要绑定手机号
+ bindMobile(e, setpathData) {
+ var pages = getCurrentPages(); //获取加载的页面
+ var currentPage = pages[pages.length - 1]; //获取当前页面的对象
+ let routeData = currentPage.route;
+ if (e == 1) {
+ //跳转绑定手机页面
+ wx.reLaunch({
+ url: "/packageA/member/editmobile/editmobile?fromApp=1",
+ });
+ } else if (e == 2) {
+ if (routeData == "packageG/member_v2/member_v2") {
+ wx.reLaunch({
+ url: "/packageA/member/editmobile/editmobile?fromApp=2",
+ });
+ }
+ } else if (e == 3) {
+ if (routeData.indexOf("detail_v2/detail_v2") > 0) {
+ wx.reLaunch({
+ url: "/packageA/member/editmobile/editmobile?fromApp=1",
+ });
+ }
+ } else if (e == 4) {
+ if (routeData == "packageG/pages/member/extension/extension") {
+ wx.reLaunch({
+ url: "/packageA/member/editmobile/editmobile?fromApp=4",
+ });
+ }
+ }
+ },
+
+ bind_real_name(scene) {
+ // 全局1 提现申请2 发布短视频3 发布微贴4 推广中心5
+ var pages = getCurrentPages(); //获取加载的页面
+ var currentPage = pages[pages.length - 1]; //获取当前页面的对象
+ let routeData = currentPage.route;
+ if (routeData !== 'packageH/signPage/personBank/personBank') {
+ wx.setStorageSync("real_name_redirect", routeData);
+ }
+ if (scene.indexOf('1') > -1 && routeData !== 'packageH/signPage/personBank/personBank') {
+ wx.reLaunch({
+ url: "/packageH/signPage/personBank/personBank?from=bindRealName",
+ });
+ return;
+ }
+ if (scene.indexOf('5') > -1) {
+ // 推广中心
+ if (routeData == "packageG/pages/member/extension/extension") {
+ wx.reLaunch({
+ url: "/packageH/signPage/personBank/personBank?from=bindRealName",
+ });
+ }
+ }
+ if (scene.indexOf('2') > -1) {
+ // 提现申请
+ if (routeData == "packageA/member/withdrawal/withdrawal") {
+ wx.reLaunch({
+ url: "/packageH/signPage/personBank/personBank?from=bindRealName",
+ });
+ }
+ }
+ if (scene.indexOf('3') > -1) {
+ // 发布短视频
+ if (routeData == "packageC/video_goods/videoAgreement/videoAgreement" || routeData == "packageC/video_goods/releaseVideo/releaseVideo") {
+ wx.reLaunch({
+ url: "/packageH/signPage/personBank/personBank?from=bindRealName",
+ });
+ }
+ }
+ if (scene.indexOf('4') > -1) {
+ // 发布微贴
+ if (routeData == "packageC/micro_communities/microRelease/microRelease") {
+ wx.reLaunch({
+ url: "/packageH/signPage/personBank/personBank?from=bindRealName",
+ });
+ }
+ }
+
+ },
+ requestServerData(url, method, data) {
+ if (url.indexOf('member.login.index') > -1) {
+ console.log('登录接口');
+ }
+ return new Promise(function (resolve, reject) {
+ wx.request({
+ url: url,
+ data: data,
+ header: {
+ "Content-Type": "application/json",
+ Accept: "application/json",
+ },
+ method: method,
+ success: function (res) {
+ resolve(res);
+ },
+ fail: function (res) {
+ reject(res);
+ },
+ });
+ });
+ },
+ login_state(ObjData, requestType) {
+ //调试用
+ // this.seyzredirect();
+ // wx.redirectTo({
+ // url: "/pages/login/login",
+ // });
+ // return;
+ //接口返回0,并且未登录的情况处理x
+ var that = this;
+ wx.login({
+ success: (_json) => {
+ console.log(_json,9999888);
+ wx.showLoading({
+ title: "自动登录中....",
+ });
+ if (_json.code) {
+ // 请求登录接口查看是否有登陆过
+ that
+ .requestServerData(that.getNetAddresss("plugin.store-cashier.frontend.login.login.index"), "get", {
+ code: _json.code,
+ ver: "2",
+ })
+ .then((res) => {
+ wx.hideLoading();
+ var _data = res.data;
+ that.data.login_type = 1;
+ if (_data.result == 1) {
+ if (_data.data.session) {
+ wx.setStorageSync("session", _data.data.session);
+ }
+ if (_data.data.user_info) {
+ wx.setStorageSync("nickname", _data.data.user_info.nickname);
+ }
+ wx.setStorage({
+ key: "openid",
+ data: _data.data.openid,
+ });
+ if (_data.data.wx_token) {
+ wx.setStorageSync("wx_token", _data.data.wx_token);
+ }
+ wx.setStorage({
+ key: "yz_uid",
+ data: _data.data.uid,
+ });
+ wx.removeStorageSync("new_decorate"); //登录之后清除首页缓存数据重新请求
+ console.log("登录后", ObjData);
+ if (ObjData.method == 'POST') {
+ that._postNetWork(ObjData);
+ } else {
+ that._getNetWork(ObjData);
+ }
+ } else {
+ that.seyzredirect();
+ wx.showModal({
+ title: "提示",
+ content: _data.data,
+ success(res) {
+ console.log(res);
+ },
+ });
+ wx.redirectTo({
+ url: "/pages/login/login",
+ });
+ }
+ // 异步请求到的数据data
+ })
+ .catch(function (res) {
+ console.log(res);
+ wx.hideLoading({
+ success: (res) => {
+ },
+ });
+ console.log("第三方登录失败session、wx_token获取失败" + res.errMsg);
+ });
+ } else {
+ that.seyzredirect();
+ wx.redirectTo({
+ url: "/pages/login/login",
+ });
+ }
+ },
+ fail: function (res) {
+ wx.hideLoading({
+ success: (res) => {
+ },
+ });
+ wx.showToast({
+ title: "小程序需要登录,请点击右下方前往小程序体验",
+ icon: "none",
+ duration: 1500,
+ });
+ console.log(res);
+ },
+ });
+ },
+ //初始化语言设置
+ initLanguage(data) {
+ // let urlStr = this.getNetAddresss("setting.get-lang-setting");
+ // this._getNetWork({
+ // url: urlStr,
+ // data: {},
+ // success: function(resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // let data = res.data;
+ try {
+ wx.setStorageSync("mailLanguage", JSON.stringify(data));
+ } catch (e) {
+ console.log(e);
+ }
+ this._getLanguage(data && data.plugin_language ? data.plugin_language : locales);
+ // }
+ // },
+ // fail: function(res) {
+ // console.log(res);
+ // }
+ // });
+ },
+ gotochecklogin(options) {
+ let that = this;
+ // let loginFlag = wx.getStorageSync('wx_token');
+ // if (loginFlag) {
+ that.getfirstData(options);
+ // } else {
+ // 无skey,作为首次登录
+ // that.gotoLogin(options);
+ // }
+ },
+ getfirstData(options) {
+ this.globalData.pathData = options.path;
+ // this.getInvite();
+ // this.initLanguage();
+ },
+
+
+ // 腾讯转百度(小程序用这个)
+ qqMapTransBMap(lng, lat) {
+ if (lng == null || lng == '' || lat == null || lat == '') {
+ return {
+ lng: Number(lng),
+ lat: Number(lat)
+ };
+ }
+
+ var x_pi = (Math.PI * 3000.0) / 180.0;
+ var x = parseFloat(lng);
+ var y = parseFloat(lat);
+ var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
+ var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
+ let lng_out = z * Math.cos(theta) + 0.0065;
+ let lat_out = z * Math.sin(theta) + 0.006;
+ return {
+ lng: Number(lng_out),
+ lat: Number(lat_out)
+ };
+ },
+
+ // 百度转腾讯(小程序用这个)
+ BMapTransqqMap(lng, lat) {
+ if (lng == null || lng == '' || lat == null || lat == '') {
+ return {
+ lng: Number(lng),
+ lat: Number(lat)
+ };
+ }
+
+ var x_pi = (Math.PI * 3000.0) / 180.0;
+ var x = parseFloat(lng) - 0.0065;
+ var y = parseFloat(lat) - 0.006;
+ var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
+ var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
+ let lng_out = z * Math.cos(theta);
+ let lat_out = z * Math.sin(theta);
+
+ return {
+ lng: Number(lng_out),
+ lat: Number(lat_out)
+ };
+ },
+ tips(msg, icon = "none", time = 2500) {
+ wx.showToast({
+ title: msg,
+ icon,
+ duration: time,
+ });
+ return false;
+ },
+ confirm(content, callBack, showCancel = true, confirmText, cancelTextL) {
+ // content 弹窗内容,callBack 确认回调,showCancel = true 是否显示取消,confirmText 确认文字,cancelTextL 取消文字
+ return new Promise((resolve, reject) => {
+ wx.showModal({
+ title: '提示',
+ content: content,
+ showCancel: showCancel,
+ confirmText: confirmText || '确认',
+ cancelTextL: cancelTextL || '取消',
+ success(res) {
+ if (res.confirm) {
+ resolve(true);
+ if (callBack) callBack(true);
+ } else if (res.cancel) {
+ resolve(false);
+ if (callBack) callBack(false);
+ }
+ },
+ fail: () => {
+ reject(false);
+ }
+ });
+ });
+ },
+ setDeliver(_options) {
+ let deliverIDStorage = wx.getStorageSync('deliverId') || null; //获取当前会话是否存储了自提点id
+ if (_options.query.dyID && !deliverIDStorage) {
+ //添加判断sessionStorage是否已存在的目的是防止在其他页面刷新,关联的自提点又变成了链接上的,导致之前手动切换的失效
+ let list = ['packageG/index/index', "packageG/newDiy/newDiy"];
+ let list_2 = ["packageG/pages/category_v2/category_v2", "packageB/member/category/search_v2/search_v2"];
+ if (list_2.indexOf(_options.path) > -1) {
+ return false;
+ } else if (list.indexOf(_options.path) > -1) {
+ wx.setStorageSync("deliverId", _options.query.dyID);
+ return false;
+ }
+ let urlStr = this.getNetAddresss("plugin.package-deliver.frontend.decorate-deliver.getNowPackageDeliver");
+ urlStr = urlStr + "&deliver_id=" + _options.query.dyID;
+ this._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ wx.setStorageSync("deliverId", res.data.id);
+ }
+ }
+ });
+ }
+ },
+ shareTimeLine(view) {
+ let hasDiyShare = null;
+ let shareObject = {};
+ let info_config = {}; //获取当前页面的对象
+ let value = wx.getStorageSync("yz_uid");
+ let mid = null;
+ if (value && value != '') {
+ mid = value;
+ }
+ if (view.onShareTimeline) {
+ //是否在页面定义配置了onShareTimeline方法;
+ hasDiyShare = view.onShareTimeline();
+ }
+ if (!hasDiyShare) {
+ // 有onShareTimeline 但没有没有配置 带上mid
+ shareObject.query = `?mid=${mid}`;
+ return shareObject;
+ } else {
+ // 有onShareTimeline 有配置 检查是否有带上mid
+ let oldShareFun = view.onShareTimeline; //暂存重写前的分享方法
+ view.onShareTimeline = function (e) {
+ info_config = oldShareFun();
+ if (info_config.query) {
+ if (info_config.query.indexOf('mid') > -1) {
+ shareObject.query = `${info_config.query}&mid=${mid}`;
+ }
+ if (info_config.title) {
+ shareObject.title = info_config.title;
+ }
+ return shareObject;
+ }
+ };
+ }
+ },
+ //设置全局分享
+ overShare: function () {
+ let that = this;
+ // 调用隐藏路由回调
+ wx.onAppRoute(function (res) {
+ //获取加载的页面
+ let pages = getCurrentPages(),
+ view = pages[pages.length - 1],
+ info_config = {}, //获取当前页面的对象
+ hasDiyShare = null;
+ // console.log("view.onShareAppMessage=============",view)
+ // 浏览足迹 页面切换时更新new_page_comeIn
+ that.globalData.new_page_comeIn = 1;
+ if (view) {
+ try {
+ // 分享朋友圈传参全局判断
+ that.shareTimeLine(view);
+ if (view.onShareAppMessage) {
+ //是否在页面定义配置了onShareAppMessage方法;
+ hasDiyShare = view.onShareAppMessage();
+ }
+ if (that.globalData.store_alone_temp == 1 && that.globalData.STORE_ID) {
+ that.storeAloneShare(view, info_config);
+ } else {
+ let shareObject = {};
+ let value = wx.getStorageSync("yz_uid");
+ let mid = null;
+ if (value && value != '') {
+ mid = value;
+ }
+ if (hasDiyShare) {
+ let oldShareFun = view.onShareAppMessage; //暂存重写前的分享方法
+ view.onShareAppMessage = function (e) {
+ info_config = oldShareFun();
+ if (e && e.from == "button") {
+ return oldShareFun(e);
+ }
+ //重写分享配置
+ // 判断有没有自定义分享path和定义options
+ if (info_config.path) {
+ //当前页面有配置path
+ if (info_config.path.indexOf('mid') > -1) {
+ shareObject.path = info_config.path;
+ } else if (mid) {
+ //在当前页有设置其他分享参数但是没有mid
+ if (info_config.path.indexOf('?') > -1) {
+ shareObject.path = `${info_config.path}&mid=${mid}`;
+ } else {
+ shareObject.path = `${info_config.path}?mid=${mid}`;
+ }
+ }
+ } else if (mid) {
+ //没有配置,默认带上mid
+ shareObject.path = `/${view.route}?mid=${mid}`;
+ }
+ // 供应商自提点分享传参 ====== start ==========
+ let deliverIDStorage = wx.getStorageSync('deliverId') || null; //获取当前会话是否存储了自提点id
+ if (deliverIDStorage) {
+ shareObject.path = `${shareObject.path}&dyID=${deliverIDStorage}`;
+ }
+ // 供应商自提点分享传参 ====== end ==========
+
+ if (info_config.title) shareObject.title = info_config.title; //设置分享标题
+ if (info_config.imageUrl) shareObject.imageUrl = info_config.imageUrl; //设置分享图片
+ console.log("重写分享配置", shareObject);
+ return shareObject;
+ };
+ } else {
+ // 有onShareAppMessage 但没有没有配置
+ shareObject.path = `/${view.route}?mid=${mid}`;
+ // console.log(shareObject)
+ return shareObject;
+ }
+
+ }
+ } catch (error) {
+ console.log("app.js报错:error:::页面" + view.route + "获取onShareAppMessage报错=============", error);
+ }
+ }
+ });
+ },
+ // 门店独立模块分享
+ storeAloneShare(view, info_config) {
+ let value = wx.getStorageSync("yz_uid");
+ let mid = "";
+ if (value) {
+ mid = value;
+ }
+ if (!info_config) {
+ view.onShareAppMessage = function () {
+ return {
+ path: `/${view.route}?mid=${mid}&store_alone_id=${this.globalData.STORE_ID}`,
+ };
+ };
+ } else {
+ if (info_config.path) {
+ // 判断有没有自定义分享path和定义options
+ if (info_config.path.indexOf('?') > -1) {
+ return {
+ path: `/${view.route}&store_alone_id=${this.globalData.STORE_ID}`,
+ };
+ } else {
+ return {
+ path: `/${view.route}?store_alone_id=${this.globalData.STORE_ID}`,
+ };
+ }
+ } else {
+ return {
+ path: `/${view.route}?mid=${mid}&store_alone_id=${this.globalData.STORE_ID}`,
+ };
+ }
+ }
+ },
+ getReverseGeocoder(lat, lng) {
+ let that = this;
+ return new Promise(function (resolve, reject) {
+ if (that.globalData.location && that.globalData.location.latitude == lat && that.globalData.location.longitude == lng) {
+ console.log("当前定位位置未发生改变,取globalData里值 》》》》》》》》》》》", that.globalData.location);
+ resolve(that.globalData.geocoder);
+ return;
+ }
+ if (!that.globalData.qqmapkey) {
+ reject("没有that.globalData.qqmapkey::::", that.globalData.qqmapkey);
+ return;
+ }
+ qqmapsdk = new QQMapWX({
+ key: that.globalData.qqmapkey
+ });
+ qqmapsdk.reverseGeocoder({
+ //位置坐标,默认获取当前位置,非必须参数
+ location: {
+ latitude: lat,
+ longitude: lng
+ },
+ sig: that.globalData.qqmapsig,
+ success: function (res) { //成功后的回调
+ let mapdata = res.result;
+ that.globalData.location = {
+ latitude: lat,
+ longitude: lng
+ };
+ that.globalData.geocoder = mapdata;
+ console.log("当前定位位置发生改变!!!!!!!重新reverseGeocoder()", that.globalData.location);
+ resolve(mapdata);
+ },
+ fail: function (error) {
+ wx.showToast({
+ duration: 3000,
+ title: error.message,
+ icon: 'none'
+ });
+ reject("app.getReverseGeocoder()报错error::::", error);
+ },
+ complete: function (res) {
+
+ }
+ });
+ });
+ },
+ getGeocoder(address) {
+ let that = this;
+ // 需要调用次数 没有特殊要求还是不用
+ return new Promise(function (resolve, reject) {
+ if (!that.globalData.qqmapkey) {
+ reject("没有that.globalData.qqmapkey::::", that.globalData.qqmapkey);
+ return;
+ }
+ qqmapsdk = new QQMapWX({
+ key: that.globalData.qqmapkey
+ });
+ qqmapsdk.geocoder({
+ //位置坐标,默认获取当前位置,非必须参数
+ address: address, //地址参数,例:固定地址
+ sig: that.globalData.qqmapsig,
+ success: function (res) { //成功后的回调
+ let mapdata = res.result;
+ let point = {
+ lat: mapdata.location.lat,
+ lng: mapdata.location.lng
+ };
+ resolve(point);
+ },
+ fail: function (error) {
+ wx.showToast({
+ duration: 3000,
+ title: error.message,
+ icon: 'none'
+ });
+ reject("app.getGeocoder()报错error::::", error);
+ },
+ complete: function (res) {
+
+ }
+ });
+ });
+ },
+ resetBasicInfo() {
+ //重置yzFirstlogin,使下一次接口重新传参basic_info,获取basic_info数据
+ yzFirstlogin = 1;
+ },
+ adConfig: { // 广告配置
+ app_id: newhost.adBrightid || '', // 营销云平台应用ID
+ domain: newhost.adBrightDomain || '', // 广告服务域名(同步骤2)
+ test_id: '', // 广告位测试ID
+ h5_path: '/packageI/web-view/h5View' // H5预览页面
+ }
+});
\ No newline at end of file
diff --git a/app.json b/app.json
new file mode 100644
index 0000000..3b6f3a0
--- /dev/null
+++ b/app.json
@@ -0,0 +1,302 @@
+{
+ "pages": [
+ "pages/index/index",
+ "pages/login/login",
+ "pages/logs/logs"
+ ],
+ "window": {
+ "backgroundTextStyle": "dark",
+ "backgroundColor": "#f8f8f8",
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTextStyle": "black"
+ },
+ "usingComponents": {
+ "shopfoot": "./mycomponent/foot/foot",
+ "yz-image": "./mycomponent/yz-image/yz-image"
+ },
+ "subpackages": [
+ {
+ "root": "packageA",
+ "pages": [
+ "detail_v2/detail_v2",
+ "member/orderdetail/orderdetail",
+ "member/CourseManage/CourseManage",
+ "member/conferenceList/conferenceList",
+ "member/rechargeCode/rechargeCode",
+ "member/rankingIndex/rankingIndex",
+
+ "member/notice/notice",
+
+ "member/article/articleContent/articleContent",
+ "member/article/noticeByCategory/noticeByCategory",
+ "member/article/noticeReport/noticeReport",
+ "member/article/ArticleList/ArticleList",
+
+ "member/supplier/SupplierIndex/SupplierIndex",
+ "member/supplier/SupplierSearch/SupplierSearch",
+ "member/supplier/SupplierInfo/SupplierInfo",
+ "member/supplier/supplier",
+ "member/supplier/CommodityEditor/CommodityEditor",
+ "member/supplier/SupplierShop/SupplierShop",
+ "member/supplier/CommodityRelease/CommodityRelease",
+ "member/supplier/CommodityManagement/CommodityManagement",
+ "member/supplier/SupInfoManage/SupInfoManage",
+ "member/supplier/goods/goods",
+
+
+
+ "member/myOrder_v2/myOrder_v2",
+ "member/balance/supplier_withdrawals/supplier_withdrawals",
+ "member/SupplierCenter/SupplierCenter",
+
+ "member/extension/incomedetails/incomedetails",
+ "member/extension/earningList/earningList",
+ "member/extension/myEarnings/myEarnings",
+ "member/extension/distributionOrder/distributionOrder",
+ "member/extension/present/present",
+ "member/extension/notPresent/notPresent",
+ "member/extension/alreadySettled/alreadySettled",
+ "member/extension/unsettled/unsettled",
+ "member/extension/commission/commission",
+ "member/extension/CustomQueue/CustomQueue",
+
+ "member/distribution/distribution",
+ "member/ClockPunchRecord/ClockPunchRecord",
+ "member/ClockPunchRule/ClockPunchRule",
+ "member/ClockPunch/ClockPunch",
+
+ "member/income_details_info/income_details_info",
+ "member/presentationDetails/presentationDetails",
+ "member/presentationRecord/presentationRecord",
+ "member/presentationRecord_v2/presentationRecord_v2",
+
+ "member/withdrawal/withdrawal",
+ "member/withdrawEditmobile/withdrawEditmobile",
+ "member/extension/MyIncome/MyIncome",
+ "member/info/info",
+ "member/editmobile/editmobile",
+ "member/memberBank/memberBank",
+ "member/set_balance_password/set_balance_password",
+ "member/balance_password/balance_password",
+ "member/info_costom/info_costom",
+ "member/coupon_v2/coupon_v2",
+ "member/coupon_v2_detail/coupon_v2_detail",
+ "member/sign/sign",
+ "member/signrules/signrules",
+ "member/signrecord/signrecord",
+ "member/storeApply/storeApply",
+
+ "member/extension/ExtensionApply/ExtensionApply",
+ "member/extension/ExtensionGoods/ExtensionGoods",
+ "member/extension/Performance/Performance",
+
+ "member/balance/balance/balance",
+ "member/balance/detailed/detailed",
+ "member/balance/details/details",
+ "member/balance/balance_recharge/balance_recharge",
+ "member/balance/balance_transfer/balance_transfer",
+ "member/balance/balance_withdrawals/balance_withdrawals",
+ "member/balance/transformLoveV/transformLoveV",
+
+ "member/DistributionOrders/DistributionOrders",
+ "member/pick_up_card_order/pick_up_card_order",
+
+ "member/order/logistics/logistics",
+ "member/order/orderCash/orderCash",
+ "member/order/TransferAccount/TransferAccount",
+ "member/order/scancodeAccount/scancodeAccount",
+ "member/order/cpsOrder/cpsOrder",
+ "member/order/cpsCoupon/cpsCoupon",
+ "member/order/orderLogisticsDetails/orderLogisticsDetails",
+
+
+
+ "member/presentationRecordSuppier/presentationRecordSuppier",
+
+ "others/materialCenter/materialCenter",
+ "others/materialSearch/materialSearch",
+ "others/HJinfo/bankCardInformation/bankCardInformation",
+ "others/HJinfo/bankcardin/bankcardin",
+ "others/order_ruturn_info/order_ruturn_info",
+ "others/GoodsComment/GoodsComment",
+
+ "mycomponent/group_buy/group_buy",
+ "qrdetail/detail"
+ ]
+ },
+ {
+ "root": "packageC",
+ "pages": [
+ "cashier/cashier_stat/cashier_stat",
+ "cashier/cashier_qr/cashier_qr",
+ "cashier/cashier/cashier",
+ "cashier/cashierIncome/cashierIncome",
+ "o2o/qrCode/qrCode",
+ "o2o/storeManage/storeManage",
+ "o2o/card/CardChooseMembership/CardChooseMembership",
+ "o2o/card/CardOpenMembership/CardOpenMembership",
+ "o2o/card/new_card/new_card",
+ "o2o/StoreSearch/StoreSearch",
+ "o2o/store_coupon/store_coupon",
+ "o2o/store_add_goods/store_add_goods",
+ "o2o/o2oStore/o2oStore",
+ "cashier/cashier_pay/cashier_pay",
+ "o2o/o2oCategory/o2oCategory",
+ "o2o/o2oSearch/o2oSearch",
+ "o2o/o2oCity/o2oCity",
+ "o2o/o2oLocation_loc/o2oLocation_loc",
+ "o2o/o2oHome/o2oHome",
+ "o2o/o2oLocation/o2oLocation",
+ "o2o/HomeSeller/HomeSeller",
+ "o2o/GoodsClassify/GoodsClassify",
+ "o2o/AddClassify/AddClassify",
+ "o2o/FirstEdit/FirstEdit",
+ "o2o/createGroup/createGroup",
+ "o2o/o2oGrouplist/o2oGrouplist",
+ "o2o/o2oSearchMultiple/o2oSearchMultiple",
+ "o2o/o2oGroupActivitylist/o2oGroupActivitylist",
+ "o2o/openGroupList/openGroupList",
+ "o2o/openGroupDetail/openGroupDetail",
+ "o2o/groupDataStatistics/groupDataStatistics"
+ ]
+ },
+ {
+ "root": "packageD",
+ "pages": [
+ "member/addressAdd_v2/addressAdd_v2",
+ "member/addressEdit/addressEdit",
+ "member/myRelationship/myRelationship",
+ "member/myRelationship/amount/amount",
+ "member/myRelationship/detail/detail",
+ "member/myEvaluation/myEvaluation",
+ "member/CommentDetails/CommentDetails",
+ "member/addevaluate/addevaluate",
+ "member/evaluate/evaluate",
+ "member/myOrder/Aftersaleslist/Aftersaleslist",
+ "member/myOrder/invoice/invoice",
+ "member/myOrder/truckList/truckList",
+ "member/myOrder/evaluate/evaluate",
+ "member/myOrder/order_record/order_record",
+ "member/myOrder/orderVerification/orderVerification",
+ "member/myOrder/express/express",
+ "member/myOrder/Aftersales/Aftersales",
+ "member/myOrder/refund/refund",
+ "member/myOrder/DeliveryEvaluate/DeliveryEvaluate",
+ "member/addressList/addressList",
+ "member/collection/collection",
+ "member/footprint/footprint",
+ "member/myMarket/myMarket",
+ "member/myOrder/negotiationRecord/negotiationRecord",
+ "buy/myOrder_v2/myOrder_v2",
+ "buy/orderPay/orderPay",
+ "buy/payanother/payanother",
+ "buy/payanotherDetail/payanotherDetail",
+ "buy/success/success",
+ "auction/auctioneer-manage/auctioneer/auctioneer",
+ "auction/auctioneer-manage/auction_agreement/auction_agreement",
+ "auction/auctioneer-manage/good_manage/good_manage",
+ "auction/auctioneer-manage/my_money/my_money",
+ "auction/auctioneer-manage/password_change/password_change",
+ "auction/auctioneer-manage/set_password/set_password",
+ "auction/auctioneer-manage/shop_share/shop_share",
+ "auction/auctioneer-manage/auction_collect/auction_collect",
+ "auction/auction/auction_good/auction_good",
+ "auction/auction/auction_index/auction_index",
+ "auction/auction/auction_more/auction_more",
+ "auction/auction/auction_record/auction_record",
+ "auction/auction/auction_search/auction_search",
+ "auction/auction/auction_vip/auction_vip",
+ "auction/auction-apply/auction-apply/auction-apply",
+ "auction/auction-mine/auction_collect/auction_collect",
+ "auction/auction-mine/auction_deposit/auction_deposit",
+ "auction/auction-mine/my_auction/my_auction",
+ "auction/auction-mine/my_index/my_index",
+ "auction/auction-mine/auction_integral_love/auction_integral_love",
+ "auction/auction-mine/auctionIntegralCash/auctionIntegralCash",
+ "auction/auction-mine/auction_goods_order/auction_goods_order",
+ "auction/auction-mine/auction_recharge/auction_recharge",
+ "auction/auctioneer-publish/publish_first/publish_first",
+ "auction/auctioneer-publish/publish_second/publish_second",
+ "auction/auctioneer-shop/auctioneer_shop/auctioneer_shop",
+ "auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search",
+ "directSeeding/anchorApply/anchorApply",
+ "directSeeding/livePage/livePage",
+ "directSeeding/liveList/liveList",
+ "directSeeding/foreshow/foreshow",
+ "directSeeding/anchorDetail/anchorDetail",
+ "directSeeding/liveDividend/liveDividend",
+ "directSeeding/liveReport/liveReport",
+ "directSeeding/helperLiveList/helperLiveList",
+ "directSeeding/helperLiveRoom/helperLiveRoom",
+ "directSeeding/liveClassification/liveClassification",
+ "warranty/warrantyind/warrantyind",
+ "warranty/warrantyAdd/warrantyAdd",
+ "warranty/Add_Balance_manage/Add_Balance_manage",
+ "warranty/Edit_Balance_manage/Edit_Balance_manage",
+ "warranty/policyPay/policyPay",
+ "article/articleList/articleList",
+ "article/PayarticleList/PayarticleList",
+ "preferential_volume/preferential_volume",
+ "o2o/recommendlist/recommendlist",
+ "o2o/recommendind/recommendind",
+ "o2o/recommendtext/recommendtext",
+ "quickPay/member_add_bank_second/member_add_bank_second",
+ "quickPay/member_add_bank_first/member_add_bank_first",
+ "quickPay/quick_index/quick_index",
+ "quickPay/member_choose_bank/member_choose_bank",
+ "quickPay/member_bind_bank/member_bind_bank",
+ "quickPay/bind_bank/bind_bank",
+ "quickPay/add_bank_first/add_bank_first",
+ "quickPay/add_bank_second/add_bank_second",
+ "quickPay/choose_bank/choose_bank",
+ "quickPay/member_remove_bank/member_remove_bank",
+ "playBack/playBack",
+ "livePlayer/livePlayer",
+ "businessActivity/businessActivity",
+ "easyRefuel/easyRefuel",
+ "dividends/dividends",
+ "coupon/coupon_store",
+ "coupon_share/coupon_share",
+ "directSeeding/liveFanList/liveFanList",
+ "ActivityDetail/ActivityDetail",
+ "teamSales/salesManagement/salesManagement",
+ "getCoupon/getCoupon",
+ "MyFriendApply/myfriends"
+ ]
+ },
+ {
+ "root": "packageG",
+ "pages": [
+ "newDiy/newDiy",
+ "member_v2/member_v2",
+ "index/index",
+ "pages/category_v2/category_v2",
+ "pages/member/extension/extension",
+ "pages/buy/cart_v2/cart_v2",
+ "o2o/HomeSeller/HomeSeller",
+ "morePlugin/morePlugin",
+ "integral_shop/integral_shop",
+ "limitedTimeGoods/limitedTimeGoods",
+ "independent_store/access_tip/access_tip",
+ "independent_store/index/index",
+ "independent_store/store_album/store_album",
+ "independent_store/search/search"
+ ]
+ }
+ ],
+ "permission": {
+ "scope.userLocation": {
+ "desc": "你的位置信息将用于就近服务商与产品推荐"
+ }
+ },
+ "requiredPrivateInfos" : [ "getLocation", "chooseAddress" ],
+ "functionalPages": {
+ "independent": true
+ },
+ "requiredBackgroundModes": [
+ "audio"
+ ],
+ "debug": true,
+ "sitemapLocation": "sitemap.json"
+}
\ No newline at end of file
diff --git a/app.wxss b/app.wxss
new file mode 100644
index 0000000..5f00dca
--- /dev/null
+++ b/app.wxss
@@ -0,0 +1,1028 @@
+@import "/wxParse/wxParse.wxss";
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+@import "images.wxss";
+@import "weui.wxss";
+
+page {
+ height: 100%;
+ background-color: #f5f5f5;
+}
+
+.blank {
+ width: 100%;
+}
+
+.blank image {
+ width: 160rpx;
+ margin: 96rpx auto;
+ display: block;
+}
+
+.x_header {
+ position: fixed;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 80rpx;
+ border-bottom: 2rpx solid #eee;
+ z-index: 99;
+ background: #fff;
+}
+
+.x_header .x_title {
+ text-align: center;
+ font-size: 32rpx;
+ color: #333;
+ line-height: 80rpx;
+ width: 100%;
+}
+
+.clearlw::after {
+ content: ".";
+ display: none;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ width: 0;
+ overflow: hidden;
+}
+
+.text-overHide {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.b-btn-area {
+ padding: 20rpx;
+}
+
+.b-btn-area button {
+ padding: 10rpx 0rpx;
+ font-size: 28rpx;
+}
+
+.b-mask {
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.6);
+ position: fixed;
+ top: 0rpx;
+ z-index: 100;
+ display: none;
+}
+
+.b-mask.true {
+ position: fixed;
+ top: 0rpx;
+ z-index: 100;
+ display: block;
+}
+
+.b-br {
+ background: #f8f8f8;
+ width: 750rpx;
+ padding: 10rpx 0rpx;
+ line-height: 30rpx;
+ color: #888;
+}
+
+.b-p {
+ width: 750rpx;
+ padding: 20rpx 0rpx;
+ line-height: 40rpx;
+ color: #888;
+}
+
+.text-center {
+ text-align: center;
+}
+
+.navigator-hover {
+ background-color: rgba(0, 0, 0, 0.1);
+ opacity: 0.7;
+}
+
+.other-navigator-hover {
+ opacity: 0.7;
+}
+
+page,
+.container {
+ font-size: 24rpx;
+ overflow: hidden;
+ width: 750rpx;
+ overflow-y: auto;
+ position: relative;
+ color: #414141;
+}
+
+/*
+page:after{
+ content: " ";
+ position: fixed;
+ left: 0;
+ top: 0;
+ right: 0;
+ height: 1rpx;
+ border-top: 1rpx solid #D9D9D9;
+ z-index: 100;
+} */
+
+.cube-list {
+ background: #fff;
+ width: 750rpx;
+ overflow: hidden;
+}
+
+.cube-list .main {
+ background: #fff;
+ margin-right: -1rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.cube-list .main .picture {
+ width: 100%;
+ overflow: hidden;
+}
+
+.cube-list .main .cols-1 {
+ width: 25%;
+ overflow: hidden;
+}
+
+.cube-list .main .cols-2 {
+ width: 50%;
+ overflow: hidden;
+}
+
+.cube-list .main .cols-3 {
+ width: 75%;
+ overflow: hidden;
+}
+
+.cube-list .main .cols-4 {
+ width: 100%;
+ overflow: hidden;
+}
+
+.cube-list .img1 {
+ display: block;
+ width: 100%;
+}
+
+.d-goodsList {
+ background: #fff;
+ width: 750rpx;
+ overflow: hidden;
+}
+
+.d-goodsList .title {
+ border-top: 1rpx solid #d9d9d9;
+ text-align: center;
+ height: 80rpx;
+ width: 100%;
+ background: #fff;
+}
+
+.d-goodsList .title .x {
+ padding: 0 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ height: 40rpx;
+ margin: 0 auto;
+ display: inline-block;
+ overflow: unset;
+}
+
+.d-goodsList .title .span {
+ line-height: 80rpx;
+ background: #fff;
+ padding: 0 20rpx;
+ display: block;
+ font-size: 24rpx;
+ height: 80rpx;
+}
+
+.d-goodsList .main {
+ /* border-top: 1rpx solid #d9d9d9; */
+ background: #fff;
+ margin-right: -1rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.d-goodsList .main .li {
+ width: 50%;
+ overflow: hidden;
+ box-sizing: border-box;
+ border-right: 1rpx solid #d9d9d9;
+ border-bottom: 1rpx solid #d9d9d9;
+ padding: 20rpx;
+}
+
+.d-goodsList .img1 {
+ display: block;
+ width: 100%;
+ box-sizing: border-box;
+ border: 1rpx solid #f0f0f0;
+}
+
+.d-goodsList .name {
+ line-height: 40rpx;
+ height: 80rpx;
+ overflow: hidden;
+ padding-top: 20rpx;
+ font-size: 28rpx;
+ text-align: justify;
+ align-items: center;
+ display: flex;
+}
+
+.d-goodsList .name text {
+ max-height: 80rpx;
+ overflow: hidden;
+}
+
+.d-goodsList .Price {
+ padding: 22rpx 0rpx 10rpx 0rpx;
+}
+
+.d-goodsList .Price .s1 {
+ color: #f55955;
+ font-size: 28rpx;
+ vertical-align: middle;
+}
+
+.d-goodsList .Price .s2 {
+ text-decoration: line-through;
+ vertical-align: middle;
+ color: #888;
+ font-size: 24rpx;
+ margin-left: 20rpx;
+}
+
+.b-goodsList .main {
+ border-top: 1rpx solid #d9d9d9;
+ background: #fff;
+ margin-right: -1rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.b-goodsList .main .li {
+ width: 50%;
+ overflow: hidden;
+ box-sizing: border-box;
+ border-right: 1rpx solid #d9d9d9;
+ border-bottom: 1rpx solid #d9d9d9;
+ padding: 20rpx;
+}
+
+.b-goodsList .img1 {
+ display: block;
+ width: 335rpx;
+ height: 335rpx;
+ box-sizing: border-box;
+ border: 1rpx solid #f0f0f0;
+}
+
+.b-goodsList .name {
+ line-height: 40rpx;
+ height: 80rpx;
+ overflow: hidden;
+ padding-top: 20rpx;
+ font-size: 28rpx;
+ text-align: justify;
+ align-items: center;
+ display: flex;
+}
+
+.b-goodsList .name text {
+ max-height: 80rpx;
+ overflow: hidden;
+}
+
+.b-goodsList .Price {
+ padding: 20rpx 0rpx 10rpx 0rpx;
+}
+
+.b-goodsList .Price .s1 {
+ color: #f55955;
+ font-size: 28rpx;
+ vertical-align: middle;
+}
+
+.b-goodsList .Price .s2 {
+ text-decoration: line-through;
+ vertical-align: middle;
+ color: #888;
+ font-size: 24rpx;
+ margin-left: 20rpx;
+}
+
+
+
+
+/* 我的收藏、足迹等 */
+
+.b-goodsList.row {
+ border-top: 1rpx solid #d9d9d9;
+}
+
+.b-goodsList.row .main {
+ margin-right: -1rpx;
+}
+
+.b-goodsList.row .main .li {
+ width: 750rpx;
+ overflow: hidden;
+ box-sizing: border-box;
+ border-right-width: 0rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ padding: 20rpx 20rpx 20rpx 180rpx;
+ position: relative;
+ height: 180rpx;
+}
+
+.b-goodsList.row .img1 {
+ display: block;
+ width: 140rpx;
+ height: 140rpx;
+ position: absolute;
+ top: 20rpx;
+ left: 20rpx;
+ z-index: 5;
+}
+
+.b-goodsList.row .name {
+ line-height: 40rpx;
+ height: 80rpx;
+ padding-top: 0rpx;
+ align-items: flex-start;
+}
+
+.b-goodsList.row .name text {
+ max-height: 80rpx;
+ overflow: hidden;
+}
+
+.b-goodsList.row .Price {
+ padding: 10rpx 0rpx 10rpx 0rpx;
+ line-height: 40rpx;
+}
+
+.b-goodsList.row .Price .s1 {
+ color: #f55955;
+ font-size: 28rpx;
+ vertical-align: middle;
+}
+
+.b-goodsList.row .Price .s2 {
+ text-decoration: line-through;
+ vertical-align: middle;
+ color: #888;
+ font-size: 24rpx;
+ margin-left: 20rpx;
+}
+
+.input-block {
+ display: flex;
+ background: #fff;
+ flex-wrap: wrap;
+ align-items: center;
+ padding: 0rpx 20rpx;
+ height: 88rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ box-sizing: border-box;
+ width: 750rpx;
+}
+
+.input-block.error {
+ color: #f55955;
+}
+
+.input-block .type {
+ min-width: 180rpx;
+}
+
+.input-block .input {
+ flex: 1;
+ display: block;
+}
+
+.input-block-placeholder {
+ color: #aaa;
+}
+
+.table-cells,
+.cell-box {
+ background-color: #fff;
+ overflow: hidden;
+ position: relative;
+}
+
+.table-cells::before,
+.cell-box::before {
+ content: " ";
+ position: absolute;
+ left: 0;
+ top: 0;
+ right: 0;
+ height: 1rpx;
+ border-top: 1rpx solid #d9d9d9;
+}
+
+.table-cells::after,
+.cell-box::after {
+ content: " ";
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ height: 1rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.table-cell .main {
+ display: flex;
+ background: #fff;
+ flex-wrap: wrap;
+ height: 88rpx;
+ margin-left: 20rpx;
+ padding-right: 20rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.table-cell .name,
+.table-cell .title {
+ flex: 5;
+ line-height: 38rpx;
+ padding: 25rpx 0rpx;
+}
+
+.table-cell .name {
+ color: #414141;
+ font-size: 28rpx;
+}
+
+.table-cell .title {
+ text-align: right;
+ color: #888;
+}
+
+.table-cell .icon,
+.table-cell .arrow {
+ flex: 1;
+ padding: 25rpx 0rpx;
+}
+
+.table-cell .icon {
+ text-align: left;
+}
+
+.table-cell .arrow {
+ text-align: right;
+}
+
+.table-cell .icon image {
+ height: 38rpx;
+ width: 38rpx;
+}
+
+.table-cell .arrow image {
+ height: 38rpx;
+ width: 38rpx;
+}
+
+.table-block {
+ display: flex;
+ flex-wrap: wrap;
+ margin-right: -1rpx;
+ background: #fff;
+}
+
+.table-block .li {
+ width: 250rpx;
+ text-align: center;
+ border-bottom: 1rpx solid #d9d9d9;
+ border-right: 1rpx solid #d9d9d9;
+ box-sizing: border-box;
+ padding: 30rpx 0rpx;
+ position: relative;
+}
+
+.table-block .li.m4 {
+ width: 187.5rpx;
+}
+
+.table-block .icon {
+ width: 100%;
+}
+
+.table-block .num {
+ position: absolute;
+ top: 20rpx;
+ right: 50rpx;
+ width: 35rpx;
+ height: 35rpx;
+ border: 0rpx solid #fff;
+ color: #fff;
+ background: #f55955;
+ text-align: center;
+ line-height: 35rpx;
+ border-radius: 100%;
+ vertical-align: middle;
+ font-size: 20rpx;
+}
+
+.table-block .icon image {
+ width: 70rpx;
+ height: 70rpx;
+}
+
+.table-block .name {
+ padding-top: 30rpx;
+ font-size: 28rpx;
+ width: 100%;
+}
+
+.table-block2 {
+ display: flex;
+ flex-wrap: wrap;
+ margin-right: -1rpx;
+}
+
+.table-block2 .li {
+ width: 50%;
+ height: 142rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ border-right: 1rpx solid #d9d9d9;
+ box-sizing: border-box;
+ position: relative;
+ display: flex;
+ flex-wrap: nowrap;
+ overflow: hidden;
+}
+
+.table-block2 .icon {
+ padding: 40rpx 30rpx;
+ overflow: hidden;
+}
+
+.table-block2 .icon image {
+ width: 60rpx;
+ height: 60rpx;
+}
+
+.table-block2 .text {
+ padding: 25rpx 20rpx 25rpx 0rpx;
+ flex: 1;
+ line-height: 45rpx;
+ height: 140rpx;
+ box-sizing: border-box;
+}
+
+.table-block2 .name {
+ font-size: 28rpx;
+}
+
+.table-block2 .title {
+ font-size: 24rpx;
+ color: #888;
+}
+
+.table-block2 .t1 {
+ color: #f55955;
+}
+
+.b-button-block {
+ margin: 0rpx 20rpx;
+ width: 710rpx;
+ line-height: 88rpx;
+ text-align: center;
+}
+
+.b-button-block.radius {
+ border-radius: 8rpx;
+ font-size: 28rpx;
+}
+
+.button-other-red {
+ background: #e64340;
+ color: #fff;
+}
+
+.button-other-orage {
+ background: #ff9500;
+ color: #fff;
+}
+
+.button-other-red.false,
+.button-other-orage.false {
+ background: #ccc;
+ color: #777;
+ opacity: 0.8;
+}
+
+/* 全返明细等 */
+.tg-headMenu {
+ z-index: 2;
+ height: 89rpx;
+ width: 751rpx;
+ background: #fff;
+ display: flex;
+ white-space: nowrap;
+ flex-wrap: nowrap;
+ box-sizing: border-box;
+ margin-left: -1rpx;
+}
+
+.tg-headMenu .li {
+ flex: 1;
+ text-align: center;
+ line-height: 88rpx;
+ height: 88rpx;
+ box-sizing: border-box;
+ overflow: hidden;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.tg-headMenu .li.in,
+.b-headMenu .li.true {
+ border-bottom: 4rpx solid #f55955;
+ color: #f55955;
+}
+
+/* 全返明细等 */
+.b-headMenu {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 2;
+ height: 89rpx;
+ width: 751rpx;
+ background: #fff;
+ display: flex;
+ white-space: nowrap;
+ flex-wrap: nowrap;
+ box-sizing: border-box;
+ margin-left: -1rpx;
+}
+
+.b-headMenu .li {
+ flex: 1;
+ text-align: center;
+ line-height: 88rpx;
+ height: 88rpx;
+ box-sizing: border-box;
+ overflow: hidden;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.b-headMenu .li.in,
+.b-headMenu .li.true {
+ border-bottom: 4rpx solid #f55955;
+ color: #f55955;
+}
+
+
+/* 我的订单 */
+.b-dropDownMenu {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 2;
+ height: 88rpx;
+ width: 751rpx;
+ background: #fff;
+ display: flex;
+ white-space: nowrap;
+ flex-wrap: nowrap;
+ border-top: 1rpx solid #fff;
+ border-bottom: 1rpx solid #e3e3e3;
+ box-sizing: border-box;
+ margin-left: -1rpx;
+}
+
+.b-dropDownMenu .li {
+ flex: 1;
+ display: flex;
+ white-space: nowrap;
+ flex-wrap: nowrap;
+ padding: 30rpx 20rpx;
+ border-left: 1rpx solid #d9d9d9;
+}
+
+.b-dropDownMenu .type,
+.b-dropDownMenu .icon {
+ flex: 1;
+ line-height: 28rpx;
+}
+
+/* .b-dropDownMenu .type {} */
+
+.b-dropDownMenu .icon {
+ text-align: right;
+}
+
+.b-dropDownMenu .icon image {
+ width: 28rpx;
+ height: 28rpx;
+ transform: rotate(90deg);
+}
+
+/* 我的收藏、全返明细 */
+.b-footerMenu {
+ display: flex;
+ flex-wrap: wrap;
+ height: 88rpx;
+ width: 751rpx;
+ margin-left: -1rpx;
+ position: fixed;
+ bottom: 0rpx;
+ left: 0rpx;
+ background: #fff;
+ z-index: 20;
+ border-top: 1rpx solid #d9d9d9;
+}
+
+.b-footerMenu .li {
+ padding: 24rpx 0rpx;
+ border-left: 1rpx solid #d9d9d9;
+ box-sizing: border-box;
+ flex: 1;
+ text-align: center;
+}
+
+.b-footerMenu .li image {
+ height: 40rpx;
+ width: 40rpx;
+ vertical-align: middle;
+ display: none;
+}
+
+.b-footerMenu .li .img1 {
+ display: inline-block;
+}
+
+.b-footerMenu .li .name {
+ line-height: 40rpx;
+ vertical-align: middle;
+ margin-left: 10rpx;
+ font-size: 28rpx;
+}
+
+.b-footerMenu .li.in .img1 {
+ display: none;
+}
+
+.b-footerMenu .li.in .img2 {
+ display: inline-block;
+}
+
+.b-footerMenu .li.in .name {
+ color: #f55955;
+}
+
+/* 选择收货地址列表 */
+.b-footerButton {
+ display: flex;
+ flex-wrap: wrap;
+ height: 88rpx;
+ width: 751rpx;
+ margin-left: -1rpx;
+ position: fixed;
+ bottom: 0rpx;
+ left: 0rpx;
+ background: #fff;
+ color: #fff;
+ z-index: 20;
+}
+
+.b-footerButton .li {
+ padding: 24rpx 0rpx;
+ border-left: 1rpx solid #d9d9d9;
+ box-sizing: border-box;
+ flex: 1;
+ text-align: center;
+}
+
+.b-footerButton .li image {
+ height: 40rpx;
+ width: 40rpx;
+ vertical-align: middle;
+ display: none;
+}
+
+.b-footerButton .li .img1 {
+ display: inline-block;
+}
+
+.b-footerButton .li .name {
+ line-height: 40rpx;
+ vertical-align: middle;
+ margin-left: 10rpx;
+ font-size: 28rpx;
+}
+
+.b-altText {
+ padding: 20% 30rpx;
+ text-align: center;
+}
+
+.b-altText.in {
+ padding: 0% 0;
+}
+
+.b-altText image {
+ width: 150rpx;
+ height: 200rpx;
+}
+
+.b-altText .te1 {
+ display: block;
+ padding-top: 0;
+ margin: 0 auto;
+ color: #666;
+ font-size: 16px;
+ line-height: 25px;
+}
+
+.b-altText .te2 {
+ display: block;
+ padding-top: 0;
+ margin: 0 auto;
+ color: #888;
+ line-height: 25px;
+}
+
+.b-altText .button {
+ display: flex;
+ margin-top: 40px;
+}
+
+.b-altText .button .but {
+ display: block;
+ line-height: 40px;
+ border: 1px solid #c3c3c3;
+ box-sizing: border-box;
+ flex: 1;
+ margin: 0 10px;
+ border-radius: 4px;
+}
+
+/* .b-search {
+ padding: 14rpx;
+ background: #fff;
+ width: 750rpx;
+ box-sizing: border-box;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.b-search.fixed {
+ position: fixed;
+ top: 0rpx;
+ left: 0rpx;
+ z-index: 2;
+}
+
+.b-search.border {
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.b-search .main {
+ background: #f0f0f0;
+ border-radius: 8rpx;
+ font-size: 24rpx;
+ padding: 0rpx 20rpx;
+ overflow: hidden;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ height: 56rpx;
+ color: #666;
+ flex: 1;
+}
+
+.b-search .but {
+ font-size: 24rpx;
+ padding: 0rpx 20rpx 0rpx 30rpx;
+ height: 56rpx;
+ color: #666;
+ line-height: 56rpx;
+}
+
+.b-search .main icon {
+ width: 40rpx;
+}
+
+.b-search .main .input1 {
+ flex: 1;
+ height: 56rpx;
+ line-height: 56rpx;
+ vertical-align: middle;
+} */
+
+.b-dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: 0rpx;
+ border-top: 1rpx solid #d9d9d9;
+ width: 750rpx;
+ z-index: 100;
+ background: #fff;
+}
+
+.b-dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+}
+
+.b-dateBe .head .sub {
+ padding: 20rpx 20rpx;
+}
+
+.b-dateBe .head .sub.true {
+ color: #f00;
+}
+
+.b-dateBe .main {
+ border-top: 1rpx solid #d9d9d9;
+ display: flex;
+}
+
+.b-dateBe .main .sub.true {
+ background: #d9d9d9;
+}
+
+.b-dateBe .main .sub {
+ height: 200rpx;
+ overflow: scroll;
+ flex: 1;
+}
+
+.b-dateBe .main .sub .li {
+ text-align: center;
+ padding: 10rpx 0;
+}
+
+.b-dateBe .main .sub .li.true {
+ color: #f00;
+}
+
+.searchcontent .van-icon-passed {
+ color: #e60012;
+}
+
+
+/* @ lijianping ----> 新增 */
+.flex {
+ display: flex;
+}
+
+.flex-a-c {
+ display: flex;
+ align-items: center;
+}
+
+.flex-j-c {
+ display: flex;
+ justify-content: center;
+}
+
+.flex-j-se {
+ display: flex;
+ justify-content: space-evenly;
+}
+
+.flex-j-sa {
+ display: flex;
+ justify-content: space-around;
+}
+
+.flex-j-sb {
+ display: flex;
+ justify-content: space-between;
+}
+
+.center-box {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+
+.size-con {
+ background-repeat: no-repeat;
+ background-size: contain;
+}
+
+.size-cov {
+ background-repeat: no-repeat;
+ background-size: cover;
+}
diff --git a/dist/action-sheet/index.d.ts b/dist/action-sheet/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/action-sheet/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/action-sheet/index.js b/dist/action-sheet/index.js
new file mode 100644
index 0000000..f3f6d0f
--- /dev/null
+++ b/dist/action-sheet/index.js
@@ -0,0 +1,62 @@
+import { VantComponent } from '../common/component';
+import { button } from '../mixins/button';
+import { openType } from '../mixins/open-type';
+VantComponent({
+ mixins: [button, openType],
+ props: {
+ show: Boolean,
+ title: String,
+ cancelText: String,
+ description: String,
+ round: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ actions: {
+ type: Array,
+ value: [],
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickAction: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ onSelect(event) {
+ const { index } = event.currentTarget.dataset;
+ const item = this.data.actions[index];
+ if (item && !item.disabled && !item.loading) {
+ this.$emit('select', item);
+ if (this.data.closeOnClickAction) {
+ this.onClose();
+ }
+ }
+ },
+ onCancel() {
+ this.$emit('cancel');
+ },
+ onClose() {
+ this.$emit('close');
+ },
+ onClickOverlay() {
+ this.$emit('click-overlay');
+ this.onClose();
+ },
+ },
+});
diff --git a/dist/action-sheet/index.json b/dist/action-sheet/index.json
new file mode 100644
index 0000000..19bf989
--- /dev/null
+++ b/dist/action-sheet/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-popup": "../popup/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/dist/action-sheet/index.wxml b/dist/action-sheet/index.wxml
new file mode 100644
index 0000000..7ed2819
--- /dev/null
+++ b/dist/action-sheet/index.wxml
@@ -0,0 +1,67 @@
+
+
+
+
+
+ {{ description }}
+
+
+
+
+
+
+
+ {{ cancelText }}
+
+
diff --git a/dist/action-sheet/index.wxss b/dist/action-sheet/index.wxss
new file mode 100644
index 0000000..dc54840
--- /dev/null
+++ b/dist/action-sheet/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-action-sheet{max-height:90%!important;max-height:var(--action-sheet-max-height,90%)!important;color:#323233;color:var(--action-sheet-item-text-color,#323233)}.van-action-sheet__cancel,.van-action-sheet__item{text-align:center;font-size:16px;font-size:var(--action-sheet-item-font-size,16px);line-height:50px;line-height:var(--action-sheet-item-height,50px);background-color:#fff;background-color:var(--action-sheet-item-background,#fff)}.van-action-sheet__cancel--hover,.van-action-sheet__item--hover{background-color:#f2f3f5;background-color:var(--active-color,#f2f3f5)}.van-action-sheet__cancel:before{display:block;content:" ";height:8px;height:var(--action-sheet-cancel-padding-top,8px);background-color:#f7f8fa;background-color:var(--action-sheet-cancel-padding-color,#f7f8fa)}.van-action-sheet__item--disabled{color:#c8c9cc;color:var(--action-sheet-item-disabled-text-color,#c8c9cc)}.van-action-sheet__item--disabled.van-action-sheet__item--hover{background-color:#fff;background-color:var(--action-sheet-item-background,#fff)}.van-action-sheet__subname{margin-left:4px;margin-left:var(--padding-base,4px);font-size:12px;font-size:var(--action-sheet-subname-font-size,12px);color:#646566;color:var(--action-sheet-subname-color,#646566)}.van-action-sheet__header{text-align:center;font-weight:500;font-weight:var(--font-weight-bold,500);font-size:16px;font-size:var(--action-sheet-header-font-size,16px);line-height:44px;line-height:var(--action-sheet-header-height,44px)}.van-action-sheet__description{text-align:center;padding:16px;padding:var(--padding-md,16px);color:#646566;color:var(--action-sheet-description-color,#646566);font-size:14px;font-size:var(--action-sheet-description-font-size,14px);line-height:20px;line-height:var(--action-sheet-description-line-height,20px)}.van-action-sheet__close{position:absolute!important;top:0;right:0;line-height:inherit!important;padding:0 12px;padding:var(--action-sheet-close-icon-padding,0 12px);font-size:18px!important;font-size:var(--action-sheet-close-icon-size,18px)!important;color:#969799;color:var(--action-sheet-close-icon-color,#969799)}.van-action-sheet__loading{display:-webkit-flex!important;display:flex!important;height:50px;height:var(--action-sheet-item-height,50px)}
\ No newline at end of file
diff --git a/dist/area/index.d.ts b/dist/area/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/area/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/area/index.js b/dist/area/index.js
new file mode 100644
index 0000000..17c25b3
--- /dev/null
+++ b/dist/area/index.js
@@ -0,0 +1,230 @@
+import { VantComponent } from '../common/component';
+import { pickerProps } from '../picker/shared';
+import { requestAnimationFrame } from '../common/utils';
+const COLUMNSPLACEHOLDERCODE = '000000';
+VantComponent({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: Object.assign(Object.assign({}, pickerProps), {
+ value: {
+ type: String,
+ observer(value) {
+ this.code = value;
+ this.setValues();
+ },
+ },
+ areaList: {
+ type: Object,
+ value: {},
+ observer: 'setValues',
+ },
+ columnsNum: {
+ type: null,
+ value: 3,
+ observer(value) {
+ this.setData({
+ displayColumns: this.data.columns.slice(0, +value),
+ });
+ },
+ },
+ columnsPlaceholder: {
+ type: Array,
+ observer(val) {
+ this.setData({
+ typeToColumnsPlaceholder: {
+ province: val[0] || '',
+ city: val[1] || '',
+ county: val[2] || '',
+ },
+ });
+ },
+ },
+ }),
+ data: {
+ columns: [{ values: [] }, { values: [] }, { values: [] }],
+ displayColumns: [{ values: [] }, { values: [] }, { values: [] }],
+ typeToColumnsPlaceholder: {},
+ },
+ mounted() {
+ requestAnimationFrame(() => {
+ this.setValues();
+ });
+ },
+ methods: {
+ getPicker() {
+ if (this.picker == null) {
+ this.picker = this.selectComponent('.van-area__picker');
+ }
+ return this.picker;
+ },
+ onCancel(event) {
+ this.emit('cancel', event.detail);
+ },
+ onConfirm(event) {
+ const { index } = event.detail;
+ let { value } = event.detail;
+ value = this.parseOutputValues(value);
+ this.emit('confirm', { value, index });
+ },
+ emit(type, detail) {
+ detail.values = detail.value;
+ delete detail.value;
+ this.$emit(type, detail);
+ },
+ // parse output columns data
+ parseOutputValues(values) {
+ const { columnsPlaceholder } = this.data;
+ return values.map((value, index) => {
+ // save undefined value
+ if (!value) return value;
+ value = JSON.parse(JSON.stringify(value));
+ if (!value.code || value.name === columnsPlaceholder[index]) {
+ value.code = '';
+ value.name = '';
+ }
+ return value;
+ });
+ },
+ onChange(event) {
+ const { index, picker, value } = event.detail;
+ this.code = value[index].code;
+ this.setValues().then(() => {
+ this.$emit('change', {
+ picker,
+ values: this.parseOutputValues(picker.getValues()),
+ index,
+ });
+ });
+ },
+ getConfig(type) {
+ const { areaList } = this.data;
+ return (areaList && areaList[`${type}_list`]) || {};
+ },
+ getList(type, code) {
+ const { typeToColumnsPlaceholder } = this.data;
+ let result = [];
+ if (type !== 'province' && !code) {
+ return result;
+ }
+ const list = this.getConfig(type);
+ result = Object.keys(list).map((code) => ({
+ code,
+ name: list[code],
+ }));
+ if (code) {
+ // oversea code
+ if (code[0] === '9' && type === 'city') {
+ code = '9';
+ }
+ result = result.filter((item) => item.code.indexOf(code) === 0);
+ }
+ if (typeToColumnsPlaceholder[type] && result.length) {
+ // set columns placeholder
+ const codeFill =
+ type === 'province'
+ ? ''
+ : type === 'city'
+ ? COLUMNSPLACEHOLDERCODE.slice(2, 4)
+ : COLUMNSPLACEHOLDERCODE.slice(4, 6);
+ result.unshift({
+ code: `${code}${codeFill}`,
+ name: typeToColumnsPlaceholder[type],
+ });
+ }
+ return result;
+ },
+ getIndex(type, code) {
+ let compareNum = type === 'province' ? 2 : type === 'city' ? 4 : 6;
+ const list = this.getList(type, code.slice(0, compareNum - 2));
+ // oversea code
+ if (code[0] === '9' && type === 'province') {
+ compareNum = 1;
+ }
+ code = code.slice(0, compareNum);
+ for (let i = 0; i < list.length; i++) {
+ if (list[i].code.slice(0, compareNum) === code) {
+ return i;
+ }
+ }
+ return 0;
+ },
+ setValues() {
+ const county = this.getConfig('county');
+ let { code } = this;
+ if (!code) {
+ if (this.data.columnsPlaceholder.length) {
+ code = COLUMNSPLACEHOLDERCODE;
+ } else if (Object.keys(county)[0]) {
+ code = Object.keys(county)[0];
+ } else {
+ code = '';
+ }
+ }
+ const province = this.getList('province');
+ const city = this.getList('city', code.slice(0, 2));
+ const picker = this.getPicker();
+ if (!picker) {
+ return;
+ }
+ const stack = [];
+ const indexes = [];
+ const { columnsNum } = this.data;
+ if (columnsNum >= 1) {
+ stack.push(picker.setColumnValues(0, province, false));
+ indexes.push(this.getIndex('province', code));
+ }
+ if (columnsNum >= 2) {
+ stack.push(picker.setColumnValues(1, city, false));
+ indexes.push(this.getIndex('city', code));
+ if (city.length && code.slice(2, 4) === '00') {
+ [{ code }] = city;
+ }
+ }
+ if (columnsNum === 3) {
+ stack.push(
+ picker.setColumnValues(
+ 2,
+ this.getList('county', code.slice(0, 4)),
+ false
+ )
+ );
+ indexes.push(this.getIndex('county', code));
+ }
+ return Promise.all(stack)
+ .catch(() => {})
+ .then(() => picker.setIndexes(indexes))
+ .catch(() => {});
+ },
+ getValues() {
+ const picker = this.getPicker();
+ return picker ? picker.getValues().filter((value) => !!value) : [];
+ },
+ getDetail() {
+ const values = this.getValues();
+ const area = {
+ code: '',
+ country: '',
+ province: '',
+ city: '',
+ county: '',
+ };
+ if (!values.length) {
+ return area;
+ }
+ const names = values.map((item) => item.name);
+ area.code = values[values.length - 1].code;
+ if (area.code[0] === '9') {
+ area.country = names[1] || '';
+ area.province = names[2] || '';
+ } else {
+ area.province = names[0] || '';
+ area.city = names[1] || '';
+ area.county = names[2] || '';
+ }
+ return area;
+ },
+ reset(code) {
+ this.code = code || '';
+ return this.setValues();
+ },
+ },
+});
diff --git a/dist/area/index.json b/dist/area/index.json
new file mode 100644
index 0000000..a778e91
--- /dev/null
+++ b/dist/area/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-picker": "../picker/index"
+ }
+}
diff --git a/dist/area/index.wxml b/dist/area/index.wxml
new file mode 100644
index 0000000..6075794
--- /dev/null
+++ b/dist/area/index.wxml
@@ -0,0 +1,18 @@
+
diff --git a/dist/area/index.wxss b/dist/area/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/dist/area/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/dist/button/index.d.ts b/dist/button/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/button/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/button/index.js b/dist/button/index.js
new file mode 100644
index 0000000..2dd7c88
--- /dev/null
+++ b/dist/button/index.js
@@ -0,0 +1,79 @@
+import { VantComponent } from '../common/component';
+import { button } from '../mixins/button';
+import { openType } from '../mixins/open-type';
+import { canIUseFormFieldButton } from '../common/version';
+const mixins = [button, openType];
+if (canIUseFormFieldButton()) {
+ mixins.push('wx://form-field-button');
+}
+VantComponent({
+ mixins,
+ classes: ['hover-class', 'loading-class'],
+ data: {
+ baseStyle: '',
+ },
+ props: {
+ formType: String,
+ icon: String,
+ classPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ plain: Boolean,
+ block: Boolean,
+ round: Boolean,
+ square: Boolean,
+ loading: Boolean,
+ hairline: Boolean,
+ disabled: Boolean,
+ loadingText: String,
+ customStyle: String,
+ loadingType: {
+ type: String,
+ value: 'circular',
+ },
+ type: {
+ type: String,
+ value: 'default',
+ },
+ dataset: null,
+ size: {
+ type: String,
+ value: 'normal',
+ },
+ loadingSize: {
+ type: String,
+ value: '20px',
+ },
+ color: {
+ type: String,
+ observer(color) {
+ let style = '';
+ if (color) {
+ style += `color: ${this.data.plain ? color : 'white'};`;
+ if (!this.data.plain) {
+ // Use background instead of backgroundColor to make linear-gradient work
+ style += `background: ${color};`;
+ }
+ // hide border when color is linear-gradient
+ if (color.indexOf('gradient') !== -1) {
+ style += 'border: 0;';
+ } else {
+ style += `border-color: ${color};`;
+ }
+ }
+ if (style !== this.data.baseStyle) {
+ this.setData({ baseStyle: style });
+ }
+ },
+ },
+ },
+ methods: {
+ onClick() {
+ if (!this.data.loading) {
+ this.$emit('click');
+ }
+ },
+ noop() {},
+ },
+});
diff --git a/dist/button/index.json b/dist/button/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/dist/button/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/dist/button/index.wxml b/dist/button/index.wxml
new file mode 100644
index 0000000..ab393e8
--- /dev/null
+++ b/dist/button/index.wxml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+function get(type, color,plain) {
+ if(plain) {
+ return color ? color: '#c9c9c9';
+ }
+
+ if(type === 'default') {
+ return '#c9c9c9';
+ }
+ return 'white';
+}
+
+module.exports = get;
+
diff --git a/dist/button/index.wxss b/dist/button/index.wxss
new file mode 100644
index 0000000..5a591fb
--- /dev/null
+++ b/dist/button/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-button{position:relative;display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;box-sizing:border-box;padding:0;text-align:center;vertical-align:middle;-webkit-appearance:none;-webkit-text-size-adjust:100%;height:44px;height:var(--button-default-height,44px);line-height:20px;line-height:var(--button-line-height,20px);font-size:16px;font-size:var(--button-default-font-size,16px);transition:opacity .2s;transition:opacity var(--animation-duration-fast,.2s);border-radius:2px;border-radius:var(--button-border-radius,2px)}.van-button:before{position:absolute;top:50%;left:50%;width:100%;height:100%;border:inherit;border-radius:inherit;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:0;content:" ";background-color:#000;background-color:var(--black,#000);border-color:#000;border-color:var(--black,#000)}.van-button:after{border-width:0}.van-button--active:before{opacity:.15}.van-button--unclickable:after{display:none}.van-button--default{color:#323233;color:var(--button-default-color,#323233);background:#fff;background:var(--button-default-background-color,#fff);border:1px solid #ebedf0;border:var(--button-border-width,1px) solid var(--button-default-border-color,#ebedf0)}.van-button--primary{color:#fff;color:var(--button-primary-color,#fff);background:#07c160;background:var(--button-primary-background-color,#07c160);border:1px solid #07c160;border:var(--button-border-width,1px) solid var(--button-primary-border-color,#07c160)}.van-button--info{color:#fff;color:var(--button-info-color,#fff);background:#1989fa;background:var(--button-info-background-color,#1989fa);border:1px solid #1989fa;border:var(--button-border-width,1px) solid var(--button-info-border-color,#1989fa)}.van-button--danger{color:#fff;color:var(--button-danger-color,#fff);background:#ee0a24;background:var(--button-danger-background-color,#ee0a24);border:1px solid #ee0a24;border:var(--button-border-width,1px) solid var(--button-danger-border-color,#ee0a24)}.van-button--warning{color:#fff;color:var(--button-warning-color,#fff);background:#ff976a;background:var(--button-warning-background-color,#ff976a);border:1px solid #ff976a;border:var(--button-border-width,1px) solid var(--button-warning-border-color,#ff976a)}.van-button--plain{background:#fff;background:var(--button-plain-background-color,#fff)}.van-button--plain.van-button--primary{color:#07c160;color:var(--button-primary-background-color,#07c160)}.van-button--plain.van-button--info{color:#1989fa;color:var(--button-info-background-color,#1989fa)}.van-button--plain.van-button--danger{color:#ee0a24;color:var(--button-danger-background-color,#ee0a24)}.van-button--plain.van-button--warning{color:#ff976a;color:var(--button-warning-background-color,#ff976a)}.van-button--large{width:100%;height:50px;height:var(--button-large-height,50px)}.van-button--normal{padding:0 15px;font-size:14px;font-size:var(--button-normal-font-size,14px)}.van-button--small{min-width:60px;min-width:var(--button-small-min-width,60px);height:30px;height:var(--button-small-height,30px);padding:0 8px;padding:0 var(--padding-xs,8px);font-size:12px;font-size:var(--button-small-font-size,12px)}.van-button--mini{display:inline-block;min-width:50px;min-width:var(--button-mini-min-width,50px);height:22px;height:var(--button-mini-height,22px);font-size:10px;font-size:var(--button-mini-font-size,10px)}.van-button--mini+.van-button--mini{margin-left:5px}.van-button--block{display:-webkit-flex;display:flex;width:100%}.van-button--round{border-radius:999px;border-radius:var(--button-round-border-radius,999px)}.van-button--square{border-radius:0}.van-button--disabled{opacity:.5;opacity:var(--button-disabled-opacity,.5)}.van-button__text{display:inline}.van-button__icon+.van-button__text:not(:empty),.van-button__loading-text{margin-left:4px}.van-button__icon{min-width:1em;line-height:inherit!important;vertical-align:top}.van-button--hairline{padding-top:1px;border-width:0}.van-button--hairline:after{border-color:inherit;border-width:1px;border-radius:4px;border-radius:calc(var(--button-border-radius, 2px)*2)}.van-button--hairline.van-button--round:after{border-radius:999px;border-radius:var(--button-round-border-radius,999px)}.van-button--hairline.van-button--square:after{border-radius:0}
\ No newline at end of file
diff --git a/dist/calendar/calendar.wxml b/dist/calendar/calendar.wxml
new file mode 100644
index 0000000..09a60b3
--- /dev/null
+++ b/dist/calendar/calendar.wxml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/calendar/components/header/index.d.ts b/dist/calendar/components/header/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/calendar/components/header/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/calendar/components/header/index.js b/dist/calendar/components/header/index.js
new file mode 100644
index 0000000..bf9243f
--- /dev/null
+++ b/dist/calendar/components/header/index.js
@@ -0,0 +1,16 @@
+import { VantComponent } from '../../../common/component';
+VantComponent({
+ props: {
+ title: {
+ type: String,
+ value: '日期选择',
+ },
+ subtitle: String,
+ showTitle: Boolean,
+ showSubtitle: Boolean,
+ },
+ data: {
+ weekdays: ['日', '一', '二', '三', '四', '五', '六'],
+ },
+ methods: {},
+});
diff --git a/dist/calendar/components/header/index.json b/dist/calendar/components/header/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/calendar/components/header/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/calendar/components/header/index.wxml b/dist/calendar/components/header/index.wxml
new file mode 100644
index 0000000..eb8e4b4
--- /dev/null
+++ b/dist/calendar/components/header/index.wxml
@@ -0,0 +1,16 @@
+
diff --git a/dist/calendar/components/header/index.wxss b/dist/calendar/components/header/index.wxss
new file mode 100644
index 0000000..4075e48
--- /dev/null
+++ b/dist/calendar/components/header/index.wxss
@@ -0,0 +1 @@
+@import '../../../common/index.wxss';.van-calendar__header{-webkit-flex-shrink:0;flex-shrink:0;box-shadow:0 2px 10px rgba(125,126,128,.16);box-shadow:var(--calendar-header-box-shadow,0 2px 10px rgba(125,126,128,.16))}.van-calendar__header-subtitle,.van-calendar__header-title{text-align:center;height:44px;height:var(--calendar-header-title-height,44px);font-weight:500;font-weight:var(--font-weight-bold,500);line-height:44px;line-height:var(--calendar-header-title-height,44px)}.van-calendar__header-title+.van-calendar__header-title,.van-calendar__header-title:empty{display:none}.van-calendar__header-title:empty+.van-calendar__header-title{display:block!important}.van-calendar__weekdays{display:-webkit-flex;display:flex}.van-calendar__weekday{-webkit-flex:1;flex:1;text-align:center;font-size:12px;font-size:var(--calendar-weekdays-font-size,12px);line-height:30px;line-height:var(--calendar-weekdays-height,30px)}
\ No newline at end of file
diff --git a/dist/calendar/components/month/index.d.ts b/dist/calendar/components/month/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/calendar/components/month/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/calendar/components/month/index.js b/dist/calendar/components/month/index.js
new file mode 100644
index 0000000..90f5957
--- /dev/null
+++ b/dist/calendar/components/month/index.js
@@ -0,0 +1,157 @@
+import { VantComponent } from '../../../common/component';
+import {
+ getMonthEndDay,
+ compareDay,
+ getPrevDay,
+ getNextDay,
+} from '../../utils';
+VantComponent({
+ props: {
+ date: {
+ type: null,
+ observer: 'setDays',
+ },
+ type: {
+ type: String,
+ observer: 'setDays',
+ },
+ color: String,
+ minDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ maxDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ showMark: Boolean,
+ rowHeight: [Number, String],
+ formatter: {
+ type: null,
+ observer: 'setDays',
+ },
+ currentDate: {
+ type: [null, Array],
+ observer: 'setDays',
+ },
+ allowSameDay: Boolean,
+ showSubtitle: Boolean,
+ showMonthTitle: Boolean,
+ },
+ data: {
+ visible: true,
+ days: [],
+ },
+ methods: {
+ onClick(event) {
+ const { index } = event.currentTarget.dataset;
+ const item = this.data.days[index];
+ if (item.type !== 'disabled') {
+ this.$emit('click', item);
+ }
+ },
+ setDays() {
+ const days = [];
+ const startDate = new Date(this.data.date);
+ const year = startDate.getFullYear();
+ const month = startDate.getMonth();
+ const totalDay = getMonthEndDay(
+ startDate.getFullYear(),
+ startDate.getMonth() + 1
+ );
+ for (let day = 1; day <= totalDay; day++) {
+ const date = new Date(year, month, day);
+ const type = this.getDayType(date);
+ let config = {
+ date,
+ type,
+ text: day,
+ bottomInfo: this.getBottomInfo(type),
+ };
+ if (this.data.formatter) {
+ config = this.data.formatter(config);
+ }
+ days.push(config);
+ }
+ this.setData({ days });
+ },
+ getMultipleDayType(day) {
+ const { currentDate } = this.data;
+ if (!Array.isArray(currentDate)) {
+ return '';
+ }
+ const isSelected = (date) =>
+ currentDate.some((item) => compareDay(item, date) === 0);
+ if (isSelected(day)) {
+ const prevDay = getPrevDay(day);
+ const nextDay = getNextDay(day);
+ const prevSelected = isSelected(prevDay);
+ const nextSelected = isSelected(nextDay);
+ if (prevSelected && nextSelected) {
+ return 'multiple-middle';
+ }
+ if (prevSelected) {
+ return 'end';
+ }
+ return nextSelected ? 'start' : 'multiple-selected';
+ }
+ return '';
+ },
+ getRangeDayType(day) {
+ const { currentDate, allowSameDay } = this.data;
+ if (!Array.isArray(currentDate)) {
+ return;
+ }
+ const [startDay, endDay] = currentDate;
+ if (!startDay) {
+ return;
+ }
+ const compareToStart = compareDay(day, startDay);
+ if (!endDay) {
+ return compareToStart === 0 ? 'start' : '';
+ }
+ const compareToEnd = compareDay(day, endDay);
+ if (compareToStart === 0 && compareToEnd === 0 && allowSameDay) {
+ return 'start-end';
+ }
+ if (compareToStart === 0) {
+ return 'start';
+ }
+ if (compareToEnd === 0) {
+ return 'end';
+ }
+ if (compareToStart > 0 && compareToEnd < 0) {
+ return 'middle';
+ }
+ },
+ getDayType(day) {
+ const { type, minDate, maxDate, currentDate } = this.data;
+ if (compareDay(day, minDate) < 0 || compareDay(day, maxDate) > 0) {
+ return 'disabled';
+ }
+ if (type === 'single') {
+ return compareDay(day, currentDate) === 0 ? 'selected' : '';
+ }
+ if (type === 'multiple') {
+ return this.getMultipleDayType(day);
+ }
+ /* istanbul ignore else */
+ if (type === 'range') {
+ return this.getRangeDayType(day);
+ }
+ },
+ getBottomInfo(type) {
+ if (this.data.type === 'range') {
+ if (type === 'start') {
+ return '开始';
+ }
+ if (type === 'end') {
+ return '结束';
+ }
+ if (type === 'start-end') {
+ return '开始/结束';
+ }
+ }
+ },
+ },
+});
diff --git a/dist/calendar/components/month/index.json b/dist/calendar/components/month/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/calendar/components/month/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/calendar/components/month/index.wxml b/dist/calendar/components/month/index.wxml
new file mode 100644
index 0000000..55bab83
--- /dev/null
+++ b/dist/calendar/components/month/index.wxml
@@ -0,0 +1,39 @@
+
+
+
+
+
+ {{ computed.formatMonthTitle(date) }}
+
+
+
+
+ {{ computed.getMark(date) }}
+
+
+
+
+ {{ item.topInfo }}
+ {{ item.text }}
+
+ {{ item.bottomInfo }}
+
+
+
+
+ {{ item.topInfo }}
+ {{ item.text }}
+
+ {{ item.bottomInfo }}
+
+
+
+
+
diff --git a/dist/calendar/components/month/index.wxs b/dist/calendar/components/month/index.wxs
new file mode 100644
index 0000000..a057079
--- /dev/null
+++ b/dist/calendar/components/month/index.wxs
@@ -0,0 +1,67 @@
+/* eslint-disable */
+var utils = require('../../utils.wxs');
+
+function getMark(date) {
+ return getDate(date).getMonth() + 1;
+}
+
+var ROW_HEIGHT = 64;
+
+function getDayStyle(type, index, date, rowHeight, color) {
+ var style = [];
+ var offset = getDate(date).getDay();
+
+ if (index === 0) {
+ style.push(['margin-left', (100 * offset) / 7 + '%']);
+ }
+
+ if (rowHeight !== ROW_HEIGHT) {
+ style.push(['height', rowHeight + 'px']);
+ }
+
+ if (color) {
+ if (
+ type === 'start' ||
+ type === 'end' ||
+ type === 'multiple-selected' ||
+ type === 'multiple-middle'
+ ) {
+ style.push(['background', color]);
+ } else if (type === 'middle') {
+ style.push(['color', color]);
+ }
+ }
+
+ return style
+ .map(function(item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+function formatMonthTitle(date) {
+ date = getDate(date);
+ return date.getFullYear() + '年' + (date.getMonth() + 1) + '月';
+}
+
+function getMonthStyle(visible, date, rowHeight) {
+ if (!visible) {
+ date = getDate(date);
+
+ var totalDay = utils.getMonthEndDay(
+ date.getFullYear(),
+ date.getMonth() + 1
+ );
+ var offset = getDate(date).getDay();
+ var padding = Math.ceil((totalDay + offset) / 7) * rowHeight;
+
+ return 'padding-bottom:' + padding + 'px';
+ }
+}
+
+module.exports = {
+ getMark: getMark,
+ getDayStyle: getDayStyle,
+ formatMonthTitle: formatMonthTitle,
+ getMonthStyle: getMonthStyle
+};
diff --git a/dist/calendar/components/month/index.wxss b/dist/calendar/components/month/index.wxss
new file mode 100644
index 0000000..17c12f4
--- /dev/null
+++ b/dist/calendar/components/month/index.wxss
@@ -0,0 +1 @@
+@import '../../../common/index.wxss';.van-calendar{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;height:100%;background-color:#fff;background-color:var(--calendar-background-color,#fff)}.van-calendar__month-title{text-align:center;height:44px;height:var(--calendar-header-title-height,44px);font-weight:500;font-weight:var(--font-weight-bold,500);font-size:14px;font-size:var(--calendar-month-title-font-size,14px);line-height:44px;line-height:var(--calendar-header-title-height,44px)}.van-calendar__days{position:relative;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-user-select:none;user-select:none}.van-calendar__month-mark{position:absolute;top:50%;left:50%;z-index:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);pointer-events:none;color:rgba(242,243,245,.8);color:var(--calendar-month-mark-color,rgba(242,243,245,.8));font-size:160px;font-size:var(--calendar-month-mark-font-size,160px)}.van-calendar__day,.van-calendar__selected-day{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;text-align:center}.van-calendar__day{position:relative;width:14.285%;height:64px;height:var(--calendar-day-height,64px);font-size:16px;font-size:var(--calendar-day-font-size,16px)}.van-calendar__day--end,.van-calendar__day--multiple-middle,.van-calendar__day--multiple-selected,.van-calendar__day--start,.van-calendar__day--start-end{color:#fff;color:var(--calendar-range-edge-color,#fff);background-color:#ee0a24;background-color:var(--calendar-range-edge-background-color,#ee0a24)}.van-calendar__day--start{border-radius:4px 0 0 4px;border-radius:var(--border-radius-md,4px) 0 0 var(--border-radius-md,4px)}.van-calendar__day--end{border-radius:0 4px 4px 0;border-radius:0 var(--border-radius-md,4px) var(--border-radius-md,4px) 0}.van-calendar__day--multiple-selected,.van-calendar__day--start-end{border-radius:4px;border-radius:var(--border-radius-md,4px)}.van-calendar__day--middle{color:#ee0a24;color:var(--calendar-range-middle-color,#ee0a24)}.van-calendar__day--middle:after{position:absolute;top:0;right:0;bottom:0;left:0;background-color:currentColor;content:"";opacity:.1;opacity:var(--calendar-range-middle-background-opacity,.1)}.van-calendar__day--disabled{cursor:default;color:#c8c9cc;color:var(--calendar-day-disabled-color,#c8c9cc)}.van-calendar__bottom-info,.van-calendar__top-info{position:absolute;right:0;left:0;font-size:10px;font-size:var(--calendar-info-font-size,10px);line-height:14px;line-height:var(--calendar-info-line-height,14px)}@media (max-width:350px){.van-calendar__bottom-info,.van-calendar__top-info{font-size:9px}}.van-calendar__top-info{top:6px}.van-calendar__bottom-info{bottom:6px}.van-calendar__selected-day{width:54px;width:var(--calendar-selected-day-size,54px);height:54px;height:var(--calendar-selected-day-size,54px);color:#fff;color:var(--calendar-selected-day-color,#fff);background-color:#ee0a24;background-color:var(--calendar-selected-day-background-color,#ee0a24);border-radius:4px;border-radius:var(--border-radius-md,4px)}
\ No newline at end of file
diff --git a/dist/calendar/index.d.ts b/dist/calendar/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/calendar/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/calendar/index.js b/dist/calendar/index.js
new file mode 100644
index 0000000..ef2ae51
--- /dev/null
+++ b/dist/calendar/index.js
@@ -0,0 +1,291 @@
+import { VantComponent } from '../common/component';
+import {
+ ROW_HEIGHT,
+ getNextDay,
+ compareDay,
+ copyDates,
+ calcDateNum,
+ formatMonthTitle,
+ compareMonth,
+ getMonths,
+ getDayByOffset,
+} from './utils';
+import Toast from '../toast/toast';
+import { requestAnimationFrame } from '../common/utils';
+VantComponent({
+ props: {
+ title: {
+ type: String,
+ value: '日期选择',
+ },
+ color: String,
+ show: {
+ type: Boolean,
+ observer(val) {
+ if (val) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ },
+ },
+ formatter: null,
+ confirmText: {
+ type: String,
+ value: '确定',
+ },
+ rangePrompt: String,
+ defaultDate: {
+ type: [Number, Array],
+ observer(val) {
+ this.setData({ currentDate: val });
+ this.scrollIntoView();
+ },
+ },
+ allowSameDay: Boolean,
+ confirmDisabledText: String,
+ type: {
+ type: String,
+ value: 'single',
+ observer: 'reset',
+ },
+ minDate: {
+ type: null,
+ value: Date.now(),
+ },
+ maxDate: {
+ type: null,
+ value: new Date(
+ new Date().getFullYear(),
+ new Date().getMonth() + 6,
+ new Date().getDate()
+ ).getTime(),
+ },
+ position: {
+ type: String,
+ value: 'bottom',
+ },
+ rowHeight: {
+ type: [Number, String],
+ value: ROW_HEIGHT,
+ },
+ round: {
+ type: Boolean,
+ value: true,
+ },
+ poppable: {
+ type: Boolean,
+ value: true,
+ },
+ showMark: {
+ type: Boolean,
+ value: true,
+ },
+ showTitle: {
+ type: Boolean,
+ value: true,
+ },
+ showConfirm: {
+ type: Boolean,
+ value: true,
+ },
+ showSubtitle: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ maxRange: {
+ type: [Number, String],
+ value: null,
+ },
+ },
+ data: {
+ subtitle: '',
+ currentDate: null,
+ scrollIntoView: '',
+ },
+ created() {
+ this.setData({
+ currentDate: this.getInitialDate(),
+ });
+ },
+ mounted() {
+ if (this.data.show || !this.data.poppable) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ },
+ methods: {
+ reset() {
+ this.setData({ currentDate: this.getInitialDate() });
+ this.scrollIntoView();
+ },
+ initRect() {
+ if (this.contentObserver != null) {
+ this.contentObserver.disconnect();
+ }
+ const contentObserver = this.createIntersectionObserver({
+ thresholds: [0, 0.1, 0.9, 1],
+ observeAll: true,
+ });
+ this.contentObserver = contentObserver;
+ contentObserver.relativeTo('.van-calendar__body');
+ contentObserver.observe('.month', (res) => {
+ if (res.boundingClientRect.top <= res.relativeRect.top) {
+ // @ts-ignore
+ this.setData({ subtitle: formatMonthTitle(res.dataset.date) });
+ }
+ });
+ },
+ getInitialDate() {
+ const { type, defaultDate, minDate } = this.data;
+ if (type === 'range') {
+ const [startDay, endDay] = defaultDate || [];
+ return [
+ startDay || minDate,
+ endDay || getNextDay(new Date(minDate)).getTime(),
+ ];
+ }
+ if (type === 'multiple') {
+ return defaultDate || [minDate];
+ }
+ return defaultDate || minDate;
+ },
+ scrollIntoView() {
+ requestAnimationFrame(() => {
+ const {
+ currentDate,
+ type,
+ show,
+ poppable,
+ minDate,
+ maxDate,
+ } = this.data;
+ const targetDate = type === 'single' ? currentDate : currentDate[0];
+ const displayed = show || !poppable;
+ if (!targetDate || !displayed) {
+ return;
+ }
+ const months = getMonths(minDate, maxDate);
+ months.some((month, index) => {
+ if (compareMonth(month, targetDate) === 0) {
+ this.setData({ scrollIntoView: `month${index}` });
+ return true;
+ }
+ return false;
+ });
+ });
+ },
+ onOpen() {
+ this.$emit('open');
+ },
+ onOpened() {
+ this.$emit('opened');
+ },
+ onClose() {
+ this.$emit('close');
+ },
+ onClosed() {
+ this.$emit('closed');
+ },
+ onClickDay(event) {
+ const { date } = event.detail;
+ const { type, currentDate, allowSameDay } = this.data;
+ if (type === 'range') {
+ const [startDay, endDay] = currentDate;
+ if (startDay && !endDay) {
+ const compareToStart = compareDay(date, startDay);
+ if (compareToStart === 1) {
+ this.select([startDay, date], true);
+ } else if (compareToStart === -1) {
+ this.select([date, null]);
+ } else if (allowSameDay) {
+ this.select([date, date]);
+ }
+ } else {
+ this.select([date, null]);
+ }
+ } else if (type === 'multiple') {
+ let selectedIndex;
+ const selected = currentDate.some((dateItem, index) => {
+ const equal = compareDay(dateItem, date) === 0;
+ if (equal) {
+ selectedIndex = index;
+ }
+ return equal;
+ });
+ if (selected) {
+ const cancelDate = currentDate.splice(selectedIndex, 1);
+ this.setData({ currentDate });
+ this.unselect(cancelDate);
+ } else {
+ this.select([...currentDate, date]);
+ }
+ } else {
+ this.select(date, true);
+ }
+ },
+ unselect(dateArray) {
+ const date = dateArray[0];
+ if (date) {
+ this.$emit('unselect', copyDates(date));
+ }
+ },
+ select(date, complete) {
+ if (complete && this.data.type === 'range') {
+ const valid = this.checkRange(date);
+ if (!valid) {
+ // auto selected to max range if showConfirm
+ if (this.data.showConfirm) {
+ this.emit([
+ date[0],
+ getDayByOffset(date[0], this.data.maxRange - 1),
+ ]);
+ } else {
+ this.emit(date);
+ }
+ return;
+ }
+ }
+ this.emit(date);
+ if (complete && !this.data.showConfirm) {
+ this.onConfirm();
+ }
+ },
+ emit(date) {
+ const getTime = (date) => (date instanceof Date ? date.getTime() : date);
+ this.setData({
+ currentDate: Array.isArray(date) ? date.map(getTime) : getTime(date),
+ });
+ this.$emit('select', copyDates(date));
+ },
+ checkRange(date) {
+ const { maxRange, rangePrompt } = this.data;
+ if (maxRange && calcDateNum(date) > maxRange) {
+ Toast({
+ context: this,
+ message: rangePrompt || `选择天数不能超过 ${maxRange} 天`,
+ });
+ return false;
+ }
+ return true;
+ },
+ onConfirm() {
+ if (
+ this.data.type === 'range' &&
+ !this.checkRange(this.data.currentDate)
+ ) {
+ return;
+ }
+ wx.nextTick(() => {
+ this.$emit('confirm', copyDates(this.data.currentDate));
+ });
+ },
+ },
+});
diff --git a/dist/calendar/index.json b/dist/calendar/index.json
new file mode 100644
index 0000000..397d5ae
--- /dev/null
+++ b/dist/calendar/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "header": "./components/header/index",
+ "month": "./components/month/index",
+ "van-button": "../button/index",
+ "van-popup": "../popup/index",
+ "van-toast": "../toast/index"
+ }
+}
diff --git a/dist/calendar/index.wxml b/dist/calendar/index.wxml
new file mode 100644
index 0000000..d4849cc
--- /dev/null
+++ b/dist/calendar/index.wxml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/calendar/index.wxs b/dist/calendar/index.wxs
new file mode 100644
index 0000000..2c04be1
--- /dev/null
+++ b/dist/calendar/index.wxs
@@ -0,0 +1,37 @@
+/* eslint-disable */
+var utils = require('./utils.wxs');
+
+function getMonths(minDate, maxDate) {
+ var months = [];
+ var cursor = getDate(minDate);
+
+ cursor.setDate(1);
+
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (utils.compareMonth(cursor, getDate(maxDate)) !== 1);
+
+ return months;
+}
+
+function getButtonDisabled(type, currentDate) {
+ if (currentDate == null) {
+ return true;
+ }
+
+ if (type === 'range') {
+ return !currentDate[0] || !currentDate[1];
+ }
+
+ if (type === 'multiple') {
+ return !currentDate.length;
+ }
+
+ return !currentDate;
+}
+
+module.exports = {
+ getMonths: getMonths,
+ getButtonDisabled: getButtonDisabled
+};
diff --git a/dist/calendar/index.wxss b/dist/calendar/index.wxss
new file mode 100644
index 0000000..9d78e0f
--- /dev/null
+++ b/dist/calendar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-calendar{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;height:100%;height:var(--calendar-height,100%);background-color:#fff;background-color:var(--calendar-background-color,#fff)}.van-calendar__close-icon{top:11px}.van-calendar__popup--bottom,.van-calendar__popup--top{height:80%;height:var(--calendar-popup-height,80%)}.van-calendar__popup--left,.van-calendar__popup--right{height:100%}.van-calendar__body{-webkit-flex:1;flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.van-calendar__footer{-webkit-flex-shrink:0;flex-shrink:0;padding:0 16px;padding:0 var(--padding-md,16px)}.van-calendar__footer--safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.van-calendar__footer+.van-calendar__footer,.van-calendar__footer:empty{display:none}.van-calendar__footer:empty+.van-calendar__footer{display:block!important}.van-calendar__confirm{height:36px!important;height:var(--calendar-confirm-button-height,36px)!important;margin:7px 0!important;margin:var(--calendar-confirm-button-margin,7px 0)!important;line-height:34px!important;line-height:var(--calendar-confirm-button-line-height,34px)!important}
\ No newline at end of file
diff --git a/dist/calendar/utils.d.ts b/dist/calendar/utils.d.ts
new file mode 100644
index 0000000..564c16a
--- /dev/null
+++ b/dist/calendar/utils.d.ts
@@ -0,0 +1,17 @@
+export declare const ROW_HEIGHT = 64;
+export declare function formatMonthTitle(date: Date): string;
+export declare function compareMonth(
+ date1: Date | number,
+ date2: Date | number
+): 0 | 1 | -1;
+export declare function compareDay(
+ day1: Date | number,
+ day2: Date | number
+): 0 | 1 | -1;
+export declare function getDayByOffset(date: Date, offset: number): Date;
+export declare function getPrevDay(date: Date): Date;
+export declare function getNextDay(date: Date): Date;
+export declare function calcDateNum(date: [Date, Date]): number;
+export declare function copyDates(dates: Date | Date[]): Date | Date[];
+export declare function getMonthEndDay(year: number, month: number): number;
+export declare function getMonths(minDate: number, maxDate: number): any[];
diff --git a/dist/calendar/utils.js b/dist/calendar/utils.js
new file mode 100644
index 0000000..281a35c
--- /dev/null
+++ b/dist/calendar/utils.js
@@ -0,0 +1,78 @@
+export const ROW_HEIGHT = 64;
+export function formatMonthTitle(date) {
+ if (!(date instanceof Date)) {
+ date = new Date(date);
+ }
+ return `${date.getFullYear()}年${date.getMonth() + 1}月`;
+}
+export function compareMonth(date1, date2) {
+ if (!(date1 instanceof Date)) {
+ date1 = new Date(date1);
+ }
+ if (!(date2 instanceof Date)) {
+ date2 = new Date(date2);
+ }
+ const year1 = date1.getFullYear();
+ const year2 = date2.getFullYear();
+ const month1 = date1.getMonth();
+ const month2 = date2.getMonth();
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+ return year1 > year2 ? 1 : -1;
+}
+export function compareDay(day1, day2) {
+ if (!(day1 instanceof Date)) {
+ day1 = new Date(day1);
+ }
+ if (!(day2 instanceof Date)) {
+ day2 = new Date(day2);
+ }
+ const compareMonthResult = compareMonth(day1, day2);
+ if (compareMonthResult === 0) {
+ const date1 = day1.getDate();
+ const date2 = day2.getDate();
+ return date1 === date2 ? 0 : date1 > date2 ? 1 : -1;
+ }
+ return compareMonthResult;
+}
+export function getDayByOffset(date, offset) {
+ date = new Date(date);
+ date.setDate(date.getDate() + offset);
+ return date;
+}
+export function getPrevDay(date) {
+ return getDayByOffset(date, -1);
+}
+export function getNextDay(date) {
+ return getDayByOffset(date, 1);
+}
+export function calcDateNum(date) {
+ const day1 = new Date(date[0]).getTime();
+ const day2 = new Date(date[1]).getTime();
+ return (day2 - day1) / (1000 * 60 * 60 * 24) + 1;
+}
+export function copyDates(dates) {
+ if (Array.isArray(dates)) {
+ return dates.map((date) => {
+ if (date === null) {
+ return date;
+ }
+ return new Date(date);
+ });
+ }
+ return new Date(dates);
+}
+export function getMonthEndDay(year, month) {
+ return 32 - new Date(year, month - 1, 32).getDate();
+}
+export function getMonths(minDate, maxDate) {
+ const months = [];
+ const cursor = new Date(minDate);
+ cursor.setDate(1);
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (compareMonth(cursor, maxDate) !== 1);
+ return months;
+}
diff --git a/dist/calendar/utils.wxs b/dist/calendar/utils.wxs
new file mode 100644
index 0000000..e57f6b3
--- /dev/null
+++ b/dist/calendar/utils.wxs
@@ -0,0 +1,25 @@
+/* eslint-disable */
+function getMonthEndDay(year, month) {
+ return 32 - getDate(year, month - 1, 32).getDate();
+}
+
+function compareMonth(date1, date2) {
+ date1 = getDate(date1);
+ date2 = getDate(date2);
+
+ var year1 = date1.getFullYear();
+ var year2 = date2.getFullYear();
+ var month1 = date1.getMonth();
+ var month2 = date2.getMonth();
+
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+
+ return year1 > year2 ? 1 : -1;
+}
+
+module.exports = {
+ getMonthEndDay: getMonthEndDay,
+ compareMonth: compareMonth
+};
diff --git a/dist/card/index.d.ts b/dist/card/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/card/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/card/index.js b/dist/card/index.js
new file mode 100644
index 0000000..6aaf99f
--- /dev/null
+++ b/dist/card/index.js
@@ -0,0 +1,49 @@
+import { link } from '../mixins/link';
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: [
+ 'num-class',
+ 'desc-class',
+ 'thumb-class',
+ 'title-class',
+ 'price-class',
+ 'origin-price-class',
+ ],
+ mixins: [link],
+ props: {
+ tag: String,
+ num: String,
+ desc: String,
+ thumb: String,
+ title: String,
+ price: {
+ type: String,
+ observer: 'updatePrice',
+ },
+ centered: Boolean,
+ lazyLoad: Boolean,
+ thumbLink: String,
+ originPrice: String,
+ thumbMode: {
+ type: String,
+ value: 'aspectFit',
+ },
+ currency: {
+ type: String,
+ value: '¥',
+ },
+ },
+ methods: {
+ updatePrice() {
+ const { price } = this.data;
+ const priceArr = price.toString().split('.');
+ this.setData({
+ integerStr: priceArr[0],
+ decimalStr: priceArr[1] ? `.${priceArr[1]}` : '',
+ });
+ },
+ onClickThumb() {
+ this.jumpLink('thumbLink');
+ },
+ },
+});
diff --git a/dist/card/index.json b/dist/card/index.json
new file mode 100644
index 0000000..e917407
--- /dev/null
+++ b/dist/card/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tag": "../tag/index"
+ }
+}
diff --git a/dist/card/index.wxml b/dist/card/index.wxml
new file mode 100644
index 0000000..62173e4
--- /dev/null
+++ b/dist/card/index.wxml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
diff --git a/dist/card/index.wxss b/dist/card/index.wxss
new file mode 100644
index 0000000..a21a599
--- /dev/null
+++ b/dist/card/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-card{position:relative;box-sizing:border-box;padding:8px 16px;padding:var(--card-padding,8px 16px);font-size:12px;font-size:var(--card-font-size,12px);color:#323233;color:var(--card-text-color,#323233);background-color:#fafafa;background-color:var(--card-background-color,#fafafa)}.van-card__header{display:-webkit-flex;display:flex}.van-card__header--center{-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.van-card__thumb{position:relative;-webkit-flex:none;flex:none;width:88px;width:var(--card-thumb-size,88px);height:88px;height:var(--card-thumb-size,88px);margin-right:8px;margin-right:var(--padding-xs,8px)}.van-card__thumb:empty{display:none}.van-card__img{width:100%;height:100%;border-radius:8px;border-radius:var(--border-radius-lg,8px)}.van-card__content{position:relative;display:-webkit-flex;display:flex;-webkit-flex:1;flex:1;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:space-between;justify-content:space-between;min-width:0;min-height:88px;min-height:var(--card-thumb-size,88px)}.van-card__content--center{-webkit-justify-content:center;justify-content:center}.van-card__desc,.van-card__title{word-wrap:break-word}.van-card__title{font-weight:700;line-height:16px;line-height:var(--card-title-line-height,16px)}.van-card__desc{line-height:20px;line-height:var(--card-desc-line-height,20px);color:#646566;color:var(--card-desc-color,#646566)}.van-card__bottom{line-height:20px}.van-card__price{display:inline-block;font-weight:700;color:#ee0a24;color:var(--card-price-color,#ee0a24);font-size:12px;font-size:var(--card-price-font-size,12px)}.van-card__price-integer{font-size:16px;font-size:var(--card-price-integer-font-size,16px)}.van-card__price-decimal,.van-card__price-integer{font-family:Avenir-Heavy,PingFang SC,Helvetica Neue,Arial,sans-serif;font-family:var(--card-price-font-family,Avenir-Heavy,PingFang SC,Helvetica Neue,Arial,sans-serif)}.van-card__origin-price{display:inline-block;margin-left:5px;text-decoration:line-through;font-size:10px;font-size:var(--card-origin-price-font-size,10px);color:#646566;color:var(--card-origin-price-color,#646566)}.van-card__num{float:right}.van-card__tag{position:absolute!important;top:2px;left:0}.van-card__footer{-webkit-flex:none;flex:none;width:100%;text-align:right}
\ No newline at end of file
diff --git a/dist/cell-group/index.d.ts b/dist/cell-group/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/cell-group/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/cell-group/index.js b/dist/cell-group/index.js
new file mode 100644
index 0000000..99bcdb9
--- /dev/null
+++ b/dist/cell-group/index.js
@@ -0,0 +1,10 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ title: String,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ },
+});
diff --git a/dist/cell-group/index.json b/dist/cell-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/cell-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/cell-group/index.wxml b/dist/cell-group/index.wxml
new file mode 100644
index 0000000..6e0b471
--- /dev/null
+++ b/dist/cell-group/index.wxml
@@ -0,0 +1,9 @@
+
+ {{ title }}
+
+
+
+
diff --git a/dist/cell-group/index.wxss b/dist/cell-group/index.wxss
new file mode 100644
index 0000000..edbccd5
--- /dev/null
+++ b/dist/cell-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-cell-group__title{padding:16px 16px 8px;padding:var(--cell-group-title-padding,16px 16px 8px);font-size:14px;font-size:var(--cell-group-title-font-size,14px);line-height:16px;line-height:var(--cell-group-title-line-height,16px);color:#969799;color:var(--cell-group-title-color,#969799)}
\ No newline at end of file
diff --git a/dist/cell/index.d.ts b/dist/cell/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/cell/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/cell/index.js b/dist/cell/index.js
new file mode 100644
index 0000000..a0123d1
--- /dev/null
+++ b/dist/cell/index.js
@@ -0,0 +1,38 @@
+import { link } from '../mixins/link';
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: [
+ 'title-class',
+ 'label-class',
+ 'value-class',
+ 'right-icon-class',
+ 'hover-class',
+ ],
+ mixins: [link],
+ props: {
+ title: null,
+ value: null,
+ icon: String,
+ size: String,
+ label: String,
+ center: Boolean,
+ isLink: Boolean,
+ required: Boolean,
+ clickable: Boolean,
+ titleWidth: String,
+ customStyle: String,
+ arrowDirection: String,
+ useLabelSlot: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ titleStyle: String,
+ },
+ methods: {
+ onClick(event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ },
+});
diff --git a/dist/cell/index.json b/dist/cell/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/dist/cell/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/cell/index.wxml b/dist/cell/index.wxml
new file mode 100644
index 0000000..fed768e
--- /dev/null
+++ b/dist/cell/index.wxml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+ {{ label }}
+
+
+
+
+ {{ value }}
+
+
+
+
+
+
+
+
diff --git a/dist/cell/index.wxss b/dist/cell/index.wxss
new file mode 100644
index 0000000..fbbe882
--- /dev/null
+++ b/dist/cell/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-cell{position:relative;display:-webkit-flex;display:flex;box-sizing:border-box;width:100%;padding:10px 16px;padding:var(--cell-vertical-padding,10px) var(--cell-horizontal-padding,16px);font-size:14px;font-size:var(--cell-font-size,14px);line-height:24px;line-height:var(--cell-line-height,24px);color:#323233;color:var(--cell-text-color,#323233);background-color:#fff;background-color:var(--cell-background-color,#fff)}.van-cell:after{position:absolute;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;content:" ";pointer-events:none;right:16px;bottom:0;left:16px;border-bottom:1px solid #ebedf0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.van-cell--borderless:after{display:none}.van-cell-group{background-color:#fff;background-color:var(--cell-background-color,#fff)}.van-cell__label{margin-top:3px;margin-top:var(--cell-label-margin-top,3px);font-size:12px;font-size:var(--cell-label-font-size,12px);line-height:18px;line-height:var(--cell-label-line-height,18px);color:#969799;color:var(--cell-label-color,#969799)}.van-cell__value{overflow:hidden;text-align:right;vertical-align:middle;color:#969799;color:var(--cell-value-color,#969799)}.van-cell__title,.van-cell__value{-webkit-flex:1;flex:1}.van-cell__title:empty,.van-cell__value:empty{display:none}.van-cell__left-icon-wrap,.van-cell__right-icon-wrap{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;height:24px;height:var(--cell-line-height,24px);font-size:16px;font-size:var(--cell-icon-size,16px)}.van-cell__left-icon-wrap{margin-right:5px}.van-cell__right-icon-wrap{margin-left:5px;color:#969799;color:var(--cell-right-icon-color,#969799)}.van-cell__left-icon{vertical-align:middle}.van-cell__left-icon,.van-cell__right-icon{line-height:24px;line-height:var(--cell-line-height,24px)}.van-cell--clickable.van-cell--hover{background-color:#f2f3f5;background-color:var(--cell-active-color,#f2f3f5)}.van-cell--required{overflow:visible}.van-cell--required:before{position:absolute;content:"*";left:8px;left:var(--padding-xs,8px);font-size:14px;font-size:var(--cell-font-size,14px);color:#ee0a24;color:var(--cell-required-color,#ee0a24)}.van-cell--center{-webkit-align-items:center;align-items:center}.van-cell--large{padding-top:12px;padding-top:var(--cell-large-vertical-padding,12px);padding-bottom:12px;padding-bottom:var(--cell-large-vertical-padding,12px)}.van-cell--large .van-cell__title{font-size:16px;font-size:var(--cell-large-title-font-size,16px)}.van-cell--large .van-cell__value{font-size:16px;font-size:var(--cell-large-value-font-size,16px)}.van-cell--large .van-cell__label{font-size:14px;font-size:var(--cell-large-label-font-size,14px)}
\ No newline at end of file
diff --git a/dist/checkbox-group/index.d.ts b/dist/checkbox-group/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/checkbox-group/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/checkbox-group/index.js b/dist/checkbox-group/index.js
new file mode 100644
index 0000000..7948927
--- /dev/null
+++ b/dist/checkbox-group/index.js
@@ -0,0 +1,35 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ field: true,
+ relation: {
+ name: 'checkbox',
+ type: 'descendant',
+ current: 'checkbox-group',
+ linked(target) {
+ this.updateChild(target);
+ },
+ },
+ props: {
+ max: Number,
+ value: {
+ type: Array,
+ observer: 'updateChildren',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ },
+ methods: {
+ updateChildren() {
+ (this.children || []).forEach((child) => this.updateChild(child));
+ },
+ updateChild(child) {
+ const { value, disabled } = this.data;
+ child.setData({
+ value: value.indexOf(child.data.name) !== -1,
+ parentDisabled: disabled,
+ });
+ },
+ },
+});
diff --git a/dist/checkbox-group/index.json b/dist/checkbox-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/checkbox-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/checkbox-group/index.wxml b/dist/checkbox-group/index.wxml
new file mode 100644
index 0000000..4fa864c
--- /dev/null
+++ b/dist/checkbox-group/index.wxml
@@ -0,0 +1 @@
+
diff --git a/dist/checkbox-group/index.wxss b/dist/checkbox-group/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/dist/checkbox-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/dist/checkbox/index.d.ts b/dist/checkbox/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/checkbox/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/checkbox/index.js b/dist/checkbox/index.js
new file mode 100644
index 0000000..9346d3e
--- /dev/null
+++ b/dist/checkbox/index.js
@@ -0,0 +1,74 @@
+import { VantComponent } from '../common/component';
+function emit(target, value) {
+ target.$emit('input', value);
+ target.$emit('change', value);
+}
+VantComponent({
+ field: true,
+ relation: {
+ name: 'checkbox-group',
+ type: 'ancestor',
+ current: 'checkbox',
+ },
+ classes: ['icon-class', 'label-class'],
+ props: {
+ value: Boolean,
+ disabled: Boolean,
+ useIconSlot: Boolean,
+ checkedColor: String,
+ labelPosition: String,
+ labelDisabled: Boolean,
+ shape: {
+ type: String,
+ value: 'round',
+ },
+ iconSize: {
+ type: null,
+ value: 20,
+ },
+ },
+ data: {
+ parentDisabled: false,
+ },
+ methods: {
+ emitChange(value) {
+ if (this.parent) {
+ this.setParentValue(this.parent, value);
+ } else {
+ emit(this, value);
+ }
+ },
+ toggle() {
+ const { parentDisabled, disabled, value } = this.data;
+ if (!disabled && !parentDisabled) {
+ this.emitChange(!value);
+ }
+ },
+ onClickLabel() {
+ const { labelDisabled, parentDisabled, disabled, value } = this.data;
+ if (!disabled && !labelDisabled && !parentDisabled) {
+ this.emitChange(!value);
+ }
+ },
+ setParentValue(parent, value) {
+ const parentValue = parent.data.value.slice();
+ const { name } = this.data;
+ const { max } = parent.data;
+ if (value) {
+ if (max && parentValue.length >= max) {
+ return;
+ }
+ if (parentValue.indexOf(name) === -1) {
+ parentValue.push(name);
+ emit(parent, parentValue);
+ }
+ } else {
+ const index = parentValue.indexOf(name);
+ if (index !== -1) {
+ parentValue.splice(index, 1);
+ emit(parent, parentValue);
+ }
+ }
+ },
+ },
+});
diff --git a/dist/checkbox/index.json b/dist/checkbox/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/dist/checkbox/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/checkbox/index.wxml b/dist/checkbox/index.wxml
new file mode 100644
index 0000000..94789d8
--- /dev/null
+++ b/dist/checkbox/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/checkbox/index.wxs b/dist/checkbox/index.wxs
new file mode 100644
index 0000000..927eb55
--- /dev/null
+++ b/dist/checkbox/index.wxs
@@ -0,0 +1,20 @@
+/* eslint-disable */
+var utils = require('../wxs/utils.wxs');
+
+function iconStyle(checkedColor, value, disabled, parentDisabled, iconSize) {
+ var styles = [['font-size', utils.addUnit(iconSize)]];
+ if (checkedColor && value && !disabled && !parentDisabled) {
+ styles.push(['border-color', checkedColor]);
+ styles.push(['background-color', checkedColor]);
+ }
+
+ return styles
+ .map(function(item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+module.exports = {
+ iconStyle: iconStyle
+};
diff --git a/dist/checkbox/index.wxss b/dist/checkbox/index.wxss
new file mode 100644
index 0000000..afaf37b
--- /dev/null
+++ b/dist/checkbox/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-checkbox{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;overflow:hidden;-webkit-user-select:none;user-select:none}.van-checkbox__icon-wrap,.van-checkbox__label{line-height:20px;line-height:var(--checkbox-size,20px)}.van-checkbox__icon-wrap{-webkit-flex:none;flex:none}.van-checkbox__icon{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;box-sizing:border-box;width:1em;height:1em;color:transparent;text-align:center;transition-property:color,border-color,background-color;font-size:20px;font-size:var(--checkbox-size,20px);border:1px solid #c8c9cc;border:1px solid var(--checkbox-border-color,#c8c9cc);transition-duration:.2s;transition-duration:var(--checkbox-transition-duration,.2s)}.van-checkbox__icon--round{border-radius:100%}.van-checkbox__icon--checked{color:#fff;color:var(--white,#fff);background-color:#1989fa;background-color:var(--checkbox-checked-icon-color,#1989fa);border-color:#1989fa;border-color:var(--checkbox-checked-icon-color,#1989fa)}.van-checkbox__icon--disabled{background-color:#ebedf0;background-color:var(--checkbox-disabled-background-color,#ebedf0);border-color:#c8c9cc;border-color:var(--checkbox-disabled-icon-color,#c8c9cc)}.van-checkbox__icon--disabled.van-checkbox__icon--checked{color:#c8c9cc;color:var(--checkbox-disabled-icon-color,#c8c9cc)}.van-checkbox__label{word-wrap:break-word;margin-left:10px;margin-left:var(--checkbox-label-margin,10px);color:#323233;color:var(--checkbox-label-color,#323233)}.van-checkbox__label--left{float:left;margin:0 10px 0 0;margin:0 var(--checkbox-label-margin,10px) 0 0}.van-checkbox__label--disabled{color:#c8c9cc;color:var(--checkbox-disabled-label-color,#c8c9cc)}.van-checkbox__label:empty{margin:0}
\ No newline at end of file
diff --git a/dist/circle/canvas.d.ts b/dist/circle/canvas.d.ts
new file mode 100644
index 0000000..84c7caa
--- /dev/null
+++ b/dist/circle/canvas.d.ts
@@ -0,0 +1,6 @@
+///
+declare type CanvasContext = WechatMiniprogram.CanvasContext;
+export declare function adaptor(
+ ctx: CanvasRenderingContext2D
+): CanvasContext & CanvasRenderingContext2D;
+export {};
diff --git a/dist/circle/canvas.js b/dist/circle/canvas.js
new file mode 100644
index 0000000..c311335
--- /dev/null
+++ b/dist/circle/canvas.js
@@ -0,0 +1,43 @@
+export function adaptor(ctx) {
+ // @ts-ignore
+ return Object.assign(ctx, {
+ setStrokeStyle(val) {
+ ctx.strokeStyle = val;
+ },
+ setLineWidth(val) {
+ ctx.lineWidth = val;
+ },
+ setLineCap(val) {
+ ctx.lineCap = val;
+ },
+ setFillStyle(val) {
+ ctx.fillStyle = val;
+ },
+ setFontSize(val) {
+ ctx.font = String(val);
+ },
+ setGlobalAlpha(val) {
+ ctx.globalAlpha = val;
+ },
+ setLineJoin(val) {
+ ctx.lineJoin = val;
+ },
+ setTextAlign(val) {
+ ctx.textAlign = val;
+ },
+ setMiterLimit(val) {
+ ctx.miterLimit = val;
+ },
+ setShadow(offsetX, offsetY, blur, color) {
+ ctx.shadowOffsetX = offsetX;
+ ctx.shadowOffsetY = offsetY;
+ ctx.shadowBlur = blur;
+ ctx.shadowColor = color;
+ },
+ setTextBaseline(val) {
+ ctx.textBaseline = val;
+ },
+ createCircularGradient() {},
+ draw() {},
+ });
+}
diff --git a/dist/circle/index.d.ts b/dist/circle/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/circle/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/circle/index.js b/dist/circle/index.js
new file mode 100644
index 0000000..3feaa5c
--- /dev/null
+++ b/dist/circle/index.js
@@ -0,0 +1,184 @@
+import { VantComponent } from '../common/component';
+import { isObj } from '../common/utils';
+import { BLUE, WHITE } from '../common/color';
+import { adaptor } from './canvas';
+function format(rate) {
+ return Math.min(Math.max(rate, 0), 100);
+}
+const PERIMETER = 2 * Math.PI;
+const BEGIN_ANGLE = -Math.PI / 2;
+const STEP = 1;
+VantComponent({
+ props: {
+ text: String,
+ lineCap: {
+ type: String,
+ value: 'round',
+ },
+ value: {
+ type: Number,
+ value: 0,
+ observer: 'reRender',
+ },
+ speed: {
+ type: Number,
+ value: 50,
+ },
+ size: {
+ type: Number,
+ value: 100,
+ observer() {
+ this.drawCircle(this.currentValue);
+ },
+ },
+ fill: String,
+ layerColor: {
+ type: String,
+ value: WHITE,
+ },
+ color: {
+ type: [String, Object],
+ value: BLUE,
+ observer() {
+ this.setHoverColor().then(() => {
+ this.drawCircle(this.currentValue);
+ });
+ },
+ },
+ type: {
+ type: String,
+ value: '',
+ },
+ strokeWidth: {
+ type: Number,
+ value: 4,
+ },
+ clockwise: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ hoverColor: BLUE,
+ },
+ methods: {
+ getContext() {
+ const { type, size } = this.data;
+ if (type === '') {
+ const ctx = wx.createCanvasContext('van-circle', this);
+ return Promise.resolve(ctx);
+ }
+ const dpr = wx.getSystemInfoSync().pixelRatio;
+ return new Promise((resolve) => {
+ wx.createSelectorQuery()
+ .in(this)
+ .select('#van-circle')
+ .node()
+ .exec((res) => {
+ const canvas = res[0].node;
+ const ctx = canvas.getContext(type);
+ if (!this.inited) {
+ this.inited = true;
+ canvas.width = size * dpr;
+ canvas.height = size * dpr;
+ ctx.scale(dpr, dpr);
+ }
+ resolve(adaptor(ctx));
+ });
+ });
+ },
+ setHoverColor() {
+ const { color, size } = this.data;
+ if (isObj(color)) {
+ return this.getContext().then((context) => {
+ const LinearColor = context.createLinearGradient(size, 0, 0, 0);
+ Object.keys(color)
+ .sort((a, b) => parseFloat(a) - parseFloat(b))
+ .map((key) =>
+ LinearColor.addColorStop(parseFloat(key) / 100, color[key])
+ );
+ this.hoverColor = LinearColor;
+ });
+ }
+ this.hoverColor = color;
+ return Promise.resolve();
+ },
+ presetCanvas(context, strokeStyle, beginAngle, endAngle, fill) {
+ const { strokeWidth, lineCap, clockwise, size } = this.data;
+ const position = size / 2;
+ const radius = position - strokeWidth / 2;
+ context.setStrokeStyle(strokeStyle);
+ context.setLineWidth(strokeWidth);
+ context.setLineCap(lineCap);
+ context.beginPath();
+ context.arc(position, position, radius, beginAngle, endAngle, !clockwise);
+ context.stroke();
+ if (fill) {
+ context.setFillStyle(fill);
+ context.fill();
+ }
+ },
+ renderLayerCircle(context) {
+ const { layerColor, fill } = this.data;
+ this.presetCanvas(context, layerColor, 0, PERIMETER, fill);
+ },
+ renderHoverCircle(context, formatValue) {
+ const { clockwise } = this.data;
+ // 结束角度
+ const progress = PERIMETER * (formatValue / 100);
+ const endAngle = clockwise
+ ? BEGIN_ANGLE + progress
+ : 3 * Math.PI - (BEGIN_ANGLE + progress);
+ this.presetCanvas(context, this.hoverColor, BEGIN_ANGLE, endAngle);
+ },
+ drawCircle(currentValue) {
+ const { size } = this.data;
+ this.getContext().then((context) => {
+ context.clearRect(0, 0, size, size);
+ this.renderLayerCircle(context);
+ const formatValue = format(currentValue);
+ if (formatValue !== 0) {
+ this.renderHoverCircle(context, formatValue);
+ }
+ context.draw();
+ });
+ },
+ reRender() {
+ // tofector 动画暂时没有想到好的解决方案
+ const { value, speed } = this.data;
+ if (speed <= 0 || speed > 1000) {
+ this.drawCircle(value);
+ return;
+ }
+ this.clearInterval();
+ this.currentValue = this.currentValue || 0;
+ this.interval = setInterval(() => {
+ if (this.currentValue !== value) {
+ if (this.currentValue < value) {
+ this.currentValue += STEP;
+ } else {
+ this.currentValue -= STEP;
+ }
+ this.drawCircle(this.currentValue);
+ } else {
+ this.clearInterval();
+ }
+ }, 1000 / speed);
+ },
+ clearInterval() {
+ if (this.interval) {
+ clearInterval(this.interval);
+ this.interval = null;
+ }
+ },
+ },
+ mounted() {
+ this.currentValue = this.data.value;
+ this.setHoverColor().then(() => {
+ this.drawCircle(this.currentValue);
+ });
+ },
+ destroyed() {
+ this.clearInterval();
+ },
+});
diff --git a/dist/circle/index.json b/dist/circle/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/circle/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/circle/index.wxml b/dist/circle/index.wxml
new file mode 100644
index 0000000..52bc59f
--- /dev/null
+++ b/dist/circle/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+ {{ text }}
+
diff --git a/dist/circle/index.wxss b/dist/circle/index.wxss
new file mode 100644
index 0000000..3ab63df
--- /dev/null
+++ b/dist/circle/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-circle{position:relative;display:inline-block;text-align:center}.van-circle__text{position:absolute;top:50%;left:0;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#323233;color:var(--circle-text-color,#323233)}
\ No newline at end of file
diff --git a/dist/col/index.d.ts b/dist/col/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/col/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/col/index.js b/dist/col/index.js
new file mode 100644
index 0000000..43f0dde
--- /dev/null
+++ b/dist/col/index.js
@@ -0,0 +1,26 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ relation: {
+ name: 'row',
+ type: 'ancestor',
+ current: 'col',
+ },
+ props: {
+ span: Number,
+ offset: Number,
+ },
+ data: {
+ viewStyle: '',
+ },
+ methods: {
+ setGutter(gutter) {
+ const padding = `${gutter / 2}px`;
+ const viewStyle = gutter
+ ? `padding-left: ${padding}; padding-right: ${padding};`
+ : '';
+ if (viewStyle !== this.data.viewStyle) {
+ this.setData({ viewStyle });
+ }
+ },
+ },
+});
diff --git a/dist/col/index.json b/dist/col/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/col/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/col/index.wxml b/dist/col/index.wxml
new file mode 100644
index 0000000..52544f0
--- /dev/null
+++ b/dist/col/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/dist/col/index.wxss b/dist/col/index.wxss
new file mode 100644
index 0000000..44c896a
--- /dev/null
+++ b/dist/col/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-col{float:left;box-sizing:border-box}.van-col--1{width:4.16666667%}.van-col--offset-1{margin-left:4.16666667%}.van-col--2{width:8.33333333%}.van-col--offset-2{margin-left:8.33333333%}.van-col--3{width:12.5%}.van-col--offset-3{margin-left:12.5%}.van-col--4{width:16.66666667%}.van-col--offset-4{margin-left:16.66666667%}.van-col--5{width:20.83333333%}.van-col--offset-5{margin-left:20.83333333%}.van-col--6{width:25%}.van-col--offset-6{margin-left:25%}.van-col--7{width:29.16666667%}.van-col--offset-7{margin-left:29.16666667%}.van-col--8{width:33.33333333%}.van-col--offset-8{margin-left:33.33333333%}.van-col--9{width:37.5%}.van-col--offset-9{margin-left:37.5%}.van-col--10{width:41.66666667%}.van-col--offset-10{margin-left:41.66666667%}.van-col--11{width:45.83333333%}.van-col--offset-11{margin-left:45.83333333%}.van-col--12{width:50%}.van-col--offset-12{margin-left:50%}.van-col--13{width:54.16666667%}.van-col--offset-13{margin-left:54.16666667%}.van-col--14{width:58.33333333%}.van-col--offset-14{margin-left:58.33333333%}.van-col--15{width:62.5%}.van-col--offset-15{margin-left:62.5%}.van-col--16{width:66.66666667%}.van-col--offset-16{margin-left:66.66666667%}.van-col--17{width:70.83333333%}.van-col--offset-17{margin-left:70.83333333%}.van-col--18{width:75%}.van-col--offset-18{margin-left:75%}.van-col--19{width:79.16666667%}.van-col--offset-19{margin-left:79.16666667%}.van-col--20{width:83.33333333%}.van-col--offset-20{margin-left:83.33333333%}.van-col--21{width:87.5%}.van-col--offset-21{margin-left:87.5%}.van-col--22{width:91.66666667%}.van-col--offset-22{margin-left:91.66666667%}.van-col--23{width:95.83333333%}.van-col--offset-23{margin-left:95.83333333%}.van-col--24{width:100%}.van-col--offset-24{margin-left:100%}
\ No newline at end of file
diff --git a/dist/collapse-item/index.d.ts b/dist/collapse-item/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/collapse-item/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/collapse-item/index.js b/dist/collapse-item/index.js
new file mode 100644
index 0000000..aec309e
--- /dev/null
+++ b/dist/collapse-item/index.js
@@ -0,0 +1,99 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: ['title-class', 'content-class'],
+ relation: {
+ name: 'collapse',
+ type: 'ancestor',
+ current: 'collapse-item',
+ },
+ props: {
+ name: null,
+ title: null,
+ value: null,
+ icon: String,
+ label: String,
+ disabled: Boolean,
+ clickable: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ isLink: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ expanded: false,
+ },
+ created() {
+ this.animation = wx.createAnimation({
+ duration: 0,
+ timingFunction: 'ease-in-out',
+ });
+ },
+ mounted() {
+ this.updateExpanded();
+ this.inited = true;
+ },
+ methods: {
+ updateExpanded() {
+ if (!this.parent) {
+ return Promise.resolve();
+ }
+ const { value, accordion } = this.parent.data;
+ const { children = [] } = this.parent;
+ const { name } = this.data;
+ const index = children.indexOf(this);
+ const currentName = name == null ? index : name;
+ const expanded = accordion
+ ? value === currentName
+ : (value || []).some((name) => name === currentName);
+ if (expanded !== this.data.expanded) {
+ this.updateStyle(expanded);
+ }
+ this.setData({ index, expanded });
+ },
+ updateStyle(expanded) {
+ const { inited } = this;
+ this.getRect('.van-collapse-item__content')
+ .then((rect) => rect.height)
+ .then((height) => {
+ const { animation } = this;
+ if (expanded) {
+ if (height === 0) {
+ animation.height('auto').top(1).step();
+ } else {
+ animation
+ .height(height)
+ .top(1)
+ .step({
+ duration: inited ? 300 : 1,
+ })
+ .height('auto')
+ .step();
+ }
+ this.setData({
+ animation: animation.export(),
+ });
+ return;
+ }
+ animation.height(height).top(0).step({ duration: 1 }).height(0).step({
+ duration: 300,
+ });
+ this.setData({
+ animation: animation.export(),
+ });
+ });
+ },
+ onClick() {
+ if (this.data.disabled) {
+ return;
+ }
+ const { name, expanded } = this.data;
+ const index = this.parent.children.indexOf(this);
+ const currentName = name == null ? index : name;
+ this.parent.switch(currentName, !expanded);
+ },
+ },
+});
diff --git a/dist/collapse-item/index.json b/dist/collapse-item/index.json
new file mode 100644
index 0000000..0e5425c
--- /dev/null
+++ b/dist/collapse-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index"
+ }
+}
diff --git a/dist/collapse-item/index.wxml b/dist/collapse-item/index.wxml
new file mode 100644
index 0000000..ae4cc83
--- /dev/null
+++ b/dist/collapse-item/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/collapse-item/index.wxss b/dist/collapse-item/index.wxss
new file mode 100644
index 0000000..0bb936c
--- /dev/null
+++ b/dist/collapse-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-collapse-item__title .van-cell__right-icon{-webkit-transform:rotate(90deg);transform:rotate(90deg);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;transition:-webkit-transform var(--collapse-item-transition-duration,.3s);transition:transform var(--collapse-item-transition-duration,.3s);transition:transform var(--collapse-item-transition-duration,.3s),-webkit-transform var(--collapse-item-transition-duration,.3s)}.van-collapse-item__title--expanded .van-cell__right-icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.van-collapse-item__title--disabled .van-cell,.van-collapse-item__title--disabled .van-cell__right-icon{color:#c8c9cc!important;color:var(--collapse-item-title-disabled-color,#c8c9cc)!important}.van-collapse-item__title--disabled .van-cell--hover{background-color:#fff!important;background-color:var(--white,#fff)!important}.van-collapse-item__wrapper{overflow:hidden}.van-collapse-item__content{padding:15px;padding:var(--collapse-item-content-padding,15px);color:#969799;color:var(--collapse-item-content-text-color,#969799);font-size:13px;font-size:var(--collapse-item-content-font-size,13px);line-height:1.5;line-height:var(--collapse-item-content-line-height,1.5);background-color:#fff;background-color:var(--collapse-item-content-background-color,#fff)}
\ No newline at end of file
diff --git a/dist/collapse/index.d.ts b/dist/collapse/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/collapse/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/collapse/index.js b/dist/collapse/index.js
new file mode 100644
index 0000000..33dae31
--- /dev/null
+++ b/dist/collapse/index.js
@@ -0,0 +1,47 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ relation: {
+ name: 'collapse-item',
+ type: 'descendant',
+ current: 'collapse',
+ },
+ props: {
+ value: {
+ type: null,
+ observer: 'updateExpanded',
+ },
+ accordion: {
+ type: Boolean,
+ observer: 'updateExpanded',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ updateExpanded() {
+ this.children.forEach((child) => {
+ child.updateExpanded();
+ });
+ },
+ switch(name, expanded) {
+ const { accordion, value } = this.data;
+ const changeItem = name;
+ if (!accordion) {
+ name = expanded
+ ? (value || []).concat(name)
+ : (value || []).filter((activeName) => activeName !== name);
+ } else {
+ name = expanded ? name : '';
+ }
+ if (expanded) {
+ this.$emit('open', changeItem);
+ } else {
+ this.$emit('close', changeItem);
+ }
+ this.$emit('change', name);
+ this.$emit('input', name);
+ },
+ },
+});
diff --git a/dist/collapse/index.json b/dist/collapse/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/collapse/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/collapse/index.wxml b/dist/collapse/index.wxml
new file mode 100644
index 0000000..fd4e171
--- /dev/null
+++ b/dist/collapse/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/collapse/index.wxss b/dist/collapse/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/dist/collapse/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/dist/common/color.d.ts b/dist/common/color.d.ts
new file mode 100644
index 0000000..386f307
--- /dev/null
+++ b/dist/common/color.d.ts
@@ -0,0 +1,7 @@
+export declare const RED = "#ee0a24";
+export declare const BLUE = "#1989fa";
+export declare const WHITE = "#fff";
+export declare const GREEN = "#07c160";
+export declare const ORANGE = "#ff976a";
+export declare const GRAY = "#323233";
+export declare const GRAY_DARK = "#969799";
diff --git a/dist/common/color.js b/dist/common/color.js
new file mode 100644
index 0000000..6b285bd
--- /dev/null
+++ b/dist/common/color.js
@@ -0,0 +1,7 @@
+export const RED = '#ee0a24';
+export const BLUE = '#1989fa';
+export const WHITE = '#fff';
+export const GREEN = '#07c160';
+export const ORANGE = '#ff976a';
+export const GRAY = '#323233';
+export const GRAY_DARK = '#969799';
diff --git a/dist/common/component.d.ts b/dist/common/component.d.ts
new file mode 100644
index 0000000..307a96c
--- /dev/null
+++ b/dist/common/component.d.ts
@@ -0,0 +1,3 @@
+import { VantComponentOptions, CombinedComponentInstance } from '../definitions/index';
+declare function VantComponent(vantOptions?: VantComponentOptions>): void;
+export { VantComponent };
diff --git a/dist/common/component.js b/dist/common/component.js
new file mode 100644
index 0000000..4868a06
--- /dev/null
+++ b/dist/common/component.js
@@ -0,0 +1,101 @@
+import { basic } from '../mixins/basic';
+const relationFunctions = {
+ ancestor: {
+ linked(parent) {
+ this.parent = parent;
+ },
+ unlinked() {
+ this.parent = null;
+ },
+ },
+ descendant: {
+ linked(child) {
+ this.children = this.children || [];
+ this.children.push(child);
+ },
+ unlinked(child) {
+ this.children = (this.children || []).filter((it) => it !== child);
+ },
+ },
+};
+function mapKeys(source, target, map) {
+ Object.keys(map).forEach((key) => {
+ if (source[key]) {
+ target[map[key]] = source[key];
+ }
+ });
+}
+function makeRelation(options, vantOptions, relation) {
+ const { type, name, linked, unlinked, linkChanged } = relation;
+ const { beforeCreate, destroyed } = vantOptions;
+ if (type === 'descendant') {
+ options.created = function () {
+ beforeCreate && beforeCreate.bind(this)();
+ this.children = this.children || [];
+ };
+ options.detached = function () {
+ this.children = [];
+ destroyed && destroyed.bind(this)();
+ };
+ }
+ options.relations = Object.assign(options.relations || {}, {
+ [`../${name}/index`]: {
+ type,
+ linked(node) {
+ relationFunctions[type].linked.bind(this)(node);
+ linked && linked.bind(this)(node);
+ },
+ linkChanged(node) {
+ linkChanged && linkChanged.bind(this)(node);
+ },
+ unlinked(node) {
+ relationFunctions[type].unlinked.bind(this)(node);
+ unlinked && unlinked.bind(this)(node);
+ },
+ },
+ });
+}
+function VantComponent(vantOptions = {}) {
+ const options = {};
+ mapKeys(vantOptions, options, {
+ data: 'data',
+ props: 'properties',
+ mixins: 'behaviors',
+ methods: 'methods',
+ beforeCreate: 'created',
+ created: 'attached',
+ mounted: 'ready',
+ relations: 'relations',
+ destroyed: 'detached',
+ classes: 'externalClasses',
+ });
+ const { relation } = vantOptions;
+ if (relation) {
+ makeRelation(options, vantOptions, relation);
+ }
+ // add default externalClasses
+ options.externalClasses = options.externalClasses || [];
+ options.externalClasses.push('custom-class');
+ // add default behaviors
+ options.behaviors = options.behaviors || [];
+ options.behaviors.push(basic);
+ // map field to form-field behavior
+ if (vantOptions.field) {
+ options.behaviors.push('wx://form-field');
+ }
+ if (options.properties) {
+ Object.keys(options.properties).forEach((name) => {
+ if (Array.isArray(options.properties[name])) {
+ // miniprogram do not allow multi type
+ options.properties[name] = null;
+ }
+ });
+ }
+ // add default options
+ options.options = {
+ multipleSlots: true,
+ addGlobalClass: true,
+ };
+ Component(options);
+}
+export { VantComponent };
diff --git a/dist/common/index.wxss b/dist/common/index.wxss
new file mode 100644
index 0000000..976825d
--- /dev/null
+++ b/dist/common/index.wxss
@@ -0,0 +1 @@
+.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3}.van-clearfix:after{display:table;clear:both;content:""}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{position:absolute;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid #ebedf0;-webkit-transform:scale(.5);transform:scale(.5)}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
\ No newline at end of file
diff --git a/dist/common/style/clearfix.wxss b/dist/common/style/clearfix.wxss
new file mode 100644
index 0000000..a0ca838
--- /dev/null
+++ b/dist/common/style/clearfix.wxss
@@ -0,0 +1 @@
+.van-clearfix:after{display:table;clear:both;content:""}
\ No newline at end of file
diff --git a/dist/common/style/ellipsis.wxss b/dist/common/style/ellipsis.wxss
new file mode 100644
index 0000000..1e9dbc9
--- /dev/null
+++ b/dist/common/style/ellipsis.wxss
@@ -0,0 +1 @@
+.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3}
\ No newline at end of file
diff --git a/dist/common/style/hairline.wxss b/dist/common/style/hairline.wxss
new file mode 100644
index 0000000..49b9e65
--- /dev/null
+++ b/dist/common/style/hairline.wxss
@@ -0,0 +1 @@
+.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{position:absolute;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid #ebedf0;-webkit-transform:scale(.5);transform:scale(.5)}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
\ No newline at end of file
diff --git a/dist/common/style/mixins/clearfix.wxss b/dist/common/style/mixins/clearfix.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/dist/common/style/mixins/ellipsis.wxss b/dist/common/style/mixins/ellipsis.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/dist/common/style/mixins/hairline.wxss b/dist/common/style/mixins/hairline.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/dist/common/style/theme.wxss b/dist/common/style/theme.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/dist/common/style/var.wxss b/dist/common/style/var.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/dist/common/utils.d.ts b/dist/common/utils.d.ts
new file mode 100644
index 0000000..0141054
--- /dev/null
+++ b/dist/common/utils.d.ts
@@ -0,0 +1,19 @@
+///
+export declare function isDef(value: any): boolean;
+export declare function isObj(x: any): boolean;
+export declare function range(num: number, min: number, max: number): number;
+export declare function nextTick(fn: Function): void;
+export declare function getSystemInfoSync(): WechatMiniprogram.GetSystemInfoSyncResult;
+export declare function addUnit(value?: string | number): string | undefined;
+export declare function requestAnimationFrame(
+ cb: Function
+): void | WechatMiniprogram.NodesRef;
+export declare function pickExclude(obj: unknown, keys: string[]): {};
+export declare function getRect(
+ this: WechatMiniprogram.Component.TrivialInstance,
+ selector: string
+): Promise;
+export declare function getAllRect(
+ this: WechatMiniprogram.Component.TrivialInstance,
+ selector: string
+): Promise;
diff --git a/dist/common/utils.js b/dist/common/utils.js
new file mode 100644
index 0000000..5d93882
--- /dev/null
+++ b/dist/common/utils.js
@@ -0,0 +1,72 @@
+import { isNumber, isPlainObject } from './validator';
+export function isDef(value) {
+ return value !== undefined && value !== null;
+}
+export function isObj(x) {
+ const type = typeof x;
+ return x !== null && (type === 'object' || type === 'function');
+}
+export function range(num, min, max) {
+ return Math.min(Math.max(num, min), max);
+}
+export function nextTick(fn) {
+ setTimeout(() => {
+ fn();
+ }, 1000 / 30);
+}
+let systemInfo;
+export function getSystemInfoSync() {
+ if (systemInfo == null) {
+ systemInfo = wx.getSystemInfoSync();
+ }
+ return systemInfo;
+}
+export function addUnit(value) {
+ if (!isDef(value)) {
+ return undefined;
+ }
+ value = String(value);
+ return isNumber(value) ? `${value}px` : value;
+}
+export function requestAnimationFrame(cb) {
+ const systemInfo = getSystemInfoSync();
+ if (systemInfo.platform === 'devtools') {
+ return nextTick(cb);
+ }
+ return wx
+ .createSelectorQuery()
+ .selectViewport()
+ .boundingClientRect()
+ .exec(() => {
+ cb();
+ });
+}
+export function pickExclude(obj, keys) {
+ if (!isPlainObject(obj)) {
+ return {};
+ }
+ return Object.keys(obj).reduce((prev, key) => {
+ if (!keys.includes(key)) {
+ prev[key] = obj[key];
+ }
+ return prev;
+ }, {});
+}
+export function getRect(selector) {
+ return new Promise((resolve) => {
+ wx.createSelectorQuery()
+ .in(this)
+ .select(selector)
+ .boundingClientRect()
+ .exec((rect = []) => resolve(rect[0]));
+ });
+}
+export function getAllRect(selector) {
+ return new Promise((resolve) => {
+ wx.createSelectorQuery()
+ .in(this)
+ .selectAll(selector)
+ .boundingClientRect()
+ .exec((rect = []) => resolve(rect[0]));
+ });
+}
diff --git a/dist/common/validator.d.ts b/dist/common/validator.d.ts
new file mode 100644
index 0000000..f90bc13
--- /dev/null
+++ b/dist/common/validator.d.ts
@@ -0,0 +1,11 @@
+export declare function isFunction(val: unknown): val is Function;
+export declare function isPlainObject(
+ val: unknown
+): val is Record;
+export declare function isPromise(val: unknown): val is Promise;
+export declare function isDef(value: any): boolean;
+export declare function isObj(x: unknown): x is Record;
+export declare function isNumber(value: string): boolean;
+export declare function isBoolean(value: unknown): value is boolean;
+export declare function isImageUrl(url: string): boolean;
+export declare function isVideoUrl(url: string): boolean;
diff --git a/dist/common/validator.js b/dist/common/validator.js
new file mode 100644
index 0000000..1c7d1e9
--- /dev/null
+++ b/dist/common/validator.js
@@ -0,0 +1,30 @@
+export function isFunction(val) {
+ return typeof val === 'function';
+}
+export function isPlainObject(val) {
+ return val !== null && typeof val === 'object' && !Array.isArray(val);
+}
+export function isPromise(val) {
+ return isPlainObject(val) && isFunction(val.then) && isFunction(val.catch);
+}
+export function isDef(value) {
+ return value !== undefined && value !== null;
+}
+export function isObj(x) {
+ const type = typeof x;
+ return x !== null && (type === 'object' || type === 'function');
+}
+export function isNumber(value) {
+ return /^\d+(\.\d+)?$/.test(value);
+}
+export function isBoolean(value) {
+ return typeof value === 'boolean';
+}
+const IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;
+const VIDEO_REGEXP = /\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv)/i;
+export function isImageUrl(url) {
+ return IMAGE_REGEXP.test(url);
+}
+export function isVideoUrl(url) {
+ return VIDEO_REGEXP.test(url);
+}
diff --git a/dist/common/version.d.ts b/dist/common/version.d.ts
new file mode 100644
index 0000000..d4c6fe2
--- /dev/null
+++ b/dist/common/version.d.ts
@@ -0,0 +1,2 @@
+export declare function canIUseModel(): boolean;
+export declare function canIUseFormFieldButton(): boolean;
diff --git a/dist/common/version.js b/dist/common/version.js
new file mode 100644
index 0000000..01f24f8
--- /dev/null
+++ b/dist/common/version.js
@@ -0,0 +1,31 @@
+import { getSystemInfoSync } from './utils';
+function compareVersion(v1, v2) {
+ v1 = v1.split('.');
+ v2 = v2.split('.');
+ const len = Math.max(v1.length, v2.length);
+ while (v1.length < len) {
+ v1.push('0');
+ }
+ while (v2.length < len) {
+ v2.push('0');
+ }
+ for (let i = 0; i < len; i++) {
+ const num1 = parseInt(v1[i], 10);
+ const num2 = parseInt(v2[i], 10);
+ if (num1 > num2) {
+ return 1;
+ }
+ if (num1 < num2) {
+ return -1;
+ }
+ }
+ return 0;
+}
+export function canIUseModel() {
+ const system = getSystemInfoSync();
+ return compareVersion(system.SDKVersion, '2.9.3') >= 0;
+}
+export function canIUseFormFieldButton() {
+ const system = getSystemInfoSync();
+ return compareVersion(system.SDKVersion, '2.10.3') >= 0;
+}
diff --git a/dist/count-down/index.d.ts b/dist/count-down/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/count-down/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/count-down/index.js b/dist/count-down/index.js
new file mode 100644
index 0000000..78dbb88
--- /dev/null
+++ b/dist/count-down/index.js
@@ -0,0 +1,99 @@
+import { VantComponent } from '../common/component';
+import { isSameSecond, parseFormat, parseTimeData } from './utils';
+function simpleTick(fn) {
+ return setTimeout(fn, 30);
+}
+VantComponent({
+ props: {
+ useSlot: Boolean,
+ millisecond: Boolean,
+ time: {
+ type: Number,
+ observer: 'reset',
+ },
+ format: {
+ type: String,
+ value: 'HH:mm:ss',
+ },
+ autoStart: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ timeData: parseTimeData(0),
+ formattedTime: '0',
+ },
+ destroyed() {
+ clearTimeout(this.tid);
+ this.tid = null;
+ },
+ methods: {
+ // 开始
+ start() {
+ if (this.counting) {
+ return;
+ }
+ this.counting = true;
+ this.endTime = Date.now() + this.remain;
+ this.tick();
+ },
+ // 暂停
+ pause() {
+ this.counting = false;
+ clearTimeout(this.tid);
+ },
+ // 重置
+ reset() {
+ this.pause();
+ this.remain = this.data.time;
+ this.setRemain(this.remain);
+ if (this.data.autoStart) {
+ this.start();
+ }
+ },
+ tick() {
+ if (this.data.millisecond) {
+ this.microTick();
+ } else {
+ this.macroTick();
+ }
+ },
+ microTick() {
+ this.tid = simpleTick(() => {
+ this.setRemain(this.getRemain());
+ if (this.remain !== 0) {
+ this.microTick();
+ }
+ });
+ },
+ macroTick() {
+ this.tid = simpleTick(() => {
+ const remain = this.getRemain();
+ if (!isSameSecond(remain, this.remain) || remain === 0) {
+ this.setRemain(remain);
+ }
+ if (this.remain !== 0) {
+ this.macroTick();
+ }
+ });
+ },
+ getRemain() {
+ return Math.max(this.endTime - Date.now(), 0);
+ },
+ setRemain(remain) {
+ this.remain = remain;
+ const timeData = parseTimeData(remain);
+ if (this.data.useSlot) {
+ this.$emit('change', timeData);
+ }
+ this.setData({
+ formattedTime: parseFormat(this.data.format, timeData),
+ });
+ if (remain === 0) {
+ this.pause();
+ this.$emit('finish');
+ }
+ },
+ },
+});
diff --git a/dist/count-down/index.json b/dist/count-down/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/count-down/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/count-down/index.wxml b/dist/count-down/index.wxml
new file mode 100644
index 0000000..e206e16
--- /dev/null
+++ b/dist/count-down/index.wxml
@@ -0,0 +1,4 @@
+
+
+ {{ formattedTime }}
+
diff --git a/dist/count-down/index.wxss b/dist/count-down/index.wxss
new file mode 100644
index 0000000..bc33f5d
--- /dev/null
+++ b/dist/count-down/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-count-down{color:#323233;color:var(--count-down-text-color,#323233);font-size:14px;font-size:var(--count-down-font-size,14px);line-height:20px;line-height:var(--count-down-line-height,20px)}
\ No newline at end of file
diff --git a/dist/count-down/utils.d.ts b/dist/count-down/utils.d.ts
new file mode 100644
index 0000000..e4a58dd
--- /dev/null
+++ b/dist/count-down/utils.d.ts
@@ -0,0 +1,10 @@
+export declare type TimeData = {
+ days: number;
+ hours: number;
+ minutes: number;
+ seconds: number;
+ milliseconds: number;
+};
+export declare function parseTimeData(time: number): TimeData;
+export declare function parseFormat(format: string, timeData: TimeData): string;
+export declare function isSameSecond(time1: number, time2: number): boolean;
diff --git a/dist/count-down/utils.js b/dist/count-down/utils.js
new file mode 100644
index 0000000..a9f05b8
--- /dev/null
+++ b/dist/count-down/utils.js
@@ -0,0 +1,53 @@
+function padZero(num, targetLength = 2) {
+ let str = num + '';
+ while (str.length < targetLength) {
+ str = '0' + str;
+ }
+ return str;
+}
+const SECOND = 1000;
+const MINUTE = 60 * SECOND;
+const HOUR = 60 * MINUTE;
+const DAY = 24 * HOUR;
+export function parseTimeData(time) {
+ const days = Math.floor(time / DAY);
+ const hours = Math.floor((time % DAY) / HOUR);
+ const minutes = Math.floor((time % HOUR) / MINUTE);
+ const seconds = Math.floor((time % MINUTE) / SECOND);
+ const milliseconds = Math.floor(time % SECOND);
+ return {
+ days,
+ hours,
+ minutes,
+ seconds,
+ milliseconds,
+ };
+}
+export function parseFormat(format, timeData) {
+ const { days } = timeData;
+ let { hours, minutes, seconds, milliseconds } = timeData;
+ if (format.indexOf('DD') === -1) {
+ hours += days * 24;
+ } else {
+ format = format.replace('DD', padZero(days));
+ }
+ if (format.indexOf('HH') === -1) {
+ minutes += hours * 60;
+ } else {
+ format = format.replace('HH', padZero(hours));
+ }
+ if (format.indexOf('mm') === -1) {
+ seconds += minutes * 60;
+ } else {
+ format = format.replace('mm', padZero(minutes));
+ }
+ if (format.indexOf('ss') === -1) {
+ milliseconds += seconds * 1000;
+ } else {
+ format = format.replace('ss', padZero(seconds));
+ }
+ return format.replace('SSS', padZero(milliseconds, 3));
+}
+export function isSameSecond(time1, time2) {
+ return Math.floor(time1 / 1000) === Math.floor(time2 / 1000);
+}
diff --git a/dist/datetime-picker/index.d.ts b/dist/datetime-picker/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/datetime-picker/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/datetime-picker/index.js b/dist/datetime-picker/index.js
new file mode 100644
index 0000000..ef9394d
--- /dev/null
+++ b/dist/datetime-picker/index.js
@@ -0,0 +1,322 @@
+import { VantComponent } from '../common/component';
+import { isDef } from '../common/utils';
+import { pickerProps } from '../picker/shared';
+const currentYear = new Date().getFullYear();
+function isValidDate(date) {
+ return isDef(date) && !isNaN(new Date(date).getTime());
+}
+function range(num, min, max) {
+ return Math.min(Math.max(num, min), max);
+}
+function padZero(val) {
+ return `00${val}`.slice(-2);
+}
+function times(n, iteratee) {
+ let index = -1;
+ const result = Array(n < 0 ? 0 : n);
+ while (++index < n) {
+ result[index] = iteratee(index);
+ }
+ return result;
+}
+function getTrueValue(formattedValue) {
+ if (!formattedValue) return;
+ while (isNaN(parseInt(formattedValue, 10))) {
+ formattedValue = formattedValue.slice(1);
+ }
+ return parseInt(formattedValue, 10);
+}
+function getMonthEndDay(year, month) {
+ return 32 - new Date(year, month - 1, 32).getDate();
+}
+const defaultFormatter = (_, value) => value;
+VantComponent({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: Object.assign(Object.assign({}, pickerProps), {
+ value: {
+ type: null,
+ observer: 'updateValue',
+ },
+ filter: null,
+ type: {
+ type: String,
+ value: 'datetime',
+ observer: 'updateValue',
+ },
+ showToolbar: {
+ type: Boolean,
+ value: true,
+ },
+ formatter: {
+ type: null,
+ value: defaultFormatter,
+ },
+ minDate: {
+ type: Number,
+ value: new Date(currentYear - 10, 0, 1).getTime(),
+ observer: 'updateValue',
+ },
+ maxDate: {
+ type: Number,
+ value: new Date(currentYear + 10, 11, 31).getTime(),
+ observer: 'updateValue',
+ },
+ minHour: {
+ type: Number,
+ value: 0,
+ observer: 'updateValue',
+ },
+ maxHour: {
+ type: Number,
+ value: 23,
+ observer: 'updateValue',
+ },
+ minMinute: {
+ type: Number,
+ value: 0,
+ observer: 'updateValue',
+ },
+ maxMinute: {
+ type: Number,
+ value: 59,
+ observer: 'updateValue',
+ },
+ }),
+ data: {
+ innerValue: Date.now(),
+ columns: [],
+ },
+ methods: {
+ updateValue() {
+ const { data } = this;
+ const val = this.correctValue(data.value);
+ const isEqual = val === data.innerValue;
+ if (!isEqual) {
+ this.updateColumnValue(val).then(() => {
+ this.$emit('input', val);
+ });
+ } else {
+ this.updateColumns();
+ }
+ },
+ getPicker() {
+ if (this.picker == null) {
+ this.picker = this.selectComponent('.van-datetime-picker');
+ const { picker } = this;
+ const { setColumnValues } = picker;
+ picker.setColumnValues = (...args) =>
+ setColumnValues.apply(picker, [...args, false]);
+ }
+ return this.picker;
+ },
+ updateColumns() {
+ const { formatter = defaultFormatter } = this.data;
+ const results = this.getOriginColumns().map((column) => ({
+ values: column.values.map((value) => formatter(column.type, value)),
+ }));
+ return this.set({ columns: results });
+ },
+ getOriginColumns() {
+ const { filter } = this.data;
+ const results = this.getRanges().map(({ type, range }) => {
+ let values = times(range[1] - range[0] + 1, (index) => {
+ let value = range[0] + index;
+ value = type === 'year' ? `${value}` : padZero(value);
+ return value;
+ });
+ if (filter) {
+ values = filter(type, values);
+ }
+ return { type, values };
+ });
+ return results;
+ },
+ getRanges() {
+ const { data } = this;
+ if (data.type === 'time') {
+ return [
+ {
+ type: 'hour',
+ range: [data.minHour, data.maxHour],
+ },
+ {
+ type: 'minute',
+ range: [data.minMinute, data.maxMinute],
+ },
+ ];
+ }
+ const {
+ maxYear,
+ maxDate,
+ maxMonth,
+ maxHour,
+ maxMinute,
+ } = this.getBoundary('max', data.innerValue);
+ const {
+ minYear,
+ minDate,
+ minMonth,
+ minHour,
+ minMinute,
+ } = this.getBoundary('min', data.innerValue);
+ const result = [
+ {
+ type: 'year',
+ range: [minYear, maxYear],
+ },
+ {
+ type: 'month',
+ range: [minMonth, maxMonth],
+ },
+ {
+ type: 'day',
+ range: [minDate, maxDate],
+ },
+ {
+ type: 'hour',
+ range: [minHour, maxHour],
+ },
+ {
+ type: 'minute',
+ range: [minMinute, maxMinute],
+ },
+ ];
+ if (data.type === 'date') result.splice(3, 2);
+ if (data.type === 'year-month') result.splice(2, 3);
+ return result;
+ },
+ correctValue(value) {
+ const { data } = this;
+ // validate value
+ const isDateType = data.type !== 'time';
+ if (isDateType && !isValidDate(value)) {
+ value = data.minDate;
+ } else if (!isDateType && !value) {
+ const { minHour } = data;
+ value = `${padZero(minHour)}:00`;
+ }
+ // time type
+ if (!isDateType) {
+ let [hour, minute] = value.split(':');
+ hour = padZero(range(hour, data.minHour, data.maxHour));
+ minute = padZero(range(minute, data.minMinute, data.maxMinute));
+ return `${hour}:${minute}`;
+ }
+ // date type
+ value = Math.max(value, data.minDate);
+ value = Math.min(value, data.maxDate);
+ return value;
+ },
+ getBoundary(type, innerValue) {
+ const value = new Date(innerValue);
+ const boundary = new Date(this.data[`${type}Date`]);
+ const year = boundary.getFullYear();
+ let month = 1;
+ let date = 1;
+ let hour = 0;
+ let minute = 0;
+ if (type === 'max') {
+ month = 12;
+ date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);
+ hour = 23;
+ minute = 59;
+ }
+ if (value.getFullYear() === year) {
+ month = boundary.getMonth() + 1;
+ if (value.getMonth() + 1 === month) {
+ date = boundary.getDate();
+ if (value.getDate() === date) {
+ hour = boundary.getHours();
+ if (value.getHours() === hour) {
+ minute = boundary.getMinutes();
+ }
+ }
+ }
+ }
+ return {
+ [`${type}Year`]: year,
+ [`${type}Month`]: month,
+ [`${type}Date`]: date,
+ [`${type}Hour`]: hour,
+ [`${type}Minute`]: minute,
+ };
+ },
+ onCancel() {
+ this.$emit('cancel');
+ },
+ onConfirm() {
+ this.$emit('confirm', this.data.innerValue);
+ },
+ onChange() {
+ const { data } = this;
+ let value;
+ const picker = this.getPicker();
+ const originColumns = this.getOriginColumns();
+ if (data.type === 'time') {
+ const indexes = picker.getIndexes();
+ value = `${+originColumns[0].values[indexes[0]]}:${+originColumns[1]
+ .values[indexes[1]]}`;
+ } else {
+ const indexes = picker.getIndexes();
+ const values = indexes.map(
+ (value, index) => originColumns[index].values[value]
+ );
+ const year = getTrueValue(values[0]);
+ const month = getTrueValue(values[1]);
+ const maxDate = getMonthEndDay(year, month);
+ let date = getTrueValue(values[2]);
+ if (data.type === 'year-month') {
+ date = 1;
+ }
+ date = date > maxDate ? maxDate : date;
+ let hour = 0;
+ let minute = 0;
+ if (data.type === 'datetime') {
+ hour = getTrueValue(values[3]);
+ minute = getTrueValue(values[4]);
+ }
+ value = new Date(year, month - 1, date, hour, minute);
+ }
+ value = this.correctValue(value);
+ this.updateColumnValue(value).then(() => {
+ this.$emit('input', value);
+ this.$emit('change', picker);
+ });
+ },
+ updateColumnValue(value) {
+ let values = [];
+ const { type } = this.data;
+ const formatter = this.data.formatter || defaultFormatter;
+ const picker = this.getPicker();
+ if (type === 'time') {
+ const pair = value.split(':');
+ values = [formatter('hour', pair[0]), formatter('minute', pair[1])];
+ } else {
+ const date = new Date(value);
+ values = [
+ formatter('year', `${date.getFullYear()}`),
+ formatter('month', padZero(date.getMonth() + 1)),
+ ];
+ if (type === 'date') {
+ values.push(formatter('day', padZero(date.getDate())));
+ }
+ if (type === 'datetime') {
+ values.push(
+ formatter('day', padZero(date.getDate())),
+ formatter('hour', padZero(date.getHours())),
+ formatter('minute', padZero(date.getMinutes()))
+ );
+ }
+ }
+ return this.set({ innerValue: value })
+ .then(() => this.updateColumns())
+ .then(() => picker.setValues(values));
+ },
+ },
+ created() {
+ const innerValue = this.correctValue(this.data.value);
+ this.updateColumnValue(innerValue).then(() => {
+ this.$emit('input', innerValue);
+ });
+ },
+});
diff --git a/dist/datetime-picker/index.json b/dist/datetime-picker/index.json
new file mode 100644
index 0000000..a778e91
--- /dev/null
+++ b/dist/datetime-picker/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-picker": "../picker/index"
+ }
+}
diff --git a/dist/datetime-picker/index.wxml b/dist/datetime-picker/index.wxml
new file mode 100644
index 0000000..ade2202
--- /dev/null
+++ b/dist/datetime-picker/index.wxml
@@ -0,0 +1,16 @@
+
diff --git a/dist/datetime-picker/index.wxss b/dist/datetime-picker/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/dist/datetime-picker/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/dist/definitions/index.d.ts b/dist/definitions/index.d.ts
new file mode 100644
index 0000000..65e3aab
--- /dev/null
+++ b/dist/definitions/index.d.ts
@@ -0,0 +1,31 @@
+///
+import { Weapp } from './weapp';
+declare type RecordToAny = {
+ [K in keyof T]: any;
+};
+export declare type CombinedComponentInstance = Methods &
+ WechatMiniprogram.Component.TrivialInstance &
+ Weapp.FormField & {
+ data: Data & RecordToAny;
+ };
+export interface VantComponentOptions {
+ data?: Data;
+ field?: boolean;
+ classes?: string[];
+ mixins?: string[];
+ props?: Props & Weapp.PropertyOption;
+ relation?: Weapp.RelationOption & {
+ type: 'ancestor' | 'descendant';
+ name: string;
+ current: string;
+ };
+ relations?: {
+ [componentName: string]: Weapp.RelationOption;
+ };
+ methods?: Methods & Weapp.MethodOption;
+ beforeCreate?: (this: Instance) => void;
+ created?: (this: Instance) => void;
+ mounted?: (this: Instance) => void;
+ destroyed?: (this: Instance) => void;
+}
+export {};
diff --git a/dist/definitions/index.js b/dist/definitions/index.js
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/definitions/index.js
@@ -0,0 +1 @@
+export {};
diff --git a/dist/definitions/weapp.d.ts b/dist/definitions/weapp.d.ts
new file mode 100644
index 0000000..bcc203a
--- /dev/null
+++ b/dist/definitions/weapp.d.ts
@@ -0,0 +1,132 @@
+///
+export declare namespace Weapp {
+ export interface FormField {
+ data: {
+ name: string;
+ value: any;
+ };
+ }
+ interface Target {
+ id: string;
+ tagName: string;
+ dataset: {
+ [key: string]: any;
+ };
+ }
+ export interface Event {
+ /**
+ * 代表事件的类型。
+ */
+ type: string;
+ /**
+ * 页面打开到触发事件所经过的毫秒数。
+ */
+ timeStamp: number;
+ /**
+ * 触发事件的源组件。
+ */
+ target: Target;
+ /**
+ * 事件绑定的当前组件。
+ */
+ currentTarget: Target;
+ /**
+ * 额外的信息
+ */
+ detail: any;
+ }
+ interface Touch {
+ /**
+ * 触摸点的标识符
+ */
+ identifier: number;
+ /**
+ * 距离文档左上角的距离,文档的左上角为原点 ,横向为X轴,纵向为Y轴
+ */
+ pageX: number;
+ /**
+ * 距离文档左上角的距离,文档的左上角为原点 ,横向为X轴,纵向为Y轴
+ */
+ pageY: number;
+ /**
+ * 距离页面可显示区域(屏幕除去导航条)左上角距离,横向为X轴,纵向为Y轴
+ */
+ clientX: number;
+ /**
+ * 距离页面可显示区域(屏幕除去导航条)左上角距离,横向为X轴,纵向为Y轴
+ */
+ clientY: number;
+ }
+ export interface TouchEvent extends Event {
+ touches: Array;
+ changedTouches: Array;
+ }
+ /**
+ * relation定义,miniprogram-api-typings缺少this定义
+ */
+ export interface RelationOption {
+ /** 目标组件的相对关系 */
+ type: 'parent' | 'child' | 'ancestor' | 'descendant';
+ /** 关系生命周期函数,当关系被建立在页面节点树中时触发,触发时机在组件attached生命周期之后 */
+ linked?(
+ this: Instance,
+ target: WechatMiniprogram.Component.TrivialInstance
+ ): void;
+ /** 关系生命周期函数,当关系在页面节点树中发生改变时触发,触发时机在组件moved生命周期之后 */
+ linkChanged?(
+ this: Instance,
+ target: WechatMiniprogram.Component.TrivialInstance
+ ): void;
+ /** 关系生命周期函数,当关系脱离页面节点树时触发,触发时机在组件detached生命周期之后 */
+ unlinked?(
+ this: Instance,
+ target: WechatMiniprogram.Component.TrivialInstance
+ ): void;
+ /** 如果这一项被设置,则它表示关联的目标节点所应具有的behavior,所有拥有这一behavior的组件节点都会被关联 */
+ target?: string;
+ }
+ /**
+ * obverser定义,miniprogram-api-typings缺少this定义
+ */
+ type Observer = (
+ this: Instance,
+ newVal: T,
+ oldVal: T,
+ changedPath: Array
+ ) => void;
+ /**
+ * methods定义,miniprogram-api-typings缺少this定义
+ */
+ export interface MethodOption {
+ [name: string]: (this: Instance, ...args: any[]) => any;
+ }
+ export interface ComputedOption {
+ [name: string]: (this: Instance) => any;
+ }
+ type PropertyType =
+ | StringConstructor
+ | NumberConstructor
+ | BooleanConstructor
+ | ArrayConstructor
+ | ObjectConstructor
+ | FunctionConstructor
+ | null;
+ export interface PropertyOption {
+ [name: string]:
+ | PropertyType
+ | PropertyType[]
+ | {
+ /** 属性类型 */
+ type: PropertyType | PropertyType[];
+ /** 属性初始值 */
+ value?: any;
+ /** 属性值被更改时的响应函数 */
+ observer?:
+ | string
+ | Observer;
+ /** 属性的类型(可以指定多个) */
+ optionalTypes?: PropertyType[];
+ };
+ }
+ export {};
+}
diff --git a/dist/definitions/weapp.js b/dist/definitions/weapp.js
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/definitions/weapp.js
@@ -0,0 +1 @@
+export {};
diff --git a/dist/dialog/dialog.d.ts b/dist/dialog/dialog.d.ts
new file mode 100644
index 0000000..e964e88
--- /dev/null
+++ b/dist/dialog/dialog.d.ts
@@ -0,0 +1,67 @@
+///
+declare type DialogOptions = {
+ lang?: string;
+ show?: boolean;
+ title?: string;
+ width?: string | number;
+ zIndex?: number;
+ theme?: string;
+ context?:
+ | WechatMiniprogram.Page.TrivialInstance
+ | WechatMiniprogram.Component.TrivialInstance;
+ message?: string;
+ overlay?: boolean;
+ selector?: string;
+ ariaLabel?: string;
+ className?: string;
+ customStyle?: string;
+ transition?: string;
+ asyncClose?: boolean;
+ businessId?: number;
+ sessionFrom?: string;
+ overlayStyle?: string;
+ appParameter?: string;
+ messageAlign?: string;
+ sendMessageImg?: string;
+ showMessageCard?: boolean;
+ sendMessagePath?: string;
+ sendMessageTitle?: string;
+ confirmButtonText?: string;
+ cancelButtonText?: string;
+ showConfirmButton?: boolean;
+ showCancelButton?: boolean;
+ closeOnClickOverlay?: boolean;
+ confirmButtonOpenType?: string;
+};
+declare const Dialog: {
+ (options: DialogOptions): Promise<
+ WechatMiniprogram.Component.TrivialInstance
+ >;
+ alert(
+ options: DialogOptions
+ ): Promise<
+ WechatMiniprogram.Component.Instance<
+ Record,
+ Record,
+ Record,
+ Record
+ >
+ >;
+ confirm(
+ options: DialogOptions
+ ): Promise<
+ WechatMiniprogram.Component.Instance<
+ Record,
+ Record,
+ Record,
+ Record
+ >
+ >;
+ close(): void;
+ stopLoading(): void;
+ currentOptions: DialogOptions;
+ defaultOptions: DialogOptions;
+ setDefaultOptions(options: DialogOptions): void;
+ resetDefaultOptions(): void;
+};
+export default Dialog;
diff --git a/dist/dialog/dialog.js b/dist/dialog/dialog.js
new file mode 100644
index 0000000..94f1d3d
--- /dev/null
+++ b/dist/dialog/dialog.js
@@ -0,0 +1,76 @@
+let queue = [];
+const defaultOptions = {
+ show: false,
+ title: '',
+ width: null,
+ theme: 'default',
+ message: '',
+ zIndex: 100,
+ overlay: true,
+ selector: '#van-dialog',
+ className: '',
+ asyncClose: false,
+ transition: 'scale',
+ customStyle: '',
+ messageAlign: '',
+ overlayStyle: '',
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ showConfirmButton: true,
+ showCancelButton: false,
+ closeOnClickOverlay: false,
+ confirmButtonOpenType: '',
+};
+let currentOptions = Object.assign({}, defaultOptions);
+function getContext() {
+ const pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+const Dialog = (options) => {
+ options = Object.assign(Object.assign({}, currentOptions), options);
+ return new Promise((resolve, reject) => {
+ const context = options.context || getContext();
+ const dialog = context.selectComponent(options.selector);
+ delete options.context;
+ delete options.selector;
+ if (dialog) {
+ dialog.setData(
+ Object.assign({ onCancel: reject, onConfirm: resolve }, options)
+ );
+ wx.nextTick(() => {
+ dialog.setData({ show: true });
+ });
+ queue.push(dialog);
+ } else {
+ console.warn(
+ '未找到 van-dialog 节点,请确认 selector 及 context 是否正确'
+ );
+ }
+ });
+};
+Dialog.alert = (options) => Dialog(options);
+Dialog.confirm = (options) =>
+ Dialog(Object.assign({ showCancelButton: true }, options));
+Dialog.close = () => {
+ queue.forEach((dialog) => {
+ dialog.close();
+ });
+ queue = [];
+};
+Dialog.stopLoading = () => {
+ queue.forEach((dialog) => {
+ dialog.stopLoading();
+ });
+};
+Dialog.currentOptions = currentOptions;
+Dialog.defaultOptions = defaultOptions;
+Dialog.setDefaultOptions = (options) => {
+ currentOptions = Object.assign(Object.assign({}, currentOptions), options);
+ Dialog.currentOptions = currentOptions;
+};
+Dialog.resetDefaultOptions = () => {
+ currentOptions = Object.assign({}, defaultOptions);
+ Dialog.currentOptions = currentOptions;
+};
+Dialog.resetDefaultOptions();
+export default Dialog;
diff --git a/dist/dialog/index.d.ts b/dist/dialog/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/dialog/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/dialog/index.js b/dist/dialog/index.js
new file mode 100644
index 0000000..5aa7f8f
--- /dev/null
+++ b/dist/dialog/index.js
@@ -0,0 +1,116 @@
+import { VantComponent } from '../common/component';
+import { button } from '../mixins/button';
+import { openType } from '../mixins/open-type';
+import { GRAY, RED } from '../common/color';
+VantComponent({
+ mixins: [button, openType],
+ props: {
+ show: {
+ type: Boolean,
+ observer(show) {
+ !show && this.stopLoading();
+ },
+ },
+ title: String,
+ message: String,
+ theme: {
+ type: String,
+ value: 'default',
+ },
+ useSlot: Boolean,
+ className: String,
+ customStyle: String,
+ asyncClose: Boolean,
+ messageAlign: String,
+ overlayStyle: String,
+ useTitleSlot: Boolean,
+ showCancelButton: Boolean,
+ closeOnClickOverlay: Boolean,
+ confirmButtonOpenType: String,
+ width: null,
+ zIndex: {
+ type: Number,
+ value: 2000,
+ },
+ confirmButtonText: {
+ type: String,
+ value: '确认',
+ },
+ cancelButtonText: {
+ type: String,
+ value: '取消',
+ },
+ confirmButtonColor: {
+ type: String,
+ value: RED,
+ },
+ cancelButtonColor: {
+ type: String,
+ value: GRAY,
+ },
+ showConfirmButton: {
+ type: Boolean,
+ value: true,
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ transition: {
+ type: String,
+ value: 'scale',
+ },
+ },
+ data: {
+ loading: {
+ confirm: false,
+ cancel: false,
+ },
+ },
+ methods: {
+ onConfirm() {
+ this.handleAction('confirm');
+ },
+ onCancel() {
+ this.handleAction('cancel');
+ },
+ onClickOverlay() {
+ this.onClose('overlay');
+ },
+ handleAction(action) {
+ if (this.data.asyncClose) {
+ this.setData({
+ [`loading.${action}`]: true,
+ });
+ }
+ this.onClose(action);
+ },
+ close() {
+ this.setData({
+ show: false,
+ });
+ },
+ stopLoading() {
+ this.setData({
+ loading: {
+ confirm: false,
+ cancel: false,
+ },
+ });
+ },
+ onClose(action) {
+ if (!this.data.asyncClose) {
+ this.close();
+ }
+ this.$emit('close', action);
+ // 把 dialog 实例传递出去,可以通过 stopLoading() 在外部关闭按钮的 loading
+ this.$emit(action, { dialog: this });
+ const callback = this.data[
+ action === 'confirm' ? 'onConfirm' : 'onCancel'
+ ];
+ if (callback) {
+ callback(this);
+ }
+ },
+ },
+});
diff --git a/dist/dialog/index.json b/dist/dialog/index.json
new file mode 100644
index 0000000..1b87cc8
--- /dev/null
+++ b/dist/dialog/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "van-button": "../button/index",
+ "van-goods-action": "../goods-action//index",
+ "van-goods-action-button": "../goods-action-button/index"
+ }
+}
diff --git a/dist/dialog/index.wxml b/dist/dialog/index.wxml
new file mode 100644
index 0000000..fd13bc9
--- /dev/null
+++ b/dist/dialog/index.wxml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+ {{ message }}
+
+
+
+
+ {{ cancelButtonText }}
+
+
+ {{ confirmButtonText }}
+
+
+
+
+
diff --git a/dist/dialog/index.wxss b/dist/dialog/index.wxss
new file mode 100644
index 0000000..c6bac95
--- /dev/null
+++ b/dist/dialog/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dialog{top:45%!important;overflow:hidden;width:320px;width:var(--dialog-width,320px);font-size:16px;font-size:var(--dialog-font-size,16px);border-radius:16px;border-radius:var(--dialog-border-radius,16px);background-color:#fff;background-color:var(--dialog-background-color,#fff)}@media (max-width:321px){.van-dialog{width:90%;width:var(--dialog-small-screen-width,90%)}}.van-dialog__header{text-align:center;padding-top:24px;padding-top:var(--dialog-header-padding-top,24px);font-weight:500;font-weight:var(--dialog-header-font-weight,500);line-height:24px;line-height:var(--dialog-header-line-height,24px)}.van-dialog__header--isolated{padding:24px 0;padding:var(--dialog-header-isolated-padding,24px 0)}.van-dialog__message{overflow-y:auto;text-align:center;-webkit-overflow-scrolling:touch;font-size:14px;font-size:var(--dialog-message-font-size,14px);line-height:20px;line-height:var(--dialog-message-line-height,20px);max-height:60vh;max-height:var(--dialog-message-max-height,60vh);padding:24px;padding:var(--dialog-message-padding,24px)}.van-dialog__message-text{word-wrap:break-word}.van-dialog__message--hasTitle{padding-top:8px;padding-top:var(--dialog-has-title-message-padding-top,8px);color:#646566;color:var(--dialog-has-title-message-text-color,#646566)}.van-dialog__message--round-button{padding-bottom:16px;color:#323233}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__footer{display:-webkit-flex;display:flex}.van-dialog__footer--round-button{position:relative!important;padding:8px 24px 16px!important}.van-dialog__button{-webkit-flex:1;flex:1}.van-dialog__cancel,.van-dialog__confirm{border:0!important}.van-dialog-bounce-enter{-webkit-transform:translate3d(-50%,-50%,0) scale(.7);transform:translate3d(-50%,-50%,0) scale(.7);opacity:0}.van-dialog-bounce-leave-active{-webkit-transform:translate3d(-50%,-50%,0) scale(.9);transform:translate3d(-50%,-50%,0) scale(.9);opacity:0}
\ No newline at end of file
diff --git a/dist/divider/index.d.ts b/dist/divider/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/divider/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/divider/index.js b/dist/divider/index.js
new file mode 100644
index 0000000..96716e6
--- /dev/null
+++ b/dist/divider/index.js
@@ -0,0 +1,33 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ dashed: {
+ type: Boolean,
+ value: false,
+ },
+ hairline: {
+ type: Boolean,
+ value: false,
+ },
+ contentPosition: {
+ type: String,
+ value: '',
+ },
+ fontSize: {
+ type: Number,
+ value: '',
+ },
+ borderColor: {
+ type: String,
+ value: '',
+ },
+ textColor: {
+ type: String,
+ value: '',
+ },
+ customStyle: {
+ type: String,
+ value: '',
+ },
+ },
+});
diff --git a/dist/divider/index.json b/dist/divider/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/dist/divider/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/dist/divider/index.wxml b/dist/divider/index.wxml
new file mode 100644
index 0000000..412e73f
--- /dev/null
+++ b/dist/divider/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/dist/divider/index.wxss b/dist/divider/index.wxss
new file mode 100644
index 0000000..c055e3a
--- /dev/null
+++ b/dist/divider/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-divider{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;margin:16px 0;margin:var(--divider-margin,16px 0);color:#969799;color:var(--divider-text-color,#969799);font-size:14px;font-size:var(--divider-font-size,14px);line-height:24px;line-height:var(--divider-line-height,24px);border:0 solid #ebedf0;border-color:var(--divider-border-color,#ebedf0)}.van-divider:after,.van-divider:before{display:block;-webkit-flex:1;flex:1;box-sizing:border-box;height:1px;border-color:inherit;border-style:inherit;border-width:1px 0 0}.van-divider:before{content:""}.van-divider--hairline:after,.van-divider--hairline:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}.van-divider--dashed{border-style:dashed}.van-divider--center:before,.van-divider--left:before,.van-divider--right:before{margin-right:16px;margin-right:var(--divider-content-padding,16px)}.van-divider--center:after,.van-divider--left:after,.van-divider--right:after{content:"";margin-left:16px;margin-left:var(--divider-content-padding,16px)}.van-divider--left:before{max-width:10%;max-width:var(--divider-content-left-width,10%)}.van-divider--right:after{max-width:10%;max-width:var(--divider-content-right-width,10%)}
\ No newline at end of file
diff --git a/dist/dropdown-item/index.d.ts b/dist/dropdown-item/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/dropdown-item/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/dropdown-item/index.js b/dist/dropdown-item/index.js
new file mode 100644
index 0000000..46588d0
--- /dev/null
+++ b/dist/dropdown-item/index.js
@@ -0,0 +1,109 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ field: true,
+ relation: {
+ name: 'dropdown-menu',
+ type: 'ancestor',
+ current: 'dropdown-item',
+ linked() {
+ this.updateDataFromParent();
+ },
+ },
+ props: {
+ value: {
+ type: null,
+ observer: 'rerender',
+ },
+ title: {
+ type: String,
+ observer: 'rerender',
+ },
+ disabled: Boolean,
+ titleClass: {
+ type: String,
+ observer: 'rerender',
+ },
+ options: {
+ type: Array,
+ value: [],
+ observer: 'rerender',
+ },
+ popupStyle: String,
+ },
+ data: {
+ transition: true,
+ showPopup: false,
+ showWrapper: false,
+ displayTitle: '',
+ },
+ methods: {
+ rerender() {
+ wx.nextTick(() => {
+ this.parent && this.parent.updateItemListData();
+ });
+ },
+ updateDataFromParent() {
+ if (this.parent) {
+ const {
+ overlay,
+ duration,
+ activeColor,
+ closeOnClickOverlay,
+ direction,
+ } = this.parent.data;
+ this.setData({
+ overlay,
+ duration,
+ activeColor,
+ closeOnClickOverlay,
+ direction,
+ });
+ }
+ },
+ onOpen() {
+ this.$emit('open');
+ },
+ onOpened() {
+ this.$emit('opened');
+ },
+ onClose() {
+ this.$emit('close');
+ },
+ onClosed() {
+ this.$emit('closed');
+ this.setData({ showWrapper: false });
+ },
+ onOptionTap(event) {
+ const { option } = event.currentTarget.dataset;
+ const { value } = option;
+ const shouldEmitChange = this.data.value !== value;
+ this.setData({ showPopup: false, value });
+ this.$emit('close');
+ this.rerender();
+ if (shouldEmitChange) {
+ this.$emit('change', value);
+ }
+ },
+ toggle(show, options = {}) {
+ const { showPopup } = this.data;
+ if (typeof show !== 'boolean') {
+ show = !showPopup;
+ }
+ if (show === showPopup) {
+ return;
+ }
+ this.setData({
+ transition: !options.immediate,
+ showPopup: show,
+ });
+ if (show) {
+ this.parent.getChildWrapperStyle().then((wrapperStyle) => {
+ this.setData({ wrapperStyle, showWrapper: true });
+ this.rerender();
+ });
+ } else {
+ this.rerender();
+ }
+ },
+ },
+});
diff --git a/dist/dropdown-item/index.json b/dist/dropdown-item/index.json
new file mode 100644
index 0000000..88d5409
--- /dev/null
+++ b/dist/dropdown-item/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "van-cell": "../cell/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/dropdown-item/index.wxml b/dist/dropdown-item/index.wxml
new file mode 100644
index 0000000..dd75292
--- /dev/null
+++ b/dist/dropdown-item/index.wxml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
+
+
+
diff --git a/dist/dropdown-item/index.wxss b/dist/dropdown-item/index.wxss
new file mode 100644
index 0000000..e06c287
--- /dev/null
+++ b/dist/dropdown-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dropdown-item{position:fixed;right:0;left:0;overflow:hidden}.van-dropdown-item__option{text-align:left}.van-dropdown-item__option--active .van-dropdown-item__icon,.van-dropdown-item__option--active .van-dropdown-item__title{color:#1989fa;color:var(--dropdown-menu-option-active-color,#1989fa)}.van-dropdown-item--up{top:0}.van-dropdown-item--down{bottom:0}.van-dropdown-item__icon{display:block;line-height:inherit}
\ No newline at end of file
diff --git a/dist/dropdown-menu/index.d.ts b/dist/dropdown-menu/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/dropdown-menu/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/dropdown-menu/index.js b/dist/dropdown-menu/index.js
new file mode 100644
index 0000000..bd78653
--- /dev/null
+++ b/dist/dropdown-menu/index.js
@@ -0,0 +1,119 @@
+import { VantComponent } from '../common/component';
+import { addUnit } from '../common/utils';
+let ARRAY = [];
+VantComponent({
+ field: true,
+ relation: {
+ name: 'dropdown-item',
+ type: 'descendant',
+ current: 'dropdown-menu',
+ linked() {
+ this.updateItemListData();
+ },
+ unlinked() {
+ this.updateItemListData();
+ },
+ },
+ props: {
+ activeColor: {
+ type: String,
+ observer: 'updateChildrenData',
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildrenData',
+ },
+ zIndex: {
+ type: Number,
+ value: 10,
+ },
+ duration: {
+ type: Number,
+ value: 200,
+ observer: 'updateChildrenData',
+ },
+ direction: {
+ type: String,
+ value: 'down',
+ observer: 'updateChildrenData',
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildrenData',
+ },
+ closeOnClickOutside: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ itemListData: [],
+ },
+ beforeCreate() {
+ const { windowHeight } = wx.getSystemInfoSync();
+ this.windowHeight = windowHeight;
+ ARRAY.push(this);
+ },
+ destroyed() {
+ ARRAY = ARRAY.filter((item) => item !== this);
+ },
+ methods: {
+ updateItemListData() {
+ this.setData({
+ itemListData: this.children.map((child) => child.data),
+ });
+ },
+ updateChildrenData() {
+ this.children.forEach((child) => {
+ child.updateDataFromParent();
+ });
+ },
+ toggleItem(active) {
+ this.children.forEach((item, index) => {
+ const { showPopup } = item.data;
+ if (index === active) {
+ item.toggle();
+ } else if (showPopup) {
+ item.toggle(false, { immediate: true });
+ }
+ });
+ },
+ close() {
+ this.children.forEach((child) => {
+ child.toggle(false, { immediate: true });
+ });
+ },
+ getChildWrapperStyle() {
+ const { zIndex, direction } = this.data;
+ return this.getRect('.van-dropdown-menu').then((rect) => {
+ const { top = 0, bottom = 0 } = rect;
+ const offset = direction === 'down' ? bottom : this.windowHeight - top;
+ let wrapperStyle = `z-index: ${zIndex};`;
+ if (direction === 'down') {
+ wrapperStyle += `top: ${addUnit(offset)};`;
+ } else {
+ wrapperStyle += `bottom: ${addUnit(offset)};`;
+ }
+ return wrapperStyle;
+ });
+ },
+ onTitleTap(event) {
+ const { index } = event.currentTarget.dataset;
+ const child = this.children[index];
+ if (!child.data.disabled) {
+ ARRAY.forEach((menuItem) => {
+ if (
+ menuItem &&
+ menuItem.data.closeOnClickOutside &&
+ menuItem !== this
+ ) {
+ menuItem.close();
+ }
+ });
+ this.toggleItem(index);
+ }
+ },
+ },
+});
diff --git a/dist/dropdown-menu/index.json b/dist/dropdown-menu/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/dropdown-menu/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/dropdown-menu/index.wxml b/dist/dropdown-menu/index.wxml
new file mode 100644
index 0000000..037ac3b
--- /dev/null
+++ b/dist/dropdown-menu/index.wxml
@@ -0,0 +1,23 @@
+
+
+
+
diff --git a/dist/dropdown-menu/index.wxs b/dist/dropdown-menu/index.wxs
new file mode 100644
index 0000000..6538854
--- /dev/null
+++ b/dist/dropdown-menu/index.wxs
@@ -0,0 +1,16 @@
+/* eslint-disable */
+function displayTitle(item) {
+ if (item.title) {
+ return item.title;
+ }
+
+ var match = item.options.filter(function(option) {
+ return option.value === item.value;
+ });
+ var displayTitle = match.length ? match[0].text : '';
+ return displayTitle;
+}
+
+module.exports = {
+ displayTitle: displayTitle
+};
diff --git a/dist/dropdown-menu/index.wxss b/dist/dropdown-menu/index.wxss
new file mode 100644
index 0000000..43efd77
--- /dev/null
+++ b/dist/dropdown-menu/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dropdown-menu{display:-webkit-flex;display:flex;-webkit-user-select:none;user-select:none;height:50px;height:var(--dropdown-menu-height,50px);background-color:#fff;background-color:var(--dropdown-menu-background-color,#fff)}.van-dropdown-menu__item{display:-webkit-flex;display:flex;-webkit-flex:1;flex:1;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;min-width:0}.van-dropdown-menu__item:active{opacity:.7}.van-dropdown-menu__item--disabled:active{opacity:1}.van-dropdown-menu__item--disabled .van-dropdown-menu__title{color:#969799;color:var(--dropdown-menu-title-disabled-text-color,#969799)}.van-dropdown-menu__title{position:relative;box-sizing:border-box;max-width:100%;padding:0 8px;padding:var(--dropdown-menu-title-padding,0 8px);color:#323233;color:var(--dropdown-menu-title-text-color,#323233);font-size:15px;font-size:var(--dropdown-menu-title-font-size,15px);line-height:18px;line-height:var(--dropdown-menu-title-line-height,18px)}.van-dropdown-menu__title:after{position:absolute;top:50%;right:-4px;margin-top:-5px;border-color:transparent transparent currentcolor currentcolor;border-style:solid;border-width:3px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:.8;content:""}.van-dropdown-menu__title--active{color:#1989fa;color:var(--dropdown-menu-title-active-text-color,#1989fa)}.van-dropdown-menu__title--down:after{margin-top:-1px;-webkit-transform:rotate(135deg);transform:rotate(135deg)}
\ No newline at end of file
diff --git a/dist/empty/index.d.ts b/dist/empty/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/empty/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/empty/index.js b/dist/empty/index.js
new file mode 100644
index 0000000..0fee8a4
--- /dev/null
+++ b/dist/empty/index.js
@@ -0,0 +1,20 @@
+import { VantComponent } from '../common/component';
+const PRESETS = ['error', 'search', 'default', 'network'];
+VantComponent({
+ props: {
+ description: String,
+ image: {
+ type: String,
+ value: 'default',
+ },
+ },
+ created() {
+ if (PRESETS.indexOf(this.data.image) !== -1) {
+ this.setData({
+ imageUrl: `https://img.yzcdn.cn/vant/empty-image-${this.data.image}.png`,
+ });
+ } else {
+ this.setData({ imageUrl: this.data.image });
+ }
+ },
+});
diff --git a/dist/empty/index.json b/dist/empty/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/dist/empty/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/dist/empty/index.wxml b/dist/empty/index.wxml
new file mode 100644
index 0000000..b6a2cb3
--- /dev/null
+++ b/dist/empty/index.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ description }}
+
+
+
+
+
+
diff --git a/dist/empty/index.wxss b/dist/empty/index.wxss
new file mode 100644
index 0000000..aeb9d4b
--- /dev/null
+++ b/dist/empty/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-empty{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;box-sizing:border-box;padding:32px 0}.van-empty__image{width:160px;height:160px}.van-empty__image:empty{display:none}.van-empty__image__img{width:100%;height:100%}.van-empty__image:not(:empty)+.van-empty__image{display:none}.van-empty__description{margin-top:16px;padding:0 60px;color:#969799;font-size:14px;line-height:20px}.van-empty__description:empty,.van-empty__description:not(:empty)+.van-empty__description{display:none}.van-empty__bottom{margin-top:24px}
\ No newline at end of file
diff --git a/dist/field/index.d.ts b/dist/field/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/field/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/field/index.js b/dist/field/index.js
new file mode 100644
index 0000000..f3ae1f6
--- /dev/null
+++ b/dist/field/index.js
@@ -0,0 +1,123 @@
+import { VantComponent } from '../common/component';
+import { commonProps, inputProps, textareaProps } from './props';
+VantComponent({
+ field: true,
+ classes: ['input-class', 'right-icon-class', 'label-class'],
+ props: Object.assign(
+ Object.assign(
+ Object.assign(Object.assign({}, commonProps), inputProps),
+ textareaProps
+ ),
+ {
+ size: String,
+ icon: String,
+ label: String,
+ error: Boolean,
+ center: Boolean,
+ isLink: Boolean,
+ leftIcon: String,
+ rightIcon: String,
+ autosize: [Boolean, Object],
+ required: Boolean,
+ iconClass: String,
+ clickable: Boolean,
+ inputAlign: String,
+ customStyle: String,
+ errorMessage: String,
+ arrowDirection: String,
+ showWordLimit: Boolean,
+ errorMessageAlign: String,
+ readonly: {
+ type: Boolean,
+ observer: 'setShowClear',
+ },
+ clearable: {
+ type: Boolean,
+ observer: 'setShowClear',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ titleWidth: {
+ type: String,
+ value: '6.2em',
+ },
+ }
+ ),
+ data: {
+ focused: false,
+ innerValue: '',
+ showClear: false,
+ },
+ created() {
+ this.value = this.data.value;
+ this.setData({ innerValue: this.value });
+ },
+ methods: {
+ onInput(event) {
+ const { value = '' } = event.detail || {};
+ this.value = value;
+ this.setShowClear();
+ this.emitChange();
+ this.$emit('inp', event.detail);
+ },
+ onFocus(event) {
+ this.focused = true;
+ this.setShowClear();
+ this.$emit('focus', event.detail);
+ },
+ onBlur(event) {
+ this.focused = false;
+ this.setShowClear();
+ this.$emit('blur', event.detail);
+ },
+ onClickIcon() {
+ this.$emit('click-icon');
+ },
+ onClear() {
+ this.setData({ innerValue: '' });
+ this.value = '';
+ this.setShowClear();
+ wx.nextTick(() => {
+ this.emitChange();
+ this.$emit('clear', '');
+ });
+ },
+ onConfirm(event) {
+ const { value = '' } = event.detail || {};
+ this.value = value;
+ this.setShowClear();
+ this.$emit('confirm', value);
+ },
+ setValue(value) {
+ this.value = value;
+ this.setShowClear();
+ if (value === '') {
+ this.setData({ innerValue: '' });
+ }
+ this.emitChange();
+ },
+ onLineChange(event) {
+ this.$emit('linechange', event.detail);
+ },
+ onKeyboardHeightChange(event) {
+ this.$emit('keyboardheightchange', event.detail);
+ },
+ emitChange() {
+ this.setData({ value: this.value });
+ wx.nextTick(() => {
+ this.$emit('input', this.value);
+ this.$emit('change', this.value);
+ });
+ },
+ setShowClear() {
+ const { clearable, readonly } = this.data;
+ const { focused, value } = this;
+ this.setData({
+ showClear: !!clearable && !!focused && !!value && !readonly,
+ });
+ },
+ noop() {},
+ },
+});
diff --git a/dist/field/index.json b/dist/field/index.json
new file mode 100644
index 0000000..5906c50
--- /dev/null
+++ b/dist/field/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/field/index.wxml b/dist/field/index.wxml
new file mode 100644
index 0000000..ca82cae
--- /dev/null
+++ b/dist/field/index.wxml
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ value.length }}/{{ maxlength }}
+
+
+ {{ errorMessage }}
+
+
diff --git a/dist/field/index.wxs b/dist/field/index.wxs
new file mode 100644
index 0000000..639ae2f
--- /dev/null
+++ b/dist/field/index.wxs
@@ -0,0 +1,21 @@
+/* eslint-disable */
+var utils = require('../wxs/utils.wxs');
+
+function inputStyle(autosize) {
+ if (autosize && autosize.constructor === 'Object') {
+ var style = '';
+ if (autosize.minHeight) {
+ style += 'min-height:' + utils.addUnit(autosize.minHeight) + ';';
+ }
+ if (autosize.maxHeight) {
+ style += 'max-height:' + utils.addUnit(autosize.maxHeight) + ';';
+ }
+ return style;
+ }
+
+ return '';
+}
+
+module.exports = {
+ inputStyle: inputStyle
+};
diff --git a/dist/field/index.wxss b/dist/field/index.wxss
new file mode 100644
index 0000000..dbbc252
--- /dev/null
+++ b/dist/field/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-field{--cell-icon-size:16px;--cell-icon-size:var(--field-icon-size,16px)}.van-field__label{color:#646566;color:var(--field-label-color,#646566)}.van-field__label--disabled{color:#c8c9cc;color:var(--field-disabled-text-color,#c8c9cc)}.van-field__body{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}.van-field__body--textarea{padding:3.6px 0;line-height:1.2em}.van-field__body--textarea,.van-field__input{box-sizing:border-box;min-height:24px;min-height:var(--cell-line-height,24px)}.van-field__input{position:relative;display:block;width:100%;margin:0;padding:0;line-height:inherit;text-align:left;background-color:initial;border:0;resize:none;color:#323233;color:var(--field-input-text-color,#323233);height:24px;height:var(--cell-line-height,24px)}.van-field__input--textarea{height:18px;height:var(--field-text-area-min-height,18px);min-height:18px;min-height:var(--field-text-area-min-height,18px)}.van-field__input--error{color:#ee0a24;color:var(--field-input-error-text-color,#ee0a24)}.van-field__input--disabled{background-color:initial;opacity:1;color:#c8c9cc;color:var(--field-input-disabled-text-color,#c8c9cc)}.van-field__input--center{text-align:center}.van-field__input--right{text-align:right}.van-field__placeholder{position:absolute;top:0;right:0;left:0;pointer-events:none;color:#c8c9cc;color:var(--field-placeholder-text-color,#c8c9cc)}.van-field__placeholder--error{color:#ee0a24;color:var(--field-error-message-color,#ee0a24)}.van-field__icon-root{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;min-height:24px;min-height:var(--cell-line-height,24px)}.van-field__clear-root,.van-field__icon-container{line-height:inherit;vertical-align:middle;padding:0 8px;padding:0 var(--padding-xs,8px);margin-right:-8px;margin-right:-var(--padding-xs,8px)}.van-field__button,.van-field__clear-root,.van-field__icon-container{-webkit-flex-shrink:0;flex-shrink:0}.van-field__clear-root{font-size:16px;font-size:var(--field-clear-icon-size,16px);color:#c8c9cc;color:var(--field-clear-icon-color,#c8c9cc)}.van-field__icon-container{font-size:16px;font-size:var(--field-icon-size,16px);color:#969799;color:var(--field-icon-container-color,#969799)}.van-field__icon-container:empty{display:none}.van-field__button{padding-left:8px;padding-left:var(--padding-xs,8px)}.van-field__button:empty{display:none}.van-field__error-message{text-align:left;font-size:12px;font-size:var(--field-error-message-text-font-size,12px);color:#ee0a24;color:var(--field-error-message-color,#ee0a24)}.van-field__error-message--center{text-align:center}.van-field__error-message--right{text-align:right}.van-field__word-limit{text-align:right;margin-top:4px;margin-top:var(--padding-base,4px);color:#646566;color:var(--field-word-limit-color,#646566);font-size:12px;font-size:var(--field-word-limit-font-size,12px);line-height:16px;line-height:var(--field-word-limit-line-height,16px)}.van-field__word-num{display:inline}.van-field__word-num--full{color:#ee0a24;color:var(--field-word-num-full-color,#ee0a24)}
\ No newline at end of file
diff --git a/dist/field/props.d.ts b/dist/field/props.d.ts
new file mode 100644
index 0000000..db83bca
--- /dev/null
+++ b/dist/field/props.d.ts
@@ -0,0 +1,58 @@
+export declare const commonProps: {
+ value: {
+ type: StringConstructor;
+ observer(value: string): void;
+ };
+ placeholder: StringConstructor;
+ placeholderStyle: StringConstructor;
+ placeholderClass: StringConstructor;
+ disabled: BooleanConstructor;
+ maxlength: {
+ type: NumberConstructor;
+ value: number;
+ };
+ cursorSpacing: {
+ type: NumberConstructor;
+ value: number;
+ };
+ autoFocus: BooleanConstructor;
+ focus: BooleanConstructor;
+ cursor: {
+ type: NumberConstructor;
+ value: number;
+ };
+ selectionStart: {
+ type: NumberConstructor;
+ value: number;
+ };
+ selectionEnd: {
+ type: NumberConstructor;
+ value: number;
+ };
+ adjustPosition: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+ holdKeyboard: BooleanConstructor;
+};
+export declare const inputProps: {
+ type: {
+ type: StringConstructor;
+ value: string;
+ };
+ password: BooleanConstructor;
+ confirmType: StringConstructor;
+ confirmHold: BooleanConstructor;
+};
+export declare const textareaProps: {
+ autoHeight: BooleanConstructor;
+ fixed: BooleanConstructor;
+ showConfirmBar: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+ disableDefaultPadding: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+};
diff --git a/dist/field/props.js b/dist/field/props.js
new file mode 100644
index 0000000..218749f
--- /dev/null
+++ b/dist/field/props.js
@@ -0,0 +1,63 @@
+export const commonProps = {
+ value: {
+ type: String,
+ observer(value) {
+ if (value !== this.value) {
+ this.setData({ innerValue: value });
+ this.value = value;
+ }
+ },
+ },
+ placeholder: String,
+ placeholderStyle: String,
+ placeholderClass: String,
+ disabled: Boolean,
+ maxlength: {
+ type: Number,
+ value: -1,
+ },
+ cursorSpacing: {
+ type: Number,
+ value: 50,
+ },
+ autoFocus: Boolean,
+ focus: Boolean,
+ cursor: {
+ type: Number,
+ value: -1,
+ },
+ selectionStart: {
+ type: Number,
+ value: -1,
+ },
+ selectionEnd: {
+ type: Number,
+ value: -1,
+ },
+ adjustPosition: {
+ type: Boolean,
+ value: true,
+ },
+ holdKeyboard: Boolean,
+};
+export const inputProps = {
+ type: {
+ type: String,
+ value: 'text',
+ },
+ password: Boolean,
+ confirmType: String,
+ confirmHold: Boolean,
+};
+export const textareaProps = {
+ autoHeight: Boolean,
+ fixed: Boolean,
+ showConfirmBar: {
+ type: Boolean,
+ value: true,
+ },
+ disableDefaultPadding: {
+ type: Boolean,
+ value: true,
+ },
+};
diff --git a/dist/goods-action-button/index.d.ts b/dist/goods-action-button/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/goods-action-button/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/goods-action-button/index.js b/dist/goods-action-button/index.js
new file mode 100644
index 0000000..61d3bb3
--- /dev/null
+++ b/dist/goods-action-button/index.js
@@ -0,0 +1,41 @@
+import { VantComponent } from '../common/component';
+import { link } from '../mixins/link';
+import { button } from '../mixins/button';
+import { openType } from '../mixins/open-type';
+VantComponent({
+ mixins: [link, button, openType],
+ relation: {
+ type: 'ancestor',
+ name: 'goods-action',
+ current: 'goods-action-button',
+ },
+ props: {
+ text: String,
+ color: String,
+ loading: Boolean,
+ disabled: Boolean,
+ plain: Boolean,
+ type: {
+ type: String,
+ value: 'danger',
+ },
+ },
+ methods: {
+ onClick(event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ updateStyle() {
+ if (this.parent == null) {
+ return;
+ }
+ const { children = [] } = this.parent;
+ const { length } = children;
+ const index = children.indexOf(this);
+ this.setData({
+ isFirst: index === 0,
+ isLast: index === length - 1,
+ });
+ },
+ },
+});
diff --git a/dist/goods-action-button/index.json b/dist/goods-action-button/index.json
new file mode 100644
index 0000000..b567686
--- /dev/null
+++ b/dist/goods-action-button/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../button/index"
+ }
+}
diff --git a/dist/goods-action-button/index.wxml b/dist/goods-action-button/index.wxml
new file mode 100644
index 0000000..3912ced
--- /dev/null
+++ b/dist/goods-action-button/index.wxml
@@ -0,0 +1,30 @@
+
+
+ {{ text }}
+
+
diff --git a/dist/goods-action-button/index.wxss b/dist/goods-action-button/index.wxss
new file mode 100644
index 0000000..77d16c6
--- /dev/null
+++ b/dist/goods-action-button/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{-webkit-flex:1;flex:1}.van-goods-action-button{--button-warning-background-color:linear-gradient(90deg,#ffd01e,#ff8917);--button-warning-background-color:var(--goods-action-button-warning-color,linear-gradient(90deg,#ffd01e,#ff8917));--button-danger-background-color:linear-gradient(90deg,#ff6034,#ee0a24);--button-danger-background-color:var(--goods-action-button-danger-color,linear-gradient(90deg,#ff6034,#ee0a24));--button-default-height:40px;--button-default-height:var(--goods-action-button-height,40px);--button-line-height:20px;--button-line-height:var(--goods-action-button-line-height,20px);--button-plain-background-color:#fff;--button-plain-background-color:var(--goods-action-button-plain-color,#fff);display:block;--button-border-width:0}.van-goods-action-button--first{margin-left:5px;--button-border-radius:20px 0 0 20px;--button-border-radius:var(--goods-action-button-border-radius,20px) 0 0 var(--goods-action-button-border-radius,20px)}.van-goods-action-button--last{margin-right:5px;--button-border-radius:0 20px 20px 0;--button-border-radius:0 var(--goods-action-button-border-radius,20px) var(--goods-action-button-border-radius,20px) 0}.van-goods-action-button--first.van-goods-action-button--last{--button-border-radius:20px;--button-border-radius:var(--goods-action-button-border-radius,20px)}.van-goods-action-button--plain{--button-border-width:1px}.van-goods-action-button__inner{width:100%;font-weight:500!important;font-weight:var(--font-weight-bold,500)!important}@media (max-width:321px){.van-goods-action-button{font-size:13px}}
\ No newline at end of file
diff --git a/dist/goods-action-icon/index.d.ts b/dist/goods-action-icon/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/goods-action-icon/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/goods-action-icon/index.js b/dist/goods-action-icon/index.js
new file mode 100644
index 0000000..faf0bd4
--- /dev/null
+++ b/dist/goods-action-icon/index.js
@@ -0,0 +1,22 @@
+import { VantComponent } from '../common/component';
+import { link } from '../mixins/link';
+import { button } from '../mixins/button';
+import { openType } from '../mixins/open-type';
+VantComponent({
+ classes: ['icon-class', 'text-class'],
+ mixins: [link, button, openType],
+ props: {
+ text: String,
+ dot: Boolean,
+ info: String,
+ icon: String,
+ disabled: Boolean,
+ loading: Boolean,
+ },
+ methods: {
+ onClick(event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ },
+});
diff --git a/dist/goods-action-icon/index.json b/dist/goods-action-icon/index.json
new file mode 100644
index 0000000..93bfe8a
--- /dev/null
+++ b/dist/goods-action-icon/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-button": "../button/index"
+ }
+}
diff --git a/dist/goods-action-icon/index.wxml b/dist/goods-action-icon/index.wxml
new file mode 100644
index 0000000..1983cae
--- /dev/null
+++ b/dist/goods-action-icon/index.wxml
@@ -0,0 +1,35 @@
+
+
+
+ {{ text }}
+
diff --git a/dist/goods-action-icon/index.wxss b/dist/goods-action-icon/index.wxss
new file mode 100644
index 0000000..eeef191
--- /dev/null
+++ b/dist/goods-action-icon/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-goods-action-icon{display:-webkit-flex!important;display:flex!important;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center!important;justify-content:center!important;line-height:1!important;border:none!important;font-size:10px!important;font-size:var(--goods-action-icon-font-size,10px)!important;color:#646566!important;color:var(--goods-action-icon-text-color,#646566)!important;min-width:48px;min-width:var(--goods-action-icon-width,48px);height:50px!important;height:var(--goods-action-icon-height,50px)!important}.van-goods-action-icon__icon{display:-webkit-flex;display:flex;margin:0 auto 5px;color:#323233;color:var(--goods-action-icon-color,#323233);font-size:18px;font-size:var(--goods-action-icon-size,18px)}
\ No newline at end of file
diff --git a/dist/goods-action/index.d.ts b/dist/goods-action/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/goods-action/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/goods-action/index.js b/dist/goods-action/index.js
new file mode 100644
index 0000000..f572326
--- /dev/null
+++ b/dist/goods-action/index.js
@@ -0,0 +1,32 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ relation: {
+ type: 'descendant',
+ name: 'goods-action-button',
+ current: 'goods-action',
+ linked() {
+ this.updateStyle();
+ },
+ unlinked() {
+ this.updateStyle();
+ },
+ linkChanged() {
+ this.updateStyle();
+ },
+ },
+ props: {
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ updateStyle() {
+ wx.nextTick(() => {
+ this.children.forEach((child) => {
+ child.updateStyle();
+ });
+ });
+ },
+ },
+});
diff --git a/dist/goods-action/index.json b/dist/goods-action/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/goods-action/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/goods-action/index.wxml b/dist/goods-action/index.wxml
new file mode 100644
index 0000000..569450c
--- /dev/null
+++ b/dist/goods-action/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/dist/goods-action/index.wxss b/dist/goods-action/index.wxss
new file mode 100644
index 0000000..f03c6e7
--- /dev/null
+++ b/dist/goods-action/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-goods-action{position:fixed;right:0;bottom:0;left:0;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;height:50px;height:var(--goods-action-height,50px);background-color:#fff;background-color:var(--goods-action-background-color,#fff)}.van-goods-action--safe{padding-bottom:env(safe-area-inset-bottom)}
\ No newline at end of file
diff --git a/dist/grid-item/index.d.ts b/dist/grid-item/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/grid-item/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/grid-item/index.js b/dist/grid-item/index.js
new file mode 100644
index 0000000..eede827
--- /dev/null
+++ b/dist/grid-item/index.js
@@ -0,0 +1,83 @@
+import { link } from '../mixins/link';
+import { VantComponent } from '../common/component';
+import { addUnit } from '../common/utils';
+VantComponent({
+ relation: {
+ name: 'grid',
+ type: 'ancestor',
+ current: 'grid-item',
+ },
+ classes: ['content-class', 'icon-class', 'text-class'],
+ mixins: [link],
+ props: {
+ icon: String,
+ iconColor: String,
+ dot: Boolean,
+ info: null,
+ badge: null,
+ text: String,
+ useSlot: Boolean,
+ },
+ data: {
+ viewStyle: '',
+ },
+ mounted() {
+ this.updateStyle();
+ },
+ methods: {
+ updateStyle() {
+ if (!this.parent) {
+ return;
+ }
+ const { data, children } = this.parent;
+ const {
+ columnNum,
+ border,
+ square,
+ gutter,
+ clickable,
+ center,
+ direction,
+ iconSize,
+ } = data;
+ const width = `${100 / columnNum}%`;
+ const styleWrapper = [];
+ styleWrapper.push(`width: ${width}`);
+ if (square) {
+ styleWrapper.push(`padding-top: ${width}`);
+ }
+ if (gutter) {
+ const gutterValue = addUnit(gutter);
+ styleWrapper.push(`padding-right: ${gutterValue}`);
+ const index = children.indexOf(this);
+ if (index >= columnNum && !square) {
+ styleWrapper.push(`margin-top: ${gutterValue}`);
+ }
+ }
+ let contentStyle = '';
+ if (square && gutter) {
+ const gutterValue = addUnit(gutter);
+ contentStyle = `
+ right: ${gutterValue};
+ bottom: ${gutterValue};
+ height: auto;
+ `;
+ }
+ this.setData({
+ viewStyle: styleWrapper.join('; '),
+ contentStyle,
+ center,
+ border,
+ square,
+ gutter,
+ clickable,
+ direction,
+ iconSize,
+ });
+ },
+ onClick() {
+ this.$emit('click');
+ this.jumpLink();
+ },
+ },
+});
diff --git a/dist/grid-item/index.json b/dist/grid-item/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/dist/grid-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/grid-item/index.wxml b/dist/grid-item/index.wxml
new file mode 100644
index 0000000..ede970c
--- /dev/null
+++ b/dist/grid-item/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
diff --git a/dist/grid-item/index.wxss b/dist/grid-item/index.wxss
new file mode 100644
index 0000000..ed7facb
--- /dev/null
+++ b/dist/grid-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-grid-item{position:relative;float:left;box-sizing:border-box}.van-grid-item--square{height:0}.van-grid-item__content{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:100%;padding:16px 8px;padding:var(--grid-item-content-padding,16px 8px);background-color:#fff;background-color:var(--grid-item-content-background-color,#fff)}.van-grid-item__content:after{z-index:1;border-width:0 1px 1px 0;border-bottom-width:var(--border-width-base,1px);border-right-width:var(--border-width-base,1px);border-top-width:0}.van-grid-item__content--surround:after{border-width:1px;border-width:var(--border-width-base,1px)}.van-grid-item__content--center{-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.van-grid-item__content--square{position:absolute;top:0;right:0;left:0}.van-grid-item__content--horizontal{-webkit-flex-direction:row;flex-direction:row}.van-grid-item__content--horizontal .van-grid-item__icon+.van-grid-item__text{margin-top:0;margin-left:8px}.van-grid-item__content--clickable:active{background-color:#f2f3f5;background-color:var(--grid-item-content-active-color,#f2f3f5)}.van-grid-item__icon{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;font-size:26px;font-size:var(--grid-item-icon-size,26px);height:26px;height:var(--grid-item-icon-size,26px)}.van-grid-item__text{word-wrap:break-word;color:#646566;color:var(--grid-item-text-color,#646566);font-size:12px;font-size:var(--grid-item-text-font-size,12px)}.van-grid-item__icon+.van-grid-item__text{margin-top:8px}
\ No newline at end of file
diff --git a/dist/grid/index.d.ts b/dist/grid/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/grid/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/grid/index.js b/dist/grid/index.js
new file mode 100644
index 0000000..a3bec16
--- /dev/null
+++ b/dist/grid/index.js
@@ -0,0 +1,65 @@
+import { VantComponent } from '../common/component';
+import { addUnit } from '../common/utils';
+VantComponent({
+ relation: {
+ name: 'grid-item',
+ type: 'descendant',
+ current: 'grid',
+ },
+ props: {
+ square: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ gutter: {
+ type: [Number, String],
+ value: 0,
+ observer: 'updateChildren',
+ },
+ clickable: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ columnNum: {
+ type: Number,
+ value: 4,
+ observer: 'updateChildren',
+ },
+ center: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildren',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildren',
+ },
+ direction: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ iconSize: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ },
+ data: {
+ viewStyle: '',
+ },
+ created() {
+ const { gutter } = this.data;
+ if (gutter) {
+ this.setData({
+ viewStyle: `padding-left: ${addUnit(gutter)}`,
+ });
+ }
+ },
+ methods: {
+ updateChildren() {
+ this.children.forEach((child) => {
+ child.updateStyle();
+ });
+ },
+ },
+});
diff --git a/dist/grid/index.json b/dist/grid/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/grid/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/grid/index.wxml b/dist/grid/index.wxml
new file mode 100644
index 0000000..c5a545f
--- /dev/null
+++ b/dist/grid/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/grid/index.wxss b/dist/grid/index.wxss
new file mode 100644
index 0000000..327fc5e
--- /dev/null
+++ b/dist/grid/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-grid{position:relative;box-sizing:border-box;overflow:hidden}
\ No newline at end of file
diff --git a/dist/icon/index.d.ts b/dist/icon/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/icon/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/icon/index.js b/dist/icon/index.js
new file mode 100644
index 0000000..bee576c
--- /dev/null
+++ b/dist/icon/index.js
@@ -0,0 +1,27 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ dot: Boolean,
+ info: null,
+ size: null,
+ color: String,
+ customStyle: String,
+ classPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ name: {
+ type: String,
+ observer(val) {
+ this.setData({
+ isImageName: val.indexOf('/') !== -1,
+ });
+ },
+ },
+ },
+ methods: {
+ onClick() {
+ this.$emit('click');
+ },
+ },
+});
diff --git a/dist/icon/index.json b/dist/icon/index.json
new file mode 100644
index 0000000..bf0ebe0
--- /dev/null
+++ b/dist/icon/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index"
+ }
+}
diff --git a/dist/icon/index.wxml b/dist/icon/index.wxml
new file mode 100644
index 0000000..fe4065a
--- /dev/null
+++ b/dist/icon/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
diff --git a/dist/icon/index.wxss b/dist/icon/index.wxss
new file mode 100644
index 0000000..b3925d3
--- /dev/null
+++ b/dist/icon/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';@font-face{font-weight:400;font-family:vant-icon;font-style:normal;font-display:auto;src:url(https://img.yzcdn.cn/vant/vant-icon-96970a.woff2) format("woff2"),url(https://img.yzcdn.cn/vant/vant-icon-96970a.woff) format("woff"),url(https://img.yzcdn.cn/vant/vant-icon-96970a.ttf) format("truetype")}.van-icon{position:relative;font:normal normal normal 14px/1 vant-icon;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}.van-icon,.van-icon:before{display:inline-block}.van-icon-add-o:before{content:"\F000"}.van-icon-add-square:before{content:"\F001"}.van-icon-add:before{content:"\F002"}.van-icon-after-sale:before{content:"\F003"}.van-icon-aim:before{content:"\F004"}.van-icon-alipay:before{content:"\F005"}.van-icon-apps-o:before{content:"\F006"}.van-icon-arrow-down:before{content:"\F007"}.van-icon-arrow-left:before{content:"\F008"}.van-icon-arrow-up:before{content:"\F009"}.van-icon-arrow:before{content:"\F00A"}.van-icon-ascending:before{content:"\F00B"}.van-icon-audio:before{content:"\F00C"}.van-icon-award-o:before{content:"\F00D"}.van-icon-award:before{content:"\F00E"}.van-icon-back-top:before{content:"\F0E6"}.van-icon-bag-o:before{content:"\F00F"}.van-icon-bag:before{content:"\F010"}.van-icon-balance-list-o:before{content:"\F011"}.van-icon-balance-list:before{content:"\F012"}.van-icon-balance-o:before{content:"\F013"}.van-icon-balance-pay:before{content:"\F014"}.van-icon-bar-chart-o:before{content:"\F015"}.van-icon-bars:before{content:"\F016"}.van-icon-bell:before{content:"\F017"}.van-icon-bill-o:before{content:"\F018"}.van-icon-bill:before{content:"\F019"}.van-icon-birthday-cake-o:before{content:"\F01A"}.van-icon-bookmark-o:before{content:"\F01B"}.van-icon-bookmark:before{content:"\F01C"}.van-icon-browsing-history-o:before{content:"\F01D"}.van-icon-browsing-history:before{content:"\F01E"}.van-icon-brush-o:before{content:"\F01F"}.van-icon-bulb-o:before{content:"\F020"}.van-icon-bullhorn-o:before{content:"\F021"}.van-icon-calendar-o:before{content:"\F022"}.van-icon-card:before{content:"\F023"}.van-icon-cart-circle-o:before{content:"\F024"}.van-icon-cart-circle:before{content:"\F025"}.van-icon-cart-o:before{content:"\F026"}.van-icon-cart:before{content:"\F027"}.van-icon-cash-back-record:before{content:"\F028"}.van-icon-cash-on-deliver:before{content:"\F029"}.van-icon-cashier-o:before{content:"\F02A"}.van-icon-certificate:before{content:"\F02B"}.van-icon-chart-trending-o:before{content:"\F02C"}.van-icon-chat-o:before{content:"\F02D"}.van-icon-chat:before{content:"\F02E"}.van-icon-checked:before{content:"\F02F"}.van-icon-circle:before{content:"\F030"}.van-icon-clear:before{content:"\F031"}.van-icon-clock-o:before{content:"\F032"}.van-icon-clock:before{content:"\F033"}.van-icon-close:before{content:"\F034"}.van-icon-closed-eye:before{content:"\F035"}.van-icon-cluster-o:before{content:"\F036"}.van-icon-cluster:before{content:"\F037"}.van-icon-column:before{content:"\F038"}.van-icon-comment-circle-o:before{content:"\F039"}.van-icon-comment-circle:before{content:"\F03A"}.van-icon-comment-o:before{content:"\F03B"}.van-icon-comment:before{content:"\F03C"}.van-icon-completed:before{content:"\F03D"}.van-icon-contact:before{content:"\F03E"}.van-icon-coupon-o:before{content:"\F03F"}.van-icon-coupon:before{content:"\F040"}.van-icon-credit-pay:before{content:"\F041"}.van-icon-cross:before{content:"\F042"}.van-icon-debit-pay:before{content:"\F043"}.van-icon-delete:before{content:"\F044"}.van-icon-descending:before{content:"\F045"}.van-icon-description:before{content:"\F046"}.van-icon-desktop-o:before{content:"\F047"}.van-icon-diamond-o:before{content:"\F048"}.van-icon-diamond:before{content:"\F049"}.van-icon-discount:before{content:"\F04A"}.van-icon-down:before{content:"\F04B"}.van-icon-ecard-pay:before{content:"\F04C"}.van-icon-edit:before{content:"\F04D"}.van-icon-ellipsis:before{content:"\F04E"}.van-icon-empty:before{content:"\F04F"}.van-icon-enlarge:before{content:"\F0E4"}.van-icon-envelop-o:before{content:"\F050"}.van-icon-exchange:before{content:"\F051"}.van-icon-expand-o:before{content:"\F052"}.van-icon-expand:before{content:"\F053"}.van-icon-eye-o:before{content:"\F054"}.van-icon-eye:before{content:"\F055"}.van-icon-fail:before{content:"\F056"}.van-icon-failure:before{content:"\F057"}.van-icon-filter-o:before{content:"\F058"}.van-icon-fire-o:before{content:"\F059"}.van-icon-fire:before{content:"\F05A"}.van-icon-flag-o:before{content:"\F05B"}.van-icon-flower-o:before{content:"\F05C"}.van-icon-free-postage:before{content:"\F05D"}.van-icon-friends-o:before{content:"\F05E"}.van-icon-friends:before{content:"\F05F"}.van-icon-gem-o:before{content:"\F060"}.van-icon-gem:before{content:"\F061"}.van-icon-gift-card-o:before{content:"\F062"}.van-icon-gift-card:before{content:"\F063"}.van-icon-gift-o:before{content:"\F064"}.van-icon-gift:before{content:"\F065"}.van-icon-gold-coin-o:before{content:"\F066"}.van-icon-gold-coin:before{content:"\F067"}.van-icon-good-job-o:before{content:"\F068"}.van-icon-good-job:before{content:"\F069"}.van-icon-goods-collect-o:before{content:"\F06A"}.van-icon-goods-collect:before{content:"\F06B"}.van-icon-graphic:before{content:"\F06C"}.van-icon-home-o:before{content:"\F06D"}.van-icon-hot-o:before{content:"\F06E"}.van-icon-hot-sale-o:before{content:"\F06F"}.van-icon-hot-sale:before{content:"\F070"}.van-icon-hot:before{content:"\F071"}.van-icon-hotel-o:before{content:"\F072"}.van-icon-idcard:before{content:"\F073"}.van-icon-info-o:before{content:"\F074"}.van-icon-info:before{content:"\F075"}.van-icon-invition:before{content:"\F076"}.van-icon-label-o:before{content:"\F077"}.van-icon-label:before{content:"\F078"}.van-icon-like-o:before{content:"\F079"}.van-icon-like:before{content:"\F07A"}.van-icon-live:before{content:"\F07B"}.van-icon-location-o:before{content:"\F07C"}.van-icon-location:before{content:"\F07D"}.van-icon-lock:before{content:"\F07E"}.van-icon-logistics:before{content:"\F07F"}.van-icon-manager-o:before{content:"\F080"}.van-icon-manager:before{content:"\F081"}.van-icon-map-marked:before{content:"\F082"}.van-icon-medal-o:before{content:"\F083"}.van-icon-medal:before{content:"\F084"}.van-icon-minus:before{content:"\F0E8"}.van-icon-more-o:before{content:"\F085"}.van-icon-more:before{content:"\F086"}.van-icon-music-o:before{content:"\F087"}.van-icon-music:before{content:"\F088"}.van-icon-new-arrival-o:before{content:"\F089"}.van-icon-new-arrival:before{content:"\F08A"}.van-icon-new-o:before{content:"\F08B"}.van-icon-new:before{content:"\F08C"}.van-icon-newspaper-o:before{content:"\F08D"}.van-icon-notes-o:before{content:"\F08E"}.van-icon-orders-o:before{content:"\F08F"}.van-icon-other-pay:before{content:"\F090"}.van-icon-paid:before{content:"\F091"}.van-icon-passed:before{content:"\F092"}.van-icon-pause-circle-o:before{content:"\F093"}.van-icon-pause-circle:before{content:"\F094"}.van-icon-pause:before{content:"\F095"}.van-icon-peer-pay:before{content:"\F096"}.van-icon-pending-payment:before{content:"\F097"}.van-icon-phone-circle-o:before{content:"\F098"}.van-icon-phone-circle:before{content:"\F099"}.van-icon-phone-o:before{content:"\F09A"}.van-icon-phone:before{content:"\F09B"}.van-icon-photo-fail:before{content:"\F0E5"}.van-icon-photo-o:before{content:"\F09C"}.van-icon-photo:before{content:"\F09D"}.van-icon-photograph:before{content:"\F09E"}.van-icon-play-circle-o:before{content:"\F09F"}.van-icon-play-circle:before{content:"\F0A0"}.van-icon-play:before{content:"\F0A1"}.van-icon-plus:before{content:"\F0A2"}.van-icon-point-gift-o:before{content:"\F0A3"}.van-icon-point-gift:before{content:"\F0A4"}.van-icon-points:before{content:"\F0A5"}.van-icon-printer:before{content:"\F0A6"}.van-icon-qr-invalid:before{content:"\F0A7"}.van-icon-qr:before{content:"\F0A8"}.van-icon-question-o:before{content:"\F0A9"}.van-icon-question:before{content:"\F0AA"}.van-icon-records:before{content:"\F0AB"}.van-icon-refund-o:before{content:"\F0AC"}.van-icon-replay:before{content:"\F0AD"}.van-icon-scan:before{content:"\F0AE"}.van-icon-search:before{content:"\F0AF"}.van-icon-send-gift-o:before{content:"\F0B0"}.van-icon-send-gift:before{content:"\F0B1"}.van-icon-service-o:before{content:"\F0B2"}.van-icon-service:before{content:"\F0B3"}.van-icon-setting-o:before{content:"\F0B4"}.van-icon-setting:before{content:"\F0B5"}.van-icon-share-o:before{content:"\F0E7"}.van-icon-share:before{content:"\F0B6"}.van-icon-shop-collect-o:before{content:"\F0B7"}.van-icon-shop-collect:before{content:"\F0B8"}.van-icon-shop-o:before{content:"\F0B9"}.van-icon-shop:before{content:"\F0BA"}.van-icon-shopping-cart-o:before{content:"\F0BB"}.van-icon-shopping-cart:before{content:"\F0BC"}.van-icon-shrink:before{content:"\F0BD"}.van-icon-sign:before{content:"\F0BE"}.van-icon-smile-comment-o:before{content:"\F0BF"}.van-icon-smile-comment:before{content:"\F0C0"}.van-icon-smile-o:before{content:"\F0C1"}.van-icon-smile:before{content:"\F0C2"}.van-icon-star-o:before{content:"\F0C3"}.van-icon-star:before{content:"\F0C4"}.van-icon-stop-circle-o:before{content:"\F0C5"}.van-icon-stop-circle:before{content:"\F0C6"}.van-icon-stop:before{content:"\F0C7"}.van-icon-success:before{content:"\F0C8"}.van-icon-thumb-circle-o:before{content:"\F0C9"}.van-icon-thumb-circle:before{content:"\F0CA"}.van-icon-todo-list-o:before{content:"\F0CB"}.van-icon-todo-list:before{content:"\F0CC"}.van-icon-tosend:before{content:"\F0CD"}.van-icon-tv-o:before{content:"\F0CE"}.van-icon-umbrella-circle:before{content:"\F0CF"}.van-icon-underway-o:before{content:"\F0D0"}.van-icon-underway:before{content:"\F0D1"}.van-icon-upgrade:before{content:"\F0D2"}.van-icon-user-circle-o:before{content:"\F0D3"}.van-icon-user-o:before{content:"\F0D4"}.van-icon-video-o:before{content:"\F0D5"}.van-icon-video:before{content:"\F0D6"}.van-icon-vip-card-o:before{content:"\F0D7"}.van-icon-vip-card:before{content:"\F0D8"}.van-icon-volume-o:before{content:"\F0D9"}.van-icon-volume:before{content:"\F0DA"}.van-icon-wap-home-o:before{content:"\F0DB"}.van-icon-wap-home:before{content:"\F0DC"}.van-icon-wap-nav:before{content:"\F0DD"}.van-icon-warn-o:before{content:"\F0DE"}.van-icon-warning-o:before{content:"\F0DF"}.van-icon-warning:before{content:"\F0E0"}.van-icon-weapp-nav:before{content:"\F0E1"}.van-icon-wechat:before{content:"\F0E2"}.van-icon-youzan-shield:before{content:"\F0E3"}:host{display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.van-icon--image{width:1em;height:1em}.van-icon__image{width:100%;height:100%}.van-icon__info{z-index:1}
\ No newline at end of file
diff --git a/dist/image/index.d.ts b/dist/image/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/image/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/image/index.js b/dist/image/index.js
new file mode 100644
index 0000000..ff408c5
--- /dev/null
+++ b/dist/image/index.js
@@ -0,0 +1,101 @@
+import { addUnit, isDef } from '../common/utils';
+import { VantComponent } from '../common/component';
+import { button } from '../mixins/button';
+import { openType } from '../mixins/open-type';
+const FIT_MODE_MAP = {
+ none: 'center',
+ fill: 'scaleToFill',
+ cover: 'aspectFill',
+ contain: 'aspectFit',
+ widthFix: 'widthFix',
+ heightFix: 'heightFix',
+};
+VantComponent({
+ mixins: [button, openType],
+ classes: ['custom-class', 'loading-class', 'error-class', 'image-class'],
+ props: {
+ src: {
+ type: String,
+ observer() {
+ this.setData({
+ error: false,
+ loading: true,
+ });
+ },
+ },
+ round: Boolean,
+ width: {
+ type: null,
+ observer: 'setStyle',
+ },
+ height: {
+ type: null,
+ observer: 'setStyle',
+ },
+ radius: null,
+ lazyLoad: Boolean,
+ useErrorSlot: Boolean,
+ useLoadingSlot: Boolean,
+ showMenuByLongpress: Boolean,
+ fit: {
+ type: String,
+ value: 'fill',
+ observer: 'setMode',
+ },
+ showError: {
+ type: Boolean,
+ value: true,
+ },
+ showLoading: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ error: false,
+ loading: true,
+ viewStyle: '',
+ },
+ mounted() {
+ this.setMode();
+ this.setStyle();
+ },
+ methods: {
+ setMode() {
+ this.setData({
+ mode: FIT_MODE_MAP[this.data.fit],
+ });
+ },
+ setStyle() {
+ const { width, height, radius } = this.data;
+ let style = '';
+ if (isDef(width)) {
+ style += `width: ${addUnit(width)};`;
+ }
+ if (isDef(height)) {
+ style += `height: ${addUnit(height)};`;
+ }
+ if (isDef(radius)) {
+ style += 'overflow: hidden;';
+ style += `border-radius: ${addUnit(radius)};`;
+ }
+ this.setData({ viewStyle: style });
+ },
+ onLoad(event) {
+ this.setData({
+ loading: false,
+ });
+ this.$emit('load', event.detail);
+ },
+ onError(event) {
+ this.setData({
+ loading: false,
+ error: true,
+ });
+ this.$emit('error', event.detail);
+ },
+ onClick(event) {
+ this.$emit('click', event.detail);
+ },
+ },
+});
diff --git a/dist/image/index.json b/dist/image/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/dist/image/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/dist/image/index.wxml b/dist/image/index.wxml
new file mode 100644
index 0000000..6450ba1
--- /dev/null
+++ b/dist/image/index.wxml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/image/index.wxss b/dist/image/index.wxss
new file mode 100644
index 0000000..e5f1637
--- /dev/null
+++ b/dist/image/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-image{position:relative;display:inline-block}.van-image--round{overflow:hidden;border-radius:50%}.van-image--round .van-image__img{border-radius:inherit}.van-image__error,.van-image__img,.van-image__loading{display:block;width:100%;height:100%}.van-image__error,.van-image__loading{position:absolute;top:0;left:0;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;color:#969799;color:var(--image-placeholder-text-color,#969799);font-size:14px;font-size:var(--image-placeholder-font-size,14px);background-color:#f7f8fa;background-color:var(--image-placeholder-background-color,#f7f8fa)}
\ No newline at end of file
diff --git a/dist/index-anchor/index.d.ts b/dist/index-anchor/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/index-anchor/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/index-anchor/index.js b/dist/index-anchor/index.js
new file mode 100644
index 0000000..d76d274
--- /dev/null
+++ b/dist/index-anchor/index.js
@@ -0,0 +1,30 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ relation: {
+ name: 'index-bar',
+ type: 'ancestor',
+ current: 'index-anchor',
+ },
+ props: {
+ useSlot: Boolean,
+ index: null,
+ },
+ data: {
+ active: false,
+ wrapperStyle: '',
+ anchorStyle: '',
+ },
+ methods: {
+ scrollIntoView(scrollTop) {
+ this.getBoundingClientRect().then((rect) => {
+ wx.pageScrollTo({
+ duration: 0,
+ scrollTop: scrollTop + rect.top - this.parent.data.stickyOffsetTop,
+ });
+ });
+ },
+ getBoundingClientRect() {
+ return this.getRect('.van-index-anchor-wrapper');
+ },
+ },
+});
diff --git a/dist/index-anchor/index.json b/dist/index-anchor/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/index-anchor/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/index-anchor/index.wxml b/dist/index-anchor/index.wxml
new file mode 100644
index 0000000..49affa7
--- /dev/null
+++ b/dist/index-anchor/index.wxml
@@ -0,0 +1,14 @@
+
+
+
+
+ {{ index }}
+
+
+
diff --git a/dist/index-anchor/index.wxss b/dist/index-anchor/index.wxss
new file mode 100644
index 0000000..b8c3c0a
--- /dev/null
+++ b/dist/index-anchor/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-index-anchor{padding:0 16px;padding:var(--index-anchor-padding,0 16px);color:#323233;color:var(--index-anchor-text-color,#323233);font-weight:500;font-weight:var(--index-anchor-font-weight,500);font-size:14px;font-size:var(--index-anchor-font-size,14px);line-height:32px;line-height:var(--index-anchor-line-height,32px);background-color:initial;background-color:var(--index-anchor-background-color,transparent)}.van-index-anchor--active{right:0;left:0;color:#07c160;color:var(--index-anchor-active-text-color,#07c160);background-color:#fff;background-color:var(--index-anchor-active-background-color,#fff)}
\ No newline at end of file
diff --git a/dist/index-bar/index.d.ts b/dist/index-bar/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/index-bar/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/index-bar/index.js b/dist/index-bar/index.js
new file mode 100644
index 0000000..914041a
--- /dev/null
+++ b/dist/index-bar/index.js
@@ -0,0 +1,250 @@
+import { VantComponent } from '../common/component';
+import { GREEN } from '../common/color';
+import { pageScrollMixin } from '../mixins/page-scroll';
+const indexList = () => {
+ const indexList = [];
+ const charCodeOfA = 'A'.charCodeAt(0);
+ for (let i = 0; i < 26; i++) {
+ indexList.push(String.fromCharCode(charCodeOfA + i));
+ }
+ return indexList;
+};
+VantComponent({
+ relation: {
+ name: 'index-anchor',
+ type: 'descendant',
+ current: 'index-bar',
+ linked() {
+ this.updateData();
+ },
+ unlinked() {
+ this.updateData();
+ },
+ },
+ props: {
+ sticky: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ highlightColor: {
+ type: String,
+ value: GREEN,
+ },
+ stickyOffsetTop: {
+ type: Number,
+ value: 0,
+ },
+ indexList: {
+ type: Array,
+ value: indexList(),
+ },
+ },
+ mixins: [
+ pageScrollMixin(function (event) {
+ this.scrollTop = event.scrollTop || 0;
+ this.onScroll();
+ }),
+ ],
+ data: {
+ activeAnchorIndex: null,
+ showSidebar: false,
+ },
+ created() {
+ this.scrollTop = 0;
+ },
+ methods: {
+ updateData() {
+ wx.nextTick(() => {
+ if (this.timer != null) {
+ clearTimeout(this.timer);
+ }
+ this.timer = setTimeout(() => {
+ this.setData({
+ showSidebar: !!this.children.length,
+ });
+ this.setRect().then(() => {
+ this.onScroll();
+ });
+ }, 0);
+ });
+ },
+ setRect() {
+ return Promise.all([
+ this.setAnchorsRect(),
+ this.setListRect(),
+ this.setSiderbarRect(),
+ ]);
+ },
+ setAnchorsRect() {
+ return Promise.all(
+ this.children.map((anchor) =>
+ anchor.getRect('.van-index-anchor-wrapper').then((rect) => {
+ Object.assign(anchor, {
+ height: rect.height,
+ top: rect.top + this.scrollTop,
+ });
+ })
+ )
+ );
+ },
+ setListRect() {
+ return this.getRect('.van-index-bar').then((rect) => {
+ Object.assign(this, {
+ height: rect.height,
+ top: rect.top + this.scrollTop,
+ });
+ });
+ },
+ setSiderbarRect() {
+ return this.getRect('.van-index-bar__sidebar').then((res) => {
+ this.sidebar = {
+ height: res.height,
+ top: res.top,
+ };
+ });
+ },
+ setDiffData({ target, data }) {
+ const diffData = {};
+ Object.keys(data).forEach((key) => {
+ if (target.data[key] !== data[key]) {
+ diffData[key] = data[key];
+ }
+ });
+ if (Object.keys(diffData).length) {
+ target.setData(diffData);
+ }
+ },
+ getAnchorRect(anchor) {
+ return anchor.getRect('.van-index-anchor-wrapper').then((rect) => ({
+ height: rect.height,
+ top: rect.top,
+ }));
+ },
+ getActiveAnchorIndex() {
+ const { children, scrollTop } = this;
+ const { sticky, stickyOffsetTop } = this.data;
+ for (let i = this.children.length - 1; i >= 0; i--) {
+ const preAnchorHeight = i > 0 ? children[i - 1].height : 0;
+ const reachTop = sticky ? preAnchorHeight + stickyOffsetTop : 0;
+ if (reachTop + scrollTop >= children[i].top) {
+ return i;
+ }
+ }
+ return -1;
+ },
+ onScroll() {
+ const { children = [], scrollTop } = this;
+ if (!children.length) {
+ return;
+ }
+ const { sticky, stickyOffsetTop, zIndex, highlightColor } = this.data;
+ const active = this.getActiveAnchorIndex();
+ this.setDiffData({
+ target: this,
+ data: {
+ activeAnchorIndex: active,
+ },
+ });
+ if (sticky) {
+ let isActiveAnchorSticky = false;
+ if (active !== -1) {
+ isActiveAnchorSticky =
+ children[active].top <= stickyOffsetTop + scrollTop;
+ }
+ children.forEach((item, index) => {
+ if (index === active) {
+ let wrapperStyle = '';
+ let anchorStyle = `
+ color: ${highlightColor};
+ `;
+ if (isActiveAnchorSticky) {
+ wrapperStyle = `
+ height: ${children[index].height}px;
+ `;
+ anchorStyle = `
+ position: fixed;
+ top: ${stickyOffsetTop}px;
+ z-index: ${zIndex};
+ color: ${highlightColor};
+ `;
+ }
+ this.setDiffData({
+ target: item,
+ data: {
+ active: true,
+ anchorStyle,
+ wrapperStyle,
+ },
+ });
+ } else if (index === active - 1) {
+ const currentAnchor = children[index];
+ const currentOffsetTop = currentAnchor.top;
+ const targetOffsetTop =
+ index === children.length - 1
+ ? this.top
+ : children[index + 1].top;
+ const parentOffsetHeight = targetOffsetTop - currentOffsetTop;
+ const translateY = parentOffsetHeight - currentAnchor.height;
+ const anchorStyle = `
+ position: relative;
+ transform: translate3d(0, ${translateY}px, 0);
+ z-index: ${zIndex};
+ color: ${highlightColor};
+ `;
+ this.setDiffData({
+ target: item,
+ data: {
+ active: true,
+ anchorStyle,
+ },
+ });
+ } else {
+ this.setDiffData({
+ target: item,
+ data: {
+ active: false,
+ anchorStyle: '',
+ wrapperStyle: '',
+ },
+ });
+ }
+ });
+ }
+ },
+ onClick(event) {
+ this.scrollToAnchor(event.target.dataset.index);
+ },
+ onTouchMove(event) {
+ const sidebarLength = this.children.length;
+ const touch = event.touches[0];
+ const itemHeight = this.sidebar.height / sidebarLength;
+ let index = Math.floor((touch.clientY - this.sidebar.top) / itemHeight);
+ if (index < 0) {
+ index = 0;
+ } else if (index > sidebarLength - 1) {
+ index = sidebarLength - 1;
+ }
+ this.scrollToAnchor(index);
+ },
+ onTouchStop() {
+ this.scrollToAnchorIndex = null;
+ },
+ scrollToAnchor(index) {
+ if (typeof index !== 'number' || this.scrollToAnchorIndex === index) {
+ return;
+ }
+ this.scrollToAnchorIndex = index;
+ const anchor = this.children.find(
+ (item) => item.data.index === this.data.indexList[index]
+ );
+ if (anchor) {
+ anchor.scrollIntoView(this.scrollTop);
+ this.$emit('select', anchor.data.index);
+ }
+ },
+ },
+});
diff --git a/dist/index-bar/index.json b/dist/index-bar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/index-bar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/index-bar/index.wxml b/dist/index-bar/index.wxml
new file mode 100644
index 0000000..19a59cf
--- /dev/null
+++ b/dist/index-bar/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+
diff --git a/dist/index-bar/index.wxss b/dist/index-bar/index.wxss
new file mode 100644
index 0000000..dba5dc0
--- /dev/null
+++ b/dist/index-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-index-bar{position:relative}.van-index-bar__sidebar{position:fixed;top:50%;right:0;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;user-select:none}.van-index-bar__index{font-weight:500;padding:0 4px 0 16px;padding:0 var(--padding-base,4px) 0 var(--padding-md,16px);font-size:10px;font-size:var(--index-bar-index-font-size,10px);line-height:14px;line-height:var(--index-bar-index-line-height,14px)}
\ No newline at end of file
diff --git a/dist/info/index.d.ts b/dist/info/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/info/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/info/index.js b/dist/info/index.js
new file mode 100644
index 0000000..489f39c
--- /dev/null
+++ b/dist/info/index.js
@@ -0,0 +1,8 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ dot: Boolean,
+ info: null,
+ customStyle: String,
+ },
+});
diff --git a/dist/info/index.json b/dist/info/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/info/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/info/index.wxml b/dist/info/index.wxml
new file mode 100644
index 0000000..3112dfc
--- /dev/null
+++ b/dist/info/index.wxml
@@ -0,0 +1,7 @@
+
+
+{{ dot ? '' : info }}
diff --git a/dist/info/index.wxss b/dist/info/index.wxss
new file mode 100644
index 0000000..6280121
--- /dev/null
+++ b/dist/info/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-info{position:absolute;top:0;right:0;box-sizing:border-box;line-height:1.2;white-space:nowrap;text-align:center;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%);-webkit-transform-origin:100%;transform-origin:100%;min-width:16px;min-width:var(--info-size,16px);padding:0 3px;padding:var(--info-padding,0 3px);color:#fff;color:var(--info-color,#fff);font-weight:500;font-weight:var(--info-font-weight,500);font-size:12px;font-size:var(--info-font-size,12px);font-family:-apple-system-font,Helvetica Neue,Arial,sans-serif;font-family:var(--info-font-family,-apple-system-font,Helvetica Neue,Arial,sans-serif);background-color:#ee0a24;background-color:var(--info-background-color,#ee0a24);border:1px solid #fff;border:var(--info-border-width,1px) solid var(--white,#fff);border-radius:16px;border-radius:var(--info-size,16px)}.van-info--dot{min-width:0;border-radius:100%;width:8px;width:var(--info-dot-size,8px);height:8px;height:var(--info-dot-size,8px);background-color:#ee0a24;background-color:var(--info-dot-color,#ee0a24)}
\ No newline at end of file
diff --git a/dist/loading/index.d.ts b/dist/loading/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/loading/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/loading/index.js b/dist/loading/index.js
new file mode 100644
index 0000000..2049447
--- /dev/null
+++ b/dist/loading/index.js
@@ -0,0 +1,16 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ color: String,
+ vertical: Boolean,
+ type: {
+ type: String,
+ value: 'circular',
+ },
+ size: String,
+ textSize: String,
+ },
+ data: {
+ array12: Array.from({ length: 12 }),
+ },
+});
diff --git a/dist/loading/index.json b/dist/loading/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/loading/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/loading/index.wxml b/dist/loading/index.wxml
new file mode 100644
index 0000000..e934288
--- /dev/null
+++ b/dist/loading/index.wxml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/loading/index.wxss b/dist/loading/index.wxss
new file mode 100644
index 0000000..f28a6b4
--- /dev/null
+++ b/dist/loading/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{font-size:0;line-height:1}.van-loading{display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;color:#c8c9cc;color:var(--loading-spinner-color,#c8c9cc)}.van-loading__spinner{position:relative;box-sizing:border-box;width:30px;width:var(--loading-spinner-size,30px);max-width:100%;max-height:100%;height:30px;height:var(--loading-spinner-size,30px);-webkit-animation:van-rotate .8s linear infinite;animation:van-rotate .8s linear infinite;-webkit-animation:van-rotate var(--loading-spinner-animation-duration,.8s) linear infinite;animation:van-rotate var(--loading-spinner-animation-duration,.8s) linear infinite}.van-loading__spinner--spinner{-webkit-animation-timing-function:steps(12);animation-timing-function:steps(12)}.van-loading__spinner--circular{border:1px solid transparent;border-top-color:initial;border-radius:100%}.van-loading__text{margin-left:8px;margin-left:var(--padding-xs,8px);color:#969799;color:var(--loading-text-color,#969799);font-size:14px;font-size:var(--loading-text-font-size,14px);line-height:20px;line-height:var(--loading-text-line-height,20px)}.van-loading__text:empty{display:none}.van-loading--vertical{-webkit-flex-direction:column;flex-direction:column}.van-loading--vertical .van-loading__text{margin:8px 0 0;margin:var(--padding-xs,8px) 0 0}.van-loading__dot{position:absolute;top:0;left:0;width:100%;height:100%}.van-loading__dot:before{display:block;width:2px;height:25%;margin:0 auto;background-color:currentColor;border-radius:40%;content:" "}.van-loading__dot:first-of-type{-webkit-transform:rotate(30deg);transform:rotate(30deg);opacity:1}.van-loading__dot:nth-of-type(2){-webkit-transform:rotate(60deg);transform:rotate(60deg);opacity:.9375}.van-loading__dot:nth-of-type(3){-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:.875}.van-loading__dot:nth-of-type(4){-webkit-transform:rotate(120deg);transform:rotate(120deg);opacity:.8125}.van-loading__dot:nth-of-type(5){-webkit-transform:rotate(150deg);transform:rotate(150deg);opacity:.75}.van-loading__dot:nth-of-type(6){-webkit-transform:rotate(180deg);transform:rotate(180deg);opacity:.6875}.van-loading__dot:nth-of-type(7){-webkit-transform:rotate(210deg);transform:rotate(210deg);opacity:.625}.van-loading__dot:nth-of-type(8){-webkit-transform:rotate(240deg);transform:rotate(240deg);opacity:.5625}.van-loading__dot:nth-of-type(9){-webkit-transform:rotate(270deg);transform:rotate(270deg);opacity:.5}.van-loading__dot:nth-of-type(10){-webkit-transform:rotate(300deg);transform:rotate(300deg);opacity:.4375}.van-loading__dot:nth-of-type(11){-webkit-transform:rotate(330deg);transform:rotate(330deg);opacity:.375}.van-loading__dot:nth-of-type(12){-webkit-transform:rotate(1turn);transform:rotate(1turn);opacity:.3125}@-webkit-keyframes van-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes van-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}
\ No newline at end of file
diff --git a/dist/mixins/basic.d.ts b/dist/mixins/basic.d.ts
new file mode 100644
index 0000000..b273369
--- /dev/null
+++ b/dist/mixins/basic.d.ts
@@ -0,0 +1 @@
+export declare const basic: string;
diff --git a/dist/mixins/basic.js b/dist/mixins/basic.js
new file mode 100644
index 0000000..8a25f16
--- /dev/null
+++ b/dist/mixins/basic.js
@@ -0,0 +1,27 @@
+export const basic = Behavior({
+ methods: {
+ $emit(...args) {
+ this.triggerEvent(...args);
+ },
+ set(data, callback) {
+ this.setData(data, callback);
+ return new Promise((resolve) => wx.nextTick(resolve));
+ },
+ getRect(selector, all) {
+ return new Promise((resolve) => {
+ wx.createSelectorQuery()
+ .in(this)
+ [all ? 'selectAll' : 'select'](selector)
+ .boundingClientRect((rect) => {
+ if (all && Array.isArray(rect) && rect.length) {
+ resolve(rect);
+ }
+ if (!all && rect) {
+ resolve(rect);
+ }
+ })
+ .exec();
+ });
+ },
+ },
+});
diff --git a/dist/mixins/button.d.ts b/dist/mixins/button.d.ts
new file mode 100644
index 0000000..b51db87
--- /dev/null
+++ b/dist/mixins/button.d.ts
@@ -0,0 +1 @@
+export declare const button: string;
diff --git a/dist/mixins/button.js b/dist/mixins/button.js
new file mode 100644
index 0000000..732fa5c
--- /dev/null
+++ b/dist/mixins/button.js
@@ -0,0 +1,15 @@
+export const button = Behavior({
+ externalClasses: ['hover-class'],
+ properties: {
+ id: String,
+ lang: String,
+ businessId: Number,
+ sessionFrom: String,
+ sendMessageTitle: String,
+ sendMessagePath: String,
+ sendMessageImg: String,
+ showMessageCard: Boolean,
+ appParameter: String,
+ ariaLabel: String,
+ },
+});
diff --git a/dist/mixins/link.d.ts b/dist/mixins/link.d.ts
new file mode 100644
index 0000000..d58043b
--- /dev/null
+++ b/dist/mixins/link.d.ts
@@ -0,0 +1 @@
+export declare const link: string;
diff --git a/dist/mixins/link.js b/dist/mixins/link.js
new file mode 100644
index 0000000..f215742
--- /dev/null
+++ b/dist/mixins/link.js
@@ -0,0 +1,17 @@
+export const link = Behavior({
+ properties: {
+ url: String,
+ linkType: {
+ type: String,
+ value: 'navigateTo',
+ },
+ },
+ methods: {
+ jumpLink(urlKey = 'url') {
+ const url = this.data[urlKey];
+ if (url) {
+ wx[this.data.linkType]({ url });
+ }
+ },
+ },
+});
diff --git a/dist/mixins/open-type.d.ts b/dist/mixins/open-type.d.ts
new file mode 100644
index 0000000..64b023d
--- /dev/null
+++ b/dist/mixins/open-type.d.ts
@@ -0,0 +1 @@
+export declare const openType: string;
diff --git a/dist/mixins/open-type.js b/dist/mixins/open-type.js
new file mode 100644
index 0000000..454c937
--- /dev/null
+++ b/dist/mixins/open-type.js
@@ -0,0 +1,25 @@
+export const openType = Behavior({
+ properties: {
+ openType: String,
+ },
+ methods: {
+ bindGetUserInfo(event) {
+ this.$emit('getuserinfo', event.detail);
+ },
+ bindContact(event) {
+ this.$emit('contact', event.detail);
+ },
+ bindGetPhoneNumber(event) {
+ this.$emit('getphonenumber', event.detail);
+ },
+ bindError(event) {
+ this.$emit('error', event.detail);
+ },
+ bindLaunchApp(event) {
+ this.$emit('launchapp', event.detail);
+ },
+ bindOpenSetting(event) {
+ this.$emit('opensetting', event.detail);
+ },
+ },
+});
diff --git a/dist/mixins/page-scroll.d.ts b/dist/mixins/page-scroll.d.ts
new file mode 100644
index 0000000..08d89d6
--- /dev/null
+++ b/dist/mixins/page-scroll.d.ts
@@ -0,0 +1,5 @@
+///
+declare type IPageScrollOption = WechatMiniprogram.Page.IPageScrollOption;
+declare type Scroller = (event: IPageScrollOption) => void;
+export declare const pageScrollMixin: (scroller: Scroller) => string;
+export {};
diff --git a/dist/mixins/page-scroll.js b/dist/mixins/page-scroll.js
new file mode 100644
index 0000000..d4e9199
--- /dev/null
+++ b/dist/mixins/page-scroll.js
@@ -0,0 +1,33 @@
+function getCurrentPage() {
+ const pages = getCurrentPages();
+ return pages[pages.length - 1] || {};
+}
+function onPageScroll(event) {
+ const { vanPageScroller = [] } = getCurrentPage();
+ vanPageScroller.forEach((scroller) => {
+ if (typeof scroller === 'function') {
+ scroller(event);
+ }
+ });
+}
+export const pageScrollMixin = (scroller) =>
+ Behavior({
+ attached() {
+ const page = getCurrentPage();
+ if (Array.isArray(page.vanPageScroller)) {
+ page.vanPageScroller.push(scroller.bind(this));
+ } else {
+ page.vanPageScroller =
+ typeof page.onPageScroll === 'function'
+ ? [page.onPageScroll.bind(page), scroller.bind(this)]
+ : [scroller.bind(this)];
+ }
+ page.onPageScroll = onPageScroll;
+ },
+ detached() {
+ const page = getCurrentPage();
+ page.vanPageScroller = (page.vanPageScroller || []).filter(
+ (item) => item !== scroller
+ );
+ },
+ });
diff --git a/dist/mixins/touch.d.ts b/dist/mixins/touch.d.ts
new file mode 100644
index 0000000..35ee831
--- /dev/null
+++ b/dist/mixins/touch.d.ts
@@ -0,0 +1 @@
+export declare const touch: string;
diff --git a/dist/mixins/touch.js b/dist/mixins/touch.js
new file mode 100644
index 0000000..f29a92d
--- /dev/null
+++ b/dist/mixins/touch.js
@@ -0,0 +1,36 @@
+const MIN_DISTANCE = 10;
+function getDirection(x, y) {
+ if (x > y && x > MIN_DISTANCE) {
+ return 'horizontal';
+ }
+ if (y > x && y > MIN_DISTANCE) {
+ return 'vertical';
+ }
+ return '';
+}
+export const touch = Behavior({
+ methods: {
+ resetTouchStatus() {
+ this.direction = '';
+ this.deltaX = 0;
+ this.deltaY = 0;
+ this.offsetX = 0;
+ this.offsetY = 0;
+ },
+ touchStart(event) {
+ this.resetTouchStatus();
+ const touch = event.touches[0];
+ this.startX = touch.clientX;
+ this.startY = touch.clientY;
+ },
+ touchMove(event) {
+ const touch = event.touches[0];
+ this.deltaX = touch.clientX - this.startX;
+ this.deltaY = touch.clientY - this.startY;
+ this.offsetX = Math.abs(this.deltaX);
+ this.offsetY = Math.abs(this.deltaY);
+ this.direction =
+ this.direction || getDirection(this.offsetX, this.offsetY);
+ },
+ },
+});
diff --git a/dist/mixins/transition.d.ts b/dist/mixins/transition.d.ts
new file mode 100644
index 0000000..d735ac9
--- /dev/null
+++ b/dist/mixins/transition.d.ts
@@ -0,0 +1 @@
+export declare const transition: (showDefaultValue: boolean) => string;
diff --git a/dist/mixins/transition.js b/dist/mixins/transition.js
new file mode 100644
index 0000000..d30d326
--- /dev/null
+++ b/dist/mixins/transition.js
@@ -0,0 +1,105 @@
+import { isObj, requestAnimationFrame } from '../common/utils';
+const getClassNames = (name) => ({
+ enter: `van-${name}-enter van-${name}-enter-active enter-class enter-active-class`,
+ 'enter-to': `van-${name}-enter-to van-${name}-enter-active enter-to-class enter-active-class`,
+ leave: `van-${name}-leave van-${name}-leave-active leave-class leave-active-class`,
+ 'leave-to': `van-${name}-leave-to van-${name}-leave-active leave-to-class leave-active-class`,
+});
+export const transition = function (showDefaultValue) {
+ return Behavior({
+ properties: {
+ customStyle: String,
+ // @ts-ignore
+ show: {
+ type: Boolean,
+ value: showDefaultValue,
+ observer: 'observeShow',
+ },
+ // @ts-ignore
+ duration: {
+ type: null,
+ value: 300,
+ observer: 'observeDuration',
+ },
+ name: {
+ type: String,
+ value: 'fade',
+ },
+ },
+ data: {
+ type: '',
+ inited: false,
+ display: false,
+ },
+ methods: {
+ observeShow(value, old) {
+ if (value === old) {
+ return;
+ }
+ value ? this.enter() : this.leave();
+ },
+ enter() {
+ const { duration, name } = this.data;
+ const classNames = getClassNames(name);
+ const currentDuration = isObj(duration) ? duration.enter : duration;
+ this.status = 'enter';
+ this.$emit('before-enter');
+ requestAnimationFrame(() => {
+ this.checkStatus('enter');
+ this.$emit('enter');
+ this.setData({
+ inited: true,
+ display: true,
+ classes: classNames.enter,
+ currentDuration,
+ });
+ requestAnimationFrame(() => {
+ this.checkStatus('enter');
+ this.transitionEnded = false;
+ this.setData({ classes: classNames['enter-to'] });
+ });
+ });
+ },
+ leave() {
+ if (!this.data.display) {
+ return;
+ }
+ const { duration, name } = this.data;
+ const classNames = getClassNames(name);
+ const currentDuration = isObj(duration) ? duration.leave : duration;
+ this.status = 'leave';
+ this.$emit('before-leave');
+ requestAnimationFrame(() => {
+ this.checkStatus('leave');
+ this.$emit('leave');
+ this.setData({
+ classes: classNames.leave,
+ currentDuration,
+ });
+ requestAnimationFrame(() => {
+ this.checkStatus('leave');
+ this.transitionEnded = false;
+ setTimeout(() => this.onTransitionEnd(), currentDuration);
+ this.setData({ classes: classNames['leave-to'] });
+ });
+ });
+ },
+ checkStatus(status) {
+ if (status !== this.status) {
+ // throw new Error(`incongruent status: ${status}`);
+ }
+ },
+ onTransitionEnd() {
+ if (this.transitionEnded) {
+ return;
+ }
+ this.transitionEnded = true;
+ this.$emit(`after-${this.status}`);
+ const { show, display } = this.data;
+ if (!show && display) {
+ this.setData({ display: false });
+ }
+ },
+ },
+ });
+};
diff --git a/dist/nav-bar/index.d.ts b/dist/nav-bar/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/nav-bar/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/nav-bar/index.js b/dist/nav-bar/index.js
new file mode 100644
index 0000000..6db9c88
--- /dev/null
+++ b/dist/nav-bar/index.js
@@ -0,0 +1,63 @@
+import { VantComponent } from '../common/component';
+import { getRect, getSystemInfoSync } from '../common/utils';
+VantComponent({
+ classes: ['title-class'],
+ props: {
+ title: String,
+ fixed: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ placeholder: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ leftText: String,
+ rightText: String,
+ customStyle: String,
+ leftArrow: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: false,
+ },
+ },
+ data: {
+ height: 46,
+ },
+ created() {
+ const { statusBarHeight } = getSystemInfoSync();
+ this.setData({
+ statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ },
+ mounted() {
+ this.setHeight();
+ },
+ methods: {
+ onClickLeft() {
+ this.$emit('click-left');
+ },
+ onClickRight() {
+ this.$emit('click-right');
+ },
+ setHeight() {
+ if (!this.data.fixed || !this.data.placeholder) {
+ return;
+ }
+ wx.nextTick(() => {
+ getRect.call(this, '.van-nav-bar').then((res) => {
+ this.setData({ height: res.height });
+ });
+ });
+ },
+ },
+});
diff --git a/dist/nav-bar/index.json b/dist/nav-bar/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/dist/nav-bar/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/nav-bar/index.wxml b/dist/nav-bar/index.wxml
new file mode 100644
index 0000000..b6405fd
--- /dev/null
+++ b/dist/nav-bar/index.wxml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+ {{ leftText }}
+
+
+
+
+ {{ title }}
+
+
+
+ {{ rightText }}
+
+
+
+
diff --git a/dist/nav-bar/index.wxs b/dist/nav-bar/index.wxs
new file mode 100644
index 0000000..6482832
--- /dev/null
+++ b/dist/nav-bar/index.wxs
@@ -0,0 +1,17 @@
+/* eslint-disable */
+function barStyle(data) {
+ var styles = [
+ ['z-index', data.zIndex],
+ ['padding-top', data.safeAreaInsetTop ? data.statusBarHeight + 'px' : 0],
+ ];
+
+ return styles
+ .map(function (item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+module.exports = {
+ barStyle: barStyle,
+};
diff --git a/dist/nav-bar/index.wxss b/dist/nav-bar/index.wxss
new file mode 100644
index 0000000..48e9e3f
--- /dev/null
+++ b/dist/nav-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-nav-bar{position:relative;text-align:center;-webkit-user-select:none;user-select:none;height:46px;height:var(--nav-bar-height,46px);line-height:46px;line-height:var(--nav-bar-height,46px);background-color:#fff;background-color:var(--nav-bar-background-color,#fff)}.van-nav-bar__content{position:relative;height:100%}.van-nav-bar__text{display:inline-block;vertical-align:middle;margin:0 -16px;margin:0 -var(--padding-md,16px);padding:0 16px;padding:0 var(--padding-md,16px);color:#1989fa;color:var(--nav-bar-text-color,#1989fa)}.van-nav-bar__text--hover{background-color:#f2f3f5;background-color:var(--active-color,#f2f3f5)}.van-nav-bar__arrow{vertical-align:middle;font-size:16px!important;font-size:var(--nav-bar-arrow-size,16px)!important;color:#1989fa!important;color:var(--nav-bar-icon-color,#1989fa)!important}.van-nav-bar__arrow+.van-nav-bar__text{margin-left:-20px;padding-left:25px}.van-nav-bar--fixed{position:fixed;top:0;left:0;width:100%}.van-nav-bar__title{max-width:60%;margin:0 auto;color:#323233;color:var(--nav-bar-title-text-color,#323233);font-weight:500;font-weight:var(--font-weight-bold,500);font-size:16px;font-size:var(--nav-bar-title-font-size,16px)}.van-nav-bar__left,.van-nav-bar__right{position:absolute;top:0;bottom:0;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;font-size:14px;font-size:var(--font-size-md,14px)}.van-nav-bar__left{left:16px;left:var(--padding-md,16px)}.van-nav-bar__right{right:16px;right:var(--padding-md,16px)}
\ No newline at end of file
diff --git a/dist/notice-bar/index.d.ts b/dist/notice-bar/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/notice-bar/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/notice-bar/index.js b/dist/notice-bar/index.js
new file mode 100644
index 0000000..581c7cb
--- /dev/null
+++ b/dist/notice-bar/index.js
@@ -0,0 +1,135 @@
+import { VantComponent } from '../common/component';
+import { requestAnimationFrame } from '../common/utils';
+VantComponent({
+ props: {
+ text: {
+ type: String,
+ value: '',
+ observer() {
+ wx.nextTick(() => {
+ this.init();
+ });
+ },
+ },
+ mode: {
+ type: String,
+ value: '',
+ },
+ url: {
+ type: String,
+ value: '',
+ },
+ openType: {
+ type: String,
+ value: 'navigate',
+ },
+ delay: {
+ type: Number,
+ value: 1,
+ },
+ speed: {
+ type: Number,
+ value: 0,
+ observer() {
+ wx.nextTick(() => {
+ this.init();
+ });
+ },
+ },
+ scrollable: {
+ type: Boolean,
+ value: true,
+ },
+ leftIcon: {
+ type: String,
+ value: '',
+ },
+ color: String,
+ backgroundColor: String,
+ background: String,
+ fontSize: String,
+ wrapable: Boolean,
+ },
+ data: {
+ show: true,
+ },
+ created() {
+ this.resetAnimation = wx.createAnimation({
+ duration: 0,
+ timingFunction: 'linear',
+ });
+ },
+ destroyed() {
+ this.timer && clearTimeout(this.timer);
+ },
+ methods: {
+ init() {
+ Promise.all([
+ this.getRect('.van-notice-bar__content'),
+ this.getRect('.van-notice-bar__wrap'),
+ ]).then((rects) => {
+ const [contentRect, wrapRect] = rects;
+ if (
+ contentRect == null ||
+ wrapRect == null ||
+ !contentRect.width ||
+ !wrapRect.width
+ ) {
+ return;
+ }
+ const { speed, scrollable, delay } = this.data;
+ if (scrollable) {
+ // && wrapRect.width < contentRect.width 改为只要滚动就开启
+ let duration = 8000;
+ // console.log(speed, scrollable, delay, contentRect.width)
+ if(!speed) {
+ duration = 8000; //固定速度
+ }else {
+ duration = (contentRect.width / speed) * 1000;
+ }
+ this.wrapWidth = wrapRect.width;
+ this.contentWidth = contentRect.width;
+ this.duration = duration;
+ this.animation = wx.createAnimation({
+ duration,
+ timingFunction: 'linear',
+ delay,
+ });
+ this.scroll();
+ }
+ });
+ },
+ scroll() {
+ this.timer && clearTimeout(this.timer);
+ this.timer = null;
+ this.setData({
+ animationData: this.resetAnimation
+ .translateX(this.wrapWidth)
+ .step()
+ .export(),
+ });
+ requestAnimationFrame(() => {
+ this.setData({
+ animationData: this.animation
+ .translateX(-this.contentWidth)
+ .step()
+ .export(),
+ });
+ });
+ this.timer = setTimeout(() => {
+ this.scroll();
+ }, this.duration);
+ },
+ onClickIcon(event) {
+ if (this.data.mode === 'closeable') {
+ this.timer && clearTimeout(this.timer);
+ this.timer = null;
+ this.setData({ show: false });
+ this.$emit('close', event.detail);
+ }
+ },
+ onClick(event) {
+ this.$emit('click', event);
+ },
+ },
+});
diff --git a/dist/notice-bar/index.json b/dist/notice-bar/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/dist/notice-bar/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/notice-bar/index.wxml b/dist/notice-bar/index.wxml
new file mode 100644
index 0000000..015bbc1
--- /dev/null
+++ b/dist/notice-bar/index.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
+
+
+
+
diff --git a/dist/notice-bar/index.wxss b/dist/notice-bar/index.wxss
new file mode 100644
index 0000000..6a49858
--- /dev/null
+++ b/dist/notice-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-notice-bar{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;height:40px;height:var(--notice-bar-height,40px);padding:0 16px;padding:var(--notice-bar-padding,0 16px);font-size:14px;font-size:var(--notice-bar-font-size,14px);color:#ed6a0c;color:var(--notice-bar-text-color,#ed6a0c);line-height:24px;line-height:var(--notice-bar-line-height,24px);background-color:#fffbe8;background-color:var(--notice-bar-background-color,#fffbe8)}.van-notice-bar--withicon{position:relative;padding-right:40px}.van-notice-bar--wrapable{height:auto;padding:8px 16px;padding:var(--notice-bar-wrapable-padding,8px 16px)}.van-notice-bar--wrapable .van-notice-bar__wrap{height:auto}.van-notice-bar--wrapable .van-notice-bar__content{position:relative;white-space:normal}.van-notice-bar__left-icon{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;margin-right:4px;vertical-align:middle}.van-notice-bar__left-icon,.van-notice-bar__right-icon{font-size:16px;font-size:var(--notice-bar-icon-size,16px);min-width:22px;min-width:var(--notice-bar-icon-min-width,22px)}.van-notice-bar__right-icon{position:absolute;top:10px;right:15px}.van-notice-bar__wrap{position:relative;-webkit-flex:1;flex:1;overflow:hidden;height:24px;height:var(--notice-bar-line-height,24px)}.van-notice-bar__content{position:absolute;white-space:nowrap}.van-notice-bar__content.van-ellipsis{max-width:100%}
\ No newline at end of file
diff --git a/dist/notify/index.d.ts b/dist/notify/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/notify/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/notify/index.js b/dist/notify/index.js
new file mode 100644
index 0000000..ce63bfa
--- /dev/null
+++ b/dist/notify/index.js
@@ -0,0 +1,61 @@
+import { VantComponent } from '../common/component';
+import { WHITE } from '../common/color';
+VantComponent({
+ props: {
+ message: String,
+ background: String,
+ type: {
+ type: String,
+ value: 'danger',
+ },
+ color: {
+ type: String,
+ value: WHITE,
+ },
+ duration: {
+ type: Number,
+ value: 3000,
+ },
+ zIndex: {
+ type: Number,
+ value: 110,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: false,
+ },
+ top: null,
+ },
+ data: {
+ show: false,
+ },
+ created() {
+ const { statusBarHeight } = wx.getSystemInfoSync();
+ this.setData({ statusBarHeight });
+ },
+ methods: {
+ show() {
+ const { duration, onOpened } = this.data;
+ clearTimeout(this.timer);
+ this.setData({ show: true });
+ wx.nextTick(onOpened);
+ if (duration > 0 && duration !== Infinity) {
+ this.timer = setTimeout(() => {
+ this.hide();
+ }, duration);
+ }
+ },
+ hide() {
+ const { onClose } = this.data;
+ clearTimeout(this.timer);
+ this.setData({ show: false });
+ wx.nextTick(onClose);
+ },
+ onTap(event) {
+ const { onClick } = this.data;
+ if (onClick) {
+ onClick(event.detail);
+ }
+ },
+ },
+});
diff --git a/dist/notify/index.json b/dist/notify/index.json
new file mode 100644
index 0000000..c14a65f
--- /dev/null
+++ b/dist/notify/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/dist/notify/index.wxml b/dist/notify/index.wxml
new file mode 100644
index 0000000..060d1ba
--- /dev/null
+++ b/dist/notify/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ {{ message }}
+
+
diff --git a/dist/notify/index.wxss b/dist/notify/index.wxss
new file mode 100644
index 0000000..3b4aba6
--- /dev/null
+++ b/dist/notify/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-notify{text-align:center;word-wrap:break-word;padding:6px 15px;padding:var(--notify-padding,6px 15px);font-size:14px;font-size:var(--notify-font-size,14px);line-height:20px;line-height:var(--notify-line-height,20px)}.van-notify__container{position:fixed;top:0;box-sizing:border-box;width:100%}.van-notify--primary{background-color:#1989fa;background-color:var(--notify-primary-background-color,#1989fa)}.van-notify--success{background-color:#07c160;background-color:var(--notify-success-background-color,#07c160)}.van-notify--danger{background-color:#ee0a24;background-color:var(--notify-danger-background-color,#ee0a24)}.van-notify--warning{background-color:#ff976a;background-color:var(--notify-warning-background-color,#ff976a)}
\ No newline at end of file
diff --git a/dist/notify/notify.d.ts b/dist/notify/notify.d.ts
new file mode 100644
index 0000000..79b6f22
--- /dev/null
+++ b/dist/notify/notify.d.ts
@@ -0,0 +1,20 @@
+interface NotifyOptions {
+ type?: 'primary' | 'success' | 'danger' | 'warning';
+ color?: string;
+ zIndex?: number;
+ top?: number;
+ message: string;
+ context?: any;
+ duration?: number;
+ selector?: string;
+ background?: string;
+ safeAreaInsetTop?: boolean;
+ onClick?: () => void;
+ onOpened?: () => void;
+ onClose?: () => void;
+}
+declare function Notify(options: NotifyOptions | string): any;
+declare namespace Notify {
+ var clear: (options?: NotifyOptions) => void;
+}
+export default Notify;
diff --git a/dist/notify/notify.js b/dist/notify/notify.js
new file mode 100644
index 0000000..40a7ae5
--- /dev/null
+++ b/dist/notify/notify.js
@@ -0,0 +1,49 @@
+import { WHITE } from '../common/color';
+const defaultOptions = {
+ selector: '#van-notify',
+ type: 'danger',
+ message: '',
+ background: '',
+ duration: 3000,
+ zIndex: 110,
+ top: 0,
+ color: WHITE,
+ safeAreaInsetTop: false,
+ onClick: () => {},
+ onOpened: () => {},
+ onClose: () => {},
+};
+function parseOptions(message) {
+ return typeof message === 'string' ? { message } : message;
+}
+function getContext() {
+ const pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+export default function Notify(options) {
+ options = Object.assign(
+ Object.assign({}, defaultOptions),
+ parseOptions(options)
+ );
+ const context = options.context || getContext();
+ const notify = context.selectComponent(options.selector);
+ delete options.context;
+ delete options.selector;
+ if (notify) {
+ notify.setData(options);
+ notify.show();
+ return notify;
+ }
+ console.warn('未找到 van-notify 节点,请确认 selector 及 context 是否正确');
+}
+Notify.clear = function (options) {
+ options = Object.assign(
+ Object.assign({}, defaultOptions),
+ parseOptions(options)
+ );
+ const context = options.context || getContext();
+ const notify = context.selectComponent(options.selector);
+ if (notify) {
+ notify.hide();
+ }
+};
diff --git a/dist/overlay/index.d.ts b/dist/overlay/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/overlay/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/overlay/index.js b/dist/overlay/index.js
new file mode 100644
index 0000000..b709431
--- /dev/null
+++ b/dist/overlay/index.js
@@ -0,0 +1,22 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ show: Boolean,
+ customStyle: String,
+ duration: {
+ type: null,
+ value: 300,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ },
+ methods: {
+ onClick() {
+ this.$emit('click');
+ },
+ // for prevent touchmove
+ noop() {},
+ },
+});
diff --git a/dist/overlay/index.json b/dist/overlay/index.json
new file mode 100644
index 0000000..c14a65f
--- /dev/null
+++ b/dist/overlay/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/dist/overlay/index.wxml b/dist/overlay/index.wxml
new file mode 100644
index 0000000..9212348
--- /dev/null
+++ b/dist/overlay/index.wxml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/dist/overlay/index.wxss b/dist/overlay/index.wxss
new file mode 100644
index 0000000..0f9df0e
--- /dev/null
+++ b/dist/overlay/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);background-color:var(--overlay-background-color,rgba(0,0,0,.7))}
\ No newline at end of file
diff --git a/dist/panel/index.d.ts b/dist/panel/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/panel/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/panel/index.js b/dist/panel/index.js
new file mode 100644
index 0000000..4c24062
--- /dev/null
+++ b/dist/panel/index.js
@@ -0,0 +1,10 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: ['header-class', 'footer-class'],
+ props: {
+ desc: String,
+ title: String,
+ status: String,
+ useFooterSlot: Boolean,
+ },
+});
diff --git a/dist/panel/index.json b/dist/panel/index.json
new file mode 100644
index 0000000..0e5425c
--- /dev/null
+++ b/dist/panel/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index"
+ }
+}
diff --git a/dist/panel/index.wxml b/dist/panel/index.wxml
new file mode 100644
index 0000000..3f135d2
--- /dev/null
+++ b/dist/panel/index.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/panel/index.wxss b/dist/panel/index.wxss
new file mode 100644
index 0000000..ffd9df9
--- /dev/null
+++ b/dist/panel/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-panel{background:#fff;background:var(--panel-background-color,#fff)}.van-panel__header-value{color:#ee0a24;color:var(--panel-header-value-color,#ee0a24)}.van-panel__footer{padding:8px 16px;padding:var(--panel-footer-padding,8px 16px)}
\ No newline at end of file
diff --git a/dist/picker-column/index.d.ts b/dist/picker-column/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/picker-column/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/picker-column/index.js b/dist/picker-column/index.js
new file mode 100644
index 0000000..5ea335f
--- /dev/null
+++ b/dist/picker-column/index.js
@@ -0,0 +1,123 @@
+import { VantComponent } from '../common/component';
+import { isObj, range } from '../common/utils';
+const DEFAULT_DURATION = 200;
+VantComponent({
+ classes: ['active-class'],
+ props: {
+ valueKey: String,
+ className: String,
+ itemHeight: Number,
+ visibleItemCount: Number,
+ initialOptions: {
+ type: Array,
+ value: [],
+ },
+ defaultIndex: {
+ type: Number,
+ value: 0,
+ observer(value) {
+ this.setIndex(value);
+ },
+ },
+ },
+ data: {
+ startY: 0,
+ offset: 0,
+ duration: 0,
+ startOffset: 0,
+ options: [],
+ currentIndex: 0,
+ },
+ created() {
+ const { defaultIndex, initialOptions } = this.data;
+ this.set({
+ currentIndex: defaultIndex,
+ options: initialOptions,
+ }).then(() => {
+ this.setIndex(defaultIndex);
+ });
+ },
+ methods: {
+ getCount() {
+ return this.data.options.length;
+ },
+ onTouchStart(event) {
+ this.setData({
+ startY: event.touches[0].clientY,
+ startOffset: this.data.offset,
+ duration: 0,
+ });
+ },
+ onTouchMove(event) {
+ const { data } = this;
+ const deltaY = event.touches[0].clientY - data.startY;
+ this.setData({
+ offset: range(
+ data.startOffset + deltaY,
+ -(this.getCount() * data.itemHeight),
+ data.itemHeight
+ ),
+ });
+ },
+ onTouchEnd() {
+ const { data } = this;
+ if (data.offset !== data.startOffset) {
+ this.setData({ duration: DEFAULT_DURATION });
+ const index = range(
+ Math.round(-data.offset / data.itemHeight),
+ 0,
+ this.getCount() - 1
+ );
+ this.setIndex(index, true);
+ }
+ },
+ onClickItem(event) {
+ const { index } = event.currentTarget.dataset;
+ this.setIndex(index, true);
+ },
+ adjustIndex(index) {
+ const { data } = this;
+ const count = this.getCount();
+ index = range(index, 0, count);
+ for (let i = index; i < count; i++) {
+ if (!this.isDisabled(data.options[i])) return i;
+ }
+ for (let i = index - 1; i >= 0; i--) {
+ if (!this.isDisabled(data.options[i])) return i;
+ }
+ },
+ isDisabled(option) {
+ return isObj(option) && option.disabled;
+ },
+ getOptionText(option) {
+ const { data } = this;
+ return isObj(option) && data.valueKey in option
+ ? option[data.valueKey]
+ : option;
+ },
+ setIndex(index, userAction) {
+ const { data } = this;
+ index = this.adjustIndex(index) || 0;
+ const offset = -index * data.itemHeight;
+ if (index !== data.currentIndex) {
+ return this.set({ offset, currentIndex: index }).then(() => {
+ userAction && this.$emit('change', index);
+ });
+ }
+ return this.set({ offset });
+ },
+ setValue(value) {
+ const { options } = this.data;
+ for (let i = 0; i < options.length; i++) {
+ if (this.getOptionText(options[i]) === value) {
+ return this.setIndex(i);
+ }
+ }
+ return Promise.resolve();
+ },
+ getValue() {
+ const { data } = this;
+ return data.options[data.currentIndex];
+ },
+ },
+});
diff --git a/dist/picker-column/index.json b/dist/picker-column/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/picker-column/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/picker-column/index.wxml b/dist/picker-column/index.wxml
new file mode 100644
index 0000000..f052ed9
--- /dev/null
+++ b/dist/picker-column/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+ {{ getOptionText(option, valueKey) }}
+
+
diff --git a/dist/picker-column/index.wxs b/dist/picker-column/index.wxs
new file mode 100644
index 0000000..3c8fc68
--- /dev/null
+++ b/dist/picker-column/index.wxs
@@ -0,0 +1,8 @@
+function isObj(x) {
+ var type = typeof x;
+ return x !== null && (type === 'object' || type === 'function');
+}
+
+module.exports = function (option, valueKey) {
+ return isObj(option) && option[valueKey] != null ? option[valueKey] : option;
+}
diff --git a/dist/picker-column/index.wxss b/dist/picker-column/index.wxss
new file mode 100644
index 0000000..c5c6910
--- /dev/null
+++ b/dist/picker-column/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-picker-column{overflow:hidden;text-align:center;color:#000;color:var(--picker-option-text-color,#000);font-size:16px;font-size:var(--picker-option-font-size,16px)}.van-picker-column__item{padding:0 5px}.van-picker-column__item--selected{font-weight:500;font-weight:var(--font-weight-bold,500);color:#323233;color:var(--picker-option-selected-text-color,#323233)}.van-picker-column__item--disabled{opacity:.3;opacity:var(--picker-option-disabled-opacity,.3)}
\ No newline at end of file
diff --git a/dist/picker/index.d.ts b/dist/picker/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/picker/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/picker/index.js b/dist/picker/index.js
new file mode 100644
index 0000000..e1b3541
--- /dev/null
+++ b/dist/picker/index.js
@@ -0,0 +1,145 @@
+import { VantComponent } from '../common/component';
+import { pickerProps } from './shared';
+VantComponent({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: Object.assign(Object.assign({}, pickerProps), {
+ valueKey: {
+ type: String,
+ value: 'text',
+ },
+ toolbarPosition: {
+ type: String,
+ value: 'top',
+ },
+ defaultIndex: {
+ type: Number,
+ value: 0,
+ },
+ columns: {
+ type: Array,
+ value: [],
+ observer(columns = []) {
+ this.simple = columns.length && !columns[0].values;
+ this.children = this.selectAllComponents('.van-picker__column');
+ if (Array.isArray(this.children) && this.children.length) {
+ this.setColumns().catch(() => {});
+ }
+ },
+ },
+ }),
+ beforeCreate() {
+ this.children = [];
+ },
+ methods: {
+ noop() {},
+ setColumns() {
+ const { data } = this;
+ const columns = this.simple ? [{ values: data.columns }] : data.columns;
+ const stack = columns.map((column, index) =>
+ this.setColumnValues(index, column.values)
+ );
+ return Promise.all(stack);
+ },
+ emit(event) {
+ const { type } = event.currentTarget.dataset;
+ if (this.simple) {
+ this.$emit(type, {
+ value: this.getColumnValue(0),
+ index: this.getColumnIndex(0),
+ });
+ } else {
+ this.$emit(type, {
+ value: this.getValues(),
+ index: this.getIndexes(),
+ });
+ }
+ },
+ onChange(event) {
+ if (this.simple) {
+ this.$emit('change', {
+ picker: this,
+ value: this.getColumnValue(0),
+ index: this.getColumnIndex(0),
+ });
+ } else {
+ this.$emit('change', {
+ picker: this,
+ value: this.getValues(),
+ index: event.currentTarget.dataset.index,
+ });
+ }
+ },
+ // get column instance by index
+ getColumn(index) {
+ return this.children[index];
+ },
+ // get column value by index
+ getColumnValue(index) {
+ const column = this.getColumn(index);
+ return column && column.getValue();
+ },
+ // set column value by index
+ setColumnValue(index, value) {
+ const column = this.getColumn(index);
+ if (column == null) {
+ return Promise.reject(new Error('setColumnValue: 对应列不存在'));
+ }
+ return column.setValue(value);
+ },
+ // get column option index by column index
+ getColumnIndex(columnIndex) {
+ return (this.getColumn(columnIndex) || {}).data.currentIndex;
+ },
+ // set column option index by column index
+ setColumnIndex(columnIndex, optionIndex) {
+ const column = this.getColumn(columnIndex);
+ if (column == null) {
+ return Promise.reject(new Error('setColumnIndex: 对应列不存在'));
+ }
+ return column.setIndex(optionIndex);
+ },
+ // get options of column by index
+ getColumnValues(index) {
+ return (this.children[index] || {}).data.options;
+ },
+ // set options of column by index
+ setColumnValues(index, options, needReset = true) {
+ const column = this.children[index];
+ if (column == null) {
+ return Promise.reject(new Error('setColumnValues: 对应列不存在'));
+ }
+ const isSame =
+ JSON.stringify(column.data.options) === JSON.stringify(options);
+ if (isSame) {
+ return Promise.resolve();
+ }
+ return column.set({ options }).then(() => {
+ if (needReset) {
+ column.setIndex(0);
+ }
+ });
+ },
+ // get values of all columns
+ getValues() {
+ return this.children.map((child) => child.getValue());
+ },
+ // set values of all columns
+ setValues(values) {
+ const stack = values.map((value, index) =>
+ this.setColumnValue(index, value)
+ );
+ return Promise.all(stack);
+ },
+ // get indexes of all columns
+ getIndexes() {
+ return this.children.map((child) => child.data.currentIndex);
+ },
+ // set indexes of all columns
+ setIndexes(indexes) {
+ const stack = indexes.map((optionIndex, columnIndex) =>
+ this.setColumnIndex(columnIndex, optionIndex)
+ );
+ return Promise.all(stack);
+ },
+ },
+});
diff --git a/dist/picker/index.json b/dist/picker/index.json
new file mode 100644
index 0000000..2fcec89
--- /dev/null
+++ b/dist/picker/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "picker-column": "../picker-column/index",
+ "loading": "../loading/index"
+ }
+}
diff --git a/dist/picker/index.wxml b/dist/picker/index.wxml
new file mode 100644
index 0000000..519adb5
--- /dev/null
+++ b/dist/picker/index.wxml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ function isSimple(columns) {
+ return columns.length && !columns[0].values;
+ }
+ module.exports = isSimple;
+
diff --git a/dist/picker/index.wxss b/dist/picker/index.wxss
new file mode 100644
index 0000000..f74b164
--- /dev/null
+++ b/dist/picker/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-picker{position:relative;overflow:hidden;-webkit-text-size-adjust:100%;-webkit-user-select:none;user-select:none;background-color:#fff;background-color:var(--picker-background-color,#fff)}.van-picker__toolbar{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;height:44px;height:var(--picker-toolbar-height,44px);line-height:44px;line-height:var(--picker-toolbar-height,44px)}.van-picker__cancel,.van-picker__confirm{padding:0 16px;padding:var(--picker-action-padding,0 16px);font-size:14px;font-size:var(--picker-action-font-size,14px)}.van-picker__cancel--hover,.van-picker__confirm--hover{opacity:.7}.van-picker__confirm{color:#576b95;color:var(--picker-confirm-action-color,#576b95)}.van-picker__cancel{color:#969799;color:var(--picker-cancel-action-color,#969799)}.van-picker__title{max-width:50%;text-align:center;font-weight:500;font-weight:var(--font-weight-bold,500);font-size:16px;font-size:var(--picker-option-font-size,16px)}.van-picker__columns{position:relative;display:-webkit-flex;display:flex}.van-picker__column{-webkit-flex:1 1;flex:1 1;width:0}.van-picker__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;background-color:hsla(0,0%,100%,.9);background-color:var(--picker-loading-mask-color,hsla(0,0%,100%,.9))}.van-picker__mask{top:0;left:0;z-index:2;width:100%;height:100%;background-image:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4)),linear-gradient(0deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4));background-repeat:no-repeat;background-position:top,bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden}.van-picker__frame,.van-picker__mask{position:absolute;pointer-events:none}.van-picker__frame{top:50%;right:16px;left:16px;z-index:1;-webkit-transform:translateY(-50%);transform:translateY(-50%)}
\ No newline at end of file
diff --git a/dist/picker/shared.d.ts b/dist/picker/shared.d.ts
new file mode 100644
index 0000000..c548045
--- /dev/null
+++ b/dist/picker/shared.d.ts
@@ -0,0 +1,21 @@
+export declare const pickerProps: {
+ title: StringConstructor;
+ loading: BooleanConstructor;
+ showToolbar: BooleanConstructor;
+ cancelButtonText: {
+ type: StringConstructor;
+ value: string;
+ };
+ confirmButtonText: {
+ type: StringConstructor;
+ value: string;
+ };
+ visibleItemCount: {
+ type: NumberConstructor;
+ value: number;
+ };
+ itemHeight: {
+ type: NumberConstructor;
+ value: number;
+ };
+};
diff --git a/dist/picker/shared.js b/dist/picker/shared.js
new file mode 100644
index 0000000..8531290
--- /dev/null
+++ b/dist/picker/shared.js
@@ -0,0 +1,21 @@
+export const pickerProps = {
+ title: String,
+ loading: Boolean,
+ showToolbar: Boolean,
+ cancelButtonText: {
+ type: String,
+ value: '取消',
+ },
+ confirmButtonText: {
+ type: String,
+ value: '确认',
+ },
+ visibleItemCount: {
+ type: Number,
+ value: 6,
+ },
+ itemHeight: {
+ type: Number,
+ value: 44,
+ },
+};
diff --git a/dist/picker/toolbar.wxml b/dist/picker/toolbar.wxml
new file mode 100644
index 0000000..e41a730
--- /dev/null
+++ b/dist/picker/toolbar.wxml
@@ -0,0 +1,28 @@
+
+
+
+ {{ cancelButtonText }}
+
+ {{
+ title
+ }}
+
+ {{ confirmButtonText }}
+
+
+
diff --git a/dist/popup/index.d.ts b/dist/popup/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/popup/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/popup/index.js b/dist/popup/index.js
new file mode 100644
index 0000000..eb2d43e
--- /dev/null
+++ b/dist/popup/index.js
@@ -0,0 +1,84 @@
+import { VantComponent } from '../common/component';
+import { transition } from '../mixins/transition';
+VantComponent({
+ classes: [
+ 'enter-class',
+ 'enter-active-class',
+ 'enter-to-class',
+ 'leave-class',
+ 'leave-active-class',
+ 'leave-to-class',
+ 'close-icon-class',
+ ],
+ mixins: [transition(false)],
+ props: {
+ round: Boolean,
+ closeable: Boolean,
+ customStyle: String,
+ overlayStyle: String,
+ transition: {
+ type: String,
+ observer: 'observeClass',
+ },
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeIcon: {
+ type: String,
+ value: 'cross',
+ },
+ closeIconPosition: {
+ type: String,
+ value: 'top-right',
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ position: {
+ type: String,
+ value: 'center',
+ observer: 'observeClass',
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: false,
+ },
+ },
+ created() {
+ this.observeClass();
+ },
+ methods: {
+ onClickCloseIcon() {
+ this.$emit('close');
+ },
+ onClickOverlay() {
+ this.$emit('click-overlay');
+ if (this.data.closeOnClickOverlay) {
+ this.$emit('close');
+ }
+ },
+ observeClass() {
+ const { transition, position, duration } = this.data;
+ const updateData = {
+ name: transition || position,
+ };
+ if (transition === 'none') {
+ updateData.duration = 0;
+ this.originDuration = duration;
+ } else if (this.originDuration != null) {
+ updateData.duration = this.originDuration;
+ }
+ this.setData(updateData);
+ },
+ },
+});
diff --git a/dist/popup/index.json b/dist/popup/index.json
new file mode 100644
index 0000000..88a6eab
--- /dev/null
+++ b/dist/popup/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-overlay": "../overlay/index"
+ }
+}
diff --git a/dist/popup/index.wxml b/dist/popup/index.wxml
new file mode 100644
index 0000000..9b41e5c
--- /dev/null
+++ b/dist/popup/index.wxml
@@ -0,0 +1,24 @@
+
+
+
+
diff --git a/dist/popup/index.wxss b/dist/popup/index.wxss
new file mode 100644
index 0000000..6e477ac
--- /dev/null
+++ b/dist/popup/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-popup{position:fixed;box-sizing:border-box;max-height:100%;overflow-y:auto;transition-timing-function:ease;-webkit-animation:ease both;animation:ease both;-webkit-overflow-scrolling:touch;background-color:#fff;background-color:var(--popup-background-color,#fff)}.van-popup--center{top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.van-popup--center.van-popup--round{border-radius:20px;border-radius:var(--popup-round-border-radius,20px)}.van-popup--top{top:0;left:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 20px 20px;border-radius:0 0 var(--popup-round-border-radius,20px) var(--popup-round-border-radius,20px)}.van-popup--right{top:50%;right:0;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:20px 0 0 20px;border-radius:var(--popup-round-border-radius,20px) 0 0 var(--popup-round-border-radius,20px)}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:20px 20px 0 0;border-radius:var(--popup-round-border-radius,20px) var(--popup-round-border-radius,20px) 0 0}.van-popup--left{top:50%;left:0;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 20px 20px 0;border-radius:0 var(--popup-round-border-radius,20px) var(--popup-round-border-radius,20px) 0}.van-popup--bottom.van-popup--safe{padding-bottom:env(safe-area-inset-bottom)}.van-popup--safeTop{padding-top:env(safe-area-inset-top)}.van-popup__close-icon{position:absolute;z-index:1;z-index:var(--popup-close-icon-z-index,1);color:#969799;color:var(--popup-close-icon-color,#969799);font-size:18px;font-size:var(--popup-close-icon-size,18px)}.van-popup__close-icon--top-left{top:16px;top:var(--popup-close-icon-margin,16px);left:16px;left:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--top-right{top:16px;top:var(--popup-close-icon-margin,16px);right:16px;right:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--bottom-left{bottom:16px;bottom:var(--popup-close-icon-margin,16px);left:16px;left:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--bottom-right{right:16px;right:var(--popup-close-icon-margin,16px);bottom:16px;bottom:var(--popup-close-icon-margin,16px)}.van-popup__close-icon:active{opacity:.6}.van-scale-enter-active,.van-scale-leave-active{transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.van-scale-enter,.van-scale-leave-to{-webkit-transform:translate3d(-50%,-50%,0) scale(.7);transform:translate3d(-50%,-50%,0) scale(.7);opacity:0}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-center-enter-active,.van-center-leave-active{transition-property:opacity}.van-center-enter,.van-center-leave-to{opacity:0}.van-bottom-enter-active,.van-bottom-leave-active,.van-left-enter-active,.van-left-leave-active,.van-right-enter-active,.van-right-leave-active,.van-top-enter-active,.van-top-leave-active{transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.van-bottom-enter,.van-bottom-leave-to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.van-top-enter,.van-top-leave-to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.van-left-enter,.van-left-leave-to{-webkit-transform:translate3d(-100%,-50%,0);transform:translate3d(-100%,-50%,0)}.van-right-enter,.van-right-leave-to{-webkit-transform:translate3d(100%,-50%,0);transform:translate3d(100%,-50%,0)}
\ No newline at end of file
diff --git a/dist/progress/index.d.ts b/dist/progress/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/progress/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/progress/index.js b/dist/progress/index.js
new file mode 100644
index 0000000..8136d5e
--- /dev/null
+++ b/dist/progress/index.js
@@ -0,0 +1,27 @@
+import { VantComponent } from '../common/component';
+import { BLUE } from '../common/color';
+VantComponent({
+ props: {
+ inactive: Boolean,
+ percentage: Number,
+ pivotText: String,
+ pivotColor: String,
+ trackColor: String,
+ showPivot: {
+ type: Boolean,
+ value: true,
+ },
+ color: {
+ type: String,
+ value: BLUE,
+ },
+ textColor: {
+ type: String,
+ value: '#fff',
+ },
+ strokeWidth: {
+ type: null,
+ value: 4,
+ },
+ },
+});
diff --git a/dist/progress/index.json b/dist/progress/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/progress/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/progress/index.wxml b/dist/progress/index.wxml
new file mode 100644
index 0000000..e5981f0
--- /dev/null
+++ b/dist/progress/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ {{ getters.text(pivotText, percentage) }}
+
+
+
diff --git a/dist/progress/index.wxs b/dist/progress/index.wxs
new file mode 100644
index 0000000..d685345
--- /dev/null
+++ b/dist/progress/index.wxs
@@ -0,0 +1,5 @@
+module.exports = {
+ text: function(pivotText, percentage) {
+ return pivotText || percentage + '%';
+ }
+};
diff --git a/dist/progress/index.wxss b/dist/progress/index.wxss
new file mode 100644
index 0000000..33c62c7
--- /dev/null
+++ b/dist/progress/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-progress{position:relative;height:4px;height:var(--progress-height,4px);border-radius:4px;border-radius:var(--progress-height,4px);background:#ebedf0;background:var(--progress-background-color,#ebedf0)}.van-progress__portion{position:absolute;left:0;height:100%;border-radius:inherit;background:#1989fa;background:var(--progress-color,#1989fa)}.van-progress__pivot{position:absolute;top:50%;right:0;box-sizing:border-box;min-width:2em;text-align:center;word-break:keep-all;border-radius:1em;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#fff;color:var(--progress-pivot-text-color,#fff);padding:0 5px;padding:var(--progress-pivot-padding,0 5px);font-size:10px;font-size:var(--progress-pivot-font-size,10px);line-height:1.6;line-height:var(--progress-pivot-line-height,1.6);background-color:#1989fa;background-color:var(--progress-pivot-background-color,#1989fa)}
\ No newline at end of file
diff --git a/dist/radio-group/index.d.ts b/dist/radio-group/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/radio-group/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/radio-group/index.js b/dist/radio-group/index.js
new file mode 100644
index 0000000..f6fb725
--- /dev/null
+++ b/dist/radio-group/index.js
@@ -0,0 +1,34 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ field: true,
+ relation: {
+ name: 'radio',
+ type: 'descendant',
+ current: 'radio-group',
+ linked(target) {
+ this.updateChild(target);
+ },
+ },
+ props: {
+ value: {
+ type: null,
+ observer: 'updateChildren',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ },
+ methods: {
+ updateChildren() {
+ (this.children || []).forEach((child) => this.updateChild(child));
+ },
+ updateChild(child) {
+ const { value, disabled } = this.data;
+ child.setData({
+ value,
+ disabled: disabled || child.data.disabled,
+ });
+ },
+ },
+});
diff --git a/dist/radio-group/index.json b/dist/radio-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/radio-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/radio-group/index.wxml b/dist/radio-group/index.wxml
new file mode 100644
index 0000000..4fa864c
--- /dev/null
+++ b/dist/radio-group/index.wxml
@@ -0,0 +1 @@
+
diff --git a/dist/radio-group/index.wxss b/dist/radio-group/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/dist/radio-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/dist/radio/index.d.ts b/dist/radio/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/radio/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/radio/index.js b/dist/radio/index.js
new file mode 100644
index 0000000..7d85612
--- /dev/null
+++ b/dist/radio/index.js
@@ -0,0 +1,48 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ field: true,
+ relation: {
+ name: 'radio-group',
+ type: 'ancestor',
+ current: 'radio',
+ },
+ classes: ['icon-class', 'label-class'],
+ props: {
+ name: null,
+ value: null,
+ disabled: Boolean,
+ useIconSlot: Boolean,
+ checkedColor: String,
+ labelPosition: {
+ type: String,
+ value: 'right',
+ },
+ labelDisabled: Boolean,
+ shape: {
+ type: String,
+ value: 'round',
+ },
+ iconSize: {
+ type: null,
+ value: 20,
+ },
+ },
+ methods: {
+ emitChange(value) {
+ const instance = this.parent || this;
+ instance.$emit('input', value);
+ instance.$emit('change', value);
+ },
+ onChange() {
+ if (!this.data.disabled) {
+ this.emitChange(this.data.name);
+ }
+ },
+ onClickLabel() {
+ const { disabled, labelDisabled, name } = this.data;
+ if (!disabled && !labelDisabled) {
+ this.emitChange(name);
+ }
+ },
+ },
+});
diff --git a/dist/radio/index.json b/dist/radio/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/dist/radio/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/radio/index.wxml b/dist/radio/index.wxml
new file mode 100644
index 0000000..0b748ef
--- /dev/null
+++ b/dist/radio/index.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/radio/index.wxss b/dist/radio/index.wxss
new file mode 100644
index 0000000..96c81f0
--- /dev/null
+++ b/dist/radio/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-radio{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;overflow:hidden;-webkit-user-select:none;user-select:none}.van-radio__icon-wrap{-webkit-flex:none;flex:none}.van-radio__icon{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;box-sizing:border-box;width:1em;height:1em;color:transparent;text-align:center;transition-property:color,border-color,background-color;border:1px solid #c8c9cc;border:1px solid var(--radio-border-color,#c8c9cc);font-size:20px;font-size:var(--radio-size,20px);transition-duration:.2s;transition-duration:var(--radio-transition-duration,.2s)}.van-radio__icon--round{border-radius:100%}.van-radio__icon--checked{color:#fff;color:var(--white,#fff);background-color:#1989fa;background-color:var(--radio-checked-icon-color,#1989fa);border-color:#1989fa;border-color:var(--radio-checked-icon-color,#1989fa)}.van-radio__icon--disabled{background-color:#ebedf0;background-color:var(--radio-disabled-background-color,#ebedf0);border-color:#c8c9cc;border-color:var(--radio-disabled-icon-color,#c8c9cc)}.van-radio__icon--disabled.van-radio__icon--checked{color:#c8c9cc;color:var(--radio-disabled-icon-color,#c8c9cc)}.van-radio__label{word-wrap:break-word;margin-left:10px;margin-left:var(--radio-label-margin,10px);color:#323233;color:var(--radio-label-color,#323233);line-height:20px;line-height:var(--radio-size,20px)}.van-radio__label--left{float:left;margin:0 10px 0 0;margin:0 var(--radio-label-margin,10px) 0 0}.van-radio__label--disabled{color:#c8c9cc;color:var(--radio-disabled-label-color,#c8c9cc)}.van-radio__label:empty{margin:0}
\ No newline at end of file
diff --git a/dist/rate/index.d.ts b/dist/rate/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/rate/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/rate/index.js b/dist/rate/index.js
new file mode 100644
index 0000000..99e6692
--- /dev/null
+++ b/dist/rate/index.js
@@ -0,0 +1,87 @@
+import { VantComponent } from '../common/component';
+import { canIUseModel } from '../common/version';
+VantComponent({
+ field: true,
+ classes: ['icon-class'],
+ props: {
+ value: {
+ type: Number,
+ observer(value) {
+ if (value !== this.data.innerValue) {
+ this.setData({ innerValue: value });
+ }
+ },
+ },
+ readonly: Boolean,
+ disabled: Boolean,
+ allowHalf: Boolean,
+ size: null,
+ icon: {
+ type: String,
+ value: 'star',
+ },
+ voidIcon: {
+ type: String,
+ value: 'star-o',
+ },
+ color: {
+ type: String,
+ value: '#ffd21e',
+ },
+ voidColor: {
+ type: String,
+ value: '#c7c7c7',
+ },
+ disabledColor: {
+ type: String,
+ value: '#bdbdbd',
+ },
+ count: {
+ type: Number,
+ value: 5,
+ observer(value) {
+ this.setData({ innerCountArray: Array.from({ length: value }) });
+ },
+ },
+ gutter: null,
+ touchable: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ innerValue: 0,
+ innerCountArray: Array.from({ length: 5 }),
+ },
+ methods: {
+ onSelect(event) {
+ const { data } = this;
+ const { score } = event.currentTarget.dataset;
+ if (!data.disabled && !data.readonly) {
+ this.setData({ innerValue: score + 1 });
+ if (canIUseModel()) {
+ this.setData({ value: score + 1 });
+ }
+ wx.nextTick(() => {
+ this.$emit('input', score + 1);
+ this.$emit('change', score + 1);
+ });
+ }
+ },
+ onTouchMove(event) {
+ const { touchable } = this.data;
+ if (!touchable) return;
+ const { clientX } = event.touches[0];
+ this.getRect('.van-rate__icon', true).then((list) => {
+ const target = list
+ .sort((item) => item.right - item.left)
+ .find((item) => clientX >= item.left && clientX <= item.right);
+ if (target != null) {
+ this.onSelect(
+ Object.assign(Object.assign({}, event), { currentTarget: target })
+ );
+ }
+ });
+ },
+ },
+});
diff --git a/dist/rate/index.json b/dist/rate/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/dist/rate/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/rate/index.wxml b/dist/rate/index.wxml
new file mode 100644
index 0000000..58eee5c
--- /dev/null
+++ b/dist/rate/index.wxml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
diff --git a/dist/rate/index.wxss b/dist/rate/index.wxss
new file mode 100644
index 0000000..6fd3435
--- /dev/null
+++ b/dist/rate/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-rate{display:-webkit-inline-flex;display:inline-flex;-webkit-user-select:none;user-select:none}.van-rate__item{position:relative;padding:0 2px;padding:0 var(--rate-horizontal-padding,2px)}.van-rate__icon{display:block;height:1em;font-size:20px;font-size:var(--rate-icon-size,20px)}.van-rate__icon--half{position:absolute;top:0;width:.5em;overflow:hidden;left:2px;left:var(--rate-horizontal-padding,2px)}
\ No newline at end of file
diff --git a/dist/row/index.d.ts b/dist/row/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/row/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/row/index.js b/dist/row/index.js
new file mode 100644
index 0000000..3b2cc28
--- /dev/null
+++ b/dist/row/index.js
@@ -0,0 +1,40 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ relation: {
+ name: 'col',
+ type: 'descendant',
+ current: 'row',
+ linked(target) {
+ if (this.data.gutter) {
+ target.setGutter(this.data.gutter);
+ }
+ },
+ },
+ props: {
+ gutter: {
+ type: Number,
+ observer: 'setGutter',
+ },
+ },
+ data: {
+ viewStyle: '',
+ },
+ mounted() {
+ if (this.data.gutter) {
+ this.setGutter();
+ }
+ },
+ methods: {
+ setGutter() {
+ const { gutter } = this.data;
+ const margin = `-${Number(gutter) / 2}px`;
+ const viewStyle = gutter
+ ? `margin-right: ${margin}; margin-left: ${margin};`
+ : '';
+ this.setData({ viewStyle });
+ this.getRelationNodes('../col/index').forEach((col) => {
+ col.setGutter(this.data.gutter);
+ });
+ },
+ },
+});
diff --git a/dist/row/index.json b/dist/row/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/row/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/row/index.wxml b/dist/row/index.wxml
new file mode 100644
index 0000000..ab8fcf5
--- /dev/null
+++ b/dist/row/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/row/index.wxss b/dist/row/index.wxss
new file mode 100644
index 0000000..32a098b
--- /dev/null
+++ b/dist/row/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-row:after{display:table;clear:both;content:""}
\ No newline at end of file
diff --git a/dist/search/index.d.ts b/dist/search/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/search/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/search/index.js b/dist/search/index.js
new file mode 100644
index 0000000..778d005
--- /dev/null
+++ b/dist/search/index.js
@@ -0,0 +1,78 @@
+import { VantComponent } from '../common/component';
+import { canIUseModel } from '../common/version';
+VantComponent({
+ field: true,
+ classes: ['field-class', 'input-class', 'cancel-class'],
+ props: {
+ label: String,
+ focus: Boolean,
+ error: Boolean,
+ disabled: Boolean,
+ readonly: Boolean,
+ inputAlign: String,
+ showAction: Boolean,
+ useActionSlot: Boolean,
+ useLeftIconSlot: Boolean,
+ useRightIconSlot: Boolean,
+ leftIcon: {
+ type: String,
+ value: 'search',
+ },
+ rightIcon: String,
+ placeholder: String,
+ placeholderStyle: String,
+ actionText: {
+ type: String,
+ value: '取消',
+ },
+ background: {
+ type: String,
+ value: '#ffffff',
+ },
+ maxlength: {
+ type: Number,
+ value: -1,
+ },
+ shape: {
+ type: String,
+ value: 'square',
+ },
+ clearable: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ onChange(event) {
+ if (canIUseModel()) {
+ this.setData({ value: event.detail });
+ }
+ this.$emit('change', event.detail);
+ },
+ onCancel() {
+ /**
+ * 修复修改输入框值时,输入框失焦和赋值同时触发,赋值失效
+ * https://github.com/youzan/@vant/weapp/issues/1768
+ */
+ setTimeout(() => {
+ if (canIUseModel()) {
+ this.setData({ value: '' });
+ }
+ this.$emit('cancel');
+ this.$emit('change', '');
+ }, 200);
+ },
+ onSearch(event) {
+ this.$emit('search', event.detail);
+ },
+ onFocus(event) {
+ this.$emit('focus', event.detail);
+ },
+ onBlur(event) {
+ this.$emit('blur', event.detail);
+ },
+ onClear(event) {
+ this.$emit('clear', event.detail);
+ },
+ },
+});
diff --git a/dist/search/index.json b/dist/search/index.json
new file mode 100644
index 0000000..b4cfe91
--- /dev/null
+++ b/dist/search/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../field/index"
+ }
+}
diff --git a/dist/search/index.wxml b/dist/search/index.wxml
new file mode 100644
index 0000000..1d0e6f1
--- /dev/null
+++ b/dist/search/index.wxml
@@ -0,0 +1,50 @@
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+ {{ actionText }}
+
+
diff --git a/dist/search/index.wxss b/dist/search/index.wxss
new file mode 100644
index 0000000..32247c5
--- /dev/null
+++ b/dist/search/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-search{-webkit-align-items:center;align-items:center;box-sizing:border-box;padding:10px 12px;padding:var(--search-padding,10px 12px)}.van-search,.van-search__content{display:-webkit-flex;display:flex}.van-search__content{-webkit-flex:1;flex:1;padding-left:8px;padding-left:var(--padding-xs,8px);border-radius:2px;border-radius:var(--border-radius-sm,2px);background-color:#f7f8fa;background-color:var(--search-background-color,#f7f8fa)}.van-search__content--round{border-radius:17px;border-radius:calc(var(--search-input-height, 34px)/2)}.van-search__label{padding:0 5px;padding:var(--search-label-padding,0 5px);font-size:14px;font-size:var(--search-label-font-size,14px);line-height:34px;line-height:var(--search-input-height,34px);color:#323233;color:var(--search-label-color,#323233)}.van-search__field{-webkit-flex:1;flex:1}.van-search__field__left-icon{color:#969799;color:var(--search-left-icon-color,#969799)}.van-search--withaction{padding-right:0}.van-search__action{padding:0 8px;padding:var(--search-action-padding,0 8px);font-size:14px;font-size:var(--search-action-font-size,14px);line-height:34px;line-height:var(--search-input-height,34px);color:#323233;color:var(--search-action-text-color,#323233)}.van-search__action--hover{background-color:#f2f3f5;background-color:var(--active-color,#f2f3f5)}
\ No newline at end of file
diff --git a/dist/share-sheet/index.d.ts b/dist/share-sheet/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/share-sheet/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/share-sheet/index.js b/dist/share-sheet/index.js
new file mode 100644
index 0000000..27d0c7b
--- /dev/null
+++ b/dist/share-sheet/index.js
@@ -0,0 +1,55 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ // whether to show popup
+ show: Boolean,
+ // overlay custom style
+ overlayStyle: Object,
+ // z-index
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ title: String,
+ cancelText: {
+ type: String,
+ value: '取消',
+ },
+ description: String,
+ options: {
+ type: Array,
+ value: [],
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ duration: {
+ type: null,
+ value: 300,
+ },
+ },
+ methods: {
+ onClickOverlay() {
+ this.$emit('click-overlay');
+ },
+ onCancel() {
+ this.onClose();
+ this.$emit('cancel');
+ },
+ onSelect(event) {
+ this.$emit('select', event.detail);
+ },
+ onClose() {
+ this.$emit('close');
+ },
+ },
+});
diff --git a/dist/share-sheet/index.json b/dist/share-sheet/index.json
new file mode 100644
index 0000000..15a7c22
--- /dev/null
+++ b/dist/share-sheet/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "options": "./options"
+ }
+}
diff --git a/dist/share-sheet/index.wxml b/dist/share-sheet/index.wxml
new file mode 100644
index 0000000..cefc3af
--- /dev/null
+++ b/dist/share-sheet/index.wxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/share-sheet/index.wxs b/dist/share-sheet/index.wxs
new file mode 100644
index 0000000..2149ee9
--- /dev/null
+++ b/dist/share-sheet/index.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+function isMulti(options) {
+ if (options == null || options[0] == null) {
+ return false;
+ }
+
+ return "Array" === options.constructor && "Array" === options[0].constructor;
+}
+
+module.exports = {
+ isMulti: isMulti
+};
diff --git a/dist/share-sheet/index.wxss b/dist/share-sheet/index.wxss
new file mode 100644
index 0000000..8d42eb2
--- /dev/null
+++ b/dist/share-sheet/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-share-sheet__header{padding:12px 16px 4px;text-align:center}.van-share-sheet__title{margin-top:8px;color:#323233;font-weight:400;font-size:14px;line-height:20px}.van-share-sheet__title:empty,.van-share-sheet__title:not(:empty)+.van-share-sheet__title{display:none}.van-share-sheet__description{display:block;margin-top:8px;color:#969799;font-size:12px;line-height:16px}.van-share-sheet__description:empty,.van-share-sheet__description:not(:empty)+.van-share-sheet__description{display:none}.van-share-sheet__cancel{display:block;box-sizing:initial;width:100%;height:auto;padding:0;font-size:16px;line-height:48px;text-align:center;background:#fff;border:none}.van-share-sheet__cancel:before{display:block;height:8px;background-color:#f7f8fa;content:" "}.van-share-sheet__cancel:after{display:none}.van-share-sheet__cancel:active{background-color:#f2f3f5}
\ No newline at end of file
diff --git a/dist/share-sheet/options.d.ts b/dist/share-sheet/options.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/share-sheet/options.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/share-sheet/options.js b/dist/share-sheet/options.js
new file mode 100644
index 0000000..c1bd03b
--- /dev/null
+++ b/dist/share-sheet/options.js
@@ -0,0 +1,14 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ options: Array,
+ showBorder: Boolean,
+ },
+ methods: {
+ onSelect(event) {
+ const { index } = event.currentTarget.dataset;
+ const option = this.data.options[index];
+ this.$emit('select', Object.assign(Object.assign({}, option), { index }));
+ },
+ },
+});
diff --git a/dist/share-sheet/options.json b/dist/share-sheet/options.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/share-sheet/options.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/share-sheet/options.wxml b/dist/share-sheet/options.wxml
new file mode 100644
index 0000000..cad6837
--- /dev/null
+++ b/dist/share-sheet/options.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ {{ item.name }}
+
+ {{ item.description }}
+
+
+
diff --git a/dist/share-sheet/options.wxs b/dist/share-sheet/options.wxs
new file mode 100644
index 0000000..ab6033b
--- /dev/null
+++ b/dist/share-sheet/options.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var PRESET_ICONS = ['qq', 'weibo', 'wechat', 'link', 'qrcode', 'poster'];
+
+function getIconURL(icon) {
+ if (PRESET_ICONS.indexOf(icon) !== -1) {
+ return 'https://img.yzcdn.cn/vant/share-icon-' + icon + '.png';
+ }
+
+ return icon;
+}
+
+module.exports = {
+ getIconURL: getIconURL,
+};
diff --git a/dist/share-sheet/options.wxss b/dist/share-sheet/options.wxss
new file mode 100644
index 0000000..ca7b02f
--- /dev/null
+++ b/dist/share-sheet/options.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-share-sheet__options{position:relative;display:-webkit-flex;display:flex;padding:16px 0 16px 8px;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.van-share-sheet__options--border:before{position:absolute;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;content:" ";pointer-events:none;top:0;right:0;left:16px;border-top:1px solid #ebedf0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.van-share-sheet__options::-webkit-scrollbar{height:0}.van-share-sheet__option{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-user-select:none;user-select:none}.van-share-sheet__option:active{opacity:.7}.van-share-sheet__button{height:auto;padding:0;line-height:inherit;background-color:initial;border:0}.van-share-sheet__button:after{border:0}.van-share-sheet__icon{width:48px;height:48px;margin:0 16px}.van-share-sheet__name{margin-top:8px;padding:0 4px;color:#646566;font-size:12px}.van-share-sheet__option-description{padding:0 4px;color:#c8c9cc;font-size:12px}
\ No newline at end of file
diff --git a/dist/sidebar-item/index.d.ts b/dist/sidebar-item/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/sidebar-item/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/sidebar-item/index.js b/dist/sidebar-item/index.js
new file mode 100644
index 0000000..f15b69d
--- /dev/null
+++ b/dist/sidebar-item/index.js
@@ -0,0 +1,32 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: ['active-class', 'disabled-class'],
+ relation: {
+ type: 'ancestor',
+ name: 'sidebar',
+ current: 'sidebar-item',
+ },
+ props: {
+ dot: Boolean,
+ badge: null,
+ info: null,
+ title: String,
+ disabled: Boolean,
+ },
+ methods: {
+ onClick() {
+ const { parent } = this;
+ if (!parent || this.data.disabled) {
+ return;
+ }
+ const index = parent.children.indexOf(this);
+ parent.setActive(index).then(() => {
+ this.$emit('click', index);
+ parent.$emit('change', index);
+ });
+ },
+ setActive(selected) {
+ return this.setData({ selected });
+ },
+ },
+});
diff --git a/dist/sidebar-item/index.json b/dist/sidebar-item/index.json
new file mode 100644
index 0000000..bf0ebe0
--- /dev/null
+++ b/dist/sidebar-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index"
+ }
+}
diff --git a/dist/sidebar-item/index.wxml b/dist/sidebar-item/index.wxml
new file mode 100644
index 0000000..c5c08a6
--- /dev/null
+++ b/dist/sidebar-item/index.wxml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/dist/sidebar-item/index.wxss b/dist/sidebar-item/index.wxss
new file mode 100644
index 0000000..308dc9c
--- /dev/null
+++ b/dist/sidebar-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sidebar-item{display:block;box-sizing:border-box;overflow:hidden;word-wrap:break-word;border-left:3px solid transparent;-webkit-user-select:none;user-select:none;padding:20px 12px 20px 8px;padding:var(--sidebar-padding,20px 12px 20px 8px);font-size:14px;font-size:var(--sidebar-font-size,14px);line-height:20px;line-height:var(--sidebar-line-height,20px);color:#323233;color:var(--sidebar-text-color,#323233);background-color:#f7f8fa;background-color:var(--sidebar-background-color,#f7f8fa)}.van-sidebar-item__text{position:relative;display:inline-block}.van-sidebar-item--hover:not(.van-sidebar-item--disabled){background-color:#f2f3f5;background-color:var(--sidebar-active-color,#f2f3f5)}.van-sidebar-item:after{border-bottom-width:1px}.van-sidebar-item--selected{color:#323233;color:var(--sidebar-selected-text-color,#323233);font-weight:500;font-weight:var(--sidebar-selected-font-weight,500);border-color:#ee0a24;border-color:var(--sidebar-selected-border-color,#ee0a24)}.van-sidebar-item--selected:after{border-right-width:1px}.van-sidebar-item--selected,.van-sidebar-item--selected.van-sidebar-item--hover{background-color:#fff;background-color:var(--sidebar-selected-background-color,#fff)}.van-sidebar-item--disabled{color:#c8c9cc;color:var(--sidebar-disabled-text-color,#c8c9cc)}
\ No newline at end of file
diff --git a/dist/sidebar/index.d.ts b/dist/sidebar/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/sidebar/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/sidebar/index.js b/dist/sidebar/index.js
new file mode 100644
index 0000000..2812b1b
--- /dev/null
+++ b/dist/sidebar/index.js
@@ -0,0 +1,41 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ relation: {
+ name: 'sidebar-item',
+ type: 'descendant',
+ current: 'sidebar',
+ linked() {
+ this.setActive(this.data.activeKey);
+ },
+ unlinked() {
+ this.setActive(this.data.activeKey);
+ },
+ },
+ props: {
+ activeKey: {
+ type: Number,
+ value: 0,
+ observer: 'setActive',
+ },
+ },
+ beforeCreate() {
+ this.currentActive = -1;
+ },
+ methods: {
+ setActive(activeKey) {
+ const { children, currentActive } = this;
+ if (!children.length) {
+ return Promise.resolve();
+ }
+ this.currentActive = activeKey;
+ const stack = [];
+ if (currentActive !== activeKey && children[currentActive]) {
+ stack.push(children[currentActive].setActive(false));
+ }
+ if (children[activeKey]) {
+ stack.push(children[activeKey].setActive(true));
+ }
+ return Promise.all(stack);
+ },
+ },
+});
diff --git a/dist/sidebar/index.json b/dist/sidebar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/sidebar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/sidebar/index.wxml b/dist/sidebar/index.wxml
new file mode 100644
index 0000000..96b11c7
--- /dev/null
+++ b/dist/sidebar/index.wxml
@@ -0,0 +1,3 @@
+
diff --git a/dist/sidebar/index.wxss b/dist/sidebar/index.wxss
new file mode 100644
index 0000000..ba3ba94
--- /dev/null
+++ b/dist/sidebar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sidebar{width:85px;width:var(--sidebar-width,85px)}
\ No newline at end of file
diff --git a/dist/skeleton/index.d.ts b/dist/skeleton/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/skeleton/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/skeleton/index.js b/dist/skeleton/index.js
new file mode 100644
index 0000000..aab922d
--- /dev/null
+++ b/dist/skeleton/index.js
@@ -0,0 +1,46 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: ['avatar-class', 'title-class', 'row-class'],
+ props: {
+ row: {
+ type: Number,
+ value: 0,
+ observer(value) {
+ this.setData({ rowArray: Array.from({ length: value }) });
+ },
+ },
+ title: Boolean,
+ avatar: Boolean,
+ loading: {
+ type: Boolean,
+ value: true,
+ },
+ animate: {
+ type: Boolean,
+ value: true,
+ },
+ avatarSize: {
+ type: String,
+ value: '32px',
+ },
+ avatarShape: {
+ type: String,
+ value: 'round',
+ },
+ titleWidth: {
+ type: String,
+ value: '40%',
+ },
+ rowWidth: {
+ type: null,
+ value: '100%',
+ observer(val) {
+ this.setData({ isArray: val instanceof Array });
+ },
+ },
+ },
+ data: {
+ isArray: false,
+ rowArray: [],
+ },
+});
diff --git a/dist/skeleton/index.json b/dist/skeleton/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/dist/skeleton/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/dist/skeleton/index.wxml b/dist/skeleton/index.wxml
new file mode 100644
index 0000000..058e2ef
--- /dev/null
+++ b/dist/skeleton/index.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/skeleton/index.wxss b/dist/skeleton/index.wxss
new file mode 100644
index 0000000..565b26e
--- /dev/null
+++ b/dist/skeleton/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-skeleton{display:-webkit-flex;display:flex;box-sizing:border-box;width:100%;padding:0 16px;padding:var(--skeleton-padding,0 16px)}.van-skeleton__avatar{-webkit-flex-shrink:0;flex-shrink:0;margin-right:16px;margin-right:var(--padding-md,16px);background-color:#f2f3f5;background-color:var(--skeleton-avatar-background-color,#f2f3f5)}.van-skeleton__avatar--round{border-radius:100%}.van-skeleton__content{-webkit-flex:1;flex:1}.van-skeleton__avatar+.van-skeleton__content{padding-top:8px;padding-top:var(--padding-xs,8px)}.van-skeleton__row,.van-skeleton__title{height:16px;height:var(--skeleton-row-height,16px);background-color:#f2f3f5;background-color:var(--skeleton-row-background-color,#f2f3f5)}.van-skeleton__title{margin:0}.van-skeleton__row:not(:first-child){margin-top:12px;margin-top:var(--skeleton-row-margin-top,12px)}.van-skeleton__title+.van-skeleton__row{margin-top:20px}.van-skeleton--animate{-webkit-animation:van-skeleton-blink 1.2s ease-in-out infinite;animation:van-skeleton-blink 1.2s ease-in-out infinite}@-webkit-keyframes van-skeleton-blink{50%{opacity:.6}}@keyframes van-skeleton-blink{50%{opacity:.6}}
\ No newline at end of file
diff --git a/dist/slider/index.d.ts b/dist/slider/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/slider/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/slider/index.js b/dist/slider/index.js
new file mode 100644
index 0000000..9743292
--- /dev/null
+++ b/dist/slider/index.js
@@ -0,0 +1,106 @@
+import { VantComponent } from '../common/component';
+import { touch } from '../mixins/touch';
+import { canIUseModel } from '../common/version';
+VantComponent({
+ mixins: [touch],
+ props: {
+ disabled: Boolean,
+ useButtonSlot: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ max: {
+ type: Number,
+ value: 100,
+ },
+ min: {
+ type: Number,
+ value: 0,
+ },
+ step: {
+ type: Number,
+ value: 1,
+ },
+ value: {
+ type: Number,
+ value: 0,
+ observer(val) {
+ if (val !== this.value) {
+ this.updateValue(val);
+ }
+ },
+ },
+ barHeight: {
+ type: null,
+ value: 2,
+ },
+ },
+ created() {
+ this.updateValue(this.data.value);
+ },
+ methods: {
+ onTouchStart(event) {
+ if (this.data.disabled) return;
+ this.touchStart(event);
+ this.startValue = this.format(this.value);
+ this.dragStatus = 'start';
+ },
+ onTouchMove(event) {
+ if (this.data.disabled) return;
+ if (this.dragStatus === 'start') {
+ this.$emit('drag-start');
+ }
+ this.touchMove(event);
+ this.dragStatus = 'draging';
+ this.getRect('.van-slider').then((rect) => {
+ const diff = (this.deltaX / rect.width) * 100;
+ this.newValue = this.startValue + diff;
+ this.updateValue(this.newValue, false, true);
+ });
+ },
+ onTouchEnd() {
+ if (this.data.disabled) return;
+ if (this.dragStatus === 'draging') {
+ this.updateValue(this.newValue, true);
+ this.$emit('drag-end');
+ }
+ },
+ onClick(event) {
+ if (this.data.disabled) return;
+ const { min } = this.data;
+ this.getRect('.van-slider').then((rect) => {
+ const value =
+ ((event.detail.x - rect.left) / rect.width) * this.getRange() + min;
+ this.updateValue(value, true);
+ });
+ },
+ updateValue(value, end, drag) {
+ value = this.format(value);
+ const { min } = this.data;
+ const width = `${((value - min) * 100) / this.getRange()}%`;
+ this.value = value;
+ this.setData({
+ barStyle: `
+ width: ${width};
+ ${drag ? 'transition: none;' : ''}
+ `,
+ });
+ if (drag) {
+ this.$emit('drag', { value });
+ }
+ if (end) {
+ this.$emit('change', value);
+ }
+ if ((drag || end) && canIUseModel()) {
+ this.setData({ value });
+ }
+ },
+ getRange() {
+ const { max, min } = this.data;
+ return max - min;
+ },
+ format(value) {
+ const { max, min, step } = this.data;
+ return Math.round(Math.max(min, Math.min(value, max)) / step) * step;
+ },
+ },
+});
diff --git a/dist/slider/index.json b/dist/slider/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/slider/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/slider/index.wxml b/dist/slider/index.wxml
new file mode 100644
index 0000000..6a430f3
--- /dev/null
+++ b/dist/slider/index.wxml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/slider/index.wxs b/dist/slider/index.wxs
new file mode 100644
index 0000000..d6404d6
--- /dev/null
+++ b/dist/slider/index.wxs
@@ -0,0 +1,20 @@
+/* eslint-disable */
+var utils = require('../wxs/utils.wxs');
+
+function barStyle(barHeight, activeColor) {
+ var styles = [['height', utils.addUnit(barHeight)]];
+
+ if (activeColor) {
+ styles.push(['background', activeColor]);
+ }
+
+ return styles
+ .map(function (item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+module.exports = {
+ barStyle: barStyle,
+};
diff --git a/dist/slider/index.wxss b/dist/slider/index.wxss
new file mode 100644
index 0000000..7886b60
--- /dev/null
+++ b/dist/slider/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-slider{position:relative;border-radius:999px;border-radius:var(--border-radius-max,999px);background-color:#ebedf0;background-color:var(--slider-inactive-background-color,#ebedf0)}.van-slider:before{position:absolute;right:0;left:0;content:"";top:-8px;top:-var(--padding-xs,8px);bottom:-8px;bottom:-var(--padding-xs,8px)}.van-slider__bar{position:relative;border-radius:inherit;transition:width .2s;transition:width var(--animation-duration-fast,.2s);background-color:#1989fa;background-color:var(--slider-active-background-color,#1989fa)}.van-slider__button{width:24px;height:24px;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.5);background-color:#fff;background-color:var(--slider-button-background-color,#fff)}.van-slider__button-wrapper{position:absolute;top:50%;right:0;-webkit-transform:translate3d(50%,-50%,0);transform:translate3d(50%,-50%,0)}.van-slider--disabled{opacity:.5}
\ No newline at end of file
diff --git a/dist/stepper/index.d.ts b/dist/stepper/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/stepper/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/stepper/index.js b/dist/stepper/index.js
new file mode 100644
index 0000000..dd41e34
--- /dev/null
+++ b/dist/stepper/index.js
@@ -0,0 +1,191 @@
+import { VantComponent } from '../common/component';
+import { isDef } from '../common/utils';
+const LONG_PRESS_START_TIME = 600;
+const LONG_PRESS_INTERVAL = 200;
+// add num and avoid float number
+function add(num1, num2) {
+ const cardinal = Math.pow(10, 10);
+ return Math.round((num1 + num2) * cardinal) / cardinal;
+}
+function equal(value1, value2) {
+ return String(value1) === String(value2);
+}
+VantComponent({
+ field: true,
+ classes: ['input-class', 'plus-class', 'minus-class'],
+ props: {
+ value: {
+ type: null,
+ observer(value) {
+ if (!equal(value, this.data.currentValue)) {
+ this.setData({ currentValue: this.format(value) });
+ }
+ },
+ },
+ integer: {
+ type: Boolean,
+ observer: 'check',
+ },
+ disabled: Boolean,
+ inputWidth: null,
+ buttonSize: null,
+ asyncChange: Boolean,
+ disableInput: Boolean,
+ decimalLength: {
+ type: Number,
+ value: null,
+ observer: 'check',
+ },
+ min: {
+ type: null,
+ value: 1,
+ observer: 'check',
+ },
+ max: {
+ type: null,
+ value: Number.MAX_SAFE_INTEGER,
+ observer: 'check',
+ },
+ step: {
+ type: null,
+ value: 1,
+ },
+ showPlus: {
+ type: Boolean,
+ value: true,
+ },
+ showMinus: {
+ type: Boolean,
+ value: true,
+ },
+ disablePlus: Boolean,
+ disableMinus: Boolean,
+ longPress: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ currentValue: '',
+ },
+ created() {
+ this.setData({
+ currentValue: this.format(this.data.value),
+ });
+ },
+ methods: {
+ check() {
+ const val = this.format(this.data.currentValue);
+ if (!equal(val, this.data.currentValue)) {
+ this.setData({ currentValue: val });
+ }
+ },
+ isDisabled(type) {
+ if (type === 'plus') {
+ return (
+ this.data.disabled ||
+ this.data.disablePlus ||
+ this.data.currentValue >= this.data.max
+ );
+ }
+ return (
+ this.data.disabled ||
+ this.data.disableMinus ||
+ this.data.currentValue <= this.data.min
+ );
+ },
+ onFocus(event) {
+ this.$emit('focus', event.detail);
+ },
+ onBlur(event) {
+ const value = this.format(event.detail.value);
+ this.emitChange(value);
+ this.$emit(
+ 'blur',
+ Object.assign(Object.assign({}, event.detail), { value })
+ );
+ },
+ // filter illegal characters
+ filter(value) {
+ value = String(value).replace(/[^0-9.-]/g, '');
+ if (this.data.integer && value.indexOf('.') !== -1) {
+ value = value.split('.')[0];
+ }
+ return value;
+ },
+ // limit value range
+ format(value) {
+ value = this.filter(value);
+ // format range
+ value = value === '' ? 0 : +value;
+ value = Math.max(Math.min(this.data.max, value), this.data.min);
+ // format decimal
+ if (isDef(this.data.decimalLength)) {
+ value = value.toFixed(this.data.decimalLength);
+ }
+ return value;
+ },
+ onInput(event) {
+ const { value = '' } = event.detail || {};
+ // allow input to be empty
+ if (value === '') {
+ return;
+ }
+ let formatted = this.filter(value);
+ // limit max decimal length
+ if (isDef(this.data.decimalLength) && formatted.indexOf('.') !== -1) {
+ const pair = formatted.split('.');
+ formatted = `${pair[0]}.${pair[1].slice(0, this.data.decimalLength)}`;
+ }
+ this.emitChange(formatted);
+ },
+ emitChange(value) {
+ if (!this.data.asyncChange) {
+ this.setData({ currentValue: value });
+ }
+ this.$emit('change', value);
+ },
+ onChange() {
+ const { type } = this;
+ if (this.isDisabled(type)) {
+ this.$emit('overlimit', type);
+ return;
+ }
+ const diff = type === 'minus' ? -this.data.step : +this.data.step;
+ const value = this.format(add(+this.data.currentValue, diff));
+ this.emitChange(value);
+ this.$emit(type);
+ },
+ longPressStep() {
+ this.longPressTimer = setTimeout(() => {
+ this.onChange();
+ this.longPressStep();
+ }, LONG_PRESS_INTERVAL);
+ },
+ onTap(event) {
+ const { type } = event.currentTarget.dataset;
+ this.type = type;
+ this.onChange();
+ },
+ onTouchStart(event) {
+ if (!this.data.longPress) {
+ return;
+ }
+ clearTimeout(this.longPressTimer);
+ const { type } = event.currentTarget.dataset;
+ this.type = type;
+ this.isLongPress = false;
+ this.longPressTimer = setTimeout(() => {
+ this.isLongPress = true;
+ this.onChange();
+ this.longPressStep();
+ }, LONG_PRESS_START_TIME);
+ },
+ onTouchEnd() {
+ if (!this.data.longPress) {
+ return;
+ }
+ clearTimeout(this.longPressTimer);
+ },
+ },
+});
diff --git a/dist/stepper/index.json b/dist/stepper/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/stepper/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/stepper/index.wxml b/dist/stepper/index.wxml
new file mode 100644
index 0000000..9570420
--- /dev/null
+++ b/dist/stepper/index.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
diff --git a/dist/stepper/index.wxss b/dist/stepper/index.wxss
new file mode 100644
index 0000000..5da5b79
--- /dev/null
+++ b/dist/stepper/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-stepper{font-size:0}.van-stepper__minus,.van-stepper__plus{position:relative;display:inline-block;box-sizing:border-box;margin:1px;vertical-align:middle;border:0;background-color:#f2f3f5;background-color:var(--stepper-background-color,#f2f3f5);color:#323233;color:var(--stepper-button-icon-color,#323233);width:28px;width:var(--stepper-input-height,28px);height:28px;height:var(--stepper-input-height,28px);padding:4px;padding:var(--padding-base,4px)}.van-stepper__minus:before,.van-stepper__plus:before{width:9px;height:1px}.van-stepper__minus:after,.van-stepper__plus:after{width:1px;height:9px}.van-stepper__minus:after,.van-stepper__minus:before,.van-stepper__plus:after,.van-stepper__plus:before{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;background-color:currentColor;content:""}.van-stepper__minus--hover,.van-stepper__plus--hover{background-color:#e8e8e8;background-color:var(--stepper-active-color,#e8e8e8)}.van-stepper__minus--disabled,.van-stepper__plus--disabled{color:#c8c9cc;color:var(--stepper-button-disabled-icon-color,#c8c9cc)}.van-stepper__minus--disabled,.van-stepper__minus--disabled.van-stepper__minus--hover,.van-stepper__minus--disabled.van-stepper__plus--hover,.van-stepper__plus--disabled,.van-stepper__plus--disabled.van-stepper__minus--hover,.van-stepper__plus--disabled.van-stepper__plus--hover{background-color:#f7f8fa;background-color:var(--stepper-button-disabled-color,#f7f8fa)}.van-stepper__minus{border-radius:4px 0 0 4px;border-radius:var(--stepper-border-radius,4px) 0 0 var(--stepper-border-radius,4px)}.van-stepper__minus:after{display:none}.van-stepper__plus{border-radius:0 4px 4px 0;border-radius:0 var(--stepper-border-radius,4px) var(--stepper-border-radius,4px) 0}.van-stepper__input{display:inline-block;box-sizing:border-box;min-height:0;margin:1px;padding:1px;text-align:center;vertical-align:middle;border:0;border-width:1px 0;border-radius:0;-webkit-appearance:none;font-size:14px;font-size:var(--stepper-input-font-size,14px);color:#323233;color:var(--stepper-input-text-color,#323233);background-color:#f2f3f5;background-color:var(--stepper-background-color,#f2f3f5);width:32px;width:var(--stepper-input-width,32px);height:28px;height:var(--stepper-input-height,28px)}.van-stepper__input--disabled{color:#c8c9cc;color:var(--stepper-input-disabled-text-color,#c8c9cc);background-color:#f2f3f5;background-color:var(--stepper-input-disabled-background-color,#f2f3f5)}
\ No newline at end of file
diff --git a/dist/steps/index.d.ts b/dist/steps/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/steps/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/steps/index.js b/dist/steps/index.js
new file mode 100644
index 0000000..a89ed4a
--- /dev/null
+++ b/dist/steps/index.js
@@ -0,0 +1,33 @@
+import { VantComponent } from '../common/component';
+import { GREEN, GRAY_DARK } from '../common/color';
+VantComponent({
+ classes: ['desc-class'],
+ props: {
+ icon: String,
+ steps: Array,
+ active: Number,
+ direction: {
+ type: String,
+ value: 'horizontal',
+ },
+ activeColor: {
+ type: String,
+ value: GREEN,
+ },
+ inactiveColor: {
+ type: String,
+ value: GRAY_DARK,
+ },
+ activeIcon: {
+ type: String,
+ value: 'checked',
+ },
+ inactiveIcon: String,
+ },
+ methods: {
+ onClick(event) {
+ const { index } = event.currentTarget.dataset;
+ this.$emit('click-step', index);
+ },
+ },
+});
diff --git a/dist/steps/index.json b/dist/steps/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/dist/steps/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/steps/index.wxml b/dist/steps/index.wxml
new file mode 100644
index 0000000..6180b41
--- /dev/null
+++ b/dist/steps/index.wxml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+ {{ item.text }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+function get(index, active) {
+ if (index < active) {
+ return 'finish';
+ } else if (index === active) {
+ return 'process';
+ }
+
+ return 'inactive';
+}
+
+module.exports = get;
+
diff --git a/dist/steps/index.wxss b/dist/steps/index.wxss
new file mode 100644
index 0000000..2c50b1a
--- /dev/null
+++ b/dist/steps/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-steps{overflow:hidden;background-color:#fff;background-color:var(--steps-background-color,#fff)}.van-steps--horizontal{padding:10px}.van-steps--horizontal .van-step__wrapper{position:relative;display:-webkit-flex;display:flex;overflow:hidden}.van-steps--vertical{padding-left:10px}.van-steps--vertical .van-step__wrapper{padding:0 0 0 20px}.van-step{position:relative;-webkit-flex:1;flex:1;font-size:14px;font-size:var(--step-font-size,14px);color:#969799;color:var(--step-text-color,#969799)}.van-step--finish{color:#323233;color:var(--step-finish-text-color,#323233)}.van-step__circle{border-radius:50%;width:5px;width:var(--step-circle-size,5px);height:5px;height:var(--step-circle-size,5px);background-color:#969799;background-color:var(--step-circle-color,#969799)}.van-step--horizontal{padding-bottom:14px}.van-step--horizontal:first-child .van-step__title{-webkit-transform:none;transform:none}.van-step--horizontal:first-child .van-step__circle-container{padding:0 8px 0 0;-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}.van-step--horizontal:last-child{position:absolute;right:0;width:auto}.van-step--horizontal:last-child .van-step__title{text-align:right;-webkit-transform:none;transform:none}.van-step--horizontal:last-child .van-step__circle-container{right:0;padding:0 0 0 8px;-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}.van-step--horizontal .van-step__circle-container{position:absolute;bottom:6px;z-index:1;-webkit-transform:translate3d(-50%,50%,0);transform:translate3d(-50%,50%,0);background-color:#fff;background-color:var(--white,#fff);padding:0 8px;padding:0 var(--padding-xs,8px)}.van-step--horizontal .van-step__title{display:inline-block;-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);font-size:12px;font-size:var(--step-horizontal-title-font-size,12px)}.van-step--horizontal .van-step__line{position:absolute;right:0;bottom:6px;left:0;height:1px;-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0);background-color:#ebedf0;background-color:var(--step-line-color,#ebedf0)}.van-step--horizontal.van-step--process{color:#323233;color:var(--step-process-text-color,#323233)}.van-step--horizontal.van-step--process .van-step__icon{display:block;line-height:1;font-size:12px;font-size:var(--step-icon-size,12px)}.van-step--vertical{padding:10px 10px 10px 0;line-height:18px}.van-step--vertical:after{border-bottom-width:1px}.van-step--vertical:last-child:after{border-bottom-width:none}.van-step--vertical:first-child:before{position:absolute;top:0;left:-15px;z-index:1;width:1px;height:20px;content:"";background-color:#fff;background-color:var(--white,#fff)}.van-step--vertical .van-step__circle,.van-step--vertical .van-step__icon,.van-step--vertical .van-step__line{position:absolute;top:19px;left:-14px;z-index:2;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.van-step--vertical .van-step__icon{line-height:1;font-size:12px;font-size:var(--step-icon-size,12px)}.van-step--vertical .van-step__line{z-index:1;width:1px;height:100%;-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);background-color:#ebedf0;background-color:var(--step-line-color,#ebedf0)}
\ No newline at end of file
diff --git a/dist/sticky/index.d.ts b/dist/sticky/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/sticky/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/sticky/index.js b/dist/sticky/index.js
new file mode 100644
index 0000000..0dc5e48
--- /dev/null
+++ b/dist/sticky/index.js
@@ -0,0 +1,117 @@
+import { VantComponent } from '../common/component';
+import { pageScrollMixin } from '../mixins/page-scroll';
+const ROOT_ELEMENT = '.van-sticky';
+VantComponent({
+ props: {
+ zIndex: {
+ type: Number,
+ value: 99,
+ },
+ offsetTop: {
+ type: Number,
+ value: 0,
+ observer: 'onScroll',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'onScroll',
+ },
+ container: {
+ type: null,
+ observer: 'onScroll',
+ },
+ scrollTop: {
+ type: null,
+ observer(val) {
+ this.onScroll({ scrollTop: val });
+ },
+ },
+ isTab:{
+ type:null,
+ value:false
+ }
+ },
+ mixins: [
+ pageScrollMixin(function (event) {
+ if (this.data.scrollTop != null) {
+ return;
+ }
+ this.onScroll(event);
+ }),
+ ],
+ data: {
+ height: 0,
+ fixed: false,
+ transform: 0,
+ },
+ mounted() {
+ this.onScroll();
+ },
+ methods: {
+ onScroll({ scrollTop } = {}) {
+ const { container, offsetTop, disabled } = this.data;
+ if (disabled) {
+ this.setDataAfterDiff({
+ fixed: false,
+ transform: 0,
+ });
+ return;
+ }
+ this.scrollTop = scrollTop || this.scrollTop;
+ if (typeof container === 'function') {
+ Promise.all([this.getRect(ROOT_ELEMENT), this.getContainerRect()]).then(
+ ([root, container]) => {
+ if(container.height + container.top < 0) {
+ // 解决选项卡fixed定位点击bug
+ return;
+ }
+ if (offsetTop + root.height > container.height + container.top) {
+ this.setDataAfterDiff({
+ fixed: false,
+ transform: container.height - root.height,
+ });
+ } else if (offsetTop >= root.top) {
+ this.setDataAfterDiff({
+ fixed: true,
+ height: root.height,
+ transform: 0,
+ });
+ } else {
+ this.setDataAfterDiff({ fixed: false, transform: 0 });
+ }
+ }
+ );
+ return;
+ }
+ this.getRect(ROOT_ELEMENT).then((root) => {
+ if (offsetTop >= root.top) {
+ this.setDataAfterDiff({ fixed: true, height: root.height });
+ this.transform = 0;
+ } else {
+ this.setDataAfterDiff({ fixed: false });
+ }
+ });
+ },
+ setDataAfterDiff(data) {
+ wx.nextTick(() => {
+ const diff = Object.keys(data).reduce((prev, key) => {
+ if (data[key] !== this.data[key]) {
+ prev[key] = data[key];
+ }
+ return prev;
+ }, {});
+ this.setData(diff);
+ this.$emit('scroll', {
+ scrollTop: this.scrollTop,
+ isFixed: data.fixed || this.data.fixed,
+ });
+ });
+ },
+ getContainerRect() {
+ const nodesRef = this.data.container();
+ return new Promise((resolve) =>
+ nodesRef.boundingClientRect(resolve).exec()
+ );
+ },
+ },
+});
diff --git a/dist/sticky/index.json b/dist/sticky/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/sticky/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/sticky/index.wxml b/dist/sticky/index.wxml
new file mode 100644
index 0000000..dc97436
--- /dev/null
+++ b/dist/sticky/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/dist/sticky/index.wxs b/dist/sticky/index.wxs
new file mode 100644
index 0000000..18efe14
--- /dev/null
+++ b/dist/sticky/index.wxs
@@ -0,0 +1,37 @@
+/* eslint-disable */
+function wrapStyle(data) {
+ var style = '';
+
+ if (data.transform) {
+ style += 'transform: translate3d(0, ' + data.transform + 'px, 0);';
+ }
+
+ if (data.fixed) {
+ style += 'top: ' + data.offsetTop + 'px;';
+ }
+
+ if (data.zIndex) {
+ style += 'z-index: ' + data.zIndex + ';';
+ }
+
+ return style;
+}
+
+function containerStyle(data) {
+ var style = '';
+
+ if (data.fixed) {
+ style += 'height: ' + data.height + 'px;';
+ }
+
+ if (data.zIndex) {
+ style += 'z-index: ' + data.zIndex + ';';
+ }
+
+ return style;
+}
+
+module.exports = {
+ wrapStyle: wrapStyle,
+ containerStyle: containerStyle
+};
diff --git a/dist/sticky/index.wxss b/dist/sticky/index.wxss
new file mode 100644
index 0000000..5269387
--- /dev/null
+++ b/dist/sticky/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sticky{position:relative}.van-sticky-wrap--fixed{position:fixed;right:0;left:0}
\ No newline at end of file
diff --git a/dist/submit-bar/index.d.ts b/dist/submit-bar/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/submit-bar/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/submit-bar/index.js b/dist/submit-bar/index.js
new file mode 100644
index 0000000..4a888ff
--- /dev/null
+++ b/dist/submit-bar/index.js
@@ -0,0 +1,57 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: ['bar-class', 'price-class', 'button-class'],
+ props: {
+ tip: {
+ type: null,
+ observer: 'updateTip',
+ },
+ tipIcon: String,
+ type: Number,
+ price: {
+ type: null,
+ observer: 'updatePrice',
+ },
+ label: String,
+ loading: Boolean,
+ disabled: Boolean,
+ buttonText: String,
+ currency: {
+ type: String,
+ value: '¥',
+ },
+ buttonType: {
+ type: String,
+ value: 'danger',
+ },
+ decimalLength: {
+ type: Number,
+ value: 2,
+ observer: 'updatePrice',
+ },
+ suffixLabel: String,
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ updatePrice() {
+ const { price, decimalLength } = this.data;
+ const priceStrArr =
+ typeof price === 'number' &&
+ (price / 100).toFixed(decimalLength).split('.');
+ this.setData({
+ hasPrice: typeof price === 'number',
+ integerStr: priceStrArr && priceStrArr[0],
+ decimalStr: decimalLength && priceStrArr ? `.${priceStrArr[1]}` : '',
+ });
+ },
+ updateTip() {
+ this.setData({ hasTip: typeof this.data.tip === 'string' });
+ },
+ onSubmit(event) {
+ this.$emit('submit', event.detail);
+ },
+ },
+});
diff --git a/dist/submit-bar/index.json b/dist/submit-bar/index.json
new file mode 100644
index 0000000..bda9b8d
--- /dev/null
+++ b/dist/submit-bar/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../button/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/submit-bar/index.wxml b/dist/submit-bar/index.wxml
new file mode 100644
index 0000000..a56dd46
--- /dev/null
+++ b/dist/submit-bar/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+ {{ tip }}
+
+
+
+
+
+
+
+ {{ label || '合计:' }}
+
+ {{ currency }}
+ {{ integerStr }}{{decimalStr}}
+
+ {{ suffixLabel }}
+
+
+ {{ loading ? '' : buttonText }}
+
+
+
+
+
diff --git a/dist/submit-bar/index.wxss b/dist/submit-bar/index.wxss
new file mode 100644
index 0000000..3126e91
--- /dev/null
+++ b/dist/submit-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-submit-bar{position:fixed;bottom:0;left:0;width:100%;-webkit-user-select:none;user-select:none;z-index:100;z-index:var(--submit-bar-z-index,100);background-color:#fff;background-color:var(--submit-bar-background-color,#fff)}.van-submit-bar__tip{padding:10px;padding:var(--submit-bar-tip-padding,10px);color:#f56723;color:var(--submit-bar-tip-color,#f56723);font-size:12px;font-size:var(--submit-bar-tip-font-size,12px);line-height:1.5;line-height:var(--submit-bar-tip-line-height,1.5);background-color:#fff7cc;background-color:var(--submit-bar-tip-background-color,#fff7cc)}.van-submit-bar__tip:empty{display:none}.van-submit-bar__tip-icon{width:12px;height:12px;margin-right:4px;vertical-align:middle;font-size:12px;font-size:var(--submit-bar-tip-icon-size,12px);min-width:18px;min-width:calc(var(--submit-bar-tip-icon-size, 12px)*1.5)}.van-submit-bar__tip-text{display:inline;vertical-align:middle}.van-submit-bar__bar{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:flex-end;justify-content:flex-end;padding:0 16px;padding:var(--submit-bar-padding,0 16px);height:50px;height:var(--submit-bar-height,50px);font-size:14px;font-size:var(--submit-bar-text-font-size,14px);background-color:#fff;background-color:var(--submit-bar-background-color,#fff)}.van-submit-bar__safe{height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom)}.van-submit-bar__text{-webkit-flex:1;flex:1;text-align:right;color:#323233;color:var(--submit-bar-text-color,#323233);padding-right:12px;padding-right:var(--padding-sm,12px)}.van-submit-bar__price,.van-submit-bar__text{font-weight:500;font-weight:var(--font-weight-bold,500)}.van-submit-bar__price{color:#ee0a24;color:var(--submit-bar-price-color,#ee0a24);font-size:12px;font-size:var(--submit-bar-price-font-size,12px)}.van-submit-bar__price-integer{font-size:20px;font-family:Avenir-Heavy,PingFang SC,Helvetica Neue,Arial,sans-serif}.van-submit-bar__currency{font-size:12px;font-size:var(--submit-bar-currency-font-size,12px)}.van-submit-bar__suffix-label{margin-left:5px}.van-submit-bar__button{width:110px;width:var(--submit-bar-button-width,110px);font-weight:500;font-weight:var(--font-weight-bold,500);--button-default-height:40px!important;--button-default-height:var(--submit-bar-button-height,40px)!important;--button-line-height:40px!important;--button-line-height:var(--submit-bar-button-height,40px)!important}
\ No newline at end of file
diff --git a/dist/swipe-cell/index.d.ts b/dist/swipe-cell/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/swipe-cell/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/swipe-cell/index.js b/dist/swipe-cell/index.js
new file mode 100644
index 0000000..3141258
--- /dev/null
+++ b/dist/swipe-cell/index.js
@@ -0,0 +1,129 @@
+import { VantComponent } from '../common/component';
+import { touch } from '../mixins/touch';
+import { range } from '../common/utils';
+const THRESHOLD = 0.3;
+let ARRAY = [];
+VantComponent({
+ props: {
+ disabled: Boolean,
+ leftWidth: {
+ type: Number,
+ value: 0,
+ observer(leftWidth = 0) {
+ if (this.offset > 0) {
+ this.swipeMove(leftWidth);
+ }
+ },
+ },
+ rightWidth: {
+ type: Number,
+ value: 0,
+ observer(rightWidth = 0) {
+ if (this.offset < 0) {
+ this.swipeMove(-rightWidth);
+ }
+ },
+ },
+ asyncClose: Boolean,
+ name: {
+ type: [Number, String],
+ value: '',
+ },
+ },
+ mixins: [touch],
+ data: {
+ catchMove: false,
+ },
+ created() {
+ this.offset = 0;
+ ARRAY.push(this);
+ },
+ destroyed() {
+ ARRAY = ARRAY.filter((item) => item !== this);
+ },
+ methods: {
+ open(position) {
+ const { leftWidth, rightWidth } = this.data;
+ const offset = position === 'left' ? leftWidth : -rightWidth;
+ this.swipeMove(offset);
+ this.$emit('open', {
+ position,
+ name: this.data.name,
+ });
+ },
+ close() {
+ this.swipeMove(0);
+ },
+ swipeMove(offset = 0) {
+ this.offset = range(offset, -this.data.rightWidth, this.data.leftWidth);
+ const transform = `translate3d(${this.offset}px, 0, 0)`;
+ const transition = this.dragging
+ ? 'none'
+ : 'transform .6s cubic-bezier(0.18, 0.89, 0.32, 1)';
+ this.setData({
+ wrapperStyle: `
+ -webkit-transform: ${transform};
+ -webkit-transition: ${transition};
+ transform: ${transform};
+ transition: ${transition};
+ `,
+ });
+ },
+ swipeLeaveTransition() {
+ const { leftWidth, rightWidth } = this.data;
+ const { offset } = this;
+ if (rightWidth > 0 && -offset > rightWidth * THRESHOLD) {
+ this.open('right');
+ } else if (leftWidth > 0 && offset > leftWidth * THRESHOLD) {
+ this.open('left');
+ } else {
+ this.swipeMove(0);
+ }
+ this.setData({ catchMove: false });
+ },
+ startDrag(event) {
+ if (this.data.disabled) {
+ return;
+ }
+ this.startOffset = this.offset;
+ this.touchStart(event);
+ },
+ noop() {},
+ onDrag(event) {
+ if (this.data.disabled) {
+ return;
+ }
+ this.touchMove(event);
+ if (this.direction !== 'horizontal') {
+ return;
+ }
+ this.dragging = true;
+ ARRAY.filter((item) => item !== this).forEach((item) => item.close());
+ this.setData({ catchMove: true });
+ this.swipeMove(this.startOffset + this.deltaX);
+ },
+ endDrag() {
+ if (this.data.disabled) {
+ return;
+ }
+ this.dragging = false;
+ this.swipeLeaveTransition();
+ },
+ onClick(event) {
+ const { key: position = 'outside' } = event.currentTarget.dataset;
+ this.$emit('click', position);
+ if (!this.offset) {
+ return;
+ }
+ if (this.data.asyncClose) {
+ this.$emit('close', {
+ position,
+ instance: this,
+ name: this.data.name,
+ });
+ } else {
+ this.swipeMove(0);
+ }
+ },
+ },
+});
diff --git a/dist/swipe-cell/index.json b/dist/swipe-cell/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/swipe-cell/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/swipe-cell/index.wxml b/dist/swipe-cell/index.wxml
new file mode 100644
index 0000000..7293619
--- /dev/null
+++ b/dist/swipe-cell/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/swipe-cell/index.wxss b/dist/swipe-cell/index.wxss
new file mode 100644
index 0000000..d615270
--- /dev/null
+++ b/dist/swipe-cell/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-swipe-cell{position:relative;overflow:hidden}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
\ No newline at end of file
diff --git a/dist/switch/index.d.ts b/dist/switch/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/switch/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/switch/index.js b/dist/switch/index.js
new file mode 100644
index 0000000..4f59d95
--- /dev/null
+++ b/dist/switch/index.js
@@ -0,0 +1,51 @@
+import { VantComponent } from '../common/component';
+import { BLUE, GRAY_DARK } from '../common/color';
+VantComponent({
+ field: true,
+ classes: ['node-class'],
+ props: {
+ checked: {
+ type: null,
+ observer(value) {
+ const loadingColor = this.getLoadingColor(value);
+ this.setData({ value, loadingColor });
+ },
+ },
+ loading: Boolean,
+ disabled: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ size: {
+ type: String,
+ value: '30px',
+ },
+ activeValue: {
+ type: null,
+ value: true,
+ },
+ inactiveValue: {
+ type: null,
+ value: false,
+ },
+ },
+ created() {
+ const { checked: value } = this.data;
+ const loadingColor = this.getLoadingColor(value);
+ this.setData({ value, loadingColor });
+ },
+ methods: {
+ getLoadingColor(checked) {
+ const { activeColor, inactiveColor } = this.data;
+ return checked ? activeColor || BLUE : inactiveColor || GRAY_DARK;
+ },
+ onClick() {
+ const { activeValue, inactiveValue } = this.data;
+ if (!this.data.disabled && !this.data.loading) {
+ const checked = this.data.checked === activeValue;
+ const value = checked ? inactiveValue : activeValue;
+ this.$emit('input', value);
+ this.$emit('change', value);
+ }
+ },
+ },
+});
diff --git a/dist/switch/index.json b/dist/switch/index.json
new file mode 100644
index 0000000..01077f5
--- /dev/null
+++ b/dist/switch/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/dist/switch/index.wxml b/dist/switch/index.wxml
new file mode 100644
index 0000000..31a104d
--- /dev/null
+++ b/dist/switch/index.wxml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/dist/switch/index.wxss b/dist/switch/index.wxss
new file mode 100644
index 0000000..e32a72a
--- /dev/null
+++ b/dist/switch/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-switch{position:relative;display:inline-block;box-sizing:initial;width:2em;width:var(--switch-width,2em);height:1em;height:var(--switch-height,1em);background-color:#fff;background-color:var(--switch-background-color,#fff);border:1px solid rgba(0,0,0,.1);border:var(--switch-border,1px solid rgba(0,0,0,.1));border-radius:1em;border-radius:var(--switch-node-size,1em);transition:background-color .3s;transition:background-color var(--switch-transition-duration,.3s)}.van-switch__node{position:absolute;top:0;left:0;border-radius:100%;z-index:1;z-index:var(--switch-node-z-index,1);width:1em;width:var(--switch-node-size,1em);height:1em;height:var(--switch-node-size,1em);background-color:#fff;background-color:var(--switch-node-background-color,#fff);box-shadow:0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05);box-shadow:var(--switch-node-box-shadow,0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05));transition:-webkit-transform .3s cubic-bezier(.3,1.05,.4,1.05);transition:transform .3s cubic-bezier(.3,1.05,.4,1.05);transition:transform .3s cubic-bezier(.3,1.05,.4,1.05),-webkit-transform .3s cubic-bezier(.3,1.05,.4,1.05);transition:-webkit-transform var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05);transition:transform var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05);transition:transform var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05),-webkit-transform var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05)}.van-switch__loading{position:absolute!important;top:25%;left:25%;width:50%;height:50%}.van-switch--on{background-color:#1989fa;background-color:var(--switch-on-background-color,#1989fa)}.van-switch--on .van-switch__node{-webkit-transform:translateX(1em);transform:translateX(1em);-webkit-transform:translateX(calc(var(--switch-width, 2em) - var(--switch-node-size, 1em)));transform:translateX(calc(var(--switch-width, 2em) - var(--switch-node-size, 1em)))}.van-switch--disabled{opacity:.4;opacity:var(--switch-disabled-opacity,.4)}
\ No newline at end of file
diff --git a/dist/tab/index.d.ts b/dist/tab/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/tab/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/tab/index.js b/dist/tab/index.js
new file mode 100644
index 0000000..4d3582c
--- /dev/null
+++ b/dist/tab/index.js
@@ -0,0 +1,59 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ relation: {
+ name: 'tabs',
+ type: 'ancestor',
+ current: 'tab',
+ },
+ props: {
+ dot: {
+ type: Boolean,
+ observer: 'update',
+ },
+ info: {
+ type: null,
+ observer: 'update',
+ },
+ title: {
+ type: String,
+ observer: 'update',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'update',
+ },
+ titleStyle: {
+ type: String,
+ observer: 'update',
+ },
+ name: {
+ type: [Number, String],
+ value: '',
+ },
+ },
+ data: {
+ active: false,
+ },
+ methods: {
+ getComputedName() {
+ if (this.data.name !== '') {
+ return this.data.name;
+ }
+ return this.index;
+ },
+ updateRender(active, parent) {
+ const { data: parentData } = parent;
+ this.inited = this.inited || active;
+ this.setData({
+ active,
+ shouldRender: this.inited || !parentData.lazyRender,
+ shouldShow: active || parentData.animated,
+ });
+ },
+ update() {
+ if (this.parent) {
+ this.parent.updateTabs();
+ }
+ },
+ },
+});
diff --git a/dist/tab/index.json b/dist/tab/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/tab/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/tab/index.wxml b/dist/tab/index.wxml
new file mode 100644
index 0000000..f5e99f2
--- /dev/null
+++ b/dist/tab/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/dist/tab/index.wxss b/dist/tab/index.wxss
new file mode 100644
index 0000000..76ddf06
--- /dev/null
+++ b/dist/tab/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{-webkit-flex-shrink:0;flex-shrink:0;width:100%}.van-tab__pane,:host{box-sizing:border-box}.van-tab__pane{overflow-y:auto;-webkit-overflow-scrolling:touch}.van-tab__pane--active{height:auto}.van-tab__pane--inactive{height:0;overflow:visible}
\ No newline at end of file
diff --git a/dist/tabbar-item/index.d.ts b/dist/tabbar-item/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/tabbar-item/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/tabbar-item/index.js b/dist/tabbar-item/index.js
new file mode 100644
index 0000000..dd2f1b7
--- /dev/null
+++ b/dist/tabbar-item/index.js
@@ -0,0 +1,48 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ info: null,
+ name: null,
+ icon: String,
+ dot: Boolean,
+ },
+ relation: {
+ name: 'tabbar',
+ type: 'ancestor',
+ current: 'tabbar-item',
+ },
+ data: {
+ active: false,
+ },
+ methods: {
+ onClick() {
+ if (this.parent) {
+ this.parent.onChange(this);
+ }
+ this.$emit('click');
+ },
+ updateFromParent() {
+ const { parent } = this;
+ if (!parent) {
+ return;
+ }
+ const index = parent.children.indexOf(this);
+ const parentData = parent.data;
+ const { data } = this;
+ const active = (data.name || index) === parentData.active;
+ const patch = {};
+ if (active !== data.active) {
+ patch.active = active;
+ }
+ if (parentData.activeColor !== data.activeColor) {
+ patch.activeColor = parentData.activeColor;
+ }
+ if (parentData.inactiveColor !== data.inactiveColor) {
+ patch.inactiveColor = parentData.inactiveColor;
+ }
+ return Object.keys(patch).length > 0
+ ? this.set(patch)
+ : Promise.resolve();
+ },
+ },
+});
diff --git a/dist/tabbar-item/index.json b/dist/tabbar-item/index.json
new file mode 100644
index 0000000..16f174c
--- /dev/null
+++ b/dist/tabbar-item/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-info": "../info/index"
+ }
+}
diff --git a/dist/tabbar-item/index.wxml b/dist/tabbar-item/index.wxml
new file mode 100644
index 0000000..d83b061
--- /dev/null
+++ b/dist/tabbar-item/index.wxml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/tabbar-item/index.wxss b/dist/tabbar-item/index.wxss
new file mode 100644
index 0000000..85bb21c
--- /dev/null
+++ b/dist/tabbar-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{-webkit-flex:1;flex:1}.van-tabbar-item{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;height:100%;color:#646566;color:var(--tabbar-item-text-color,#646566);font-size:12px;font-size:var(--tabbar-item-font-size,12px);line-height:1;line-height:var(--tabbar-item-line-height,1)}.van-tabbar-item__icon{position:relative;margin-bottom:5px;margin-bottom:var(--tabbar-item-margin-bottom,5px);font-size:18px;font-size:var(--tabbar-item-icon-size,18px)}.van-tabbar-item__icon__inner{display:block;min-width:1em}.van-tabbar-item--active{color:#1989fa;color:var(--tabbar-item-active-color,#1989fa)}.van-tabbar-item__info{margin-top:2px}
\ No newline at end of file
diff --git a/dist/tabbar/index.d.ts b/dist/tabbar/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/tabbar/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/tabbar/index.js b/dist/tabbar/index.js
new file mode 100644
index 0000000..473003c
--- /dev/null
+++ b/dist/tabbar/index.js
@@ -0,0 +1,61 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ relation: {
+ name: 'tabbar-item',
+ type: 'descendant',
+ current: 'tabbar',
+ linked(target) {
+ target.parent = this;
+ target.updateFromParent();
+ },
+ unlinked() {
+ this.updateChildren();
+ },
+ },
+ props: {
+ active: {
+ type: null,
+ observer: 'updateChildren',
+ },
+ activeColor: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ inactiveColor: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ fixed: {
+ type: Boolean,
+ value: true,
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ updateChildren() {
+ const { children } = this;
+ if (!Array.isArray(children) || !children.length) {
+ return Promise.resolve();
+ }
+ return Promise.all(children.map((child) => child.updateFromParent()));
+ },
+ onChange(child) {
+ const index = this.children.indexOf(child);
+ const active = child.data.name || index;
+ if (active !== this.data.active) {
+ this.$emit('change', active);
+ }
+ },
+ },
+});
diff --git a/dist/tabbar/index.json b/dist/tabbar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/tabbar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/tabbar/index.wxml b/dist/tabbar/index.wxml
new file mode 100644
index 0000000..c49b9d9
--- /dev/null
+++ b/dist/tabbar/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/dist/tabbar/index.wxss b/dist/tabbar/index.wxss
new file mode 100644
index 0000000..6819569
--- /dev/null
+++ b/dist/tabbar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tabbar{display:-webkit-flex;display:flex;box-sizing:initial;width:100%;height:50px;height:var(--tabbar-height,50px);background-color:#fff;background-color:var(--tabbar-background-color,#fff)}.van-tabbar--fixed{position:fixed;bottom:0;left:0}.van-tabbar--safe{padding-bottom:env(safe-area-inset-bottom)}
\ No newline at end of file
diff --git a/dist/tabs/index.d.ts b/dist/tabs/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/tabs/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/tabs/index.js b/dist/tabs/index.js
new file mode 100644
index 0000000..756b41f
--- /dev/null
+++ b/dist/tabs/index.js
@@ -0,0 +1,279 @@
+import { VantComponent } from '../common/component';
+import { touch } from '../mixins/touch';
+import { getAllRect, getRect, isDef } from '../common/utils';
+VantComponent({
+ mixins: [touch],
+ classes: ['nav-class', 'tab-class', 'tab-active-class', 'line-class'],
+ relation: {
+ name: 'tab',
+ type: 'descendant',
+ current: 'tabs',
+ linked(target) {
+ target.index = this.children.length - 1;
+ this.updateTabs();
+ },
+ unlinked() {
+ this.children = this.children.map((child, index) => {
+ child.index = index;
+ return child;
+ });
+ this.updateTabs();
+ },
+ },
+ props: {
+ sticky: Boolean,
+ border: Boolean,
+ swipeable: Boolean,
+ titleActiveColor: String,
+ titleInactiveColor: String,
+ color: String,
+ animated: {
+ type: Boolean,
+ observer() {
+ this.children.forEach((child, index) =>
+ child.updateRender(index === this.data.currentIndex, this)
+ );
+ },
+ },
+ lineWidth: {
+ type: [String, Number],
+ value: 40,
+ observer: 'setLine',
+ },
+ lineHeight: {
+ type: [String, Number],
+ value: -1,
+ },
+ active: {
+ type: [String, Number],
+ value: 0,
+ observer(name) {
+ if (name !== this.getCurrentName()) {
+ this.setCurrentIndexByName(name);
+ }
+ },
+ },
+ type: {
+ type: String,
+ value: 'line',
+ },
+ ellipsis: {
+ type: Boolean,
+ value: true,
+ },
+ duration: {
+ type: Number,
+ value: 0.3,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ swipeThreshold: {
+ type: Number,
+ value: 5,
+ observer(value) {
+ this.setData({
+ scrollable: this.children.length > value || !this.data.ellipsis,
+ });
+ },
+ },
+ offsetTop: {
+ type: Number,
+ value: 0,
+ },
+ lazyRender: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ tabs: [],
+ lineStyle: '',
+ scrollLeft: 0,
+ scrollable: false,
+ trackStyle: '',
+ currentIndex: 0,
+ container: null,
+ skipTransition: true,
+ lineOffsetLeft: 0,
+ },
+ mounted() {
+ wx.nextTick(() => {
+ this.setLine(true);
+ this.scrollIntoView();
+ this.updateContainer();
+ });
+ },
+ methods: {
+ updateContainer() {
+ this.setData({
+ container: () => this.createSelectorQuery().select('.van-tabs'),
+ });
+ },
+ updateTabs() {
+ const { children = [], data } = this;
+ this.setData({
+ tabs: children.map((child) => child.data),
+ scrollable:
+ this.children.length > data.swipeThreshold || !data.ellipsis,
+ });
+ this.setCurrentIndexByName(data.active || this.getCurrentName());
+ },
+ trigger(eventName, child) {
+ const { currentIndex } = this.data;
+ const currentChild = child || this.children[currentIndex];
+ if (!isDef(currentChild)) {
+ return;
+ }
+ this.$emit(eventName, {
+ index: currentChild.index,
+ name: currentChild.getComputedName(),
+ title: currentChild.data.title,
+ });
+ },
+ onTap(event) {
+ const { index } = event.currentTarget.dataset;
+ const child = this.children[index];
+ if (child.data.disabled) {
+ this.trigger('disabled', child);
+ } else {
+ this.setCurrentIndex(index);
+ wx.nextTick(() => {
+ this.trigger('click');
+ });
+ }
+ },
+ // correct the index of active tab
+ setCurrentIndexByName(name) {
+ const { children = [] } = this;
+ const matched = children.filter(
+ (child) => child.getComputedName() === name
+ );
+ if (matched.length) {
+ this.setCurrentIndex(matched[0].index);
+ }
+ },
+ setCurrentIndex(currentIndex) {
+ const { data, children = [] } = this;
+ if (
+ !isDef(currentIndex) ||
+ currentIndex >= children.length ||
+ currentIndex < 0
+ ) {
+ return;
+ }
+ children.forEach((item, index) => {
+ const active = index === currentIndex;
+ if (active !== item.data.active || !item.inited) {
+ item.updateRender(active, this);
+ }
+ });
+ if (currentIndex === data.currentIndex) {
+ return;
+ }
+ const shouldEmitChange = data.currentIndex !== null;
+ this.setData({ currentIndex });
+ wx.nextTick(() => {
+ this.setLine();
+ this.scrollIntoView();
+ this.updateContainer();
+ this.trigger('input');
+ if (shouldEmitChange) {
+ this.trigger('change');
+ }
+ });
+ },
+ getCurrentName() {
+ const activeTab = this.children[this.data.currentIndex];
+ if (activeTab) {
+ return activeTab.getComputedName();
+ }
+ },
+ setLine(skipTransition = false) {
+ if (this.data.type !== 'line') {
+ return;
+ }
+ const { currentIndex } = this.data;
+ Promise.all([
+ getAllRect.call(this, '.van-tab'),
+ getRect.call(this, '.van-tabs__line'),
+ ]).then(([rects = [], lineRect]) => {
+ const rect = rects[currentIndex];
+ if (rect == null) {
+ return;
+ }
+ let lineOffsetLeft = rects
+ .slice(0, currentIndex)
+ .reduce((prev, curr) => prev + curr.width, 0);
+ lineOffsetLeft += (rect.width - lineRect.width) / 2;
+ this.setData({
+ lineOffsetLeft,
+ skipTransition,
+ });
+ });
+ },
+ // scroll active tab into view
+ scrollIntoView() {
+ const { currentIndex, scrollable } = this.data;
+ if (!scrollable) {
+ return;
+ }
+ Promise.all([
+ getAllRect.call(this, '.van-tab'),
+ getRect.call(this, '.van-tabs__nav'),
+ ]).then(([tabRects, navRect]) => {
+ const tabRect = tabRects[currentIndex];
+ const offsetLeft = tabRects
+ .slice(0, currentIndex)
+ .reduce((prev, curr) => prev + curr.width, 0);
+ this.setData({
+ scrollLeft: offsetLeft - (navRect.width - tabRect.width) / 2,
+ });
+ });
+ },
+ onTouchScroll(event) {
+ this.$emit('scroll', event.detail);
+ },
+ onTouchStart(event) {
+ if (!this.data.swipeable) return;
+ this.touchStart(event);
+ },
+ onTouchMove(event) {
+ if (!this.data.swipeable) return;
+ this.touchMove(event);
+ },
+ // watch swipe touch end
+ onTouchEnd() {
+ if (!this.data.swipeable) return;
+ const { direction, deltaX, offsetX } = this;
+ const minSwipeDistance = 50;
+ if (direction === 'horizontal' && offsetX >= minSwipeDistance) {
+ const index = this.getAvaiableTab(deltaX);
+ if (index !== -1) {
+ this.setCurrentIndex(index);
+ }
+ }
+ },
+ getAvaiableTab(direction) {
+ const { tabs, currentIndex } = this.data;
+ const step = direction > 0 ? -1 : 1;
+ for (
+ let i = step;
+ currentIndex + i < tabs.length && currentIndex + i >= 0;
+ i += step
+ ) {
+ const index = currentIndex + i;
+ if (
+ index >= 0 &&
+ index < tabs.length &&
+ tabs[index] &&
+ !tabs[index].disabled
+ ) {
+ return index;
+ }
+ }
+ return -1;
+ },
+ },
+});
diff --git a/dist/tabs/index.json b/dist/tabs/index.json
new file mode 100644
index 0000000..19c0bc3
--- /dev/null
+++ b/dist/tabs/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index",
+ "van-sticky": "../sticky/index"
+ }
+}
diff --git a/dist/tabs/index.wxml b/dist/tabs/index.wxml
new file mode 100644
index 0000000..dd92ac4
--- /dev/null
+++ b/dist/tabs/index.wxml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/tabs/index.wxs b/dist/tabs/index.wxs
new file mode 100644
index 0000000..60c48fd
--- /dev/null
+++ b/dist/tabs/index.wxs
@@ -0,0 +1,115 @@
+/* eslint-disable */
+var utils = require('../wxs/utils.wxs');
+
+function tabClass(active, ellipsis) {
+ var classes = ['tab-class'];
+
+ if (active) {
+ classes.push('tab-active-class');
+ }
+
+ if (ellipsis) {
+ classes.push('van-ellipsis');
+ }
+
+ return classes.join(' ');
+}
+
+function tabStyle(
+ active,
+ ellipsis,
+ color,
+ type,
+ disabled,
+ activeColor,
+ inactiveColor,
+ swipeThreshold,
+ scrollable
+) {
+ var styles = [];
+ var isCard = type === 'card';
+ // card theme color
+ if (color && isCard) {
+ styles.push('border-color:' + color);
+
+ if (!disabled) {
+ if (active) {
+ styles.push('background-color:' + color);
+ } else {
+ styles.push('color:' + color);
+ }
+ }
+ }
+
+ var titleColor = active ? activeColor : inactiveColor;
+ if (titleColor) {
+ styles.push('color:' + titleColor);
+ }
+
+ if (scrollable && ellipsis) {
+ styles.push('flex-basis:' + 88 / swipeThreshold + '%');
+ }
+
+ return styles.join(';');
+}
+
+function tabCardTypeBorderStyle(color, type) {
+ var isCard = type === 'card';
+ var styles = [];
+ if (isCard && color) {
+ styles.push('border-color:' + color);
+ }
+ return styles.join(';');
+}
+
+function trackStyle(data) {
+ if (!data.animated) {
+ return '';
+ }
+
+ return [
+ ['left', -100 * data.currentIndex + '%'],
+ ['-webkit-transition-duration', data.duration + 's'],
+ ['transition-duration: ', data.duration + 's'],
+ ]
+ .map(function (item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+function lineStyle(data) {
+ var styles = [
+ ['width', utils.addUnit(data.lineWidth)],
+ ['transform', 'translateX(' + data.lineOffsetLeft + 'px)'],
+ ['-webkit-transform', 'translateX(' + data.lineOffsetLeft + 'px)'],
+ ];
+
+ if (data.color) {
+ styles.push(['background-color', data.color]);
+ }
+
+ if (data.lineHeight !== -1) {
+ styles.push(['height', utils.addUnit(data.lineHeight)]);
+ styles.push(['border-radius', utils.addUnit(data.lineHeight)]);
+ }
+
+ if (!data.skipTransition) {
+ styles.push(['transition-duration', data.duration + 's']);
+ styles.push(['-webkit-transition-duration', data.duration + 's']);
+ }
+
+ return styles
+ .map(function (item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+module.exports = {
+ tabClass: tabClass,
+ tabStyle: tabStyle,
+ trackStyle: trackStyle,
+ lineStyle: lineStyle,
+ tabCardTypeBorderStyle: tabCardTypeBorderStyle,
+};
diff --git a/dist/tabs/index.wxss b/dist/tabs/index.wxss
new file mode 100644
index 0000000..d0449e6
--- /dev/null
+++ b/dist/tabs/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tabs{position:relative;-webkit-tap-highlight-color:transparent}.van-tabs__wrap{display:-webkit-flex;display:flex;overflow:hidden}.van-tabs__wrap--scrollable .van-tab{-webkit-flex:0 0 22%;flex:0 0 22%}.van-tabs__wrap--scrollable .van-tab--complete{-webkit-flex:1 0 auto!important;flex:1 0 auto!important;padding:0 12px}.van-tabs__wrap--scrollable .van-tabs__nav--complete{padding-right:8px;padding-left:8px}.van-tabs__scroll{background-color:#fff;background-color:var(--tabs-nav-background-color,#fff)}.van-tabs__scroll--line{box-sizing:initial;height:calc(100% + 15px)}.van-tabs__scroll--card{margin:0 16px;margin:0 var(--padding-md,16px)}.van-tabs__scroll::-webkit-scrollbar{display:none}.van-tabs__nav{position:relative;display:-webkit-flex;display:flex;-webkit-user-select:none;user-select:none}.van-tabs__nav--card{box-sizing:border-box;height:30px;height:var(--tabs-card-height,30px);border:1px solid #ee0a24;border:var(--border-width-base,1px) solid var(--tabs-default-color,#ee0a24);border-radius:2px;border-radius:var(--border-radius-sm,2px)}.van-tabs__nav--card .van-tab{color:#ee0a24;color:var(--tabs-default-color,#ee0a24);line-height:28px;line-height:calc(var(--tabs-card-height, 30px) - var(--border-width-base, 1px)*2);border-right:1px solid #ee0a24;border-right:var(--border-width-base,1px) solid var(--tabs-default-color,#ee0a24)}.van-tabs__nav--card .van-tab:last-child{border-right:none}.van-tabs__nav--card .van-tab.van-tab--active{color:#fff;color:var(--white,#fff);background-color:#ee0a24;background-color:var(--tabs-default-color,#ee0a24)}.van-tabs__nav--card .van-tab--disabled{color:#c8c9cc;color:var(--tab-disabled-text-color,#c8c9cc)}.van-tabs__line{position:absolute;bottom:0;left:0;z-index:1;height:3px;height:var(--tabs-bottom-bar-height,3px);border-radius:3px;border-radius:var(--tabs-bottom-bar-height,3px);background-color:#ee0a24;background-color:var(--tabs-bottom-bar-color,#ee0a24)}.van-tabs__track{position:relative;width:100%;height:100%}.van-tabs__track--animated{display:-webkit-flex;display:flex;transition-property:left}.van-tabs__content{overflow:hidden}.van-tabs--line .van-tabs__wrap{height:44px;height:var(--tabs-line-height,44px)}.van-tabs--card .van-tabs__wrap{height:30px;height:var(--tabs-card-height,30px)}.van-tab{position:relative;-webkit-flex:1;flex:1;box-sizing:border-box;min-width:0;padding:0 5px;text-align:center;cursor:pointer;color:#646566;color:var(--tab-text-color,#646566);font-size:14px;font-size:var(--tab-font-size,14px);line-height:44px;line-height:var(--tabs-line-height,44px)}.van-tab--active{font-weight:500;font-weight:var(--font-weight-bold,500);color:#323233;color:var(--tab-active-text-color,#323233)}.van-tab--disabled{color:#c8c9cc;color:var(--tab-disabled-text-color,#c8c9cc)}.van-tab__title__info{position:relative!important;top:-1px!important;display:inline-block;-webkit-transform:translateX(0)!important;transform:translateX(0)!important}
\ No newline at end of file
diff --git a/dist/tag/index.d.ts b/dist/tag/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/tag/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/tag/index.js b/dist/tag/index.js
new file mode 100644
index 0000000..49627a3
--- /dev/null
+++ b/dist/tag/index.js
@@ -0,0 +1,21 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ size: String,
+ mark: Boolean,
+ color: String,
+ plain: Boolean,
+ round: Boolean,
+ textColor: String,
+ type: {
+ type: String,
+ value: 'default',
+ },
+ closeable: Boolean,
+ },
+ methods: {
+ onClose() {
+ this.$emit('close');
+ },
+ },
+});
diff --git a/dist/tag/index.json b/dist/tag/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/dist/tag/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/dist/tag/index.wxml b/dist/tag/index.wxml
new file mode 100644
index 0000000..16ab750
--- /dev/null
+++ b/dist/tag/index.wxml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/dist/tag/index.wxss b/dist/tag/index.wxss
new file mode 100644
index 0000000..46df0da
--- /dev/null
+++ b/dist/tag/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tag{position:relative;display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;padding:0 4px;padding:var(--tag-padding,0 4px);color:#fff;color:var(--tag-text-color,#fff);font-size:12px;font-size:var(--tag-font-size,12px);line-height:16px;line-height:var(--tag-line-height,16px);border-radius:2px;border-radius:var(--tag-border-radius,2px)}.van-tag--default{background-color:#969799;background-color:var(--tag-default-color,#969799)}.van-tag--default.van-tag--plain{color:#969799;color:var(--tag-default-color,#969799)}.van-tag--danger{background-color:#ee0a24;background-color:var(--tag-danger-color,#ee0a24)}.van-tag--danger.van-tag--plain{color:#ee0a24;color:var(--tag-danger-color,#ee0a24)}.van-tag--primary{background-color:#1989fa;background-color:var(--tag-primary-color,#1989fa)}.van-tag--primary.van-tag--plain{color:#1989fa;color:var(--tag-primary-color,#1989fa)}.van-tag--success{background-color:#07c160;background-color:var(--tag-success-color,#07c160)}.van-tag--success.van-tag--plain{color:#07c160;color:var(--tag-success-color,#07c160)}.van-tag--warning{background-color:#ff976a;background-color:var(--tag-warning-color,#ff976a)}.van-tag--warning.van-tag--plain{color:#ff976a;color:var(--tag-warning-color,#ff976a)}.van-tag--plain{background-color:#fff;background-color:var(--tag-plain-background-color,#fff)}.van-tag--plain:before{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid;border-radius:inherit;content:"";pointer-events:none}.van-tag--medium{padding:2px 6px;padding:var(--tag-medium-padding,2px 6px)}.van-tag--large{padding:4px 8px;padding:var(--tag-large-padding,4px 8px);font-size:14px;font-size:var(--tag-large-font-size,14px);border-radius:4px;border-radius:var(--tag-large-border-radius,4px)}.van-tag--mark{border-radius:0 999px 999px 0;border-radius:0 var(--tag-round-border-radius,999px) var(--tag-round-border-radius,999px) 0}.van-tag--mark:after{display:block;width:2px;content:""}.van-tag--round{border-radius:999px;border-radius:var(--tag-round-border-radius,999px)}.van-tag__close{min-width:1em;margin-left:2px}
\ No newline at end of file
diff --git a/dist/toast/index.d.ts b/dist/toast/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/toast/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/toast/index.js b/dist/toast/index.js
new file mode 100644
index 0000000..c4c2ed9
--- /dev/null
+++ b/dist/toast/index.js
@@ -0,0 +1,29 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ show: Boolean,
+ mask: Boolean,
+ message: String,
+ forbidClick: Boolean,
+ zIndex: {
+ type: Number,
+ value: 1000,
+ },
+ type: {
+ type: String,
+ value: 'text',
+ },
+ loadingType: {
+ type: String,
+ value: 'circular',
+ },
+ position: {
+ type: String,
+ value: 'middle',
+ },
+ },
+ methods: {
+ // for prevent touchmove
+ noop() {},
+ },
+});
diff --git a/dist/toast/index.json b/dist/toast/index.json
new file mode 100644
index 0000000..9b1b78c
--- /dev/null
+++ b/dist/toast/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index",
+ "van-overlay": "../overlay/index",
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/dist/toast/index.wxml b/dist/toast/index.wxml
new file mode 100644
index 0000000..635e7d6
--- /dev/null
+++ b/dist/toast/index.wxml
@@ -0,0 +1,33 @@
+
+
+
+
+ {{ message }}
+
+
+
+
+
+ {{ message }}
+
+
+
+
+
diff --git a/dist/toast/index.wxss b/dist/toast/index.wxss
new file mode 100644
index 0000000..85dc7a8
--- /dev/null
+++ b/dist/toast/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-toast{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;box-sizing:initial;color:#fff;color:var(--toast-text-color,#fff);font-size:14px;font-size:var(--toast-font-size,14px);line-height:20px;line-height:var(--toast-line-height,20px);white-space:pre-wrap;word-wrap:break-word;background-color:rgba(0,0,0,.7);background-color:var(--toast-background-color,rgba(0,0,0,.7));border-radius:8px;border-radius:var(--toast-border-radius,8px)}.van-toast__container{position:fixed;top:50%;left:50%;width:-webkit-fit-content;width:fit-content;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);max-width:70%;max-width:var(--toast-max-width,70%)}.van-toast--text{min-width:96px;min-width:var(--toast-text-min-width,96px);padding:8px 12px;padding:var(--toast-text-padding,8px 12px)}.van-toast--icon{width:88px;width:var(--toast-default-width,88px);min-height:88px;min-height:var(--toast-default-min-height,88px);padding:16px;padding:var(--toast-default-padding,16px)}.van-toast--icon .van-toast__icon{font-size:36px;font-size:var(--toast-icon-size,36px)}.van-toast--icon .van-toast__text{padding-top:8px}.van-toast__loading{margin:10px 0}.van-toast--top{-webkit-transform:translateY(-30vh);transform:translateY(-30vh)}.van-toast--bottom{-webkit-transform:translateY(30vh);transform:translateY(30vh)}
\ No newline at end of file
diff --git a/dist/toast/toast.d.ts b/dist/toast/toast.d.ts
new file mode 100644
index 0000000..b7a7d6e
--- /dev/null
+++ b/dist/toast/toast.d.ts
@@ -0,0 +1,51 @@
+///
+declare type ToastMessage = string | number;
+interface ToastOptions {
+ show?: boolean;
+ type?: string;
+ mask?: boolean;
+ zIndex?: number;
+ context?:
+ | WechatMiniprogram.Component.TrivialInstance
+ | WechatMiniprogram.Page.TrivialInstance;
+ position?: string;
+ duration?: number;
+ selector?: string;
+ forbidClick?: boolean;
+ loadingType?: string;
+ message?: ToastMessage;
+ onClose?: () => void;
+}
+declare function Toast(
+ toastOptions: ToastOptions | ToastMessage
+): WechatMiniprogram.Component.TrivialInstance;
+declare namespace Toast {
+ var loading: (
+ options: string | number | ToastOptions
+ ) => WechatMiniprogram.Component.Instance<
+ Record,
+ Record,
+ Record,
+ Record
+ >;
+ var success: (
+ options: string | number | ToastOptions
+ ) => WechatMiniprogram.Component.Instance<
+ Record,
+ Record,
+ Record,
+ Record
+ >;
+ var fail: (
+ options: string | number | ToastOptions
+ ) => WechatMiniprogram.Component.Instance<
+ Record,
+ Record,
+ Record,
+ Record
+ >;
+ var clear: () => void;
+ var setDefaultOptions: (options: ToastOptions) => void;
+ var resetDefaultOptions: () => void;
+}
+export default Toast;
diff --git a/dist/toast/toast.js b/dist/toast/toast.js
new file mode 100644
index 0000000..6ee8c21
--- /dev/null
+++ b/dist/toast/toast.js
@@ -0,0 +1,70 @@
+import { isObj } from '../common/utils';
+const defaultOptions = {
+ type: 'text',
+ mask: false,
+ message: '',
+ show: true,
+ zIndex: 1000,
+ duration: 2000,
+ position: 'middle',
+ forbidClick: false,
+ loadingType: 'circular',
+ selector: '#van-toast',
+};
+let queue = [];
+let currentOptions = Object.assign({}, defaultOptions);
+function parseOptions(message) {
+ return isObj(message) ? message : { message };
+}
+function getContext() {
+ const pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+function Toast(toastOptions) {
+ const options = Object.assign(
+ Object.assign({}, currentOptions),
+ parseOptions(toastOptions)
+ );
+ const context = options.context || getContext();
+ const toast = context.selectComponent(options.selector);
+ if (!toast) {
+ console.warn('未找到 van-toast 节点,请确认 selector 及 context 是否正确');
+ return;
+ }
+ delete options.context;
+ delete options.selector;
+ toast.clear = () => {
+ toast.setData({ show: false });
+ if (options.onClose) {
+ options.onClose();
+ }
+ };
+ queue.push(toast);
+ toast.setData(options);
+ clearTimeout(toast.timer);
+ if (options.duration > 0) {
+ toast.timer = setTimeout(() => {
+ toast.clear();
+ queue = queue.filter((item) => item !== toast);
+ }, options.duration);
+ }
+ return toast;
+}
+const createMethod = (type) => (options) =>
+ Toast(Object.assign({ type }, parseOptions(options)));
+Toast.loading = createMethod('loading');
+Toast.success = createMethod('success');
+Toast.fail = createMethod('fail');
+Toast.clear = () => {
+ queue.forEach((toast) => {
+ toast.clear();
+ });
+ queue = [];
+};
+Toast.setDefaultOptions = (options) => {
+ Object.assign(currentOptions, options);
+};
+Toast.resetDefaultOptions = () => {
+ currentOptions = Object.assign({}, defaultOptions);
+};
+export default Toast;
diff --git a/dist/transition/index.d.ts b/dist/transition/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/transition/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/transition/index.js b/dist/transition/index.js
new file mode 100644
index 0000000..0ebdef0
--- /dev/null
+++ b/dist/transition/index.js
@@ -0,0 +1,13 @@
+import { VantComponent } from '../common/component';
+import { transition } from '../mixins/transition';
+VantComponent({
+ classes: [
+ 'enter-class',
+ 'enter-active-class',
+ 'enter-to-class',
+ 'leave-class',
+ 'leave-active-class',
+ 'leave-to-class',
+ ],
+ mixins: [transition(true)],
+});
diff --git a/dist/transition/index.json b/dist/transition/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/dist/transition/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/dist/transition/index.wxml b/dist/transition/index.wxml
new file mode 100644
index 0000000..412e8af
--- /dev/null
+++ b/dist/transition/index.wxml
@@ -0,0 +1,8 @@
+
+
+
diff --git a/dist/transition/index.wxss b/dist/transition/index.wxss
new file mode 100644
index 0000000..d459f5c
--- /dev/null
+++ b/dist/transition/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-transition{transition-timing-function:ease}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-fade-down-enter-active,.van-fade-down-leave-active,.van-fade-left-enter-active,.van-fade-left-leave-active,.van-fade-right-enter-active,.van-fade-right-leave-active,.van-fade-up-enter-active,.van-fade-up-leave-active{transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.van-fade-up-enter,.van-fade-up-leave-to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:0}.van-fade-down-enter,.van-fade-down-leave-to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);opacity:0}.van-fade-left-enter,.van-fade-left-leave-to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);opacity:0}.van-fade-right-enter,.van-fade-right-leave-to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);opacity:0}.van-slide-down-enter-active,.van-slide-down-leave-active,.van-slide-left-enter-active,.van-slide-left-leave-active,.van-slide-right-enter-active,.van-slide-right-leave-active,.van-slide-up-enter-active,.van-slide-up-leave-active{transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.van-slide-up-enter,.van-slide-up-leave-to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.van-slide-down-enter,.van-slide-down-leave-to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.van-slide-left-enter,.van-slide-left-leave-to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.van-slide-right-enter,.van-slide-right-leave-to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
\ No newline at end of file
diff --git a/dist/tree-select/index.d.ts b/dist/tree-select/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/tree-select/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/tree-select/index.js b/dist/tree-select/index.js
new file mode 100644
index 0000000..d9f6268
--- /dev/null
+++ b/dist/tree-select/index.js
@@ -0,0 +1,68 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: [
+ 'main-item-class',
+ 'content-item-class',
+ 'main-active-class',
+ 'content-active-class',
+ 'main-disabled-class',
+ 'content-disabled-class',
+ ],
+ props: {
+ items: {
+ type: Array,
+ observer: 'updateSubItems',
+ },
+ activeId: null,
+ mainActiveIndex: {
+ type: Number,
+ value: 0,
+ observer: 'updateSubItems',
+ },
+ height: {
+ type: [Number, String],
+ value: 300,
+ },
+ max: {
+ type: Number,
+ value: Infinity,
+ },
+ selectedIcon: {
+ type: String,
+ value: 'success',
+ },
+ },
+ data: {
+ subItems: [],
+ },
+ methods: {
+ // 当一个子项被选择时
+ onSelectItem(event) {
+ const { item } = event.currentTarget.dataset;
+ const isArray = Array.isArray(this.data.activeId);
+ // 判断有没有超出右侧选择的最大数
+ const isOverMax = isArray && this.data.activeId.length >= this.data.max;
+ // 判断该项有没有被选中, 如果有被选中,则忽视是否超出的条件
+ const isSelected = isArray
+ ? this.data.activeId.indexOf(item.id) > -1
+ : this.data.activeId === item.id;
+ if (!item.disabled && (!isOverMax || isSelected)) {
+ this.$emit('click-item', item);
+ }
+ },
+ // 当一个导航被点击时
+ onClickNav(event) {
+ const index = event.detail;
+ const item = this.data.items[index];
+ if (!item.disabled) {
+ this.$emit('click-nav', { index });
+ }
+ },
+ // 更新子项列表
+ updateSubItems() {
+ const { items, mainActiveIndex } = this.data;
+ const { children = [] } = items[mainActiveIndex] || {};
+ return this.set({ subItems: children });
+ },
+ },
+});
diff --git a/dist/tree-select/index.json b/dist/tree-select/index.json
new file mode 100644
index 0000000..42991a2
--- /dev/null
+++ b/dist/tree-select/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-sidebar": "../sidebar/index",
+ "van-sidebar-item": "../sidebar-item/index"
+ }
+}
diff --git a/dist/tree-select/index.wxml b/dist/tree-select/index.wxml
new file mode 100644
index 0000000..2663e52
--- /dev/null
+++ b/dist/tree-select/index.wxml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
diff --git a/dist/tree-select/index.wxs b/dist/tree-select/index.wxs
new file mode 100644
index 0000000..b1cbb39
--- /dev/null
+++ b/dist/tree-select/index.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+var array = require('../wxs/array.wxs');
+
+function isActive (activeList, itemId) {
+ if (array.isArray(activeList)) {
+ return activeList.indexOf(itemId) > -1;
+ }
+
+ return activeList === itemId;
+}
+
+module.exports.isActive = isActive;
diff --git a/dist/tree-select/index.wxss b/dist/tree-select/index.wxss
new file mode 100644
index 0000000..3f7cca6
--- /dev/null
+++ b/dist/tree-select/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tree-select{position:relative;display:-webkit-flex;display:flex;-webkit-user-select:none;user-select:none;font-size:14px;font-size:var(--tree-select-font-size,14px)}.van-tree-select__nav{-webkit-flex:1;flex:1;background-color:#f7f8fa;background-color:var(--tree-select-nav-background-color,#f7f8fa);--sidebar-padding:12px 8px 12px 12px}.van-tree-select__nav__inner{width:100%!important;height:100%}.van-tree-select__content{-webkit-flex:2;flex:2;background-color:#fff;background-color:var(--tree-select-content-background-color,#fff)}.van-tree-select__item{position:relative;font-weight:700;padding:0 32px 0 16px;padding:0 32px 0 var(--padding-md,16px);line-height:44px;line-height:var(--tree-select-item-height,44px)}.van-tree-select__item--active{color:#ee0a24;color:var(--tree-select-item-active-color,#ee0a24)}.van-tree-select__item--disabled{color:#c8c9cc;color:var(--tree-select-item-disabled-color,#c8c9cc)}.van-tree-select__selected{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:16px;right:var(--padding-md,16px)}
\ No newline at end of file
diff --git a/dist/uploader/index.d.ts b/dist/uploader/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/dist/uploader/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/dist/uploader/index.js b/dist/uploader/index.js
new file mode 100644
index 0000000..a5b9a9e
--- /dev/null
+++ b/dist/uploader/index.js
@@ -0,0 +1,196 @@
+import { VantComponent } from '../common/component';
+import { isImageFile, chooseFile, isVideoFile } from './utils';
+import { chooseImageProps, chooseVideoProps } from './shared';
+import { isBoolean, isPromise } from '../common/validator';
+VantComponent({
+ props: Object.assign(
+ Object.assign(
+ {
+ disabled: Boolean,
+ multiple: Boolean,
+ uploadText: String,
+ useBeforeRead: Boolean,
+ afterRead: null,
+ beforeRead: null,
+ previewSize: {
+ type: null,
+ value: 80,
+ },
+ name: {
+ type: [Number, String],
+ value: '',
+ },
+ accept: {
+ type: String,
+ value: 'image',
+ },
+ fileList: {
+ type: Array,
+ value: [],
+ observer: 'formatFileList',
+ },
+ maxSize: {
+ type: Number,
+ value: Number.MAX_VALUE,
+ },
+ maxCount: {
+ type: Number,
+ value: 100,
+ },
+ deletable: {
+ type: Boolean,
+ value: true,
+ },
+ showUpload: {
+ type: Boolean,
+ value: true,
+ },
+ previewImage: {
+ type: Boolean,
+ value: true,
+ },
+ previewFullImage: {
+ type: Boolean,
+ value: true,
+ },
+ imageFit: {
+ type: String,
+ value: 'scaleToFill',
+ },
+ uploadIcon: {
+ type: String,
+ value: 'photograph',
+ },
+ },
+ chooseImageProps
+ ),
+ chooseVideoProps
+ ),
+ data: {
+ lists: [],
+ isInCount: true,
+ },
+ methods: {
+ formatFileList() {
+ const { fileList = [], maxCount } = this.data;
+ const lists = fileList.map((item) =>
+ Object.assign(Object.assign({}, item), {
+ isImage: isImageFile(item),
+ isVideo: isVideoFile(item),
+ deletable: isBoolean(item.deletable) ? item.deletable : true,
+ })
+ );
+ console.log(lists);
+ this.setData({ lists, isInCount: lists.length < maxCount });
+ },
+ getDetail(index) {
+ return {
+ name: this.data.name,
+ index: index == null ? this.data.fileList.length : index,
+ };
+ },
+ startUpload() {
+ const { maxCount, multiple, accept, lists, disabled } = this.data;
+ if (disabled) return;
+ chooseFile(
+ Object.assign(Object.assign({}, this.data), {
+ maxCount: maxCount - lists.length,
+ })
+ )
+ .then((res) => {
+ console.log(res);
+ this.onBeforeRead(multiple ? res : res[0]);
+ })
+ .catch((error) => {
+ this.$emit('error', error);
+ });
+ },
+ onBeforeRead(file) {
+ const { beforeRead, useBeforeRead } = this.data;
+ let res = true;
+ if (typeof beforeRead === 'function') {
+ res = beforeRead(file, this.getDetail());
+ }
+ if (useBeforeRead) {
+ res = new Promise((resolve, reject) => {
+ this.$emit(
+ 'before-read',
+ Object.assign(Object.assign({ file }, this.getDetail()), {
+ callback: (ok) => {
+ ok ? resolve() : reject();
+ },
+ })
+ );
+ });
+ }
+ if (!res) {
+ return;
+ }
+ if (isPromise(res)) {
+ res.then((data) => this.onAfterRead(data || file));
+ } else {
+ this.onAfterRead(file);
+ }
+ },
+ onAfterRead(file) {
+ const { maxSize, afterRead } = this.data;
+ const oversize = Array.isArray(file)
+ ? file.some((item) => item.size > maxSize)
+ : file.size > maxSize;
+ if (oversize) {
+ this.$emit('oversize', Object.assign({ file }, this.getDetail()));
+ return;
+ }
+ if (typeof afterRead === 'function') {
+ afterRead(file, this.getDetail());
+ }
+ this.$emit('after-read', Object.assign({ file }, this.getDetail()));
+ },
+ deleteItem(event) {
+ const { index } = event.currentTarget.dataset;
+ this.$emit(
+ 'delete',
+ Object.assign(Object.assign({}, this.getDetail(index)), {
+ file: this.data.fileList[index],
+ })
+ );
+ },
+ onPreviewImage(event) {
+ if (!this.data.previewFullImage) return;
+ const { index } = event.currentTarget.dataset;
+ const { lists } = this.data;
+ const item = lists[index];
+ wx.previewImage({
+ urls: lists.filter((item) => isImageFile(item)).map((item) => item.url),
+ current: item.url,
+ fail() {
+ wx.showToast({ title: '预览图片失败', icon: 'none' });
+ },
+ });
+ },
+ onPreviewVideo(event) {
+ if (!this.data.previewFullImage) return;
+ const { index } = event.currentTarget.dataset;
+ const { lists } = this.data;
+ wx.previewMedia({
+ sources: lists
+ .filter((item) => isVideoFile(item))
+ .map((item) =>
+ Object.assign(Object.assign({}, item), { type: 'video' })
+ ),
+ current: index,
+ fail() {
+ wx.showToast({ title: '预览视频失败', icon: 'none' });
+ },
+ });
+ },
+ onClickPreview(event) {
+ const { index } = event.currentTarget.dataset;
+ const item = this.data.lists[index];
+ this.$emit(
+ 'click-preview',
+ Object.assign(Object.assign({}, item), this.getDetail(index))
+ );
+ },
+ },
+});
diff --git a/dist/uploader/index.json b/dist/uploader/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/dist/uploader/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/dist/uploader/index.wxml b/dist/uploader/index.wxml
new file mode 100644
index 0000000..111e64c
--- /dev/null
+++ b/dist/uploader/index.wxml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item.name || item.url }}
+
+
+
+
+ {{ item.message }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ uploadText }}
+
+
+
+
diff --git a/dist/uploader/index.wxss b/dist/uploader/index.wxss
new file mode 100644
index 0000000..61ef7a5
--- /dev/null
+++ b/dist/uploader/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-uploader{position:relative;display:inline-block}.van-uploader__wrapper{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.van-uploader__slot:empty{display:none}.van-uploader__slot:not(:empty)+.van-uploader__upload{display:none!important}.van-uploader__upload{position:relative;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;box-sizing:border-box;width:80px;height:80px;margin:0 8px 8px 0;background-color:#f7f8fa}.van-uploader__upload:active{background-color:#f2f3f5}.van-uploader__upload-icon{color:#dcdee0;font-size:24px}.van-uploader__upload-text{margin-top:8px;color:#969799;font-size:12px}.van-uploader__upload--disabled{opacity:.5;opacity:var(--uploader-disabled-opacity,.5)}.van-uploader__preview{position:relative;margin:0 8px 8px 0;cursor:pointer}.van-uploader__preview-image{display:block;width:80px;height:80px;overflow:hidden}.van-uploader__preview-delete{position:absolute;top:0;right:0;width:14px;height:14px;padding:0 0 8px 8px}.van-uploader__preview-delete:after{position:absolute;top:0;right:0;width:14px;height:14px;background-color:rgba(0,0,0,.7);border-radius:0 0 0 12px;content:""}.van-uploader__preview-delete-icon{position:absolute;top:-2px;right:-2px;z-index:1;color:#fff;font-size:16px;-webkit-transform:scale(.5);transform:scale(.5)}.van-uploader__file{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;width:80px;height:80px;background-color:#f7f8fa}.van-uploader__file-icon{color:#646566;font-size:20px}.van-uploader__file-name{box-sizing:border-box;width:100%;margin-top:8px;padding:0 4px;color:#646566;font-size:12px;text-align:center}.van-uploader__mask{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;color:#fff;background-color:rgba(50,50,51,.88)}.van-uploader__mask-icon{font-size:22px}.van-uploader__mask-message{margin-top:6px;padding:0 4px;font-size:12px;line-height:14px}.van-uploader__loading{width:22px;height:22px;color:#fff!important}
\ No newline at end of file
diff --git a/dist/uploader/shared.d.ts b/dist/uploader/shared.d.ts
new file mode 100644
index 0000000..85d5034
--- /dev/null
+++ b/dist/uploader/shared.d.ts
@@ -0,0 +1,28 @@
+export declare const chooseImageProps: {
+ sizeType: {
+ type: ArrayConstructor;
+ value: string[];
+ };
+ capture: {
+ type: ArrayConstructor;
+ value: string[];
+ };
+};
+export declare const chooseVideoProps: {
+ capture: {
+ type: ArrayConstructor;
+ value: string[];
+ };
+ compressed: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+ maxDuration: {
+ type: NumberConstructor;
+ value: number;
+ };
+ camera: {
+ type: StringConstructor;
+ value: string;
+ };
+};
diff --git a/dist/uploader/shared.js b/dist/uploader/shared.js
new file mode 100644
index 0000000..e097d74
--- /dev/null
+++ b/dist/uploader/shared.js
@@ -0,0 +1,30 @@
+// props for choose image
+export const chooseImageProps = {
+ sizeType: {
+ type: Array,
+ value: ['original', 'compressed'],
+ },
+ capture: {
+ type: Array,
+ value: ['album', 'camera'],
+ },
+};
+// props for choose video
+export const chooseVideoProps = {
+ capture: {
+ type: Array,
+ value: ['album', 'camera'],
+ },
+ compressed: {
+ type: Boolean,
+ value: true,
+ },
+ maxDuration: {
+ type: Number,
+ value: 60,
+ },
+ camera: {
+ type: String,
+ value: 'back',
+ },
+};
diff --git a/dist/uploader/utils.d.ts b/dist/uploader/utils.d.ts
new file mode 100644
index 0000000..b529c3f
--- /dev/null
+++ b/dist/uploader/utils.d.ts
@@ -0,0 +1,32 @@
+interface File {
+ url: string;
+ size?: number;
+ name?: string;
+ type: string;
+ duration?: number;
+ time?: number;
+ isImage?: boolean;
+ isVideo?: boolean;
+}
+export declare function isImageFile(item: File): boolean;
+export declare function isVideoFile(item: File): boolean;
+export declare function chooseFile({
+ accept,
+ multiple,
+ capture,
+ compressed,
+ maxDuration,
+ sizeType,
+ camera,
+ maxCount,
+}: {
+ accept: any;
+ multiple: any;
+ capture: any;
+ compressed: any;
+ maxDuration: any;
+ sizeType: any;
+ camera: any;
+ maxCount: any;
+}): Promise;
+export {};
diff --git a/dist/uploader/utils.js b/dist/uploader/utils.js
new file mode 100644
index 0000000..bdd4079
--- /dev/null
+++ b/dist/uploader/utils.js
@@ -0,0 +1,122 @@
+import { pickExclude } from '../common/utils';
+import { isImageUrl, isVideoUrl } from '../common/validator';
+export function isImageFile(item) {
+ if (item.isImage != null) {
+ return item.isImage;
+ }
+ if (item.type) {
+ return item.type === 'image';
+ }
+ if (item.url) {
+ return isImageUrl(item.url);
+ }
+ return false;
+}
+export function isVideoFile(item) {
+ if (item.isVideo != null) {
+ return item.isVideo;
+ }
+ if (item.type) {
+ return item.type === 'video';
+ }
+ if (item.url) {
+ return isVideoUrl(item.url);
+ }
+ return false;
+}
+function formatImage(res) {
+ return res.tempFiles.map((item) =>
+ Object.assign(Object.assign({}, pickExclude(item, ['path'])), {
+ type: 'image',
+ url: item.path,
+ thumb: item.path,
+ })
+ );
+}
+function formatVideo(res) {
+ return [
+ Object.assign(
+ Object.assign(
+ {},
+ pickExclude(res, ['tempFilePath', 'thumbTempFilePath', 'errMsg'])
+ ),
+ { type: 'video', url: res.tempFilePath, thumb: res.thumbTempFilePath }
+ ),
+ ];
+}
+function formatMedia(res) {
+ return res.tempFiles.map((item) =>
+ Object.assign(
+ Object.assign(
+ {},
+ pickExclude(item, ['fileType', 'thumbTempFilePath', 'tempFilePath'])
+ ),
+ {
+ type: res.type,
+ url: item.tempFilePath,
+ thumb:
+ res.type === 'video' ? item.thumbTempFilePath : item.tempFilePath,
+ }
+ )
+ );
+}
+function formatFile(res) {
+ return res.tempFiles.map((item) =>
+ Object.assign(Object.assign({}, pickExclude(item, ['path'])), {
+ url: item.path,
+ })
+ );
+}
+export function chooseFile({
+ accept,
+ multiple,
+ capture,
+ compressed,
+ maxDuration,
+ sizeType,
+ camera,
+ maxCount,
+}) {
+ return new Promise((resolve, reject) => {
+ switch (accept) {
+ case 'image':
+ wx.chooseImage({
+ count: multiple ? Math.min(maxCount, 9) : 1,
+ sourceType: capture,
+ sizeType,
+ success: (res) => resolve(formatImage(res)),
+ fail: reject,
+ });
+ break;
+ case 'media':
+ wx.chooseMedia({
+ count: multiple ? Math.min(maxCount, 9) : 1,
+ sourceType: capture,
+ maxDuration,
+ sizeType,
+ camera,
+ success: (res) => resolve(formatMedia(res)),
+ fail: reject,
+ });
+ break;
+ case 'video':
+ wx.chooseVideo({
+ sourceType: capture,
+ compressed,
+ maxDuration,
+ camera,
+ success: (res) => resolve(formatVideo(res)),
+ fail: reject,
+ });
+ break;
+ default:
+ wx.chooseMessageFile({
+ count: multiple ? maxCount : 1,
+ type: accept,
+ success: (res) => resolve(formatFile(res)),
+ fail: reject,
+ });
+ break;
+ }
+ });
+}
diff --git a/dist/wxs/add-unit.wxs b/dist/wxs/add-unit.wxs
new file mode 100644
index 0000000..27a22d8
--- /dev/null
+++ b/dist/wxs/add-unit.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var REGEXP = getRegExp('^\d+(\.\d+)?$');
+
+function addUnit(value) {
+ if (value == null) {
+ return undefined;
+ }
+
+ return REGEXP.test('' + value) ? value + 'px' : value;
+}
+
+module.exports = {
+ addUnit: addUnit
+};
diff --git a/dist/wxs/array.wxs b/dist/wxs/array.wxs
new file mode 100644
index 0000000..610089c
--- /dev/null
+++ b/dist/wxs/array.wxs
@@ -0,0 +1,5 @@
+function isArray(array) {
+ return array && array.constructor === 'Array';
+}
+
+module.exports.isArray = isArray;
diff --git a/dist/wxs/bem.wxs b/dist/wxs/bem.wxs
new file mode 100644
index 0000000..93b2777
--- /dev/null
+++ b/dist/wxs/bem.wxs
@@ -0,0 +1,38 @@
+var array = require('./array.wxs');
+var object = require('./object.wxs');
+var PREFIX = 'van-';
+
+function join(name, mods) {
+ name = PREFIX + name;
+ mods = mods.map(function(mod) {
+ return name + '--' + mod;
+ });
+ mods.unshift(name);
+ return mods.join(' ');
+}
+
+function traversing(mods, conf) {
+ if (!conf) {
+ return;
+ }
+
+ if (typeof conf === 'string' || typeof conf === 'number') {
+ mods.push(conf);
+ } else if (array.isArray(conf)) {
+ conf.forEach(function(item) {
+ traversing(mods, item);
+ });
+ } else if (typeof conf === 'object') {
+ object.keys(conf).forEach(function(key) {
+ conf[key] && mods.push(key);
+ });
+ }
+}
+
+function bem(name, conf) {
+ var mods = [];
+ traversing(mods, conf);
+ return join(name, mods);
+}
+
+module.exports.bem = bem;
diff --git a/dist/wxs/memoize.wxs b/dist/wxs/memoize.wxs
new file mode 100644
index 0000000..261ae67
--- /dev/null
+++ b/dist/wxs/memoize.wxs
@@ -0,0 +1,54 @@
+/**
+ * Simple memoize
+ * wxs doesn't support fn.apply, so this memoize only support up to 2 args
+ */
+
+function isPrimitive(value) {
+ var type = typeof value;
+ return (
+ type === 'boolean' ||
+ type === 'number' ||
+ type === 'string' ||
+ type === 'undefined' ||
+ value === null
+ );
+}
+
+// mock simple fn.call in wxs
+function call(fn, args) {
+ if (args.length === 2) {
+ return fn(args[0], args[1]);
+ }
+
+ if (args.length === 1) {
+ return fn(args[0]);
+ }
+
+ return fn();
+}
+
+function serializer(args) {
+ if (args.length === 1 && isPrimitive(args[0])) {
+ return args[0];
+ }
+ var obj = {};
+ for (var i = 0; i < args.length; i++) {
+ obj['key' + i] = args[i];
+ }
+ return JSON.stringify(obj);
+}
+
+function memoize(fn) {
+ var cache = {};
+
+ return function() {
+ var key = serializer(arguments);
+ if (cache[key] === undefined) {
+ cache[key] = call(fn, arguments);
+ }
+
+ return cache[key];
+ };
+}
+
+module.exports.memoize = memoize;
diff --git a/dist/wxs/object.wxs b/dist/wxs/object.wxs
new file mode 100644
index 0000000..e077107
--- /dev/null
+++ b/dist/wxs/object.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var REGEXP = getRegExp('{|}|"', 'g');
+
+function keys(obj) {
+ return JSON.stringify(obj)
+ .replace(REGEXP, '')
+ .split(',')
+ .map(function(item) {
+ return item.split(':')[0];
+ });
+}
+
+module.exports.keys = keys;
diff --git a/dist/wxs/utils.wxs b/dist/wxs/utils.wxs
new file mode 100644
index 0000000..d5c9d8c
--- /dev/null
+++ b/dist/wxs/utils.wxs
@@ -0,0 +1,10 @@
+/* eslint-disable */
+var bem = require('./bem.wxs').bem;
+var memoize = require('./memoize.wxs').memoize;
+var addUnit = require('./add-unit.wxs').addUnit;
+
+module.exports = {
+ bem: memoize(bem),
+ memoize: memoize,
+ addUnit: addUnit
+};
diff --git a/ec-canvas/ec-canvas.js b/ec-canvas/ec-canvas.js
new file mode 100644
index 0000000..e7b5f2f
--- /dev/null
+++ b/ec-canvas/ec-canvas.js
@@ -0,0 +1,146 @@
+import WxCanvas from './wx-canvas';
+import * as echarts from './echarts';
+
+let ctx;
+
+Component({
+ properties: {
+ canvasId: {
+ type: String,
+ value: 'ec-canvas'
+ },
+
+ ec: {
+ type: Object
+ }
+ },
+
+ data: {
+
+ },
+
+ ready: function () {
+ if (!this.data.ec) {
+ console.warn('组件需绑定 ec 变量,例:');
+ return;
+ }
+
+ if (!this.data.ec.lazyLoad) {
+ this.init();
+ }
+ },
+
+ methods: {
+ init: function (callback) {
+ const version = wx.version.version.split('.').map(n => parseInt(n, 10));
+ const isValid = version[0] > 1 || (version[0] === 1 && version[1] > 9)
+ || (version[0] === 1 && version[1] === 9 && version[2] >= 91);
+ if (!isValid) {
+ console.error('微信基础库版本过低,需大于等于 1.9.91。'
+ + '参见:https://github.com/ecomfe/echarts-for-weixin'
+ + '#%E5%BE%AE%E4%BF%A1%E7%89%88%E6%9C%AC%E8%A6%81%E6%B1%82');
+ return;
+ }
+
+ ctx = wx.createCanvasContext(this.data.canvasId, this);
+
+ const canvas = new WxCanvas(ctx, this.data.canvasId);
+
+ echarts.setCanvasCreator(() => {
+ return canvas;
+ });
+
+ var query = wx.createSelectorQuery().in(this);
+ query.select('.ec-canvas').boundingClientRect(res => {
+ if (typeof callback === 'function') {
+ this.chart = callback(canvas, res.width, res.height);
+ }
+ else if (this.data.ec && typeof this.data.ec.onInit === 'function') {
+ this.chart = this.data.ec.onInit(canvas, res.width, res.height);
+ }
+ else {
+ this.triggerEvent('init', {
+ canvas: canvas,
+ width: res.width,
+ height: res.height
+ });
+ }
+ }).exec();
+ },
+
+ canvasToTempFilePath(opt) {
+ if (!opt.canvasId) {
+ opt.canvasId = this.data.canvasId;
+ }
+
+ const system = wx.getSystemInfoSync().system
+ if (/ios/i.test(system)) {
+ ctx.draw(true, () => {
+ wx.canvasToTempFilePath(opt, this);
+ });
+ } else {//针对安卓机型异步获取已绘制图层
+ ctx.draw(true,()=>{
+ //断点打印依旧不会执行setTimeout(() => {wx.canvasToTempFilePath(opt, this);}, 1000);}});
+ ctx.draw(true);
+ setTimeout(() => {//延迟获取
+ wx.canvasToTempFilePath(opt, this);
+ }, 1000);
+ })
+ }
+ },
+
+ touchStart(e) {
+ if (this.chart && e.touches.length > 0) {
+ var touch = e.touches[0];
+ var handler = this.chart.getZr().handler;
+ handler.dispatch('mousedown', {
+ zrX: touch.x,
+ zrY: touch.y
+ });
+ handler.dispatch('mousemove', {
+ zrX: touch.x,
+ zrY: touch.y
+ });
+ handler.processGesture && handler.processGesture(wrapTouch(e), 'start');
+ }
+ },
+
+ touchMove(e) {
+ if (this.chart && e.touches.length > 0) {
+ var touch = e.touches[0];
+ var handler = this.chart.getZr().handler;
+ handler.dispatch('mousemove', {
+ zrX: touch.x,
+ zrY: touch.y
+ });
+ handler.processGesture && handler.processGesture(wrapTouch(e), 'change');
+ }
+ },
+
+ touchEnd(e) {
+ if (this.chart) {
+ const touch = e.changedTouches ? e.changedTouches[0] : {};
+ var handler = this.chart.getZr().handler;
+ handler.dispatch('mouseup', {
+ zrX: touch.x,
+ zrY: touch.y
+ });
+ handler.dispatch('click', {
+ zrX: touch.x,
+ zrY: touch.y
+ });
+ handler.processGesture && handler.processGesture(wrapTouch(e), 'end');
+ }
+ }
+ }
+});
+
+function wrapTouch(event) {
+ for (let i = 0; i < event.touches.length; ++i) {
+ const touch = event.touches[i];
+ touch.offsetX = touch.x;
+ touch.offsetY = touch.y;
+ }
+ return event;
+}
diff --git a/ec-canvas/ec-canvas.json b/ec-canvas/ec-canvas.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/ec-canvas/ec-canvas.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/ec-canvas/ec-canvas.wxml b/ec-canvas/ec-canvas.wxml
new file mode 100644
index 0000000..33cfaf7
--- /dev/null
+++ b/ec-canvas/ec-canvas.wxml
@@ -0,0 +1,4 @@
+
diff --git a/ec-canvas/ec-canvas.wxss b/ec-canvas/ec-canvas.wxss
new file mode 100644
index 0000000..0d64b10
--- /dev/null
+++ b/ec-canvas/ec-canvas.wxss
@@ -0,0 +1,4 @@
+.ec-canvas {
+ width: 100%;
+ height: 100%;
+}
diff --git a/ec-canvas/echarts.js b/ec-canvas/echarts.js
new file mode 100644
index 0000000..d689fa2
--- /dev/null
+++ b/ec-canvas/echarts.js
@@ -0,0 +1,13 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";function e(t){var e={},n={},i=t.match(/Firefox\/([\d.]+)/),r=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),a=t.match(/Edge\/([\d.]+)/),o=/micromessenger/i.test(t);return i&&(n.firefox=!0,n.version=i[1]),r&&(n.ie=!0,n.version=r[1]),a&&(n.edge=!0,n.version=a[1]),o&&(n.weChat=!0),{browser:n,os:e,node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:"undefined"!=typeof SVGRect,touchEventsSupported:"ontouchstart"in window&&!n.ie&&!n.edge,pointerEventsSupported:"onpointerdown"in window&&(n.edge||n.ie&&n.version>=11),domSupported:"undefined"!=typeof document}}function n(t,e){"createCanvas"===t&&(kp=null),Dp[t]=e}function i(t){if(null==t||"object"!=typeof t)return t;var e=t,n=wp.call(t);if("[object Array]"===n){if(!z(t)){e=[];for(var r=0,a=t.length;a>r;r++)e[r]=i(t[r])}}else if(_p[n]){if(!z(t)){var o=t.constructor;if(t.constructor.from)e=o.from(t);else{e=new o(t.length);for(var r=0,a=t.length;a>r;r++)e[r]=i(t[r])}}}else if(!xp[n]&&!z(t)&&!T(t)){e={};for(var s in t)t.hasOwnProperty(s)&&(e[s]=i(t[s]))}return e}function r(t,e,n){if(!S(e)||!S(t))return n?i(e):t;for(var a in e)if(e.hasOwnProperty(a)){var o=t[a],s=e[a];!S(s)||!S(o)||_(s)||_(o)||T(s)||T(o)||M(s)||M(o)||z(s)||z(o)?!n&&a in t||(t[a]=i(e[a],!0)):r(o,s,n)}return t}function a(t,e){for(var n=t[0],i=1,a=t.length;a>i;i++)n=r(n,t[i],e);return n}function o(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function s(t,e,n){for(var i in e)e.hasOwnProperty(i)&&(n?null!=e[i]:null==t[i])&&(t[i]=e[i]);return t}function l(){return kp||(kp=Ap().getContext("2d")),kp}function u(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var n=0,i=t.length;i>n;n++)if(t[n]===e)return n}return-1}function h(t,e){function n(){}var i=t.prototype;n.prototype=e.prototype,t.prototype=new n;for(var r in i)i.hasOwnProperty(r)&&(t.prototype[r]=i[r]);t.prototype.constructor=t,t.superClass=e}function c(t,e,n){t="prototype"in t?t.prototype:t,e="prototype"in e?e.prototype:e,s(t,e,n)}function d(t){return t?"string"==typeof t?!1:"number"==typeof t.length:void 0}function f(t,e,n){if(t&&e)if(t.forEach&&t.forEach===Sp)t.forEach(e,n);else if(t.length===+t.length)for(var i=0,r=t.length;r>i;i++)e.call(n,t[i],i,t);else for(var a in t)t.hasOwnProperty(a)&&e.call(n,t[a],a,t)}function p(t,e,n){if(t&&e){if(t.map&&t.map===Tp)return t.map(e,n);for(var i=[],r=0,a=t.length;a>r;r++)i.push(e.call(n,t[r],r,t));return i}}function g(t,e,n,i){if(t&&e){if(t.reduce&&t.reduce===Cp)return t.reduce(e,n,i);for(var r=0,a=t.length;a>r;r++)n=e.call(i,n,t[r],r,t);return n}}function v(t,e,n){if(t&&e){if(t.filter&&t.filter===Mp)return t.filter(e,n);for(var i=[],r=0,a=t.length;a>r;r++)e.call(n,t[r],r,t)&&i.push(t[r]);return i}}function m(t,e,n){if(t&&e)for(var i=0,r=t.length;r>i;i++)if(e.call(n,t[i],i,t))return t[i]}function y(t,e){var n=Ip.call(arguments,2);return function(){return t.apply(e,n.concat(Ip.call(arguments)))}}function x(t){var e=Ip.call(arguments,1);return function(){return t.apply(this,e.concat(Ip.call(arguments)))}}function _(t){return"[object Array]"===wp.call(t)}function w(t){return"function"==typeof t}function b(t){return"[object String]"===wp.call(t)}function S(t){var e=typeof t;return"function"===e||!!t&&"object"===e}function M(t){return!!xp[wp.call(t)]}function I(t){return!!_p[wp.call(t)]}function T(t){return"object"==typeof t&&"number"==typeof t.nodeType&&"object"==typeof t.ownerDocument}function C(t){return t!==t}function D(){for(var t=0,e=arguments.length;e>t;t++)if(null!=arguments[t])return arguments[t]}function A(t,e){return null!=t?t:e}function k(t,e,n){return null!=t?t:null!=e?e:n}function P(){return Function.call.apply(Ip,arguments)}function L(t){if("number"==typeof t)return[t,t,t,t];var e=t.length;return 2===e?[t[0],t[1],t[0],t[1]]:3===e?[t[0],t[1],t[2],t[1]]:t}function O(t,e){if(!t)throw new Error(e)}function E(t){return null==t?null:"function"==typeof t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function B(t){t[Pp]=!0}function z(t){return t[Pp]}function R(t){function e(t,e){n?i.set(t,e):i.set(e,t)}var n=_(t);this.data={};var i=this;t instanceof R?t.each(e):t&&f(t,e)}function N(t){return new R(t)}function F(t,e){for(var n=new t.constructor(t.length+e.length),i=0;id;d++){var p=1<o;o++)for(var s=0;8>s;s++)null==a[s]&&(a[s]=0),a[s]+=((o+s)%2?-1:1)*de(n,7,0===o?1:0,1<a;a++){var o=document.createElement("div"),s=o.style,l=a%2,u=(a>>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",i[l]+":0",r[u]+":0",i[1-l]+":auto",r[1-u]+":auto",""].join("!important;"),t.appendChild(o),n.push(o)}return n}function me(t,e,n){for(var i=n?"invTrans":"trans",r=e[i],a=e.srcCoords,o=!0,s=[],l=[],u=0;4>u;u++){var h=t[u].getBoundingClientRect(),c=2*u,d=h.left,f=h.top;s.push(d,f),o=o&&a&&d===a[c]&&f===a[c+1],l.push(t[u].offsetLeft,t[u].offsetTop)}return o&&r?r:(e.srcCoords=s,e[i]=n?fe(l,s):fe(s,l))}function ye(t){return"CANVAS"===t.nodeName.toUpperCase()}function xe(t,e,n,i){return n=n||{},i||!yp.canvasSupported?_e(t,e,n):yp.browser.firefox&&null!=e.layerX&&e.layerX!==e.offsetX?(n.zrX=e.layerX,n.zrY=e.layerY):null!=e.offsetX?(n.zrX=e.offsetX,n.zrY=e.offsetY):_e(t,e,n),n}function _e(t,e,n){if(yp.domSupported&&t.getBoundingClientRect){var i=e.clientX,r=e.clientY;if(ye(t)){var a=t.getBoundingClientRect();return n.zrX=i-a.left,void(n.zrY=r-a.top)}if(ge(Yp,t,i,r))return n.zrX=Yp[0],void(n.zrY=Yp[1])}n.zrX=n.zrY=0}function we(t){return t||window.event}function be(t,e,n){if(e=we(e),null!=e.zrX)return e;var i=e.type,r=i&&i.indexOf("touch")>=0;if(r){var a="touchend"!==i?e.targetTouches[0]:e.changedTouches[0];a&&xe(t,a,e,n)}else xe(t,e,e,n),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var o=e.button;return null==e.which&&void 0!==o&&Up.test(e.type)&&(e.which=1&o?1:2&o?3:4&o?2:0),e}function Se(t,e,n,i){Xp?t.addEventListener(e,n,i):t.attachEvent("on"+e,n)}function Me(t,e,n,i){Xp?t.removeEventListener(e,n,i):t.detachEvent("on"+e,n)}function Ie(t){var e=t[1][0]-t[0][0],n=t[1][1]-t[0][1];return Math.sqrt(e*e+n*n)}function Te(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}function Ce(t,e,n){return{type:t,event:n,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:n.zrX,offsetY:n.zrY,gestureEvent:n.gestureEvent,pinchX:n.pinchX,pinchY:n.pinchY,pinchScale:n.pinchScale,wheelDelta:n.zrDelta,zrByTouch:n.zrByTouch,which:n.which,stop:De}}function De(){jp(this.event)}function Ae(){}function ke(t,e,n){if(t[t.rectHover?"rectContain":"contain"](e,n)){for(var i,r=t;r;){if(r.clipPath&&!r.clipPath.contain(e,n))return!1;r.silent&&(i=!0),r=r.parent}return i?Kp:!0}return!1}function Pe(t,e,n){var i=t.painter;return 0>e||e>i.getWidth()||0>n||n>i.getHeight()}function Le(){var t=new Jp(6);return Oe(t),t}function Oe(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function Ee(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function Be(t,e,n){var i=e[0]*n[0]+e[2]*n[1],r=e[1]*n[0]+e[3]*n[1],a=e[0]*n[2]+e[2]*n[3],o=e[1]*n[2]+e[3]*n[3],s=e[0]*n[4]+e[2]*n[5]+e[4],l=e[1]*n[4]+e[3]*n[5]+e[5];return t[0]=i,t[1]=r,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t}function ze(t,e,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+n[0],t[5]=e[5]+n[1],t}function Re(t,e,n){var i=e[0],r=e[2],a=e[4],o=e[1],s=e[3],l=e[5],u=Math.sin(n),h=Math.cos(n);return t[0]=i*h+o*u,t[1]=-i*u+o*h,t[2]=r*h+s*u,t[3]=-r*u+h*s,t[4]=h*a+u*l,t[5]=h*l-u*a,t}function Ne(t,e,n){var i=n[0],r=n[1];return t[0]=e[0]*i,t[1]=e[1]*r,t[2]=e[2]*i,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*r,t}function Fe(t,e){var n=e[0],i=e[2],r=e[4],a=e[1],o=e[3],s=e[5],l=n*o-a*i;return l?(l=1/l,t[0]=o*l,t[1]=-a*l,t[2]=-i*l,t[3]=n*l,t[4]=(i*s-o*r)*l,t[5]=(a*r-n*s)*l,t):null}function Ve(t){var e=Le();return Ee(e,t),e}function He(t){return t>ng||-ng>t}function Ge(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null==t.loop?!1:t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}function We(t){return t=Math.round(t),0>t?0:t>255?255:t}function Xe(t){return t=Math.round(t),0>t?0:t>360?360:t}function Ue(t){return 0>t?0:t>1?1:t}function Ye(t){return We(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function je(t){return Ue(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function qe(t,e,n){return 0>n?n+=1:n>1&&(n-=1),1>6*n?t+(e-t)*n*6:1>2*n?e:2>3*n?t+(e-t)*(2/3-n)*6:t}function Ze(t,e,n){return t+(e-t)*n}function Ke(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function $e(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Qe(t,e){vg&&$e(vg,e),vg=gg.put(t,vg||e.slice())}function Je(t,e){if(t){e=e||[];var n=gg.get(t);if(n)return $e(e,n);t+="";var i=t.replace(/ /g,"").toLowerCase();if(i in pg)return $e(e,pg[i]),Qe(t,e),e;if("#"!==i.charAt(0)){var r=i.indexOf("("),a=i.indexOf(")");if(-1!==r&&a+1===i.length){var o=i.substr(0,r),s=i.substr(r+1,a-(r+1)).split(","),l=1;switch(o){case"rgba":if(4!==s.length)return void Ke(e,0,0,0,1);l=je(s.pop());case"rgb":return 3!==s.length?void Ke(e,0,0,0,1):(Ke(e,Ye(s[0]),Ye(s[1]),Ye(s[2]),l),Qe(t,e),e);case"hsla":return 4!==s.length?void Ke(e,0,0,0,1):(s[3]=je(s[3]),tn(s,e),Qe(t,e),e);case"hsl":return 3!==s.length?void Ke(e,0,0,0,1):(tn(s,e),Qe(t,e),e);default:return}}Ke(e,0,0,0,1)}else{if(4===i.length){var u=parseInt(i.substr(1),16);return u>=0&&4095>=u?(Ke(e,(3840&u)>>4|(3840&u)>>8,240&u|(240&u)>>4,15&u|(15&u)<<4,1),Qe(t,e),e):void Ke(e,0,0,0,1)}if(7===i.length){var u=parseInt(i.substr(1),16);return u>=0&&16777215>=u?(Ke(e,(16711680&u)>>16,(65280&u)>>8,255&u,1),Qe(t,e),e):void Ke(e,0,0,0,1)}}}}function tn(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=je(t[1]),r=je(t[2]),a=.5>=r?r*(i+1):r+i-r*i,o=2*r-a;return e=e||[],Ke(e,We(255*qe(o,a,n+1/3)),We(255*qe(o,a,n)),We(255*qe(o,a,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function en(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,a=t[2]/255,o=Math.min(i,r,a),s=Math.max(i,r,a),l=s-o,u=(s+o)/2;if(0===l)e=0,n=0;else{n=.5>u?l/(s+o):l/(2-s-o);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,d=((s-a)/6+l/2)/l;i===s?e=d-c:r===s?e=1/3+h-d:a===s&&(e=2/3+c-h),0>e&&(e+=1),e>1&&(e-=1)}var f=[360*e,n,u];return null!=t[3]&&f.push(t[3]),f}}function nn(t,e){var n=Je(t);if(n){for(var i=0;3>i;i++)n[i]=0>e?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:t[i]<0&&(n[i]=0);return un(n,4===n.length?"rgba":"rgb")}}function rn(t){var e=Je(t);return e?((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1):void 0}function an(t,e,n){if(e&&e.length&&t>=0&&1>=t){n=n||[];var i=t*(e.length-1),r=Math.floor(i),a=Math.ceil(i),o=e[r],s=e[a],l=i-r;return n[0]=We(Ze(o[0],s[0],l)),n[1]=We(Ze(o[1],s[1],l)),n[2]=We(Ze(o[2],s[2],l)),n[3]=Ue(Ze(o[3],s[3],l)),n}}function on(t,e,n){if(e&&e.length&&t>=0&&1>=t){var i=t*(e.length-1),r=Math.floor(i),a=Math.ceil(i),o=Je(e[r]),s=Je(e[a]),l=i-r,u=un([We(Ze(o[0],s[0],l)),We(Ze(o[1],s[1],l)),We(Ze(o[2],s[2],l)),Ue(Ze(o[3],s[3],l))],"rgba");return n?{color:u,leftIndex:r,rightIndex:a,value:i}:u}}function sn(t,e,n,i){return t=Je(t),t?(t=en(t),null!=e&&(t[0]=Xe(e)),null!=n&&(t[1]=je(n)),null!=i&&(t[2]=je(i)),un(tn(t),"rgba")):void 0}function ln(t,e){return t=Je(t),t&&null!=e?(t[3]=Ue(e),un(t,"rgba")):void 0}function un(t,e){if(t&&t.length){var n=t[0]+","+t[1]+","+t[2];return("rgba"===e||"hsva"===e||"hsla"===e)&&(n+=","+t[3]),e+"("+n+")"}}function hn(t,e){return t[e]}function cn(t,e,n){t[e]=n}function dn(t,e,n){return(e-t)*n+t}function fn(t,e,n){return n>.5?e:t}function pn(t,e,n,i,r){var a=t.length;if(1===r)for(var o=0;a>o;o++)i[o]=dn(t[o],e[o],n);else for(var s=a&&t[0].length,o=0;a>o;o++)for(var l=0;s>l;l++)i[o][l]=dn(t[o][l],e[o][l],n)}function gn(t,e,n){var i=t.length,r=e.length;if(i!==r){var a=i>r;if(a)t.length=r;else for(var o=i;r>o;o++)t.push(1===n?e[o]:_g.call(e[o]))}for(var s=t[0]&&t[0].length,o=0;ol;l++)isNaN(t[o][l])&&(t[o][l]=e[o][l])}function vn(t,e,n){if(t===e)return!0;var i=t.length;if(i!==e.length)return!1;if(1===n){for(var r=0;i>r;r++)if(t[r]!==e[r])return!1}else for(var a=t[0].length,r=0;i>r;r++)for(var o=0;a>o;o++)if(t[r][o]!==e[r][o])return!1;return!0}function mn(t,e,n,i,r,a,o,s,l){var u=t.length;if(1===l)for(var h=0;u>h;h++)s[h]=yn(t[h],e[h],n[h],i[h],r,a,o);else for(var c=t[0].length,h=0;u>h;h++)for(var d=0;c>d;d++)s[h][d]=yn(t[h][d],e[h][d],n[h][d],i[h][d],r,a,o)}function yn(t,e,n,i,r,a,o){var s=.5*(n-t),l=.5*(i-e);return(2*(e-n)+s+l)*o+(-3*(e-n)-2*s-l)*a+s*r+e}function xn(t){if(d(t)){var e=t.length;if(d(t[0])){for(var n=[],i=0;e>i;i++)n.push(_g.call(t[i]));return n}return _g.call(t)}return t}function _n(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),"rgba("+t.join(",")+")"}function wn(t){var e=t[t.length-1].value;return d(e&&e[0])?2:1}function bn(t,e,n,i,r,a){var o=t._getter,s=t._setter,l="spline"===e,u=i.length;if(u){var h,c=i[0].value,f=d(c),p=!1,g=!1,v=f?wn(i):0;i.sort(function(t,e){return t.time-e.time}),h=i[u-1].time;for(var m=[],y=[],x=i[0].value,_=!0,w=0;u>w;w++){m.push(i[w].time/h);var b=i[w].value;if(f&&vn(b,x,v)||!f&&b===x||(_=!1),x=b,"string"==typeof b){var S=Je(b);S?(b=S,p=!0):g=!0}y.push(b)}if(a||!_){for(var M=y[u-1],w=0;u-1>w;w++)f?gn(y[w],M,v):!isNaN(y[w])||isNaN(M)||g||p||(y[w]=M);f&&gn(o(t._target,r),M,v);var I,T,C,D,A,k,P=0,L=0;if(p)var O=[0,0,0,0];var E=function(t,e){var n;if(0>e)n=0;else if(L>e){for(I=Math.min(P+1,u-1),n=I;n>=0&&!(m[n]<=e);n--);n=Math.min(n,u-2)}else{for(n=P;u>n&&!(m[n]>e);n++);n=Math.min(n-1,u-2)}P=n,L=e;var i=m[n+1]-m[n];if(0!==i)if(T=(e-m[n])/i,l)if(D=y[n],C=y[0===n?n:n-1],A=y[n>u-2?u-1:n+1],k=y[n>u-3?u-1:n+2],f)mn(C,D,A,k,T,T*T,T*T*T,o(t,r),v);else{var a;if(p)a=mn(C,D,A,k,T,T*T,T*T*T,O,1),a=_n(O);else{if(g)return fn(D,A,T);a=yn(C,D,A,k,T,T*T,T*T*T)}s(t,r,a)}else if(f)pn(y[n],y[n+1],T,o(t,r),v);else{var a;if(p)pn(y[n],y[n+1],T,O,1),a=_n(O);else{if(g)return fn(y[n],y[n+1],T);a=dn(y[n],y[n+1],T)}s(t,r,a)}},B=new Ge({target:t._target,life:h,loop:t._loop,delay:t._delay,onframe:E,ondestroy:n});return e&&"spline"!==e&&(B.easing=e),B}}}function Sn(t,e,n,i,r,a,o,s){function l(){h--,h||a&&a()}b(i)?(a=r,r=i,i=0):w(r)?(a=r,r="linear",i=0):w(i)?(a=i,i=0):w(n)?(a=n,n=500):n||(n=500),t.stopAnimation(),Mn(t,"",t,e,n,i,s);var u=t.animators.slice(),h=u.length;h||a&&a();for(var c=0;c0&&t.animate(e,!1).when(null==r?500:r,s).delay(a||0)}function In(t,e,n,i){if(e){var r={};r[e]={},r[e][n]=i,t.attr(r)}else t.attr(n,i)}function Tn(t,e,n,i){0>n&&(t+=n,n=-n),0>i&&(e+=i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}function Cn(t){for(var e=0;t>=Og;)e|=1&t,t>>=1;return t+e}function Dn(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;n>r&&i(t[r],t[r-1])<0;)r++;An(t,e,r)}else for(;n>r&&i(t[r],t[r-1])>=0;)r++;return r-e}function An(t,e,n){for(n--;n>e;){var i=t[e];t[e++]=t[n],t[n--]=i}}function kn(t,e,n,i,r){for(i===e&&i++;n>i;i++){for(var a,o=t[i],s=e,l=i;l>s;)a=s+l>>>1,r(o,t[a])<0?l=a:s=a+1;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=o}}function Pn(t,e,n,i,r,a){var o=0,s=0,l=1;if(a(t,e[n+r])>0){for(s=i-r;s>l&&a(t,e[n+r+l])>0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s),o+=r,l+=r}else{for(s=r+1;s>l&&a(t,e[n+r-l])<=0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}for(o++;l>o;){var h=o+(l-o>>>1);a(t,e[n+h])>0?o=h+1:l=h}return l}function Ln(t,e,n,i,r,a){var o=0,s=0,l=1;if(a(t,e[n+r])<0){for(s=r+1;s>l&&a(t,e[n+r-l])<0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}else{for(s=i-r;s>l&&a(t,e[n+r+l])>=0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s),o+=r,l+=r}for(o++;l>o;){var h=o+(l-o>>>1);a(t,e[n+h])<0?l=h:o=h+1}return l}function On(t,e){function n(t,e){l[c]=t,u[c]=e,c+=1}function i(){for(;c>1;){var t=c-2;if(t>=1&&u[t-1]<=u[t]+u[t+1]||t>=2&&u[t-2]<=u[t]+u[t-1])u[t-1]u[t+1])break;a(t)}}function r(){for(;c>1;){var t=c-2;t>0&&u[t-1]=r?o(i,r,a,h):s(i,r,a,h)))}function o(n,i,r,a){var o=0;for(o=0;i>o;o++)d[o]=t[n+o];var s=0,l=r,u=n;if(t[u++]=t[l++],0!==--a){if(1===i){for(o=0;a>o;o++)t[u+o]=t[l+o];return void(t[u+a]=d[s])}for(var c,f,p,g=h;;){c=0,f=0,p=!1;do if(e(t[l],d[s])<0){if(t[u++]=t[l++],f++,c=0,0===--a){p=!0;break}}else if(t[u++]=d[s++],c++,f=0,1===--i){p=!0;break}while(g>(c|f));if(p)break;do{if(c=Ln(t[l],d,s,i,0,e),0!==c){for(o=0;c>o;o++)t[u+o]=d[s+o];if(u+=c,s+=c,i-=c,1>=i){p=!0;break}}if(t[u++]=t[l++],0===--a){p=!0;break}if(f=Pn(d[s],t,l,a,0,e),0!==f){for(o=0;f>o;o++)t[u+o]=t[l+o];if(u+=f,l+=f,a-=f,0===a){p=!0;break}}if(t[u++]=d[s++],1===--i){p=!0;break}g--}while(c>=Eg||f>=Eg);if(p)break;0>g&&(g=0),g+=2}if(h=g,1>h&&(h=1),1===i){for(o=0;a>o;o++)t[u+o]=t[l+o];t[u+a]=d[s]}else{if(0===i)throw new Error;for(o=0;i>o;o++)t[u+o]=d[s+o]}}else for(o=0;i>o;o++)t[u+o]=d[s+o]}function s(n,i,r,a){var o=0;for(o=0;a>o;o++)d[o]=t[r+o];var s=n+i-1,l=a-1,u=r+a-1,c=0,f=0;if(t[u--]=t[s--],0!==--i){if(1===a){for(u-=i,s-=i,f=u+1,c=s+1,o=i-1;o>=0;o--)t[f+o]=t[c+o];return void(t[u]=d[l])}for(var p=h;;){var g=0,v=0,m=!1;do if(e(d[l],t[s])<0){if(t[u--]=t[s--],g++,v=0,0===--i){m=!0;break}}else if(t[u--]=d[l--],v++,g=0,1===--a){m=!0;break}while(p>(g|v));if(m)break;do{if(g=i-Ln(d[l],t,n,i,i-1,e),0!==g){for(u-=g,s-=g,i-=g,f=u+1,c=s+1,o=g-1;o>=0;o--)t[f+o]=t[c+o];if(0===i){m=!0;break}}if(t[u--]=d[l--],1===--a){m=!0;break}if(v=a-Pn(t[s],d,0,a,a-1,e),0!==v){for(u-=v,l-=v,a-=v,f=u+1,c=l+1,o=0;v>o;o++)t[f+o]=d[c+o];if(1>=a){m=!0;break}}if(t[u--]=t[s--],0===--i){m=!0;break}p--}while(g>=Eg||v>=Eg);if(m)break;0>p&&(p=0),p+=2}if(h=p,1>h&&(h=1),1===a){for(u-=i,s-=i,f=u+1,c=s+1,o=i-1;o>=0;o--)t[f+o]=t[c+o];t[u]=d[l]}else{if(0===a)throw new Error;for(c=u-(a-1),o=0;a>o;o++)t[c+o]=d[o]}}else for(c=u-(a-1),o=0;a>o;o++)t[c+o]=d[o]}var l,u,h=Eg,c=0,d=[];l=[],u=[],this.mergeRuns=i,this.forceMergeRuns=r,this.pushRun=n}function En(t,e,n,i){n||(n=0),i||(i=t.length);var r=i-n;if(!(2>r)){var a=0;if(Og>r)return a=Dn(t,n,i,e),void kn(t,n,i,n+a,e);var o=new On(t,e),s=Cn(r);do{if(a=Dn(t,n,i,e),s>a){var l=r;l>s&&(l=s),kn(t,n,n+l,n+a,e),a=l}o.pushRun(n,a),o.mergeRuns(),r-=a,n+=a}while(0!==r);o.forceMergeRuns()}}function Bn(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function zn(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,a=null==e.y?0:e.y,o=null==e.y2?0:e.y2;e.global||(i=i*n.width+n.x,r=r*n.width+n.x,a=a*n.height+n.y,o=o*n.height+n.y),i=isNaN(i)?0:i,r=isNaN(r)?1:r,a=isNaN(a)?0:a,o=isNaN(o)?0:o;var s=t.createLinearGradient(i,a,r,o);return s}function Rn(t,e,n){var i=n.width,r=n.height,a=Math.min(i,r),o=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;e.global||(o=o*i+n.x,s=s*r+n.y,l*=a);var u=t.createRadialGradient(o,s,0,o,s,l);return u}function Nn(){return!1}function Fn(t,e,n){var i=Ap(),r=e.getWidth(),a=e.getHeight(),o=i.style;return o&&(o.position="absolute",o.left=0,o.top=0,o.width=r+"px",o.height=a+"px",i.setAttribute("data-zr-dom-id",t)),i.width=r*n,i.height=a*n,i}function Vn(t){if("string"==typeof t){var e=qg.get(t);return e&&e.image}return t}function Hn(t,e,n,i,r){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var a=qg.get(t),o={hostEl:n,cb:i,cbPayload:r};return a?(e=a.image,!Wn(e)&&a.pending.push(o)):(e=new Image,e.onload=e.onerror=Gn,qg.put(t,e.__cachedImgObj={image:e,pending:[o]}),e.src=e.__zrImageSrc=t),e}return t}return e}function Gn(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;ea;a++)r=Math.max(ni(i[a],e).width,r);return Kg>$g&&(Kg=0,Zg={}),Kg++,Zg[n]=r,r}function Un(t,e,n,i,r,a,o,s){return o?jn(t,e,n,i,r,a,o,s):Yn(t,e,n,i,r,a,s)}function Yn(t,e,n,i,r,a,o){var s=ii(t,e,r,a,o),l=Xn(t,e);r&&(l+=r[1]+r[3]);var u=s.outerHeight,h=qn(0,l,n),c=Zn(0,u,i),d=new Tn(h,c,l,u);return d.lineHeight=s.lineHeight,d}function jn(t,e,n,i,r,a,o,s){var l=ri(t,{rich:o,truncate:s,font:e,textAlign:n,textPadding:r,textLineHeight:a}),u=l.outerWidth,h=l.outerHeight,c=qn(0,u,n),d=Zn(0,h,i);return new Tn(c,d,u,h)}function qn(t,e,n){return"right"===n?t-=e:"center"===n&&(t-=e/2),t}function Zn(t,e,n){return"middle"===n?t-=e/2:"bottom"===n&&(t-=e),t}function Kn(t,e,n){var i=e.textPosition,r=e.textDistance,a=n.x,o=n.y;r=r||0;var s=n.height,l=n.width,u=s/2,h="left",c="top";switch(i){case"left":a-=r,o+=u,h="right",c="middle";break;case"right":a+=r+l,o+=u,c="middle";break;case"top":a+=l/2,o-=r,h="center",c="bottom";break;case"bottom":a+=l/2,o+=s+r,h="center";break;case"inside":a+=l/2,o+=u,h="center",c="middle";break;case"insideLeft":a+=r,o+=u,c="middle";break;case"insideRight":a+=l-r,o+=u,h="right",c="middle";break;case"insideTop":a+=l/2,o+=r,h="center";break;case"insideBottom":a+=l/2,o+=s-r,h="center",c="bottom";break;case"insideTopLeft":a+=r,o+=r;break;case"insideTopRight":a+=l-r,o+=r,h="right";break;case"insideBottomLeft":a+=r,o+=s-r,c="bottom";break;case"insideBottomRight":a+=l-r,o+=s-r,h="right",c="bottom"}return t=t||{},t.x=a,t.y=o,t.textAlign=h,t.textVerticalAlign=c,t}function $n(t,e,n,i,r){if(!e)return"";var a=(t+"").split("\n");r=Qn(e,n,i,r);for(var o=0,s=a.length;s>o;o++)a[o]=Jn(a[o],r);return a.join("\n")}function Qn(t,e,n,i){i=o({},i),i.font=e;var n=A(n,"...");i.maxIterations=A(i.maxIterations,2);var r=i.minChar=A(i.minChar,0);i.cnCharWidth=Xn("国",e);var a=i.ascCharWidth=Xn("a",e);i.placeholder=A(i.placeholder,"");for(var s=t=Math.max(0,t-1),l=0;r>l&&s>=a;l++)s-=a;var u=Xn(n,e);return u>s&&(n="",u=0),s=t-u,i.ellipsis=n,i.ellipsisWidth=u,i.contentWidth=s,i.containerWidth=t,i}function Jn(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return"";var a=Xn(t,i);if(n>=a)return t;for(var o=0;;o++){if(r>=a||o>=e.maxIterations){t+=e.ellipsis;break}var s=0===o?ti(t,r,e.ascCharWidth,e.cnCharWidth):a>0?Math.floor(t.length*r/a):0;t=t.substr(0,s),a=Xn(t,i)}return""===t&&(t=e.placeholder),t}function ti(t,e,n,i){for(var r=0,a=0,o=t.length;o>a&&e>r;a++){var s=t.charCodeAt(a);r+=s>=0&&127>=s?n:i}return a}function ei(t){return Xn("国",t)}function ni(t,e){return tv.measureText(t,e)}function ii(t,e,n,i,r){null!=t&&(t+="");var a=A(i,ei(e)),o=t?t.split("\n"):[],s=o.length*a,l=s,u=!0;if(n&&(l+=n[0]+n[2]),t&&r){u=!1;var h=r.outerHeight,c=r.outerWidth;if(null!=h&&l>h)t="",o=[];else if(null!=c)for(var d=Qn(c-(n?n[1]+n[3]:0),e,r.ellipsis,{minChar:r.minChar,placeholder:r.placeholder}),f=0,p=o.length;p>f;f++)o[f]=Jn(o[f],d)}return{lines:o,height:s,outerHeight:l,lineHeight:a,canCacheByTextString:u}}function ri(t,e){var n={lines:[],width:0,height:0};if(null!=t&&(t+=""),!t)return n;for(var i,r=Qg.lastIndex=0;null!=(i=Qg.exec(t));){var a=i.index;a>r&&ai(n,t.substring(r,a)),ai(n,i[2],i[1]),r=Qg.lastIndex}rf)return{lines:[],width:0,height:0};x.textWidth=Xn(x.text,b);var M=_.textWidth,I=null==M||"auto"===M;if("string"==typeof M&&"%"===M.charAt(M.length-1))x.percentWidth=M,u.push(x),M=0;else{if(I){M=x.textWidth;var T=_.textBackgroundColor,C=T&&T.image;C&&(C=Vn(C),Wn(C)&&(M=Math.max(M,C.width*S/C.height)))}var D=w?w[1]+w[3]:0;M+=D;var P=null!=d?d-m:null;null!=P&&M>P&&(!I||D>P?(x.text="",x.textWidth=M=0):(x.text=$n(x.text,P-D,b,c.ellipsis,{minChar:c.minChar}),x.textWidth=Xn(x.text,b),M=x.textWidth+D))}m+=x.width=M,_&&(v=Math.max(v,x.lineHeight))}g.width=m,g.lineHeight=v,s+=v,l=Math.max(l,m)}n.outerWidth=n.width=A(e.textWidth,l),n.outerHeight=n.height=A(e.textHeight,s),h&&(n.outerWidth+=h[1]+h[3],n.outerHeight+=h[0]+h[2]);for(var p=0;pl&&(o+=l,l=-l),0>u&&(s+=u,u=-u),"number"==typeof h?n=i=r=a=h:h instanceof Array?1===h.length?n=i=r=a=h[0]:2===h.length?(n=r=h[0],i=a=h[1]):3===h.length?(n=h[0],i=a=h[1],r=h[2]):(n=h[0],i=h[1],r=h[2],a=h[3]):n=i=r=a=0;var c;n+i>l&&(c=n+i,n*=l/c,i*=l/c),r+a>l&&(c=r+a,r*=l/c,a*=l/c),i+r>u&&(c=i+r,i*=u/c,r*=u/c),n+a>u&&(c=n+a,n*=u/c,a*=u/c),t.moveTo(o+n,s),t.lineTo(o+l-i,s),0!==i&&t.arc(o+l-i,s+i,i,-Math.PI/2,0),t.lineTo(o+l,s+u-r),0!==r&&t.arc(o+l-r,s+u-r,r,0,Math.PI/2),t.lineTo(o+a,s+u),0!==a&&t.arc(o+a,s+u-a,a,Math.PI/2,Math.PI),t.lineTo(o,s+n),0!==n&&t.arc(o+n,s+n,n,Math.PI,1.5*Math.PI)}function li(t){return ui(t),f(t.rich,ui),t}function ui(t){if(t){t.font=oi(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||nv[e]?e:"left";var n=t.textVerticalAlign||t.textBaseline;"center"===n&&(n="middle"),t.textVerticalAlign=null==n||iv[n]?n:"top";var i=t.textPadding;i&&(t.textPadding=L(t.textPadding))}}function hi(t,e,n,i,r,a){i.rich?di(t,e,n,i,r,a):ci(t,e,n,i,r,a)}function ci(t,e,n,i,r,a){var o,s=vi(i),l=!1,u=e.__attrCachedBy===Ng.PLAIN_TEXT;a!==Fg?(a&&(o=a.style,l=!s&&u&&o),e.__attrCachedBy=s?Ng.NONE:Ng.PLAIN_TEXT):u&&(e.__attrCachedBy=Ng.NONE);var h=i.font||ev;l&&h===(o.font||ev)||(e.font=h);var c=t.__computedFont;t.__styleFont!==h&&(t.__styleFont=h,c=t.__computedFont=e.font);var d=i.textPadding,f=i.textLineHeight,p=t.__textCotentBlock;(!p||t.__dirtyText)&&(p=t.__textCotentBlock=ii(n,c,d,f,i.truncate));var g=p.outerHeight,v=p.lines,m=p.lineHeight,y=xi(ov,t,i,r),x=y.baseX,_=y.baseY,w=y.textAlign||"left",b=y.textVerticalAlign;pi(e,i,r,x,_);var S=Zn(_,g,b),M=x,I=S;if(s||d){var T=Xn(n,c),C=T;d&&(C+=d[1]+d[3]);var D=qn(x,C,w);s&&mi(t,e,i,D,S,C,g),d&&(M=Mi(x,w,d),I+=d[0])}e.textAlign=w,e.textBaseline="middle",e.globalAlpha=i.opacity||1;for(var A=0;AT&&(_=b[T],!_.textAlign||"left"===_.textAlign);)gi(t,e,_,i,M,m,C,"left"),I-=_.width,C+=_.width,T++;for(;A>=0&&(_=b[A],"right"===_.textAlign);)gi(t,e,_,i,M,m,D,"right"),I-=_.width,D-=_.width,A--;for(C+=(a-(C-v)-(y-D)-I)/2;A>=T;)_=b[T],gi(t,e,_,i,M,m,C+_.width/2,"center"),C+=_.width,T++;m+=M}}function pi(t,e,n,i,r){if(n&&e.textRotation){var a=e.textOrigin;"center"===a?(i=n.width/2+n.x,r=n.height/2+n.y):a&&(i=a[0]+n.x,r=a[1]+n.y),t.translate(i,r),t.rotate(-e.textRotation),t.translate(-i,-r)}}function gi(t,e,n,i,r,a,o,s){var l=i.rich[n.styleName]||{};l.text=n.text;var u=n.textVerticalAlign,h=a+r/2;
+"top"===u?h=a+n.height/2:"bottom"===u&&(h=a+r-n.height/2),!n.isLineHolder&&vi(l)&&mi(t,e,l,"right"===s?o-n.width:"center"===s?o-n.width/2:o,h-n.height/2,n.width,n.height);var c=n.textPadding;c&&(o=Mi(o,s,c),h-=n.height/2-c[2]-n.textHeight/2),_i(e,"shadowBlur",k(l.textShadowBlur,i.textShadowBlur,0)),_i(e,"shadowColor",l.textShadowColor||i.textShadowColor||"transparent"),_i(e,"shadowOffsetX",k(l.textShadowOffsetX,i.textShadowOffsetX,0)),_i(e,"shadowOffsetY",k(l.textShadowOffsetY,i.textShadowOffsetY,0)),_i(e,"textAlign",s),_i(e,"textBaseline","middle"),_i(e,"font",n.font||ev);var d=wi(l.textStroke||i.textStroke,p),f=bi(l.textFill||i.textFill),p=A(l.textStrokeWidth,i.textStrokeWidth);d&&(_i(e,"lineWidth",p),_i(e,"strokeStyle",d),e.strokeText(n.text,o,h)),f&&(_i(e,"fillStyle",f),e.fillText(n.text,o,h))}function vi(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor)}function mi(t,e,n,i,r,a,o){var s=n.textBackgroundColor,l=n.textBorderWidth,u=n.textBorderColor,h=b(s);if(_i(e,"shadowBlur",n.textBoxShadowBlur||0),_i(e,"shadowColor",n.textBoxShadowColor||"transparent"),_i(e,"shadowOffsetX",n.textBoxShadowOffsetX||0),_i(e,"shadowOffsetY",n.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=n.textBorderRadius;c?si(e,{x:i,y:r,width:a,height:o,r:c}):e.rect(i,r,a,o),e.closePath()}if(h)if(_i(e,"fillStyle",s),null!=n.fillOpacity){var d=e.globalAlpha;e.globalAlpha=n.fillOpacity*n.opacity,e.fill(),e.globalAlpha=d}else e.fill();else if(S(s)){var f=s.image;f=Hn(f,null,t,yi,s),f&&Wn(f)&&e.drawImage(f,i,r,a,o)}if(l&&u)if(_i(e,"lineWidth",l),_i(e,"strokeStyle",u),null!=n.strokeOpacity){var d=e.globalAlpha;e.globalAlpha=n.strokeOpacity*n.opacity,e.stroke(),e.globalAlpha=d}else e.stroke()}function yi(t,e){e.image=t}function xi(t,e,n,i){var r=n.x||0,a=n.y||0,o=n.textAlign,s=n.textVerticalAlign;if(i){var l=n.textPosition;if(l instanceof Array)r=i.x+Si(l[0],i.width),a=i.y+Si(l[1],i.height);else{var u=e&&e.calculateTextPosition?e.calculateTextPosition(av,n,i):Kn(av,n,i);r=u.x,a=u.y,o=o||u.textAlign,s=s||u.textVerticalAlign}var h=n.textOffset;h&&(r+=h[0],a+=h[1])}return t=t||{},t.baseX=r,t.baseY=a,t.textAlign=o,t.textVerticalAlign=s,t}function _i(t,e,n){return t[e]=Rg(t,e,n),t[e]}function wi(t,e){return null==t||0>=e||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function bi(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function Si(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function Mi(t,e,n){return"right"===e?t-n[1]:"center"===e?t+n[3]/2-n[1]/2:t+n[3]}function Ii(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function Ti(t){t=t||{},Dg.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new Hg(t.style,this),this._rect=null,this.__clipPaths=null}function Ci(t){Ti.call(this,t)}function Di(t){return parseInt(t,10)}function Ai(t){return t?t.__builtin__?!0:"function"!=typeof t.resize||"function"!=typeof t.refresh?!1:!0:!1}function ki(t,e,n){return fv.copy(t.getBoundingRect()),t.transform&&fv.applyTransform(t.transform),pv.width=e,pv.height=n,!fv.intersect(pv)}function Pi(t,e){if(t===e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var n=0;ni;i++){var a=n[i];!t.emphasis[e].hasOwnProperty(a)&&t[e].hasOwnProperty(a)&&(t.emphasis[e][a]=t[e][a])}}}function er(t){return!Lv(t)||Ov(t)||t instanceof Date?t:t.value}function nr(t){return Lv(t)&&!(t instanceof Array)}function ir(t,e){e=(e||[]).slice();var n=p(t||[],function(t){return{exist:t}});return Pv(e,function(t,i){if(Lv(t)){for(var r=0;r=n.length&&n.push({option:t})}}),n}function rr(t){var e=N();Pv(t,function(t){var n=t.exist;n&&e.set(n.id,t)}),Pv(t,function(t){var n=t.option;O(!n||null==n.id||!e.get(n.id)||e.get(n.id)===t,"id duplicates: "+(n&&n.id)),n&&null!=n.id&&e.set(n.id,t),!t.keyInfo&&(t.keyInfo={})}),Pv(t,function(t,n){var i=t.exist,r=t.option,a=t.keyInfo;if(Lv(r)){if(a.name=null!=r.name?r.name+"":i?i.name:Ev+n,i)a.id=i.id;else if(null!=r.id)a.id=r.id+"";else{var o=0;do a.id="\x00"+a.name+"\x00"+o++;while(e.get(a.id))}e.set(a.id,t)}})}function ar(t){var e=t.name;return!(!e||!e.indexOf(Ev))}function or(t){return Lv(t)&&t.id&&0===(t.id+"").indexOf("\x00_ec_\x00")}function sr(t,e){return null!=e.dataIndexInside?e.dataIndexInside:null!=e.dataIndex?_(e.dataIndex)?p(e.dataIndex,function(e){return t.indexOfRawIndex(e)}):t.indexOfRawIndex(e.dataIndex):null!=e.name?_(e.name)?p(e.name,function(e){return t.indexOfName(e)}):t.indexOfName(e.name):void 0}function lr(){var t="__\x00ec_inner_"+zv++ +"_"+Math.random().toFixed(5);return function(e){return e[t]||(e[t]={})}}function ur(t,e,n){if(b(e)){var i={};i[e+"Index"]=0,e=i}var r=n&&n.defaultMainType;!r||hr(e,r+"Index")||hr(e,r+"Id")||hr(e,r+"Name")||(e[r+"Index"]=0);var a={};return Pv(e,function(i,r){var i=e[r];if("dataIndex"===r||"dataIndexInside"===r)return void(a[r]=i);var o=r.match(/^(\w+)(Index|Id|Name)$/)||[],s=o[1],l=(o[2]||"").toLowerCase();if(!(!s||!l||null==i||"index"===l&&"none"===i||n&&n.includeMainTypes&&u(n.includeMainTypes,s)<0)){var h={mainType:s};("index"!==l||"all"!==i)&&(h[l]=i);var c=t.queryComponents(h);a[s+"Models"]=c,a[s+"Model"]=c[0]}}),a}function hr(t,e){return t&&t.hasOwnProperty(e)}function cr(t,e,n){t.setAttribute?t.setAttribute(e,n):t[e]=n}function dr(t,e){return t.getAttribute?t.getAttribute(e):t[e]}function fr(t){return"auto"===t?yp.domSupported?"html":"richText":t||"html"}function pr(t){var e={main:"",sub:""};return t&&(t=t.split(Rv),e.main=t[0]||"",e.sub=t[1]||""),e}function gr(t){O(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType "'+t+'" illegal')}function vr(t,e){t.$constructor=t,t.extend=function(t){pp&&f(e,function(e){t[e]||console.warn("Method `"+e+"` should be implemented"+(t.type?" in "+t.type:"")+".")});var n=this,i=function(){t.$constructor?t.$constructor.apply(this,arguments):n.apply(this,arguments)};return o(i.prototype,t),i.extend=this.extend,i.superCall=yr,i.superApply=xr,h(i,this),i.superClass=n,i}}function mr(t){var e=["__\x00is_clz",Fv++,Math.random().toFixed(3)].join("_");t.prototype[e]=!0,pp&&O(!t.isInstance,'The method "is" can not be defined.'),t.isInstance=function(t){return!(!t||!t[e])}}function yr(t,e){var n=P(arguments,2);return this.superClass.prototype[e].apply(t,n)}function xr(t,e,n){return this.superClass.prototype[e].apply(t,n)}function _r(t,e){function n(t){var e=i[t.main];return e&&e[Nv]||(e=i[t.main]={},e[Nv]=!0),e}e=e||{};var i={};if(t.registerClass=function(t,e){if(e)if(gr(e),e=pr(e),e.sub){if(e.sub!==Nv){var r=n(e);r[e.sub]=t}}else pp&&i[e.main]&&console.warn(e.main+" exists."),i[e.main]=t;return t},t.getClass=function(t,e,n){var r=i[t];if(r&&r[Nv]&&(r=e?r[e]:null),n&&!r)throw new Error(e?"Component "+t+"."+(e||"")+" not exists. Load it first.":t+".type should be specified.");return r},t.getClassesByMainType=function(t){t=pr(t);var e=[],n=i[t.main];return n&&n[Nv]?f(n,function(t,n){n!==Nv&&e.push(t)}):e.push(n),e},t.hasClass=function(t){return t=pr(t),!!i[t.main]},t.getAllClassMainTypes=function(){var t=[];return f(i,function(e,n){t.push(n)}),t},t.hasSubTypes=function(t){t=pr(t);var e=i[t.main];return e&&e[Nv]},t.parseClassType=pr,e.registerWhenExtend){var r=t.extend;r&&(t.extend=function(e){var n=r.call(this,e);return t.registerClass(n,e.type)})}return t}function wr(t){return t>-jv&&jv>t}function br(t){return t>jv||-jv>t}function Sr(t,e,n,i,r){var a=1-r;return a*a*(a*t+3*r*e)+r*r*(r*i+3*a*n)}function Mr(t,e,n,i,r){var a=1-r;return 3*(((e-t)*a+2*(n-e)*r)*a+(i-n)*r*r)}function Ir(t,e,n,i,r,a){var o=i+3*(e-n)-t,s=3*(n-2*e+t),l=3*(e-t),u=t-r,h=s*s-3*o*l,c=s*l-9*o*u,d=l*l-3*s*u,f=0;if(wr(h)&&wr(c))if(wr(s))a[0]=0;else{var p=-l/s;p>=0&&1>=p&&(a[f++]=p)}else{var g=c*c-4*h*d;if(wr(g)){var v=c/h,p=-s/o+v,m=-v/2;p>=0&&1>=p&&(a[f++]=p),m>=0&&1>=m&&(a[f++]=m)}else if(g>0){var y=Yv(g),x=h*s+1.5*o*(-c+y),_=h*s+1.5*o*(-c-y);x=0>x?-Uv(-x,Kv):Uv(x,Kv),_=0>_?-Uv(-_,Kv):Uv(_,Kv);var p=(-s-(x+_))/(3*o);p>=0&&1>=p&&(a[f++]=p)}else{var w=(2*h*s-3*o*c)/(2*Yv(h*h*h)),b=Math.acos(w)/3,S=Yv(h),M=Math.cos(b),p=(-s-2*S*M)/(3*o),m=(-s+S*(M+Zv*Math.sin(b)))/(3*o),I=(-s+S*(M-Zv*Math.sin(b)))/(3*o);p>=0&&1>=p&&(a[f++]=p),m>=0&&1>=m&&(a[f++]=m),I>=0&&1>=I&&(a[f++]=I)}}return f}function Tr(t,e,n,i,r){var a=6*n-12*e+6*t,o=9*e+3*i-3*t-9*n,s=3*e-3*t,l=0;if(wr(o)){if(br(a)){var u=-s/a;u>=0&&1>=u&&(r[l++]=u)}}else{var h=a*a-4*o*s;if(wr(h))r[0]=-a/(2*o);else if(h>0){var c=Yv(h),u=(-a+c)/(2*o),d=(-a-c)/(2*o);u>=0&&1>=u&&(r[l++]=u),d>=0&&1>=d&&(r[l++]=d)}}return l}function Cr(t,e,n,i,r,a){var o=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-o)*r+o,h=(l-s)*r+s,c=(h-u)*r+u;a[0]=t,a[1]=o,a[2]=u,a[3]=c,a[4]=c,a[5]=h,a[6]=l,a[7]=i}function Dr(t,e,n,i,r,a,o,s,l,u,h){var c,d,f,p,g,v=.005,m=1/0;$v[0]=l,$v[1]=u;for(var y=0;1>y;y+=.05)Qv[0]=Sr(t,n,r,o,y),Qv[1]=Sr(e,i,a,s,y),p=Rp($v,Qv),m>p&&(c=y,m=p);m=1/0;for(var x=0;32>x&&!(qv>v);x++)d=c-v,f=c+v,Qv[0]=Sr(t,n,r,o,d),Qv[1]=Sr(e,i,a,s,d),p=Rp(Qv,$v),d>=0&&m>p?(c=d,m=p):(Jv[0]=Sr(t,n,r,o,f),Jv[1]=Sr(e,i,a,s,f),g=Rp(Jv,$v),1>=f&&m>g?(c=f,m=g):v*=.5);return h&&(h[0]=Sr(t,n,r,o,c),h[1]=Sr(e,i,a,s,c)),Yv(m)}function Ar(t,e,n,i){var r=1-i;return r*(r*t+2*i*e)+i*i*n}function kr(t,e,n,i){return 2*((1-i)*(e-t)+i*(n-e))}function Pr(t,e,n,i,r){var a=t-2*e+n,o=2*(e-t),s=t-i,l=0;if(wr(a)){if(br(o)){var u=-s/o;u>=0&&1>=u&&(r[l++]=u)}}else{var h=o*o-4*a*s;if(wr(h)){var u=-o/(2*a);u>=0&&1>=u&&(r[l++]=u)}else if(h>0){var c=Yv(h),u=(-o+c)/(2*a),d=(-o-c)/(2*a);u>=0&&1>=u&&(r[l++]=u),d>=0&&1>=d&&(r[l++]=d)}}return l}function Lr(t,e,n){var i=t+n-2*e;return 0===i?.5:(t-e)/i}function Or(t,e,n,i,r){var a=(e-t)*i+t,o=(n-e)*i+e,s=(o-a)*i+a;r[0]=t,r[1]=a,r[2]=s,r[3]=s,r[4]=o,r[5]=n}function Er(t,e,n,i,r,a,o,s,l){var u,h=.005,c=1/0;$v[0]=o,$v[1]=s;for(var d=0;1>d;d+=.05){Qv[0]=Ar(t,n,r,d),Qv[1]=Ar(e,i,a,d);var f=Rp($v,Qv);c>f&&(u=d,c=f)}c=1/0;for(var p=0;32>p&&!(qv>h);p++){var g=u-h,v=u+h;Qv[0]=Ar(t,n,r,g),Qv[1]=Ar(e,i,a,g);var f=Rp(Qv,$v);if(g>=0&&c>f)u=g,c=f;else{Jv[0]=Ar(t,n,r,v),Jv[1]=Ar(e,i,a,v);var m=Rp(Jv,$v);1>=v&&c>m?(u=v,c=m):h*=.5}}return l&&(l[0]=Ar(t,n,r,u),l[1]=Ar(e,i,a,u)),Yv(c)}function Br(t,e,n){if(0!==t.length){var i,r=t[0],a=r[0],o=r[0],s=r[1],l=r[1];for(i=1;ih;h++){var p=d(t,n,r,o,lm[h]);l[0]=tm(p,l[0]),u[0]=em(p,u[0])}for(f=c(e,i,a,s,um),h=0;f>h;h++){var g=d(e,i,a,s,um[h]);l[1]=tm(g,l[1]),u[1]=em(g,u[1])}l[0]=tm(t,l[0]),u[0]=em(t,u[0]),l[0]=tm(o,l[0]),u[0]=em(o,u[0]),l[1]=tm(e,l[1]),u[1]=em(e,u[1]),l[1]=tm(s,l[1]),u[1]=em(s,u[1])}function Nr(t,e,n,i,r,a,o,s){var l=Lr,u=Ar,h=em(tm(l(t,n,r),1),0),c=em(tm(l(e,i,a),1),0),d=u(t,n,r,h),f=u(e,i,a,c);o[0]=tm(t,r,d),o[1]=tm(e,a,f),s[0]=em(t,r,d),s[1]=em(e,a,f)}function Fr(t,e,n,i,r,a,o,s,l){var u=oe,h=se,c=Math.abs(r-a);if(1e-4>c%rm&&c>1e-4)return s[0]=t-n,s[1]=e-i,l[0]=t+n,void(l[1]=e+i);if(am[0]=im(r)*n+t,am[1]=nm(r)*i+e,om[0]=im(a)*n+t,om[1]=nm(a)*i+e,u(s,am,om),h(l,am,om),r%=rm,0>r&&(r+=rm),a%=rm,0>a&&(a+=rm),r>a&&!o?a+=rm:a>r&&o&&(r+=rm),o){var d=a;a=r,r=d}for(var f=0;a>f;f+=Math.PI/2)f>r&&(sm[0]=im(f)*n+t,sm[1]=nm(f)*i+e,u(s,sm,s),h(l,sm,l))}function Vr(t,e,n,i,r,a,o){if(0===r)return!1;var s=r,l=0,u=t;if(o>e+s&&o>i+s||e-s>o&&i-s>o||a>t+s&&a>n+s||t-s>a&&n-s>a)return!1;if(t===n)return Math.abs(a-t)<=s/2;l=(e-i)/(t-n),u=(t*i-n*e)/(t-n);var h=l*a-o+u,c=h*h/(l*l+1);return s/2*s/2>=c}function Hr(t,e,n,i,r,a,o,s,l,u,h){if(0===l)return!1;var c=l;if(h>e+c&&h>i+c&&h>a+c&&h>s+c||e-c>h&&i-c>h&&a-c>h&&s-c>h||u>t+c&&u>n+c&&u>r+c&&u>o+c||t-c>u&&n-c>u&&r-c>u&&o-c>u)return!1;var d=Dr(t,e,n,i,r,a,o,s,u,h,null);return c/2>=d}function Gr(t,e,n,i,r,a,o,s,l){if(0===o)return!1;var u=o;if(l>e+u&&l>i+u&&l>a+u||e-u>l&&i-u>l&&a-u>l||s>t+u&&s>n+u&&s>r+u||t-u>s&&n-u>s&&r-u>s)return!1;var h=Er(t,e,n,i,r,a,s,l,null);return u/2>=h}function Wr(t){return t%=Sm,0>t&&(t+=Sm),t}function Xr(t,e,n,i,r,a,o,s,l){if(0===o)return!1;var u=o;s-=t,l-=e;var h=Math.sqrt(s*s+l*l);if(h-u>n||n>h+u)return!1;if(Math.abs(i-r)%Mm<1e-4)return!0;if(a){var c=i;i=Wr(r),r=Wr(c)}else i=Wr(i),r=Wr(r);i>r&&(r+=Mm);var d=Math.atan2(l,s);return 0>d&&(d+=Mm),d>=i&&r>=d||d+Mm>=i&&r>=d+Mm}function Ur(t,e,n,i,r,a){if(a>e&&a>i||e>a&&i>a)return 0;if(i===e)return 0;var o=e>i?1:-1,s=(a-e)/(i-e);(1===s||0===s)&&(o=e>i?.5:-.5);var l=s*(n-t)+t;return l===r?1/0:l>r?o:0}function Yr(t,e){return Math.abs(t-e)e&&u>i&&u>a&&u>s||e>u&&i>u&&a>u&&s>u)return 0;var h=Ir(e,i,a,s,u,Dm);if(0===h)return 0;for(var c,d,f=0,p=-1,g=0;h>g;g++){var v=Dm[g],m=0===v||1===v?.5:1,y=Sr(t,n,r,o,v);l>y||(0>p&&(p=Tr(e,i,a,s,Am),Am[1]1&&jr(),c=Sr(e,i,a,s,Am[0]),p>1&&(d=Sr(e,i,a,s,Am[1]))),f+=2===p?vc?m:-m:vd?m:-m:d>s?m:-m:vc?m:-m:c>s?m:-m)}return f}function Zr(t,e,n,i,r,a,o,s){if(s>e&&s>i&&s>a||e>s&&i>s&&a>s)return 0;var l=Pr(e,i,a,s,Dm);if(0===l)return 0;var u=Lr(e,i,a);if(u>=0&&1>=u){for(var h=0,c=Ar(e,i,a,u),d=0;l>d;d++){var f=0===Dm[d]||1===Dm[d]?.5:1,p=Ar(t,n,r,Dm[d]);o>p||(h+=Dm[d]c?f:-f:c>a?f:-f)}return h}var f=0===Dm[0]||1===Dm[0]?.5:1,p=Ar(t,n,r,Dm[0]);return o>p?0:e>a?f:-f}function Kr(t,e,n,i,r,a,o,s){if(s-=e,s>n||-n>s)return 0;var l=Math.sqrt(n*n-s*s);Dm[0]=-l,Dm[1]=l;var u=Math.abs(i-r);if(1e-4>u)return 0;if(1e-4>u%Tm){i=0,r=Tm;var h=a?1:-1;return o>=Dm[0]+t&&o<=Dm[1]+t?h:0}if(a){var l=i;i=Wr(r),r=Wr(l)}else i=Wr(i),r=Wr(r);i>r&&(r+=Tm);for(var c=0,d=0;2>d;d++){var f=Dm[d];if(f+t>o){var p=Math.atan2(s,f),h=a?1:-1;0>p&&(p=Tm+p),(p>=i&&r>=p||p+Tm>=i&&r>=p+Tm)&&(p>Math.PI/2&&p<1.5*Math.PI&&(h=-h),c+=h)}}return c}function $r(t,e,n,i,r){for(var a=0,o=0,s=0,l=0,u=0,h=0;h1&&(n||(a+=Ur(o,s,l,u,i,r))),1===h&&(o=t[h],s=t[h+1],l=o,u=s),c){case Im.M:l=t[h++],u=t[h++],o=l,s=u;break;case Im.L:if(n){if(Vr(o,s,t[h],t[h+1],e,i,r))return!0}else a+=Ur(o,s,t[h],t[h+1],i,r)||0;o=t[h++],s=t[h++];break;case Im.C:if(n){if(Hr(o,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,i,r))return!0}else a+=qr(o,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],i,r)||0;o=t[h++],s=t[h++];break;case Im.Q:if(n){if(Gr(o,s,t[h++],t[h++],t[h],t[h+1],e,i,r))return!0}else a+=Zr(o,s,t[h++],t[h++],t[h],t[h+1],i,r)||0;o=t[h++],s=t[h++];break;case Im.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],v=t[h++],m=t[h++];h+=1;var y=1-t[h++],x=Math.cos(v)*p+d,_=Math.sin(v)*g+f;h>1?a+=Ur(o,s,x,_,i,r):(l=x,u=_);var w=(i-d)*g/p+d;if(n){if(Xr(d,f,g,v,v+m,y,e,w,r))return!0}else a+=Kr(d,f,g,v,v+m,y,w,r);o=Math.cos(v+m)*p+d,s=Math.sin(v+m)*g+f;break;case Im.R:l=o=t[h++],u=s=t[h++];var b=t[h++],S=t[h++],x=l+b,_=u+S;if(n){if(Vr(l,u,x,u,e,i,r)||Vr(x,u,x,_,e,i,r)||Vr(x,_,l,_,e,i,r)||Vr(l,_,l,u,e,i,r))return!0}else a+=Ur(x,u,x,_,i,r),a+=Ur(l,_,l,u,i,r);break;case Im.Z:if(n){if(Vr(o,s,l,u,e,i,r))return!0}else a+=Ur(o,s,l,u,i,r);o=l,s=u}}return n||Yr(s,u)||(a+=Ur(o,s,l,u,i,r)||0),0!==a}function Qr(t,e,n){return $r(t,0,!1,e,n)}function Jr(t,e,n,i){return $r(t,e,!0,n,i)}function ta(t){Ti.call(this,t),this.path=null}function ea(t,e,n,i,r,a,o,s,l,u,h){var c=l*(Hm/180),d=Vm(c)*(t-n)/2+Fm(c)*(e-i)/2,f=-1*Fm(c)*(t-n)/2+Vm(c)*(e-i)/2,p=d*d/(o*o)+f*f/(s*s);p>1&&(o*=Nm(p),s*=Nm(p));var g=(r===a?-1:1)*Nm((o*o*s*s-o*o*f*f-s*s*d*d)/(o*o*f*f+s*s*d*d))||0,v=g*o*f/s,m=g*-s*d/o,y=(t+n)/2+Vm(c)*v-Fm(c)*m,x=(e+i)/2+Fm(c)*v+Vm(c)*m,_=Xm([1,0],[(d-v)/o,(f-m)/s]),w=[(d-v)/o,(f-m)/s],b=[(-1*d-v)/o,(-1*f-m)/s],S=Xm(w,b);Wm(w,b)<=-1&&(S=Hm),Wm(w,b)>=1&&(S=0),0===a&&S>0&&(S-=2*Hm),1===a&&0>S&&(S+=2*Hm),h.addData(u,y,x,o,s,_,S,c,a)}function na(t){if(!t)return new bm;for(var e,n=0,i=0,r=n,a=i,o=new bm,s=bm.CMD,l=t.match(Um),u=0;ug;g++)f[g]=parseFloat(f[g]);for(var v=0;p>v;){var m,y,x,_,w,b,S,M=n,I=i;switch(d){case"l":n+=f[v++],i+=f[v++],h=s.L,o.addData(h,n,i);break;case"L":n=f[v++],i=f[v++],h=s.L,o.addData(h,n,i);break;case"m":n+=f[v++],i+=f[v++],h=s.M,o.addData(h,n,i),r=n,a=i,d="l";break;case"M":n=f[v++],i=f[v++],h=s.M,o.addData(h,n,i),r=n,a=i,d="L";break;case"h":n+=f[v++],h=s.L,o.addData(h,n,i);break;case"H":n=f[v++],h=s.L,o.addData(h,n,i);break;case"v":i+=f[v++],h=s.L,o.addData(h,n,i);break;case"V":i=f[v++],h=s.L,o.addData(h,n,i);break;case"C":h=s.C,o.addData(h,f[v++],f[v++],f[v++],f[v++],f[v++],f[v++]),n=f[v-2],i=f[v-1];break;case"c":h=s.C,o.addData(h,f[v++]+n,f[v++]+i,f[v++]+n,f[v++]+i,f[v++]+n,f[v++]+i),n+=f[v-2],i+=f[v-1];break;case"S":m=n,y=i;var T=o.len(),C=o.data;e===s.C&&(m+=n-C[T-4],y+=i-C[T-3]),h=s.C,M=f[v++],I=f[v++],n=f[v++],i=f[v++],o.addData(h,m,y,M,I,n,i);break;case"s":m=n,y=i;var T=o.len(),C=o.data;e===s.C&&(m+=n-C[T-4],y+=i-C[T-3]),h=s.C,M=n+f[v++],I=i+f[v++],n+=f[v++],i+=f[v++],o.addData(h,m,y,M,I,n,i);break;case"Q":M=f[v++],I=f[v++],n=f[v++],i=f[v++],h=s.Q,o.addData(h,M,I,n,i);break;case"q":M=f[v++]+n,I=f[v++]+i,n+=f[v++],i+=f[v++],h=s.Q,o.addData(h,M,I,n,i);break;case"T":m=n,y=i;var T=o.len(),C=o.data;e===s.Q&&(m+=n-C[T-4],y+=i-C[T-3]),n=f[v++],i=f[v++],h=s.Q,o.addData(h,m,y,n,i);break;case"t":m=n,y=i;var T=o.len(),C=o.data;e===s.Q&&(m+=n-C[T-4],y+=i-C[T-3]),n+=f[v++],i+=f[v++],h=s.Q,o.addData(h,m,y,n,i);break;case"A":x=f[v++],_=f[v++],w=f[v++],b=f[v++],S=f[v++],M=n,I=i,n=f[v++],i=f[v++],h=s.A,ea(M,I,n,i,b,S,x,_,w,h,o);break;case"a":x=f[v++],_=f[v++],w=f[v++],b=f[v++],S=f[v++],M=n,I=i,n+=f[v++],i+=f[v++],h=s.A,ea(M,I,n,i,b,S,x,_,w,h,o)}}("z"===d||"Z"===d)&&(h=s.Z,o.addData(h),n=r,i=a),e=h}return o.toStatic(),o}function ia(t,e){var n=na(t);return e=e||{},e.buildPath=function(t){if(t.setData){t.setData(n.data);var e=t.getContext();e&&t.rebuildPath(e)}else{var e=t;n.rebuildPath(e)}},e.applyTransform=function(t){Rm(n,t),this.dirty(!0)},e}function ra(t,e){return new ta(ia(t,e))}function aa(t,e){return ta.extend(ia(t,e))}function oa(t,e){for(var n=[],i=t.length,r=0;i>r;r++){var a=t[r];a.path||a.createPathProxy(),a.__dirtyPath&&a.buildPath(a.path,a.shape,!0),n.push(a.path)}var o=new ta(e);return o.createPathProxy(),o.buildPath=function(t){t.appendPath(n);var e=t.getContext();e&&t.rebuildPath(e)},o}function sa(t,e,n,i,r,a,o){var s=.5*(n-t),l=.5*(i-e);return(2*(e-n)+s+l)*o+(-3*(e-n)-2*s-l)*a+s*r+e}function la(t,e,n){var i=e.points,r=e.smooth;if(i&&i.length>=2){if(r&&"spline"!==r){var a=ty(i,r,n,e.smoothConstraint);t.moveTo(i[0][0],i[0][1]);for(var o=i.length,s=0;(n?o:o-1)>s;s++){var l=a[2*s],u=a[2*s+1],h=i[(s+1)%o];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===r&&(i=Jm(i,n)),t.moveTo(i[0][0],i[0][1]);for(var s=1,c=i.length;c>s;s++)t.lineTo(i[s][0],i[s][1])}n&&t.closePath()}}function ua(t,e,n){if(e){var i=e.x1,r=e.x2,a=e.y1,o=e.y2;t.x1=i,t.x2=r,t.y1=a,t.y2=o;var s=n&&n.lineWidth;s&&(iy(2*i)===iy(2*r)&&(t.x1=t.x2=ca(i,s,!0)),iy(2*a)===iy(2*o)&&(t.y1=t.y2=ca(a,s,!0)))}}function ha(t,e,n){if(e){var i=e.x,r=e.y,a=e.width,o=e.height;t.x=i,t.y=r,t.width=a,t.height=o;var s=n&&n.lineWidth;s&&(t.x=ca(i,s,!0),t.y=ca(r,s,!0),t.width=Math.max(ca(i+a,s,!1)-t.x,0===a?0:1),t.height=Math.max(ca(r+o,s,!1)-t.y,0===o?0:1))}}function ca(t,e,n){if(!e)return t;var i=iy(2*t);return(i+iy(e))%2===0?i/2:(i+(n?1:-1))/2}function da(t,e,n){var i=t.cpx2,r=t.cpy2;return null===i||null===r?[(n?Mr:Sr)(t.x1,t.cpx1,t.cpx2,t.x2,e),(n?Mr:Sr)(t.y1,t.cpy1,t.cpy2,t.y2,e)]:[(n?kr:Ar)(t.x1,t.cpx1,t.x2,e),(n?kr:Ar)(t.y1,t.cpy1,t.y2,e)]}function fa(t){Ti.call(this,t),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}function pa(t){return ta.extend(t)}function ga(t,e){return aa(t,e)}function va(t,e){Iy[t]=e}function ma(t){return Iy.hasOwnProperty(t)?Iy[t]:void 0}function ya(t,e,n,i){var r=ra(t,e);return n&&("center"===i&&(n=_a(n,r.getBoundingRect())),wa(r,n)),r}function xa(t,e,n){var i=new Ci({style:{image:t,x:e.x,y:e.y,width:e.width,height:e.height},onload:function(t){if("center"===n){var r={width:t.width,height:t.height};i.setStyle(_a(e,r))}}});return i}function _a(t,e){var n,i=e.width/e.height,r=t.height*i;r<=t.width?n=t.height:(r=t.width,n=r/i);var a=t.x+t.width/2,o=t.y+t.height/2;return{x:a-r/2,y:o-n/2,width:r,height:n}}function wa(t,e){if(t.applyTransform){var n=t.getBoundingRect(),i=n.calculateTransform(e);t.applyTransform(i)}}function ba(t){return ua(t.shape,t.shape,t.style),t}function Sa(t){return ha(t.shape,t.shape,t.style),t}function Ma(t){return null!=t&&"none"!==t}function Ia(t){if("string"!=typeof t)return t;var e=Dy.get(t);return e||(e=nn(t,-.1),1e4>Ay&&(Dy.set(t,e),Ay++)),e}function Ta(t){if(t.__hoverStlDirty){t.__hoverStlDirty=!1;var e=t.__hoverStl;if(!e)return void(t.__cachedNormalStl=t.__cachedNormalZ2=null);var n=t.__cachedNormalStl={};t.__cachedNormalZ2=t.z2;var i=t.style;for(var r in e)null!=e[r]&&(n[r]=i[r]);n.fill=i.fill,n.stroke=i.stroke}}function Ca(t){var e=t.__hoverStl;if(e&&!t.__highlighted){var n=t.__zr,i=t.useHoverLayer&&n&&"canvas"===n.painter.type;if(t.__highlighted=i?"layer":"plain",!(t.isGroup||!n&&t.useHoverLayer)){var r=t,a=t.style;i&&(r=n.addHover(t),a=r.style),Ka(a),i||Ta(r),a.extendFrom(e),Da(a,e,"fill"),Da(a,e,"stroke"),Za(a),i||(t.dirty(!1),t.z2+=xy)}}}function Da(t,e,n){!Ma(e[n])&&Ma(t[n])&&(t[n]=Ia(t[n]))}function Aa(t){var e=t.__highlighted;if(e&&(t.__highlighted=!1,!t.isGroup))if("layer"===e)t.__zr&&t.__zr.removeHover(t);else{var n=t.style,i=t.__cachedNormalStl;i&&(Ka(n),t.setStyle(i),Za(n));var r=t.__cachedNormalZ2;null!=r&&t.z2-r===xy&&(t.z2=r)}}function ka(t,e,n){var i,r=by,a=by;t.__highlighted&&(r=wy,i=!0),e(t,n),t.__highlighted&&(a=wy,i=!0),t.isGroup&&t.traverse(function(t){!t.isGroup&&e(t,n)}),i&&t.__highDownOnUpdate&&t.__highDownOnUpdate(r,a)}function Pa(t,e){e=t.__hoverStl=e!==!1&&(t.hoverStyle||e||{}),t.__hoverStlDirty=!0,t.__highlighted&&(t.__cachedNormalStl=null,Aa(t),Ca(t))}function La(t){!za(this,t)&&!this.__highByOuter&&ka(this,Ca)}function Oa(t){!za(this,t)&&!this.__highByOuter&&ka(this,Aa)}function Ea(t){this.__highByOuter|=1<<(t||0),ka(this,Ca)}function Ba(t){!(this.__highByOuter&=~(1<<(t||0)))&&ka(this,Aa)}function za(t,e){return t.__highDownSilentOnTouch&&e.zrByTouch}function Ra(t,e){Na(t,!0),ka(t,Pa,e)}function Na(t,e){var n=e===!1;if(t.__highDownSilentOnTouch=t.highDownSilentOnTouch,t.__highDownOnUpdate=t.highDownOnUpdate,!n||t.__highDownDispatcher){var i=n?"off":"on";t[i]("mouseover",La)[i]("mouseout",Oa),t[i]("emphasis",Ea)[i]("normal",Ba),t.__highByOuter=t.__highByOuter||0,t.__highDownDispatcher=!n}}function Fa(t){return!(!t||!t.__highDownDispatcher)}function Va(t){var e=My[t];return null==e&&32>=Sy&&(e=My[t]=Sy++),e}function Ha(t,e,n,i,r,a,o){r=r||yy;var s,l=r.labelFetcher,u=r.labelDataIndex,h=r.labelDimIndex,c=r.labelProp,d=n.getShallow("show"),f=i.getShallow("show");(d||f)&&(l&&(s=l.getFormattedLabel(u,"normal",null,h,c)),null==s&&(s=w(r.defaultText)?r.defaultText(u,r):r.defaultText));var p=d?s:null,g=f?A(l?l.getFormattedLabel(u,"emphasis",null,h,c):null,s):null;(null!=p||null!=g)&&(Wa(t,n,a,r),Wa(e,i,o,r,!0)),t.text=p,e.text=g}function Ga(t,e,n){var i=t.style;e&&(Ka(i),t.setStyle(e),Za(i)),i=t.__hoverStl,n&&i&&(Ka(i),o(i,n),Za(i))}function Wa(t,e,n,i,r){return Ua(t,e,i,r),n&&o(t,n),t}function Xa(t,e,n){var i,r={isRectText:!0};n===!1?i=!0:r.autoColor=n,Ua(t,e,r,i)}function Ua(t,e,n,i){if(n=n||yy,n.isRectText){var r;n.getTextPosition?r=n.getTextPosition(e,i):(r=e.getShallow("position")||(i?null:"inside"),"outside"===r&&(r="top")),t.textPosition=r,t.textOffset=e.getShallow("offset");var a=e.getShallow("rotate");null!=a&&(a*=Math.PI/180),t.textRotation=a,t.textDistance=A(e.getShallow("distance"),i?null:5)}var o,s=e.ecModel,l=s&&s.option.textStyle,u=Ya(e);if(u){o={};for(var h in u)if(u.hasOwnProperty(h)){var c=e.getModel(["rich",h]);ja(o[h]={},c,l,n,i)}}return t.rich=o,ja(t,e,l,n,i,!0),n.forceRich&&!n.textStyle&&(n.textStyle={}),t}function Ya(t){for(var e;t&&t!==t.ecModel;){var n=(t.option||yy).rich;if(n){e=e||{};for(var i in n)n.hasOwnProperty(i)&&(e[i]=1)}t=t.parentModel}return e}function ja(t,e,n,i,r,a){n=!r&&n||yy,t.textFill=qa(e.getShallow("color"),i)||n.color,t.textStroke=qa(e.getShallow("textBorderColor"),i)||n.textBorderColor,t.textStrokeWidth=A(e.getShallow("textBorderWidth"),n.textBorderWidth),r||(a&&(t.insideRollbackOpt=i,Za(t)),null==t.textFill&&(t.textFill=i.autoColor)),t.fontStyle=e.getShallow("fontStyle")||n.fontStyle,t.fontWeight=e.getShallow("fontWeight")||n.fontWeight,t.fontSize=e.getShallow("fontSize")||n.fontSize,t.fontFamily=e.getShallow("fontFamily")||n.fontFamily,t.textAlign=e.getShallow("align"),t.textVerticalAlign=e.getShallow("verticalAlign")||e.getShallow("baseline"),t.textLineHeight=e.getShallow("lineHeight"),t.textWidth=e.getShallow("width"),t.textHeight=e.getShallow("height"),t.textTag=e.getShallow("tag"),a&&i.disableBox||(t.textBackgroundColor=qa(e.getShallow("backgroundColor"),i),t.textPadding=e.getShallow("padding"),t.textBorderColor=qa(e.getShallow("borderColor"),i),t.textBorderWidth=e.getShallow("borderWidth"),t.textBorderRadius=e.getShallow("borderRadius"),t.textBoxShadowColor=e.getShallow("shadowColor"),t.textBoxShadowBlur=e.getShallow("shadowBlur"),t.textBoxShadowOffsetX=e.getShallow("shadowOffsetX"),t.textBoxShadowOffsetY=e.getShallow("shadowOffsetY")),t.textShadowColor=e.getShallow("textShadowColor")||n.textShadowColor,t.textShadowBlur=e.getShallow("textShadowBlur")||n.textShadowBlur,t.textShadowOffsetX=e.getShallow("textShadowOffsetX")||n.textShadowOffsetX,t.textShadowOffsetY=e.getShallow("textShadowOffsetY")||n.textShadowOffsetY}function qa(t,e){return"auto"!==t?t:e&&e.autoColor?e.autoColor:null}function Za(t){var e,n=t.textPosition,i=t.insideRollbackOpt;if(i&&null==t.textFill){var r=i.autoColor,a=i.isRectText,o=i.useInsideStyle,s=o!==!1&&(o===!0||a&&n&&"string"==typeof n&&n.indexOf("inside")>=0),l=!s&&null!=r;(s||l)&&(e={textFill:t.textFill,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth}),s&&(t.textFill="#fff",null==t.textStroke&&(t.textStroke=r,null==t.textStrokeWidth&&(t.textStrokeWidth=2))),l&&(t.textFill=r)}t.insideRollback=e}function Ka(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function $a(t,e){var n=e&&e.getModel("textStyle");return E([t.fontStyle||n&&n.getShallow("fontStyle")||"",t.fontWeight||n&&n.getShallow("fontWeight")||"",(t.fontSize||n&&n.getShallow("fontSize")||12)+"px",t.fontFamily||n&&n.getShallow("fontFamily")||"sans-serif"].join(" "))}function Qa(t,e,n,i,r,a){"function"==typeof r&&(a=r,r=null);var o=i&&i.isAnimationEnabled();if(o){var s=t?"Update":"",l=i.getShallow("animationDuration"+s),u=i.getShallow("animationEasing"+s),h=i.getShallow("animationDelay"+s);"function"==typeof h&&(h=h(r,i.getAnimationDelayParams?i.getAnimationDelayParams(e,r):null)),"function"==typeof l&&(l=l(r)),l>0?e.animateTo(n,l,h||0,u,a,!!a):(e.stopAnimation(),e.attr(n),a&&a())}else e.stopAnimation(),e.attr(n),a&&a()}function Ja(t,e,n,i,r){Qa(!0,t,e,n,i,r)}function to(t,e,n,i,r){Qa(!1,t,e,n,i,r)}function eo(t,e){for(var n=Oe([]);t&&t!==e;)Be(n,t.getLocalTransform(),n),t=t.parent;return n}function no(t,e,n){return e&&!d(e)&&(e=ig.getLocalTransform(e)),n&&(e=Fe([],e)),ae([],t,e)}function io(t,e,n){var i=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),r=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=["left"===t?-i:"right"===t?i:0,"top"===t?-r:"bottom"===t?r:0];return a=no(a,e,n),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function ro(t,e,n){function i(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}function r(t){var e={position:W(t.position),rotation:t.rotation};return t.shape&&(e.shape=o({},t.shape)),e}if(t&&e){var a=i(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=a[t.anid];if(e){var i=r(t);t.attr(r(e)),Ja(t,i,n,t.dataIndex)}}})}}function ao(t,e){return p(t,function(t){var n=t[0];n=vy(n,e.x),n=my(n,e.x+e.width);var i=t[1];return i=vy(i,e.y),i=my(i,e.y+e.height),[n,i]})}function oo(t,e){var n=vy(t.x,e.x),i=my(t.x+t.width,e.x+e.width),r=vy(t.y,e.y),a=my(t.y+t.height,e.y+e.height);return i>=n&&a>=r?{x:n,y:r,width:i-n,height:a-r}:void 0}function so(t,e,n){e=o({rectHover:!0},e);var i=e.style={strokeNoScale:!0};return n=n||{x:-1,y:-1,width:2,height:2},t?0===t.indexOf("image://")?(i.image=t.slice(8),s(i,n),new Ci(e)):ya(t.replace("path://",""),e,n,"center"):void 0}function lo(t,e,n,i,r){for(var a=0,o=r[r.length-1];ag||g>1)return!1;var v=ho(f,p,h,c)/d;return 0>v||v>1?!1:!0}function ho(t,e,n,i){return t*i-n*e}function co(t){return 1e-6>=t&&t>=-1e-6}function fo(t,e,n){this.parentModel=e,this.ecModel=n,this.option=t}function po(t,e,n){for(var i=0;i=0&&n.push(t)}),n}t.topologicalTravel=function(t,e,i,r){function a(t){l[t].entryCount--,0===l[t].entryCount&&u.push(t)}function o(t){h[t]=!0,a(t)}if(t.length){var s=n(e),l=s.graph,u=s.noEntryList,h={};for(f(t,function(t){h[t]=!0});u.length;){var c=u.pop(),d=l[c],p=!!h[c];p&&(i.call(r,c,d.originalDeps.slice()),delete h[c]),f(d.successor,p?o:a)}f(h,function(){throw new Error("Circle dependency may exists")})}}}function xo(t){return t.replace(/^\s+|\s+$/g,"")}function _o(t,e,n,i){var r=e[1]-e[0],a=n[1]-n[0];if(0===r)return 0===a?n[0]:(n[0]+n[1])/2;if(i)if(r>0){if(t<=e[0])return n[0];if(t>=e[1])return n[1]}else{if(t>=e[0])return n[0];if(t<=e[1])return n[1]}else{if(t===e[0])return n[0];if(t===e[1])return n[1]}return(t-e[0])/r*a+n[0]}function wo(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?xo(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?0/0:+t}function bo(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t}function So(t){return t.sort(function(t,e){return t-e}),t}function Mo(t){if(t=+t,isNaN(t))return 0;for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n}function Io(t){var e=t.toString(),n=e.indexOf("e");if(n>0){var i=+e.slice(n+1);return 0>i?-i:0}var r=e.indexOf(".");return 0>r?0:e.length-1-r}function To(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),a=Math.round(n(Math.abs(e[1]-e[0]))/i),o=Math.min(Math.max(-r+a,0),20);return isFinite(o)?o:20}function Co(t,e,n){if(!t[e])return 0;var i=g(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===i)return 0;for(var r=Math.pow(10,n),a=p(t,function(t){return(isNaN(t)?0:t)/i*r*100}),o=100*r,s=p(a,function(t){return Math.floor(t)}),l=g(s,function(t,e){return t+e},0),u=p(a,function(t,e){return t-s[e]});o>l;){for(var h=Number.NEGATIVE_INFINITY,c=null,d=0,f=u.length;f>d;++d)u[d]>h&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/r}function Do(t){var e=2*Math.PI;return(t%e+e)%e}function Ao(t){return t>-Ny&&Ny>t}function ko(t){if(t instanceof Date)return t;if("string"==typeof t){var e=Vy.exec(t);if(!e)return new Date(0/0);if(e[8]){var n=+e[4]||0;return"Z"!==e[8].toUpperCase()&&(n-=e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,n,+(e[5]||0),+e[6]||0,+e[7]||0))}return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,+e[7]||0)}return new Date(null==t?0/0:Math.round(t))}function Po(t){return Math.pow(10,Lo(t))}function Lo(t){if(0===t)return 0;var e=Math.floor(Math.log(t)/Math.LN10);return t/Math.pow(10,e)>=10&&e++,e}function Oo(t,e){var n,i=Lo(t),r=Math.pow(10,i),a=t/r;return n=e?1.5>a?1:2.5>a?2:4>a?3:7>a?5:10:1>a?1:2>a?2:3>a?3:5>a?5:10,t=n*r,i>=-20?+t.toFixed(0>i?-i:0):t}function Eo(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],a=n-i;return a?r+a*(t[i]-r):r}function Bo(t){function e(t,n,i){return t.interval[i]s;s++)a[s]<=n&&(a[s]=n,o[s]=s?1:1-i),n=a[s],i=o[s];a[0]===a[1]&&o[0]*o[1]!==1?t.splice(r,1):r++}return t}function zo(t){return t-parseFloat(t)>=0}function Ro(t){return isNaN(t)?"-":(t=(t+"").split("."),t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:""))}function No(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}function Fo(t){return null==t?"":(t+"").replace(Wy,function(t,e){return Xy[e]})}function Vo(t,e,n){_(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],a=0;as;s++)for(var l=0;l':'':{renderMode:r,content:"{marker"+a+"|} ",style:{color:n}}:""}function Wo(t,e){return t+="","0000".substr(0,e-t.length)+t}function Xo(t,e,n){("week"===t||"month"===t||"quarter"===t||"half-year"===t||"year"===t)&&(t="MM-dd\nyyyy");var i=ko(e),r=n?"UTC":"",a=i["get"+r+"FullYear"](),o=i["get"+r+"Month"]()+1,s=i["get"+r+"Date"](),l=i["get"+r+"Hours"](),u=i["get"+r+"Minutes"](),h=i["get"+r+"Seconds"](),c=i["get"+r+"Milliseconds"]();return t=t.replace("MM",Wo(o,2)).replace("M",o).replace("yyyy",a).replace("yy",a%100).replace("dd",Wo(s,2)).replace("d",s).replace("hh",Wo(l,2)).replace("h",l).replace("mm",Wo(u,2)).replace("m",u).replace("ss",Wo(h,2)).replace("s",h).replace("SSS",Wo(c,3))}function Uo(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}function Yo(t){return Un(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)}function jo(t,e,n,i,r,a,o,s){return Un(t,e,n,i,r,s,a,o)}function qo(t,e){if("_blank"===e||"blank"===e){var n=window.open();n.opener=null,n.location=t}else window.open(t,e)}function Zo(t,e,n,i,r){var a=0,o=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild(function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if("horizontal"===t){var v=f.width+(g?-g.x+f.x:0);h=a+v,h>i||l.newline?(a=0,h=v,o+=s+n,s=f.height):s=Math.max(s,f.height)}else{var m=f.height+(g?-g.y+f.y:0);c=o+m,c>r||l.newline?(a+=s+n,o=0,c=m,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=a,d[1]=o,"horizontal"===t?a=h+n:o=c+n)})}function Ko(t,e,n){n=Gy(n||0);var i=e.width,r=e.height,a=wo(t.left,i),o=wo(t.top,r),s=wo(t.right,i),l=wo(t.bottom,r),u=wo(t.width,i),h=wo(t.height,r),c=n[2]+n[0],d=n[1]+n[3],f=t.aspect;switch(isNaN(u)&&(u=i-s-d-a),isNaN(h)&&(h=r-l-c-o),null!=f&&(isNaN(u)&&isNaN(h)&&(f>i/r?u=.8*i:h=.8*r),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(a)&&(a=i-s-u-d),isNaN(o)&&(o=r-l-h-c),t.left||t.right){case"center":a=i/2-u/2-n[3];break;case"right":a=i-u-d}switch(t.top||t.bottom){case"middle":case"center":o=r/2-h/2-n[0];break;case"bottom":o=r-h-c}a=a||0,o=o||0,isNaN(u)&&(u=i-d-a-(s||0)),isNaN(h)&&(h=r-c-o-(l||0));var p=new Tn(a+n[3],o+n[0],u,h);return p.margin=n,p}function $o(t,e,n){function i(n,i){var o={},l=0,u={},h=0,c=2;if(Zy(n,function(e){u[e]=t[e]}),Zy(n,function(t){r(e,t)&&(o[t]=u[t]=e[t]),a(o,t)&&l++,a(u,t)&&h++}),s[i])return a(e,n[1])?u[n[2]]=null:a(e,n[2])&&(u[n[1]]=null),u;if(h!==c&&l){if(l>=c)return o;for(var d=0;di;i++)if(t[i].length>e)return t[i];return t[n-1]}function ns(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===ux?{}:[]),this.sourceFormat=t.sourceFormat||hx,this.seriesLayoutBy=t.seriesLayoutBy||dx,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&N(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}function is(t){var e=t.option.source,n=hx;if(I(e))n=cx;else if(_(e)){0===e.length&&(n=sx);for(var i=0,r=e.length;r>i;i++){var a=e[i];if(null!=a){if(_(a)){n=sx;break}if(S(a)){n=lx;break}}}}else if(S(e)){for(var o in e)if(e.hasOwnProperty(o)&&d(e[o])){n=ux;break}}else if(null!=e)throw new Error("Invalid data");gx(t).sourceFormat=n}function rs(t){return gx(t).source}function as(t){gx(t).datasetMap=N()}function os(t){var e=t.option,n=e.data,i=I(n)?cx:ox,r=!1,a=e.seriesLayoutBy,o=e.sourceHeader,s=e.dimensions,l=fs(t);if(l){var u=l.option;n=u.source,i=gx(l).sourceFormat,r=!0,a=a||u.seriesLayoutBy,null==o&&(o=u.sourceHeader),s=s||u.dimensions}var h=ss(n,i,a,o,s);gx(t).source=new ns({data:n,fromDataset:r,seriesLayoutBy:a,sourceFormat:i,dimensionsDefine:h.dimensionsDefine,startIndex:h.startIndex,dimensionsDetectCount:h.dimensionsDetectCount,encodeDefine:e.encode})}function ss(t,e,n,i,r){if(!t)return{dimensionsDefine:ls(r)};var a,o;if(e===sx)"auto"===i||null==i?us(function(t){null!=t&&"-"!==t&&(b(t)?null==o&&(o=1):o=0)},n,t,10):o=i?1:0,r||1!==o||(r=[],us(function(t,e){r[e]=null!=t?t:""},n,t)),a=r?r.length:n===fx?t.length:t[0]?t[0].length:null;else if(e===lx)r||(r=hs(t));else if(e===ux)r||(r=[],f(t,function(t,e){r.push(e)}));else if(e===ox){var s=er(t[0]);a=_(s)&&s.length||1}else e===cx&&pp&&O(!!r,"dimensions must be given if data is TypedArray.");return{startIndex:o,dimensionsDefine:ls(r),dimensionsDetectCount:a}}function ls(t){if(t){var e=N();return p(t,function(t){if(t=o({},S(t)?t:{name:t}),null==t.name)return t;t.name+="",null==t.displayName&&(t.displayName=t.name);var n=e.get(t.name);return n?t.name+="-"+n.count++:e.set(t.name,{count:1}),t})}}function us(t,e,n,i){if(null==i&&(i=1/0),e===fx)for(var r=0;rr;r++)t(n[r]?n[r][0]:null,r);else for(var a=n[0]||[],r=0;rr;r++)t(a[r],r)}function hs(t){for(var e,n=0;ni;i++)t.push(e+i)}function r(t){var e=t.dimsDef;return e?e.length:1}var a={},o=fs(e);if(!o||!t)return a;var s,l,u=[],h=[],c=e.ecModel,d=gx(c).datasetMap,p=o.uid+"_"+n.seriesLayoutBy;t=t.slice(),f(t,function(e,n){!S(e)&&(t[n]={name:e}),"ordinal"===e.type&&null==s&&(s=n,l=r(t[n])),a[e.name]=[]});var g=d.get(p)||d.set(p,{categoryWayDim:l,valueWayDim:0});return f(t,function(t,e){var n=t.name,o=r(t);if(null==s){var l=g.valueWayDim;i(a[n],l,o),i(h,l,o),g.valueWayDim+=o}else if(s===e)i(a[n],0,o),i(u,0,o);else{var l=g.categoryWayDim;i(a[n],l,o),i(h,l,o),g.categoryWayDim+=o}}),u.length&&(a.itemName=u),h.length&&(a.seriesName=h),a}function ds(t,e,n){var i={},r=fs(t);if(!r)return i;var a,o=e.sourceFormat,s=e.dimensionsDefine;(o===lx||o===ux)&&f(s,function(t,e){"name"===(S(t)?t.name:t)&&(a=e)});var l=function(){function t(t){return null!=t.v&&null!=t.n}for(var i={},r={},l=[],u=0,h=Math.min(5,n);h>u;u++){var c=gs(e.data,o,e.seriesLayoutBy,s,e.startIndex,u);l.push(c);var d=c===px.Not;if(d&&null==i.v&&u!==a&&(i.v=u),(null==i.n||i.n===i.v||!d&&l[i.n]===px.Not)&&(i.n=u),t(i)&&l[i.n]!==px.Not)return i;d||(c===px.Might&&null==r.v&&u!==a&&(r.v=u),(null==r.n||r.n===r.v)&&(r.n=u))}return t(i)?i:t(r)?r:null}();if(l){i.value=l.v;var u=null!=a?a:l.n;i.itemName=[u],i.seriesName=[u]}return i}function fs(t){var e=t.option,n=e.data;return n?void 0:t.ecModel.getComponent("dataset",e.datasetIndex||0)}function ps(t,e){return gs(t.data,t.sourceFormat,t.seriesLayoutBy,t.dimensionsDefine,t.startIndex,e)}function gs(t,e,n,i,r,a){function o(t){var e=b(t);return null!=t&&isFinite(t)&&""!==t?e?px.Might:px.Not:e&&"-"!==t?px.Must:void 0}var s,l=5;if(I(t))return px.Not;var u,h;if(i){var c=i[a];S(c)?(u=c.name,h=c.type):b(c)&&(u=c)}if(null!=h)return"ordinal"===h?px.Must:px.Not;if(e===sx)if(n===fx){for(var d=t[a],f=0;f<(d||[]).length&&l>f;f++)if(null!=(s=o(d[r+f])))return s}else for(var f=0;ff;f++){var p=t[r+f];if(p&&null!=(s=o(p[a])))return s}else if(e===lx){if(!u)return px.Not;for(var f=0;ff;f++){var g=t[f];if(g&&null!=(s=o(g[u])))return s}}else if(e===ux){if(!u)return px.Not;var d=t[u];if(!d||I(d))return px.Not;for(var f=0;ff;f++)if(null!=(s=o(d[f])))return s}else if(e===ox)for(var f=0;ff;f++){var g=t[f],v=er(g);if(!_(v))return px.Not;if(null!=(s=o(v[a])))return s}return px.Not}function vs(t,e){if(e){var n=e.seiresIndex,i=e.seriesId,r=e.seriesName;return null!=n&&t.componentIndex!==n||null!=i&&t.id!==i||null!=r&&t.name!==r}}function ms(t,e){var n=t.color&&!t.colorLayer;f(e,function(e,a){"colorLayer"===a&&n||ex.hasClass(a)||("object"==typeof e?t[a]=t[a]?r(t[a],e,!1):i(e):null==t[a]&&(t[a]=e))})}function ys(t){t=t,this.option={},this.option[vx]=1,this._componentsMap=N({series:[]}),this._seriesIndices,this._seriesIndicesMap,ms(t,this._theme.option),r(t,ix,!1),this.mergeOption(t)}function xs(t,e){_(e)||(e=e?[e]:[]);var n={};return f(e,function(e){n[e]=(t.get(e)||[]).slice()}),n}function _s(t,e,n){var i=e.type?e.type:n?n.subType:ex.determineSubType(t,e);return i}function ws(t,e){t._seriesIndicesMap=N(t._seriesIndices=p(e,function(t){return t.componentIndex})||[])}function bs(t,e){return e.hasOwnProperty("subType")?v(t,function(t){return t.subType===e.subType}):t}function Ss(t){if(pp&&!t._seriesIndices)throw new Error("Option should contains series.")}function Ms(t){f(yx,function(e){this[e]=y(t[e],t)},this)}function Is(){this._coordinateSystems=[]}function Ts(t){this._api=t,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}function Cs(t,e,n){var i,r,a=[],o=[],s=t.timeline;if(t.baseOption&&(r=t.baseOption),(s||t.options)&&(r=r||{},a=(t.options||[]).slice()),t.media){r=r||{};var l=t.media;_x(l,function(t){t&&t.option&&(t.query?o.push(t):i||(i=t))})}return r||(r=t),r.timeline||(r.timeline=s),_x([r].concat(a).concat(p(o,function(t){return t.option})),function(t){_x(e,function(e){e(t,n)})}),{baseOption:r,timelineOptions:a,mediaDefault:i,mediaList:o}}function Ds(t,e,n){var i={width:e,height:n,aspectratio:e/n},r=!0;return f(t,function(t,e){var n=e.match(Ix);if(n&&n[1]&&n[2]){var a=n[1],o=n[2].toLowerCase();As(i[o],t,a)||(r=!1)}}),r}function As(t,e,n){return"min"===n?t>=e:"max"===n?e>=t:t===e}function ks(t,e){return t.join(",")===e.join(",")}function Ps(t,e){e=e||{},_x(e,function(e,n){if(null!=e){var i=t[n];if(ex.hasClass(n)){e=Ji(e),i=Ji(i);var r=ir(i,e);t[n]=Sx(r,function(t){return t.option&&t.exist?Mx(t.exist,t.option,!0):t.exist||t.option})}else t[n]=Mx(i,e,!0)}})}function Ls(t){var e=t&&t.itemStyle;if(e)for(var n=0,i=Dx.length;i>n;n++){var a=Dx[n],o=e.normal,s=e.emphasis;o&&o[a]&&(t[a]=t[a]||{},t[a].normal?r(t[a].normal,o[a]):t[a].normal=o[a],o[a]=null),s&&s[a]&&(t[a]=t[a]||{},t[a].emphasis?r(t[a].emphasis,s[a]):t[a].emphasis=s[a],s[a]=null)}}function Os(t,e,n){if(t&&t[e]&&(t[e].normal||t[e].emphasis)){var i=t[e].normal,r=t[e].emphasis;i&&(n?(t[e].normal=t[e].emphasis=null,s(t[e],i)):t[e]=i),r&&(t.emphasis=t.emphasis||{},t.emphasis[e]=r)}}function Es(t){Os(t,"itemStyle"),Os(t,"lineStyle"),Os(t,"areaStyle"),Os(t,"label"),Os(t,"labelLine"),Os(t,"upperLabel"),Os(t,"edgeLabel")}function Bs(t,e){var n=Cx(t)&&t[e],i=Cx(n)&&n.textStyle;if(i)for(var r=0,a=Bv.length;a>r;r++){var e=Bv[r];i.hasOwnProperty(e)&&(n[e]=i[e])}}function zs(t){t&&(Es(t),Bs(t,"label"),t.emphasis&&Bs(t.emphasis,"label"))}function Rs(t){if(Cx(t)){Ls(t),Es(t),Bs(t,"label"),Bs(t,"upperLabel"),Bs(t,"edgeLabel"),t.emphasis&&(Bs(t.emphasis,"label"),Bs(t.emphasis,"upperLabel"),Bs(t.emphasis,"edgeLabel"));var e=t.markPoint;e&&(Ls(e),zs(e));var n=t.markLine;n&&(Ls(n),zs(n));var i=t.markArea;i&&zs(i);var r=t.data;if("graph"===t.type){r=r||t.nodes;var a=t.links||t.edges;if(a&&!I(a))for(var o=0;o=0;p--){var g=t[p];if(s||(d=g.data.rawIndexOf(g.stackedByDimension,c)),d>=0){var v=g.data.getByRawIndex(g.stackResultDimension,d);if(h>=0&&v>0||0>=h&&0>v){h+=v,f=v;break}}}return i[0]=h,i[1]=f,i});o.hostModel.setData(l),e.data=l})}function Xs(t,e){ns.isInstance(t)||(t=ns.seriesDataToSource(t)),this._source=t;var n=this._data=t.data,i=t.sourceFormat;if(i===cx){if(pp&&null==e)throw new Error("Typed array data must specify dimension size");this._offset=0,this._dimSize=e,this._data=n}var r=Bx[i===sx?i+"_"+t.seriesLayoutBy:i];pp&&O(r,"Invalide sourceFormat: "+i),o(this,r)}function Us(){return this._data.length}function Ys(t){return this._data[t]}function js(t){for(var e=0;ee.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function ll(t,e){f(t.CHANGABLE_METHODS,function(n){t.wrapMethod(n,x(ul,e))})}function ul(t){var e=hl(t);e&&e.setOutputEnd(this.count())}function hl(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);if(n){var i=n.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(t.uid))}return i}}function cl(){this.group=new Lg,this.uid=vo("viewChart"),this.renderTask=Js({plan:pl,reset:gl}),this.renderTask.context={view:this}}function dl(t,e,n){if(t&&(t.trigger(e,n),t.isGroup&&!Fa(t)))for(var i=0,r=t.childCount();r>i;i++)dl(t.childAt(i),e,n)}function fl(t,e,n){var i=sr(t,e),r=e&&null!=e.highlightKey?Va(e.highlightKey):null;null!=i?f(Ji(i),function(e){dl(t.getItemGraphicEl(e),n,r)}):t.eachItemGraphicEl(function(t){dl(t,n,r)})}function pl(t){return qx(t.model)}function gl(t){var e=t.model,n=t.ecModel,i=t.api,r=t.payload,a=e.pipelineContext.progressiveRender,o=t.view,s=r&&jx(r).updateMethod,l=a?"incrementalPrepareRender":s&&o[s]?s:"render";return"render"!==l&&o[l](e,n,i,r),Kx[l]}function vl(t,e,n){function i(){h=(new Date).getTime(),c=null,t.apply(o,s||[])}var r,a,o,s,l,u=0,h=0,c=null;e=e||0;var d=function(){r=(new Date).getTime(),o=this,s=arguments;var t=l||e,d=l||n;l=null,a=r-(d?u:h)-t,clearTimeout(c),d?c=setTimeout(i,t):a>=0?i():c=setTimeout(i,-a),u=r};return d.clear=function(){c&&(clearTimeout(c),c=null)},d.debounceNextCall=function(t){l=t},d}function ml(t,e,n,i){var r=t[e];if(r){var a=r[$x]||r,o=r[Jx],s=r[Qx];if(s!==n||o!==i){if(null==n||!i)return t[e]=a;r=t[e]=vl(a,n,"debounce"===i),r[$x]=a,r[Jx]=i,r[Qx]=n}return r}}function yl(t,e,n,i){this.ecInstance=t,this.api=e,this.unfinished;var n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice();this._allHandlers=n.concat(i),this._stageTaskMap=N()}function xl(t,e,n,i,r){function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}r=r||{};var o;f(e,function(e){if(!r.visualType||r.visualType===e.visualType){var s=t._stageTaskMap.get(e.uid),l=s.seriesTaskMap,u=s.overallTask;if(u){var h,c=u.agentStubMap;c.each(function(t){a(r,t)&&(t.dirty(),h=!0)}),h&&u.dirty(),o_(u,i);var d=t.getPerformArgs(u,r.block);c.each(function(t){t.perform(d)}),o|=u.perform(d)}else l&&l.each(function(s){a(r,s)&&s.dirty();var l=t.getPerformArgs(s,r.block);l.skip=!e.performRawSeries&&n.isSeriesFiltered(s.context.model),o_(s,i),o|=s.perform(l)})}}),t.unfinished|=o}function _l(t,e,n,i,r){function a(n){var a=n.uid,s=o.get(a)||o.set(a,Js({plan:Tl,reset:Cl,count:Al}));s.context={model:n,ecModel:i,api:r,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},kl(t,n,s)}var o=n.seriesTaskMap||(n.seriesTaskMap=N()),s=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?i.eachRawSeries(a):s?i.eachRawSeriesByType(s,a):l&&l(i,r).each(a);var u=t._pipelineMap;o.each(function(t,e){u.get(e)||(t.dispose(),o.removeKey(e))})}function wl(t,e,n,i,r){function a(e){var n=e.uid,i=s.get(n);i||(i=s.set(n,Js({reset:Sl,onDirty:Il})),o.dirty()),i.context={model:e,overallProgress:h,modifyOutputEnd:c},i.agent=o,i.__block=h,kl(t,e,i)}var o=n.overallTask=n.overallTask||Js({reset:bl});o.context={ecModel:i,api:r,overallReset:e.overallReset,scheduler:t};var s=o.agentStubMap=o.agentStubMap||N(),l=e.seriesType,u=e.getTargetSeries,h=!0,c=e.modifyOutputEnd;l?i.eachRawSeriesByType(l,a):u?u(i,r).each(a):(h=!1,f(i.getSeries(),a));var d=t._pipelineMap;s.each(function(t,e){d.get(e)||(t.dispose(),o.dirty(),s.removeKey(e))})}function bl(t){t.overallReset(t.ecModel,t.api,t.payload)}function Sl(t){return t.overallProgress&&Ml}function Ml(){this.agent.dirty(),this.getDownstream().dirty()}function Il(){this.agent&&this.agent.dirty()}function Tl(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Cl(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Ji(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?p(e,function(t,e){return Dl(e)}):s_}function Dl(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var a=e.start;a0?parseInt(i,10)/100:i?parseFloat(i):0;var r=n.getAttribute("stop-color")||"#000000";e.addColorStop(i,r)}n=n.nextSibling}}function zl(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),s(e.__inheritedStyle,t.__inheritedStyle))}function Rl(t){for(var e=E(t).split(y_),n=[],i=0;i0;a-=2){var o=r[a],s=r[a-1];switch(i=i||Le(),s){case"translate":o=E(o).split(y_),ze(i,i,[parseFloat(o[0]),parseFloat(o[1]||0)]);break;case"scale":o=E(o).split(y_),Ne(i,i,[parseFloat(o[0]),parseFloat(o[1]||o[0])]);break;case"rotate":o=E(o).split(y_),Re(i,i,parseFloat(o[0]));break;case"skew":o=E(o).split(y_),console.warn("Skew transform is not supported yet");break;case"matrix":var o=E(o).split(y_);i[0]=parseFloat(o[0]),i[1]=parseFloat(o[1]),i[2]=parseFloat(o[2]),i[3]=parseFloat(o[3]),i[4]=parseFloat(o[4]),i[5]=parseFloat(o[5])}}e.setLocalTransform(i)}}function Hl(t){var e=t.getAttribute("style"),n={};if(!e)return n;var i={};M_.lastIndex=0;for(var r;null!=(r=M_.exec(e));)i[r[1]]=r[2];for(var a in w_)w_.hasOwnProperty(a)&&null!=i[a]&&(n[w_[a]]=i[a]);return n}function Gl(t,e,n){var i=e/t.width,r=n/t.height,a=Math.min(i,r),o=[a,a],s=[-(t.x+t.width/2)*a+e/2,-(t.y+t.height/2)*a+n/2];return{scale:o,position:s}}function Wl(t,e){return function(n,i,r){return!e&&this._disposed?void ou(this.id):(n=n&&n.toLowerCase(),void Vp.prototype[t].call(this,n,i,r))}}function Xl(){Vp.call(this)}function Ul(t,e,n){function r(t,e){return t.__prio-e.__prio}n=n||{},"string"==typeof e&&(e=ow[e]),this.id,this.group,this._dom=t;var a="canvas";pp&&(a=("undefined"==typeof window?global:window).__ECHARTS__DEFAULT__RENDERER__||a);var o=this._zr=qi(t,{renderer:n.renderer||a,devicePixelRatio:n.devicePixelRatio,width:n.width,height:n.height});this._throttledZrFlush=vl(y(o.flush,o),17);var e=i(e);e&&Lx(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new Is;var s=this._api=hu(this);En(aw,r),En(nw,r),this._scheduler=new yl(this,s,nw,aw),Vp.call(this,this._ecEventProcessor=new cu),this._messageCenter=new Xl,this._initEvents(),this.resize=y(this.resize,this),this._pendingActions=[],o.animation.on("frame",this._onframe,this),Jl(o,this),B(this)}function Yl(t,e,n){if(this._disposed)return void ou(this.id);var i,r=this._model,a=this._coordSysMgr.getCoordinateSystems();e=ur(r,e);for(var o=0;oe.get("hoverLayerThreshold")&&!yp.node&&e.eachSeries(function(e){if(!e.preventUsingHoverLayer){var n=t._chartsMap[e.__viewId];
+n.__alive&&n.group.traverse(function(t){t.useHoverLayer=!0})}})}function lu(t,e){var n=t.get("blendMode")||null;pp&&!yp.canvasSupported&&n&&"source-over"!==n&&console.warn("Only canvas support blendMode"),e.group.traverse(function(t){t.isGroup||t.style.blend!==n&&t.setStyle("blend",n),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",n)})})}function uu(t,e){var n=t.get("z"),i=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=i&&(t.zlevel=i))})}function hu(t){var e=t._coordSysMgr;return o(new Ms(t),{getCoordinateSystems:y(e.getCoordinateSystems,e),getComponentByElement:function(e){for(;e;){var n=e.__ecComponentInfo;if(null!=n)return t._model.getComponent(n.mainType,n.index);e=e.parent}}})}function cu(){this.eventInfo}function du(t){function e(t,e){for(var n=0;n65535?ww:Sw}function Yu(t){var e=t.constructor;return e===Array?t.slice():new e(t)}function ju(t,e){f(Mw.concat(e.__wrappedMethods||[]),function(n){e.hasOwnProperty(n)&&(t[n]=e[n])}),t.__wrappedMethods=e.__wrappedMethods,f(Iw,function(n){t[n]=i(e[n])}),t._calculationInfo=o(e._calculationInfo)}function qu(t,e,n,i,r){var a=_w[e.type],o=i-1,s=e.name,l=t[s][o];if(l&&l.lengthc;c+=n)t[s].push(new a(Math.min(r-c,n)))}function Zu(t){var e=t._invertedIndicesMap;f(e,function(n,i){var r=t._dimensionInfos[i],a=r.ordinalMeta;if(a){n=e[i]=new bw(a.categories.length);for(var o=0;o=0?this._indices[t]:-1}function Ju(t,e){var n=t._idList[e];return null==n&&(n=Ku(t,t._idDimIdx,e)),null==n&&(n=xw+e),n}function th(t){return _(t)||(t=[t]),t}function eh(t,e){for(var n=0;n=0?(r[s]=ih(a[s]),i._rawExtent[s]=rh(),i._extent[s]=null):r[s]=a[s])}return i}function ih(t){for(var e=new Array(t.length),n=0;nd;d++){var p=a[d]=o({},S(a[d])?a[d]:{name:a[d]}),g=p.name,v=h[d]=new Xu;null!=g&&null==l.get(g)&&(v.name=v.displayName=g,l.set(g,d)),null!=p.type&&(v.type=p.type),null!=p.displayName&&(v.displayName=p.displayName)}var m=n.encodeDef;!m&&n.encodeDefaulter&&(m=n.encodeDefaulter(e,c)),m=N(m),m.each(function(t,e){if(t=Ji(t).slice(),1===t.length&&!b(t[0])&&t[0]<0)return void m.set(e,!1);var n=m.set(e,[]);f(t,function(t,i){b(t)&&(t=l.get(t)),null!=t&&c>t&&(n[i]=t,r(h[t],e,i))})});var y=0;f(t,function(t){var e,t,n,a;if(b(t))e=t,t={};else{e=t.name;var o=t.ordinalMeta;t.ordinalMeta=null,t=i(t),t.ordinalMeta=o,n=t.dimsDef,a=t.otherDims,t.name=t.coordDim=t.coordDimIndex=t.dimsDef=t.otherDims=null}var l=m.get(e);if(l!==!1){var l=Ji(l);if(!l.length)for(var u=0;u<(n&&n.length||1);u++){for(;yI;I++){var v=h[I]=h[I]||new Xu,T=v.coordDim;null==T&&(v.coordDim=sh(M,u,w),v.coordDimIndex=0,(!x||0>=_)&&(v.isExtraCoord=!0),_--),null==v.name&&(v.name=sh(v.coordDim,l)),null!=v.type||ps(e,I,v.name)!==px.Must&&(!v.isExtraCoord||null==v.otherDims.itemName&&null==v.otherDims.seriesName)||(v.type="ordinal")}return h}function oh(t,e,n,i){var r=Math.max(t.dimensionsDetectCount||1,e.length,n.length,i||0);return f(e,function(t){var e=t.dimsDef;e&&(r=Math.max(r,e.length))}),r}function sh(t,e,n){if(n||null!=e.get(t)){for(var i=0;null!=e.get(t+i);)i++;t+=i}return e.set(t,!0),t}function lh(t){this.coordSysName=t,this.coordSysDims=[],this.axisMap=N(),this.categoryAxisMap=N(),this.firstCategoryDimIndex=null}function uh(t){var e=t.get("coordinateSystem"),n=new lh(e),i=kw[e];return i?(i(t,n,n.axisMap,n.categoryAxisMap),n):void 0}function hh(t){return"category"===t.get("type")}function ch(t,e,n){n=n||{};var i,r,a,o,s=n.byIndex,l=n.stackedCoordDimension,u=!(!t||!t.get("stack"));if(f(e,function(t,n){b(t)&&(e[n]=t={name:t}),u&&!t.isExtraCoord&&(s||i||!t.ordinalMeta||(i=t),r||"ordinal"===t.type||"time"===t.type||l&&l!==t.coordDim||(r=t))}),!r||s||i||(s=!0),r){a="__\x00ecstackresult",o="__\x00ecstackedover",i&&(i.createInvertedIndices=!0);var h=r.coordDim,c=r.type,d=0;f(e,function(t){t.coordDim===h&&d++}),e.push({name:a,coordDim:h,coordDimIndex:d,type:c,isExtraCoord:!0,isCalculationCoord:!0}),d++,e.push({name:o,coordDim:o,coordDimIndex:d,type:c,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:r&&r.name,stackedByDimension:i&&i.name,isStackedByIndex:s,stackedOverDimension:o,stackResultDimension:a}}function dh(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function fh(t,e){return dh(t,e)?t.getCalculationInfo("stackResultDimension"):e}function ph(t,e,n){n=n||{},ns.isInstance(t)||(t=ns.seriesDataToSource(t));var i,r=e.get("coordinateSystem"),a=Is.get(r),o=uh(e);o&&(i=p(o.coordSysDims,function(t){var e={name:t},n=o.axisMap.get(t);if(n){var i=n.get("type");e.type=Gu(i)}return e})),i||(i=a&&(a.getDimensionsInfo?a.getDimensionsInfo():a.dimensions.slice())||["x","y"]);var s,l,u=Aw(t,{coordDimensions:i,generateCoord:n.generateCoord,encodeDefaulter:n.useEncodeDefaulter?x(cs,i,e):null});o&&f(u,function(t,e){var n=t.coordDim,i=o.categoryAxisMap.get(n);i&&(null==s&&(s=e),t.ordinalMeta=i.getOrdinalMeta()),null!=t.otherDims.itemName&&(l=!0)}),l||null==s||(u[s].otherDims.itemName=0);var h=ch(e,u),c=new Tw(u,e);c.setCalculationInfo(h);var d=null!=s&&gh(t)?function(t,e,n,i){return i===s?n:this.defaultDimValueGetter(t,e,n,i)}:null;return c.hasItemOption=!1,c.initData(t,null,d),c}function gh(t){if(t.sourceFormat===ox){var e=vh(t.data||[]);return null!=e&&!_(er(e))}}function vh(t){for(var e=0;eo&&(o=r.interval=n),null!=i&&o>i&&(o=r.interval=i);var s=r.intervalPrecision=bh(o),l=r.niceTickExtent=[Ew(Math.ceil(t[0]/o)*o,s),Ew(Math.floor(t[1]/o)*o,s)];return Mh(l,t),r}function bh(t){return Io(t)+2}function Sh(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function Mh(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),Sh(t,0,e),Sh(t,1,e),t[0]>t[1]&&(t[0]=t[1])}function Ih(t){return t.get("stack")||Rw+t.seriesIndex}function Th(t){return t.dim+t.index}function Ch(t,e){var n=[];return e.eachSeriesByType(t,function(t){Oh(t)&&!Eh(t)&&n.push(t)}),n}function Dh(t){var e={};f(t,function(t){var n=t.coordinateSystem,i=n.getBaseAxis();if("time"===i.type||"value"===i.type)for(var r=t.getData(),a=i.dim+"_"+i.index,o=r.mapDimension(i.dim),s=0,l=r.count();l>s;++s){var u=r.get(o,s);e[a]?e[a].push(u):e[a]=[u]}});var n=[];for(var i in e)if(e.hasOwnProperty(i)){var r=e[i];if(r){r.sort(function(t,e){return t-e});for(var a=null,o=1;o0&&(a=null===a?s:Math.min(a,s))}n[i]=a}}return n}function Ah(t){var e=Dh(t),n=[];return f(t,function(t){var i,r=t.coordinateSystem,a=r.getBaseAxis(),o=a.getExtent();if("category"===a.type)i=a.getBandWidth();else if("value"===a.type||"time"===a.type){var s=a.dim+"_"+a.index,l=e[s],u=Math.abs(o[1]-o[0]),h=a.scale.getExtent(),c=Math.abs(h[1]-h[0]);i=l?u/c*l:u}else{var d=t.getData();i=Math.abs(o[1]-o[0])/d.count()}var f=wo(t.get("barWidth"),i),p=wo(t.get("barMaxWidth"),i),g=wo(t.get("barMinWidth")||1,i),v=t.get("barGap"),m=t.get("barCategoryGap");n.push({bandWidth:i,barWidth:f,barMaxWidth:p,barMinWidth:g,barGap:v,barCategoryGap:m,axisKey:Th(a),stackId:Ih(t)})}),kh(n)}function kh(t){var e={};f(t,function(t){var n=t.axisKey,i=t.bandWidth,r=e[n]||{bandWidth:i,remainedWidth:i,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},a=r.stacks;e[n]=r;var o=t.stackId;a[o]||r.autoWidthCount++,a[o]=a[o]||{width:0,maxWidth:0};var s=t.barWidth;s&&!a[o].width&&(a[o].width=s,s=Math.min(r.remainedWidth,s),r.remainedWidth-=s);var l=t.barMaxWidth;l&&(a[o].maxWidth=l);var u=t.barMinWidth;u&&(a[o].minWidth=u);var h=t.barGap;null!=h&&(r.gap=h);var c=t.barCategoryGap;null!=c&&(r.categoryGap=c)});var n={};return f(e,function(t,e){n[e]={};var i=t.stacks,r=t.bandWidth,a=wo(t.categoryGap,r),o=wo(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-a)/(l+(l-1)*o);u=Math.max(u,0),f(i,function(t){var e=t.maxWidth,n=t.minWidth;if(t.width){var i=t.width;e&&(i=Math.min(i,e)),n&&(i=Math.max(i,n)),t.width=i,s-=i+o*i,l--}else{var i=u;e&&i>e&&(i=Math.min(e,s)),n&&n>i&&(i=n),i!==u&&(t.width=i,s-=i+o*i,l--)}}),u=(s-a)/(l+(l-1)*o),u=Math.max(u,0);var h,c=0;f(i,function(t){t.width||(t.width=u),h=t,c+=t.width*(1+o)}),h&&(c-=h.width*o);var d=-c/2;f(i,function(t,i){n[e][i]=n[e][i]||{bandWidth:r,offset:d,width:t.width},d+=t.width*(1+o)})}),n}function Ph(t,e,n){if(t&&e){var i=t[Th(e)];return null!=i&&null!=n&&(i=i[Ih(n)]),i}}function Lh(t,e){var n=Ch(t,e),i=Ah(n),r={};f(n,function(t){var e=t.getData(),n=t.coordinateSystem,a=n.getBaseAxis(),o=Ih(t),s=i[Th(a)][o],l=s.offset,u=s.width,h=n.getOtherAxis(a),c=t.get("barMinHeight")||0;r[o]=r[o]||[],e.setLayout({bandWidth:s.bandWidth,offset:l,size:u});for(var d=e.mapDimension(h.dim),f=e.mapDimension(a.dim),p=dh(e,d),g=h.isHorizontal(),v=Bh(a,h,p),m=0,y=e.count();y>m;m++){var x=e.get(d,m),_=e.get(f,m),w=x>=0?"p":"n",b=v;p&&(r[o][_]||(r[o][_]={p:v,n:v}),b=r[o][_][w]);var S,M,I,T;if(g){var C=n.dataToPoint([x,_]);S=b,M=C[1]+l,I=C[0]-v,T=u,Math.abs(I)I?-1:1)*c),isNaN(I)||p&&(r[o][_][w]+=I)}else{var C=n.dataToPoint([_,x]);S=C[0]+l,M=b,I=u,T=C[1]-v,Math.abs(T)=T?-1:1)*c),isNaN(T)||p&&(r[o][_][w]+=T)}e.setItemLayout(m,{x:S,y:M,width:I,height:T})}},this)}function Oh(t){return t.coordinateSystem&&"cartesian2d"===t.coordinateSystem.type}function Eh(t){return t.pipelineContext&&t.pipelineContext.large}function Bh(t,e){return e.toGlobalCoord(e.dataToCoord("log"===e.type?1:0))}function zh(t,e){return tb(t,Jw(e))}function Rh(t,e){var n,i,r,a=t.type,o=e.getMin(),s=e.getMax(),l=t.getExtent();"ordinal"===a?n=e.getCategories().length:(i=e.get("boundaryGap"),_(i)||(i=[i||0,i||0]),"boolean"==typeof i[0]&&(pp&&console.warn('Boolean type for boundaryGap is only allowed for ordinal axis. Please use string in percentage instead, e.g., "20%". Currently, boundaryGap is set to be 0.'),i=[0,0]),i[0]=wo(i[0],1),i[1]=wo(i[1],1),r=l[1]-l[0]||Math.abs(l[0])),"dataMin"===o?o=l[0]:"function"==typeof o&&(o=o({min:l[0],max:l[1]})),"dataMax"===s?s=l[1]:"function"==typeof s&&(s=s({min:l[0],max:l[1]}));var u=null!=o,h=null!=s;null==o&&(o="ordinal"===a?n?0:0/0:l[0]-i[0]*r),null==s&&(s="ordinal"===a?n?n-1:0/0:l[1]+i[1]*r),(null==o||!isFinite(o))&&(o=0/0),(null==s||!isFinite(s))&&(s=0/0),t.setBlank(C(o)||C(s)||"ordinal"===a&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(o>0&&s>0&&!u&&(o=0),0>o&&0>s&&!h&&(s=0));var c=e.ecModel;if(c&&"time"===a){var d,p=Ch("bar",c);if(f(p,function(t){d|=t.getBaseAxis()===e.axis}),d){var g=Ah(p),v=Nh(o,s,e,g);o=v.min,s=v.max}}return{extent:[o,s],fixMin:u,fixMax:h}}function Nh(t,e,n,i){var r=n.axis.getExtent(),a=r[1]-r[0],o=Ph(i,n.axis);if(void 0===o)return{min:t,max:e};var s=1/0;f(o,function(t){s=Math.min(t.offset,s)});var l=-1/0;f(o,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=1-(s+l)/a,d=h/c-h;return e+=d*(l/u),t-=d*(s/u),{min:t,max:e}}function Fh(t,e){var n=Rh(t,e),i=n.extent,r=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var a=t.type;t.setExtent(i[0],i[1]),t.niceExtent({splitNumber:r,fixMin:n.fixMin,fixMax:n.fixMax,minInterval:"interval"===a||"time"===a?e.get("minInterval"):null,maxInterval:"interval"===a||"time"===a?e.get("maxInterval"):null});var o=e.get("interval");null!=o&&t.setInterval&&t.setInterval(o)}function Vh(t,e){if(e=e||t.get("type"))switch(e){case"category":return new Ow(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new zw;default:return(mh.getClass(e)||zw).create(t)}}function Hh(t){var e=t.scale.getExtent(),n=e[0],i=e[1];return!(n>0&&i>0||0>n&&0>i)}function Gh(t){var e=t.getLabelModel().get("formatter"),n="category"===t.type?t.scale.getExtent()[0]:null;return"string"==typeof e?e=function(e){return function(n){return n=t.scale.getLabel(n),e.replace("{value}",null!=n?n:"")}}(e):"function"==typeof e?function(i,r){return null!=n&&(r=i-n),e(Wh(t,i),r)}:function(e){return t.scale.getLabel(e)}}function Wh(t,e){return"category"===t.type?t.scale.getLabel(e):e}function Xh(t){var e=t.model,n=t.scale;if(e.get("axisLabel.show")&&!n.isBlank()){var i,r,a="category"===t.type,o=n.getExtent();a?r=n.count():(i=n.getTicks(),r=i.length);var s,l=t.getLabelModel(),u=Gh(t),h=1;r>40&&(h=Math.ceil(r/40));for(var c=0;r>c;c+=h){var d=i?i[c]:o[0]+c,f=u(d),p=l.getTextRect(f),g=Uh(p,l.get("rotate")||0);s?s.union(g):s=g}return s}}function Uh(t,e){var n=e*Math.PI/180,i=t.plain(),r=i.width,a=i.height,o=r*Math.abs(Math.cos(n))+Math.abs(a*Math.sin(n)),s=r*Math.abs(Math.sin(n))+Math.abs(a*Math.cos(n)),l=new Tn(i.x,i.y,o,s);return l}function Yh(t){var e=t.get("interval");return null==e?"auto":e}function jh(t){return"category"===t.type&&0===Yh(t.getLabelModel())}function qh(t,e){if("image"!==this.type){var n=this.style,i=this.shape;i&&"line"===i.symbolType?n.stroke=t:this.__isEmptyBrush?(n.stroke=t,n.fill=e||"#fff"):(n.fill&&(n.fill=t),n.stroke&&(n.stroke=t)),this.dirty(!1)}}function Zh(t,e,n,i,r,a,o){var s=0===t.indexOf("empty");s&&(t=t.substr(5,1).toLowerCase()+t.substr(6));var l;return l=0===t.indexOf("image://")?xa(t.slice(8),new Tn(e,n,i,r),o?"center":"cover"):0===t.indexOf("path://")?ya(t.slice(7),{},new Tn(e,n,i,r),o?"center":"cover"):new pb({shape:{symbolType:t,x:e,y:n,width:i,height:r}}),l.__isEmptyBrush=s,l.setColor=qh,l.setColor(a),l}function Kh(t){return ph(t.getSource(),t)}function $h(t,e){var n=e;fo.isInstance(e)||(n=new fo(e),c(n,ob));var i=Vh(n);return i.setExtent(t[0],t[1]),Fh(i,n),i}function Qh(t){c(t,ob)}function Jh(t,e){return Math.abs(t-e)>1^-(1&s),l=l>>1^-(1&l),s+=r,l+=a,r=s,a=l,i.push([s/n,l/n])}return i}function rc(t){return"category"===t.type?oc(t):uc(t)}function ac(t,e){return"category"===t.type?lc(t,e):{ticks:t.scale.getTicks()}}function oc(t){var e=t.getLabelModel(),n=sc(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:n.labelCategoryInterval}:n}function sc(t,e){var n=hc(t,"labels"),i=Yh(e),r=cc(n,i);if(r)return r;var a,o;return w(i)?a=mc(t,i):(o="auto"===i?fc(t):i,a=vc(t,o)),dc(n,i,{labels:a,labelCategoryInterval:o})}function lc(t,e){var n=hc(t,"ticks"),i=Yh(e),r=cc(n,i);if(r)return r;var a,o;if((!e.get("show")||t.scale.isBlank())&&(a=[]),w(i))a=mc(t,i,!0);else if("auto"===i){var s=sc(t,t.getLabelModel());o=s.labelCategoryInterval,a=p(s.labels,function(t){return t.tickValue})}else o=i,a=vc(t,o,!0);return dc(n,i,{ticks:a,tickCategoryInterval:o})}function uc(t){var e=t.scale.getTicks(),n=Gh(t);return{labels:p(e,function(e,i){return{formattedLabel:n(e,i),rawLabel:t.scale.getLabel(e),tickValue:e}})}}function hc(t,e){return xb(t)[e]||(xb(t)[e]=[])}function cc(t,e){for(var n=0;n40&&(s=Math.max(1,Math.floor(o/40)));for(var l=a[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(i)),c=Math.abs(u*Math.sin(i)),d=0,f=0;l<=a[1];l+=s){var p=0,g=0,v=Un(n(l),e.font,"center","top");p=1.3*v.width,g=1.3*v.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var m=d/h,y=f/c;isNaN(m)&&(m=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(m,y))),_=xb(t.model),w=t.getExtent(),b=_.lastAutoInterval,S=_.lastTickCount;return null!=b&&null!=S&&Math.abs(b-x)<=1&&Math.abs(S-o)<=1&&b>x&&_.axisExtend0===w[0]&&_.axisExtend1===w[1]?x=b:(_.lastTickCount=o,_.lastAutoInterval=x,_.axisExtend0=w[0],_.axisExtend1=w[1]),x}function gc(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function vc(t,e,n){function i(t){l.push(n?t:{formattedLabel:r(t),rawLabel:a.getLabel(t),tickValue:t})}var r=Gh(t),a=t.scale,o=a.getExtent(),s=t.getLabelModel(),l=[],u=Math.max((e||0)+1,1),h=o[0],c=a.count();0!==h&&u>1&&c/u>2&&(h=Math.round(Math.ceil(h/u)*u));var d=jh(t),f=s.get("showMinLabel")||d,p=s.get("showMaxLabel")||d;f&&h!==o[0]&&i(o[0]);for(var g=h;g<=o[1];g+=u)i(g);return p&&g-u!==o[1]&&i(o[1]),l}function mc(t,e,n){var i=t.scale,r=Gh(t),a=[];return f(i.getTicks(),function(t){var o=i.getLabel(t);e(t,o)&&a.push(n?t:{formattedLabel:r(t),rawLabel:o,tickValue:t})}),a}function yc(t,e){var n=t[1]-t[0],i=e,r=n/i/2;t[0]+=r,t[1]-=r}function xc(t,e,n,i){function r(t,e){return t=bo(t),e=bo(e),d?t>e:e>t}var a=e.length;if(t.onBand&&!n&&a){var o,s,l=t.getExtent();if(1===a)e[0].coord=l[0],o=e[1]={coord:l[0]};else{var u=e[a-1].tickValue-e[0].tickValue,h=(e[a-1].coord-e[0].coord)/u;f(e,function(t){t.coord-=h/2});var c=t.scale.getExtent();s=1+c[1]-e[a-1].tickValue,o={coord:e[a-1].coord+h*s},e.push(o)}var d=l[0]>l[1];r(e[0].coord,l[0])&&(i?e[0].coord=l[0]:e.shift()),i&&r(l[0],e[0].coord)&&e.unshift({coord:l[0]}),r(l[1],o.coord)&&(i?o.coord=l[1]:e.pop()),i&&r(o.coord,l[1])&&e.push({coord:l[1]})}}function _c(t){return this._axes[t]}function wc(t){Ib.call(this,t)}function bc(t,e){return e.type||(e.data?"category":"value")}function Sc(t,e){return t.getCoordSysModel()===e}function Mc(t,e,n){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,n),this.model=t}function Ic(t,e,n,i){function r(t){return t.dim+"_"+t.index}n.getAxesOnZeroOf=function(){return a?[a]:[]};var a,o=t[e],s=n.model,l=s.get("axisLine.onZero"),u=s.get("axisLine.onZeroAxisIndex");if(l){if(null!=u)Tc(o[u])&&(a=o[u]);else for(var h in o)if(o.hasOwnProperty(h)&&Tc(o[h])&&!i[r(o[h])]){a=o[h];break}a&&(i[r(a)]=!0)}}function Tc(t){return t&&"category"!==t.type&&"time"!==t.type&&Hh(t)}function Cc(t,e){var n=t.getExtent(),i=n[0]+n[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return i-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return i-t+e}}function Dc(t){return p(Eb,function(e){var n=t.getReferringComponents(e)[0];if(pp&&!n)throw new Error(e+' "'+D(t.get(e+"Index"),t.get(e+"Id"),0)+'" not found');return n})}function Ac(t){return"cartesian2d"===t.get("coordinateSystem")}function kc(t,e){var n=t.mapDimension("defaultedLabel",!0),i=n.length;if(1===i)return $s(t,e,n[0]);if(i){for(var r=[],a=0;a0?"bottom":"top":r.width>0?"left":"right";l||Pc(t.style,f,i,u,a,n,g),Fc(r)&&(f.fill=f.stroke="none"),Ra(t,f)}function Hc(t,e){var n=t.get(Fb)||0,i=isNaN(e.width)?Number.MAX_VALUE:Math.abs(e.width),r=isNaN(e.height)?Number.MAX_VALUE:Math.abs(e.height);return Math.min(n,i,r)}function Gc(t,e,n){var i=t.getData(),r=[],a=i.getLayout("valueAxisHorizontal")?1:0;r[1-a]=i.getLayout("valueAxisStart");var o=i.getLayout("largeDataIndices"),s=i.getLayout("barWidth"),l=t.getModel("backgroundStyle"),u=t.get("showBackground",!0);if(u){var h=i.getLayout("largeBackgroundPoints"),c=[];c[1-a]=i.getLayout("backgroundStart");var d=new Yb({shape:{points:h},incremental:!!n,__startPoint:c,__baseDimIdx:a,__largeDataIndices:o,__barWidth:s,silent:!0,z2:0});Uc(d,l,i),e.add(d)}var f=new Yb({shape:{points:i.getLayout("largePoints")},incremental:!!n,__startPoint:r,__baseDimIdx:a,__largeDataIndices:o,__barWidth:s});e.add(f),Xc(f,t,i),f.seriesIndex=t.seriesIndex,t.get("silent")||(f.on("mousedown",jb),f.on("mousemove",jb))}function Wc(t,e,n){var i=t.__baseDimIdx,r=1-i,a=t.shape.points,o=t.__largeDataIndices,s=Math.abs(t.__barWidth/2),l=t.__startPoint[r];Vb[0]=e,Vb[1]=n;for(var u=Vb[i],h=Vb[1-i],c=u-s,d=u+s,f=0,p=a.length/2;p>f;f++){var g=2*f,v=a[g+i],m=a[g+r];if(v>=c&&d>=v&&(m>=l?h>=l&&m>=h:h>=m&&l>=h))return o[f]}return-1}function Xc(t,e,n){var i=n.getVisual("borderColor")||n.getVisual("color"),r=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(r),t.style.fill=null,t.style.stroke=i,t.style.lineWidth=n.getLayout("barWidth")}function Uc(t,e,n){var i=e.get("borderColor")||e.get("color"),r=e.getItemStyle(["color","borderColor"]);t.useStyle(r),t.style.fill=null,t.style.stroke=i,t.style.lineWidth=n.getLayout("barWidth")}function Yc(t,e,n){var i,r="polar"===n.type;return i=r?n.getArea():n.grid.getRect(),r?{cx:i.cx,cy:i.cy,r0:t?i.r0:e.r0,r:t?i.r:e.r,startAngle:t?e.startAngle:0,endAngle:t?e.endAngle:2*Math.PI}:{x:t?e.x:i.x,y:t?i.y:e.y,width:t?e.width:i.width,height:t?i.height:e.height}}function jc(t,e,n){var i="polar"===t.type?$m:ay;return new i({shape:Yc(e,n,t),silent:!0,z2:0})}function qc(t,e,n,i){var r,a,o=Do(n-t.rotation),s=i[0]>i[1],l="start"===e&&!s||"start"!==e&&s;return Ao(o-qb/2)?(a=l?"bottom":"top",r="center"):Ao(o-1.5*qb)?(a=l?"top":"bottom",r="center"):(a="middle",r=1.5*qb>o&&o>qb/2?l?"left":"right":l?"right":"left"),{rotation:o,textAlign:r,textVerticalAlign:a}}function Zc(t,e,n){if(!jh(t.axis)){var i=t.get("axisLabel.showMinLabel"),r=t.get("axisLabel.showMaxLabel");e=e||[],n=n||[];var a=e[0],o=e[1],s=e[e.length-1],l=e[e.length-2],u=n[0],h=n[1],c=n[n.length-1],d=n[n.length-2];i===!1?(Kc(a),Kc(u)):$c(a,o)&&(i?(Kc(o),Kc(h)):(Kc(a),Kc(u))),r===!1?(Kc(s),Kc(c)):$c(l,s)&&(r?(Kc(l),Kc(d)):(Kc(s),Kc(c)))}}function Kc(t){t&&(t.ignore=!0)}function $c(t,e){var n=t&&t.getBoundingRect().clone(),i=e&&e.getBoundingRect().clone();if(n&&i){var r=Oe([]);return Re(r,r,-t.rotation),n.applyTransform(Be([],r,t.getLocalTransform())),i.applyTransform(Be([],r,e.getLocalTransform())),n.intersect(i)}}function Qc(t){return"middle"===t||"center"===t}function Jc(t,e,n,i,r){for(var a=[],o=[],s=[],l=0;l=0||t===e}function ud(t){var e=hd(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,a=n.get("status"),o=n.get("value");null!=o&&(o=i.parse(o));var s=dd(n);null==a&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==o||o>l[1])&&(o=l[1]),o0?n=i[0]:i[1]<0&&(n=i[1]),n}function Ad(t,e,n,i){var r=0/0;t.stacked&&(r=n.get(n.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=t.valueStart);var a=t.baseDataOffset,o=[];return o[a]=n.get(t.baseDim,i),o[1-a]=r,e.dataToPoint(o)}function kd(t,e){var n=[];return e.diff(t).add(function(t){n.push({cmd:"+",idx:t})}).update(function(t,e){n.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){n.push({cmd:"-",idx:t})}).execute(),n}function Pd(t){return isNaN(t[0])||isNaN(t[1])}function Ld(t,e,n,i,r,a,o,s,l,u){return"none"!==u&&u?Od.apply(this,arguments):Ed.apply(this,arguments)}function Od(t,e,n,i,r,a,o,s,l,u,h){for(var c=0,d=n,f=0;i>f;f++){var p=e[d];if(d>=r||0>d)break;if(Pd(p)){if(h){d+=a;continue}break}if(d===n)t[a>0?"moveTo":"lineTo"](p[0],p[1]);else if(l>0){var g=e[c],v="y"===u?1:0,m=(p[v]-g[v])*l;yS(_S,g),_S[v]=g[v]+m,yS(wS,p),wS[v]=p[v]-m,t.bezierCurveTo(_S[0],_S[1],wS[0],wS[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Ed(t,e,n,i,r,a,o,s,l,u,h){for(var c=0,d=n,f=0;i>f;f++){var p=e[d];if(d>=r||0>d)break;if(Pd(p)){if(h){d+=a;continue}break}if(d===n)t[a>0?"moveTo":"lineTo"](p[0],p[1]),yS(_S,p);else if(l>0){var g=d+a,v=e[g];if(h)for(;v&&Pd(e[g]);)g+=a,v=e[g];var m=.5,y=e[c],v=e[g];if(!v||Pd(v))yS(wS,p);else{Pd(v)&&!h&&(v=p),j(xS,v,y);var x,_;if("x"===u||"y"===u){var w="x"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-v[w])}else x=zp(p,y),_=zp(p,v);m=_/(_+x),mS(wS,p,xS,-l*(1-m))}gS(_S,_S,s),vS(_S,_S,o),gS(wS,wS,s),vS(wS,wS,o),t.bezierCurveTo(_S[0],_S[1],wS[0],wS[1],p[0],p[1]),mS(_S,p,xS,l*m)}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Bd(t,e){var n=[1/0,1/0],i=[-1/0,-1/0];if(e)for(var r=0;ri[0]&&(i[0]=a[0]),a[1]>i[1]&&(i[1]=a[1])}return{min:e?n:i,max:e?i:n}}function zd(t,e){if(t.length===e.length){for(var n=0;nr;r++)i.push(Ad(n,t,e,r));return i}function Vd(t,e,n){for(var i=e.getBaseAxis(),r="x"===i.dim||"radius"===i.dim?0:1,a=[],o=0;o=0;a--){var o=n[a].dimension,s=t.dimensions[o],l=t.getDimensionInfo(s);if(i=l&&l.coordDim,"x"===i||"y"===i){r=n[a];break}}if(!r)return void(pp&&console.warn("Visual map on line style only support x or y dimension."));var u=e.getAxis(i),h=p(r.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,d=r.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),d.reverse());var g=10,v=h[0].coord-g,m=h[c-1].coord+g,y=m-v;if(.001>y)return"transparent";f(h,function(t){t.offset=(t.coord-v)/y}),h.push({offset:c?h[c-1].offset:.5,color:d[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:d[0]||"transparent"});var x=new fy(0,0,0,0,h,!0);return x[i]=v,x[i+"2"]=m,x}}function Gd(t,e,n){var i=t.get("showAllSymbol"),r="auto"===i;if(!i||r){var a=n.getAxesByScale("ordinal")[0];if(a&&(!r||!Wd(a,e))){var o=e.mapDimension(a.dim),s={};return f(a.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(o,t))}}}}function Wd(t,e){var n=t.getExtent(),i=Math.abs(n[1]-n[0])/t.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),a=Math.max(1,Math.round(r/5)),o=0;r>o;o+=a)if(1.5*xd.getSymbolSize(e,o)[t.isHorizontal()?1:0]>i)return!1;return!0}function Xd(t,e,n){if("cartesian2d"===t.type){var i=t.getBaseAxis().isHorizontal(),r=Oc(t,e,n);if(!n.get("clip",!0)){var a=r.shape,o=Math.max(a.width,a.height);i?(a.y-=o,a.height+=2*o):(a.x-=o,a.width+=2*o)}return r}return Ec(t,e,n)}function Ud(t,e){this.getAllNames=function(){var t=e();return t.mapArray(t.getName)},this.containName=function(t){var n=e();return n.indexOfName(t)>=0},this.indexOfName=function(e){var n=t();return n.indexOfName(e)},this.getItemVisual=function(e,n){var i=t();return i.getItemVisual(e,n)}}function Yd(t,e,n,i){var r=e.getData(),a=this.dataIndex,o=r.getName(a),s=e.get("selectedOffset");i.dispatchAction({type:"pieToggleSelect",from:t,name:o,seriesId:e.id}),r.each(function(t){jd(r.getItemGraphicEl(t),r.getItemLayout(t),e.isSelected(r.getName(t)),s,n)})}function jd(t,e,n,i,r){var a=(e.startAngle+e.endAngle)/2,o=Math.cos(a),s=Math.sin(a),l=n?i:0,u=[o*l,s*l];r?t.animate().when(200,{position:u}).start("bounceOut"):t.attr("position",u)}function qd(t,e){Lg.call(this);var n=new $m({z2:2}),i=new ny,r=new jm;this.add(n),this.add(i),this.add(r),this.updateData(t,e,!0)}function Zd(t,e,n,i,r,a,o,s,l,u){function h(e,n,i){for(var r=e;n>r&&!(t[r].y+i>l+o);r++)if(t[r].y+=i,r>e&&n>r+1&&t[r+1].y>t[r].y+t[r].height)return void c(r,i/2);c(n-1,i/2)}function c(e,n){for(var i=e;i>=0&&!(t[i].y-n0&&t[i].y>t[i-1].y+t[i-1].height));i--);}function d(t,e,n,i,r,a){for(var o=a>0?e?Number.MAX_VALUE:0:e?Number.MAX_VALUE:0,s=0,l=t.length;l>s;s++)if("none"===t[s].labelAlignTo){var u=Math.abs(t[s].y-i),h=t[s].len,c=t[s].len2,d=r+h>u?Math.sqrt((r+h+c)*(r+h+c)-u*u):Math.abs(t[s].x-n);e&&d>=o&&(d=o-10),!e&&o>=d&&(d=o+10),t[s].x=n+d*a,o=d}}t.sort(function(t,e){return t.y-e.y});for(var f,p=0,g=t.length,v=[],m=[],y=0;g>y;y++){if("outer"===t[y].position&&"labelLine"===t[y].labelAlignTo){var x=t[y].x-u;t[y].linePoints[1][0]+=x,t[y].x=u}f=t[y].y-p,0>f&&h(y,g,-f,r),p=t[y].y+t[y].height}0>o-p&&c(g-1,p-o);for(var y=0;g>y;y++)t[y].y>=n?m.push(t[y]):v.push(t[y]);d(v,!1,e,n,i,r),d(m,!0,e,n,i,r)}function Kd(t,e,n,i,r,a,o,s){for(var l=[],u=[],h=Number.MAX_VALUE,c=-Number.MAX_VALUE,d=0;d=f&&((o>f||d>=0&&0>s)&&(o=f,s=d,r=l,a.length=0),eM(u,function(t){a.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:a,snapToValue:r}}function uf(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function hf(t,e,n,i){var r=n.payloadBatch,a=e.axis,o=a.model,s=e.axisPointerModel;if(e.triggerTooltip&&r.length){var l=e.coordSys.model,u=fd(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:a.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:i,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:r.slice()})}}function cf(t,e,n){var i=n.axesInfo=[];eM(e,function(e,n){var r=e.axisPointerModel.option,a=t[n];a?(!e.useHandle&&(r.status="show"),r.value=a.value,r.seriesDataIndices=(a.payloadBatch||[]).slice()):!e.useHandle&&(r.status="hide"),"show"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})})}function df(t,e,n,i){if(vf(e)||!t.list.length)return void i({type:"hideTip"});var r=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:t.list})}function ff(t,e,n){var i=n.getZr(),r="axisPointerLastHighlights",a=iM(i)[r]||{},o=iM(i)[r]={};eM(t,function(t){var e=t.axisPointerModel.option;"show"===e.status&&eM(e.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;o[e]=t})});var s=[],l=[];f(a,function(t,e){!o[e]&&l.push(t)}),f(o,function(t,e){!a[e]&&s.push(t)}),l.length&&n.dispatchAction({type:"downplay",escapeConnect:!0,batch:l}),s.length&&n.dispatchAction({type:"highlight",escapeConnect:!0,batch:s})}function pf(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}function gf(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.axisIndex=n[i+"AxisIndex"]=e.componentIndex,n.axisName=n[i+"AxisName"]=e.name,n.axisId=n[i+"AxisId"]=e.id,n}function vf(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function mf(t,e,n){if(!yp.node){var i=e.getZr();aM(i).records||(aM(i).records={}),yf(i,e);var r=aM(i).records[t]||(aM(i).records[t]={});r.handler=n}}function yf(t,e){function n(n,i){t.on(n,function(n){var r=bf(e);oM(aM(t).records,function(t){t&&i(t,n,r.dispatchAction)}),xf(r.pendings,e)})}aM(t).initialized||(aM(t).initialized=!0,n("click",x(wf,"click")),n("mousemove",x(wf,"mousemove")),n("globalout",_f))}function xf(t,e){var n,i=t.showTip.length,r=t.hideTip.length;i?n=t.showTip[i-1]:r&&(n=t.hideTip[r-1]),n&&(n.dispatchAction=null,e.dispatchAction(n))}function _f(t,e,n){t.handler("leave",null,n)}function wf(t,e,n,i){e.handler(t,n,i)}function bf(t){var e={showTip:[],hideTip:[]},n=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=n,t.dispatchAction(i))};return{dispatchAction:n,pendings:e}}function Sf(t,e){if(!yp.node){var n=e.getZr(),i=(aM(n).records||{})[t];i&&(aM(n).records[t]=null)}}function Mf(){}function If(t,e,n,i){Tf(lM(n).lastProp,i)||(lM(n).lastProp=i,e?Ja(n,i,t):(n.stopAnimation(),n.attr(i)))}function Tf(t,e){if(S(t)&&S(e)){var n=!0;return f(e,function(e,i){n=n&&Tf(t[i],e)}),!!n}return t===e}function Cf(t,e){t[e.get("label.show")?"show":"hide"]()}function Df(t){return{position:t.position.slice(),rotation:t.rotation||0}}function Af(t,e,n){var i=e.get("z"),r=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=r&&(t.zlevel=r),t.silent=n)})}function kf(t){var e,n=t.get("type"),i=t.getModel(n+"Style");return"line"===n?(e=i.getLineStyle(),e.fill=null):"shadow"===n&&(e=i.getAreaStyle(),e.stroke=null),e}function Pf(t,e,n,i,r){var a=n.get("value"),o=Of(a,e.axis,e.ecModel,n.get("seriesDataIndices"),{precision:n.get("label.precision"),formatter:n.get("label.formatter")}),s=n.getModel("label"),l=Gy(s.get("padding")||0),u=s.getFont(),h=Un(o,u),c=r.position,d=h.width+l[1]+l[3],f=h.height+l[0]+l[2],p=r.align;"right"===p&&(c[0]-=d),"center"===p&&(c[0]-=d/2);var g=r.verticalAlign;"bottom"===g&&(c[1]-=f),"middle"===g&&(c[1]-=f/2),Lf(c,d,f,i);var v=s.get("backgroundColor");v&&"auto"!==v||(v=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:d,height:f,r:s.get("borderRadius")},position:c.slice(),style:{text:o,textFont:u,textFill:s.getTextColor(),textPosition:"inside",textPadding:l,fill:v,stroke:s.get("borderColor")||"transparent",lineWidth:s.get("borderWidth")||0,shadowBlur:s.get("shadowBlur"),shadowColor:s.get("shadowColor"),shadowOffsetX:s.get("shadowOffsetX"),shadowOffsetY:s.get("shadowOffsetY")},z2:10}}function Lf(t,e,n,i){var r=i.getWidth(),a=i.getHeight();t[0]=Math.min(t[0]+e,r)-e,t[1]=Math.min(t[1]+n,a)-n,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}function Of(t,e,n,i,r){t=e.scale.parse(t);var a=e.scale.getLabel(t,{precision:r.precision}),o=r.formatter;if(o){var s={value:Wh(e,t),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};f(i,function(t){var e=n.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,r=e&&e.getDataParams(i);r&&s.seriesData.push(r)}),b(o)?a=o.replace("{value}",a):w(o)&&(a=o(s))}return a}function Ef(t,e,n){var i=Le();return Re(i,i,n.rotation),ze(i,i,n.position),no([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}function Bf(t,e,n,i,r,a){var o=Zb.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=r.get("label.margin"),Pf(e,i,r,a,{position:Ef(i.axis,t,n),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function zf(t,e,n){return n=n||0,{x1:t[n],y1:t[1-n],x2:e[n],y2:e[1-n]}}function Rf(t,e,n){return n=n||0,{x:t[n],y:t[1-n],width:e[n],height:e[1-n]}}function Nf(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartesian(n)}function Ff(t){return"x"===t.dim?0:1}function Vf(t){var e="cubic-bezier(0.23, 1, 0.32, 1)",n="left "+t+"s "+e+",top "+t+"s "+e;return p(gM,function(t){return t+"transition:"+n}).join(";")}function Hf(t){var e=[],n=t.get("fontSize"),i=t.getTextColor();i&&e.push("color:"+i),e.push("font:"+t.getFont());var r=t.get("lineHeight");null==r&&(r=Math.round(3*n/2)),n&&e.push("line-height:"+r+"px");var a=t.get("textShadowColor"),o=t.get("textShadowBlur")||0,s=t.get("textShadowOffsetX")||0,l=t.get("textShadowOffsetY")||0;return o&&e.push("text-shadow:"+s+"px "+l+"px "+o+"px "+a),fM(["decoration","align"],function(n){var i=t.get(n);i&&e.push("text-"+n+":"+i)}),e.join(";")}function Gf(t){var e=[],n=t.get("transitionDuration"),i=t.get("backgroundColor"),r=t.getModel("textStyle"),a=t.get("padding");return n&&e.push(Vf(n)),i&&(yp.canvasSupported?e.push("background-Color:"+i):(e.push("background-Color:#"+rn(i)),e.push("filter:alpha(opacity=70)"))),fM(["width","color","radius"],function(n){var i="border-"+n,r=pM(i),a=t.get(r);null!=a&&e.push(i+":"+a+("color"===n?"":"px"))}),e.push(Hf(r)),null!=a&&e.push("padding:"+Gy(a).join("px ")+"px"),e.join(";")+";"}function Wf(t,e,n,i,r){var a=e&&e.painter;if(n){var o=a&&a.getViewportRoot();o&&pe(t,o,document.body,i,r)}else{t[0]=i,t[1]=r;var s=a&&a.getViewportRootOffset();s&&(t[0]+=s.offsetLeft,t[1]+=s.offsetTop)}t[2]=t[0]/e.getWidth(),t[3]=t[1]/e.getHeight()}function Xf(t,e,n){if(yp.wxa)return null;var i=document.createElement("div");i.domBelongToZr=!0,this.el=i;var r=this._zr=e.getZr(),a=this._appendToBody=n&&n.appendToBody;this._styleCoord=[0,0,0,0],Wf(this._styleCoord,r,a,e.getWidth()/2,e.getHeight()/2),a?document.body.appendChild(i):t.appendChild(i),this._container=t,this._show=!1,this._hideTimeout;var o=this;i.onmouseenter=function(){o._enterable&&(clearTimeout(o._hideTimeout),o._show=!0),o._inContent=!0},i.onmousemove=function(t){if(t=t||window.event,!o._enterable){var e=r.handler,n=r.painter.getViewportRoot();be(n,t,!0),e.dispatch("mousemove",t)}},i.onmouseleave=function(){o._enterable&&o._show&&o.hideLater(o._hideDelay),o._inContent=!1}}function Uf(t,e,n,i){t[0]=n,t[1]=i,t[2]=t[0]/e.getWidth(),t[3]=t[1]/e.getHeight()}function Yf(t){var e=this._zr=t.getZr();this._styleCoord=[0,0,0,0],Uf(this._styleCoord,e,t.getWidth()/2,t.getHeight()/2),this._show=!1,this._hideTimeout}function jf(t){for(var e=t.pop();t.length;){var n=t.pop();n&&(fo.isInstance(n)&&(n=n.get("tooltip",!0)),"string"==typeof n&&(n={formatter:n}),e=new fo(n,e,e.ecModel))}return e}function qf(t,e){return t.dispatchAction||y(e.dispatchAction,e)}function Zf(t,e,n,i,r,a,o){var s=n.getOuterSize(),l=s.width,u=s.height;return null!=a&&(t+l+a>i?t-=l+a:t+=a),null!=o&&(e+u+o>r?e-=u+o:e+=o),[t,e]}function Kf(t,e,n,i,r){var a=n.getOuterSize(),o=a.width,s=a.height;return t=Math.min(t+o,i)-o,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function $f(t,e,n){var i=n[0],r=n[1],a=5,o=0,s=0,l=e.width,u=e.height;switch(t){case"inside":o=e.x+l/2-i/2,s=e.y+u/2-r/2;break;case"top":o=e.x+l/2-i/2,s=e.y-r-a;break;case"bottom":o=e.x+l/2-i/2,s=e.y+u+a;break;case"left":o=e.x-i-a,s=e.y+u/2-r/2;break;case"right":o=e.x+l+a,s=e.y+u/2-r/2}return[o,s]}function Qf(t){return"center"===t||"middle"===t}function Jf(t){tr(t,"label",["show"])}function tp(t){return!(isNaN(parseFloat(t.x))&&isNaN(parseFloat(t.y)))}function ep(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}function np(t,e,n,i,r,a){var o=[],s=dh(e,i),l=s?e.getCalculationInfo("stackResultDimension"):i,u=sp(e,l,t),h=e.indicesOfNearest(l,u)[0];o[r]=e.get(n,h),o[a]=e.get(l,h);var c=e.get(i,h),d=Mo(e.get(i,h));return d=Math.min(d,20),d>=0&&(o[a]=+o[a].toFixed(d)),[o,c]}function ip(t,e){var n=t.getData(),r=t.coordinateSystem;if(e&&!ep(e)&&!_(e.coord)&&r){var a=r.dimensions,o=rp(e,n,r,t);if(e=i(e),e.type&&TM[e.type]&&o.baseAxis&&o.valueAxis){var s=MM(a,o.baseAxis.dim),l=MM(a,o.valueAxis.dim),u=TM[e.type](n,o.baseDataDim,o.valueDataDim,s,l);e.coord=u[0],e.value=u[1]}else{for(var h=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],c=0;2>c;c++)TM[h[c]]&&(h[c]=sp(n,n.mapDimension(a[c]),h[c]));e.coord=h}}return e}function rp(t,e,n,i){var r={};return null!=t.valueIndex||null!=t.valueDim?(r.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,r.valueAxis=n.getAxis(ap(i,r.valueDataDim)),r.baseAxis=n.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=n.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function ap(t,e){var n=t.getData(),i=n.dimensions;e=n.getDimension(e);for(var r=0;rr;r++)n[t][r].h!==e&&i.push(n[t][r]);n[t]=i}n[t]&&0===n[t].length&&delete n[t]}else delete n[t];return this},trigger:function(t){var e=this._$handlers[t],n=this._$eventProcessor;if(e){var i=arguments,r=i.length;r>3&&(i=Fp.call(i,1));for(var a=e.length,o=0;a>o;){var s=e[o];if(n&&n.filter&&null!=s.query&&!n.filter(t,s.query))o++;else{switch(r){case 1:s.h.call(s.ctx);break;case 2:s.h.call(s.ctx,i[1]);break;case 3:s.h.call(s.ctx,i[1],i[2]);break;default:s.h.apply(s.ctx,i)}s.one?(e.splice(o,1),a--):o++}}}return n&&n.afterTrigger&&n.afterTrigger(t),this},triggerWithContext:function(t){var e=this._$handlers[t],n=this._$eventProcessor;if(e){var i=arguments,r=i.length;r>4&&(i=Fp.call(i,1,i.length-1));for(var a=i[i.length-1],o=e.length,s=0;o>s;){var l=e[s];if(n&&n.filter&&null!=l.query&&!n.filter(t,l.query))s++;else{switch(r){case 1:l.h.call(a);break;case 2:l.h.call(a,i[1]);
+break;case 3:l.h.call(a,i[1],i[2]);break;default:l.h.apply(a,i)}l.one?(e.splice(s,1),o--):s++}}}return n&&n.afterTrigger&&n.afterTrigger(t),this}};var Hp=Math.log(2),Gp="___zrEVENTSAVED",Wp=[],Xp="undefined"!=typeof window&&!!window.addEventListener,Up=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Yp=[],jp=Xp?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0},qp=function(){this._track=[]};qp.prototype={constructor:qp,recognize:function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e,n){var i=t.touches;if(i){for(var r={points:[],touches:[],target:e,event:t},a=0,o=i.length;o>a;a++){var s=i[a],l=xe(n,s,{});r.points.push([l.zrX,l.zrY]),r.touches.push(s)}this._track.push(r)}},_recognize:function(t){for(var e in Zp)if(Zp.hasOwnProperty(e)){var n=Zp[e](this._track,t);if(n)return n}}};var Zp={pinch:function(t,e){var n=t.length;if(n){var i=(t[n-1]||{}).points,r=(t[n-2]||{}).points||i;if(r&&r.length>1&&i&&i.length>1){var a=Ie(i)/Ie(r);!isFinite(a)&&(a=1),e.pinchScale=a;var o=Te(i);return e.pinchX=o[0],e.pinchY=o[1],{type:"pinch",target:t[0].target,event:e}}}}},Kp="silent";Ae.prototype.dispose=function(){};var $p=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Qp=function(t,e,n,i){Vp.call(this),this.storage=t,this.painter=e,this.painterRoot=i,n=n||new Ae,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,le.call(this),this.setHandlerProxy(n)};Qp.prototype={constructor:Qp,setHandlerProxy:function(t){this.proxy&&this.proxy.dispose(),t&&(f($p,function(e){t.on&&t.on(e,this[e],this)},this),t.handler=this),this.proxy=t},mousemove:function(t){var e=t.zrX,n=t.zrY,i=Pe(this,e,n),r=this._hovered,a=r.target;a&&!a.__zr&&(r=this.findHover(r.x,r.y),a=r.target);var o=this._hovered=i?{x:e,y:n}:this.findHover(e,n),s=o.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:"default"),a&&s!==a&&this.dispatchToElement(r,"mouseout",t),this.dispatchToElement(o,"mousemove",t),s&&s!==a&&this.dispatchToElement(o,"mouseover",t)},mouseout:function(t){var e=t.zrEventControl,n=t.zrIsToLocalDOM;"only_globalout"!==e&&this.dispatchToElement(this._hovered,"mouseout",t),"no_globalout"!==e&&!n&&this.trigger("globalout",{type:"globalout",event:t})},resize:function(){this._hovered={}},dispatch:function(t,e){var n=this[t];n&&n.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,n){t=t||{};var i=t.target;if(!i||!i.silent){for(var r="on"+e,a=Ce(e,t,n);i&&(i[r]&&(a.cancelBubble=i[r].call(i,a)),i.trigger(e,a),i=i.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[r]&&t[r].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,n){for(var i=this.storage.getDisplayList(),r={x:t,y:e},a=i.length-1;a>=0;a--){var o;if(i[a]!==n&&!i[a].ignore&&(o=ke(i[a],t,e))&&(!r.topTarget&&(r.topTarget=i[a]),o!==Kp)){r.target=i[a];break}}return r},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new qp);var n=this._gestureMgr;"start"===e&&n.clear();var i=n.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&n.clear(),i){var r=i.type;t.gestureEvent=r,this.dispatchToElement({target:i.target},r,i.event)}}},f(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){Qp.prototype[t]=function(e){var n,i,r=e.zrX,a=e.zrY,o=Pe(this,r,a);if("mouseup"===t&&o||(n=this.findHover(r,a),i=n.target),"mousedown"===t)this._downEl=i,this._downPoint=[e.zrX,e.zrY],this._upEl=i;else if("mouseup"===t)this._upEl=i;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||zp(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}}),c(Qp,Vp),c(Qp,le);var Jp="undefined"==typeof Float32Array?Array:Float32Array,tg=(Object.freeze||Object)({create:Le,identity:Oe,copy:Ee,mul:Be,translate:ze,rotate:Re,scale:Ne,invert:Fe,clone:Ve}),eg=Oe,ng=5e-5,ig=function(t){t=t||{},t.position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},rg=ig.prototype;rg.transform=null,rg.needLocalTransform=function(){return He(this.rotation)||He(this.position[0])||He(this.position[1])||He(this.scale[0]-1)||He(this.scale[1]-1)};var ag=[];rg.updateTransform=function(){var t=this.parent,e=t&&t.transform,n=this.needLocalTransform(),i=this.transform;if(!n&&!e)return void(i&&eg(i));i=i||Le(),n?this.getLocalTransform(i):eg(i),e&&(n?Be(i,t.transform,i):Ee(i,t.transform)),this.transform=i;var r=this.globalScaleRatio;if(null!=r&&1!==r){this.getGlobalScale(ag);var a=ag[0]<0?-1:1,o=ag[1]<0?-1:1,s=((ag[0]-a)*r+a)/ag[0]||0,l=((ag[1]-o)*r+o)/ag[1]||0;i[0]*=s,i[1]*=s,i[2]*=l,i[3]*=l}this.invTransform=this.invTransform||Le(),Fe(this.invTransform,i)},rg.getLocalTransform=function(t){return ig.getLocalTransform(this,t)},rg.setTransform=function(t){var e=this.transform,n=t.dpr||1;e?t.setTransform(n*e[0],n*e[1],n*e[2],n*e[3],n*e[4],n*e[5]):t.setTransform(n,0,0,n,0,0)},rg.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var og=[],sg=Le();rg.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=this.position,r=this.scale;He(e-1)&&(e=Math.sqrt(e)),He(n-1)&&(n=Math.sqrt(n)),t[0]<0&&(e=-e),t[3]<0&&(n=-n),i[0]=t[4],i[1]=t[5],r[0]=e,r[1]=n,this.rotation=Math.atan2(-t[1]/n,t[0]/e)}},rg.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(Be(og,t.invTransform,e),e=og);var n=this.origin;n&&(n[0]||n[1])&&(sg[4]=n[0],sg[5]=n[1],Be(og,e,sg),og[4]-=n[0],og[5]-=n[1],e=og),this.setLocalTransform(e)}},rg.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},rg.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&ae(n,n,i),n},rg.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&ae(n,n,i),n},ig.getLocalTransform=function(t,e){e=e||[],eg(e);var n=t.origin,i=t.scale||[1,1],r=t.rotation||0,a=t.position||[0,0];return n&&(e[4]-=n[0],e[5]-=n[1]),Ne(e,e,i),r&&Re(e,e,r),n&&(e[4]+=n[0],e[5]+=n[1]),e[4]+=a[0],e[5]+=a[1],e};var lg={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(-Math.pow(2,-10*(t-1))+2)},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||1>n?(n=1,e=i/4):e=i*Math.asin(1/n)/(2*Math.PI),-(n*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/i)))},elasticOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||1>n?(n=1,e=i/4):e=i*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin(2*(t-e)*Math.PI/i)+1)},elasticInOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||1>n?(n=1,e=i/4):e=i*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?-.5*n*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/i):n*Math.pow(2,-10*(t-=1))*Math.sin(2*(t-e)*Math.PI/i)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?.5*t*t*((e+1)*t-e):.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-lg.bounceOut(1-t)},bounceOut:function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return.5>t?.5*lg.bounceIn(2*t):.5*lg.bounceOut(2*t-1)+.5}};Ge.prototype={constructor:Ge,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)return void(this._pausedTime+=e);var n=(t-this._startTime-this._pausedTime)/this._life;if(!(0>n)){n=Math.min(n,1);var i=this.easing,r="string"==typeof i?lg[i]:i,a="function"==typeof r?r(n):n;return this.fire("frame",a),1===n?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){t="on"+t,this[t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var ug=function(){this.head=null,this.tail=null,this._len=0},hg=ug.prototype;hg.insert=function(t){var e=new cg(t);return this.insertEntry(e),e},hg.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},hg.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},hg.len=function(){return this._len},hg.clear=function(){this.head=this.tail=null,this._len=0};var cg=function(t){this.value=t,this.next,this.prev},dg=function(t){this._list=new ug,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},fg=dg.prototype;fg.put=function(t,e){var n=this._list,i=this._map,r=null;if(null==i[t]){var a=n.len(),o=this._lastRemovedEntry;if(a>=this._maxSize&&a>0){var s=n.head;n.remove(s),delete i[s.key],r=s.value,this._lastRemovedEntry=s}o?o.value=e:o=new cg(e),o.key=t,n.insertEntry(o),i[t]=o}return r},fg.get=function(t){var e=this._map[t],n=this._list;return null!=e?(e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value):void 0},fg.clear=function(){this._list.clear(),this._map={}};var pg={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},gg=new dg(20),vg=null,mg=an,yg=on,xg=(Object.freeze||Object)({parse:Je,lift:nn,toHex:rn,fastLerp:an,fastMapToColor:mg,lerp:on,mapToColor:yg,modifyHSL:sn,modifyAlpha:ln,stringify:un}),_g=Array.prototype.slice,wg=function(t,e,n,i){this._tracks={},this._target=t,this._loop=e||!1,this._getter=n||hn,this._setter=i||cn,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};wg.prototype={when:function(t,e){var n=this._tracks;for(var i in e)if(e.hasOwnProperty(i)){if(!n[i]){n[i]=[];var r=this._getter(this._target,i);if(null==r)continue;0!==t&&n[i].push({time:0,value:xn(r)})}n[i].push({time:t,value:e[i]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;tn;n++)t[n].call(this)},start:function(t,e){var n,i=this,r=0,a=function(){r--,r||i._doneCallback()};for(var o in this._tracks)if(this._tracks.hasOwnProperty(o)){var s=bn(this,t,a,this._tracks[o],o,e);s&&(this._clipList.push(s),r++,this.animation&&this.animation.addClip(s),n=s)}if(n){var l=n.onframe;n.onframe=function(t,e){l(t,e);for(var n=0;nl;l++)s&&(s=s[o[l]]);s&&(n=s)}else n=r;if(!n)return void Tg('Property "'+t+'" is not existed in element '+r.id);var c=r.animators,d=new wg(n,e);return d.during(function(){r.dirty(i)}).done(function(){c.splice(u(c,d),1)}),c.push(d),a&&a.animation.addAnimator(d),d},stopAnimation:function(t){for(var e=this.animators,n=e.length,i=0;n>i;i++)e[i].stop(t);return e.length=0,this},animateTo:function(t,e,n,i,r,a){Sn(this,t,e,n,i,r,a)},animateFrom:function(t,e,n,i,r,a){Sn(this,t,e,n,i,r,a,!0)}};var Dg=function(t){ig.call(this,t),Vp.call(this,t),Cg.call(this,t),this.id=t.id||vp()};Dg.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(t,e){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var n=this.transform;n||(n=this.transform=[1,0,0,1,0,0]),n[4]+=t,n[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var n=this[t];n||(n=this[t]=[]),n[0]=e[0],n[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(S(t))for(var n in t)t.hasOwnProperty(n)&&this.attrKV(n,t[n]);return this.dirty(!1),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var n=0;ni||n>s||l>a||r>u)},contain:function(t,e){var n=this;return t>=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},clone:function(){return new Tn(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},Tn.create=function(t){return new Tn(t.x,t.y,t.width,t.height)};var Lg=function(t){t=t||{},Dg.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};Lg.prototype={constructor:Lg,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,n=0;n=0&&(n.splice(i,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,n=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof Lg&&t.addChildrenToStorage(e)),n&&n.refresh()},remove:function(t){var e=this.__zr,n=this.__storage,i=this._children,r=u(i,t);return 0>r?this:(i.splice(r,1),t.parent=null,n&&(n.delFromStorage(t),t instanceof Lg&&t.delChildrenFromStorage(n)),e&&e.refresh(),this)},removeAll:function(){var t,e,n=this._children,i=this.__storage;for(e=0;ei;i++)this._updateAndAddDisplayable(e[i],null,t);n.length=this._displayListLen,yp.canvasSupported&&En(n,Bn)},_updateAndAddDisplayable:function(t,e,n){if(!t.ignore||n){t.beforeUpdate(),t.__dirty&&t.update(),t.afterUpdate();var i=t.clipPath;if(i){e=e?e.slice():[];for(var r=i,a=t;r;)r.parent=a,r.updateTransform(),e.push(r),a=r,r=r.clipPath}if(t.isGroup){for(var o=t._children,s=0;se;e++)this.delRoot(t[e]);else{var r=u(this._roots,t);r>=0&&(this.delFromStorage(t),this._roots.splice(r,1),t instanceof Lg&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:Bn};var zg={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},Rg=function(t,e,n){return zg.hasOwnProperty(e)?n*=t.dpr:n},Ng={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},Fg=9,Vg=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],Hg=function(t){this.extendFrom(t,!1)};Hg.prototype={constructor:Hg,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,n){var i=this,r=n&&n.style,a=!r||t.__attrCachedBy!==Ng.STYLE_BIND;t.__attrCachedBy=Ng.STYLE_BIND;for(var o=0;o0},extendFrom:function(t,e){if(t)for(var n in t)!t.hasOwnProperty(n)||e!==!0&&(e===!1?this.hasOwnProperty(n):null==t[n])||(this[n]=t[n])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,n){for(var i="radial"===e.type?Rn:zn,r=i(t,e,n),a=e.colorStops,o=0;o=0&&n.splice(i,1),t.__hoverMir=null},clearHover:function(){for(var t=this._hoverElements,e=0;er;){var a=t[r],o=a.__from;o&&o.__zr?(r++,o.invisible||(a.transform=o.transform,a.invTransform=o.invTransform,a.__clipPaths=o.__clipPaths,this._doPaintEl(a,n,!0,i))):(t.splice(r,1),o.__hoverMir=null,e--)}n.ctx.restore()}},getHoverLayer:function(){return this.getLayer(uv)},_paintList:function(t,e,n){if(this._redrawId===n){e=e||!1,this._updateLayerStatus(t);var i=this._doPaintList(t,e);if(this._needsManuallyCompositing&&this._compositeManually(),!i){var r=this;jg(function(){r._paintList(t,e,n)})}}},_compositeManually:function(){var t=this.getLayer(hv).ctx,e=this._domRoot.width,n=this._domRoot.height;t.clearRect(0,0,e,n),this.eachBuiltinLayer(function(i){i.virtual&&t.drawImage(i.dom,0,0,e,n)})},_doPaintList:function(t,e){for(var n=[],i=0;i15)break}}a.__drawIndex=v,a.__drawIndex0&&t>i[0]){for(o=0;r-1>o&&!(i[o]t);o++);a=n[i[o]]}if(i.splice(o+1,0,t),n[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)},eachLayer:function(t,e){var n,i,r=this._zlevelList;for(i=0;i0?cv:0),this._needsManuallyCompositing),s.__builtin__||Tg("ZLevel "+l+" has been used by unkown layer "+s.id),s!==a&&(s.__used=!0,s.__startIndex!==n&&(s.__dirty=!0),s.__startIndex=n,s.__drawIndex=s.incremental?-1:n,e(n),a=s),i.__dirty&&(s.__dirty=!0,s.incremental&&s.__drawIndex<0&&(s.__drawIndex=n))}e(n),this.eachBuiltinLayer(function(t){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var n=this._layerConfig;n[t]?r(n[t],e,!0):n[t]=e;for(var i=0;i=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),n=0;no;o++){var s=n[o],l=s.step(t,e);l&&(r.push(l),a.push(s))}for(var o=0;i>o;)n[o]._needsRemove?(n[o]=n[i-1],n.pop(),i--):o++;i=r.length;for(var o=0;i>o;o++)a[o].fire(r[o]);this._time=t,this.onframe(e),this.trigger("frame",e),this.stage.update&&this.stage.update()},_startLoop:function(){function t(){e._running&&(jg(t),!e._paused&&e._update())}var e=this;this._running=!0,jg(t)},start:function(){this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop()},stop:function(){this._running=!1},pause:function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)},resume:function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)},clear:function(){this._clips=[]},isFinished:function(){return!this._clips.length},animate:function(t,e){e=e||{};var n=new wg(t,e.loop,e.getter,e.setter);return this.addAnimator(n),n}},c(vv,Vp);var mv=300,yv=yp.domSupported,xv=function(){var t=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],e=["touchstart","touchend","touchmove"],n={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},i=p(t,function(t){var e=t.replace("mouse","pointer");return n.hasOwnProperty(e)?e:t});return{mouse:t,touch:e,pointer:i}}(),_v={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},wv=Vi.prototype;wv.stopPropagation=wv.stopImmediatePropagation=wv.preventDefault=V;var bv={mousedown:function(t){t=be(this.dom,t),this._mayPointerCapture=[t.zrX,t.zrY],this.trigger("mousedown",t)},mousemove:function(t){t=be(this.dom,t);var e=this._mayPointerCapture;!e||t.zrX===e[0]&&t.zrY===e[1]||Ui(this,!0),this.trigger("mousemove",t)},mouseup:function(t){t=be(this.dom,t),Ui(this,!1),this.trigger("mouseup",t)},mouseout:function(t){t=be(this.dom,t),this._pointerCapturing&&(t.zrEventControl="no_globalout");var e=t.toElement||t.relatedTarget;t.zrIsToLocalDOM=Fi(this,e),this.trigger("mouseout",t)},touchstart:function(t){t=be(this.dom,t),Ri(t),this._lastTouchMoment=new Date,this.handler.processGesture(t,"start"),bv.mousemove.call(this,t),bv.mousedown.call(this,t)},touchmove:function(t){t=be(this.dom,t),Ri(t),this.handler.processGesture(t,"change"),bv.mousemove.call(this,t)},touchend:function(t){t=be(this.dom,t),Ri(t),this.handler.processGesture(t,"end"),bv.mouseup.call(this,t),+new Date-this._lastTouchMoment=0||i&&u(i,o)<0)){var s=e.getShallow(o);null!=s&&(r[t[a][0]]=s)}}return r}},Hv=Vv([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),Gv={getLineStyle:function(t){var e=Hv(this,t);return e.lineDash=this.getLineDash(e.lineWidth),e},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),n=Math.max(t,2),i=4*t;return"solid"===e||null==e?!1:"dashed"===e?[i,i]:[n,n]}},Wv=Vv([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),Xv={getAreaStyle:function(t,e){return Wv(this,t,e)}},Uv=Math.pow,Yv=Math.sqrt,jv=1e-8,qv=1e-4,Zv=Yv(3),Kv=1/3,$v=H(),Qv=H(),Jv=H(),tm=Math.min,em=Math.max,nm=Math.sin,im=Math.cos,rm=2*Math.PI,am=H(),om=H(),sm=H(),lm=[],um=[],hm={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},cm=[],dm=[],fm=[],pm=[],gm=Math.min,vm=Math.max,mm=Math.cos,ym=Math.sin,xm=Math.sqrt,_m=Math.abs,wm="undefined"!=typeof Float32Array,bm=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};bm.prototype={constructor:bm,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e,n){n=n||0,this._ux=_m(n/Mg/t)||0,this._uy=_m(n/Mg/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(hm.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var n=_m(t-this._xi)>this._ux||_m(e-this._yi)>this._uy||this._len<5;return this.addData(hm.L,t,e),this._ctx&&n&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),n&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,n,i,r,a){return this.addData(hm.C,t,e,n,i,r,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,n,i,r,a):this._ctx.bezierCurveTo(t,e,n,i,r,a)),this._xi=r,this._yi=a,this},quadraticCurveTo:function(t,e,n,i){return this.addData(hm.Q,t,e,n,i),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,n,i):this._ctx.quadraticCurveTo(t,e,n,i)),this._xi=n,this._yi=i,this},arc:function(t,e,n,i,r,a){return this.addData(hm.A,t,e,n,n,i,r-i,0,a?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,a),this._xi=mm(r)*n+t,this._yi=ym(r)*n+e,this},arcTo:function(t,e,n,i,r){return this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},rect:function(t,e,n,i){return this._ctx&&this._ctx.rect(t,e,n,i),this.addData(hm.R,t,e,n,i),this},closePath:function(){this.addData(hm.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,n),t.closePath()),this._xi=e,this._yi=n,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,n=0;nn;n++)this.data[n]=t[n];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t.length,n=0,i=this._len,r=0;e>r;r++)n+=t[r].len();wm&&this.data instanceof Float32Array&&(this.data=new Float32Array(i+n));for(var r=0;e>r;r++)for(var a=t[r].data,o=0;oe.length&&(this._expandData(),e=this.data);for(var n=0;na&&(a=r+a),a%=r,f-=a*h,p-=a*c;h>0&&t>=f||0>h&&f>=t||0===h&&(c>0&&e>=p||0>c&&p>=e);)i=this._dashIdx,n=o[i],f+=h*n,p+=c*n,this._dashIdx=(i+1)%g,h>0&&l>f||0>h&&f>l||c>0&&u>p||0>c&&p>u||s[i%2?"moveTo":"lineTo"](h>=0?gm(f,t):vm(f,t),c>=0?gm(p,e):vm(p,e));h=f-t,c=p-e,this._dashOffset=-xm(h*h+c*c)},_dashedBezierTo:function(t,e,n,i,r,a){var o,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,v=this._yi,m=Sr,y=0,x=this._dashIdx,_=f.length,w=0;for(0>d&&(d=c+d),d%=c,o=0;1>o;o+=.1)s=m(g,t,n,r,o+.1)-m(g,t,n,r,o),l=m(v,e,i,a,o+.1)-m(v,e,i,a,o),y+=xm(s*s+l*l);for(;_>x&&(w+=f[x],!(w>d));x++);for(o=(w-d)/y;1>=o;)u=m(g,t,n,r,o),h=m(v,e,i,a,o),x%2?p.moveTo(u,h):p.lineTo(u,h),o+=f[x]/y,x=(x+1)%_;x%2!==0&&p.lineTo(r,a),s=r-u,l=a-h,this._dashOffset=-xm(s*s+l*l)},_dashedQuadraticTo:function(t,e,n,i){var r=n,a=i;n=(n+2*t)/3,i=(i+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,n,i,r,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,wm&&(this.data=new Float32Array(t)))},getBoundingRect:function(){cm[0]=cm[1]=fm[0]=fm[1]=Number.MAX_VALUE,dm[0]=dm[1]=pm[0]=pm[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,n=0,i=0,r=0,a=0;ac;){var d=s[c++];switch(1===c&&(i=s[c],r=s[c+1],e=i,n=r),d){case hm.M:e=i=s[c++],n=r=s[c++],t.moveTo(i,r);break;case hm.L:a=s[c++],o=s[c++],(_m(a-i)>l||_m(o-r)>u||c===h-1)&&(t.lineTo(a,o),i=a,r=o);break;case hm.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),i=s[c-2],r=s[c-1];break;case hm.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),i=s[c-2],r=s[c-1];break;case hm.A:var f=s[c++],p=s[c++],g=s[c++],v=s[c++],m=s[c++],y=s[c++],x=s[c++],_=s[c++],w=g>v?g:v,b=g>v?1:g/v,S=g>v?v/g:1,M=Math.abs(g-v)>.001,I=m+y;M?(t.translate(f,p),t.rotate(x),t.scale(b,S),t.arc(0,0,w,m,I,1-_),t.scale(1/b,1/S),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,m,I,1-_),1===c&&(e=mm(m)*g+f,n=ym(m)*v+p),i=mm(I)*g+f,r=ym(I)*v+p;break;case hm.R:e=i=s[c],n=r=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case hm.Z:t.closePath(),i=e,r=n}}}},bm.CMD=hm;var Sm=2*Math.PI,Mm=2*Math.PI,Im=bm.CMD,Tm=2*Math.PI,Cm=1e-4,Dm=[-1,-1,-1],Am=[-1,-1],km=Ug.prototype.getCanvasPattern,Pm=Math.abs,Lm=new bm(!0);ta.prototype={constructor:ta,type:"path",__dirtyPath:!0,strokeContainThreshold:5,segmentIgnoreThreshold:0,subPixelOptimize:!1,brush:function(t,e){var n=this.style,i=this.path||Lm,r=n.hasStroke(),a=n.hasFill(),o=n.fill,s=n.stroke,l=a&&!!o.colorStops,u=r&&!!s.colorStops,h=a&&!!o.image,c=r&&!!s.image;if(n.bind(t,this,e),this.setTransform(t),this.__dirty){var d;l&&(d=d||this.getBoundingRect(),this._fillGradient=n.getGradient(t,o,d)),u&&(d=d||this.getBoundingRect(),this._strokeGradient=n.getGradient(t,s,d))}l?t.fillStyle=this._fillGradient:h&&(t.fillStyle=km.call(o,t)),u?t.strokeStyle=this._strokeGradient:c&&(t.strokeStyle=km.call(s,t));var f=n.lineDash,p=n.lineDashOffset,g=!!t.setLineDash,v=this.getGlobalScale();if(i.setScale(v[0],v[1],this.segmentIgnoreThreshold),this.__dirtyPath||f&&!g&&r?(i.beginPath(t),f&&!g&&(i.setLineDash(f),i.setLineDashOffset(p)),this.buildPath(i,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),a)if(null!=n.fillOpacity){var m=t.globalAlpha;t.globalAlpha=n.fillOpacity*n.opacity,i.fill(t),t.globalAlpha=m}else i.fill(t);if(f&&g&&(t.setLineDash(f),t.lineDashOffset=p),r)if(null!=n.strokeOpacity){var m=t.globalAlpha;t.globalAlpha=n.strokeOpacity*n.opacity,i.stroke(t),t.globalAlpha=m}else i.stroke(t);f&&g&&t.setLineDash([]),null!=n.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(){},createPathProxy:function(){this.path=new bm},getBoundingRect:function(){var t=this._rect,e=this.style,n=!t;if(n){var i=this.path;i||(i=this.path=new bm),this.__dirtyPath&&(i.beginPath(),this.buildPath(i,this.shape,!1)),t=i.getBoundingRect()}if(this._rect=t,e.hasStroke()){var r=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||n){r.copy(t);var a=e.lineWidth,o=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(a=Math.max(a,this.strokeContainThreshold||4)),o>1e-10&&(r.width+=a/o,r.height+=a/o,r.x-=a/o/2,r.y-=a/o/2)}return r}return t},contain:function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect(),r=this.style;if(t=n[0],e=n[1],i.contain(t,e)){var a=this.path.data;if(r.hasStroke()){var o=r.lineWidth,s=r.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(r.hasFill()||(o=Math.max(o,this.strokeContainThreshold)),Jr(a,o/s,t,e)))return!0}if(r.hasFill())return Qr(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):Ti.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var n=this.shape;if(n){if(S(t))for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);else n[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&Pm(t[0]-1)>1e-10&&Pm(t[3]-1)>1e-10?Math.sqrt(Pm(t[0]*t[3]-t[2]*t[1])):1}},ta.extend=function(t){var e=function(e){ta.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var n=t.shape;if(n){this.shape=this.shape||{};var i=this.shape;for(var r in n)!i.hasOwnProperty(r)&&n.hasOwnProperty(r)&&(i[r]=n[r])}t.init&&t.init.call(this,e)};h(e,ta);for(var n in t)"style"!==n&&"shape"!==n&&(e.prototype[n]=t[n]);return e},h(ta,Ti);var Om=bm.CMD,Em=[[],[],[]],Bm=Math.sqrt,zm=Math.atan2,Rm=function(t,e){var n,i,r,a,o,s,l=t.data,u=Om.M,h=Om.C,c=Om.L,d=Om.R,f=Om.A,p=Om.Q;for(r=0,a=0;ro;o++){var s=Em[o];s[0]=l[r++],s[1]=l[r++],ae(s,s,e),l[a++]=s[0],l[a++]=s[1]}}},Nm=Math.sqrt,Fm=Math.sin,Vm=Math.cos,Hm=Math.PI,Gm=function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},Wm=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(Gm(t)*Gm(e))},Xm=function(t,e){return(t[0]*e[1]=11?function(){var e,n=this.__clipPaths,i=this.style;if(n)for(var r=0;ra;a++)r+=ee(t[a-1],t[a]);var o=r/2;o=n>o?n:o;for(var a=0;o>a;a++){var s,l,u,h=a/(o-1)*(e?n:n-1),c=Math.floor(h),d=h-c,f=t[c%n];e?(s=t[(c-1+n)%n],l=t[(c+1)%n],u=t[(c+2)%n]):(s=t[0===c?c:c-1],l=t[c>n-2?n-1:c+1],u=t[c>n-3?n-1:c+2]);var p=d*d,g=d*p;i.push([sa(s[0],f[0],l[0],u[0],d,p,g),sa(s[1],f[1],l[1],u[1],d,p,g)])}return i},ty=function(t,e,n,i){var r,a,o,s,l=[],u=[],h=[],c=[];if(i){o=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;f>d;d++)oe(o,o,t[d]),se(s,s,t[d]);oe(o,o,i[0]),se(s,s,i[1])}for(var d=0,f=t.length;f>d;d++){var p=t[d];if(n)r=t[d?d-1:f-1],a=t[(d+1)%f];else{if(0===d||d===f-1){l.push(W(t[d]));continue}r=t[d-1],a=t[d+1]}j(u,a,r),J(u,u,e);var g=ee(p,r),v=ee(p,a),m=g+v;0!==m&&(g/=m,v/=m),J(h,u,-g),J(c,u,v);var y=U([],p,h),x=U([],p,c);i&&(se(y,y,o),oe(y,y,s),se(x,x,o),oe(x,x,s)),l.push(y),l.push(x)}return n&&l.push(l.shift()),l},ey=ta.extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(t,e){la(t,e,!0)}}),ny=ta.extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(t,e){la(t,e,!1)}}),iy=Math.round,ry={},ay=ta.extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(t,e){var n,i,r,a;this.subPixelOptimize?(ha(ry,e,this.style),n=ry.x,i=ry.y,r=ry.width,a=ry.height,ry.r=e.r,e=ry):(n=e.x,i=e.y,r=e.width,a=e.height),e.r?si(t,e):t.rect(n,i,r,a),t.closePath()}}),oy={},sy=ta.extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var n,i,r,a;this.subPixelOptimize?(ua(oy,e,this.style),n=oy.x1,i=oy.y1,r=oy.x2,a=oy.y2):(n=e.x1,i=e.y1,r=e.x2,a=e.y2);var o=e.percent;0!==o&&(t.moveTo(n,i),1>o&&(r=n*(1-o)+r*o,a=i*(1-o)+a*o),t.lineTo(r,a))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}}),ly=[],uy=ta.extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var n=e.x1,i=e.y1,r=e.x2,a=e.y2,o=e.cpx1,s=e.cpy1,l=e.cpx2,u=e.cpy2,h=e.percent;0!==h&&(t.moveTo(n,i),null==l||null==u?(1>h&&(Or(n,o,r,h,ly),o=ly[1],r=ly[2],Or(i,s,a,h,ly),s=ly[1],a=ly[2]),t.quadraticCurveTo(o,s,r,a)):(1>h&&(Cr(n,o,l,r,h,ly),o=ly[1],l=ly[2],r=ly[3],Cr(i,s,u,a,h,ly),s=ly[1],u=ly[2],a=ly[3]),t.bezierCurveTo(o,s,l,u,r,a)))},pointAt:function(t){return da(this.shape,t,!1)},tangentAt:function(t){var e=da(this.shape,t,!0);return te(e,e)}}),hy=ta.extend({type:"arc",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},style:{stroke:"#000",fill:null},buildPath:function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r,0),a=e.startAngle,o=e.endAngle,s=e.clockwise,l=Math.cos(a),u=Math.sin(a);
+t.moveTo(l*r+n,u*r+i),t.arc(n,i,r,a,o,!s)}}),cy=ta.extend({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var t=this.__dirtyPath,e=this.shape.paths,n=0;n"'])/g,Xy={"&":"&","<":"<",">":">",'"':""","'":"'"},Uy=["a","b","c","d","e","f","g"],Yy=function(t,e){return"{"+t+(null==e?"":e)+"}"},jy=$n,qy=(Object.freeze||Object)({addCommas:Ro,toCamelCase:No,normalizeCssArray:Gy,encodeHTML:Fo,formatTpl:Vo,formatTplSimple:Ho,getTooltipMarker:Go,formatTime:Xo,capitalFirst:Uo,truncateText:jy,getTextBoundingRect:Yo,getTextRect:jo,windowOpen:qo}),Zy=f,Ky=["left","right","top","bottom","width","height"],$y=[["width","left","right"],["height","top","bottom"]],Qy=Zo,Jy=(x(Zo,"vertical"),x(Zo,"horizontal"),{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}),tx=lr(),ex=fo.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,n,i){fo.call(this,t,e,n,i),this.uid=vo("ec_cpt_model")},init:function(t,e,n){this.mergeDefaultAndTheme(t,n)},mergeDefaultAndTheme:function(t,e){var n=this.layoutMode,i=n?Qo(t):{},a=e.getTheme();r(t,a.get(this.mainType)),r(t,this.getDefaultOption()),n&&$o(t,i,n)},mergeOption:function(t){r(this.option,t,!0);var e=this.layoutMode;e&&$o(this.option,t,e)},optionUpdated:function(){},getDefaultOption:function(){var t=tx(this);if(!t.defaultOption){for(var e=[],n=this.constructor;n;){var i=n.prototype.defaultOption;i&&e.push(i),n=n.superClass}for(var a={},o=e.length-1;o>=0;o--)a=r(a,e[o],!0);t.defaultOption=a}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});_r(ex,{registerWhenExtend:!0}),mo(ex),yo(ex,ts),c(ex,Jy);var nx="";"undefined"!=typeof navigator&&(nx=navigator.platform||"");var ix={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:nx.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},rx=lr(),ax={clearColorPalette:function(){rx(this).colorIdx=0,rx(this).colorNameMap={}},getColorFromPalette:function(t,e,n){e=e||this;var i=rx(e),r=i.colorIdx||0,a=i.colorNameMap=i.colorNameMap||{};if(a.hasOwnProperty(t))return a[t];var o=Ji(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=n&&s?es(s,n):o;if(l=l||o,l&&l.length){var u=l[r];return t&&(a[t]=u),i.colorIdx=(r+1)%l.length,u}}},ox="original",sx="arrayRows",lx="objectRows",ux="keyedColumns",hx="unknown",cx="typedArray",dx="column",fx="row";ns.seriesDataToSource=function(t){return new ns({data:t,sourceFormat:I(t)?cx:ox,fromDataset:!1})},mr(ns);var px={Must:1,Might:2,Not:3},gx=lr(),vx="\x00_ec_inner",mx=fo.extend({init:function(t,e,n,i){n=n||{},this.option=null,this._theme=new fo(n),this._optionManager=i},setOption:function(t,e){O(!(vx in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,n=this._optionManager;if(!t||"recreate"===t){var i=n.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(i)):ys.call(this,i),e=!0}if(("timeline"===t||"media"===t)&&this.restoreData(),!t||"recreate"===t||"timeline"===t){var r=n.getTimelineOption(this);r&&(this.mergeOption(r),e=!0)}if(!t||"recreate"===t||"media"===t){var a=n.getMediaOption(this,this._api);a.length&&f(a,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(t){function e(e,i){var r=Ji(t[e]),s=ir(a.get(e),r);rr(s),f(s,function(t){var n=t.option;S(n)&&(t.keyInfo.mainType=e,t.keyInfo.subType=_s(e,n,t.exist))});var l=xs(a,i);n[e]=[],a.set(e,[]),f(s,function(t,i){var r=t.exist,s=t.option;if(O(S(s)||r,"Empty component definition"),s){var u=ex.getClass(e,t.keyInfo.subType,!0);if(r&&r.constructor===u)r.name=t.keyInfo.name,r.mergeOption(s,this),r.optionUpdated(s,!1);else{var h=o({dependentModels:l,componentIndex:i},t.keyInfo);r=new u(s,this,this,h),o(r,h),r.init(s,this,this,h),r.optionUpdated(null,!0)}}else r.mergeOption({},this),r.optionUpdated({},!1);a.get(e)[i]=r,n[e][i]=r.option},this),"series"===e&&ws(this,a.get("series"))}var n=this.option,a=this._componentsMap,s=[];as(this),f(t,function(t,e){null!=t&&(ex.hasClass(e)?e&&s.push(e):n[e]=null==n[e]?i(t):r(n[e],t,!0))}),ex.topologicalTravel(s,ex.getAllClassMainTypes(),e,this),this._seriesIndicesMap=N(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=i(this.option);return f(t,function(e,n){if(ex.hasClass(n)){for(var e=Ji(e),i=e.length-1;i>=0;i--)or(e[i])&&e.splice(i,1);t[n]=e}}),delete t[vx],t},getTheme:function(){return this._theme},getComponent:function(t,e){var n=this._componentsMap.get(t);return n?n[e||0]:void 0},queryComponents:function(t){var e=t.mainType;if(!e)return[];var n=t.index,i=t.id,r=t.name,a=this._componentsMap.get(e);if(!a||!a.length)return[];var o;if(null!=n)_(n)||(n=[n]),o=v(p(n,function(t){return a[t]}),function(t){return!!t});else if(null!=i){var s=_(i);o=v(a,function(t){return s&&u(i,t.id)>=0||!s&&t.id===i})}else if(null!=r){var l=_(r);o=v(a,function(t){return l&&u(r,t.name)>=0||!l&&t.name===r})}else o=a.slice();return bs(o,t)},findComponents:function(t){function e(t){var e=r+"Index",n=r+"Id",i=r+"Name";return!t||null==t[e]&&null==t[n]&&null==t[i]?null:{mainType:r,index:t[e],id:t[n],name:t[i]}}function n(e){return t.filter?v(e,t.filter):e}var i=t.query,r=t.mainType,a=e(i),o=a?this.queryComponents(a):this._componentsMap.get(r);return n(bs(o,t))},eachComponent:function(t,e,n){var i=this._componentsMap;if("function"==typeof t)n=e,e=t,i.each(function(t,i){f(t,function(t,r){e.call(n,i,t,r)})});else if(b(t))f(i.get(t),e,n);else if(S(t)){var r=this.findComponents(t);f(r,e,n)}},getSeriesByName:function(t){var e=this._componentsMap.get("series");return v(e,function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(t){var e=this._componentsMap.get("series");return v(e,function(e){return e.subType===t})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(t,e){Ss(this),f(this._seriesIndices,function(n){var i=this._componentsMap.get("series")[n];t.call(e,i,n)},this)},eachRawSeries:function(t,e){f(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(t,e,n){Ss(this),f(this._seriesIndices,function(i){var r=this._componentsMap.get("series")[i];r.subType===t&&e.call(n,r,i)},this)},eachRawSeriesByType:function(t,e,n){return f(this.getSeriesByType(t),e,n)},isSeriesFiltered:function(t){return Ss(this),null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){Ss(this);var n=v(this._componentsMap.get("series"),t,e);ws(this,n)},restoreData:function(t){var e=this._componentsMap;ws(this,e.get("series"));var n=[];e.each(function(t,e){n.push(e)}),ex.topologicalTravel(n,ex.getAllClassMainTypes(),function(n){f(e.get(n),function(e){("series"!==n||!vs(e,t))&&e.restoreData()})})}});c(mx,ax);var yx=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"],xx={};Is.prototype={constructor:Is,create:function(t,e){var n=[];f(xx,function(i){var r=i.create(t,e);n=n.concat(r||[])}),this._coordinateSystems=n},update:function(t,e){f(this._coordinateSystems,function(n){n.update&&n.update(t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},Is.register=function(t,e){xx[t]=e},Is.get=function(t){return xx[t]};var _x=f,bx=i,Sx=p,Mx=r,Ix=/^(min|max)?(.+)$/;Ts.prototype={constructor:Ts,setOption:function(t,e){t&&f(Ji(t.series),function(t){t&&t.data&&I(t.data)&&B(t.data)}),t=bx(t);var n=this._optionBackup,i=Cs.call(this,t,e,!n);this._newBaseOption=i.baseOption,n?(Ps(n.baseOption,i.baseOption),i.timelineOptions.length&&(n.timelineOptions=i.timelineOptions),i.mediaList.length&&(n.mediaList=i.mediaList),i.mediaDefault&&(n.mediaDefault=i.mediaDefault)):this._optionBackup=i},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=Sx(e.timelineOptions,bx),this._mediaList=Sx(e.mediaList,bx),this._mediaDefault=bx(e.mediaDefault),this._currentMediaIndices=[],bx(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,n=this._timelineOptions;if(n.length){var i=t.getComponent("timeline");i&&(e=bx(n[i.getCurrentIndex()],!0))}return e},getMediaOption:function(){var t=this._api.getWidth(),e=this._api.getHeight(),n=this._mediaList,i=this._mediaDefault,r=[],a=[];if(!n.length&&!i)return a;for(var o=0,s=n.length;s>o;o++)Ds(n[o].query,t,e)&&r.push(o);return!r.length&&i&&(r=[-1]),r.length&&!ks(r,this._currentMediaIndices)&&(a=Sx(r,function(t){return bx(-1===t?i.option:n[t].option)})),this._currentMediaIndices=r,a}};var Tx=f,Cx=S,Dx=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"],Ax=function(t,e){Tx(Ns(t.series),function(t){Cx(t)&&Rs(t)});var n=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];e&&n.push("valueAxis","categoryAxis","logAxis","timeAxis"),Tx(n,function(e){Tx(Ns(t[e]),function(t){t&&(Bs(t,"axisLabel"),Bs(t.axisPointer,"label"))})}),Tx(Ns(t.parallel),function(t){var e=t&&t.parallelAxisDefault;Bs(e,"axisLabel"),Bs(e&&e.axisPointer,"label")}),Tx(Ns(t.calendar),function(t){Os(t,"itemStyle"),Bs(t,"dayLabel"),Bs(t,"monthLabel"),Bs(t,"yearLabel")}),Tx(Ns(t.radar),function(t){Bs(t,"name")}),Tx(Ns(t.geo),function(t){Cx(t)&&(zs(t),Tx(Ns(t.regions),function(t){zs(t)}))}),Tx(Ns(t.timeline),function(t){zs(t),Os(t,"label"),Os(t,"itemStyle"),Os(t,"controlStyle",!0);var e=t.data;_(e)&&f(e,function(t){S(t)&&(Os(t,"label"),Os(t,"itemStyle"))})}),Tx(Ns(t.toolbox),function(t){Os(t,"iconStyle"),Tx(t.feature,function(t){Os(t,"iconStyle")})}),Bs(Fs(t.axisPointer),"label"),Bs(Fs(t.tooltip).axisPointer,"label")},kx=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],Px=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],Lx=function(t,e){Ax(t,e),t.series=Ji(t.series),f(t.series,function(t){if(S(t)){var e=t.type;if("line"===e)null!=t.clipOverflow&&(t.clip=t.clipOverflow);else if("pie"===e||"gauge"===e)null!=t.clockWise&&(t.clockwise=t.clockWise);else if("gauge"===e){var n=Vs(t,"pointer.color");null!=n&&Hs(t,"itemStyle.color",n)}Gs(t)}}),t.dataRange&&(t.visualMap=t.dataRange),f(Px,function(e){var n=t[e];n&&(_(n)||(n=[n]),f(n,function(t){Gs(t)}))})},Ox=function(t){var e=N();t.eachSeries(function(t){var n=t.get("stack");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),a={stackResultDimension:r.getCalculationInfo("stackResultDimension"),stackedOverDimension:r.getCalculationInfo("stackedOverDimension"),stackedDimension:r.getCalculationInfo("stackedDimension"),stackedByDimension:r.getCalculationInfo("stackedByDimension"),isStackedByIndex:r.getCalculationInfo("isStackedByIndex"),data:r,seriesModel:t};if(!a.stackedDimension||!a.isStackedByIndex&&!a.stackedByDimension)return;i.length&&r.setCalculationInfo("stackedOnSeries",i[i.length-1].seriesModel),i.push(a)}}),e.each(Ws)},Ex=Xs.prototype;Ex.pure=!1,Ex.persistent=!0,Ex.getSource=function(){return this._source};var Bx={arrayRows_column:{pure:!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(t){return this._data[t+this._source.startIndex]},appendData:js},arrayRows_row:{pure:!0,count:function(){var t=this._data[0];return t?Math.max(0,t.length-this._source.startIndex):0},getItem:function(t){t+=this._source.startIndex;for(var e=[],n=this._data,i=0;i=1)&&(t=1),t}var n=this._upstream,i=t&&t.skip;if(this._dirty&&n){var r=this.context;r.data=r.outputData=n.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!i&&(a=this._plan(this.context));var o=e(this._modBy),s=this._modDataCount||0,l=e(t&&t.modBy),u=t&&t.modDataCount||0;(o!==l||s!==u)&&(a="reset");var h;(this._dirty||"reset"===a)&&(this._dirty=!1,h=nl(this,i)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(n?(pp&&O(null!=n._outputDueEnd),this._dueEnd=n._outputDueEnd):(pp&&O(!this._progress||this._count),this._dueEnd=this._count?this._count(this.context):1/0),this._progress){var d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(h||f>d)){var p=this._progress;if(_(p))for(var g=0;g=this._outputDueEnd),this._outputDueEnd=v}else this._dueIndex=this._outputDueEnd=null!=this._settedOutputEnd?this._settedOutputEnd:this._dueEnd;return this.unfinished()};var Hx=function(){function t(){return n>i?i++:null}function e(){var t=i%o*r+Math.ceil(i/o),e=i>=n?null:a>t?t:i;return i++,e}var n,i,r,a,o,s={reset:function(l,u,h,c){i=l,n=u,r=h,a=c,o=Math.ceil(a/r),s.next=r>1&&a>0?e:t}};return s}();Vx.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},Vx.unfinished=function(){return this._progress&&this._dueIndex":"",v=p+s.join(p||", ");return{renderMode:i,content:v,style:u}}function a(t){return{renderMode:i,content:Fo(Ro(t)),style:u}}var o=this;i=i||"html";var s="html"===i?"
":"\n",l="richText"===i,u={},h=0,c=this.getData(),d=c.mapDimension("defaultedTooltip",!0),p=d.length,v=this.getRawValue(t),m=_(v),y=c.getItemVisual(t,"color");S(y)&&y.colorStops&&(y=(y.colorStops[0]||{}).color),y=y||"transparent";var x=p>1||m&&!p?r(v):a(p?$s(c,t,d[0]):m?v[0]:v),w=x.content,b=o.seriesIndex+"at"+h,M=Go({color:y,type:"item",renderMode:i,markerId:b});u[b]=y,++h;var I=c.getName(t),T=this.name;ar(this)||(T=""),T=T?Fo(T)+(e?": ":s):"";var C="string"==typeof M?M:M.content,D=e?C+T+w:T+C+(I?Fo(I)+": "+w:w);return{html:D,markers:u}},isAnimationEnabled:function(){if(yp.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,n){var i=this.ecModel,r=ax.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});c(Wx,Fx),c(Wx,ax);var Xx=function(){this.group=new Lg,this.uid=vo("viewComponent")};Xx.prototype={constructor:Xx,init:function(){},render:function(){},dispose:function(){},filterForExposedEvent:null};var Ux=Xx.prototype;Ux.updateView=Ux.updateLayout=Ux.updateVisual=function(){},vr(Xx),_r(Xx,{registerWhenExtend:!0});var Yx=function(){var t=lr();return function(e){var n=t(e),i=e.pipelineContext,r=n.large,a=n.progressiveRender,o=n.large=i&&i.large,s=n.progressiveRender=i&&i.progressiveRender;return!!(r^o||a^s)&&"reset"}},jx=lr(),qx=Yx();cl.prototype={type:"chart",init:function(){},render:function(){},highlight:function(t,e,n,i){fl(t.getData(),i,"emphasis")},downplay:function(t,e,n,i){fl(t.getData(),i,"normal")},remove:function(){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var Zx=cl.prototype;Zx.updateView=Zx.updateLayout=Zx.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},vr(cl,["dispose"]),_r(cl,{registerWhenExtend:!0}),cl.markUpdateMethod=function(t,e){jx(t).updateMethod=e};var Kx={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},$x="\x00__throttleOriginMethod",Qx="\x00__throttleRate",Jx="\x00__throttleType",t_={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),i=(t.visualColorAccessPath||"itemStyle.color").split("."),r=t.get(i),a=!w(r)||r instanceof dy?null:r;(!r||a)&&(r=t.getColorFromPalette(t.name,null,e.getSeriesCount())),n.setVisual("color",r);var o=(t.visualBorderColorAccessPath||"itemStyle.borderColor").split("."),s=t.get(o);if(n.setVisual("borderColor",s),!e.isSeriesFiltered(t)){a&&n.each(function(e){n.setItemVisual(e,"color",a(t.getDataParams(e)))});var l=function(t,e){var n=t.getItemModel(e),r=n.get(i,!0),a=n.get(o,!0);null!=r&&t.setItemVisual(e,"color",r),null!=a&&t.setItemVisual(e,"borderColor",a)};return{dataEach:n.hasItemOption?l:null}}}},e_={legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}},n_=function(t,e){function n(t,e){if("string"!=typeof t)return t;var n=t;return f(e,function(t,e){n=n.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),n}function i(t){var e=o.get(t);if(null==e){for(var n=t.split("."),i=e_.aria,r=0;rs)){var d=r();l=d?n(i("general.withTitle"),{title:d}):i("general.withoutTitle");var p=[],g=s>1?"series.multiple.prefix":"series.single.prefix";l+=n(i(g),{seriesCount:s}),e.eachSeries(function(t,e){if(c>e){var r,o=t.get("name"),l="series."+(s>1?"multiple":"single")+".";r=i(o?l+"withName":l+"withoutName"),r=n(r,{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:a(t.subType)});var h=t.getData();window.data=h,r+=h.count()>u?n(i("data.partialData"),{displayCnt:u}):i("data.allData");
+for(var d=[],f=0;ff){var g=h.getName(f),v=$s(h,f);d.push(n(i(g?"data.withName":"data.withoutName"),{name:g,value:v}))}r+=d.join(i("data.separator.middle"))+i("data.separator.end"),p.push(r)}}),l+=p.join(i("series.multiple.separator.middle"))+i("series.multiple.separator.end"),t.setAttribute("aria-label",l)}}},i_=Math.PI,r_=function(t,e){e=e||{},s(e,{text:"loading",textColor:"#000",fontSize:"12px",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#c23531",spinnerRadius:10,lineWidth:5,zlevel:0});var n=new Lg,i=new ay({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});n.add(i);var r=e.fontSize+" sans-serif",a=new ay({style:{fill:"none",text:e.text,font:r,textPosition:"right",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});if(n.add(a),e.showSpinner){var o=new hy({shape:{startAngle:-i_/2,endAngle:-i_/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:"round",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001});o.animateShape(!0).when(1e3,{endAngle:3*i_/2}).start("circularInOut"),o.animateShape(!0).when(1e3,{startAngle:3*i_/2}).delay(300).start("circularInOut"),n.add(o)}return n.resize=function(){var n=Xn(e.text,r),s=e.showSpinner?e.spinnerRadius:0,l=(t.getWidth()-2*s-(e.showSpinner&&n?10:0)-n)/2-(e.showSpinner?0:n/2),u=t.getHeight()/2;e.showSpinner&&o.setShape({cx:l,cy:u}),a.setShape({x:l-s,y:u-s,width:2*s,height:2*s}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},n.resize(),n},a_=yl.prototype;a_.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each(function(t){var e=t.overallTask;e&&e.dirty()})},a_.getPerformArgs=function(t,e){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,r=!e&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex,a=r?n.step:null,o=i&&i.modDataCount,s=null!=o?Math.ceil(o/a):null;return{step:a,modBy:s,modDataCount:o}}},a_.getPipeline=function(t){return this._pipelineMap.get(t)},a_.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData(),r=i.count(),a=n.progressiveEnabled&&e.incrementalPrepareRender&&r>=n.threshold,o=t.get("large")&&r>=t.get("largeThreshold"),s="mod"===t.get("progressiveChunkMode")?r:null;t.pipelineContext=n.context={progressiveRender:a,modDataCount:s,large:o}},a_.restorePipelines=function(t){var e=this,n=e._pipelineMap=N();t.eachSeries(function(t){var i=t.getProgressive(),r=t.uid;n.set(r,{id:r,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),kl(e,t,t.dataTask)})},a_.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),n=this.api;f(this._allHandlers,function(i){var r=t.get(i.uid)||t.set(i.uid,[]);i.reset&&_l(this,i,r,e,n),i.overallReset&&wl(this,i,r,e,n)},this)},a_.prepareView=function(t,e,n,i){var r=t.renderTask,a=r.context;a.model=e,a.ecModel=n,a.api=i,r.__block=!t.incrementalPrepareRender,kl(this,e,r)},a_.performDataProcessorTasks=function(t,e){xl(this,this._dataProcessorHandlers,t,e,{block:!0})},a_.performVisualTasks=function(t,e,n){xl(this,this._visualHandlers,t,e,n)},a_.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},a_.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var o_=a_.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},s_=Dl(0);yl.wrapStageHandler=function(t,e){return w(t)&&(t={overallReset:t,seriesType:Pl(t)}),t.uid=vo("stageHandler"),e&&(t.visualType=e),t};var l_,u_={},h_={};Ll(u_,mx),Ll(h_,Ms),u_.eachSeriesByType=u_.eachRawSeriesByType=function(t){l_=t},u_.eachComponent=function(t){"series"===t.mainType&&t.subType&&(l_=t.subType)};var c_=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],d_={color:c_,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],c_]},f_="#eee",p_=function(){return{axisLine:{lineStyle:{color:f_}},axisTick:{lineStyle:{color:f_}},axisLabel:{textStyle:{color:f_}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:f_}}}},g_=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],v_={color:g_,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:f_},crossStyle:{color:f_},label:{color:"#000"}}},legend:{textStyle:{color:f_}},textStyle:{color:f_},title:{textStyle:{color:f_}},toolbox:{iconStyle:{normal:{borderColor:f_}}},dataZoom:{textStyle:{color:f_}},visualMap:{textStyle:{color:f_}},timeline:{lineStyle:{color:f_},itemStyle:{normal:{color:g_[1]}},label:{normal:{textStyle:{color:f_}}},controlStyle:{normal:{color:f_,borderColor:f_}}},timeAxis:p_(),logAxis:p_(),valueAxis:p_(),categoryAxis:p_(),line:{symbol:"circle"},graph:{color:g_},gauge:{title:{textStyle:{color:f_}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};v_.categoryAxis.splitLine.show=!1,ex.extend({type:"dataset",defaultOption:{seriesLayoutBy:dx,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){is(this)}}),Xx.extend({type:"dataset"});var m_=ta.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var n=.5522848,i=e.cx,r=e.cy,a=e.rx,o=e.ry,s=a*n,l=o*n;t.moveTo(i-a,r),t.bezierCurveTo(i-a,r-l,i-s,r-o,i,r-o),t.bezierCurveTo(i+s,r-o,i+a,r-l,i+a,r),t.bezierCurveTo(i+a,r+l,i+s,r+o,i,r+o),t.bezierCurveTo(i-s,r+o,i-a,r+l,i-a,r),t.closePath()}}),y_=/[\s,]+/;El.prototype.parse=function(t,e){e=e||{};var n=Ol(t);if(!n)throw new Error("Illegal svg");var i=new Lg;this._root=i;var r=n.getAttribute("viewBox")||"",a=parseFloat(n.getAttribute("width")||e.width),o=parseFloat(n.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(o)&&(o=null),Nl(n,i,null,!0);for(var s=n.firstChild;s;)this._parseNode(s,i),s=s.nextSibling;var l,u;if(r){var h=E(r).split(y_);h.length>=4&&(l={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(l&&null!=a&&null!=o&&(u=Gl(l,a,o),!e.ignoreViewBox)){var c=i;i=new Lg,i.add(c),c.scale=u.scale.slice(),c.position=u.position.slice()}return e.ignoreRootClip||null==a||null==o||i.setClipPath(new ay({shape:{x:0,y:0,width:a,height:o}})),{root:i,width:a,height:o,viewBoxRect:l,viewBoxTransform:u}},El.prototype._parseNode=function(t,e){var n=t.nodeName.toLowerCase();"defs"===n?this._isDefine=!0:"text"===n&&(this._isText=!0);var i;if(this._isDefine){var r=__[n];if(r){var a=r.call(this,t),o=t.getAttribute("id");o&&(this._defs[o]=a)}}else{var r=x_[n];r&&(i=r.call(this,t,e),e.add(i))}for(var s=t.firstChild;s;)1===s.nodeType&&this._parseNode(s,i),3===s.nodeType&&this._isText&&this._parseText(s,i),s=s.nextSibling;"defs"===n?this._isDefine=!1:"text"===n&&(this._isText=!1)},El.prototype._parseText=function(t,e){if(1===t.nodeType){var n=t.getAttribute("dx")||0,i=t.getAttribute("dy")||0;this._textX+=parseFloat(n),this._textY+=parseFloat(i)}var r=new jm({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});zl(e,r),Nl(t,r,this._defs);var a=r.style.fontSize;a&&9>a&&(r.style.fontSize=9,r.scale=r.scale||[1,1],r.scale[0]*=a/9,r.scale[1]*=a/9);var o=r.getBoundingRect();return this._textX+=o.width,e.add(r),r};var x_={g:function(t,e){var n=new Lg;return zl(e,n),Nl(t,n,this._defs),n},rect:function(t,e){var n=new ay;return zl(e,n),Nl(t,n,this._defs),n.setShape({x:parseFloat(t.getAttribute("x")||0),y:parseFloat(t.getAttribute("y")||0),width:parseFloat(t.getAttribute("width")||0),height:parseFloat(t.getAttribute("height")||0)}),n},circle:function(t,e){var n=new qm;return zl(e,n),Nl(t,n,this._defs),n.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),r:parseFloat(t.getAttribute("r")||0)}),n},line:function(t,e){var n=new sy;return zl(e,n),Nl(t,n,this._defs),n.setShape({x1:parseFloat(t.getAttribute("x1")||0),y1:parseFloat(t.getAttribute("y1")||0),x2:parseFloat(t.getAttribute("x2")||0),y2:parseFloat(t.getAttribute("y2")||0)}),n},ellipse:function(t,e){var n=new m_;return zl(e,n),Nl(t,n,this._defs),n.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),rx:parseFloat(t.getAttribute("rx")||0),ry:parseFloat(t.getAttribute("ry")||0)}),n},polygon:function(t,e){var n=t.getAttribute("points");n&&(n=Rl(n));var i=new ey({shape:{points:n||[]}});return zl(e,i),Nl(t,i,this._defs),i},polyline:function(t,e){var n=new ta;zl(e,n),Nl(t,n,this._defs);var i=t.getAttribute("points");i&&(i=Rl(i));var r=new ny({shape:{points:i||[]}});return r},image:function(t,e){var n=new Ci;return zl(e,n),Nl(t,n,this._defs),n.setStyle({image:t.getAttribute("xlink:href"),x:t.getAttribute("x"),y:t.getAttribute("y"),width:t.getAttribute("width"),height:t.getAttribute("height")}),n},text:function(t,e){var n=t.getAttribute("x")||0,i=t.getAttribute("y")||0,r=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0;this._textX=parseFloat(n)+parseFloat(r),this._textY=parseFloat(i)+parseFloat(a);var o=new Lg;return zl(e,o),Nl(t,o,this._defs),o},tspan:function(t,e){var n=t.getAttribute("x"),i=t.getAttribute("y");null!=n&&(this._textX=parseFloat(n)),null!=i&&(this._textY=parseFloat(i));var r=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0,o=new Lg;return zl(e,o),Nl(t,o,this._defs),this._textX+=r,this._textY+=a,o},path:function(t,e){var n=t.getAttribute("d")||"",i=ra(n);return zl(e,i),Nl(t,i,this._defs),i}},__={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||0,10),n=parseInt(t.getAttribute("y1")||0,10),i=parseInt(t.getAttribute("x2")||10,10),r=parseInt(t.getAttribute("y2")||0,10),a=new fy(e,n,i,r);return Bl(t,a),a},radialgradient:function(){}},w_={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-align":"textAlign","alignment-baseline":"textBaseline"},b_=/url\(\s*#(.*?)\)/,S_=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,M_=/([^\s:;]+)\s*:\s*([^:;]+)/g,I_=N(),T_={registerMap:function(t,e,n){var i;return _(e)?i=e:e.svg?i=[{type:"svg",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(n=e.specialAreas,e=e.geoJson),i=[{type:"geoJSON",source:e,specialAreas:n}]),f(i,function(t){var e=t.type;"geoJson"===e&&(e=t.type="geoJSON");var n=C_[e];pp&&O(n,"Illegal map type: "+e),n(t)}),I_.set(t,i)},retrieveMap:function(t){return I_.get(t)}},C_={geoJSON:function(t){var e=t.source;t.geoJSON=b(e)?"undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")():e},svg:function(t){t.svgXML=Ol(t.source)}},D_=O,A_=f,k_=w,P_=S,L_=ex.parseClassType,O_="4.9.0",E_={zrender:"4.3.2"},B_=1,z_=1e3,R_=800,N_=900,F_=5e3,V_=1e3,H_=1100,G_=2e3,W_=3e3,X_=3500,U_=4e3,Y_=5e3,j_={PROCESSOR:{FILTER:z_,SERIES_FILTER:R_,STATISTIC:F_},VISUAL:{LAYOUT:V_,PROGRESSIVE_LAYOUT:H_,GLOBAL:G_,CHART:W_,POST_CHART_LAYOUT:X_,COMPONENT:U_,BRUSH:Y_}},q_="__flagInMainProcess",Z_="__optionUpdated",K_=/^[a-zA-Z0-9_]+$/;Xl.prototype.on=Wl("on",!0),Xl.prototype.off=Wl("off",!0),Xl.prototype.one=Wl("one",!0),c(Xl,Vp);var $_=Ul.prototype;$_._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[Z_]){var e=this[Z_].silent;this[q_]=!0,jl(this),Q_.update.call(this),this[q_]=!1,this[Z_]=!1,$l.call(this,e),Ql.call(this,e)}else if(t.unfinished){var n=B_,i=this._model,r=this._api;t.unfinished=!1;do{var a=+new Date;t.performSeriesTasks(i),t.performDataProcessorTasks(i),Zl(this,i),t.performVisualTasks(i),ru(this,this._model,r,"remain"),n-=+new Date-a}while(n>0&&t.unfinished);t.unfinished||this._zr.flush()}}},$_.getDom=function(){return this._dom},$_.getZr=function(){return this._zr},$_.setOption=function(t,e,n){if(pp&&D_(!this[q_],"`setOption` should not be called during main process."),this._disposed)return void ou(this.id);var i;if(P_(e)&&(n=e.lazyUpdate,i=e.silent,e=e.notMerge),this[q_]=!0,!this._model||e){var r=new Ts(this._api),a=this._theme,o=this._model=new mx;o.scheduler=this._scheduler,o.init(null,null,a,r)}this._model.setOption(t,iw),n?(this[Z_]={silent:i},this[q_]=!1):(jl(this),Q_.update.call(this),this._zr.flush(),this[Z_]=!1,this[q_]=!1,$l.call(this,i),Ql.call(this,i))},$_.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},$_.getModel=function(){return this._model},$_.getOption=function(){return this._model&&this._model.getOption()},$_.getWidth=function(){return this._zr.getWidth()},$_.getHeight=function(){return this._zr.getHeight()},$_.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},$_.getRenderedCanvas=function(t){if(yp.canvasSupported){t=t||{},t.pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor");var e=this._zr;return e.painter.getRenderedCanvas(t)}},$_.getSvgDataURL=function(){if(yp.svgSupported){var t=this._zr,e=t.storage.getDisplayList();return f(e,function(t){t.stopAnimation(!0)}),t.painter.toDataURL()}},$_.getDataURL=function(t){if(this._disposed)return void ou(this.id);t=t||{};var e=t.excludeComponents,n=this._model,i=[],r=this;A_(e,function(t){n.eachComponent({mainType:t},function(t){var e=r._componentsMap[t.__viewId];e.group.ignore||(i.push(e),e.group.ignore=!0)})});var a="svg"===this._zr.painter.getType()?this.getSvgDataURL():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return A_(i,function(t){t.group.ignore=!1}),a},$_.getConnectedDataURL=function(t){if(this._disposed)return void ou(this.id);if(yp.canvasSupported){var e="svg"===t.type,n=this.group,r=Math.min,a=Math.max,o=1/0;if(uw[n]){var s=o,l=o,u=-o,h=-o,c=[],d=t&&t.pixelRatio||1;f(lw,function(o){if(o.group===n){var d=e?o.getZr().painter.getSvgDom().innerHTML:o.getRenderedCanvas(i(t)),f=o.getDom().getBoundingClientRect();s=r(f.left,s),l=r(f.top,l),u=a(f.right,u),h=a(f.bottom,h),c.push({dom:d,left:f.left,top:f.top})}}),s*=d,l*=d,u*=d,h*=d;var p=u-s,g=h-l,v=Ap(),m=qi(v,{renderer:e?"svg":"canvas"});if(m.resize({width:p,height:g}),e){var y="";return A_(c,function(t){var e=t.left-s,n=t.top-l;y+=''+t.dom+""}),m.painter.getSvgRoot().innerHTML=y,t.connectedBackgroundColor&&m.painter.setBackgroundColor(t.connectedBackgroundColor),m.refreshImmediately(),m.painter.toDataURL()}return t.connectedBackgroundColor&&m.add(new ay({shape:{x:0,y:0,width:p,height:g},style:{fill:t.connectedBackgroundColor}})),A_(c,function(t){var e=new Ci({style:{x:t.left*d-s,y:t.top*d-l,image:t.dom}});m.add(e)}),m.refreshImmediately(),v.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}},$_.convertToPixel=x(Yl,"convertToPixel"),$_.convertFromPixel=x(Yl,"convertFromPixel"),$_.containPixel=function(t,e){if(this._disposed)return void ou(this.id);var n,i=this._model;return t=ur(i,t),f(t,function(t,i){i.indexOf("Models")>=0&&f(t,function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n|=!!r.containPoint(e);else if("seriesModels"===i){var a=this._chartsMap[t.__viewId];a&&a.containPoint?n|=a.containPoint(e,t):pp&&console.warn(i+": "+(a?"The found component do not support containPoint.":"No view mapping to the found component."))}else pp&&console.warn(i+": containPoint is not supported")},this)},this),!!n},$_.getVisual=function(t,e){var n=this._model;t=ur(n,t,{defaultMainType:"series"});var i=t.seriesModel;pp&&(i||console.warn("There is no specified seires model"));var r=i.getData(),a=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?r.indexOfRawIndex(t.dataIndex):null;return null!=a?r.getItemVisual(a,e):r.getVisual(e)},$_.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},$_.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var Q_={prepareAndUpdate:function(t){jl(this),Q_.update.call(this,t)},update:function(t){var e=this._model,n=this._api,i=this._zr,r=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),r.create(e,n),a.performDataProcessorTasks(e,t),Zl(this,e),r.update(e,n),eu(e),a.performVisualTasks(e,t),nu(this,e,n,t);var o=e.get("backgroundColor")||"transparent";if(yp.canvasSupported)i.setBackgroundColor(o);else{var s=Je(o);o=un(s,"rgb"),0===s[3]&&(o="transparent")}au(e,n)}},updateTransform:function(t){var e=this._model,n=this,i=this._api;if(e){var r=[];e.eachComponent(function(a,o){var s=n.getViewOfComponentModel(o);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(o,e,i,t);l&&l.update&&r.push(s)}else r.push(s)});var a=N();e.eachSeries(function(r){var o=n._chartsMap[r.__viewId];if(o.updateTransform){var s=o.updateTransform(r,e,i,t);s&&s.update&&a.set(r.uid,1)}else a.set(r.uid,1)}),eu(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:a}),ru(n,e,i,t,a),au(e,this._api)}},updateView:function(t){var e=this._model;e&&(cl.markUpdateMethod(t,"updateView"),eu(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),nu(this,this._model,this._api,t),au(e,this._api))},updateVisual:function(t){Q_.update.call(this,t)},updateLayout:function(t){Q_.update.call(this,t)}};$_.resize=function(t){if(pp&&D_(!this[q_],"`resize` should not be called during main process."),this._disposed)return void ou(this.id);this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var n=e.resetOption("media"),i=t&&t.silent;this[q_]=!0,n&&jl(this),Q_.update.call(this),this[q_]=!1,$l.call(this,i),Ql.call(this,i)}},$_.showLoading=function(t,e){if(this._disposed)return void ou(this.id);if(P_(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),!sw[t])return void(pp&&console.warn("Loading effects "+t+" not exists."));var n=sw[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)},$_.hideLoading=function(){return this._disposed?void ou(this.id):(this._loadingFX&&this._zr.remove(this._loadingFX),void(this._loadingFX=null))},$_.makeActionFromEvent=function(t){var e=o({},t);return e.type=ew[t.type],e},$_.dispatchAction=function(t,e){if(this._disposed)return void ou(this.id);if(P_(e)||(e={silent:!!e}),tw[t.type]&&this._model){if(this[q_])return void this._pendingActions.push(t);Kl.call(this,t,e.silent),e.flush?this._zr.flush(!0):e.flush!==!1&&yp.browser.weChat&&this._throttledZrFlush(),$l.call(this,e.silent),Ql.call(this,e.silent)}},$_.appendData=function(t){if(this._disposed)return void ou(this.id);var e=t.seriesIndex,n=this.getModel(),i=n.getSeriesByIndex(e);pp&&D_(t.data&&i),i.appendData(t),this._scheduler.unfinished=!0},$_.on=Wl("on",!1),$_.off=Wl("off",!1),$_.one=Wl("one",!1);var J_=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];$_._initEvents=function(){A_(J_,function(t){var e=function(e){var n,i=this.getModel(),r=e.target,a="globalout"===t;if(a)n={};else if(r&&null!=r.dataIndex){var s=r.dataModel||i.getSeriesByIndex(r.seriesIndex);n=s&&s.getDataParams(r.dataIndex,r.dataType,r)||{}}else r&&r.eventData&&(n=o({},r.eventData));if(n){var l=n.componentType,u=n.componentIndex;("markLine"===l||"markPoint"===l||"markArea"===l)&&(l="series",u=n.seriesIndex);var h=l&&null!=u&&i.getComponent(l,u),c=h&&this["series"===h.mainType?"_chartsMap":"_componentsMap"][h.__viewId];pp&&(a||h&&c||console.warn("model or view can not be found by params")),n.event=e,n.type=t,this._ecEventProcessor.eventInfo={targetEl:r,packedEvent:n,model:h,view:c},this.trigger(t,n)}};e.zrEventfulCallAtLast=!0,this._zr.on(t,e,this)},this),A_(ew,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},$_.isDisposed=function(){return this._disposed},$_.clear=function(){return this._disposed?void ou(this.id):void this.setOption({series:[]},!0)},$_.dispose=function(){if(this._disposed)return void ou(this.id);this._disposed=!0,cr(this.getDom(),dw,"");var t=this._api,e=this._model;A_(this._componentsViews,function(n){n.dispose(e,t)}),A_(this._chartsViews,function(n){n.dispose(e,t)}),this._zr.dispose(),delete lw[this.id]},c(Ul,Vp),cu.prototype={constructor:cu,normalizeQuery:function(t){var e={},n={},i={};if(b(t)){var r=L_(t);e.mainType=r.main||null,e.subType=r.sub||null}else{var a=["Index","Name","Id"],o={name:1,dataIndex:1,dataType:1};f(t,function(t,r){for(var s=!1,l=0;l0&&h===r.length-u.length){var c=r.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}o.hasOwnProperty(r)&&(n[r]=t,s=!0),s||(i[r]=t)})}return{cptQuery:e,dataQuery:n,otherQuery:i}},filter:function(t,e){function n(t,e,n,i){return null==t[n]||e[i||n]===t[n]}var i=this.eventInfo;if(!i)return!0;var r=i.targetEl,a=i.packedEvent,o=i.model,s=i.view;if(!o||!s)return!0;var l=e.cptQuery,u=e.dataQuery;return n(l,o,"mainType")&&n(l,o,"subType")&&n(l,o,"index","componentIndex")&&n(l,o,"name")&&n(l,o,"id")&&n(u,a,"name")&&n(u,a,"dataIndex")&&n(u,a,"dataType")&&(!s.filterForExposedEvent||s.filterForExposedEvent(t,e.otherQuery,r,a))},afterTrigger:function(){this.eventInfo=null}};var tw={},ew={},nw=[],iw=[],rw=[],aw=[],ow={},sw={},lw={},uw={},hw=new Date-0,cw=new Date-0,dw="_echarts_instance_",fw=gu;Cu(G_,t_),_u(Lx),wu(N_,Ox),Au("default",r_),Su({type:"highlight",event:"highlight",update:"highlight"},V),Su({type:"downplay",event:"downplay",update:"downplay"},V),xu("light",d_),xu("dark",v_);var pw={};Nu.prototype={constructor:Nu,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t,e=this._old,n=this._new,i={},r={},a=[],o=[];for(Fu(e,i,a,"_oldKeyGetter",this),Fu(n,r,o,"_newKeyGetter",this),t=0;th;h++)this._add&&this._add(l[h]);else this._add&&this._add(l)}}}};var gw=N(["tooltip","label","itemName","itemId","seriesName"]),vw=S,mw="undefined",yw=-1,xw="e\x00\x00",_w={"float":typeof Float64Array===mw?Array:Float64Array,"int":typeof Int32Array===mw?Array:Int32Array,ordinal:Array,number:Array,time:Array},ww=typeof Uint32Array===mw?Array:Uint32Array,bw=typeof Int32Array===mw?Array:Int32Array,Sw=typeof Uint16Array===mw?Array:Uint16Array,Mw=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_rawData","_chunkSize","_chunkCount","_dimValueGetter","_count","_rawCount","_nameDimIdx","_idDimIdx"],Iw=["_extent","_approximateExtent","_rawExtent"],Tw=function(t,e){t=t||["x","y"];for(var n={},i=[],r={},a=0;ah;h++){var c=r[h];o[c]||(o[c]=rh()),i[c]||(i[c]=[]),qu(i,this._dimensionInfos[c],n,u,l),this._chunkCount=i[c].length}for(var d=new Array(a),f=s;l>f;f++){for(var p=f-s,g=Math.floor(f/n),v=f%n,m=0;a>m;m++){var c=r[m],y=this._dimValueGetterArrayRows(t[p]||d,c,p,m);i[c][g][v]=y;var x=o[c];yx[1]&&(x[1]=y)}e&&(this._nameList[f]=e[p])}this._rawCount=this._count=l,this._extent={},Zu(this)},Cw._initDataFromProvider=function(t,e){if(!(t>=e)){for(var n,i=this._chunkSize,r=this._rawData,a=this._storage,o=this.dimensions,s=o.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;s>p;p++){var g=o[p];c[g]||(c[g]=rh());var v=l[g];0===v.otherDims.itemName&&(n=this._nameDimIdx=p),0===v.otherDims.itemId&&(this._idDimIdx=p),a[g]||(a[g]=[]),qu(a,v,i,f,e),this._chunkCount=a[g].length}for(var m=new Array(s),y=t;e>y;y++){m=r.getItem(y,m);for(var x=Math.floor(y/i),_=y%i,w=0;s>w;w++){var g=o[w],b=a[g][x],S=this._dimValueGetter(m,g,y,w);b[_]=S;var M=c[g];SM[1]&&(M[1]=S)}if(!r.pure){var I=u[y];if(m&&null==I)if(null!=m.name)u[y]=I=m.name;else if(null!=n){var T=o[n],C=a[T][x];if(C){I=C[_];var D=l[T].ordinalMeta;D&&D.categories.length&&(I=D.categories[I])}}var A=null==m?null:m.id;null==A&&null!=I&&(d[I]=d[I]||0,A=I,d[I]>0&&(A+="__ec__"+d[I]),d[I]++),null!=A&&(h[y]=A)}}!r.persistent&&r.clean&&r.clean(),this._rawCount=this._count=e,this._extent={},Zu(this)}},Cw.count=function(){return this._count},Cw.getIndices=function(){var t,e=this._indices;if(e){var n=e.constructor,i=this._count;if(n===Array){t=new n(i);for(var r=0;i>r;r++)t[r]=e[r]}else t=new n(e.buffer,0,i)}else for(var n=Uu(this),t=new n(this.count()),r=0;r=0&&e=0&&ei;i++)n.push(this.get(t[i],e));return n},Cw.hasValue=function(t){for(var e=this._dimensionsSummary.dataDimsOnCoord,n=0,i=e.length;i>n;n++)if(isNaN(this.get(e[n],t)))return!1;return!0},Cw.getDataExtent=function(t){t=this.getDimension(t);var e=this._storage[t],n=rh();if(!e)return n;var i,r=this.count(),a=!this._indices;if(a)return this._rawExtent[t].slice();if(i=this._extent[t])return i.slice();i=n;for(var o=i[0],s=i[1],l=0;r>l;l++){var u=this._getFast(t,this.getRawIndex(l));o>u&&(o=u),u>s&&(s=u)}return i=[o,s],this._extent[t]=i,i},Cw.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},Cw.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},Cw.getCalculationInfo=function(t){return this._calculationInfo[t]},Cw.setCalculationInfo=function(t,e){vw(t)?o(this._calculationInfo,t):this._calculationInfo[t]=e},Cw.getSum=function(t){var e=this._storage[t],n=0;if(e)for(var i=0,r=this.count();r>i;i++){var a=this.get(t,i);isNaN(a)||(n+=a)}return n},Cw.getMedian=function(t){var e=[];this.each(t,function(t){isNaN(t)||e.push(t)});var n=[].concat(e).sort(function(t,e){return t-e}),i=this.count();return 0===i?0:i%2===1?n[(i-1)/2]:(n[i/2]+n[i/2-1])/2},Cw.rawIndexOf=function(t,e){var n=t&&this._invertedIndicesMap[t];if(pp&&!n)throw new Error("Do not supported yet");var i=n[e];return null==i||isNaN(i)?yw:i},Cw.indexOfName=function(t){for(var e=0,n=this.count();n>e;e++)if(this.getName(e)===t)return e;return-1},Cw.indexOfRawIndex=function(t){if(t>=this._rawCount||0>t)return-1;if(!this._indices)return t;var e=this._indices,n=e[t];if(null!=n&&n=i;){var a=(i+r)/2|0;if(e[a]t))return a;r=a-1}}return-1},Cw.indicesOfNearest=function(t,e,n){var i=this._storage,r=i[t],a=[];if(!r)return a;null==n&&(n=1/0);for(var o=1/0,s=-1,l=0,u=0,h=this.count();h>u;u++){var c=e-this.get(t,u),d=Math.abs(c);n>=d&&((o>d||d===o&&c>=0&&0>s)&&(o=d,s=c,l=0),c===s&&(a[l++]=u))}return a.length=l,a},Cw.getRawIndex=$u,Cw.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],n=0;no;o++)s[o]=this.get(t[o],a);s[o]=a,e.apply(n,s)}}},Cw.filterSelf=function(t,e,n,i){if(this._count){"function"==typeof t&&(i=n,n=e,e=t,t=[]),n=n||i||this,t=p(th(t),this.getDimension,this),pp&&eh(this,t);for(var r=this.count(),a=Uu(this),o=new a(r),s=[],l=t.length,u=0,h=t[0],c=0;r>c;c++){var d,f=this.getRawIndex(c);if(0===l)d=e.call(n,c);else if(1===l){var g=this._getFast(h,f);d=e.call(n,g,c)}else{for(var v=0;l>v;v++)s[v]=this._getFast(h,f);s[v]=c,d=e.apply(n,s)}d&&(o[u++]=f)}return r>u&&(this._indices=o),this._count=u,this._extent={},this.getRawIndex=this._indices?Qu:$u,this}},Cw.selectRange=function(t){if(this._count){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(n);pp&&eh(this,e);var i=e.length;if(i){var r=this.count(),a=Uu(this),o=new a(r),s=0,l=e[0],u=t[l][0],h=t[l][1],c=!1;if(!this._indices){var d=0;if(1===i){for(var f=this._storage[e[0]],p=0;pm;m++){var y=g[m];(y>=u&&h>=y||isNaN(y))&&(o[s++]=d),d++}c=!0}else if(2===i){for(var f=this._storage[l],x=this._storage[e[1]],_=t[e[1]][0],w=t[e[1]][1],p=0;pm;m++){var y=g[m],S=b[m];(y>=u&&h>=y||isNaN(y))&&(S>=_&&w>=S||isNaN(S))&&(o[s++]=d),d++}c=!0}}if(!c)if(1===i)for(var m=0;r>m;m++){var M=this.getRawIndex(m),y=this._getFast(l,M);(y>=u&&h>=y||isNaN(y))&&(o[s++]=M)}else for(var m=0;r>m;m++){for(var I=!0,M=this.getRawIndex(m),p=0;i>p;p++){var T=e[p],y=this._getFast(n,M);
+(yt[T][1])&&(I=!1)}I&&(o[s++]=this.getRawIndex(m))}return r>s&&(this._indices=o),this._count=s,this._extent={},this.getRawIndex=this._indices?Qu:$u,this}}},Cw.mapArray=function(t,e,n,i){"function"==typeof t&&(i=n,n=e,e=t,t=[]),n=n||i||this;var r=[];return this.each(t,function(){r.push(e&&e.apply(this,arguments))},n),r},Cw.map=function(t,e,n,i){n=n||i||this,t=p(th(t),this.getDimension,this),pp&&eh(this,t);var r=nh(this,t);r._indices=this._indices,r.getRawIndex=r._indices?Qu:$u;for(var a=r._storage,o=[],s=this._chunkSize,l=t.length,u=this.count(),h=[],c=r._rawExtent,d=0;u>d;d++){for(var f=0;l>f;f++)h[f]=this.get(t[f],d);h[l]=d;var g=e&&e.apply(n,h);if(null!=g){"object"!=typeof g&&(o[0]=g,g=o);for(var v=this.getRawIndex(d),m=Math.floor(v/s),y=v%s,x=0;xb[1]&&(b[1]=w)}}}return r},Cw.downSample=function(t,e,n,i){for(var r=nh(this,[t]),a=r._storage,o=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=r._rawExtent[t],d=new(Uu(this))(u),f=0,p=0;u>p;p+=s){s>u-p&&(s=u-p,o.length=s);for(var g=0;s>g;g++){var v=this.getRawIndex(p+g),m=Math.floor(v/h),y=v%h;o[g]=l[m][y]}var x=n(o),_=this.getRawIndex(Math.min(p+i(o,x)||0,u-1)),w=Math.floor(_/h),b=_%h;l[w][b]=x,xc[1]&&(c[1]=x),d[f++]=_}return r._count=f,r._indices=d,r.getRawIndex=Qu,r},Cw.getItemModel=function(t){var e=this.hostModel;return new fo(this.getRawDataItem(t),e,e&&e.ecModel)},Cw.diff=function(t){var e=this;return new Nu(t?t.getIndices():[],this.getIndices(),function(e){return Ju(t,e)},function(t){return Ju(e,t)})},Cw.getVisual=function(t){var e=this._visual;return e&&e[t]},Cw.setVisual=function(t,e){if(vw(t))for(var n in t)t.hasOwnProperty(n)&&this.setVisual(n,t[n]);else this._visual=this._visual||{},this._visual[t]=e},Cw.setLayout=function(t,e){if(vw(t))for(var n in t)t.hasOwnProperty(n)&&this.setLayout(n,t[n]);else this._layout[t]=e},Cw.getLayout=function(t){return this._layout[t]},Cw.getItemLayout=function(t){return this._itemLayouts[t]},Cw.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?o(this._itemLayouts[t]||{},e):e},Cw.clearItemLayouts=function(){this._itemLayouts.length=0},Cw.getItemVisual=function(t,e,n){var i=this._itemVisuals[t],r=i&&i[e];return null!=r||n?r:this.getVisual(e)},Cw.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{},r=this.hasItemVisual;if(this._itemVisuals[t]=i,vw(e))for(var a in e)e.hasOwnProperty(a)&&(i[a]=e[a],r[a]=!0);else i[e]=n,r[e]=!0},Cw.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var Dw=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};Cw.setItemGraphicEl=function(t,e){var n=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=n&&n.seriesIndex,"group"===e.type&&e.traverse(Dw,e)),this._graphicEls[t]=e},Cw.getItemGraphicEl=function(t){return this._graphicEls[t]},Cw.eachItemGraphicEl=function(t,e){f(this._graphicEls,function(n,i){n&&t&&t.call(e,n,i)})},Cw.cloneShallow=function(t){if(!t){var e=p(this.dimensions,this.getDimensionInfo,this);t=new Tw(e,this.hostModel)}if(t._storage=this._storage,ju(t,this),this._indices){var n=this._indices.constructor;t._indices=new n(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?Qu:$u,t},Cw.wrapMethod=function(t,e){var n=this[t];"function"==typeof n&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(P(arguments)))})},Cw.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],Cw.CHANGABLE_METHODS=["filterSelf","selectRange"];var Aw=function(t,e){return e=e||{},ah(e.coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,encodeDefaulter:e.encodeDefaulter,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})},kw={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents("xAxis")[0],a=t.getReferringComponents("yAxis")[0];if(pp){if(!r)throw new Error('xAxis "'+D(t.get("xAxisIndex"),t.get("xAxisId"),0)+'" not found');if(!a)throw new Error('yAxis "'+D(t.get("xAxisIndex"),t.get("yAxisId"),0)+'" not found')}e.coordSysDims=["x","y"],n.set("x",r),n.set("y",a),hh(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),hh(a)&&(i.set("y",a),null==e.firstCategoryDimIndex&(e.firstCategoryDimIndex=1))},singleAxis:function(t,e,n,i){var r=t.getReferringComponents("singleAxis")[0];if(pp&&!r)throw new Error("singleAxis should be specified.");e.coordSysDims=["single"],n.set("single",r),hh(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents("polar")[0],a=r.findAxisModel("radiusAxis"),o=r.findAxisModel("angleAxis");if(pp){if(!o)throw new Error("angleAxis option not found");if(!a)throw new Error("radiusAxis option not found")}e.coordSysDims=["radius","angle"],n.set("radius",a),n.set("angle",o),hh(a)&&(i.set("radius",a),e.firstCategoryDimIndex=0),hh(o)&&(i.set("angle",o),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},geo:function(t,e){e.coordSysDims=["lng","lat"]},parallel:function(t,e,n,i){var r=t.ecModel,a=r.getComponent("parallel",t.get("parallelIndex")),o=e.coordSysDims=a.dimensions.slice();f(a.parallelAxisIndex,function(t,a){var s=r.getComponent("parallelAxis",t),l=o[a];n.set(l,s),hh(s)&&null==e.firstCategoryDimIndex&&(i.set(l,s),e.firstCategoryDimIndex=a)})}};mh.prototype.parse=function(t){return t},mh.prototype.getSetting=function(t){return this._setting[t]},mh.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},mh.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},mh.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},mh.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1])},mh.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},mh.prototype.getExtent=function(){return this._extent.slice()},mh.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},mh.prototype.isBlank=function(){return this._isBlank},mh.prototype.setBlank=function(t){this._isBlank=t},mh.prototype.getLabel=null,vr(mh),_r(mh,{registerWhenExtend:!0}),yh.createByAxisModel=function(t){var e=t.option,n=e.data,i=n&&p(n,_h);return new yh({categories:i,needCollect:!i,deduplication:e.dedplication!==!1})};var Pw=yh.prototype;Pw.getOrdinal=function(t){return xh(this).get(t)},Pw.parseAndCollect=function(t){var e,n=this._needCollect;if("string"!=typeof t&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=xh(this);return e=i.get(t),null==e&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=0/0),e};var Lw=mh.prototype,Ow=mh.extend({type:"ordinal",init:function(t,e){(!t||_(t))&&(t=new yh({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),Lw.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return Lw.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(Lw.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push(n),n++;return t},getLabel:function(t){return this.isBlank()?void 0:this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:V,niceExtent:V});Ow.create=function(){return new Ow};var Ew=bo,Bw=bo,zw=mh.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),zw.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=bh(t)},getTicks:function(t){var e=this._interval,n=this._extent,i=this._niceExtent,r=this._intervalPrecision,a=[];if(!e)return a;var o=1e4;n[0]o)return[];var l=a.length?a[a.length-1]:i[1];return n[1]>l&&a.push(t?Bw(l+e,r):n[1]),a},getMinorTicks:function(t){for(var e=this.getTicks(!0),n=[],i=this.getExtent(),r=1;rs;){var c=bo(o+(s+1)*h);c>i[0]&&cr&&(r=-r,i.reverse());var a=wh(i,t,e,n);this._intervalPrecision=a.intervalPrecision,this._interval=a.interval,this._niceExtent=a.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var n=e[0];t.fixMax?e[0]-=n/2:(e[1]+=n/2,e[0]-=n/2)}else e[1]=1;var i=e[1]-e[0];isFinite(i)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var r=this._interval;t.fixMin||(e[0]=Bw(Math.floor(e[0]/r)*r)),t.fixMax||(e[1]=Bw(Math.ceil(e[1]/r)*r))}});zw.create=function(){return new zw};var Rw="__ec_stack_",Nw=.5,Fw="undefined"!=typeof Float32Array?Float32Array:Array,Vw={seriesType:"bar",plan:Yx(),reset:function(t){function e(t,e){for(var n,d=t.count,f=new Fw(2*d),p=new Fw(2*d),g=new Fw(d),v=[],m=[],y=0,x=0;null!=(n=t.next());)m[h]=e.get(s,n),m[1-h]=e.get(l,n),v=i.dataToPoint(m,null,v),p[y]=u?r.x+r.width:v[0],f[y++]=v[0],p[y]=u?v[1]:r.y+r.height,f[y++]=v[1],g[x++]=n;e.setLayout({largePoints:f,largeDataIndices:g,largeBackgroundPoints:p,barWidth:c,valueAxisStart:Bh(a,o,!1),backgroundStart:u?r.x:r.y,valueAxisHorizontal:u})}if(Oh(t)&&Eh(t)){var n=t.getData(),i=t.coordinateSystem,r=i.grid.getRect(),a=i.getBaseAxis(),o=i.getOtherAxis(a),s=n.mapDimension(o.dim),l=n.mapDimension(a.dim),u=o.isHorizontal(),h=u?0:1,c=Ph(Ah([t]),a,t).width;return c>Nw||(c=Nw),{progress:e}}}},Hw=zw.prototype,Gw=Math.ceil,Ww=Math.floor,Xw=1e3,Uw=60*Xw,Yw=60*Uw,jw=24*Yw,qw=function(t,e,n,i){for(;i>n;){var r=n+i>>>1;t[r][1]a&&(a=e),null!=n&&a>n&&(a=n);var o=Kw.length,s=qw(Kw,a,0,o),l=Kw[Math.min(s,o-1)],u=l[1];if("year"===l[0]){var h=r/u,c=Oo(h/t,!0);u*=c}var d=this.getSetting("useUTC")?0:60*new Date(+i[0]||+i[1]).getTimezoneOffset()*1e3,f=[Math.round(Gw((i[0]-d)/u)*u+d),Math.round(Ww((i[1]-d)/u)*u+d)];Mh(f,i),this._stepLvl=l,this._interval=u,this._niceExtent=f},parse:function(t){return+ko(t)}});f(["contain","normalize"],function(t){Zw.prototype[t]=function(e){return Hw[t].call(this,this.parse(e))}});var Kw=[["hh:mm:ss",Xw],["hh:mm:ss",5*Xw],["hh:mm:ss",10*Xw],["hh:mm:ss",15*Xw],["hh:mm:ss",30*Xw],["hh:mm\nMM-dd",Uw],["hh:mm\nMM-dd",5*Uw],["hh:mm\nMM-dd",10*Uw],["hh:mm\nMM-dd",15*Uw],["hh:mm\nMM-dd",30*Uw],["hh:mm\nMM-dd",Yw],["hh:mm\nMM-dd",2*Yw],["hh:mm\nMM-dd",6*Yw],["hh:mm\nMM-dd",12*Yw],["MM-dd\nyyyy",jw],["MM-dd\nyyyy",2*jw],["MM-dd\nyyyy",3*jw],["MM-dd\nyyyy",4*jw],["MM-dd\nyyyy",5*jw],["MM-dd\nyyyy",6*jw],["week",7*jw],["MM-dd\nyyyy",10*jw],["week",14*jw],["week",21*jw],["month",31*jw],["week",42*jw],["month",62*jw],["week",70*jw],["quarter",95*jw],["month",31*jw*4],["month",31*jw*5],["half-year",380*jw/2],["month",31*jw*8],["month",31*jw*10],["year",380*jw]];Zw.create=function(t){return new Zw({useUTC:t.ecModel.get("useUTC")})};var $w=mh.prototype,Qw=zw.prototype,Jw=Io,tb=bo,eb=Math.floor,nb=Math.ceil,ib=Math.pow,rb=Math.log,ab=mh.extend({type:"log",base:10,$constructor:function(){mh.apply(this,arguments),this._originalScale=new zw},getTicks:function(t){var e=this._originalScale,n=this._extent,i=e.getExtent();return p(Qw.getTicks.call(this,t),function(t){var r=bo(ib(this.base,t));return r=t===n[0]&&e.__fixMin?zh(r,i[0]):r,r=t===n[1]&&e.__fixMax?zh(r,i[1]):r},this)},getMinorTicks:Qw.getMinorTicks,getLabel:Qw.getLabel,scale:function(t){return t=$w.scale.call(this,t),ib(this.base,t)},setExtent:function(t,e){var n=this.base;t=rb(t)/rb(n),e=rb(e)/rb(n),Qw.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=$w.getExtent.call(this);e[0]=ib(t,e[0]),e[1]=ib(t,e[1]);var n=this._originalScale,i=n.getExtent();return n.__fixMin&&(e[0]=zh(e[0],i[0])),n.__fixMax&&(e[1]=zh(e[1],i[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=rb(t[0])/rb(e),t[1]=rb(t[1])/rb(e),$w.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(1/0===n||0>=n)){var i=Po(n),r=t/n*i;for(.5>=r&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var a=[bo(nb(e[0]/i)*i),bo(eb(e[1]/i)*i)];this._interval=i,this._niceExtent=a}},niceExtent:function(t){Qw.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});f(["contain","normalize"],function(t){ab.prototype[t]=function(e){return e=rb(e)/rb(this.base),$w[t].call(this,e)}}),ab.create=function(){return new ab};var ob={getMin:function(t){var e=this.option,n=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=n&&"dataMin"!==n&&"function"!=typeof n&&!C(n)&&(n=this.axis.scale.parse(n)),n},getMax:function(t){var e=this.option,n=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=n&&"dataMax"!==n&&"function"!=typeof n&&!C(n)&&(n=this.axis.scale.parse(n)),n},getNeedCrossZero:function(){var t=this.option;return null!=t.rangeStart||null!=t.rangeEnd?!1:!t.scale},getCoordSysModel:V,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},sb=pa({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=e.width/2,a=e.height/2;t.moveTo(n,i-a),t.lineTo(n+r,i+a),t.lineTo(n-r,i+a),t.closePath()}}),lb=pa({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=e.width/2,a=e.height/2;t.moveTo(n,i-a),t.lineTo(n+r,i),t.lineTo(n,i+a),t.lineTo(n-r,i),t.closePath()}}),ub=pa({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var n=e.x,i=e.y,r=e.width/5*3,a=Math.max(r,e.height),o=r/2,s=o*o/(a-o),l=i-a+o+s,u=Math.asin(s/o),h=Math.cos(u)*o,c=Math.sin(u),d=Math.cos(u),f=.6*o,p=.7*o;t.moveTo(n-h,l+s),t.arc(n,l,o,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(n+h-c*f,l+s+d*f,n,i-p,n,i),t.bezierCurveTo(n,i-p,n-h+c*f,l+s+d*f,n-h,l+s),t.closePath()}}),hb=pa({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var n=e.height,i=e.width,r=e.x,a=e.y,o=i/3*2;t.moveTo(r,a),t.lineTo(r+o,a+n),t.lineTo(r,a+n/4*3),t.lineTo(r-o,a+n),t.lineTo(r,a),t.closePath()}}),cb={line:sy,rect:ay,roundRect:ay,square:ay,circle:qm,diamond:lb,pin:ub,arrow:hb,triangle:sb},db={line:function(t,e,n,i,r){r.x1=t,r.y1=e+i/2,r.x2=t+n,r.y2=e+i/2},rect:function(t,e,n,i,r){r.x=t,r.y=e,r.width=n,r.height=i},roundRect:function(t,e,n,i,r){r.x=t,r.y=e,r.width=n,r.height=i,r.r=Math.min(n,i)/4},square:function(t,e,n,i,r){var a=Math.min(n,i);r.x=t,r.y=e,r.width=a,r.height=a},circle:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.r=Math.min(n,i)/2},diamond:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.width=n,r.height=i},pin:function(t,e,n,i,r){r.x=t+n/2,r.y=e+i/2,r.width=n,r.height=i},arrow:function(t,e,n,i,r){r.x=t+n/2,r.y=e+i/2,r.width=n,r.height=i},triangle:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.width=n,r.height=i}},fb={};f(cb,function(t,e){fb[e]=new t});var pb=pa({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(t,e,n){var i=Kn(t,e,n),r=this.shape;return r&&"pin"===r.symbolType&&"inside"===e.textPosition&&(i.y=n.y+.4*n.height),i},buildPath:function(t,e,n){var i=e.symbolType;if("none"!==i){var r=fb[i];r||(i="rect",r=fb[i]),db[i](e.x,e.y,e.width,e.height,r.shape),r.buildPath(t,r.shape,n)}}}),gb={isDimensionStacked:dh,enableDataStack:ch,getStackedDimension:fh},vb=(Object.freeze||Object)({createList:Kh,getLayoutRect:Ko,dataStack:gb,createScale:$h,mixinAxisModelCommonMethods:Qh,completeDimensions:ah,createDimensions:Aw,createSymbol:Zh}),mb=1e-8;ec.prototype={constructor:ec,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,n=[e,e],i=[-e,-e],r=[],a=[],o=this.geometries,s=0;si;i++)if("polygon"===n[i].type){var a=n[i].exterior,o=n[i].interiors;if(tc(a,t[0],t[1])){for(var s=0;s<(o?o.length:0);s++)if(tc(o[s]))continue t;return!0}}return!1},transformTo:function(t,e,n,i){var r=this.getBoundingRect(),a=r.width/r.height;n?i||(i=n/a):n=a*i;for(var o=new Tn(t,e,n,i),s=r.calculateTransform(o),l=this.geometries,u=0;u0}),function(t){var n=t.properties,i=t.geometry,r=i.coordinates,a=[];"Polygon"===i.type&&a.push({type:"polygon",exterior:r[0],interiors:r.slice(1)}),"MultiPolygon"===i.type&&f(r,function(t){t[0]&&a.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var o=new ec(n[e||"name"],a,n.cp);return o.properties=n,o})},xb=lr(),_b=[0,1],wb=function(t,e,n){this.dim=t,this.scale=e,this._extent=n||[0,0],this.inverse=!1,this.onBand=!1};wb.prototype={constructor:wb,contain:function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&i>=t},containData:function(t){return this.scale.contain(t)},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return To(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var n=this._extent;n[0]=t,n[1]=e},dataToCoord:function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&"ordinal"===i.type&&(n=n.slice(),yc(n,i.count())),_o(t,_b,n,e)},coordToData:function(t,e){var n=this._extent,i=this.scale;this.onBand&&"ordinal"===i.type&&(n=n.slice(),yc(n,i.count()));var r=_o(t,n,_b,e);return this.scale.scale(r)},pointToData:function(){},getTicksCoords:function(t){t=t||{};var e=t.tickModel||this.getTickModel(),n=ac(this,e),i=n.ticks,r=p(i,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this),a=e.get("alignWithLabel");return xc(this,r,a,t.clamp),r},getMinorTicksCoords:function(){if("ordinal"===this.scale.type)return[];var t=this.model.getModel("minorTick"),e=t.get("splitNumber");e>0&&100>e||(e=5);var n=this.scale.getMinorTicks(e),i=p(n,function(t){return p(t,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this)},this);return i},getViewLabels:function(){return rc(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);0===n&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return pc(this)}};var bb=yb,Sb={};f(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){Sb[t]=Lp[t]});var Mb={};f(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","registerShape","getShapeClass","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(t){Mb[t]=ky[t]});var Ib=function(t){this._axes={},this._dimList=[],this.name=t||""};Ib.prototype={constructor:Ib,type:"cartesian",getAxis:function(t){return this._axes[t]},getAxes:function(){return p(this._dimList,_c,this)},getAxesByScale:function(t){return t=t.toLowerCase(),v(this.getAxes(),function(e){return e.scale.type===t})},addAxis:function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},dataToCoord:function(t){return this._dataCoordConvert(t,"dataToCoord")},coordToData:function(t){return this._dataCoordConvert(t,"coordToData")},_dataCoordConvert:function(t,e){for(var n=this._dimList,i=t instanceof Array?[]:{},r=0;re[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},h(Tb,wb);var Cb={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},Db={};Db.categoryAxis=r({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},Cb),Db.valueAxis=r({boundaryGap:[0,0],splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#eee",width:1}}},Cb),Db.timeAxis=s({scale:!0,min:"dataMin",max:"dataMax"},Db.valueAxis),Db.logAxis=s({scale:!0,logBase:10},Db.valueAxis);var Ab=["value","category","time","log"],kb=function(t,e,n,i){f(Ab,function(o){e.extend({type:t+"Axis."+o,mergeDefaultAndTheme:function(e,i){var a=this.layoutMode,s=a?Qo(e):{},l=i.getTheme();r(e,l.get(o+"Axis")),r(e,this.getDefaultOption()),e.type=n(t,e),a&&$o(e,s,a)},optionUpdated:function(){var t=this.option;"category"===t.type&&(this.__ordinalMeta=yh.createByAxisModel(this))},getCategories:function(t){var e=this.option;return"category"===e.type?t?e.data:this.__ordinalMeta.categories:void 0},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:a([{},Db[o+"Axis"],i],!0)})}),ex.registerSubTypeDefaulter(t+"Axis",x(n,t))},Pb=ex.extend({type:"cartesian2dAxis",axis:null,init:function(){Pb.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){Pb.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){Pb.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});r(Pb.prototype,ob);var Lb={offset:0};kb("x",Pb,bc,Lb),kb("y",Pb,bc,Lb),ex.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var Ob=Mc.prototype;Ob.type="grid",Ob.axisPointerEnabled=!0,Ob.getRect=function(){return this._rect},Ob.update=function(t,e){var n=this._axesMap;this._updateScale(t,this.model),f(n.x,function(t){Fh(t.scale,t.model)}),f(n.y,function(t){Fh(t.scale,t.model)});var i={};f(n.x,function(t){Ic(n,"y",t,i)}),f(n.y,function(t){Ic(n,"x",t,i)}),this.resize(this.model,e)},Ob.resize=function(t,e,n){function i(){f(a,function(t){var e=t.isHorizontal(),n=e?[0,r.width]:[0,r.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),Cc(t,e?r.x:r.y)})}var r=Ko(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=r;var a=this._axesList;i(),!n&&t.get("containLabel")&&(f(a,function(t){if(!t.model.get("axisLabel.inside")){var e=Xh(t);if(e){var n=t.isHorizontal()?"height":"width",i=t.model.get("axisLabel.margin");r[n]-=e[n]+i,"top"===t.position?r.y+=e.height+i:"left"===t.position&&(r.x+=e.width+i)}}}),i())},Ob.getAxis=function(t,e){var n=this._axesMap[t];if(null!=n){if(null==e)for(var i in n)if(n.hasOwnProperty(i))return n[i];return n[e]}},Ob.getAxes=function(){return this._axesList.slice()},Ob.getCartesian=function(t,e){if(null!=t&&null!=e){var n="x"+t+"y"+e;return this._coordsMap[n]}S(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var i=0,r=this._coordsList;it&&(t=e),t},defaultOption:{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1}}});var zb=Vv([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),Rb={getBarItemStyle:function(t){var e=zb(this,t);
+if(this.getBorderLineDash){var n=this.getBorderLineDash();n&&(e.lineDash=n)}return e}},Nb=pa({type:"sausage",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r0||0,0),a=Math.max(e.r,0),o=.5*(a-r),s=r+o,l=e.startAngle,u=e.endAngle,h=e.clockwise,c=Math.cos(l),d=Math.sin(l),f=Math.cos(u),p=Math.sin(u),g=h?u-l<2*Math.PI:l-u<2*Math.PI;g&&(t.moveTo(c*r+n,d*r+i),t.arc(c*s+n,d*s+i,o,-Math.PI+l,l,!h)),t.arc(n,i,a,l,u,!h),t.moveTo(f*a+n,p*a+i),t.arc(f*s+n,p*s+i,o,u-2*Math.PI,u-Math.PI,!h),0!==r&&(t.arc(n,i,r,u,l,h),t.moveTo(c*r+n,p*r+i)),t.closePath()}}),Fb=["itemStyle","barBorderWidth"],Vb=[0,0];o(fo.prototype,Rb),Ou({type:"bar",render:function(t,e,n){this._updateDrawMode(t);var i=t.get("coordinateSystem");return"cartesian2d"===i||"polar"===i?this._isLargeDraw?this._renderLarge(t,e,n):this._renderNormal(t,e,n):pp&&console.warn("Only cartesian2d and polar supported for bar."),this.group},incrementalPrepareRender:function(t){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t){var e,n=this.group,i=t.getData(),r=this._data,a=t.coordinateSystem,o=a.getBaseAxis();"cartesian2d"===a.type?e=o.isHorizontal():"polar"===a.type&&(e="angle"===o.dim);var s=t.isAnimationEnabled()?t:null,l=t.get("clip",!0),u=zc(a,i);n.removeClipPath();var h=t.get("roundCap",!0),c=t.get("showBackground",!0),d=t.getModel("backgroundStyle"),f=d.get("barBorderRadius")||0,p=[],g=this._backgroundEls||[],v=function(t){var n=Ub[a.type](i,t),r=jc(a,e,n);return r.useStyle(d.getBarItemStyle()),"cartesian2d"===a.type&&r.setShape("r",f),p[t]=r,r};i.diff(r).add(function(r){var o=i.getItemModel(r),d=Ub[a.type](i,r,o);if(c&&v(r),i.hasValue(r)){if(l){var f=Wb[a.type](u,d);if(f)return void n.remove(p)}var p=Xb[a.type](r,d,e,s,!1,h);i.setItemGraphicEl(r,p),n.add(p),Vc(p,i,r,o,d,t,e,"polar"===a.type)}}).update(function(o,m){var y=i.getItemModel(o),x=Ub[a.type](i,o,y);if(c){var _;0===g.length?_=v(m):(_=g[m],_.useStyle(d.getBarItemStyle()),"cartesian2d"===a.type&&_.setShape("r",f),p[o]=_);var w=Ub[a.type](i,o),b=Yc(e,w,a);Ja(_,{shape:b},s,o)}var S=r.getItemGraphicEl(m);if(!i.hasValue(o))return void n.remove(S);if(l){var M=Wb[a.type](u,x);if(M)return void n.remove(S)}S?Ja(S,{shape:x},s,o):S=Xb[a.type](o,x,e,s,!0,h),i.setItemGraphicEl(o,S),n.add(S),Vc(S,i,o,y,x,t,e,"polar"===a.type)}).remove(function(t){var e=r.getItemGraphicEl(t);"cartesian2d"===a.type?e&&Rc(t,s,e):e&&Nc(t,s,e)}).execute();var m=this._backgroundGroup||(this._backgroundGroup=new Lg);m.removeAll();for(var y=0;yn&&(e.x+=e.width,e.width=-e.width),0>i&&(e.y+=e.height,e.height=-e.height);var r=Hb(e.x,t.x),a=Gb(e.x+e.width,t.x+t.width),o=Hb(e.y,t.y),s=Gb(e.y+e.height,t.y+t.height);e.x=r,e.y=o,e.width=a-r,e.height=s-o;var l=e.width<0||e.height<0;return 0>n&&(e.x+=e.width,e.width=-e.width),0>i&&(e.y+=e.height,e.height=-e.height),l},polar:function(t,e){var n=e.r0<=e.r?1:-1;if(0>n){var i=e.r;e.r=e.r0,e.r0=i}var i=Gb(e.r,t.r),r=Hb(e.r0,t.r0);e.r=i,e.r0=r;var a=0>i-r;if(0>n){var i=e.r;e.r=e.r0,e.r0=i}return a}},Xb={cartesian2d:function(t,e,n,i,r){var a=new ay({shape:o({},e),z2:1});if(a.name="item",i){var s=a.shape,l=n?"height":"width",u={};s[l]=0,u[l]=e[l],ky[r?"updateProps":"initProps"](a,{shape:u},i,t)}return a},polar:function(t,e,n,i,r,a){var o=e.startAngle0?1:-1,o=i.height>0?1:-1;return{x:i.x+a*r/2,y:i.y+o*r/2,width:i.width-a*r,height:i.height-o*r}},polar:function(t,e){var n=t.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle}}},Yb=ta.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var n=e.points,i=this.__startPoint,r=this.__baseDimIdx,a=0;a=0?n:null},30,!1),qb=Math.PI,Zb=function(t,e){this.opt=e,this.axisModel=t,s(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new Lg;var n=new Lg({position:e.position.slice(),rotation:e.rotation});n.updateTransform(),this._transform=n.transform,this._dumbGroup=n};Zb.prototype={constructor:Zb,hasBuilder:function(t){return!!Kb[t]},add:function(t){Kb[t].call(this)},getGroup:function(){return this.group}};var Kb={axisLine:function(){var t=this.opt,e=this.axisModel;if(e.get("axisLine.show")){var n=this.axisModel.axis.getExtent(),i=this._transform,r=[n[0],0],a=[n[1],0];i&&(ae(r,r,i),ae(a,a,i));var s=o({lineCap:"round"},e.getModel("axisLine.lineStyle").getLineStyle());this.group.add(new sy({anid:"line",subPixelOptimize:!0,shape:{x1:r[0],y1:r[1],x2:a[0],y2:a[1]},style:s,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1}));var l=e.get("axisLine.symbol"),u=e.get("axisLine.symbolSize"),h=e.get("axisLine.symbolOffset")||0;if("number"==typeof h&&(h=[h,h]),null!=l){"string"==typeof l&&(l=[l,l]),("string"==typeof u||"number"==typeof u)&&(u=[u,u]);var c=u[0],d=u[1];f([{rotate:t.rotation+Math.PI/2,offset:h[0],r:0},{rotate:t.rotation-Math.PI/2,offset:h[1],r:Math.sqrt((r[0]-a[0])*(r[0]-a[0])+(r[1]-a[1])*(r[1]-a[1]))}],function(e,n){if("none"!==l[n]&&null!=l[n]){var i=Zh(l[n],-c/2,-d/2,c,d,s.stroke,!0),a=e.r+e.offset,o=[r[0]+a*Math.cos(t.rotation),r[1]-a*Math.sin(t.rotation)];i.attr({rotation:e.rotate,position:o,silent:!0,z2:11}),this.group.add(i)}},this)}}},axisTickLabel:function(){var t=this.axisModel,e=this.opt,n=td(this,t,e),i=nd(this,t,e);Zc(t,i,n),ed(this,t,e)},axisName:function(){var t=this.opt,e=this.axisModel,n=D(t.axisName,e.get("name"));if(n){var i,r=e.get("nameLocation"),a=t.nameDirection,s=e.getModel("nameTextStyle"),l=e.get("nameGap")||0,u=this.axisModel.axis.getExtent(),h=u[0]>u[1]?-1:1,c=["start"===r?u[0]-h*l:"end"===r?u[1]+h*l:(u[0]+u[1])/2,Qc(r)?t.labelOffset+a*l:0],d=e.get("nameRotate");null!=d&&(d=d*qb/180);var f;Qc(r)?i=Qb(t.rotation,null!=d?d:t.rotation,a):(i=qc(t,r,d||0,u),f=t.axisNameAvailableWidth,null!=f&&(f=Math.abs(f/Math.sin(i.rotation)),!isFinite(f)&&(f=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},v=g.ellipsis,m=D(t.nameTruncateMaxWidth,g.maxWidth,f),y=null!=v&&null!=m?jy(n,m,p,v,{minChar:2,placeholder:g.placeholder}):n,x=e.get("tooltip",!0),_=e.mainType,w={componentType:_,name:n,$vars:["name"]};w[_+"Index"]=e.componentIndex;var b=new jm({anid:"name",__fullText:n,__truncatedText:y,position:c,rotation:i.rotation,silent:Jb(e),z2:1,tooltip:x&&x.show?o({content:n,formatter:function(){return n},formatterParams:w},x):null});Wa(b.style,s,{text:y,textFont:p,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:s.get("align")||i.textAlign,textVerticalAlign:s.get("verticalAlign")||i.textVerticalAlign}),e.get("triggerEvent")&&(b.eventData=$b(e),b.eventData.targetType="axisName",b.eventData.name=n),this._dumbGroup.add(b),b.updateTransform(),this.group.add(b),b.decomposeTransform()}}},$b=Zb.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},Qb=Zb.innerTextLayout=function(t,e,n){var i,r,a=Do(e-t);return Ao(a)?(r=n>0?"top":"bottom",i="center"):Ao(a-qb)?(r=n>0?"bottom":"top",i="center"):(r="middle",i=a>0&&qb>a?n>0?"right":"left":n>0?"left":"right"),{rotation:a,textAlign:i,textVerticalAlign:r}},Jb=Zb.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)},tS=f,eS=x,nS=Pu({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,n,i){this.axisPointerClass&&ud(t),nS.superApply(this,"render",arguments),pd(this,t,e,n,i,!0)},updateAxisPointer:function(t,e,n,i){pd(this,t,e,n,i,!1)},remove:function(t,e){var n=this._axisPointer;n&&n.remove(e),nS.superApply(this,"remove",arguments)},dispose:function(t,e){gd(this,e),nS.superApply(this,"dispose",arguments)}}),iS=[];nS.registerAxisPointerClass=function(t,e){if(pp&&iS[t])throw new Error("axisPointer "+t+" exists");iS[t]=e},nS.getAxisPointerClass=function(t){return t&&iS[t]};var rS=["axisLine","axisTickLabel","axisName"],aS=["splitArea","splitLine","minorSplitLine"],oS=nS.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(t,e,n,i){this.group.removeAll();var r=this._axisGroup;if(this._axisGroup=new Lg,this.group.add(this._axisGroup),t.get("show")){var a=t.getCoordSysModel(),o=vd(a,t),s=new Zb(t,o);f(rS,s.add,s),this._axisGroup.add(s.getGroup()),f(aS,function(e){t.get(e+".show")&&this["_"+e](t,a)},this),ro(r,this._axisGroup,t),oS.superCall(this,"render",t,e,n,i)}},remove:function(){yd(this)},_splitLine:function(t,e){var n=t.axis;if(!n.scale.isBlank()){var i=t.getModel("splitLine"),r=i.getModel("lineStyle"),a=r.get("color");a=_(a)?a:[a];for(var o=e.coordinateSystem.getRect(),l=n.isHorizontal(),u=0,h=n.getTicksCoords({tickModel:i}),c=[],d=[],f=r.getLineStyle(),p=0;p0&&Pd(n[r-1]);r--);for(;r>i&&Pd(n[i]);i++);}for(;r>i;)i+=Ld(t,n,i,r,r,1,a.min,a.max,e.smooth,e.smoothMonotone,e.connectNulls)+1}}),SS=ta.extend({type:"ec-polygon",shape:{points:[],stackedOnPoints:[],smooth:0,stackedOnSmooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},brush:Km(ta.prototype.brush),buildPath:function(t,e){var n=e.points,i=e.stackedOnPoints,r=0,a=n.length,o=e.smoothMonotone,s=Bd(n,e.smoothConstraint),l=Bd(i,e.smoothConstraint);if(e.connectNulls){for(;a>0&&Pd(n[a-1]);a--);for(;a>r&&Pd(n[r]);r++);}for(;a>r;){var u=Ld(t,n,r,a,a,1,s.min,s.max,e.smooth,o,e.connectNulls);Ld(t,i,r+u-1,u,a,-1,l.min,l.max,e.stackedOnSmooth,o,e.connectNulls),r+=u+1,t.closePath()}}});cl.extend({type:"line",init:function(){var t=new Lg,e=new Sd;this.group.add(e.group),this._symbolDraw=e,this._lineGroup=t},render:function(t,e,n){var i=t.coordinateSystem,r=this.group,a=t.getData(),o=t.getModel("lineStyle"),l=t.getModel("areaStyle"),u=a.mapArray(a.getItemLayout),h="polar"===i.type,c=this._coordSys,d=this._symbolDraw,f=this._polyline,p=this._polygon,g=this._lineGroup,v=t.get("animation"),m=!l.isEmpty(),y=l.get("origin"),x=Cd(i,a,y),_=Fd(i,a,x),w=t.get("showSymbol"),b=w&&!h&&Gd(t,a,i),S=this._data;S&&S.eachItemGraphicEl(function(t,e){t.__temp&&(r.remove(t),S.setItemGraphicEl(e,null))}),w||d.remove(),r.add(g);var M,I=!h&&t.get("step");i&&i.getArea&&t.get("clip",!0)&&(M=i.getArea(),null!=M.width?(M.x-=.1,M.y-=.1,M.width+=.2,M.height+=.2):M.r0&&(M.r0-=.5,M.r1+=.5)),this._clipShapeForSymbol=M,f&&c.type===i.type&&I===this._step?(m&&!p?p=this._newPolygon(u,_,i,v):p&&!m&&(g.remove(p),p=this._polygon=null),g.setClipPath(Xd(i,!1,t)),w&&d.updateData(a,{isIgnore:b,clipShape:M}),a.eachItemGraphicEl(function(t){t.stopAnimation(!0)}),zd(this._stackedOnPoints,_)&&zd(this._points,u)||(v?this._updateAnimation(a,_,i,n,I,y):(I&&(u=Vd(u,i,I),_=Vd(_,i,I)),f.setShape({points:u}),p&&p.setShape({points:u,stackedOnPoints:_})))):(w&&d.updateData(a,{isIgnore:b,clipShape:M}),I&&(u=Vd(u,i,I),_=Vd(_,i,I)),f=this._newPolyline(u,i,v),m&&(p=this._newPolygon(u,_,i,v)),g.setClipPath(Xd(i,!0,t)));var T=Hd(a,i)||a.getVisual("color");f.useStyle(s(o.getLineStyle(),{fill:"none",stroke:T,lineJoin:"bevel"}));var C=t.get("smooth");if(C=Nd(t.get("smooth")),f.setShape({smooth:C,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")}),p){var D=a.getCalculationInfo("stackedOnSeries"),A=0;p.useStyle(s(l.getAreaStyle(),{fill:T,opacity:.7,lineJoin:"bevel"})),D&&(A=Nd(D.get("smooth"))),p.setShape({smooth:C,stackedOnSmooth:A,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")})}this._data=a,this._coordSys=i,this._stackedOnPoints=_,this._points=u,this._step=I,this._valueOrigin=y},dispose:function(){},highlight:function(t,e,n,i){var r=t.getData(),a=sr(r,i);if(!(a instanceof Array)&&null!=a&&a>=0){var o=r.getItemGraphicEl(a);if(!o){var s=r.getItemLayout(a);if(!s)return;if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(s[0],s[1]))return;o=new xd(r,a),o.position=s,o.setZ(t.get("zlevel"),t.get("z")),o.ignore=isNaN(s[0])||isNaN(s[1]),o.__temp=!0,r.setItemGraphicEl(a,o),o.stopSymbolAnimation(!0),this.group.add(o)}o.highlight()}else cl.prototype.highlight.call(this,t,e,n,i)},downplay:function(t,e,n,i){var r=t.getData(),a=sr(r,i);if(null!=a&&a>=0){var o=r.getItemGraphicEl(a);o&&(o.__temp?(r.setItemGraphicEl(a,null),this.group.remove(o)):o.downplay())}else cl.prototype.downplay.call(this,t,e,n,i)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new bS({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new SS({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(n),this._polygon=n,n},_updateAnimation:function(t,e,n,i,r,a){var o=this._polyline,s=this._polygon,l=t.hostModel,u=pS(this._data,t,this._stackedOnPoints,e,this._coordSys,n,this._valueOrigin,a),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;if(r&&(h=Vd(u.current,n,r),c=Vd(u.stackedOnCurrent,n,r),d=Vd(u.next,n,r),f=Vd(u.stackedOnNext,n,r)),Rd(h,d)>3e3||s&&Rd(c,f)>3e3)return o.setShape({points:d}),void(s&&s.setShape({points:d,stackedOnPoints:f}));o.shape.__points=u.current,o.shape.points=h,Ja(o,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),Ja(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,v=0;ve&&(e=t[n]);return isFinite(e)?e:0/0},min:function(t){for(var e=1/0,n=0;n1){var u;"string"==typeof n?u=TS[n]:"function"==typeof n&&(u=n),u&&t.setData(e.downSample(e.mapDimension(a.dim),1/l,u,CS))}}}}};Cu(MS("line","circle","line")),Tu(IS("line")),wu(j_.PROCESSOR.STATISTIC,DS("line"));var AS=function(t,e,n){e=_(e)&&{coordDimensions:e}||o({},e);var i=t.getSource(),r=Aw(i,e),a=new Tw(r,t);return a.initData(i,n),a},kS={updateSelectedMap:function(t){this._targetList=_(t)?t.slice():[],this._selectTargetMap=g(t||[],function(t,e){return t.set(e.name,e),t},N())},select:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t),i=this.get("selectedMode");"single"===i&&this._selectTargetMap.each(function(t){t.selected=!1}),n&&(n.selected=!0)},unSelect:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t);n&&(n.selected=!1)},toggleSelected:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t);return null!=n?(this[n.selected?"unSelect":"select"](t,e),n.selected):void 0},isSelected:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t);return n&&n.selected}},PS=Lu({type:"series.pie",init:function(t){PS.superApply(this,"init",arguments),this.legendVisualProvider=new Ud(y(this.getData,this),y(this.getRawData,this)),this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(t)},mergeOption:function(t){PS.superCall(this,"mergeOption",t),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(){return AS(this,{coordDimensions:["value"],encodeDefaulter:x(ds,this)})},_createSelectableList:function(){for(var t=this.getRawData(),e=t.mapDimension("value"),n=[],i=0,r=t.count();r>i;i++)n.push({name:t.getName(i),value:t.get(e,i),selected:Qs(t,i,"selected")});return n},getDataParams:function(t){var e=this.getData(),n=PS.superCall(this,"getDataParams",t),i=[];return e.each(e.mapDimension("value"),function(t){i.push(t)}),n.percent=Co(i,t,e.hostModel.get("percentPrecision")),n.$vars.push("percent"),n},_defaultLabelLine:function(t){tr(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,minShowLabelAngle:0,selectedOffset:10,hoverOffset:10,avoidLabelOverlap:!0,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:!1,show:!0,position:"outer",alignTo:"none",margin:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1},animationType:"expansion",animationTypeUpdate:"transition",animationEasing:"cubicOut"}});c(PS,kS);var LS=qd.prototype;LS.updateData=function(t,e,n){var i=this.childAt(0),r=this.childAt(1),a=this.childAt(2),l=t.hostModel,u=t.getItemModel(e),h=t.getItemLayout(e),c=o({},h);c.label=null;var d=l.getShallow("animationTypeUpdate");if(n){i.setShape(c);var f=l.getShallow("animationType");"scale"===f?(i.shape.r=h.r0,to(i,{shape:{r:h.r}},l,e)):(i.shape.endAngle=h.startAngle,Ja(i,{shape:{endAngle:h.endAngle}},l,e))}else"expansion"===d?i.setShape(c):Ja(i,{shape:c},l,e);var p=t.getItemVisual(e,"color");i.useStyle(s({lineJoin:"bevel",fill:p},u.getModel("itemStyle").getItemStyle())),i.hoverStyle=u.getModel("emphasis.itemStyle").getItemStyle();var g=u.getShallow("cursor");g&&i.attr("cursor",g),jd(this,t.getItemLayout(e),l.isSelected(t.getName(e)),l.get("selectedOffset"),l.get("animation"));var v=!n&&"transition"===d;this._updateLabel(t,e,v),this.highDownOnUpdate=l.get("silent")?null:function(t,e){var n=l.isAnimationEnabled()&&u.get("hoverAnimation");"emphasis"===e?(r.ignore=r.hoverIgnore,a.ignore=a.hoverIgnore,n&&(i.stopAnimation(!0),i.animateTo({shape:{r:h.r+l.get("hoverOffset")}},300,"elasticOut"))):(r.ignore=r.normalIgnore,a.ignore=a.normalIgnore,n&&(i.stopAnimation(!0),i.animateTo({shape:{r:h.r}},300,"elasticOut")))},Ra(this)},LS._updateLabel=function(t,e,n){var i=this.childAt(1),r=this.childAt(2),a=t.hostModel,o=t.getItemModel(e),s=t.getItemLayout(e),l=s.label,u=t.getItemVisual(e,"color");if(!l||isNaN(l.x)||isNaN(l.y))return void(r.ignore=r.normalIgnore=r.hoverIgnore=i.ignore=i.normalIgnore=i.hoverIgnore=!0);var h={points:l.linePoints||[[l.x,l.y],[l.x,l.y],[l.x,l.y]]},c={x:l.x,y:l.y};n?(Ja(i,{shape:h},a,e),Ja(r,{style:c},a,e)):(i.attr({shape:h}),r.attr({style:c})),r.attr({rotation:l.rotation,origin:[l.x,l.y],z2:10});var d=o.getModel("label"),f=o.getModel("emphasis.label"),p=o.getModel("labelLine"),g=o.getModel("emphasis.labelLine"),u=t.getItemVisual(e,"color");Ha(r.style,r.hoverStyle={},d,f,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:l.text,autoColor:u,useInsideStyle:!!l.inside},{textAlign:l.textAlign,textVerticalAlign:l.verticalAlign,opacity:t.getItemVisual(e,"opacity")}),r.ignore=r.normalIgnore=!d.get("show"),r.hoverIgnore=!f.get("show"),i.ignore=i.normalIgnore=!p.get("show"),i.hoverIgnore=!g.get("show"),i.setStyle({stroke:u,opacity:t.getItemVisual(e,"opacity")}),i.setStyle(p.getModel("lineStyle").getLineStyle()),i.hoverStyle=g.getModel("lineStyle").getLineStyle();var v=p.get("smooth");v&&v===!0&&(v=.4),i.setShape({smooth:v})},h(qd,Lg);var OS=(cl.extend({type:"pie",init:function(){var t=new Lg;this._sectorGroup=t},render:function(t,e,n,i){if(!i||i.from!==this.uid){var r=t.getData(),a=this._data,o=this.group,s=e.get("animation"),l=!a,u=t.get("animationType"),h=t.get("animationTypeUpdate"),c=x(Yd,this.uid,t,s,n),d=t.get("selectedMode");if(r.diff(a).add(function(t){var e=new qd(r,t);l&&"scale"!==u&&e.eachChild(function(t){t.stopAnimation(!0)}),d&&e.on("click",c),r.setItemGraphicEl(t,e),o.add(e)}).update(function(t,e){var n=a.getItemGraphicEl(e);l||"transition"===h||n.eachChild(function(t){t.stopAnimation(!0)}),n.updateData(r,t),n.off("click"),d&&n.on("click",c),o.add(n),r.setItemGraphicEl(t,n)}).remove(function(t){var e=a.getItemGraphicEl(t);o.remove(e)}).execute(),s&&r.count()>0&&(l?"scale"!==u:"transition"!==h)){for(var f=r.getItemLayout(0),p=1;isNaN(f.startAngle)&&p=i.r0}}}),function(t,e){f(e,function(e){e.update="updateView",Su(e,function(n,i){var r={};return i.eachComponent({mainType:"series",subType:t,query:n},function(t){t[e.method]&&t[e.method](n.name,n.dataIndex);
+var i=t.getData();i.each(function(e){var n=i.getName(e);r[n]=t.isSelected(n)||!1})}),{name:n.name,selected:r,seriesId:n.seriesId}})})}),ES=function(t){return{getTargetSeries:function(e){var n={},i=N();return e.eachSeriesByType(t,function(t){t.__paletteScope=n,i.set(t.uid,t)}),i},reset:function(t){var e=t.getRawData(),n={},i=t.getData();i.each(function(t){var e=i.getRawIndex(t);n[e]=t}),e.each(function(r){var a,o=n[r],s=null!=o&&i.getItemVisual(o,"color",!0),l=null!=o&&i.getItemVisual(o,"borderColor",!0);if(s&&l||(a=e.getItemModel(r)),!s){var u=a.get("itemStyle.color")||t.getColorFromPalette(e.getName(r)||r+"",t.__paletteScope,e.count());null!=o&&i.setItemVisual(o,"color",u)}if(!l){var h=a.get("itemStyle.borderColor");null!=o&&i.setItemVisual(o,"borderColor",h)}})}}},BS=Math.PI/180,zS=function(t,e,n,i,r,a){var o,s,l=t.getData(),u=[],h=!1,c=(t.get("minShowLabelAngle")||0)*BS;l.each(function(i){var a=l.getItemLayout(i),d=l.getItemModel(i),f=d.getModel("label"),p=f.get("position")||d.get("emphasis.label.position"),g=f.get("distanceToLabelLine"),v=f.get("alignTo"),m=wo(f.get("margin"),n),y=f.get("bleedMargin"),x=f.getFont(),_=d.getModel("labelLine"),w=_.get("length");w=wo(w,n);var b=_.get("length2");if(b=wo(b,n),!(a.angleD?-1:1)*b,N=z;S="edge"===v?0>D?r+m:r+n-m:R+(0>D?-g:g),M=N,I=[[O,E],[B,z],[R,N]]}T=L?"center":"edge"===v?D>0?"right":"left":D>0?"left":"right"}var F,V=f.get("rotate");F="number"==typeof V?V*(Math.PI/180):V?0>D?-C+Math.PI:-C:0,h=!!F,a.label={x:S,y:M,position:p,height:P.height,len:w,len2:b,linePoints:I,textAlign:T,verticalAlign:"middle",rotation:F,inside:L,labelDistance:g,labelAlignTo:v,labelMargin:m,bleedMargin:y,textRect:P,text:k,font:x},L||u.push(a.label)}}),!h&&t.get("avoidLabelOverlap")&&Kd(u,o,s,e,n,i,r,a)},RS=2*Math.PI,NS=Math.PI/180,FS=function(t,e,n){e.eachSeriesByType(t,function(t){var e=t.getData(),i=e.mapDimension("value"),r=Qd(t,n),a=t.get("center"),o=t.get("radius");_(o)||(o=[0,o]),_(a)||(a=[a,a]);var s=wo(r.width,n.getWidth()),l=wo(r.height,n.getHeight()),u=Math.min(s,l),h=wo(a[0],s)+r.x,c=wo(a[1],l)+r.y,d=wo(o[0],u/2),f=wo(o[1],u/2),p=-t.get("startAngle")*NS,g=t.get("minAngle")*NS,v=0;e.each(i,function(t){!isNaN(t)&&v++});var m=e.getSum(i),y=Math.PI/(m||v)*2,x=t.get("clockwise"),w=t.get("roseType"),b=t.get("stillShowZeroSum"),S=e.getDataExtent(i);S[0]=0;var M=RS,I=0,T=p,C=x?1:-1;if(e.each(i,function(t,n){var i;if(isNaN(t))return void e.setItemLayout(n,{angle:0/0,startAngle:0/0,endAngle:0/0,clockwise:x,cx:h,cy:c,r0:d,r:w?0/0:f,viewRect:r});i="area"!==w?0===m&&b?y:t*y:RS/v,g>i?(i=g,M-=g):I+=t;var a=T+C*i;e.setItemLayout(n,{angle:i,startAngle:T,endAngle:a,clockwise:x,cx:h,cy:c,r0:d,r:w?_o(t,S,[d,f]):f,viewRect:r}),T=a}),RS>M&&v)if(.001>=M){var D=RS/v;e.each(i,function(t,n){if(!isNaN(t)){var i=e.getItemLayout(n);i.angle=D,i.startAngle=p+C*n*D,i.endAngle=p+C*(n+1)*D}})}else y=M/I,T=p,e.each(i,function(t,n){if(!isNaN(t)){var i=e.getItemLayout(n),r=i.angle===g?g:t*y;i.startAngle=T,i.endAngle=T+C*r,T+=C*r}});zS(t,f,r.width,r.height,r.x,r.y)})},VS=function(t){return{seriesType:t,reset:function(t,e){var n=e.findComponents({mainType:"legend"});if(n&&n.length){var i=t.getData();i.filterSelf(function(t){for(var e=i.getName(t),r=0;r=0},getOrient:function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",itemStyle:{borderWidth:0},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:" sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}}});Su("legendToggleSelect","legendselectchanged",x(Jd,"toggleSelected")),Su("legendAllSelect","legendselectall",x(Jd,"allSelect")),Su("legendInverseSelect","legendinverseselect",x(Jd,"inverseSelect")),Su("legendSelect","legendselected",x(Jd,"select")),Su("legendUnSelect","legendunselected",x(Jd,"unSelect"));var XS=x,US=f,YS=Lg,jS=Pu({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new YS),this._backgroundEl,this.group.add(this._selectorGroup=new YS),this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},getSelectorGroup:function(){return this._selectorGroup},render:function(t,e,n){var i=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var r=t.get("align"),a=t.get("orient");r&&"auto"!==r||(r="right"===t.get("left")&&"vertical"===a?"right":"left");var o=t.get("selector",!0),l=t.get("selectorPosition",!0);!o||l&&"auto"!==l||(l="horizontal"===a?"end":"start"),this.renderInner(r,t,e,n,o,a,l);var u=t.getBoxLayoutParams(),h={width:n.getWidth(),height:n.getHeight()},c=t.get("padding"),d=Ko(u,h,c),f=this.layoutInner(t,r,d,i,o,l),p=Ko(s({width:f.width,height:f.height},u),h,c);this.group.attr("position",[p.x-f.x,p.y-f.y]),this.group.add(this._backgroundEl=tf(f,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},renderInner:function(t,e,n,i,r,a,o){var s=this.getContentGroup(),l=N(),u=e.get("selectedMode"),h=[];n.eachRawSeries(function(t){!t.get("legendHoverLink")&&h.push(t.id)}),US(e.getData(),function(r,a){var o=r.get("name");if(!this.newlineDisabled&&(""===o||"\n"===o))return void s.add(new YS({newline:!0}));var c=n.getSeriesByName(o)[0];if(!l.get(o)){if(c){var d=c.getData(),f=d.getVisual("color"),p=d.getVisual("borderColor");"function"==typeof f&&(f=f(c.getDataParams(0))),"function"==typeof p&&(p=p(c.getDataParams(0)));var g=d.getVisual("legendSymbol")||"roundRect",v=d.getVisual("symbol"),m=this._createItem(o,a,r,e,g,v,t,f,p,u);m.on("click",XS(nf,o,null,i,h)).on("mouseover",XS(rf,c.name,null,i,h)).on("mouseout",XS(af,c.name,null,i,h)),l.set(o,!0)}else n.eachRawSeries(function(n){if(!l.get(o)&&n.legendVisualProvider){var s=n.legendVisualProvider;if(!s.containName(o))return;var c=s.indexOfName(o),d=s.getItemVisual(c,"color"),f=s.getItemVisual(c,"borderColor"),p="roundRect",g=this._createItem(o,a,r,e,p,null,t,d,f,u);g.on("click",XS(nf,null,o,i,h)).on("mouseover",XS(rf,null,o,i,h)).on("mouseout",XS(af,null,o,i,h)),l.set(o,!0)}},this);pp&&(l.get(o)||console.warn(o+" series not exists. Legend data should be same with series name or data name."))}},this),r&&this._createSelector(r,e,i,a,o)},_createSelector:function(t,e,n){function i(t){var i=t.type,a=new jm({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){n.dispatchAction({type:"all"===i?"legendAllSelect":"legendInverseSelect"})}});r.add(a);var o=e.getModel("selectorLabel"),s=e.getModel("emphasis.selectorLabel");Ha(a.style,a.hoverStyle={},o,s,{defaultText:t.title,isRectText:!1}),Ra(a)}var r=this.getSelectorGroup();US(t,function(t){i(t)})},_createItem:function(t,e,n,i,r,a,s,l,u,h){var c=i.get("itemWidth"),d=i.get("itemHeight"),f=i.get("inactiveColor"),p=i.get("inactiveBorderColor"),g=i.get("symbolKeepAspect"),v=i.getModel("itemStyle"),m=i.isSelected(t),y=new YS,x=n.getModel("textStyle"),_=n.get("icon"),w=n.getModel("tooltip"),b=w.parentModel;r=_||r;var S=Zh(r,0,0,c,d,m?l:f,null==g?!0:g);if(y.add(ef(S,r,v,u,p,m)),!_&&a&&(a!==r||"none"===a)){var M=.8*d;"none"===a&&(a="circle");var I=Zh(a,(c-M)/2,(d-M)/2,M,M,m?l:f,null==g?!0:g);y.add(ef(I,a,v,u,p,m))}var T="left"===s?c+5:-5,C=s,D=i.get("formatter"),A=t;"string"==typeof D&&D?A=D.replace("{name}",null!=t?t:""):"function"==typeof D&&(A=D(t)),y.add(new jm({style:Wa({},x,{text:A,x:T,y:d/2,textFill:m?x.getTextColor():f,textAlign:C,textVerticalAlign:"middle"})}));var k=new ay({shape:y.getBoundingRect(),invisible:!0,tooltip:w.get("show")?o({content:t,formatter:b.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:i.componentIndex,name:t,$vars:["name"]}},w.option):null});return y.add(k),y.eachChild(function(t){t.silent=!0}),k.silent=!h,this.getContentGroup().add(y),Ra(y),y.__legendDataIndex=e,y},layoutInner:function(t,e,n,i,r,a){var o=this.getContentGroup(),s=this.getSelectorGroup();Qy(t.get("orient"),o,t.get("itemGap"),n.width,n.height);var l=o.getBoundingRect(),u=[-l.x,-l.y];if(r){Qy("horizontal",s,t.get("selectorItemGap",!0));var h=s.getBoundingRect(),c=[-h.x,-h.y],d=t.get("selectorButtonGap",!0),f=t.getOrient().index,p=0===f?"width":"height",g=0===f?"height":"width",v=0===f?"y":"x";"end"===a?c[f]+=l[p]+d:u[f]+=h[p]+d,c[1-f]+=l[g]/2-h[g]/2,s.attr("position",c),o.attr("position",u);var m={x:0,y:0};return m[p]=l[p]+d+h[p],m[g]=Math.max(l[g],h[g]),m[v]=Math.min(0,h[v]+c[1-f]),m}return o.attr("position",u),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}}),qS=function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.filterSeries(function(t){for(var n=0;nn[r],f=[-h.x,-h.y];e||(f[i]=s.position[i]);var p=[0,0],g=[-c.x,-c.y],v=A(t.get("pageButtonGap",!0),t.get("itemGap",!0));if(d){var m=t.get("pageButtonPosition",!0);"end"===m?g[i]+=n[r]-c[r]:p[i]+=c[r]+v}g[1-i]+=h[a]/2-c[a]/2,s.attr("position",f),l.attr("position",p),u.attr("position",g);var y={x:0,y:0};if(y[r]=d?n[r]:h[r],y[a]=Math.max(h[a],c[a]),y[o]=Math.min(0,c[o]+g[1-i]),l.__rectSize=n[r],d){var x={x:0,y:0};x[r]=Math.max(n[r]-c[r]-v,0),x[a]=y[a],l.setClipPath(new ay({shape:x})),l.__rectSize=x[r]}else u.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var _=this._getPageInfo(t);return null!=_.pageIndex&&Ja(s,{position:_.contentPosition},d?t:!1),this._updatePageInfoView(t,_),y},_pageGo:function(t,e,n){var i=this._getPageInfo(e)[t];null!=i&&n.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:e.id})},_updatePageInfoView:function(t,e){var n=this._controllerGroup;f(["pagePrev","pageNext"],function(i){var r=null!=e[i+"DataIndex"],a=n.childOfName(i);a&&(a.setStyle("fill",r?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),a.cursor=r?"pointer":"default")});var i=n.childOfName("pageText"),r=t.get("pageFormatter"),a=e.pageIndex,o=null!=a?a+1:0,s=e.pageCount;i&&r&&i.setStyle("text",b(r)?r.replace("{current}",o).replace("{total}",s):r({current:o,total:s}))},_getPageInfo:function(t){function e(t){if(t){var e=t.getBoundingRect(),n=e[l]+t.position[o];return{s:n,e:n+e[s],i:t.__legendDataIndex}}}function n(t,e){return t.e>=e&&t.s<=e+a}var i=t.get("scrollDataIndex",!0),r=this.getContentGroup(),a=this._containerGroup.__rectSize,o=t.getOrient().index,s=$S[o],l=QS[o],u=this._findTargetItemIndex(i),h=r.children(),c=h[u],d=h.length,f=d?1:0,p={contentPosition:r.position.slice(),pageCount:f,pageIndex:f-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return p;var g=e(c);p.contentPosition[o]=-g.s;for(var v=u+1,m=g,y=g,x=null;d>=v;++v)x=e(h[v]),(!x&&y.e>m.s+a||x&&!n(x,m.s))&&(m=y.i>m.i?y:x,m&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=m.i),++p.pageCount)),y=x;for(var v=u-1,m=g,y=g,x=null;v>=-1;--v)x=e(h[v]),x&&n(y,x.s)||!(m.io||_(o))return{point:[]};var s=a.getItemGraphicEl(o),l=n.coordinateSystem;if(n.getTooltipPosition)i=n.getTooltipPosition(o)||[];else if(l&&l.dataToPoint)i=l.dataToPoint(a.getValues(p(l.dimensions,function(t){return a.mapDimension(t)}),o,!0))||[];else if(s){var u=s.getBoundingRect().clone();u.applyTransform(s.transform),i=[u.x+u.width/2,u.y+u.height/2]}return{point:i,el:s}},eM=f,nM=x,iM=lr(),rM=function(t,e,n){var i=t.currTrigger,r=[t.x,t.y],a=t,o=t.dispatchAction||y(n.dispatchAction,n),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){vf(r)&&(r=tM({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=vf(r),u=a.axesInfo,h=s.axesInfo,c="leave"===i||vf(r),d={},f={},p={list:[],map:{}},g={showPointer:nM(uf,f),showTooltip:nM(hf,p)};eM(s.coordSysMap,function(t,e){var n=l||t.containPoint(r);eM(s.coordSysAxesInfo[e],function(t){var e=t.axis,i=pf(u,t);if(!c&&n&&(!u||i)){var a=i&&i.value;null!=a||l||(a=e.pointToData(r)),null!=a&&sf(t,a,g,!1,d)}})});var v={};return eM(h,function(t,e){var n=t.linkGroup;n&&!f[e]&&eM(n.axesInfo,function(e,i){var r=f[i];if(e!==t&&r){var a=r.value;n.mapper&&(a=t.axis.scale.parse(n.mapper(a,gf(e),gf(t)))),v[t.key]=a}})}),eM(v,function(t,e){sf(h[e],t,g,!0,d)}),cf(f,h,d),df(p,r,t,o),ff(h,o,n),d}},aM=(ku({type:"axisPointer",coordSysAxesInfo:null,defaultOption:{show:"auto",triggerOn:null,zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#aaa",width:1,type:"solid"},shadowStyle:{color:"rgba(150,150,150,0.3)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:"#aaa"},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}}),lr()),oM=f,sM=Pu({type:"axisPointer",render:function(t,e,n){var i=e.getComponent("tooltip"),r=t.get("triggerOn")||i&&i.get("triggerOn")||"mousemove|click";mf("axisPointer",n,function(t,e,n){"none"!==r&&("leave"===t||r.indexOf(t)>=0)&&n({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){Sf(e.getZr(),"axisPointer"),sM.superApply(this._model,"remove",arguments)},dispose:function(t,e){Sf("axisPointer",e),sM.superApply(this._model,"dispose",arguments)}}),lM=lr(),uM=i,hM=y;Mf.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,n,i){var r=e.get("value"),a=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,i||this._lastValue!==r||this._lastStatus!==a){this._lastValue=r,this._lastStatus=a;var o=this._group,s=this._handle;if(!a||"hide"===a)return o&&o.hide(),void(s&&s.hide());o&&o.show(),s&&s.show();var l={};this.makeElOption(l,r,t,e,n);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(o){var c=x(If,e,h);this.updatePointerEl(o,l,c,e),this.updateLabelEl(o,l,c,e)}else o=this._group=new Lg,this.createPointerEl(o,l,t,e),this.createLabelEl(o,l,t,e),n.getZr().add(o);Af(o,e,!0),this._renderHandle(r)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var n=e.get("animation"),i=t.axis,r="category"===i.type,a=e.get("snap");if(!a&&!r)return!1;if("auto"===n||null==n){var o=this.animationThreshold;if(r&&i.getBandWidth()>o)return!0;if(a){var s=hd(t).seriesDataCount,l=i.getExtent();return Math.abs(l[0]-l[1])/s>o}return!1}return n===!0},makeElOption:function(){},createPointerEl:function(t,e){var n=e.pointer;if(n){var i=lM(t).pointerEl=new ky[n.type](uM(e.pointer));t.add(i)}},createLabelEl:function(t,e,n,i){if(e.label){var r=lM(t).labelEl=new ay(uM(e.label));t.add(r),Cf(r,i)}},updatePointerEl:function(t,e,n){var i=lM(t).pointerEl;i&&e.pointer&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,n,i){var r=lM(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{shape:e.label.shape,position:e.label.position}),Cf(r,i))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e=this._axisPointerModel,n=this._api.getZr(),i=this._handle,r=e.getModel("handle"),a=e.get("status");if(!r.get("show")||!a||"hide"===a)return i&&n.remove(i),void(this._handle=null);var o;this._handle||(o=!0,i=this._handle=so(r.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){jp(t.event)},onmousedown:hM(this._onHandleDragMove,this,0,0),drift:hM(this._onHandleDragMove,this),ondragend:hM(this._onHandleDragEnd,this)}),n.add(i)),Af(i,e,!1);var s=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];i.setStyle(r.getItemStyle(null,s));var l=r.get("size");_(l)||(l=[l,l]),i.attr("scale",[l[0]/2,l[1]/2]),ml(this,"_doDispatchAxisPointer",r.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,o)}},_moveHandleToValue:function(t,e){If(this._axisPointerModel,!e&&this._moveAnimation,this._handle,Df(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(Df(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(Df(i)),lM(n).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){var t=this._handle;if(t){var e=this._payloadInfo,n=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:e.cursorPoint[0],y:e.cursorPoint[1],tooltipOption:e.tooltipOption,axesInfo:[{axisDim:n.axis.dim,axisIndex:n.componentIndex}]})}},_onHandleDragEnd:function(){this._dragging=!1;var t=this._handle;if(t){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,n){return n=n||0,{x:t[n],y:t[1-n],width:e[n],height:e[1-n]}}},Mf.prototype.constructor=Mf,vr(Mf);var cM=Mf.extend({makeElOption:function(t,e,n,i,r){var a=n.axis,o=a.grid,s=i.get("type"),l=Nf(o,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&"none"!==s){var h=kf(i),c=dM[s](a,u,l);c.style=h,t.graphicKey=c.type,t.pointer=c}var d=vd(o.model,n);Bf(e,t,d,n,i,r)},getHandleTransform:function(t,e,n){var i=vd(e.axis.grid.model,e,{labelInside:!1});return i.labelMargin=n.get("handle.margin"),{position:Ef(e.axis,t,i),rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,n){var i=n.axis,r=i.grid,a=i.getGlobalExtent(!0),o=Nf(r,i).getOtherAxis(i).getGlobalExtent(),s="x"===i.dim?0:1,l=t.position;l[s]+=e[s],l[s]=Math.min(a[1],l[s]),l[s]=Math.max(a[0],l[s]);var u=(o[1]+o[0])/2,h=[u,u];h[s]=l[s];var c=[{verticalAlign:"middle"},{align:"center"}];return{position:l,rotation:t.rotation,cursorPoint:h,tooltipOption:c[s]}}}),dM={line:function(t,e,n){var i=zf([e,n[0]],[e,n[1]],Ff(t));return{type:"Line",subPixelOptimize:!0,shape:i}},shadow:function(t,e,n){var i=Math.max(1,t.getBandWidth()),r=n[1]-n[0];return{type:"Rect",shape:Rf([e-i/2,n[0]],[i,r],Ff(t))}}};nS.registerAxisPointerClass("CartesianAxisPointer",cM),_u(function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!_(e)&&(t.axisPointer.link=[e])}}),wu(j_.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=id(t,e)}),Su({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},rM),ku({type:"tooltip",dependencies:["axisPointer"],defaultOption:{zlevel:0,z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#fff",fontSize:14}}});var fM=f,pM=No,gM=["","-webkit-","-moz-","-o-"],vM="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;";Xf.prototype={constructor:Xf,_enterable:!0,update:function(t){var e=this._container,n=e.currentStyle||document.defaultView.getComputedStyle(e),i=e.style;"absolute"!==i.position&&"absolute"!==n.position&&(i.position="relative");var r=t.get("alwaysShowContent");r&&this._moveTooltipIfResized()},_moveTooltipIfResized:function(){var t=this._styleCoord[2],e=this._styleCoord[3],n=t*this._zr.getWidth(),i=e*this._zr.getHeight();this.moveTo(n,i)},show:function(t){clearTimeout(this._hideTimeout);var e=this.el,n=this._styleCoord;e.style.cssText=vM+Gf(t)+";left:"+n[0]+"px;top:"+n[1]+"px;"+(t.get("extraCssText")||""),e.style.display=e.innerHTML?"block":"none",e.style.pointerEvents=this._enterable?"auto":"none",this._show=!0},setContent:function(t){this.el.innerHTML=null==t?"":t},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el;return[t.clientWidth,t.clientHeight]},moveTo:function(t,e){var n=this._styleCoord;Wf(n,this._zr,this._appendToBody,t,e);var i=this.el.style;i.left=n[0]+"px",i.top=n[1]+"px"},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(y(this.hide,this),t)):this.hide())},isShow:function(){return this._show},dispose:function(){this.el.parentNode.removeChild(this.el)},getOuterSize:function(){var t=this.el.clientWidth,e=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var n=document.defaultView.getComputedStyle(this.el);n&&(t+=parseInt(n.borderLeftWidth,10)+parseInt(n.borderRightWidth,10),e+=parseInt(n.borderTopWidth,10)+parseInt(n.borderBottomWidth,10))}return{width:t,height:e}}},Yf.prototype={constructor:Yf,_enterable:!0,update:function(t){var e=t.get("alwaysShowContent");e&&this._moveTooltipIfResized()},_moveTooltipIfResized:function(){var t=this._styleCoord[2],e=this._styleCoord[3],n=t*this._zr.getWidth(),i=e*this._zr.getHeight();this.moveTo(n,i)},show:function(){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.attr("show",!0),this._show=!0},setContent:function(t,e,n){this.el&&this._zr.remove(this.el);for(var i={},r=t,a="{marker",o="|}",s=r.indexOf(a);s>=0;){var l=r.indexOf(o),u=r.substr(s+a.length,l-s-a.length);i["marker"+u]=u.indexOf("sub")>-1?{textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[u],textOffset:[3,0]}:{textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[u]},r=r.substr(l+1),s=r.indexOf("{marker")}var h=n.getModel("textStyle"),c=h.get("fontSize"),d=n.get("textLineHeight");null==d&&(d=Math.round(3*c/2)),this.el=new jm({style:Wa({},h,{rich:i,text:t,textBackgroundColor:n.get("backgroundColor"),textBorderRadius:n.get("borderRadius"),textFill:n.get("textStyle.color"),textPadding:n.get("padding"),textLineHeight:d}),z:n.get("z")}),this._zr.add(this.el);var f=this;this.el.on("mouseover",function(){f._enterable&&(clearTimeout(f._hideTimeout),f._show=!0),f._inContent=!0}),this.el.on("mouseout",function(){f._enterable&&f._show&&f.hideLater(f._hideDelay),f._inContent=!1})},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el.getBoundingRect();return[t.width,t.height]},moveTo:function(t,e){if(this.el){var n=this._styleCoord;Uf(n,this._zr,t,e),this.el.attr("position",[n[0],n[1]])}},hide:function(){this.el&&this.el.hide(),this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(y(this.hide,this),t)):this.hide())},isShow:function(){return this._show},dispose:function(){clearTimeout(this._hideTimeout),this.el&&this._zr.remove(this.el)},getOuterSize:function(){var t=this.getSize();return{width:t[0],height:t[1]}}};var mM=y,yM=f,xM=wo,_M=new ay({shape:{x:-1,y:-1,width:2,height:2}});Pu({type:"tooltip",init:function(t,e){if(!yp.node){var n=t.getComponent("tooltip"),i=n.get("renderMode");this._renderMode=fr(i);var r;"html"===this._renderMode?(r=new Xf(e.getDom(),e,{appendToBody:n.get("appendToBody",!0)}),this._newLine="
"):(r=new Yf(e),this._newLine="\n"),this._tooltipContent=r
+}},render:function(t,e,n){if(!yp.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=n,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var i=this._tooltipContent;i.update(t),i.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel,e=t.get("triggerOn");mf("itemTooltip",this._api,mM(function(t,n,i){"none"!==e&&(e.indexOf(t)>=0?this._tryShow(n,i):"leave"===t&&this._hide(i))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,n=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var i=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!n.isDisposed()&&i.manuallyShowTip(t,e,n,{x:i._lastX,y:i._lastY})})}},manuallyShowTip:function(t,e,n,i){if(i.from!==this.uid&&!yp.node){var r=qf(i,n);this._ticket="";var a=i.dataByCoordSys;if(i.tooltip&&null!=i.x&&null!=i.y){var o=_M;o.position=[i.x,i.y],o.update(),o.tooltip=i.tooltip,this._tryShow({offsetX:i.x,offsetY:i.y,target:o},r)}else if(a)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,dataByCoordSys:i.dataByCoordSys,tooltipOption:i.tooltipOption},r);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var s=tM(i,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:i.position,target:s.el},r)}else null!=i.x&&null!=i.y&&(n.dispatchAction({type:"updateAxisPointer",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target},r))}},manuallyHideTip:function(t,e,n,i){var r=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&r.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,i.from!==this.uid&&this._hide(qf(i,n))},_manuallyAxisShowTip:function(t,e,n,i){var r=i.seriesIndex,a=i.dataIndex,o=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=r&&null!=a&&null!=o){var s=e.getSeriesByIndex(r);if(s){var l=s.getData(),t=jf([l.getItemModel(a),s,(s.coordinateSystem||{}).model,t]);if("axis"===t.get("trigger"))return n.dispatchAction({type:"updateAxisPointer",seriesIndex:r,dataIndex:a,position:i.position}),!0}}},_tryShow:function(t,e){var n=t.target,i=this._tooltipModel;if(i){this._lastX=t.offsetX,this._lastY=t.offsetY;var r=t.dataByCoordSys;r&&r.length?this._showAxisTooltip(r,t):n&&null!=n.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,n,e)):n&&n.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,n,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var n=t.get("showDelay");e=y(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},_showAxisTooltip:function(t,e){var n=this._ecModel,i=this._tooltipModel,a=[e.offsetX,e.offsetY],o=[],s=[],l=jf([e.tooltipOption,i]),u=this._renderMode,h=this._newLine,c={};yM(t,function(t){yM(t.dataByAxis,function(t){var e=n.getComponent(t.axisDim+"Axis",t.axisIndex),i=t.value,a=[];if(e&&null!=i){var l=Of(i,e.axis,n,t.seriesDataIndices,t.valueLabelOpt);f(t.seriesDataIndices,function(o){var h=n.getSeriesByIndex(o.seriesIndex),d=o.dataIndexInside,f=h&&h.getDataParams(d);if(f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=Wh(e.axis,i),f.axisValueLabel=l,f){s.push(f);var p,g=h.formatTooltip(d,!0,null,u);if(S(g)){p=g.html;var v=g.markers;r(c,v)}else p=g;a.push(p)}});var d=l;o.push("html"!==u?a.join(h):(d?Fo(d)+h:"")+a.join(h))}})},this),o.reverse(),o=o.join(this._newLine+this._newLine);var d=e.position;this._showOrMove(l,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(l,d,a[0],a[1],this._tooltipContent,s):this._showTooltipContent(l,o,s,Math.random(),a[0],a[1],d,void 0,c)})},_showSeriesItemTooltip:function(t,e,n){var i=this._ecModel,r=e.seriesIndex,a=i.getSeriesByIndex(r),o=e.dataModel||a,s=e.dataIndex,l=e.dataType,u=o.getData(l),h=jf([u.getItemModel(s),o,a&&(a.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d,f,p=o.getDataParams(s,l),g=o.formatTooltip(s,!1,l,this._renderMode);S(g)?(d=g.html,f=g.markers):(d=g,f=null);var v="item_"+o.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,d,p,v,t.offsetX,t.offsetY,t.position,t.target,f)}),n({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:r,from:this.uid})}},_showComponentItemTooltip:function(t,e,n){var i=e.tooltip;if("string"==typeof i){var r=i;i={content:r,formatter:r}}var a=new fo(i,this._tooltipModel,this._ecModel),o=a.get("content"),s=Math.random();this._showOrMove(a,function(){this._showTooltipContent(a,o,a.get("formatterParams")||{},s,t.offsetX,t.offsetY,t.position,e)}),n({type:"showTip",from:this.uid})},_showTooltipContent:function(t,e,n,i,r,a,o,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent,h=t.get("formatter");o=o||t.get("position");var c=e;if(h&&"string"==typeof h)c=Vo(h,n,!0);else if("function"==typeof h){var d=mM(function(e,i){e===this._ticket&&(u.setContent(i,l,t),this._updatePosition(t,o,r,a,u,n,s))},this);this._ticket=i,c=h(n,i,d)}u.setContent(c,l,t),u.show(t),this._updatePosition(t,o,r,a,u,n,s)}},_updatePosition:function(t,e,n,i,r,a,o){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=r.getSize(),h=t.get("align"),c=t.get("verticalAlign"),d=o&&o.getBoundingRect().clone();if(o&&d.applyTransform(o.transform),"function"==typeof e&&(e=e([n,i],a,r.el,d,{viewSize:[s,l],contentSize:u.slice()})),_(e))n=xM(e[0],s),i=xM(e[1],l);else if(S(e)){e.width=u[0],e.height=u[1];var f=Ko(e,{width:s,height:l});n=f.x,i=f.y,h=null,c=null}else if("string"==typeof e&&o){var p=$f(e,d,u);n=p[0],i=p[1]}else{var p=Zf(n,i,r,s,l,h?null:20,c?null:20);n=p[0],i=p[1]}if(h&&(n-=Qf(h)?u[0]/2:"right"===h?u[0]:0),c&&(i-=Qf(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")){var p=Kf(n,i,r,s,l);n=p[0],i=p[1]}r.moveTo(n,i)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,n=!!e&&e.length===t.length;return n&&yM(e,function(e,i){var r=e.dataByAxis||{},a=t[i]||{},o=a.dataByAxis||[];n&=r.length===o.length,n&&yM(r,function(t,e){var i=o[e]||{},r=t.seriesDataIndices||[],a=i.seriesDataIndices||[];n&=t.value===i.value&&t.axisType===i.axisType&&t.axisId===i.axisId&&r.length===a.length,n&&yM(r,function(t,e){var i=a[e];n&=t.seriesIndex===i.seriesIndex&&t.dataIndex===i.dataIndex})})}),this._lastDataByCoordSys=t,!!n},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){yp.node||(this._tooltipContent.dispose(),Sf("itemTooltip",e))}}),Su({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),Su({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){});var wM=Ro,bM=Fo,SM=ku({type:"marker",dependencies:["series","grid","polar","geo"],init:function(t,e,n){if(pp&&"marker"===this.type)throw new Error("Marker component is abstract component. Use markLine, markPoint, markArea instead.");this.mergeDefaultAndTheme(t,n),this._mergeOption(t,n,!1,!0)},isAnimationEnabled:function(){if(yp.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e){this._mergeOption(t,e,!1,!1)},_mergeOption:function(t,e,n,i){var r=this.constructor,a=this.mainType+"Model";n||e.eachSeries(function(t){var n=t.get(this.mainType,!0),s=t[a];return n&&n.data?(s?s._mergeOption(n,e,!0):(i&&Jf(n),f(n.data,function(t){t instanceof Array?(Jf(t[0]),Jf(t[1])):Jf(t)}),s=new r(n,this,e),o(s,{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),s.__hostSeries=t),void(t[a]=s)):void(t[a]=null)},this)},formatTooltip:function(t,e,n,i){var r=this.getData(),a=this.getRawValue(t),o=_(a)?p(a,wM).join(", "):wM(a),s=r.getName(t),l=bM(this.name),u="html"===i?"
":"\n";return(null!=a||s)&&(l+=u),s&&(l+=bM(s),null!=a&&(l+=" : ")),null!=a&&(l+=bM(o)),l},getData:function(){return this._data},setData:function(t){this._data=t}});c(SM,Fx),SM.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});var MM=u,IM=x,TM={min:IM(np,"min"),max:IM(np,"max"),average:IM(np,"average")},CM=Pu({type:"marker",init:function(){this.markerGroupMap=N()},render:function(t,e,n){var i=this.markerGroupMap;i.each(function(t){t.__keep=!1});var r=this.type+"Model";e.eachSeries(function(t){var i=t[r];i&&this.renderSeries(t,i,e,n)},this),i.each(function(t){!t.__keep&&this.group.remove(t.group)},this)},renderSeries:function(){}}),DM=function(t,e,n,i){var r=ip(t,i[0]),o=ip(t,i[1]),s=D,l=r.coord,u=o.coord;l[0]=s(l[0],-1/0),l[1]=s(l[1],-1/0),u[0]=s(u[0],1/0),u[1]=s(u[1],1/0);var h=a([{},r,o]);return h.coord=[r.coord,o.coord],h.x0=r.x,h.y0=r.y,h.x1=o.x,h.y1=o.y,h},AM=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];CM.extend({type:"markArea",updateTransform:function(t,e,n){e.eachSeries(function(t){var e=t.markAreaModel;if(e){var i=e.getData();i.each(function(e){var r=p(AM,function(r){return cp(i,e,r,t,n)});i.setItemLayout(e,r);var a=i.getItemGraphicEl(e);a.setShape("points",r)})}},this)},renderSeries:function(t,e,n,i){var r=t.coordinateSystem,a=t.id,o=t.getData(),l=this.markerGroupMap,u=l.get(a)||l.set(a,{group:new Lg});this.group.add(u.group),u.__keep=!0;var h=dp(r,t,e);e.setData(h),h.each(function(e){var n=p(AM,function(n){return cp(h,e,n,t,i)}),a=!0;f(AM,function(t){if(a){var n=h.get(t[0],e),i=h.get(t[1],e);(lp(n)||r.getAxis("x").containData(n))&&(lp(i)||r.getAxis("y").containData(i))&&(a=!1)}}),h.setItemLayout(e,{points:n,allClipped:a}),h.setItemVisual(e,{color:o.getVisual("color")})}),h.diff(u.__data).add(function(t){var e=h.getItemLayout(t);if(!e.allClipped){var n=new ey({shape:{points:e.points}});h.setItemGraphicEl(t,n),u.group.add(n)}}).update(function(t,n){var i=u.__data.getItemGraphicEl(n),r=h.getItemLayout(t);r.allClipped?i&&u.group.remove(i):(i?Ja(i,{shape:{points:r.points}},e,t):i=new ey({shape:{points:r.points}}),h.setItemGraphicEl(t,i),u.group.add(i))}).remove(function(t){var e=u.__data.getItemGraphicEl(t);u.group.remove(e)}).execute(),h.eachItemGraphicEl(function(t,n){var i=h.getItemModel(n),r=i.getModel("label"),a=i.getModel("emphasis.label"),o=h.getItemVisual(n,"color");t.useStyle(s(i.getModel("itemStyle").getItemStyle(),{fill:ln(o,.4),stroke:o})),t.hoverStyle=i.getModel("emphasis.itemStyle").getItemStyle(),Ha(t.style,t.hoverStyle,r,a,{labelFetcher:e,labelDataIndex:n,defaultText:h.getName(n)||"",isRectText:!0,autoColor:o}),Ra(t,{}),t.dataModel=e}),u.__data=h,u.group.silent=e.get("silent")||t.get("silent")}}),_u(function(t){t.markArea=t.markArea||{}}),t.version=O_,t.dependencies=E_,t.PRIORITY=j_,t.init=fu,t.connect=pu,t.disConnect=gu,t.disconnect=fw,t.dispose=vu,t.getInstanceByDom=mu,t.getInstanceById=yu,t.registerTheme=xu,t.registerPreprocessor=_u,t.registerProcessor=wu,t.registerPostUpdate=bu,t.registerAction=Su,t.registerCoordinateSystem=Mu,t.getCoordinateSystemDimensions=Iu,t.registerLayout=Tu,t.registerVisual=Cu,t.registerLoading=Au,t.extendComponentModel=ku,t.extendComponentView=Pu,t.extendSeriesModel=Lu,t.extendChartView=Ou,t.setCanvasCreator=Eu,t.registerMap=Bu,t.getMap=zu,t.dataTool=pw,t.zrender=kv,t.number=Hy,t.format=qy,t.throttle=vl,t.helper=vb,t.matrix=tg,t.vector=Np,t.color=xg,t.parseGeoJSON=yb,t.parseGeoJson=bb,t.util=Sb,t.graphic=Mb,t.List=Tw,t.Model=fo,t.Axis=wb,t.env=yp});
\ No newline at end of file
diff --git a/ec-canvas/wx-canvas.js b/ec-canvas/wx-canvas.js
new file mode 100644
index 0000000..23ce9ad
--- /dev/null
+++ b/ec-canvas/wx-canvas.js
@@ -0,0 +1,97 @@
+export default class WxCanvas {
+ constructor(ctx, canvasId) {
+ this.ctx = ctx;
+ this.canvasId = canvasId;
+ this.chart = null;
+
+ // this._initCanvas(zrender, ctx);
+ this._initStyle(ctx);
+ this._initEvent();
+ }
+
+ getContext(contextType) {
+ if (contextType === '2d') {
+ return this.ctx;
+ }
+ }
+
+ // canvasToTempFilePath(opt) {
+ // if (!opt.canvasId) {
+ // opt.canvasId = this.canvasId;
+ // }
+
+ // return wx.canvasToTempFilePath(opt, this);
+ // }
+
+ setChart(chart) {
+ this.chart = chart;
+ }
+
+ attachEvent () {
+ // noop
+ }
+
+ detachEvent() {
+ // noop
+ }
+
+ _initCanvas(zrender, ctx) {
+ zrender.util.getContext = function () {
+ return ctx;
+ };
+
+ zrender.util.$override('measureText', function (text, font) {
+ ctx.font = font || '12px sans-serif';
+ return ctx.measureText(text);
+ });
+ }
+
+ _initStyle(ctx) {
+ var styles = ['fillStyle', 'strokeStyle', 'globalAlpha',
+ 'textAlign', 'textBaseAlign', 'shadow', 'lineWidth',
+ 'lineCap', 'lineJoin', 'lineDash', 'miterLimit', 'fontSize'];
+
+ styles.forEach(style => {
+ Object.defineProperty(ctx, style, {
+ set: value => {
+ if (style !== 'fillStyle' && style !== 'strokeStyle'
+ || value !== 'none' && value !== null
+ ) {
+ ctx['set' + style.charAt(0).toUpperCase() + style.slice(1)](value);
+ }
+ }
+ });
+ });
+
+ ctx.createRadialGradient = () => {
+ return ctx.createCircularGradient(arguments);
+ };
+ }
+
+ _initEvent() {
+ this.event = {};
+ const eventNames = [{
+ wxName: 'touchStart',
+ ecName: 'mousedown'
+ }, {
+ wxName: 'touchMove',
+ ecName: 'mousemove'
+ }, {
+ wxName: 'touchEnd',
+ ecName: 'mouseup'
+ }, {
+ wxName: 'touchEnd',
+ ecName: 'click'
+ }];
+
+ eventNames.forEach(name => {
+ this.event[name.wxName] = e => {
+ const touch = e.touches[0];
+ this.chart.getZr().handler.dispatch(name.ecName, {
+ zrX: name.wxName === 'tap' ? touch.clientX : touch.x,
+ zrY: name.wxName === 'tap' ? touch.clientY : touch.y
+ });
+ };
+ });
+ }
+}
diff --git a/host.js b/host.js
new file mode 100644
index 0000000..4233272
--- /dev/null
+++ b/host.js
@@ -0,0 +1,3 @@
+// var host = 'https://ht.cdwwzc.com/', uniacid = '1'; module.exports = {host, uniacid};
+var host = 'https://mp.yhzbkj.com', uniacid = '1',store_id = '14';
+module.exports = {host, uniacid,store_id};
\ No newline at end of file
diff --git a/image/bg.png b/image/bg.png
new file mode 100644
index 0000000..f30df6d
Binary files /dev/null and b/image/bg.png differ
diff --git a/image/buy.png b/image/buy.png
new file mode 100644
index 0000000..2453aaf
Binary files /dev/null and b/image/buy.png differ
diff --git a/image/card_img_a.png b/image/card_img_a.png
new file mode 100644
index 0000000..c4f7394
Binary files /dev/null and b/image/card_img_a.png differ
diff --git a/image/card_img_b.png b/image/card_img_b.png
new file mode 100644
index 0000000..c788de6
Binary files /dev/null and b/image/card_img_b.png differ
diff --git a/image/card_img_c.png b/image/card_img_c.png
new file mode 100644
index 0000000..62f77de
Binary files /dev/null and b/image/card_img_c.png differ
diff --git a/image/card_img_d.png b/image/card_img_d.png
new file mode 100644
index 0000000..679baf8
Binary files /dev/null and b/image/card_img_d.png differ
diff --git a/image/couponsbg_1.png b/image/couponsbg_1.png
new file mode 100644
index 0000000..a07a7e4
Binary files /dev/null and b/image/couponsbg_1.png differ
diff --git a/image/couponsbg_2.png b/image/couponsbg_2.png
new file mode 100644
index 0000000..cc9b057
Binary files /dev/null and b/image/couponsbg_2.png differ
diff --git a/image/couponsbg_3.png b/image/couponsbg_3.png
new file mode 100644
index 0000000..cdfe70d
Binary files /dev/null and b/image/couponsbg_3.png differ
diff --git a/image/couponsbg_4.png b/image/couponsbg_4.png
new file mode 100644
index 0000000..54d38f8
Binary files /dev/null and b/image/couponsbg_4.png differ
diff --git a/image/couponsbg_5.png b/image/couponsbg_5.png
new file mode 100644
index 0000000..b5fa425
Binary files /dev/null and b/image/couponsbg_5.png differ
diff --git a/image/couponsbg_6.png b/image/couponsbg_6.png
new file mode 100644
index 0000000..32d8ed3
Binary files /dev/null and b/image/couponsbg_6.png differ
diff --git a/image/couponsbg_7.png b/image/couponsbg_7.png
new file mode 100644
index 0000000..2e3c0db
Binary files /dev/null and b/image/couponsbg_7.png differ
diff --git a/image/couponsbg_8.png b/image/couponsbg_8.png
new file mode 100644
index 0000000..a36febc
Binary files /dev/null and b/image/couponsbg_8.png differ
diff --git a/image/credit_value_popup_decoration.png b/image/credit_value_popup_decoration.png
new file mode 100644
index 0000000..7162a8c
Binary files /dev/null and b/image/credit_value_popup_decoration.png differ
diff --git a/image/directSeeding/cart.png b/image/directSeeding/cart.png
new file mode 100644
index 0000000..ec33088
Binary files /dev/null and b/image/directSeeding/cart.png differ
diff --git a/image/directSeeding/close.png b/image/directSeeding/close.png
new file mode 100644
index 0000000..2c60b9f
Binary files /dev/null and b/image/directSeeding/close.png differ
diff --git a/image/directSeeding/close2_icon.png b/image/directSeeding/close2_icon.png
new file mode 100644
index 0000000..f3474a5
Binary files /dev/null and b/image/directSeeding/close2_icon.png differ
diff --git a/image/directSeeding/close3_icon.png b/image/directSeeding/close3_icon.png
new file mode 100644
index 0000000..62c6013
Binary files /dev/null and b/image/directSeeding/close3_icon.png differ
diff --git a/image/directSeeding/close_icon.png b/image/directSeeding/close_icon.png
new file mode 100644
index 0000000..8494ae5
Binary files /dev/null and b/image/directSeeding/close_icon.png differ
diff --git a/image/directSeeding/start_icon.png b/image/directSeeding/start_icon.png
new file mode 100644
index 0000000..e0a04bf
Binary files /dev/null and b/image/directSeeding/start_icon.png differ
diff --git a/image/directSeeding/zb_gift_icon.png b/image/directSeeding/zb_gift_icon.png
new file mode 100644
index 0000000..5ca7bdd
Binary files /dev/null and b/image/directSeeding/zb_gift_icon.png differ
diff --git a/image/directSeeding/zb_like_icon.png b/image/directSeeding/zb_like_icon.png
new file mode 100644
index 0000000..a243336
Binary files /dev/null and b/image/directSeeding/zb_like_icon.png differ
diff --git a/image/icon_API.png b/image/icon_API.png
new file mode 100644
index 0000000..be84110
Binary files /dev/null and b/image/icon_API.png differ
diff --git a/image/icon_API_HL.png b/image/icon_API_HL.png
new file mode 100644
index 0000000..acd2305
Binary files /dev/null and b/image/icon_API_HL.png differ
diff --git a/image/icon_I.png b/image/icon_I.png
new file mode 100644
index 0000000..2008fab
Binary files /dev/null and b/image/icon_I.png differ
diff --git a/image/icon_I_HL.png b/image/icon_I_HL.png
new file mode 100644
index 0000000..7024576
Binary files /dev/null and b/image/icon_I_HL.png differ
diff --git a/image/icon_cart.png b/image/icon_cart.png
new file mode 100644
index 0000000..8354406
Binary files /dev/null and b/image/icon_cart.png differ
diff --git a/image/icon_cart_HL.png b/image/icon_cart_HL.png
new file mode 100644
index 0000000..0f6e96e
Binary files /dev/null and b/image/icon_cart_HL.png differ
diff --git a/image/icon_commission.png b/image/icon_commission.png
new file mode 100644
index 0000000..cf70a54
Binary files /dev/null and b/image/icon_commission.png differ
diff --git a/image/icon_commission_HL.png b/image/icon_commission_HL.png
new file mode 100644
index 0000000..5de17ed
Binary files /dev/null and b/image/icon_commission_HL.png differ
diff --git a/image/icon_component.png b/image/icon_component.png
new file mode 100644
index 0000000..9d3cb2d
Binary files /dev/null and b/image/icon_component.png differ
diff --git a/image/icon_component_HL.png b/image/icon_component_HL.png
new file mode 100644
index 0000000..0287c5e
Binary files /dev/null and b/image/icon_component_HL.png differ
diff --git a/image/icon_index.png b/image/icon_index.png
new file mode 100644
index 0000000..bc9ce23
Binary files /dev/null and b/image/icon_index.png differ
diff --git a/image/icon_index_HL.png b/image/icon_index_HL.png
new file mode 100644
index 0000000..0fa8982
Binary files /dev/null and b/image/icon_index_HL.png differ
diff --git a/image/kefu.png b/image/kefu.png
new file mode 100644
index 0000000..59c3f07
Binary files /dev/null and b/image/kefu.png differ
diff --git a/image/level-icon.png b/image/level-icon.png
new file mode 100644
index 0000000..6e5337f
Binary files /dev/null and b/image/level-icon.png differ
diff --git a/image/rob-time.png b/image/rob-time.png
new file mode 100644
index 0000000..9f2b974
Binary files /dev/null and b/image/rob-time.png differ
diff --git a/image/uppictures.png b/image/uppictures.png
new file mode 100644
index 0000000..6aa17a2
Binary files /dev/null and b/image/uppictures.png differ
diff --git a/images.wxss b/images.wxss
new file mode 100644
index 0000000..bd23231
--- /dev/null
+++ b/images.wxss
@@ -0,0 +1,19 @@
+.background-member-userinfo {
+ background: url("http://oih1b0zlf.bkt.clouddn.com/userinfoBg.png") no-repeat top left #f55955;
+ background-size: 100% auto;
+}
+
+.background-supplier-userinfo {
+ background: url("http://oih1b0zlf.bkt.clouddn.com/userinfoBg.png") no-repeat top left #4eae7b;
+ background-size: 100% auto;
+}
+
+.background-commission-userinfo {
+ background: url("http://oih1b0zlf.bkt.clouddn.com/userinfoBg.png") no-repeat top left #4c5c6e;
+ background-size: 100% auto;
+}
+
+.background-address {
+ background: url("http://oih1b0zlf.bkt.clouddn.com/addressBorder.png") repeat-x bottom left;
+ background-size: auto 12rpx;
+}
diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 0000000..e3765ee
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,7 @@
+{
+ "compilerOptions": {
+
+ },
+ "exclude": [
+ ]
+}
\ No newline at end of file
diff --git a/mybehaviors/getInvite/getInvite.js b/mybehaviors/getInvite/getInvite.js
new file mode 100644
index 0000000..ae565fe
--- /dev/null
+++ b/mybehaviors/getInvite/getInvite.js
@@ -0,0 +1,149 @@
+var app = getApp();
+module.exports = Behavior({
+ data: {},
+ methods: {
+ checktoInvite(data, flag) {
+ let that = this;
+ if (data.real_name_auth_is_open === 1) {
+ // 判断实名插件是否开启
+ if (data.is_auth !== 1) {
+ // 是否已经实名过
+ this.bind_real_name(data.real_name_auth_scene, app.globalData.pathData, flag);
+ }
+ return;
+ }
+
+ if (data.is_bind_mobile !== 0) {
+ this.bindMobile(data.is_bind_mobile, app.globalData.pathData, flag);
+ } else {
+ if (data.is_login === 1) {
+ // 登录
+ if (data.is_invite !== 1) {
+ // 是否填写过邀请人
+ if (data.invite_page === 1) {
+ //是否开启邀请页面
+ wx.redirectTo({
+ url: "/packageC/member/visit/Inviter/Inviter",
+ });
+ } else {
+ that.gotourl(flag);
+ }
+ } else {
+ if (typeof data.invite_mobile != "undefined" && data.invite_mobile !== 1 && data.invite_page === 1) {
+ wx.redirectTo({
+ url: "/packageC/member/visit/Inviter/Inviter",
+ });
+ } else {
+ that.gotourl(flag);
+ }
+ }
+ } else {
+ that.gotourl(flag);
+ }
+ }
+ },
+ //查看用户是否需要绑定手机号 fromApp是路由跳转条件
+ bindMobile(e, setpathData, flag) {
+ if (e == 1) {
+ //跳转绑定手机页面
+ wx.reLaunch({
+ url: "/packageA/member/editmobile/editmobile?logintype=1&fromApp=1",
+ });
+ } else if (e == 2 && setpathData.indexOf("index_v2/index_v2") > 0) {
+ wx.reLaunch({
+ url: "/packageA/member/editmobile/editmobile?logintype=1&fromApp=2",
+ });
+ } else if (e == 3 && setpathData.indexOf("detail_v2/detail_v2") > 0) {
+ wx.reLaunch({
+ url: "/packageA/member/editmobile/editmobile?logintype=1&fromApp=1",
+ });
+ } else if (e == 4 && setpathData.indexOf("extension/extension") > 0) {
+ wx.reLaunch({
+ url: "/packageA/member/editmobile/editmobile?logintype=1&fromApp=4",
+ });
+ } else {
+ this.gotourl(flag);
+ }
+ },
+
+ bind_real_name(scene, routeData, flag) {
+ // 全局1 提现申请2 发布短视频3 发布微贴4 推广中心5
+ if (routeData !== 'packageH/signPage/personBank/personBank') {
+ wx.setStorageSync("real_name_redirect", routeData);
+ }
+ if (scene.indexOf('1') > -1) {
+ wx.reLaunch({
+ url: "/packageH/signPage/personBank/personBank?from=bindRealName",
+ });
+ } else if (scene.indexOf('2') > -1 && routeData == "packageA/member/withdrawal/withdrawal") {
+ // 提现申请
+ wx.reLaunch({
+ url: "/packageH/signPage/personBank/personBank?from=bindRealName",
+ });
+ } else if (scene.indexOf('3') > -1 && (routeData == "packageC/video_goods/videoAgreement/videoAgreement" || routeData == "packageC/video_goods/releaseVideo/releaseVideo")) {
+ // 发布短视频
+ wx.reLaunch({
+ url: "/packageH/signPage/personBank/personBank?from=bindRealName",
+ });
+ } else if (scene.indexOf('4') > -1 && routeData == "packageC/micro_communities/microRelease/microRelease") {
+ // 发布微贴
+ wx.reLaunch({
+ url: "/packageH/signPage/personBank/personBank?from=bindRealName",
+ });
+ } else if (scene.indexOf('5') > -1 && routeData == "packageG/pages/member/extension/extension") {
+ // 推广中心
+ wx.reLaunch({
+ url: "/packageH/signPage/personBank/personBank?from=bindRealName",
+ });
+ } else {
+ this.gotourl(flag);
+ }
+
+ },
+ gotourl(flag) {
+ try {
+ if (!this.data.yzredirect || flag === 'member') {
+ this.gomember();
+ } else {
+ if (this.data.yzredirect.indexOf("login/login") > 0) {
+ this.gomember();
+ } else if (this.data.yzredirect.indexOf("pages/live-player-plugin") > 0) {
+ //从直播进入商品详情授权登录
+ let pages = getCurrentPages();
+ let page = pages[pages.length - 2];
+ page.onLoad(page.options);
+ wx.navigateBack({
+ delta: 1,
+ fail: (res) => {
+ // 防止跳转不了 尝试直接指向会员中心
+ wx.reLaunch({
+ url: '/packageG/member_v2/member_v2',
+ });
+ }
+ });
+ } else {
+ wx.reLaunch({
+ url: "/" + this.data.yzredirect,
+ fail: (res) => {
+ // 防止跳转不了 尝试直接指向会员中心
+ wx.reLaunch({
+ url: '/packageG/member_v2/member_v2',
+ });
+ }
+ });
+ }
+ }
+ } catch (e) {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ }
+ },
+
+ gomember() {
+ wx.reLaunch({
+ url: "/packageG/member_v2/member_v2",
+ });
+ },
+ },
+});
\ No newline at end of file
diff --git a/mybehaviors/location/location.js b/mybehaviors/location/location.js
new file mode 100644
index 0000000..c4d2ea4
--- /dev/null
+++ b/mybehaviors/location/location.js
@@ -0,0 +1,144 @@
+var app = getApp();
+module.exports = Behavior({
+ data: {
+ address_a: "",
+ point: {
+ lat: "",
+ lng: "",
+ },
+ city: "",
+ },
+ methods: {
+ _getLocation(callback,errCall) {
+ if (app.globalData.isLocationIng) {
+ // 防止同时获取定位信息弹窗
+ setTimeout(() => {
+ this._getLocation(callback);
+ }, 100);
+ return;
+ }
+ app.globalData.isLocationIng = true;
+ wx.getSetting({
+ success: (resData) => {
+ if (!resData.authSetting["scope.userLocation"]) {
+ wx.authorize({
+ scope: "scope.userLocation",
+ success() {},
+ fail(msgData) {},
+ complete: () => {
+ this.getlocaldata(callback,errCall);
+ },
+ });
+ } else {
+ this.getlocaldata(callback,errCall);
+ }
+ },
+ fail(msgData) {
+ console.log(msgData);
+ }
+ });
+ },
+ getlocaldata(callback,errCall) {
+ if (wx.getStorageSync("address-point")) {
+ let point = wx.getStorageSync("address-point").point;
+ this._setaddressData({
+ lat: point.lat,
+ lng: point.lng,
+ from: 'storage'
+ },
+ callback
+ );
+ } else {
+ wx.getLocation({
+ type: "gcj02",
+ success: (res) => {
+ const latitude = res.latitude;
+ const longitude = res.longitude;
+ // const speed = res.speed;
+ // const accuracy = res.accuracy;
+ this._setaddressData({
+ lat: latitude,
+ lng: longitude,
+ },
+ callback
+ );
+ },
+ fail: (err) => {
+ if (err.errMsg === "getLocation:fail auth deny") {
+ console.log("当初用户拒绝,再次发起授权");
+ wx.openSetting({
+ success: (settingdata) => {
+ if (settingdata.authSetting["scope.userLocation"]) {
+ wx.showToast({
+ icon: "none",
+ title: "获取权限成功",
+ duration: 1500,
+ });
+ this.getlocaldata(callback);
+ } else {
+ app.globalData.isLocationIng = false;
+ wx.showToast({
+ icon: "none",
+ title: "获取权限失败,定位需要用户授权",
+ duration: 1500,
+ });
+ }
+ },
+ fail:(err)=>{
+ try {
+ this.is_errCall(errCall)
+ } catch (error) {
+ console.log(error)
+ }
+ }
+ });
+ }else{
+ app.globalData.isLocationIng = false;
+ }
+ },
+ });
+ }
+ },
+ is_errCall(errCall){
+ errCall(false)
+ },
+ _setaddressData(e, callback) {
+ app
+ .getReverseGeocoder(e.lat, e.lng)
+ .then((res) => {
+ let mapdata = res;
+ this.setData({
+ "point.lat": e.lat||'',
+ "point.lng": e.lng||'',
+ address_a: mapdata.address,
+ title: mapdata.formatted_addresses&&mapdata.formatted_addresses.recommend?mapdata.formatted_addresses.recommend:'',
+ city: !app._isTextEmpty(mapdata.address_component.city) ? mapdata.address_component.city :(!app._isTextEmpty(mapdata.address_component.province)?mapdata.address_component.province:'') ,
+ });
+ if (e.from === 'storage') {
+ // 缓存获取就不重新设置
+ app.globalData.isLocationIng = false;
+ callback && callback(mapdata, e);
+ } else {
+ wx.setStorage({
+ key: "address-point",
+ data: {
+ point: this.data.point,
+ city: this.data.city,
+ address_component: mapdata.address_component
+ },
+ success: (res) => {
+ //异步缓存
+ app.globalData.isLocationIng = false;
+ callback && callback(mapdata, e);
+ },
+ });
+ }
+
+ })
+ .catch((err) => {
+ app.globalData.isLocationIng = false;
+ console.log(err);
+ });
+ },
+ },
+});
\ No newline at end of file
diff --git a/mycomponent/ConnectCustomerService/ConnectCustomerService.js b/mycomponent/ConnectCustomerService/ConnectCustomerService.js
new file mode 100644
index 0000000..1f43fbc
--- /dev/null
+++ b/mycomponent/ConnectCustomerService/ConnectCustomerService.js
@@ -0,0 +1,56 @@
+// mycomponent/ConnectCustomerService/DConnectCustomerService.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ zIndex: {
+ type: Number,
+ value: 2,
+ },
+ show: {
+ type: Boolean,
+ value: false,
+ },
+ qrcode: {
+ type: String,
+ value: null,
+ },
+ online: {
+ type: String,
+ value: null,
+ },
+ customer_open: {
+ type: String || Number,
+ value: null,
+ },
+ tel: {
+ type: String,
+ value: null,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {},
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ closePopup() {
+ this.triggerEvent("closed");
+ this.setData({
+ show: false,
+ });
+ },
+ phoneCall() {
+ if (this.data.tel) {
+ wx.makePhoneCall({
+ phoneNumber: this.data.tel,
+ });
+ }
+ },
+ },
+});
\ No newline at end of file
diff --git a/mycomponent/ConnectCustomerService/ConnectCustomerService.json b/mycomponent/ConnectCustomerService/ConnectCustomerService.json
new file mode 100644
index 0000000..ac54723
--- /dev/null
+++ b/mycomponent/ConnectCustomerService/ConnectCustomerService.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index"
+ }
+}
diff --git a/mycomponent/ConnectCustomerService/ConnectCustomerService.wxml b/mycomponent/ConnectCustomerService/ConnectCustomerService.wxml
new file mode 100644
index 0000000..ac8c1ff
--- /dev/null
+++ b/mycomponent/ConnectCustomerService/ConnectCustomerService.wxml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+ {{ tel }}
+
+
+
+
+
+
+ 暂无联系方式~
+
+
diff --git a/mycomponent/ConnectCustomerService/ConnectCustomerService.wxss b/mycomponent/ConnectCustomerService/ConnectCustomerService.wxss
new file mode 100644
index 0000000..39fa62f
--- /dev/null
+++ b/mycomponent/ConnectCustomerService/ConnectCustomerService.wxss
@@ -0,0 +1,78 @@
+/* mycomponent/ConnectCustomerService/DConnectCustomerService.wxss */
+.d-connect-service {
+ padding: 50rpx 0;
+}
+
+.connect-methods {
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+ row-gap: 80rpx;
+}
+
+.connect-method_item {
+ flex-basis: 48%;
+ flex-shrink: 0;
+ flex-grow: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.connect-method_item:nth-child(odd) {
+ position: relative;
+}
+
+.connect-method_item:nth-child(odd)::after {
+ content: "";
+ position: absolute;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto 0;
+ width: 2rpx;
+ height: 52rpx;
+ background-color: #999;
+}
+
+.connect-method_item:nth-child(odd):last-child::after {
+ display: none;
+}
+
+.connect-method_item::after {
+ border: none;
+}
+
+.connect-method_icon {
+ display: block;
+ margin-bottom: 8rpx;
+ width: 84rpx;
+ height: 84rpx;
+ object-fit: cover;
+}
+
+.connect-method-content {
+ padding: 0 20rpx;
+}
+
+.connect-qrcode {
+ padding: 0 20rpx;
+ margin-top: 40rpx;
+ text-align: center;
+}
+
+.connect-method-empty {
+ text-align: center;
+}
+
+.connect-methods button {
+ width: 100%;
+ height: 100%;
+ line-height: 1.5;
+ font-size: 14px;
+ background-color: transparent;
+}
+
+.connect-methods button::after {
+ border: none;
+}
diff --git a/mycomponent/DTurntable/DTurntable.js b/mycomponent/DTurntable/DTurntable.js
new file mode 100644
index 0000000..0e5dff5
--- /dev/null
+++ b/mycomponent/DTurntable/DTurntable.js
@@ -0,0 +1,207 @@
+// mycomponent/DTurntable/DTurntable.js
+// let angle = 0;
+// let duration = 0;
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ prize: {
+ type: Array,
+ value: [], //* 奖品,数组类型,格式 [ { text:"aaa",image:"图片地址",color:"随css颜色" },... ] 当数组后面的元素的没有color时会循环 前面的color
+ },
+ start: {
+ type: Boolean,
+ value: false, //* 是否开始旋转,会监听这个变量,为true时旋转
+ },
+ lottery: {
+ type: Number,
+ value: 0, //* 中奖的 索引号 相对于prize
+ },
+ minTurns: {
+ type: Number,
+ value: 3, //* 旋转最少 多少圈
+ },
+ maxTurns: {
+ type: Number,
+ value: 5, //* 旋转最多 多少圈
+ },
+ minDuration: {
+ type: Number, //* transition 最小时间 */
+ value: 7, //* 秒级
+ },
+ maxDuration: {
+ type: Number, //* transition 最大时间 会随机从 minDuration 和maxDuration中选择一个随机数 */
+ value: -1, //* 秒级
+ },
+ debug: {
+ type: Boolean, //* 调试模式,会隐藏canvas和显示奖品index
+ value: false,
+ },
+ angle: {
+ type: Number, //* 距离中奖区域边距 例如中奖区域是 15-30度 指针落在区域会是 15+angle的度数 至 30-angle的度数之间。传入是-1的话就是正中心
+ value: -1,
+ },
+ infinite: {
+ type: Boolean, //* 无限滚动。当突然变为false会开始正常滚动
+ value: false,
+ },
+ },
+
+ ready() {
+ if (this.data.debug === false) {
+ this.drawCircle();
+ }
+ let prize = this.data.prize;
+ for (let index = 0; index < prize.length; index++) {
+ const prizeItem = prize[index];
+ prizeItem["angle"] = (360 / prize.length) * index + 180 / prize.length;
+ }
+ this.fillLatticeColor();
+ prize = prize.reverse();
+ this.setData({
+ itemAngle: 360 / this.data.prize.length,
+ prize,
+ });
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ lotteryRotateAngle: 0,
+ transitionDuration: 0,
+ transitionFunction: "linear",
+ spinning: false,
+ itemAngle: 0,
+ latticeColors: [],
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ drawCircle() {
+ const query = this.createSelectorQuery();
+ query
+ .select("#lotteryCanvas")
+ .fields({ node: true, size: true })
+ .exec((res) => {
+ let latticeColors = this.data.latticeColors;
+ if (latticeColors.length == 0) {
+ latticeColors = this.generateColors(["#fff", "#feb446"], this.data.prize.length);
+ }
+
+ const borderColor = "transparent";
+ const prizeLength = latticeColors.length;
+ const canvasNode = res[0].node;
+ const screenDPR = wx.getSystemInfoSync().pixelRatio;
+ const canvasContext = canvasNode.getContext("2d");
+ const canvasW = res[0].width * screenDPR;
+ const canvasH = res[0].height * screenDPR;
+ canvasNode.width = canvasW;
+ canvasNode.height = canvasH;
+ canvasContext.translate(0, canvasH);
+
+ canvasContext.rotate((-90 * Math.PI) / 180);
+
+ const outRadius = canvasW / 2;
+
+ const innerRadius = 0;
+ const baseAngle = (Math.PI * 2) / prizeLength;
+ canvasContext.clearRect(0, 0, canvasW, canvasH);
+ canvasContext.strokeStyle = borderColor; // 设置画图线的颜色
+ for (let index = 0; index < prizeLength; index++) {
+ const angle = index * baseAngle;
+ canvasContext.fillStyle = latticeColors[index];
+ canvasContext.beginPath();
+ canvasContext.arc(canvasW * 0.5, canvasH * 0.5, outRadius, angle, angle + baseAngle, false);
+ canvasContext.arc(canvasW * 0.5, canvasH * 0.5, innerRadius, angle + baseAngle, angle, true);
+ canvasContext.stroke(); //开始连线
+ canvasContext.fill(); //填充颜色
+ canvasContext.save(); //保存当前环境的状态
+ }
+ });
+ },
+ startSpinning() {
+ if (this.data.spinning) {
+ return;
+ }
+ const borderStart = this.data.lottery * this.data.itemAngle; //* 中奖区域开始度数
+ const borderEnd = borderStart + this.data.itemAngle; //* 中奖区域结束度数
+ const randomTurns = this.randomRange(this.data.minTurns, this.data.maxTurns); //* 随机圈数
+ let maxDurationSeconds = randomTurns;
+ if (this.data.maxDuration !== -1) {
+ maxDurationSeconds = this.data.maxDuration;
+ }
+ const rotateTransitionDurationSeconds = this.randomRange(this.data.minDuration, maxDurationSeconds); //* 随机 过渡时间 每圈时间=randomTurns / rotateTransitionDurationSeconds
+ let angle = randomTurns * 360;
+ if (this.data.angle === -1) {
+ angle += borderStart + this.data.itemAngle / 2; //* 奖品正中心
+ } else {
+ angle += this.randomRange(borderStart, borderEnd); //* 随机度数 圈数*360 也就是转多少圈, 加上后面的指定度数 就停在指定礼品区域
+ }
+ this.setData(
+ {
+ lotteryRotateAngle: 0,
+ transitionDuration: 0,
+ spinning: true,
+ },
+ () => {
+ setTimeout(() => {
+ this.setData({
+ lotteryRotateAngle: angle,
+ transitionDuration: rotateTransitionDurationSeconds,
+ });
+ setTimeout(() => {
+ this.setData({
+ spinning: false,
+ });
+ this.triggerEvent("end", {
+ duration: rotateTransitionDurationSeconds,
+ angle,
+ turns: randomTurns,
+ angleRange: {
+ start: borderStart,
+ end: borderEnd,
+ },
+ itemAngle: this.data.itemAngle,
+ });
+ }, rotateTransitionDurationSeconds * 1000);
+ }, 500);
+ }
+ );
+ },
+ randomRange(lowerValue, upperValue) {
+ return Math.floor(Math.random() * (upperValue - lowerValue + 1) + lowerValue);
+ },
+ fillLatticeColor() {
+ let latticeColors = [];
+ this.data.prize.forEach((prizeItem) => {
+ if (prizeItem.color) {
+ latticeColors.push(prizeItem.color);
+ }
+ });
+ if (latticeColors.length > 0) {
+ latticeColors = this.generateColors(latticeColors, this.data.prize.length);
+ }
+ this.setData({
+ latticeColors,
+ });
+ },
+ generateColors(initColors = [], needLength) {
+ let initLength = initColors.length;
+ for (let index = initColors.length; index < needLength; index++) {
+ initColors.push(initColors[index - initLength]);
+ }
+ return initColors;
+ },
+ },
+ observers: {
+ start(newV) {
+ if (newV === true) {
+ this.startSpinning();
+ }
+ },
+ },
+});
diff --git a/mycomponent/DTurntable/DTurntable.json b/mycomponent/DTurntable/DTurntable.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/mycomponent/DTurntable/DTurntable.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/DTurntable/DTurntable.wxml b/mycomponent/DTurntable/DTurntable.wxml
new file mode 100644
index 0000000..f8356d5
--- /dev/null
+++ b/mycomponent/DTurntable/DTurntable.wxml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+ {{ item.text }}
+ {{ index }}
+
+
+
\ No newline at end of file
diff --git a/mycomponent/DTurntable/DTurntable.wxss b/mycomponent/DTurntable/DTurntable.wxss
new file mode 100644
index 0000000..e0e0c8b
--- /dev/null
+++ b/mycomponent/DTurntable/DTurntable.wxss
@@ -0,0 +1,81 @@
+/* mycomponent/DTurntable/DTurntable.wxss */
+.turntable {
+ position: relative;
+ width: inherit;
+ height: inherit;
+ transform: rotate(0deg);
+}
+
+.turntable-infinte {
+ animation: rotate360deg 2s infinite linear;
+}
+
+@keyframes rotate360deg {
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ 50% {
+ transform: rotate(180deg);
+ }
+
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+.turntable > canvas {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: -1;
+ margin: auto;
+ width: 510rpx;
+ height: 510rpx;
+ border-radius: 50%;
+ overflow: hidden;
+}
+
+/* 转盘的装饰 - 内阴影 */
+.turntable-canvas_inner-shadow {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 1;
+ margin: auto;
+ width: 510rpx;
+ height: 510rpx;
+ box-shadow: 0 0 20rpx inset rgba(0, 0, 0, 0.3);
+ border-radius: 50%;
+ border: 5rpx solid #bd4c1d;
+}
+
+/* 装盘的奖品列表 */
+.prize-list {
+ position: absolute;
+ z-index: 999;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ margin: auto;
+ width: 205rpx;
+ height: 420rpx;
+ text-align: center;
+ transform: translateZ(0);
+ transform-origin: center;
+}
+
+.price-item {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+
+ /* transform-origin: center bottom; */
+}
diff --git a/mycomponent/channelsLiveFloat/channelsLiveFloat.js b/mycomponent/channelsLiveFloat/channelsLiveFloat.js
new file mode 100644
index 0000000..cd9a65a
--- /dev/null
+++ b/mycomponent/channelsLiveFloat/channelsLiveFloat.js
@@ -0,0 +1,102 @@
+// mycomponent/channelsLiveFloat/channelsLiveFloat.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {},
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ channelsLive: null, //缓存视频号信息,防止频繁调用wx.getChannelsLiveInfo
+
+ liveSettingInfo: {}, //视频号配置信息
+
+ is_open: false, //当前悬浮框是否开启(插件没开或者当前页面没开都为false)
+
+ openPages: [], //页面开启集合
+ },
+ ready() {
+ let basic_info = wx.getStorageSync("yz_basic_info");
+ let plugin_setting = basic_info.plugin_setting;
+ console.log(basic_info);
+ if (plugin_setting && plugin_setting["video_live_room"] && plugin_setting["video_live_room"] == 1) {
+ this.getLiveSetting();
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ openChannelsLive() {
+ let liveInfo = this.data.channelsLive;
+ wx.openChannelsLive({
+ finderUserName: this.data.liveSettingInfo.video_id,
+ feedId: liveInfo.feedId,
+ nonceId: liveInfo.nonceId,
+ });
+ },
+
+ getLiveSetting() {
+ let urlStr = app.getNetAddresss("plugin.video-live-room.frontend.index.get-data");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result != 1) return;
+
+ this.setData({
+ liveSettingInfo: res.data,
+ });
+ this.checkOpen();
+ },
+ });
+ },
+ checkOpen() {
+ //验证当前页面是否开启显示
+
+ if (this.data.liveSettingInfo.is_open != 1) return;
+
+ let display_page = this.data.liveSettingInfo.display_page;
+ let pageArr = display_page.split(",");
+
+ if (pageArr.includes("1")) {
+ //首页
+ this.data.openPages.push("packageG/index/index");
+ }
+ if (pageArr.includes("2")) {
+ //商品详情页
+ this.data.openPages.push("packageA/detail_v2/detail_v2");
+ }
+
+ let pages = getCurrentPages();
+ let page = pages[pages.length - 1];
+ console.log(this.data.liveSettingInfo, "page");
+
+ if (this.data.openPages.includes(page.route)) {
+ this.getChannelsLiveInfo();
+ }
+ },
+ getChannelsLiveInfo() {
+ console.log("当前页面需要显示", this.data.liveSettingInfo);
+ if (wx.getChannelsLiveInfo) {
+ wx.getChannelsLiveInfo({
+ finderUserName: this.data.liveSettingInfo.video_id,
+ success: (res) => {
+ this.data.channelsLive = res;
+ this.setData({
+ is_open: true,
+ });
+ },
+ fail: (res) => {
+ console.log(res);
+ app.tips("请检查视频号ID与小程序是否同个主体或者视频号是否开过直播",'none',3500);
+ },
+ });
+ }
+ },
+ },
+});
diff --git a/mycomponent/channelsLiveFloat/channelsLiveFloat.json b/mycomponent/channelsLiveFloat/channelsLiveFloat.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/mycomponent/channelsLiveFloat/channelsLiveFloat.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/channelsLiveFloat/channelsLiveFloat.wxml b/mycomponent/channelsLiveFloat/channelsLiveFloat.wxml
new file mode 100644
index 0000000..4964496
--- /dev/null
+++ b/mycomponent/channelsLiveFloat/channelsLiveFloat.wxml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+ {{liveSettingInfo.name}}
+
+
+
+
+
diff --git a/mycomponent/channelsLiveFloat/channelsLiveFloat.wxss b/mycomponent/channelsLiveFloat/channelsLiveFloat.wxss
new file mode 100644
index 0000000..1e1e9ee
--- /dev/null
+++ b/mycomponent/channelsLiveFloat/channelsLiveFloat.wxss
@@ -0,0 +1,43 @@
+/* mycomponent/channelsLiveFloat/channelsLiveFloat.wxss */
+
+.channelsLive {
+ position: fixed;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 95rpx;
+ height: 110rpx;
+ background-color: rgba(255, 255, 255, 0.6);
+ border-radius: 10rpx;
+ z-index: 2;
+}
+
+.channelsLive.left {
+ left: 35rpx;
+}
+
+.channelsLive.right {
+ right: 35rpx;
+}
+
+.channelsLive .face {
+ padding-top: 13rpx;
+ height: 72rpx;
+}
+
+.channelsLive .face image {
+ width: 59rpx;
+ height: 59rpx;
+}
+
+.channelsLive .text {
+ padding-top: 2rpx;
+ font-size: 20rpx;
+ color: #2d2d2d;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ line-clamp: 1;
+ -webkit-box-orient: vertical;
+}
diff --git a/mycomponent/count/count.js b/mycomponent/count/count.js
new file mode 100644
index 0000000..41abe26
--- /dev/null
+++ b/mycomponent/count/count.js
@@ -0,0 +1,166 @@
+var app = getApp();
+
+Component({
+ // 目前组件,只接受时间戳,其他的没有做
+ // 现在的时间,和结束时间,都必须从后台获取,因为客户端时间不一致
+ properties: {
+ nowTime: {
+ type: Number
+ },
+ overTime: {
+ type: Number
+ },
+ getTime: {
+ type: Number
+ }
+ },
+ data: {
+ time: null,
+ timer: null,
+ content: '',
+ flag: true,
+ text: ['天', '时', '分', '秒'],
+ newtime: null,
+ timers: null,
+ newcontent: '',
+ newflag: true
+ },
+ ready() {
+ if (!app._isTextEmpty(this.properties.getTime)) {
+ this.timer();
+ this.setData({
+ flag: false
+ });
+ } else {
+ this.setData({
+ newflag: false
+ });
+ this.time();
+ }
+ },
+ detached() {
+ // 页面被被销毁的时候,清除定时器
+ clearInterval(this.data.timer);
+ },
+ methods: {
+ time() {
+ this.data.timer = setInterval(() => {
+ this.countDown();
+ let time = this.data.time;
+ time = time - 1;
+ this.setData({
+ time: time
+ });
+ }, 1000);
+ },
+ countDown() {
+ // 解构赋值
+ let {
+ overTime,
+ nowTime,
+ timer
+ } = this.data;
+ let time;
+
+ if (overTime < nowTime) {
+ clearInterval(timer);
+ this.setData({
+ flag: false
+ });
+ return true;
+ } else {
+ // 只有在第一次赋值
+ if (!this.data.time) {
+ let temporary = overTime - nowTime;
+ this.setData({
+ time: temporary
+ });
+ }
+ time = this.data.time;
+ if (time === 0) {
+ clearInterval(timer);
+ this.setData({
+ flag: false
+ });
+ return true;
+ }
+ let day, hour, minute, second, content = '';
+ // 计算、天、时、分、秒
+ day = Math.floor(time / (60 * 60 * 24));
+ hour = Math.floor((time % (60 * 60 * 24)) / (60 * 60));
+ minute = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) / 60);
+ second = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) % 60);
+ let array = [day, hour, minute, second];
+ // 处理数据,如果、天、时、分、秒小于10,则拼接成09这种形式
+ let timeList = array.map((item, index) => item < 10 ? `0${item}` : item);
+ // 输出,进行字符拼接
+ timeList.forEach((item, index) => {
+ content += `${item}${this.data.text[index]}`;
+ });
+ this.setData({
+ content: content
+ });
+ }
+ },
+ timer() {
+ this.setData({
+ timers: setInterval(() => {
+ this.countStartDown();
+ let time = this.data.newtime;
+ time = time - 1;
+ this.setData({
+ newtime: time
+ });
+ }, 1000)
+ });
+ },
+ countStartDown() {
+ // 解构赋值
+ let {
+ getTime,
+ nowTime,
+ timers
+ } = this.data;
+ let time;
+ if (getTime < nowTime) {
+ clearInterval(timers);
+ this.setData({
+ newflag: false
+ });
+ return true;
+ } else {
+ // 只有在第一次赋值
+ if (!this.data.newtime) {
+ let temporary = getTime - nowTime;
+ this.setData({
+ newtime: temporary
+ });
+ }
+ time = this.data.newtime;
+ if (time === 0) {
+ clearInterval(timers);
+ this.setData({
+ newflag: false
+ });
+ return true;
+ }
+ let day, hour, minute, second, content = '';
+ // 计算、天、时、分、秒
+ day = Math.floor(time / (60 * 60 * 24));
+ hour = Math.floor((time % (60 * 60 * 24)) / (60 * 60));
+ minute = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) / 60);
+ second = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) % 60);
+ let array = [day, hour, minute, second];
+ // 处理数据,如果、天、时、分、秒小于10,则拼接成09这种形式
+ let timeList = array.map((item, index) => item < 10 ? `0${item}` : item);
+ // 输出,进行字符拼接
+ timeList.forEach((item, index) => {
+ content += `${item}${this.data.text[index]}`;
+ });
+ this.setData({
+ newcontent: content
+ });
+ }
+ }
+ }
+});
diff --git a/mycomponent/count/count.json b/mycomponent/count/count.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/mycomponent/count/count.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/count/count.wxml b/mycomponent/count/count.wxml
new file mode 100644
index 0000000..c25b6df
--- /dev/null
+++ b/mycomponent/count/count.wxml
@@ -0,0 +1,2 @@
+{{content}}
+{{newcontent}}
\ No newline at end of file
diff --git a/mycomponent/count/count.wxss b/mycomponent/count/count.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/mycomponent/customMessage/customMessage.js b/mycomponent/customMessage/customMessage.js
new file mode 100644
index 0000000..ab4792b
--- /dev/null
+++ b/mycomponent/customMessage/customMessage.js
@@ -0,0 +1,25 @@
+// packageD/mycomponent/customMessage/customMessage.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ listMap: {
+ type: Array,
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+
+ }
+});
diff --git a/mycomponent/customMessage/customMessage.json b/mycomponent/customMessage/customMessage.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/mycomponent/customMessage/customMessage.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/customMessage/customMessage.wxml b/mycomponent/customMessage/customMessage.wxml
new file mode 100644
index 0000000..0892f8b
--- /dev/null
+++ b/mycomponent/customMessage/customMessage.wxml
@@ -0,0 +1,10 @@
+
+
+ 其他信息
+
+
+ {{item.name}}
+ {{item.value}}
+
+
+
diff --git a/mycomponent/customMessage/customMessage.wxss b/mycomponent/customMessage/customMessage.wxss
new file mode 100644
index 0000000..6fc2779
--- /dev/null
+++ b/mycomponent/customMessage/customMessage.wxss
@@ -0,0 +1,51 @@
+/* packageD/mycomponent/customMessage/customMessage.wxss */
+.customBox view {
+ box-sizing: border-box;
+}
+
+.titile {
+ text-align: left;
+ color: #969799;
+ font-size: 28rpx;
+}
+
+.ellipsis {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ word-break: break-all;
+}
+
+.customBox {
+ width: 100%;
+ margin: 0 auto;
+ box-sizing: border-box;
+ padding: 24rpx;
+ margin-top: 10rpx;
+ text-align: left;
+ border-radius: 20rpx;
+ background: #fff;
+}
+
+.item {
+ display: flex;
+ margin-top: 20rpx;
+ border-bottom: 1px solid #eee;
+ padding-bottom: 15rpx;
+}
+
+.item:first-child {
+ margin: 0;
+}
+
+.name {
+ max-width: 210rpx;
+ font-size: 28rpx;
+ font-weight: bold;
+ color: #323233;
+}
+
+.message {
+ color: #969799;
+ padding-left: 28rpx;
+}
diff --git a/mycomponent/diyfrom/diyfrom.js b/mycomponent/diyfrom/diyfrom.js
new file mode 100644
index 0000000..4283b80
--- /dev/null
+++ b/mycomponent/diyfrom/diyfrom.js
@@ -0,0 +1,1043 @@
+var app = getApp();
+Component({
+ properties: {
+ datas: { //datas.diyform_data_id,datas.form_id表单id
+ type: null,
+ value:{}
+ },
+ params: {
+ // 场景标识 flight 航班信息 order订单填写表单
+ type: null,
+ },
+ activity: {
+ //拓客活动标识
+ type: null,
+ },
+ // 表单id
+ form_data_id:String,
+ // 场景标识
+ modeType: {
+ type: String,
+ value: "member"
+ // member没有form_data_id ,Single是有form_data_id
+ },
+ // 自定义表单顶部banner和底部详情信息显示
+ desThumb:{
+ type: Boolean,
+ value: true
+ },
+ // 是否显示提交按钮
+ memberBtn: {
+ type: Boolean,
+ value: true
+ },
+ // 活动报名插件 支付状态
+ payStatus: {
+ type: null
+ },
+ // 活动报名插件 报名状态
+ applyStatus:{
+ type:null
+ },
+ // 父组件提交后跳转标识
+ isTag: {
+ type: null
+ },
+ // 拓客活动 是否是门店商品
+ store_id: {
+ type: null
+ },
+ },
+ data: {
+ click: false,
+ startDate: new Date("1900-01-01"),
+ Height: "",
+ formList: [],
+ showAddress: false,
+ form_id: "",
+ shoTime: "",
+ types: {
+ 88: "diyusername",
+ 99: "diypassword",
+ 0: "diyinput",
+ 1: "diytextarea",
+ 3: "diycheckbox",
+ 4: "diyradio",
+ 2: "diyselect",
+ 7: "diydate",
+ 9: "diycity",
+ 5: "diyimage",
+ },
+ diydata: [],
+ setname: "",
+ // uploadUrl: 'plugin.diyform.api.diy-form.DiyFormUpload',
+ uploadUrl: "upload.uploadPic",
+ //地区
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ currentDate: new Date().getTime(),
+ showCity1: false,
+ aisTag: ''
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ },
+ moved() {},
+ detached() {},
+ },
+ observers: {
+ 'isTag': function (str) {
+ this.setData({
+ aisTag: str
+ });
+ }
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ this.getForm();
+ this._initAddressInfo();
+ },
+ methods: {
+ //获取表单信息
+ getForm() {
+ let that = this;
+ let urlStr = "";
+ if(that.data.params == 'flight'){
+ this.flightGroup();
+ return;
+ }
+ if (that.data.modeType == "member") {
+ urlStr = app.getNetAddresss(
+ "plugin.diyform.api.diy-form.getDiyFormTypeMemberData"
+ );
+ urlStr += "&form_id=" + this.data.datas;
+ } else {
+ urlStr = app.getNetAddresss(
+ "plugin.diyform.api.diy-form.getSingleFormData"
+ );
+ if (this.data.datas.diyform_data_id) {
+ urlStr += "&form_data_id=" + this.data.datas.diyform_data_id;
+ }
+ if(this.data.form_data_id){
+ urlStr += "&form_data_id=" + this.data.form_data_id;
+ }
+ urlStr += "&form_id=" + this.data.datas.form_id;
+ }
+
+
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ not_validate_page: '0'
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res.data,'12211');
+ if (res.result == 1) {
+ if (app._isTextEmpty(res.data.thumb)) {
+ that.setData({
+ thumb: false,
+ });
+ } else {
+ that.setData({
+ thumb: res.data.thumb,
+ });
+ }
+ if (app._isTextEmpty(res.data.description)) {
+ that.setData({
+ description: false,
+ });
+ } else {
+ that.setData({
+ description: res.data.description,
+ });
+ }
+ if (that.data.params !== "order") {
+ wx.setNavigationBarTitle({
+ title: res.data.title,
+ });
+ that.setData({
+ status: res.data.status,
+ loading: true,
+ });
+ } else {
+ that.setData({
+ status: 0,
+ loading: true,
+ });
+ }
+ console.log(that.data.params,that.data.status,'173');
+ if (that.data.status === 1) {
+ that.setData({
+ diyform: res.data,
+ thumb: res.data.thumb,
+ });
+ const fields = that.data.diyform.fields;
+ for (let field in fields) {
+ var list = {
+ title: fields[field].tp_name,
+ value: fields[field].value,
+ data_type: fields[field].data_type,
+ tp_must: fields[field].tp_must,
+ };
+ if (list.data_type == "3") {
+ list.value = fields[field].value.join(",");
+ }
+ if (list.data_type == "7") {
+ list.value = fields[field].value;
+ }
+ if (list.data_type == "1") {
+ list.value = fields[field].value;
+ }
+ that.data.formList.push(list);
+ that.setData({
+ formList: that.data.formList,
+ });
+ }
+ } else {
+ that.setData({
+ diyform: res.data,
+ });
+ let fields = that.data.diyform.fields;
+ let diydata = that.data.diydata;
+ let f = null;
+ for (var field in fields) {
+ if (fields[field].data_type == 7) {
+ console.log(fields[field].default_time);
+ var timestamp = Date.parse(new Date());
+ var date = new Date(timestamp);
+ //获取年份
+ var Y = date.getFullYear();
+ //获取月份
+ var M =
+ date.getMonth() + 1 < 10
+ ? "0" + (date.getMonth() + 1)
+ : date.getMonth() + 1;
+ //获取当日日期
+ var D =
+ date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+ console.log(Y + "-" + M + "-" + D);
+ var isdatae = Y + "-" + M + "-" + D;
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].default_time,
+ type: that.data.types[fields[field].data_type],
+ };
+ }
+ if (that.data.types[fields[field].data_type] == "diycheckbox") {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : [],
+ type: that.data.types[fields[field].data_type],
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diydate"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ timeShow: false,
+ currentDate: new Date().getTime(),
+ shoTime: fields[field].default_time
+ ? fields[field].default_time
+ : isdatae,
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diyselect"
+ ) {
+ let tp_textArr = [];
+ for (let i = 0; i < fields[field].tp_text.length; i++) {
+ tp_textArr.push({
+ name: fields[field].tp_text[i],
+ });
+ }
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ diysishow: false,
+ sitem: tp_textArr,
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diycity"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ showAdd: false,
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diyimage"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ imgUrls: fields[field].value ? fields[field].value : [],
+ isPhoto: false,
+ type: that.data.types[fields[field].data_type],
+ };
+ } else {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ };
+ }
+ diydata.push(f);
+ console.log(diydata);
+ that.setData({
+ diydata: diydata,
+ });
+ }
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //自定义表单值绑定
+ tpnameinp(e) {
+ let val = e.detail.value;
+ let idx = e.currentTarget.dataset.idex;
+
+ this.setData({
+ ["diydata[" + idx + "].value"]: val,
+ });
+ },
+ // 航班格式处理
+ flightGroup(){
+ this.setData({
+ status:this.data.datas.status
+ });
+ if (this.data.status === 1) {
+ this.setData({
+ diyform: this.data.datas,
+ });
+ const fields = this.data.diyform.fields;
+ console.log(fields);
+ for (let field in fields) {
+ var list = {
+ title: fields[field].tp_name,
+ value: fields[field].value,
+ data_type: fields[field].data_type,
+ tp_must: fields[field].tp_must,
+ };
+ if (list.data_type == "3") {
+ list.value = fields[field].value.join(",");
+ }
+ if (list.data_type == "7") {
+ list.value = fields[field].value;
+ }
+ if (list.data_type == "1") {
+ list.value = fields[field].value;
+ }
+ this.data.formList.push(list);
+ this.setData({
+ formList: this.data.formList,
+ });
+ console.log(this.data.formList,'res.data.form_data');
+ }
+ } else {
+ this.setData({
+ diyform: this.data.datas,
+ });
+ let fields = this.data.diyform.fields;
+ let diydata = this.data.diydata;
+ let f = null;
+ for (var field in fields) {
+ if (fields[field].data_type == 7) {
+ console.log(fields[field].default_time);
+ var timestamp = Date.parse(new Date());
+ var date = new Date(timestamp);
+ //获取年份
+ var Y = date.getFullYear();
+ //获取月份
+ var M =
+ date.getMonth() + 1 < 10
+ ? "0" + (date.getMonth() + 1)
+ : date.getMonth() + 1;
+ //获取当日日期
+ var D =
+ date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+ console.log(Y + "-" + M + "-" + D);
+ var isdatae = Y + "-" + M + "-" + D;
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].default_time,
+ type: this.data.types[fields[field].data_type],
+ };
+ }
+ if (this.data.types[fields[field].data_type] == "diycheckbox") {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : [],
+ type: this.data.types[fields[field].data_type],
+ };
+ } else if (
+ this.data.types[fields[field].data_type] == "diydate"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: this.data.types[fields[field].data_type],
+ timeShow: false,
+ currentDate: new Date().getTime(),
+ shoTime: fields[field].default_time
+ ? fields[field].default_time
+ : isdatae,
+ };
+ } else if (
+ this.data.types[fields[field].data_type] == "diyselect"
+ ) {
+ let tp_textArr = [];
+ for (let i = 0; i < fields[field].tp_text.length; i++) {
+ tp_textArr.push({
+ name: fields[field].tp_text[i],
+ });
+ }
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: this.data.types[fields[field].data_type],
+ diysishow: false,
+ sitem: tp_textArr,
+ };
+ } else if (
+ this.data.types[fields[field].data_type] == "diycity"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: this.data.types[fields[field].data_type],
+ showAdd: false,
+ };
+ } else if (
+ this.data.types[fields[field].data_type] == "diyimage"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ imgUrls: fields[field].value ? fields[field].value : [],
+ isPhoto: false,
+ type: this.data.types[fields[field].data_type],
+ };
+ } else {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: this.data.types[fields[field].data_type],
+ };
+ }
+ diydata.push(f);
+ this.setData({
+ diydata: diydata,
+ });
+ }
+ }
+ },
+ update(){
+ var that = this;
+ var formData = [];
+ var formObject = {};
+ this.data.diydata.forEach(item => {
+ if (item.type == "diyimg") {
+ var arr = [];
+ for (let i = 0; i < item[item.name + "Value1"].length; i++) {
+ arr.push(item[item.name + "Value1"][i].url);
+ }
+ formObject[item.name] = arr;
+ } else {
+ formObject[item.name] = item.value;
+ }
+ });
+ if (!app._isTextEmpty(that.data.form_data_id)) {
+ var json = {
+ form_data: formData,
+ form_data_id: that.data.form_data_id
+ };
+ }
+ formData.push(formObject);
+ console.log(json);
+ },
+ onRead_1(e) {
+ try {
+ let diydata = this.data.diydata;
+ let ind = e.currentTarget.dataset.idex;
+ if (diydata[ind].imgUrls.length >= diydata[ind].data.tp_max) {
+ wx.showToast({
+ title: `最多只能上传${diydata[ind].data.tp_max}张`,
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ } catch (err) {
+ console.log(err);
+ }
+ let name = e.currentTarget.dataset.name;
+ this.setData({
+ setname: name,
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: "file",
+ formData: {
+ attach: that.data.setname,
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ console.log(res);
+ if (res.result == 1) {
+ let diydata = that.data.diydata;
+ for (var i = 0; i < diydata.length; i++) {
+ if (diydata[i].name == res.data.attach) {
+ diydata[i].imgUrls.push(res.data.img_url);
+ }
+ }
+ that.setData({
+ diydata: diydata,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ fail(e) {
+ console.log(e);
+ },
+ complete(e) {},
+ });
+ },
+ });
+ },
+ removeImg: function (e) {
+ let delIndex = e.currentTarget.dataset.indexc;
+ let index_1 = e.currentTarget.dataset.index;
+ let diydata = this.data.diydata;
+ diydata[index_1].imgUrls.splice(delIndex, 1);
+ this.setData({
+ diydata: diydata,
+ });
+ },
+ diytextareainp(e) {
+ let val = e.detail;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value.value"]: val,
+ });
+ },
+ checkboxinp(e) {
+ let val = e.detail;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val,
+ });
+ },
+ diyselectBtn(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].diysishow"]: true,
+ });
+ },
+ raidinp(e) {
+ let val = e.detail;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val,
+ });
+ },
+ //所在地选择显示
+ showAddBtn(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].showAdd"]: true,
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function (e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].showAdd"]: false,
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: "provinceData",
+ data: province,
+ });
+ wx.setStorage({
+ key: "cityData",
+ data: city,
+ });
+ wx.setStorage({
+ key: "districtData",
+ data: district,
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true,
+ });
+ },
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data,
+ });
+ that.setData({
+ "selectAddressData[0].name":
+ res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0],
+ });
+ that._getCityData();
+ },
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ // console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = "cityData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json,
+ });
+ that.setData({
+ "selectAddressData[1].name":
+ _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1],
+ });
+ that._getDistrictData();
+ },
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ // console.log("地区", "_data", _data)
+ // console.log(_data);
+ var that = this;
+ var _keyName = "districtData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json,
+ });
+ // console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name":
+ _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2],
+ });
+ // console.log("over", that.data.selectAddressData);
+ },
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2],
+ });
+ this._initAddressInfo();
+ },
+ //城市结果
+ resultAdd: function (e) {
+ let idx = e.currentTarget.dataset.idex;
+ let seleData = this.data.selectAddressData;
+ let retCity =
+ seleData[0].name + " " + seleData[1].name + " " + seleData[2].name;
+ this.setData({
+ ["diydata[" + idx + "].value"]: retCity,
+ ["diydata[" + idx + "].showAdd"]: false,
+ });
+ },
+ //自定义日期选择
+ openPicker(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].timeShow"]: true,
+ });
+ },
+ _closeDateLw_1() {
+ this.setData({
+ showCity1: false,
+ });
+ },
+ resultAdd_1() {
+ let seleData = this.data.selectAddressData;
+ this.setData({
+ "applyModel.province_name": seleData[0].name,
+ "applyModel.city_name": seleData[1].name,
+ "applyModel.district_name": seleData[2].name,
+ fullAddress:
+ seleData[0].name + " " + seleData[1].name + " " + seleData[2].name,
+ showCity1: false,
+ });
+ },
+ submit() {
+ this.validation();
+ if (!this.data.isValidation) {
+ return;
+ }
+ this.submitForm();
+ },
+ validation() {
+ this.setData({
+ isValidation: true,
+ });
+ this.data.diydata.forEach((item) => {
+ if (item.data.tp_must == 1 && !item.value && item.type != "diyimage") {
+ wx.showToast({
+ icon: "none",
+ title: item.data.tp_name + "必须填写哦",
+ duration: 1500,
+ });
+ this.setData({
+ isValidation: false,
+ });
+ }
+ if (item.data.tp_must == 1 && item.type == "diyimage") {
+ if (item.imgUrls.length <= 0) {
+ wx.showToast({
+ icon: "none",
+ title: `必须上传${item.data.tp_name}`,
+ duration: 1500,
+ });
+ this.setData({
+ isValidation: false,
+ });
+ }
+ }
+ if (
+ item.type == "diycheckbox" &&
+ item.value.length == 0 &&
+ item.data.tp_must == 1
+ ) {
+ wx.showToast({
+ icon: "none",
+ title: item.data.tp_name + "必须选择哦",
+ duration: 1500,
+ });
+ this.setData({
+ isValidation: false,
+ });
+ }
+ // if(item.type == 'diyselect' && item.data.tp_must == 1){
+ // wx.showToast({
+ // icon: 'none',
+ // title: item.data.tp_name + '必须填写哦',
+ // duration: 1500
+ // })
+ // this.setData({
+ // isValidation: false
+ // })
+ // }
+ });
+ },
+ //自定义表单提交
+ submitForm() {
+ if (this.data.click) {
+ return;
+ }
+ var that = this;
+ that.setData({
+ click: true,
+ });
+ setTimeout(() => {
+ that.setData({
+ click: false,
+ });
+ }, 5000);
+ var formData = [];
+ var formObject = {};
+ this.data.diydata.forEach((item) => {
+ //图片类型的直接提交图片base64的数组到后台,其它直接传值
+ if (item.type == "diyimage") {
+ formObject[item.name] = item.imgUrls;
+ } else {
+ formObject[item.name] = item.value;
+ }
+ if (item.type == "diytextarea") {
+ try {
+ formObject[item.name] = item.value.value.value;
+ } catch (err) {
+ console.log(err);
+ }
+ }
+ if (item.type == "diydate") {
+ formObject[item.name] = !app._isTextEmpty(item.value)
+ ? that.timestampToTime(item.value * 1000)
+ : item.shoTime;
+ }
+ });
+ formData.push(formObject);
+ if(this.data.params == 'flight' || this.data.params == 'returnData' || this.data.modeType == 'activity'){
+ this.triggerEvent('gofunarr',formData);
+ return;
+ }
+ let json = {};
+ let urlStr = "";
+ if (that.data.modeType == "member") {
+ urlStr = app.getNetAddresss(
+ "plugin.diyform.api.diy-form.save-form-data"
+ );
+ json = {
+ form_id: this.data.datas,
+ form_data: formData,
+ };
+ } else {
+ urlStr = app.getNetAddresss(
+ "plugin.diyform.api.diy-form.save-diy-form-data"
+ );
+ json = {
+ form_id: this.data.datas.form_id,
+ form_data: formData,
+ };
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "success",
+ title: "提交成功",
+ duration: 1500,
+ });
+ if (that.data.aisTag == 'coupon') {
+ // 领券中心填写表单 插件领券中心表单
+ wx.navigateTo({
+ url: '/packageD/coupon/coupon_store',
+ });
+ return;
+ }
+ // 拓客活动传的id不为空才跳去下单页
+ if (
+ that.data.activity &&
+ !app._isTextEmpty(that.data.activity.goodsId)
+ ) {
+ wx.navigateTo({
+ url:
+ "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&&goodsId=" +
+ that.data.activity.goodsId +
+ "&&optionsId=" +
+ that.data.activity.optionsId +
+ "&&total=" +
+ that.data.activity.total + '&store_id=' + that.data.store_id,
+ });
+ return;
+ }
+ if (that.data.params !== "order") {
+ that.getForm();
+ } else {
+ that.triggerEvent("traCheckedData", {
+ diyform_data_id: res.data.form_data_id,
+ pre_id: that.data.datas.pre_id,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ is_sub() {
+ var that = this;
+ if (!app._isTextEmpty(that.data.activity.goodsId)) {
+ wx.navigateTo({
+ url:
+ "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&&goodsId=" +
+ that.data.activity.goodsId +
+ "&&optionsId=" +
+ that.data.activity.optionsId +
+ "&&total=" +
+ that.data.activity.total,
+ });
+ return;
+ }
+ },
+ showCity1btn() {
+ this.setData({
+ showCity1: true,
+ });
+ },
+ toshaky(){
+ if(this.data.payStatus == 1){
+ wx.showToast({
+ title: '活动已报名,需要去我的报名进行付款',
+ icon:'none',
+ duration:1000,
+ success:function(){
+ setTimeout(()=>{
+ wx.navigateTo({
+ url: '/packageC/Myshaky/Myshaky/Myshaky',
+ });
+ },1100);
+ }
+ });
+ }
+ },
+ sitemSelectBtn(e) {
+ let val = e.detail.name;
+ let idx = e.currentTarget.dataset.index;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val,
+ ["diydata[" + idx + "].diysishow"]: false,
+ });
+ },
+ sitemClose(e) {
+ let idx = e.currentTarget.dataset.index;
+ this.setData({
+ ["diydata[" + idx + "].diysishow"]: false,
+ });
+ },
+ dateClose(e) {
+ console.log("11111111111");
+ let index = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + index + "].timeShow"]: false,
+ });
+ },
+ //日期转化
+ timestampToTime(timestamp) {
+ var date = new Date(timestamp);
+ let Y = date.getFullYear() + "-";
+ let M =
+ (date.getMonth() + 1 < 10
+ ? "0" + (date.getMonth() + 1)
+ : date.getMonth() + 1) + "-";
+ let D = this.change(date.getDate()) + " ";
+ return Y + M + D;
+ },
+ change(t) {
+ if (t < 10) {
+ return "0" + t;
+ } else {
+ return t;
+ }
+ },
+ birthdayconfirm(e, time) {
+ let that = this;
+ let index = e.currentTarget.dataset.idex;
+ let val = e.detail;
+ this.setData({
+ ["diydata[" + index + "].value"]: String(val).substring(0, 10),
+ ["diydata[" + index + "].shoTime"]: this.timestampToTime(val),
+ ["diydata[" + index + "].timeShow"]: false,
+ });
+ console.log(that.data.diydata[index].value);
+ console.log(that.data.diydata[index].timeShow);
+ console.log(that.data.shoTime);
+ },
+ },
+});
diff --git a/mycomponent/diyfrom/diyfrom.json b/mycomponent/diyfrom/diyfrom.json
new file mode 100644
index 0000000..6647068
--- /dev/null
+++ b/mycomponent/diyfrom/diyfrom.json
@@ -0,0 +1,17 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index",
+ "van-checkbox": "../../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../../dist/checkbox-group/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-cell": "../../../../dist/cell/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "van-action-sheet": "../../../../dist/action-sheet/index",
+ "van-radio": "../../../../dist/radio/index",
+ "van-radio-group": "../../../../dist/radio-group/index",
+ "van-datetime-picker": "../../../../dist/datetime-picker/index",
+ "van-icon": "../../../../dist/icon/index"
+ }
+}
diff --git a/mycomponent/diyfrom/diyfrom.wxml b/mycomponent/diyfrom/diyfrom.wxml
new file mode 100644
index 0000000..258f317
--- /dev/null
+++ b/mycomponent/diyfrom/diyfrom.wxml
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{item.data.tp_name}}:
+
+
+ {{item.data.tp_name}}:
+
+
+
+
+
+
+ *
+ {{item.data.tp_name}}:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ {{item.data.tp_name}}
+
+
+
+
+
+
+
+
+
+ *
+ {{item.data.tp_name}}
+
+
+
+ {{ck}}
+
+
+
+
+
+
+
+
+ *
+ {{item.data.tp_name}}
+
+
+
+
+
+
+
+ *
+ {{item.data.tp_name}}
+
+
+
+ {{ritem}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.data.tp_name}}:
+
+
+ {{item.data.tp_name}}:
+
+
+
+
+ {{item.data.tp_name}}:
+
+
+ {{item.data.tp_name}}:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+ 立即提交
+
+ 已提交
+
+ 下一步
+
+
+ 立即报名
+
+ 去支付
+
+
+ 已报名
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mycomponent/diyfrom/diyfrom.wxss b/mycomponent/diyfrom/diyfrom.wxss
new file mode 100644
index 0000000..b94e280
--- /dev/null
+++ b/mycomponent/diyfrom/diyfrom.wxss
@@ -0,0 +1,246 @@
+.diy-form {
+ background: #fff;
+}
+
+.imgBox {
+ width: 100%;
+}
+
+.imgBox image {
+ width: 100%;
+ height: 100%;
+}
+
+.rich {
+ width: 100%;
+ background: #fff;
+ text-align: center;
+}
+
+.image-list {
+ width: 100%;
+ height: 100%;
+ padding: 24rpx 0;
+ margin-top: -20rpx;
+}
+
+.image-list .otherphoto .top {
+ height: 100rpx;
+ text-align: left;
+ padding-left: 16rpx;
+ line-height: 100rpx;
+ border-bottom: solid 1px #ccc;
+}
+
+.image-list .otherphoto .top .span {
+ font-size: 26rpx;
+}
+
+.image-list .otherphoto .imgflex {
+ margin-top: 20rpx;
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.image-list .otherphoto .imgflex .photobox {
+ width: 190rpx;
+ height: 190rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+}
+
+.image-list .otherphoto .imgflex .photobox image {
+ width: 100%;
+ height: 100%;
+}
+
+.image-list .otherphoto .imgflex .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.image-list .otherphoto .imgflex .photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+}
+
+.image-list .otherphoto .imgflex .photoshow image {
+ width: 100%;
+}
+
+.cell_box .title {
+ padding: 20rpx 24rpx;
+ font-size: 26rpx;
+ text-align: left;
+ position: relative;
+ z-index: 1;
+ color: #969799;
+}
+
+.cell_box .van-radio {
+ margin-bottom: 10rpx;
+ margin-top: 10rpx;
+ margin-left: 10rpx;
+}
+
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* -------------------------------- */
+
+.cell_box textarea {
+ min-height: 200rpx;
+ width: 100%;
+}
+
+.cell_box .van-radio {
+ padding: 10rpx 0;
+ margin-left: 16rpx;
+}
+
+.cell_box .van-checkbox {
+ padding: 10rpx 0;
+ margin-left: 16rpx;
+}
+
+.success .ico {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+/* .btn {
+} */
+
+.btn .button {
+ font-size: 28rpx;
+ height: 80rpx;
+ width: 60%;
+ margin: 0 auto;
+ margin-bottom: 30rpx;
+ color: #fff;
+ border-radius: 8rpx;
+ background-color: #f55955;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 30rpx;
+}
+
+.btn .save {
+ font-size: 28rpx;
+ height: 80rpx;
+ width: 60%;
+ margin: 0 auto;
+ margin-bottom: 30rpx;
+ color: #fff;
+ border-radius: 8rpx;
+ background-color: #04be02;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 30rpx;
+}
+
+.diy-form van-radio-group {
+ width: 100%;
+}
+
+.diy-form van-icon {
+ margin-left: 20rpx;
+ margin-top: 20rpx;
+}
+
+.diy-form van-icon:last-child {
+ margin-bottom: 20rpx;
+}
+
+.wrap {
+ width: 100%;
+ padding-bottom: 20rpx;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+}
+
+.wrap .photo {
+ margin-top: 20rpx;
+ display: flex;
+ width: 25%;
+ justify-content: center;
+ align-items: center;
+}
+
+.wrap .photo image {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.cellTitleStyle{
+ color: #969799;
+}
\ No newline at end of file
diff --git a/mycomponent/foot/foot.js b/mycomponent/foot/foot.js
new file mode 100644
index 0000000..f95a5e6
--- /dev/null
+++ b/mycomponent/foot/foot.js
@@ -0,0 +1,825 @@
+var app = getApp();
+const pageName = 'packageG/independent_store/index/index';
+Component({
+ properties: {
+ datas: {
+ type: null
+ },
+ isDiy: {
+ type: null
+ },
+ foot_type: {
+ type: null
+ }
+ },
+ // 私有数据,可用于模板渲染
+ data: {
+ // 默认数据
+ defaultData: {
+ "group_title": {
+ "title": "底部导航名称",
+ "type": "text",
+ "value": "默认"
+ },
+ "button_item": {
+ "title": "",
+ "type": "bottomItem",
+ "choose": "2",
+ "menu_button": [{
+ "id": 0,
+ "text": "首页",
+ "image": "",
+ "icon": "icon-fontclass-shouye",
+ "isIcon": "1",
+ "link": "/packageG/index/index",
+ "isMinApp": "1",
+ "gh_id": "",
+ "minApp_link": "",
+ "sub_button": [],
+ "isDefault": true,
+ }, {
+ "id": 1,
+ "text": "分类",
+ "image": "",
+ "icon": "icon-fontclass-fenlei",
+ "isIcon": "1",
+ "link": "/packageG/pages/category_v2/category_v2",
+ "isMinApp": "1",
+ "gh_id": "",
+ "minApp_link": "",
+ "sub_button": [],
+ "isDefault": true,
+ }, {
+ "id": 2,
+ "text": "推广",
+ "image": "",
+ "icon": "icon-fontclass-tuiguang1",
+ "isIcon": "1",
+ "link": "/packageG/pages/member/extension/extension",
+ "isMinApp": "1",
+ "gh_id": "",
+ "minApp_link": "",
+ "sub_button": [],
+ "isDefault": true,
+ }, {
+ "id": 3,
+ "text": "购物车",
+ "image": "",
+ "icon": "icon-fontclass-gouwuche1",
+ "isIcon": "1",
+ "link": "/packageG/pages/buy/cart_v2/cart_v2",
+ "isMinApp": "1",
+ "gh_id": "",
+ "minApp_link": "",
+ "sub_button": [],
+ "isDefault": true,
+ }, {
+ "id": 4,
+ "text": "会员",
+ "image": "",
+ "icon": "icon-fontclass-huiyuanzhongxin",
+ "isIcon": "1",
+ "link": "/packageG/member_v2/member_v2",
+ "isMinApp": "1",
+ "gh_id": "",
+ "minApp_link": "",
+ "sub_button": [],
+ "isDefault": true,
+ }],
+ "value": {}
+ },
+ "tab_style": {
+ "title": "",
+ "type": "tab",
+ "value": {
+ "text_set": {
+ "text_show": true,
+ "text_color": "#333333",
+ "text_choose_color": "#ff4949"
+ },
+ "icon_set": {
+ "icon_show": true,
+ "icon_position": "top",
+ "icon_color": "#333333",
+ "icon_choose_color": "#ff4949"
+ },
+ "border_set": {
+ "border_show": false,
+ "border_color": "#e7e7eb",
+ "border_choose_color": "#29ba9c"
+ },
+ "bg_set": {
+ "bg_color": "#ffffff",
+ "bg_choose_color": "#ffffff"
+ },
+ "children_set": {
+ "children_color": "#333333",
+ "children_choose_color": "#29ba9c",
+ "children_bg_color": "#ffffff"
+ }
+ }
+ }
+ },
+ // 门店独立模块数据
+ storeData: {
+ "group_title": {
+ "title": "底部导航名称",
+ "type": "text",
+ "value": "默认"
+ },
+ "button_item": {
+ "title": "",
+ "type": "bottomItem",
+ "choose": "2",
+ "menu_button": [{
+ "id": 0,
+ "text": "首页",
+ "image": "",
+ "icon": "icon-ht_basis_shops",
+ "isIcon": "1",
+ "link": "/packageG/independent_store/index/index",
+ "isMinApp": "1",
+ "gh_id": "",
+ "minApp_link": "",
+ "sub_button": [],
+ "isDefault": true,
+ }, {
+ "id": 1,
+ "text": "商品",
+ "size": "23",
+ "image": "",
+ "icon": "icon-ht_basis_goodgroup",
+ "isIcon": "1",
+ "link": "/packageC/o2o/o2oStore/o2oStore",
+ "isMinApp": "1",
+ "gh_id": "",
+ "minApp_link": "",
+ "sub_button": [],
+ "isDefault": true,
+ }, {
+ "id": 2,
+ "text": "买单",
+ "size": "26",
+ "image": "",
+ "icon": "icon-shouyintai",
+ "isIcon": "1",
+ "link": "/packageC/cashier/cashier_pay/cashier_pay",
+ "isMinApp": "1",
+ "gh_id": "",
+ "minApp_link": "",
+ "sub_button": [],
+ "isDefault": true,
+ }, {
+ "id": 3,
+ "text": "会员",
+ "image": "",
+ "icon": "icon-fontclass-huiyuanzhongxin",
+ "isIcon": "1",
+ "link": "/packageG/member_v2/member_v2",
+ "isMinApp": "1",
+ "gh_id": "",
+ "minApp_link": "",
+ "sub_button": [],
+ "isDefault": true,
+ }],
+ "value": {}
+ },
+ "tab_style": {
+ "title": "",
+ "type": "tab",
+ "value": {
+ "text_set": {
+ "text_show": true,
+ "text_color": "#333333",
+ "text_choose_color": "#ff4949"
+ },
+ "icon_set": {
+ "icon_show": true,
+ "icon_position": "top",
+ "icon_color": "#333333",
+ "icon_choose_color": "#ff4949"
+ },
+ "border_set": {
+ "border_show": false,
+ "border_color": "#e7e7eb",
+ "border_choose_color": "#29ba9c"
+ },
+ "bg_set": {
+ "bg_color": "#ffffff",
+ "bg_choose_color": "#ffffff"
+ },
+ "children_set": {
+ "children_color": "#333333",
+ "children_choose_color": "#29ba9c",
+ "children_bg_color": "#ffffff"
+ }
+ }
+ }
+ },
+ iPnoneBottomBol: false,
+ emptyImage: '',
+ menu_button: [],
+ tab_style: {},
+ seletedId: '', //当前选中菜单id
+ selectedMenuIndex: "", //当前选中菜单索引
+ selectedSubMenuIndex: "", //当前选中子菜单索引
+ clientWidth: '375',
+
+ routeData: '',
+ temp: {},
+ routeDataShow: true,
+ },
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.getiPnoneBottom();
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {},
+ // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ this.setData({
+ // height: wx.getSystemInfoSync().windowHeight,
+ clientWidth: wx.getSystemInfoSync().windowWidth,
+ });
+
+ let pages = getCurrentPages(); //获取加载的页面
+ let currentPage = pages[pages.length - 1]; //获取当前页面的对象
+ // 页面路由 pageName:独立门店路由
+ let pathName = currentPage.__route__;
+ this.setData({
+ routeData: currentPage.route,
+ selectedMenuIndex: ''
+ });
+
+ let that = this;
+ // console.log(this.data.datas,this.data.foot_type,"this.data.foot_type")
+ // console.log(pathName , pageName, "pageName")
+ if (this.data.isDiy && this.data.datas) {
+ // 首页或者装修页
+ if (this.data.foot_type == -1) {
+ // 不显示
+ this.setData({
+ routeDataShow: false,
+ });
+ } else if (!this.data.foot_type || this.data.foot_type == 1) {
+
+ if (this.data.datas.group_title) {
+ // 显示列表默认
+ this.setData({
+ menu_button: this.data.datas.button_item.menu_button,
+ tab_style: this.data.datas.tab_style.value
+ });
+ } else {
+ // 显示系统默认
+ this.setData({
+ menu_button: this.data.defaultData.button_item.menu_button,
+ tab_style: this.data.defaultData.tab_style.value
+ });
+ }
+
+ if (this.data.menu_button) {
+ let menus = this.data.menu_button;
+ for (let i = 0; i < menus.length; i++) {
+ let url = menus[i].link;
+ if (url.indexOf(that.data.routeData) >= 0 && menus[i].sub_button.length <= 0) {
+ if (that.data.routeData == 'packageG/newDiy/newDiy') {
+ //diy页面加判断个id,来判断是否当前diy页面
+ if (currentPage.options && url.indexOf(Number(currentPage.options.page_id)) >= 0) {
+ that.setData({
+ selectedMenuIndex: i,
+ });
+ break;
+ }
+ } else {
+ that.setData({
+ selectedMenuIndex: i,
+ });
+ break;
+ }
+ }
+ }
+
+ // 二级用seletedId显示
+ for (let k = 0; k < menus.length; k++) {
+ for (let j = 0; j < menus[k].sub_button.length; j++) {
+ let url_1 = menus[k].sub_button[j].link;
+ if (url_1.indexOf(that.data.routeData) >= 0) {
+ that.setData({
+ selectedSubMenuIndex: k,
+ seletedId: menus[k].sub_button[j].id,
+ });
+ break;
+ }
+ }
+ }
+
+ }
+
+ } else if (this.data.foot_type == 2) {
+ // 显示自定义的底部导航
+ if (!this.data.datas.group_title) {
+ this.setData({
+ routeDataShow: false,
+ });
+ return;
+ }
+
+ this.setData({
+ menu_button: this.data.datas.button_item.menu_button,
+ tab_style: this.data.datas.tab_style.value
+ });
+
+ if (this.data.datas.button_item && this.data.datas.button_item.menu_button) {
+ let menus = this.data.datas.button_item.menu_button;
+ for (let i = 0; i < menus.length; i++) {
+ let url = menus[i].link;
+ if (url.indexOf(that.data.routeData) >= 0 && menus[i].sub_button.length <= 0) {
+ if (that.data.routeData == 'packageG/newDiy/newDiy') {
+ //diy页面加判断个id,来判断是否当前diy页面
+ if (currentPage.options && url.indexOf(Number(currentPage.options.page_id)) >= 0) {
+ that.setData({
+ selectedMenuIndex: i,
+ });
+ break;
+ }
+ } else {
+ that.setData({
+ selectedMenuIndex: i,
+ });
+ break;
+ }
+ }
+ }
+
+ // 二级用seletedId显示
+ for (let k = 0; k < menus.length; k++) {
+ for (let j = 0; j < menus[k].sub_button.length; j++) {
+ let url_1 = menus[k].sub_button[j].link;
+ if (url_1.indexOf(that.data.routeData) >= 0) {
+ that.setData({
+ selectedSubMenuIndex: k,
+ seletedId: menus[k].sub_button[j].id,
+ });
+ break;
+ }
+ }
+ }
+
+ }
+
+ }
+
+ } else if (app.globalData.store_alone_temp == 1 || pathName == pageName) {
+ // 门店独立模块
+ that.setData({
+ menu_button: that.data.storeData.button_item.menu_button,
+ tab_style: that.data.storeData.tab_style.value
+ });
+
+ // 显示storeData的底部导航
+ if (that.data.menu_button) {
+ let menus = that.data.menu_button;
+ for (let i = 0; i < menus.length; i++) {
+ let url = menus[i].link;
+ if (url.indexOf(that.data.routeData) >= 0 && menus[i].sub_button.length <= 0) {
+ that.setData({
+ routeDataShow: true,
+ selectedMenuIndex: i,
+ });
+ break;
+ }
+ }
+ }
+
+ } else {
+ // 其他页面
+ wx.getStorage({
+ key: 'yz_basic_info',
+ success(res) {
+ if (res.data) {
+ that.setData({
+ temp: res.data.home
+ });
+
+ // let url = that.data.routeData;
+ if (that.data.routeData.indexOf('o2oHome') >= 0 ||
+ that.data.routeData.indexOf('VideoList') >= 0 || that.data.routeData.indexOf('easyRefuel') >= 0 ||
+ that.data.routeData.indexOf('VideoDetail') >= 0 || that.data.routeData.indexOf('groupCode') >= 0 || that.data.routeData.indexOf('questionnaireIndex') >= 0 ||
+ that.data.routeData.indexOf('groupCodeRanking') >= 0 || that.data.routeData.indexOf('groupCodeShow') >= 0 ||
+ that.data.routeData.indexOf('groupCodeRecord') >= 0 || that.data.routeData.indexOf('groupCodeData') >= 0) {
+ that.setData({
+ routeDataShow: true
+ });
+ }
+
+ if (that.data.iPnoneBottomBol) {
+ that.triggerEvent("showcarrfoot_ipx", true);
+ } else {
+ that.triggerEvent("showcarrfoot", true);
+ }
+
+ if (that.data.temp.item.menus && that.data.temp.item.menus.page_info) {
+ // 显示列表默认
+ let menu = JSON.parse(that.data.temp.item.menus.page_info);
+ that.setData({
+ menu_button: menu.button_item.menu_button,
+ tab_style: menu.tab_style.value
+ });
+ } else {
+ // 显示系统默认
+ that.setData({
+ menu_button: that.data.defaultData.button_item.menu_button,
+ tab_style: that.data.defaultData.tab_style.value
+ });
+ }
+
+ // 显示自定义的底部导航
+ if (that.data.menu_button) {
+ let menus = that.data.menu_button;
+ for (let i = 0; i < menus.length; i++) {
+ let url = menus[i].link;
+ if (url.indexOf(that.data.routeData) >= 0 && menus[i].sub_button.length <= 0) {
+ if (that.data.routeData == 'packageG/newDiy/newDiy') {
+ //diy页面加判断个id,来判断是否当前diy页面
+ if (currentPage.options && url.indexOf(Number(currentPage.options.page_id)) >= 0) {
+ that.setData({
+ routeDataShow: true,
+ selectedMenuIndex: i,
+ });
+ break;
+ }
+ } else {
+ that.setData({
+ routeDataShow: true,
+ selectedMenuIndex: i,
+ });
+ break;
+ }
+
+ }
+ }
+
+ // 二级用seletedId显示
+ for (let k = 0; k < menus.length; k++) {
+ for (let j = 0; j < menus[k].sub_button.length; j++) {
+ let url_1 = menus[k].sub_button[j].link;
+ if (url_1.indexOf(that.data.routeData) >= 0) {
+ that.setData({
+ routeDataShow: true,
+ selectedSubMenuIndex: k,
+ seletedId: menus[k].sub_button[j].id,
+ });
+ break;
+ }
+ }
+ }
+ }
+
+ }
+ },
+ fail() {
+ that.getTemp();
+ }
+ });
+ }
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ getTemp() {
+ // 缓存获取不到请求接口
+ var that = this;
+ var urlStr = app.getNetAddresss("home-page.wxapp");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ temp: res.data
+ });
+
+ // let url = that.data.routeData;
+ if (that.data.routeData.indexOf('o2oHome') >= 0 ||
+ that.data.routeData.indexOf('VideoList') >= 0 || that.data.routeData.indexOf('easyRefuel') >= 0 ||
+ that.data.routeData.indexOf('VideoDetail') >= 0 || that.data.routeData.indexOf('groupCode') >= 0 || that.data.routeData.indexOf('questionnaireIndex') >= 0 ||
+ that.data.routeData.indexOf('groupCodeRanking') >= 0 || that.data.routeData.indexOf('groupCodeShow') >= 0 ||
+ that.data.routeData.indexOf('groupCodeRecord') >= 0 || that.data.routeData.indexOf('groupCodeData') >= 0) {
+ that.setData({
+ routeDataShow: true
+ });
+ }
+
+ if (that.data.iPnoneBottomBol) {
+ that.triggerEvent("showcarrfoot_ipx", true);
+ } else {
+ that.triggerEvent("showcarrfoot", true);
+ }
+
+ if (that.data.temp.item.foot && that.data.temp.item.foot.page_info) {
+ // 显示列表默认
+ let menu = JSON.parse(that.data.temp.item.foot.page_info);
+ that.setData({
+ menu_button: menu.button_item.menu_button,
+ tab_style: menu.tab_style.value
+ });
+ } else {
+ // 显示系统默认
+ that.setData({
+ menu_button: that.data.defaultData.button_item.menu_button,
+ tab_style: that.data.defaultData.tab_style.value
+ });
+ }
+
+ // 显示自定义的底部导航
+ if (that.data.menu_button) {
+ let menus = that.data.menu_button;
+ for (let i = 0; i < menus.length; i++) {
+ let url = menus[i].link;
+ if (url.indexOf(that.data.routeData) >= 0 && menus[i].sub_button.length <= 0) {
+ if (that.data.routeData == 'packageG/newDiy/newDiy') {
+ //diy页面加判断个id,来判断是否当前diy页面
+ if (currentPage.options && url.indexOf(Number(currentPage.options.page_id)) >= 0) {
+ that.setData({
+ routeDataShow: true,
+ selectedMenuIndex: i,
+ });
+ break;
+ }
+ } else {
+ that.setData({
+ routeDataShow: true,
+ selectedMenuIndex: i,
+ });
+ break;
+ }
+
+ }
+ }
+
+ // 二级用seletedId显示
+ for (let k = 0; k < menus.length; k++) {
+ for (let j = 0; j < menus[k].sub_button.length; j++) {
+ let url_1 = menus[k].sub_button[j].link;
+ if (url_1.indexOf(that.data.routeData) >= 0) {
+ that.setData({
+ routeDataShow: true,
+ selectedSubMenuIndex: k,
+ seletedId: menus[k].sub_button[j].id,
+ });
+ break;
+ }
+ }
+ }
+ }
+
+ }
+ },
+ fail: function (res) {
+
+ }
+ });
+ },
+ /**
+ * 处理数据
+ * @param {String} datas
+ * **/
+ handle_data(datas) {
+ let handleDatas = {};
+ Object.keys(datas).map(key => {
+ handleDatas[key] = datas[key].value;
+ });
+ return handleDatas;
+ },
+ //选中主菜单
+ selectedMenu(e) {
+ let item = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index;
+
+ if (this.data.selectedMenuIndex !== index) {
+ this.setData({
+ selectedSubMenuIndex: "",
+ selectedMenuIndex: index,
+ });
+ } else {
+ this.setData({
+ selectedSubMenuIndex: "",
+ selectedMenuIndex: "",
+ });
+ return;
+ }
+
+ if (item.sub_button.length == 0) {
+ if (item.isMinApp == 2) {
+ if (item.gh_id) {
+ if (item.minApp_link) {
+ try {
+ wx.navigateToMiniProgram({
+ appId: item.gh_id,
+ path: item.minApp_link,
+ extraData: {},
+ envVersion: 'release',
+ success(res) {
+ // 打开成功
+ },
+ fail(res) {
+ wx.showToast({
+ title: '小程序跳转失败',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '小程序跳转失败',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ wx.showToast({
+ title: '请设置跳转小程序后的跳转链接',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ wx.showToast({
+ title: '请设置小程序所需跳转appId',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ if (item.link === this.data.routeData) {
+ return;
+ }
+ let url = item.link;
+
+ if (app.globalData.store_alone_temp == 1) {
+ // 门店独立模块底部导航
+ url += `?store_id=${app.globalData.STORE_ID}`;
+ }
+
+ if (url) {
+ try {
+ if (app.globalData.store_alone_temp == 1 && (item.id == 1 || item.id == 2)) {
+ wx.navigateTo({
+ url: url
+ });
+ } else {
+ wx.redirectTo({
+ url: url,
+ fail: () => {
+ app.tips('链接设置错误:' + url);
+ }
+ });
+ }
+ } catch (e) {
+ app.tips('链接设置错误:' + url);
+ }
+ } else {
+ app.tips('请设置跳转链接');
+ }
+ }
+ }
+
+ },
+ //选中子菜单
+ selectedSubMenu(e) {
+ let index = e.currentTarget.dataset.index;
+ let item = e.currentTarget.dataset.item;
+
+ if (item.isMinApp == 2) {
+ if (item.gh_id) {
+ if (item.minApp_link) {
+ try {
+ wx.navigateToMiniProgram({
+ appId: item.gh_id,
+ path: item.minApp_link,
+ extraData: {},
+ envVersion: 'release',
+ success(res) {
+ // 打开成功
+ },
+ fail(res) {
+ wx.showToast({
+ title: '小程序跳转失败',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '小程序跳转失败',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ wx.showToast({
+ title: '请设置跳转小程序后的跳转链接',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ wx.showToast({
+ title: '请设置小程序所需跳转appId',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ if (item.link === this.data.routeData) {
+ return;
+ }
+ let url = item.link;
+ this.setData({
+ selectedSubMenuIndex: index,
+ });
+ let selectedSubMenu = this.data.menu_button[this.data.selectedMenuIndex].sub_button[this.data.selectedSubMenuIndex];
+ this.setData({
+ seletedId: selectedSubMenu.id,
+ });
+ if (url) {
+ try {
+ wx.redirectTo({
+ url: url,
+ fail: () => {
+ app.tips('链接设置错误:' + url);
+ }
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '链接设置错误:' + url,
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ wx.showToast({
+ title: '请设置跳转链接',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ }
+ },
+ getiPnoneBottom() {
+ let that = this;
+ try {
+ var value = wx.getStorageSync('iPhoneBottom');
+ if (value) {
+ that.setData({
+ iPnoneBottomBol: true
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ goindex() {
+ wx.redirectTo({
+ url: '/packageG/index/index'
+ });
+ },
+ gocategory() {
+ wx.redirectTo({
+ url: '/packageG/pages/category_v2/category_v2'
+ });
+ },
+ goextension() {
+ wx.redirectTo({
+ url: '/packageG/pages/member/extension/extension'
+ });
+ },
+ gocart() {
+ wx.redirectTo({
+ url: '/packageG/pages/buy/cart_v2/cart_v2'
+ });
+ },
+ gomember() {
+ wx.redirectTo({
+ url: '/packageG/member_v2/member_v2'
+ });
+ },
+ }
+});
diff --git a/mycomponent/foot/foot.json b/mycomponent/foot/foot.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/mycomponent/foot/foot.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/mycomponent/foot/foot.wxml b/mycomponent/foot/foot.wxml
new file mode 100644
index 0000000..ec8b7df
--- /dev/null
+++ b/mycomponent/foot/foot.wxml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/mycomponent/foot/foot.wxss b/mycomponent/foot/foot.wxss
new file mode 100644
index 0000000..71d5927
--- /dev/null
+++ b/mycomponent/foot/foot.wxss
@@ -0,0 +1,154 @@
+/* packageE/foot/foot.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.ul {
+ padding: 0;
+}
+
+.li {
+ list-style: none;
+}
+
+.component-wrapper {
+ position: relative;
+}
+
+.advertising-preview {
+ position: fixed;
+ bottom: 0;
+ left: 50%;
+ transform: translateX(-50%);
+ z-index: 99;
+ width: 100%;
+}
+
+.advertising-preview .weixin-menu {
+ margin-bottom: 0;
+ display: flex;
+}
+
+/* 一级 */
+.advertising-preview .weixin-menu .menu-item {
+ max-width: 100%;
+ position: relative;
+ line-height: 50px;
+ height: 50px;
+ text-align: center;
+ flex: 1;
+
+ /* border-left: 1px solid #e7e7e7; */
+
+ /* border-right: 1px solid #e7e7e7; */
+ cursor: pointer;
+ color: #616161;
+}
+
+/* 二级 */
+.advertising-preview .weixin-sub-menu {
+ position: absolute;
+ bottom: 49px;
+ left: -1px;
+ width: 100%;
+
+ /* border-top: 1px solid #d0d0d0; */
+ background: #fafafa;
+ display: block;
+ padding: 0;
+ z-index: -1;
+}
+
+.advertising-preview .weixin-sub-menu .menu-sub-item {
+ line-height: 50px;
+ height: 50px;
+ text-align: center;
+ width: 100%;
+
+ /* border: 1px solid #d0d0d0; */
+ cursor: pointer;
+ position: relative;
+ color: #616161;
+ box-sizing: content-box;
+}
+
+.advertising-preview .menu-arrow {
+ position: absolute;
+ left: 50%;
+ margin-left: -6px;
+}
+
+.advertising-preview .arrow_in {
+ bottom: -4px;
+ display: inline-block;
+ width: 0;
+ height: 0;
+ border-width: 6px 6px 0;
+ border-style: solid dashed dashed;
+ border-color: #fafafa transparent transparent;
+}
+
+.advertising-preview .arrow_out {
+ bottom: -5px;
+ display: inline-block;
+ width: 0;
+ height: 0;
+ border-width: 6px 6px 0;
+ border-style: solid dashed dashed;
+ border-color: #d0d0d0 transparent transparent;
+}
+
+.advertising-preview .menu-item .menu-item-title,
+.advertising-preview .menu-sub-item .menu-item-title {
+ width: 100%;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ box-sizing: border-box;
+}
+
+.advertising-preview .menu-item .menu-item-title .span,
+.advertising-preview .menu-sub-item .menu-item-title .span {
+ /* width: 100%; */
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ box-sizing: border-box;
+}
+
+.advertising-preview .weixin-sub-menu.show {
+ display: block;
+}
+
+.advertising-preview .icon_menu_dot {
+ width: 7px;
+ height: 7px;
+ vertical-align: middle;
+ display: inline-block;
+ margin-right: 2px;
+ margin-top: -2px;
+}
+
+.advertising-preview .icon14_menu_add {
+ width: 14px;
+ height: 14px;
+ vertical-align: middle;
+ display: inline-block;
+ margin-top: -2px;
+}
+
+.icon-img {
+ width: 20px;
+ height: 20px;
+ display: inline-block;
+ vertical-align: sub;
+ flex: 0 0 20px;
+}
+
+.menu-icon {
+ font-size: 20px;
+ vertical-align: sub;
+}
+
+.menu-text {
+ font-size: 12px;
+}
diff --git a/mycomponent/goodsList/goodsList.js b/mycomponent/goodsList/goodsList.js
new file mode 100644
index 0000000..d46b0df
--- /dev/null
+++ b/mycomponent/goodsList/goodsList.js
@@ -0,0 +1,399 @@
+var app = getApp();
+Component({
+ properties: {
+ goods: {
+ type: null
+ },
+ styleCon: {
+ type: null
+ },
+ loading: {
+ type: null
+ },
+ jumpSo: {
+ type: null
+ },
+ storeId: {
+ type: null
+ },
+ classifyBol: {
+ type: null
+ },
+ showprice: {
+ type: null
+ },
+ text: {
+ type: null
+ },
+ kind: {
+ type: null
+ },
+ goods_template: {
+ type: null
+ },
+ type: {
+ type: null
+ },
+ bg_color: {
+ type: String,
+ value: "#f5f5f5"
+ }
+ },
+ data: {
+ language: '',
+ iPnoneBottomBol: false,
+ price: '',
+ market_price: '',
+ template: '',
+ posterId: 0,
+ integral: "积分"
+ }, // 私有数据,可用于模板渲染
+ observers: {
+ 'classifyBol': function (bol) {
+ console.log(bol, 'aaaaaa');
+ },
+ 'goods_template': function (goods_template) { // 'params'是要监听的字段,(params)是已更新变化后的数据
+ if (goods_template) {
+ this.setData({
+ template: goods_template.names
+ });
+ if (goods_template.names == '02' || goods_template.names == '03') {
+ this.setData({
+ classifyBol: false
+ });
+ } else {
+ if (!this.data.classifyBol) {
+ this.setData({
+ classifyBol: false
+ });
+ }
+ console.log('aaaaaa', this.data.classifyBol);
+ }
+ }
+
+ // let basic_info = wx.getStorageSync("yz_basic_info");
+ // if(basic_info && basic_info.home.item.is_decorate === 1) {
+ // if(basic_info.home.item.ViewSet.goodsList.is_default != 0) {
+ // this.setData({
+ // template: basic_info.home.item.ViewSet.goodsList.code.substring(9)
+ // });
+ // }else {
+ // this.setData({
+ // template: '01'
+ // });
+ // }
+ // }
+
+ }
+ },
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ // this.getStatus(); //没发现有用
+ if (wx.getStorageSync("yz_basic_info").lang) {
+ let price = wx.getStorageSync("yz_basic_info").lang.goods ? wx.getStorageSync("yz_basic_info").lang.goods.price : '现价';
+ let market_price = wx.getStorageSync("yz_basic_info").lang.goods ? wx.getStorageSync("yz_basic_info").lang.goods.market_price : '原价';
+ this.setData({
+ price: price,
+ market_price: market_price
+ });
+ }
+
+ const value = wx.getStorageSync('integral');
+ if (value) {
+ this.setData({
+ integral: value
+ });
+ }
+ },
+ moved() {},
+ detached() {},
+ },
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.getiPnoneBottom();
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+ methods: {
+ copybtn(e) {
+ let inviteCode = e.target.dataset.title;
+ let goods_link = e.target.dataset.link;
+ if (goods_link) {
+ let aa = goods_link.split('0x0A');
+ let bb = aa.join('\r');
+ wx.setClipboardData({
+ data: goods_link ? bb : '',
+ });
+ } else {
+ wx.setClipboardData({
+ data: inviteCode ? inviteCode : '',
+ });
+ }
+ },
+ getiPnoneBottom() {
+ let that = this;
+ try {
+ var value = wx.getStorageSync('iPhoneBottom');
+ if (value) {
+ that.setData({
+ iPnoneBottomBol: true
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ getShare(ras) {
+ var that = this;
+ var urlStr = app.getNetAddresss('goods.goods.get-goods-type');
+ urlStr += '&id=' + ras;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let _data = res.data.goods_type;
+ let groups_title = res.data.title;
+ that.triggerEvent('getShare', {
+ ras,
+ _data,
+ groups_title
+ });
+ // this.triggerEvent('getShareType',_data)
+ }
+ },
+ fail: function (res) {}
+ });
+
+ },
+ // getStatus(){
+ // var that = this;
+ // var urlStr = app.getNetAddresss("member.member.member-data");
+ // app._getNetWork({
+ // url: urlStr,
+ // success: function(resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // try{
+ // if(res.data.plugins.ViewSet.goodsList && res.data.plugins.ViewSet.goodsList.name == '02'){
+ // that.setData({
+ // goodsStatus:res.data.plugins.ViewSet.goodsList.name
+ // });
+ // }else{
+ // that.setData({
+ // goodsStatus:'01'
+ // });
+ // }
+ // }catch(err){
+ // console.log(err);
+ // that.setData({
+ // goodsStatus:'01'
+ // });
+ // }
+ // } else {
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // });
+ // }
+ //
+ // },
+ // fail: function(res) {
+ //
+ // }
+ // });
+ // },
+ gotoDetail(e) {
+ let that = this;
+ let id = e.currentTarget.dataset.goodsid;
+ if (this.data.jumpSo == true) {
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id + '&tag=o2o' + '&store_id=' + this.data.storeId
+ });
+ } else if (this.data.type == 'snatchRegiment') {
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id + '&name=69'
+ });
+ return;
+ } else if (that.data.text == 'paddingOrder_Home' || that.data.kind == 'kind') {
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id + '&kind=POrder',
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ // console.log(this.data.kind) 没有用到了
+ // var that = this;
+ // var urlStr = app.getNetAddresss("goods.goods.get-goods");
+ // urlStr += "&id=" + id;
+ // app._getNetWork({
+ // showToastIn: false,
+ // url: urlStr,
+ // success: function(resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // if (res.data.is_course == 1) {
+ // wx.navigateTo({
+ // url: '/packageA/detail_v2/detail_v2?id=' + id
+ // });
+ // //CourseDetail goods_id: id
+ // } else if (res.data.goods_type == 1) {
+ // wx.navigateTo({
+ // url: '/packageA/detail_v2/detail_v2?id=' + id + '&tag=o2o' + '&store_id=' + res.data.store_id
+ // });
+ // } else if (that.data.text == 'paddingOrder_Home'||that.data.kind == 'kind'){
+ // wx.navigateTo({
+ // url: '/packageA/detail_v2/detail_v2?id=' + id + '&kind=POrder',
+ // });
+ // }else {
+ // wx.navigateTo({
+ // url: '/packageA/detail_v2/detail_v2?id=' + id
+ // });
+ // }
+ // } else {
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // });
+ // }
+
+ // },
+ // fail: function(res) {
+
+ // }
+ // });
+ }
+ },
+ saveImg() {
+ // var _this = this;
+ // var times = _this.data.timeend - _this.data.timestart;
+ wx.getSetting({
+ success(res) {
+ if (!res.authSetting['scope.writePhotosAlbum']) {
+ wx.authorize({
+ scope: 'scope.writePhotosAlbum',
+ success() {
+ console.log('授权成功');
+ }
+ });
+ }
+ }
+ });
+ var imgSrc = this.data.posterImg.image_url;
+ wx.downloadFile({
+ url: imgSrc,
+ success: function (res) {
+ //图片保存到本地
+ wx.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success: function (data) {
+ wx.showToast({
+ title: '保存成功',
+ icon: 'none',
+ duration: 2000
+ });
+ },
+ fail: function (err) {
+ if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
+ console.log("当初用户拒绝,再次发起授权");
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting['scope.writePhotosAlbum']) {
+ wx.showToast({
+ icon: 'none',
+ title: '获取权限成功,再次长按保存图片',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '获取权限失败,保存图片需要用户授权',
+ duration: 1500
+ });
+ }
+ }
+ });
+ }
+ },
+ complete(res) {
+ console.log(res);
+ }
+ });
+ }
+ });
+ },
+ posterClose() {
+ this.setData({
+ posterShow: false
+ });
+ },
+ postShow(e) {
+ let id = e.currentTarget.dataset.goodsid;
+ this.getShare(id);
+ this.setData({
+ posterId: id,
+ posterShow: true
+ });
+ return;
+ // let that = this;
+ // if (that.data.posterImg) {
+ // this.setData({
+ // posterShow: true
+ // });
+ // } else {
+ // wx.showLoading({
+ // title: '海报生成中',
+ // });
+ // this.data.posterId = id;
+ // let urlStr = app.getNetAddresss("goods.goods-poster.generate-goods-poster");
+ // urlStr += "&id=" + id;
+ // app._getNetWork({
+ // showToastIn: false,
+ // url: urlStr,
+ // success: function (resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // that.setData({
+ // posterImg: res.data,
+ // posterShow: true
+ // });
+ // } else {
+ // that.setData({
+ // posterShow: false
+ // });
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // });
+ // }
+ // wx.hideLoading();
+ // },
+ // fail: function (res) {
+ // console.log(res);
+ // wx.hideLoading();
+ // }
+ // });
+ // setTimeout(function () {
+ // wx.hideLoading();
+ // }, 5000);
+ // }
+ },
+ }
+});
\ No newline at end of file
diff --git a/mycomponent/goodsList/goodsList.json b/mycomponent/goodsList/goodsList.json
new file mode 100644
index 0000000..84b03d5
--- /dev/null
+++ b/mycomponent/goodsList/goodsList.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "goods-qrcode":"/mycomponent/temp/goods_qrcode/goods_qrcode"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/goodsList/goodsList.wxml b/mycomponent/goodsList/goodsList.wxml
new file mode 100644
index 0000000..b482f3d
--- /dev/null
+++ b/mycomponent/goodsList/goodsList.wxml
@@ -0,0 +1,213 @@
+
+
+ var toFixedNum = function (item) { if (item) { return (item.price - item.goods_love.love_coin.amountOfMoney).toFixed(2) + "+" + item.goods_love.love_coin.amountOfCoin } };
+ module.exports.toFixedNum = toFixedNum;
+
+ var isBigger = function (market_price, price) { return Number(market_price) > Number(price) };
+ module.exports.isBigger = isBigger;
+
+ var checkPrice = function (item){
+ if(item.vip_level_status && item.vip_level_status.status == 1){
+ return item.vip_level_status.word
+ }else if(item.has_option == 1 && item.min_price){
+ // 如果有规格,并且有区间价格就显示最低价格
+ return item.min_price
+ }else{
+ return item.price
+ }
+ }
+ module.exports.checkPrice = checkPrice;
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+ {{labelItem.name}}
+
+
+
+
+
+
+ {{ item.point_goods.min_point }}
+
+ {{integral}}
+
+
+
+ {{market_price}}{{language['money']}}{{ item.market_price }}
+
+
+
+
+ {{language['money']}}
+
+ {{util.checkPrice(item) }}
+
+
+ 会员价:{{language['money']}}{{item.vip_level_status && item.vip_level_status.status == 1
+ ? item.vip_level_status.word
+ : (item.price_level==1?item.vip_price:item.vip_next_price)}}
+ {{item.pass_price.name}}:{{item.pass_price.price}}
+
+
+
+ {{language['money']}}{{util.toFixedNum(item)}} {{item.goods_love.love_coin.name }}
+
+
+
+
+ {{language['money']}}
+ 预估收益:{{ item.estimated_commission }}
+
+
+ 送
+ {{item.goods_points}} {{integral}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ items.title }}
+
+
+
+ {{labelItem.name}}
+
+
+
+
+
+ {{ items.point_goods.min_point }}
+
+ {{integral}}
+
+
+
+
+ 立减{{language['money']}}{{items.coupon.deduct}}
+ 优惠卷{{items.coupon.discount}}折
+ 推广赚{{language['money']}}{{items.first_dividend}}
+
+ {{price}}{{language['money']}}{{ items.price }}
+
+ 券后价{{language['money']}}{{ items.coupon.deduct_price }}
+
+
+ {{price}}
+ {{language['money']}}
+ {{ util.checkPrice(items) }}
+
+ 会员价:{{language['money']}}{{items.vip_level_status && items.vip_level_status.status == 1
+ ? items.vip_level_status.word
+ : (items.price_level==1?items.vip_price:items.vip_next_price)}}
+ {{items.pass_price.name}}:{{items.pass_price.price}}
+
+ {{language['money']}}预估收益:{{ items.estimated_commission }}
+
+
+
+
+
+
+ 复制标题
+ 分享海报
+
+
+
+
+
+
+
+
+
+
+
+ {{ items.title }}
+
+
+
+ {{labelItem.name}}
+
+
+
+
+
+
+ {{ items.point_goods.min_point }}
+
+ {{integral}}
+
+
+
+
+ {{price}} {{language['money']}}
+ {{ util.checkPrice(items) }}
+
+
+
+
+ 送
+ {{items.goods_points}} {{integral}}
+
+
+ 会员价:{{language['money']}}{{items.vip_level_status && items.vip_level_status.status == 1
+ ? items.vip_level_status.word
+ : (items.price_level==1?items.vip_price:items.vip_next_price)}}
+ {{items.pass_price.name}}:{{items.pass_price.price}}
+
+ {{language['money']}}预估收益:{{ items.estimated_commission }}
+
+
+ {{language['money']}}{{util.toFixedNum(items)}} {{items.goods_love.love_coin.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycomponent/goodsList/goodsList.wxss b/mycomponent/goodsList/goodsList.wxss
new file mode 100644
index 0000000..5c6dcb0
--- /dev/null
+++ b/mycomponent/goodsList/goodsList.wxss
@@ -0,0 +1,525 @@
+/* pages/goodsList/goodsList.wxss */
+.goodslist {
+ background: #f5f5f5;
+
+ /* padding-bottom: 50px; */
+}
+
+.pass_price{
+ color:#867E7E;
+}
+.goodslist .a {
+ color: #2b2f33;
+}
+.pl-4{
+ padding-left:4px ;
+}
+.goodslist .main2 .list {
+ display: -webkit-box;
+ display: -webkit-flex;
+ background: #fff;
+ border-bottom: solid 2rpx #ebebeb;
+ padding-top: 5rpx;
+ padding-bottom: 5rpx;
+ padding-left: 30rpx;
+}
+
+.goodslist .main2 .imgs {
+ width: 200rpx;
+ height: 200rpx;
+
+ /* padding: 12rpx; */
+ box-sizing: border-box;
+ overflow: hidden;
+ border-radius: 10rpx;
+}
+
+.goodslist .main2 .imgss {
+ width: 254rpx;
+ height: 254rpx;
+
+ /* padding: 12rpx; */
+ box-sizing: border-box;
+ overflow: hidden;
+ border-radius: 10rpx;
+ margin-left: 20rpx;
+}
+
+.goodslist .main2 .imgss image {
+ width: 100%;
+}
+
+.goodslist .main2 .imgs image {
+ width: 100%;
+}
+
+.goodslist .main2 .shop_info {
+ display: flex;
+ flex-direction: column;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ text-align: left;
+
+ /* padding: 20rpx 24rpx; */
+ padding-left: 15rpx;
+}
+
+.goodslist .main2 .shop_info .ul {
+ flex: 1;
+ display: flex;
+ justify-content: space-between;
+
+ /* margin-bottom: 20rpx; */
+ flex-direction: column;
+}
+
+.goodslist .main2 .shop_info .title {
+ margin: 10rpx;
+ font-size: 24rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+ /* height: 60rpx; */
+ /* line-height: 30rpx; */
+ color: #333;
+}
+
+.goodslist .main2 .shop_info .goods-label-box {
+ margin: 10rpx;
+ font-size: 22rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+ /* height: 60rpx; */
+ color: rgb(136, 136, 136);
+}
+
+.goodslist .main2 .shop_info .goods-label-box .goods-label {
+ margin-right: 12rpx ;
+}
+
+.goodslist .main2 .shop_info .title_two {
+ margin: 10rpx;
+ font-size: 24rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+
+ /* height: 60rpx; */
+ line-height: 30rpx;
+ color: #333;
+}
+
+.goodslist .main2 .shop_info .s2 {
+ font-size: 20rpx;
+ line-height: 28rpx;
+ color: #999;
+ text-decoration: line-through;
+}
+
+.goodslist .main2 .shop_info .member {
+ /* font-size: 28rpx;
+ color: #f15353; */
+
+ /* flex: 1.3; */
+
+ /* text-align: right;
+ margin-left: 20rpx; */
+ font-size: 28rpx;
+ color: #fb4a4a;
+ line-height: 28rpx;
+ padding-bottom: 8rpx;
+}
+
+.goodslist .main2 .shop_info .member .small {
+ font-size: 20rpx;
+ line-height: 28rpx;
+ color: #fb4a4a;
+}
+
+.goodslist .main2 .shop_info .member .a {
+ color: #f23030;
+ font-weight: bold;
+ margin-top: 20rpx;
+}
+
+.goodslist .main2 .fit {
+ flex: 0 0 32rpx;
+}
+
+.goodslist .loadNomore {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.goodslist .loadNomore image {
+ width: 20%;
+}
+
+.goodslist .h3 {
+ width: 65%;
+ position: relative;
+ margin: 0 auto 40rpx;
+ height: 40rpx;
+ padding: 20rpx 0 0;
+}
+
+.goodslist .h3 .title {
+ width: 33%;
+ text-align: center;
+ padding: 0 20rpx;
+ background: #f5f5f5;
+ position: absolute;
+ z-index: 9;
+ left: 0;
+ right: 0;
+ margin: auto;
+ font-size: 28rpx;
+ color: #666;
+}
+
+.goodslist .h3 .spas {
+ border-bottom: 2rpx solid #d9d9d9;
+ position: absolute;
+ z-index: 5;
+ top: 40rpx;
+ width: 100%;
+}
+
+.goodslist .mai {
+ width: 100%;
+ overflow: hidden;
+}
+
+.goodslist .main {
+ overflow: hidden;
+
+ /* margin-right: -2rpx; */
+ margin: 16rpx 24rpx;
+ background: #f5f5f5;
+}
+
+.goodslist .main .dl:nth-child(2n) {
+ margin-right: 0;
+}
+
+.goodslist .main .dl {
+ border-radius: 16rpx;
+ padding: 0;
+ box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ float: left;
+ padding-bottom: 16rpx;
+ margin-bottom: 16rpx;
+ margin-right: 2%;
+ background: #fff;
+ width: 49%;
+}
+
+.goodslist .main .dl .dt {
+ width: 100%;
+
+ /* padding-bottom: 100%; */
+ position: relative;
+ overflow: hidden;
+ height: 330rpx;
+ border-radius: 9rpx 9rpx 0rpx 0rpx;
+ border-bottom: solid 1rpx #f2f2f7;
+}
+
+.goodslist .main .dl .dt image {
+ width: 100%;
+ right: 0;
+ height: 100%;
+ position: absolute;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+}
+
+.goodslist .main .dl .s3 {
+ display: block;
+ text-align: left;
+ margin: 0 20rpx;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 1;
+ word-break: break-all;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.goodslist .main .dl .dd {
+ margin: 0;
+}
+
+.goodslist .main .dl .dd .s1 {
+ margin: 0;
+}
+
+.goodslist .main .dl .dd .s1 .span {
+ line-height: 28rpx;
+ height: 28rpx;
+ overflow: hidden;
+ font-size: 20rpx;
+ color: #fb4a4a;
+ padding-left: 9rpx;
+}
+
+.goodslist .main .dl .dd .s1 .em1 {
+ font-size: 28rpx;
+ background: #f15353;
+ color: white;
+ padding: 6.4rpx 16rpx;
+ border-top-left-radius: 16rpx;
+ border-bottom-right-radius: 16rpx;
+}
+
+.goodslist .main .dl .dd .s1 .em2 {
+ font-size: 32rpx;
+}
+
+.goodslist .main .dl .dd .s2 {
+ text-decoration: line-through;
+ vertical-align: middle;
+ height: 28rpx;
+ font-size: 24rpx;
+ line-height: 28rpx;
+ color: #999;
+ padding-left: 9rpx;
+}
+
+.goodslist .main .dl .m-text {
+ /* height: 60rpx; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ word-break: break-all;
+ text-align: left;
+ font-size: 24rpx;
+ line-height: 30rpx;
+ color: #333;
+ margin: 20rpx 10rpx;
+ /* padding-left: 5rpx;
+ padding-right: 20rpx;
+ padding-top: 9rpx; */
+}
+
+.goodslist .main .dl .m-label {
+ margin: 10rpx;
+ /* max-height: 74rpx; */
+ text-align: left;
+ font-size: 24rpx;
+ color: rgb(136, 136, 136);
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ word-break: break-all;
+
+}
+.goodslist .main .dl .m-label .goods-label {
+ margin-right: 12px;
+}
+
+.heightAuto {
+ -webkit-line-clamp: 3 !important;
+}
+
+.share_box {
+ display: flex;
+ justify-content: center;
+ margin: 20rpx 0;
+}
+
+.btn_left {
+ width: 140rpx;
+ height: 48rpx;
+ border-radius: 24rpx;
+ border: solid 1px #ff2c29;
+ text-align: center;
+ line-height: 48rpx;
+ margin-left: 22rpx;
+}
+
+.btn_right {
+ width: 140rpx;
+ height: 48rpx;
+ background-color: #ff2c29;
+ border-radius: 24rpx;
+ text-align: center;
+ line-height: 48rpx;
+ color: #fff;
+ margin-right: 22rpx;
+}
+
+.shareC {
+ display: flex;
+ justify-content: flex-start;
+ margin-bottom: 16rpx;
+}
+
+.shareC_left,
+.shareC_right {
+ /* width: 117rpx; */
+ height: 27rpx;
+ background-color: #ffeee9;
+ font-size: 20rpx;
+ color: #ff6333;
+ margin-left: 13rpx;
+ text-align: center;
+ line-height: 27rpx;
+ padding: 0 10rpx;
+}
+
+.shareimg {
+ width: 100%;
+ height: 103rpx;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ border-top: solid 2rpx #ebebeb;
+ margin-top: 10rpx;
+ margin-left: 25rpx;
+ margin-right: 25rpx;
+}
+
+.aImgBtn {
+ width: 159rpx;
+ height: 55rpx;
+ background-color: #ff2c29;
+ border-radius: 28rpx;
+ font-size: 28rpx;
+ color: #fff;
+ text-align: center;
+ line-height: 55rpx;
+}
+
+.copybtn {
+ width: 159rpx;
+ height: 55rpx;
+ color: #ff2c29;
+ border: 1px solid #ff2c29;
+ border-radius: 28rpx;
+ font-size: 28rpx;
+ text-align: center;
+ line-height: 55rpx;
+ margin-right: 16rpx;
+}
+
+/* 海报 */
+.code_box {
+ width: 500rpx;
+
+ /* height: 970rpx; */
+
+ /* position: absolute;
+ left: 50%; */
+ display: block;
+ margin: 0 auto 60rpx;
+ border-radius: 12rpx;
+}
+
+.code_box image {
+ width: 100%;
+ border-radius: 12rpx;
+}
+
+.posterPopup_style .icon_btn {
+ width: 100%;
+ position: relative;
+
+ /* height: 120rpx; */
+ background: #fff;
+ text-align: center;
+ display: flex;
+ justify-content: space-around;
+}
+
+.posterPopup_style .icon_btn .box {
+ width: 50%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+ padding: 20rpx 0;
+ position: relative;
+}
+
+.posterPopup_style .icon_btn image {
+ width: 80rpx;
+ height: 80rpx;
+ margin-bottom: 8rpx;
+}
+
+.posterPopup_style .icon_close {
+ width: 100%;
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ background: #efefef;
+ color: #333;
+ font-size: 32rpx;
+}
+
+.point-good {
+ color: #ff9500;
+}
+
+.point-good .point-good-price {
+ display: inline-block;
+ font-size: 32rpx;
+ word-break: break-all;
+}
+
+.point-good .point-text {
+ font-size: 22rpx;
+ display: inline-block;
+ background: #ff9500;
+ color: #fff;
+ padding: 2rpx 6rpx;
+ border-radius: 5px;
+ vertical-align: text-bottom;
+}
+
+.daydayPrice-text {
+ color: #ff9500;
+}
+
+.give_integral_wrapper {
+ position: relative;
+ display: flex;
+ text-align: left;
+}
+
+.give_integral_wrapper .give_integral_text {
+ position: absolute;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 35rpx !important;
+ height: 35rpx !important;
+ font-size: 22rpx;
+ color: #fff;
+ background-color: #ec544a;
+ border-radius: 50%;
+}
+
+.give_integral_wrapper .give_integral_num {
+ display: inline-flex;
+ align-items: center;
+ height: 35rpx !important;
+ padding: 6rpx 16rpx 6rpx 42rpx;
+ box-sizing: border-box;
+ font-size: 22rpx;
+ color: #ec544a;
+ background-color: #fff5f4;
+ border-radius: 15%;
+}
diff --git a/mycomponent/groupListPopup/groupListPopup.js b/mycomponent/groupListPopup/groupListPopup.js
new file mode 100644
index 0000000..c581d09
--- /dev/null
+++ b/mycomponent/groupListPopup/groupListPopup.js
@@ -0,0 +1,137 @@
+// packageB/mycomponent/groupListPopup/groupListPopup.js
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ item: {
+ type: Array
+ },
+ info: {
+ type: Object
+ },
+ storeId: null
+ },
+ observers: {},
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ show: false,
+ teamInfo: [],
+ uid: '',
+ shareModel: {
+ title: '',
+ path: '',
+ imageUrl: '',
+ fromButton: ''
+ }
+ },
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ try {
+ let uid = wx.getStorageSync('yz_uid');
+ this.setData({
+ uid
+ });
+ } catch (error) {
+ console.log(error);
+ }
+ },
+ moved() {},
+ detached() {},
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ tapOverlay() {
+ this.setData({
+ show: false
+ });
+ },
+ getAllTeam(e) {
+ let id = this.data.info.id;
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.controllers.fight-groups-goods.all-team");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: id
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ isLoadMore: true,
+ total_page: res.data.last_page,
+ teamInfo: res.data.data,
+ show: true
+ });
+ if (!this.data.total_page) {
+ this.setData({
+ total_page: 0,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ // 加入该团按钮
+ clickAdd(e) {
+ // let _id = e.target.dataset.id || e.currentTarget.dataset.id;
+ let status = e.target.dataset.item || e.currentTarget.dataset.item;
+ let _team_id = e.target.dataset.id || e.currentTarget.dataset.id;
+ if (status == "1") {
+ return;
+ } else {
+ let that = this;
+ let goods = [];
+ goods.push(that.data.goodsId);
+ let urlStr = app.getNetAddresss("from.div-from.isDisplay");
+ urlStr += "&goods_ids=" + JSON.stringify(goods);
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.status && !res.data.member_status) {
+ wx.showModal({
+ title: "提示",
+ content: "购买此商品,请补充您的个人信息",
+ success(res) {
+ if (res.confirm) {
+ //保税真实信息添加
+ wx.navigateTo({
+ url: "/packageB/member/address/myinfo/myinfo?tag=group" + "&activityId=" + that.data.activityId,
+ });
+ }
+ },
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageB/member/group/GroupDetail/GroupDetail?id=" + _team_id + "&store_id=" + that.properties.storeId,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ }
+ },
+ }
+});
\ No newline at end of file
diff --git a/mycomponent/groupListPopup/groupListPopup.json b/mycomponent/groupListPopup/groupListPopup.json
new file mode 100644
index 0000000..9860dd4
--- /dev/null
+++ b/mycomponent/groupListPopup/groupListPopup.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "/dist/icon/index",
+ "van-popup": "/dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/groupListPopup/groupListPopup.wxml b/mycomponent/groupListPopup/groupListPopup.wxml
new file mode 100644
index 0000000..1f9bcdd
--- /dev/null
+++ b/mycomponent/groupListPopup/groupListPopup.wxml
@@ -0,0 +1,55 @@
+
+
+
+
+
+ {{ datas.has_one_leader.username }}
+ 已开团,差{{ datas.has_one_level.member_num - datas.has_many_success_member_count}}人
+
+
+
+
+
+
+
+
+
+
+
+ 以下小伙伴拼团中,可直接参与
+
+
+
+
+
+
+
+
+
+
+
+ {{item.has_one_leader.username}} 开{{item.has_one_level.member_num}}人团
+
+
+
+ 剩余
+
+ 结束,仅差{{item.has_one_level.member_num-item.has_many_success_member_count}}人
+
+
+
+
+
+
+
+ 加载更多
+
+
+
+
\ No newline at end of file
diff --git a/mycomponent/groupListPopup/groupListPopup.wxss b/mycomponent/groupListPopup/groupListPopup.wxss
new file mode 100644
index 0000000..8cbec14
--- /dev/null
+++ b/mycomponent/groupListPopup/groupListPopup.wxss
@@ -0,0 +1,151 @@
+/* packageB/mycomponent/groupListPopup/groupListPopup.wxss */
+.allteam {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 100%;
+ width: 100%;
+ background-color: #f8f8f8;
+ padding: 0 16rpx 0 12rpx;
+ box-sizing: border-box;
+}
+
+.allteam .allLeft {
+ flex: 1;
+ display: flex;
+ overflow: hidden;
+}
+
+.allteam .allLeft .teamNo {
+ color: #f15353;
+ max-width: 55%;
+
+ /* overflow: hidden; */
+
+ /* text-overflow: ellipsis; */
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.allteam .allLeft .teamTwo {
+ white-space: nowrap;
+ flex: 1;
+}
+
+.allteam .allRight {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+/* 拼团中弹窗 */
+.open_group {
+ background: #fff;
+ padding: 20rpx;
+ border-radius: 16rpx;
+}
+
+.open_group p {
+ font-size: 26rpx;
+ margin-bottom: 20rpx;
+}
+
+.open_group .icon_close {
+ position: absolute;
+ top: 8rpx;
+ right: 0;
+ width: 80rpx;
+ height: 80rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.open_group .icon_close .iconfont {
+ line-height: 80rpx;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.open_group .setMaxH {
+ max-height: 384rpx;
+ overflow: scroll;
+}
+
+/* 拼团中弹窗 */
+.open_group {
+ background: #fff;
+ padding: 20rpx;
+ border-radius: 16rpx;
+}
+
+.open_group .p {
+ font-size: 14px;
+ margin-bottom: 20rpx;
+}
+
+/* .open_group .icon_close {
+ position: absolute;
+ top: 8rpx;
+ right: 0;
+ width: 80rpx;
+ height: 80rpx;
+} */
+
+.open_group .iconfont {
+ line-height: 80rpx;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.open_group .into_user {
+ display: flex;
+ align-items: center;
+ border-bottom: solid 2rpx #ebebeb;
+ padding: 20rpx 0;
+}
+
+.open_group .into_user .user {
+ width: 72rpx;
+ height: 72rpx;
+ background: #f2f2f2;
+ border-radius: 64rpx;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.open_group .into_user .time {
+ width: 368rpx;
+ text-align: left;
+}
+
+.open_group .into_user .time .time_a {
+ font-size: 14px;
+}
+
+.open_group .into_user .time .time_b {
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.open_group .into_user .time .time_b .span {
+ color: #f15353;
+}
+
+.open_group .into_user .user image {
+ width: 100%;
+ height: 100%;
+}
+
+.open_group .into_user button {
+ border: none;
+ background: #f15353;
+ color: #fff;
+ width: 155rpx;
+ height: 52rpx;
+ border-radius: 8rpx;
+ font-size: 12px;
+}
+
+/* 拼团中弹窗end */
diff --git a/mycomponent/mp-html/index.js b/mycomponent/mp-html/index.js
new file mode 100644
index 0000000..170e0aa
--- /dev/null
+++ b/mycomponent/mp-html/index.js
@@ -0,0 +1,8 @@
+"use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e;}/*!
+ * mp-html v2.1.3
+ * https://github.com/jin-yufeng/mp-html
+ *
+ * Released under the MIT license
+ * Author: Jin Yufeng
+ */
+var t=require("./parser"),n=[];Component({data:{nodes:[]},properties:{containerStyle:String,content:{type:String,value:"",observer:function(e){this.setContent(e);}},copyLink:{type:Boolean,value:!0},domain:String,errorImg:String,lazyLoad:Boolean,loadingImg:String,pauseVideo:{type:Boolean,value:!0},previewImg:{type:Boolean,value:!0},scrollTable:Boolean,selectable:null,setTitle:{type:Boolean,value:!0},showImgMenu:{type:Boolean,value:!0},tagStyle:Object,useAnchor:null},created:function(){this.plugins=[];for(var e=n.length;e--;)this.plugins.push(new n[e](this));},detached:function(){clearInterval(this._timer),this._hook("onDetached");},methods:{in:function(e,t,n){e&&t&&n&&(this._in={page:e,selector:t,scrollTop:n});},navigateTo:function(t,n){var o=this;return new Promise(function(r,i){if(!o.data.useAnchor)return void i(Error("Anchor is disabled"));var a=wx.createSelectorQuery().in(o._in?o._in.page:o).select((o._in?o._in.selector:"._root")+(t?"".concat(">>>","#").concat(t):"")).boundingClientRect();o._in?a.select(o._in.selector).scrollOffset().select(o._in.selector).boundingClientRect():a.selectViewport().scrollOffset(),a.exec(function(t){if(!t[0])return void i(Error("Label not found"));var a=t[1].scrollTop+t[0].top-(t[2]?t[2].top:0)+(n||parseInt(o.data.useAnchor)||0);o._in?o._in.page.setData(e({},o._in.scrollTop,a)):wx.pageScrollTo({scrollTop:a,duration:300}),r();});});},getText:function(e){var t="";return function e(n){for(var o=0;o"0"&&r.name[1]<"7";i&&t&&"\n"!==t[t.length-1]&&(t+="\n"),r.children&&e(r.children),i&&"\n"!==t[t.length-1]?t+="\n":"td"!==r.name&&"th"!==r.name||(t+="\t");}}}(e||this.data.nodes),t;},getRect:function(){var e=this;return new Promise(function(t,n){wx.createSelectorQuery().in(e).select("._root").boundingClientRect().exec(function(e){return e[0]?t(e[0]):n(Error("Root label not found"));});});},setContent:function(e,n){var o=this;this.imgList&&n||(this.imgList=[]),this._videos=[];var r={},i=new t(this).parse(e);if(n)for(var a=this.data.nodes.length,l=i.length;l--;)r["nodes[".concat(a+l,"]")]=i[l];else r.nodes=i;this.setData(r,function(){o._hook("onLoad"),o.triggerEvent("load");});var s;clearInterval(this._timer),this._timer=setInterval(function(){o.getRect().then(function(e){e.height===s&&(o.triggerEvent("ready",e),clearInterval(o._timer)),s=e.height;}).catch(function(){});},350);},_hook:function(e){for(var t=n.length;t--;)this.plugins[t][e]&&this.plugins[t][e]();},_add:function(e){e.detail.root=this;}}});
\ No newline at end of file
diff --git a/mycomponent/mp-html/index.json b/mycomponent/mp-html/index.json
new file mode 100644
index 0000000..36b626e
--- /dev/null
+++ b/mycomponent/mp-html/index.json
@@ -0,0 +1 @@
+{"component":true,"usingComponents":{"node":"./node/node"}}
\ No newline at end of file
diff --git a/mycomponent/mp-html/index.wxml b/mycomponent/mp-html/index.wxml
new file mode 100644
index 0000000..7671b55
--- /dev/null
+++ b/mycomponent/mp-html/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/mycomponent/mp-html/index.wxss b/mycomponent/mp-html/index.wxss
new file mode 100644
index 0000000..550b213
--- /dev/null
+++ b/mycomponent/mp-html/index.wxss
@@ -0,0 +1,2 @@
+._root { padding: 1px 0; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
+._select { -webkit-user-select: text; user-select: text; }
diff --git a/mycomponent/mp-html/node/node.js b/mycomponent/mp-html/node/node.js
new file mode 100644
index 0000000..189e0c7
--- /dev/null
+++ b/mycomponent/mp-html/node/node.js
@@ -0,0 +1 @@
+"use strict";function t(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t;}Component({data:{ctrl:{}},properties:{childs:Array,opts:Array},attached:function(){this.triggerEvent("add",this,{bubbles:!0,composed:!0});},methods:{noop:function(){},getNode:function(t){for(var e=t.split("_"),i=this.data.childs[e[0]],r=1;rr.src.length&&(s=0),svar e={abbr:!0,b:!0,big:!0,code:!0,del:!0,em:!0,i:!0,ins:!0,label:!0,q:!0,small:!0,span:!0,strong:!0,sub:!0,sup:!0};module.exports=function(n){return!n.c&&(!n.children||!e[n.name]&&-1===(n.attrs.style||"").indexOf("inline"))};{{n.text}}\n
\ No newline at end of file
diff --git a/mycomponent/mp-html/node/node.wxss b/mycomponent/mp-html/node/node.wxss
new file mode 100644
index 0000000..7b43a15
--- /dev/null
+++ b/mycomponent/mp-html/node/node.wxss
@@ -0,0 +1,63 @@
+._a { padding: 1.5px 0 1.5px 0; color: #366092; word-break: break-all; }
+._hover { text-decoration: underline; opacity: 0.7; }
+._img { max-width: 100%; -webkit-touch-callout: none; vertical-align: middle; }
+
+._b,
+._strong { font-weight: 700; }
+._code { font-family: monospace; }
+._del { text-decoration: line-through; }
+
+._em,
+._i { font-style: italic; }
+._h1 { font-size: 2em; }
+._h2 { font-size: 1.5em; }
+._h3 { font-size: 1.17em; }
+._h5 { font-size: 0.83em; }
+._h6 { font-size: 0.67em; }
+
+._h1,
+._h2,
+._h3,
+._h4,
+._h5,
+._h6 { display: block; font-weight: 700; }
+._ins { text-decoration: underline; }
+._li { display: list-item; }
+._ol { list-style-type: decimal; }
+
+._ol,
+._ul { display: block; padding-left: 40px; margin: 1em 0; }
+._q::before { content: '"'; }
+._q::after { content: '"'; }
+._sub { font-size: smaller; vertical-align: sub; }
+._sup { font-size: smaller; vertical-align: super; }
+
+._tbody,
+._tfoot,
+._thead { display: table-row-group; }
+._tr { display: table-row; }
+
+._td,
+._th { display: table-cell; vertical-align: middle; }
+._th { font-weight: 700; text-align: center; }
+._ul { list-style-type: disc; }
+._ul ._ul { margin: 0; list-style-type: circle; }
+._ul ._ul ._ul { list-style-type: square; }
+
+._abbr,
+._b,
+._code,
+._del,
+._em,
+._i,
+._ins,
+._label,
+._q,
+._span,
+._strong,
+._sub,
+._sup { display: inline; }
+
+._blockquote,
+._div,
+._p { display: block; }
diff --git a/mycomponent/mp-html/parser.js b/mycomponent/mp-html/parser.js
new file mode 100644
index 0000000..30bdaa9
--- /dev/null
+++ b/mycomponent/mp-html/parser.js
@@ -0,0 +1 @@
+"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i;}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1);}return t;}function s(t){this.options=t.data||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0;}function e(t){this.handler=t;}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"}},n={},r=wx.getSystemInfoSync(),h=r.windowWidth,o=r.system,l=t(" ,\r,\n,\t,\f"),c=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes;},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if("a"===i.name||i.c)return;i.c=1;}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0;},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t;},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||l[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p));}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*h/750+"px";}));e[c]=d;}}}return t.attrs.style=a,e;},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1);},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T");},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t);},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,o=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var l=s.src||"";l.includes(".mp4")||l.includes(".3gp")||l.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(l.includes(".mp3")||l.includes(".wav")||l.includes(".aac")||l.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T";}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+c++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),o){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break;}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;f.5?y[x].toUpperCase():y[x];b+=y.substr(x),y=b;}}this.imgList.push(y);}"inline"===d.display&&(d.display=""),s.ignore&&(d["max-width"]=d["max-width"]||"100%",s.style+=";-webkit-touch-callout:none"),parseInt(d.width)>h&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",d.height&&!d.height.includes("auto")&&(i.h="T")));}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var w in d)d[w]&&(s.style+=";".concat(w,":").concat(d[w].replace(" !important","")));s.style=s.style.substr(1)||void 0;}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i);},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}});}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&wx.setNavigationBarTitle({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1);}if("svg"===t.name){if(this.xml>1)return void this.xml--;var o="",l=i.style;return i.style="",i.viewbox&&(i.viewBox=i.viewbox),i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(o+=i.text);o+="<"+i.name;for(var s in i.attrs){var e=i.attrs[s];e&&(o+=" ".concat(s,'="').concat(e,'"'));}if(i.children){o+=">";for(var a=0;a";}else o+="/>";}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+o.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1);}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["xx-small","x-small","small","medium","large","x-large","xx-large"][d-1]),i.size=void 0;}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>h&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("",this.i),-1!==this.i&&(this.i+=2,this.start=this.i),this.state=this.endTag):this.state=this.text,!0);},e.prototype.text=function(){if(this.i=this.content.indexOf("<",this.i),-1===this.i)return void(this.start="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i);}else this.i++;},e.prototype.tagName=function(){if(l[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));l[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text;}else this.i++;},module.exports=s;
\ No newline at end of file
diff --git a/mycomponent/payKeyboard/PayKeyboardAsync.js b/mycomponent/payKeyboard/PayKeyboardAsync.js
new file mode 100644
index 0000000..23b53cf
--- /dev/null
+++ b/mycomponent/payKeyboard/PayKeyboardAsync.js
@@ -0,0 +1,17 @@
+class PayKeyboardAsync{
+ constructor(){
+ this.completeFn=null;
+ }
+ addCompleteFn(fn){
+ this.completeFn = fn;
+ }
+ complete(pass){
+ this.completeFn(pass);
+ }
+}
+let payKeyboardAsync = new PayKeyboardAsync();
+
+
+
+
+exports.payKeyboardAsync=payKeyboardAsync;
\ No newline at end of file
diff --git a/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.js b/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.js
new file mode 100644
index 0000000..606d067
--- /dev/null
+++ b/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.js
@@ -0,0 +1,198 @@
+// mycomponent/payKeyboard/numberKeyboard/numberKeyboard.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ externalClasses: ['complate-class', 'close-btn-class', 'complate-text-class'],
+ properties: {
+ show: {
+ value: false,
+ type: Boolean
+ },
+ extraKey: {
+ value: '',
+ type: String
+ },
+ theme: {
+ value: "default",
+ type: String
+ },
+ title: {
+ value: '',
+ type: String
+ },
+ closeButtonText: {
+ value: '',
+ type: String
+ },
+ amountModel: {
+ value: false,
+ type: Boolean
+ },
+ numberKeyBoardCloseFn: {
+ type: Function
+ },
+ maxlength: {
+ value: 999,
+ type: Number
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ passKeyArr: [{
+ value: 1,
+ type: 'number'
+ },
+ {
+ value: 2,
+ type: 'number'
+ },
+ {
+ value: 3,
+ type: 'number'
+ },
+ {
+ value: 4,
+ type: 'number'
+ },
+ {
+ value: 5,
+ type: 'number'
+ },
+ {
+ value: 6,
+ type: 'number'
+ },
+ {
+ value: 7,
+ type: 'number'
+ },
+ {
+ value: 8,
+ type: 'number'
+ },
+ {
+ value: 9,
+ type: 'number'
+ },
+ {
+ value: 'icon-jianpan',
+ type: 'hidden'
+ },
+ {
+ value: 0,
+ type: 'number'
+ },
+ {
+ value: 'icon-fontclass-guanbi',
+ type: 'deleteBtn'
+ },
+ ],
+ passValueArr: []
+
+ },
+
+ ready() {
+ if (this.data.extraKey != '') {
+ let obj = {
+ value: this.data.extraKey,
+ type: "number"
+ };
+ let passKeyArr = this.data.passKeyArr;
+ passKeyArr.splice(9, 1, obj);
+ this.setData({
+ passKeyArr
+ });
+ }
+
+ if (this.data.theme == "custom") {
+ let passKeyArr = this.data.passKeyArr;
+ passKeyArr.pop();
+ let obj1 = {
+ value: 0,
+ type: "number"
+ };
+ let obj2 = {
+ value: ".",
+ type: "number"
+ };
+ passKeyArr.splice(9, 1, obj1);
+ passKeyArr.splice(10, 1, obj2);
+ this.setData({
+ passKeyArr
+ });
+ }
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ handClickPass(evt) {
+ let {
+ value,
+ type
+ } = evt.currentTarget.dataset;
+
+ if (type == "number") {
+ if (this.data.passValueArr.length >= this.data.maxlength) {
+ let floatNum = this.getFloatNum();
+ if ((value == "." && this.data.amountModel) || (this.data.amountModel && floatNum != -1 && floatNum < 2)) {
+ //这两种情况不return
+ } else {
+ return;
+ }
+ }
+ if (this.data.amountModel && value == ".") {
+ if (this.data.passValueArr.length == 0) return;
+ if (this.data.passValueArr.includes(".")) return;
+ }
+ if (this.data.amountModel) {
+ let floatNum = this.getFloatNum();
+ if (floatNum >= 2) return;
+ }
+ this.data.passValueArr.push(value);
+ } else if (type == "deleteBtn") {
+ this.data.passValueArr.pop();
+ } else if (type == "hidden") {
+ this.handHiddenKeyboard();
+ return;
+ }
+ let passValueArr = this.data.passValueArr;
+ this.setData({
+ passValueArr
+ });
+ this.triggerEvent("input", {
+ passValueArr,
+ value,
+ type
+ });
+ },
+ handHiddenKeyboard() {
+ let numberKeyBoardCloseFn = this.data.numberKeyBoardCloseFn;
+ if (numberKeyBoardCloseFn && (typeof numberKeyBoardCloseFn == 'function')) {
+ let flag = numberKeyBoardCloseFn();
+ if (!flag) return;
+ }
+ this.setData({
+ show: false
+ });
+ this.triggerEvent("hide");
+ },
+ //获取当前小数点后有几位
+ getFloatNum() {
+ let index = this.data.passValueArr.indexOf(".");
+ if (index >= 0) {
+ index++;
+ let len = this.data.passValueArr.length;
+ index = len - index;
+ }
+ return index;
+ }
+
+ }
+});
\ No newline at end of file
diff --git a/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.json b/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.json
new file mode 100644
index 0000000..f6ede36
--- /dev/null
+++ b/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "/dist/transition/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.wxml b/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.wxml
new file mode 100644
index 0000000..95dbbf1
--- /dev/null
+++ b/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.wxml
@@ -0,0 +1,32 @@
+
+
+
+
+ {{title}}
+ {{closeButtonText}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.wxss b/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.wxss
new file mode 100644
index 0000000..f767520
--- /dev/null
+++ b/mycomponent/payKeyboard/numberKeyboard/numberKeyboard.wxss
@@ -0,0 +1,100 @@
+/* mycomponent/payKeyboard/numberKeyboard/numberKeyboard.wxss */
+
+@import "/mycss/iconfont.wxss";
+
+.number-keyboard {
+ width: 100%;
+ padding-bottom: 22px;
+ background-color: #f2f3f5;
+}
+
+.number-keyboard--with-title {
+ border-radius: 20px 20px 0 0;
+}
+
+.number-keyboard__heade {
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ box-sizing: content-box;
+ height: 34px;
+ padding-top: 6px;
+ color: #646566;
+ font-size: 16px;
+}
+
+.number-keyboard__close {
+ position: absolute;
+ right: 0;
+ padding: 0 16px;
+ color: #576b95;
+ font-size: 14px;
+ background-color: transparent;
+ border: none;
+ cursor: pointer;
+}
+
+.number-keyboard__body {
+ display: flex;
+ padding: 6px 0 0 6px;
+}
+
+.number-keyboard__keys {
+ display: flex;
+ flex: 3;
+ flex-wrap: wrap;
+}
+
+.key__wrapper {
+ position: relative;
+ flex: 1;
+ flex-basis: 33%;
+ box-sizing: border-box;
+ padding: 0 6px 6px 0;
+}
+
+.key__wrapper.key__wrapper--wider {
+ flex-basis: 66%;
+}
+
+.key__wrapper .btn-key {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 48px;
+ font-size: 28px;
+ line-height: 1.5;
+ background-color: #fff;
+ border-radius: 8px;
+ cursor: pointer;
+}
+
+.key__wrapper .btn-key-hover {
+ filter: brightness(90%);
+}
+
+.key__wrapper .btn-key::after {
+ border: none;
+}
+
+.number-keyboard__sidebar {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+}
+
+.key__wrapper .btn-key--large {
+ position: absolute;
+ top: 0;
+ right: 6px;
+ bottom: 6px;
+ left: 0;
+ height: auto;
+}
+
+.key__wrapper .key--blue {
+ font-size: 32rpx;
+ color: #fff;
+ background-color: #1989fa;
+}
\ No newline at end of file
diff --git a/mycomponent/payKeyboard/passwordInput/passwordInput.js b/mycomponent/payKeyboard/passwordInput/passwordInput.js
new file mode 100644
index 0000000..af7cd78
--- /dev/null
+++ b/mycomponent/payKeyboard/passwordInput/passwordInput.js
@@ -0,0 +1,30 @@
+// mycomponent/payKeyboard/passwordInput/passwordInput.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ value:{
+ type:Array,
+ value:[]
+ },
+ length:{
+ type:Number,
+ value:6
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+
+ }
+});
diff --git a/mycomponent/payKeyboard/passwordInput/passwordInput.json b/mycomponent/payKeyboard/passwordInput/passwordInput.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/mycomponent/payKeyboard/passwordInput/passwordInput.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/payKeyboard/passwordInput/passwordInput.wxml b/mycomponent/payKeyboard/passwordInput/passwordInput.wxml
new file mode 100644
index 0000000..401c676
--- /dev/null
+++ b/mycomponent/payKeyboard/passwordInput/passwordInput.wxml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/mycomponent/payKeyboard/passwordInput/passwordInput.wxss b/mycomponent/payKeyboard/passwordInput/passwordInput.wxss
new file mode 100644
index 0000000..02ae1d8
--- /dev/null
+++ b/mycomponent/payKeyboard/passwordInput/passwordInput.wxss
@@ -0,0 +1,67 @@
+/* mycomponent/payKeyboard/passwordInput/passwordInput.wxss */
+
+.passinput {
+ display: flex;
+ width: 100%;
+ height: 50px;
+ cursor: pointer;
+}
+
+.passinput .passinput_item {
+ position: relative;
+ display: flex;
+ flex: 1;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ font-size: 20px;
+ line-height: 1.2;
+ background-color: #fff;
+}
+
+.passinput .passinput_item .icon {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 10px;
+ height: 10px;
+ background-color: #000;
+ border-radius: 100%;
+ transform: translate(-50%, -50%);
+}
+
+.passinput .passinput_item .van-password-input_cursor {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 1px;
+ height: 40%;
+ background-color: #323233;
+ transform: translate(-50%, -50%);
+ animation: 1s van-cursor-flicker infinite;
+}
+
+.passinput .passinput_item.hairline--left::after {
+ position: absolute;
+ box-sizing: border-box;
+ content: ' ';
+ pointer-events: none;
+ top: -50%;
+ right: -50%;
+ bottom: -50%;
+ left: -50%;
+ border: 1px solid #ebedf0;
+ transform: scale(0.5);
+}
+
+@keyframes van-cursor-flicker{
+ 0%{
+ opacity: 0;
+ }
+ 50%{
+ opacity: 1;
+ }
+ 100%{
+ opacity: 0;
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/payKeyboard/payKeyboard.js b/mycomponent/payKeyboard/payKeyboard.js
new file mode 100644
index 0000000..cfd5f18
--- /dev/null
+++ b/mycomponent/payKeyboard/payKeyboard.js
@@ -0,0 +1,137 @@
+// mycomponent/payKeyboard/payKeyboard.js
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ show:{
+ value:false,
+ type:Boolean
+ },
+ displaySetPass:{
+ value:true,
+ type:Boolean
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ passValueArr:[],
+ restrict:'',
+ nemberKeyboardShow:true
+ },
+ lifetimes:{
+ attached(){
+
+ },
+ ready(){
+ }
+ },
+ observers:{
+ 'show': function (news){
+ if(news){
+ this.checkCode();
+ }
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ gotoBalance(){
+ this.triggerEvent("close");
+ wx.navigateTo({
+ url: '/packageA/member/balance_password/balance_password'
+ });
+ },
+ handkeyboardinput(evt){
+ let {value,type} = evt.detail;
+ console.log(this.data.passValueArr);
+
+ if(type=="number"){
+ if(this.data.passValueArr.length<6)this.data.passValueArr.push(value);
+
+ if(this.data.passValueArr.length>=6){
+ this.triggerEvent("complete",this.data.passValueArr.join(''));
+ this.setData({show:false,passValueArr:[]});
+ return;
+ }
+
+ }else if(type=="deleteBtn"){
+ this.data.passValueArr.pop();
+ }
+ this.setData({
+ passValueArr:this.data.passValueArr
+ });
+ },
+ setNemberKeyboardShow(){
+ this.setData({nemberKeyboardShow:true});
+ },
+ closePayKeyboard(){
+ this.setData({show:false});
+ this.triggerEvent("close");
+ },
+ submit(){
+ console.log(this.data.passValueArr);
+ if (this.data.passValueArr.length <= 16 && this.data.passValueArr.length >= 8) {
+ this.triggerEvent("complete",this.data.passValueArr);
+ this.setData({show:false,passValueArr:''});
+ }else{
+ app.tips('请输入正确密码');
+ this.triggerEvent("close");
+ this.setData({show:false,passValueArr:''});
+ }
+ },
+ tapinp(e){
+ this.setData({
+ passValueArr:e.detail
+ });
+ },
+ checkCode(){
+ if(this.data.restrict) {
+ return;
+ }
+ wx.showLoading({
+ title: '加载中',
+ });
+ let urlStr = app.getNetAddresss("payment.password.multiple");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ if (res.result == 1) {
+ let rict;
+ if(res.data){
+ rict = 'more';
+ }else{
+ rict = 'once';
+ }
+ this.setData({
+ restrict : rict
+ });
+ }else {
+ this.setData({
+ restrict : 'more'
+ });
+ }
+ },
+ fail: (res)=> {
+ wx.hideLoading();
+ this.setData({
+ restrict : 'more'
+ });
+ },
+ });
+ },
+ },
+ ready: function() {
+
+ },
+});
diff --git a/mycomponent/payKeyboard/payKeyboard.json b/mycomponent/payKeyboard/payKeyboard.json
new file mode 100644
index 0000000..75961e8
--- /dev/null
+++ b/mycomponent/payKeyboard/payKeyboard.json
@@ -0,0 +1,12 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-overlay": "/dist/overlay/index",
+ "van-transition": "/dist/transition/index",
+ "number-keyboard":"./numberKeyboard/numberKeyboard",
+ "password-input":"./passwordInput/passwordInput",
+ "van-cell-group": "../../dist/cell-group/index",
+ "van-field": "../../dist/field/index",
+ "van-button": "../../dist/button/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/payKeyboard/payKeyboard.wxml b/mycomponent/payKeyboard/payKeyboard.wxml
new file mode 100644
index 0000000..b0fd601
--- /dev/null
+++ b/mycomponent/payKeyboard/payKeyboard.wxml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 忘记密码
+
+
+
+
+
+
+
+
+
+
+
+ 确认
+
+
+
+
+ 忘记密码
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mycomponent/payKeyboard/payKeyboard.wxss b/mycomponent/payKeyboard/payKeyboard.wxss
new file mode 100644
index 0000000..33938da
--- /dev/null
+++ b/mycomponent/payKeyboard/payKeyboard.wxss
@@ -0,0 +1,119 @@
+/* mycomponent/payKeyboard/payKeyboard.wxss */
+
+@import "/mycss/iconfont.wxss";
+
+view,
+text {
+ box-sizing: border-box;
+}
+
+.payKeyboardWrapper {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+ width: 100vw;
+}
+
+.payKeyboardWrapper .payKeyboardTop {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.payKeyboardWrapper .payKeyboard {
+ width: 80%;
+ height: 10rem;
+ background: #fff;
+ border-radius: 0.5rem;
+}
+
+.payKeyboardWrapper .payKeyboard .header {
+ height: 2.596rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+}
+
+.payKeyboardWrapper .payKeyboard .header .title {
+ font-size: 1rem;
+ letter-spacing: 0.05rem;
+ color: #000;
+}
+
+.payKeyboardWrapper .payKeyboard .header .icon-guanbi {
+ position: absolute;
+ top: 0.5rem;
+ right: 1.25rem;
+ color: #000;
+}
+
+.payKeyboardWrapper .payKeyboard .input {
+ padding: 0.8rem;
+}
+
+.payKeyboardWrapper .payKeyboard .tips {
+ text-align: center;
+ color: red;
+}
+
+@keyframes van-cursor-flicker {
+ 0% {
+ opacity: 0;
+ }
+
+ 50% {
+ opacity: 1;
+ }
+
+ 100% {
+ opacity: 0;
+ }
+}
+
+.yz_payCode {
+ width: 100vw;
+ height: 100vh;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.yz_payCode .payKeyboard {
+ width: 80%;
+ height: 320rpx;
+ background: #fff;
+ border-radius: 16rpx;
+}
+
+.yz_payCode .payKeyboard .header {
+ height: 83.072rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+}
+
+.yz_payCode .payKeyboard .header .title {
+ font-size: 32rpx;
+ letter-spacing: 1.6rpx;
+ color: #000;
+}
+
+.yz_payCode .payKeyboard .header .icon-guanbi {
+ position: absolute;
+ top: 10rpx;
+ right: 40rpx;
+ color: #000;
+}
+
+.yz_payCode .payKeyboard .input {
+ padding-top: 25.6rpx;
+ padding-bottom: 25.6rpx;
+}
+
+.yz_payCode .payKeyboard .tips {
+ color: red;
+ text-align: center;
+}
diff --git a/mycomponent/searchHistory/searchHistory.js b/mycomponent/searchHistory/searchHistory.js
new file mode 100644
index 0000000..dd6c274
--- /dev/null
+++ b/mycomponent/searchHistory/searchHistory.js
@@ -0,0 +1,122 @@
+// mycomponent/searchHistory/searchHistory.js
+Component({
+ properties: {
+ storageName: {
+ type: String,
+ value: 'searchHistory'
+ },
+ showHistory: {
+ type: Boolean,
+ value: false,
+ }
+ },
+ data: {
+ // 搜索历史
+ searchHistoryList: [],
+ // 标记显示搜索历史
+ showFlag: false,
+ loadShow: false,
+ },
+
+ lifetimes: {
+ attached() {
+ console.log(this.properties.storageName,'1212');
+ this.initKeywords();
+ this.showHistory();
+ }
+ },
+
+ methods: {
+ showHistory() {
+ if (this.data.searchHistoryList.length > 0) {
+ this.setData({
+ showFlag: true
+ });
+ }
+ },
+
+ initKeywords () {
+ try {
+ var localStorageobj = wx.getStorageSync(this.data.storageName);
+ if (localStorageobj) {
+ this.setData({
+ searchHistoryList: JSON.parse(localStorageobj)
+ });
+ } else {
+ wx.setStorageSync(this.data.storageName, "[]");
+ }
+ } catch (err) {
+ console.log(err);
+ }
+ },
+
+ // 清空历史记录
+ clearHistoryItems() {
+ try {
+ this.triggerEvent("popTag");
+ wx.removeStorageSync(this.data.storageName);
+ this.setData({
+ searchHistoryList: [],
+ showFlag: false
+ });
+ } catch (err){
+ console.log(err);
+ }
+ },
+
+ // 删除一项历史记录
+ popHistoryItems(event) {
+ try {
+ let value = event.target.dataset.item;
+ let arr = this.data.searchHistoryList;
+ let index = this.data.searchHistoryList.findIndex((item) => item.name == value);
+ if (value !== "" && index >= 0) {
+ arr.splice(index, 1);
+ this.triggerEvent("popTag");
+ this.setData({
+ searchHistoryList: arr
+ });
+ wx.setStorageSync(this.data.storageName, JSON.stringify(arr));
+ }
+ } catch (err) {
+ console.log(err);
+ }
+ return false;
+ },
+
+ appendKeywords(value) {
+ var appendFlag = true;
+ if (!value) {
+ return;
+ }
+ value = value.trim();
+ if (this.data.searchHistoryList && this.data.searchHistoryList.length > 0) {
+ this.data.searchHistoryList.forEach((item, index) => {
+ if (item.name === value) {
+ appendFlag = false;
+ return;
+ }
+ });
+ }
+
+ if (appendFlag && value !== '') {
+ let arr = this.data.searchHistoryList;
+ let len = this.data.searchHistoryList.length;
+ if (len >= 10) {
+ arr.pop();
+ }
+ let timer = Date.parse(new Date());
+ arr.unshift({name: value, key: timer});
+ wx.setStorageSync(this.data.storageName, JSON.stringify(arr));
+ this.setData({
+ searchHistoryList: arr
+ });
+ }
+ },
+
+ clickTag (event) {
+ let value = event.currentTarget.dataset.item;
+ this.triggerEvent("clickTag",value);
+ },
+ }
+});
\ No newline at end of file
diff --git a/mycomponent/searchHistory/searchHistory.json b/mycomponent/searchHistory/searchHistory.json
new file mode 100644
index 0000000..98253e8
--- /dev/null
+++ b/mycomponent/searchHistory/searchHistory.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../../dist/icon/index",
+ "van-tag": "../../dist/tag/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/searchHistory/searchHistory.wxml b/mycomponent/searchHistory/searchHistory.wxml
new file mode 100644
index 0000000..07e5b49
--- /dev/null
+++ b/mycomponent/searchHistory/searchHistory.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ 搜索历史
+
+
+
+
+ {{item.name}}
+ X
+
+
+
diff --git a/mycomponent/searchHistory/searchHistory.wxss b/mycomponent/searchHistory/searchHistory.wxss
new file mode 100644
index 0000000..7a73dc7
--- /dev/null
+++ b/mycomponent/searchHistory/searchHistory.wxss
@@ -0,0 +1,38 @@
+/* mycomponent/searchHistory/searchHistory.wxss */
+.search-history {
+ margin: 14rpx 38rpx;
+ text-align: left;
+ background: #fff;
+}
+
+.search-head {
+ display: flex;
+ justify-content: space-between;
+}
+
+.tag {
+ max-width: 100%;
+ display: inline-flex;
+ align-items: center;
+ margin: 4rpx;
+ padding: 10rpx 14rpx;
+ font-size: 22rpx;
+ line-height: 22rpx;
+ background-color: #f2f2f2;
+ color: #4e4e4e;
+ border-radius: 999px;
+}
+
+.tag .text {
+ display: inline-block;
+ margin-right: 10rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ word-break: break-all;
+}
+
+.tag .delete {
+ display: inline-block;
+ margin: 0 3rpx 0 6rpx;
+}
diff --git a/mycomponent/star/star.js b/mycomponent/star/star.js
new file mode 100644
index 0000000..2910d7c
--- /dev/null
+++ b/mycomponent/star/star.js
@@ -0,0 +1,64 @@
+Component({
+ properties: {
+ score: {
+ type: null
+ },
+ },
+ data: {
+ itemClassesData: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let itemClassesData = this.itemClasses();
+ this.setData({
+ itemClassesData:itemClassesData
+ });
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ itemClasses() {
+ let result = [];
+ let lengths = 5;
+ let score = Math.floor(this.data.score * 2) / 2; //例如:把分数处理成在4.5以上及4.5就变成向上取整5,在4.5以下就变成4.5
+ //是否需要半星
+ let starhalf = score % 1 != 0 ? true : false;
+ //几颗全星
+ let fullstar = Math.floor(score);
+ for (var i = 0; i < fullstar; i++) { //放全星
+ result.push('');
+ }
+ if (starhalf) { //放半星
+ result.push('half');
+ }
+ if (result.length < lengths) { //如果没有满到五个星就用灰色的星星补齐
+ var offstar = lengths - result.length;
+ for (var j = 0; j < offstar; j++) {
+ result.push('zo');
+ }
+ }
+ if (this.score <= 0.5) {
+ result = ['', '', '', '', ''];
+ }
+ return result;
+ }
+ }
+
+});
diff --git a/mycomponent/star/star.json b/mycomponent/star/star.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/mycomponent/star/star.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/star/star.wxml b/mycomponent/star/star.wxml
new file mode 100644
index 0000000..14e9f0a
--- /dev/null
+++ b/mycomponent/star/star.wxml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/mycomponent/star/star.wxss b/mycomponent/star/star.wxss
new file mode 100644
index 0000000..8f733f8
--- /dev/null
+++ b/mycomponent/star/star.wxss
@@ -0,0 +1,30 @@
+/* pages/star/star.wxss */
+.a8v .a8d {
+ height: 24rpx;
+ padding-top: 4rpx;
+ overflow: hidden;
+ position: relative;
+}
+
+.a8d .a79 {
+ font-size: 0;
+}
+
+.a8d .a79 .i {
+ display: inline-block;
+ width: 20rpx;
+ height: 20rpx;
+ background-position: 0 0;
+ background-image: url('http://static-o2o.360buyimg.com/daojia/new/images/icon/newStar.png');
+ background-repeat: no-repeat;
+ background-size: auto 20rpx;
+ margin-right: 2rpx;
+}
+
+.a8d .a79 .i.half {
+ /* background-position: -40rpx 0; */
+}
+
+.a8d .a79 .i.zo {
+ /* background-position: -82rpx 0; */
+}
diff --git a/mycomponent/temp/goods/goods.js b/mycomponent/temp/goods/goods.js
new file mode 100644
index 0000000..4f97714
--- /dev/null
+++ b/mycomponent/temp/goods/goods.js
@@ -0,0 +1,156 @@
+var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ index: {
+ type: null
+ },
+ data: {
+ type: null
+ },
+ designer: {
+ type: null
+ },
+ sessionurl: {
+ type: null
+ },
+ Identification: {
+ type: null
+ },
+ grouid: {
+ type: null
+ },
+ total: {
+ type: null
+ },
+ bottomShow: {
+ type: null
+ },
+ isBottomnum: {
+ type: null
+ }
+ },
+ data: {
+ language: '',
+ showMore: true,
+ page: 1,
+ total_page: 0,
+ isLoadMore: true
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ this.triggerEvent('isLoadMorebtn', this.data.isLoadMore);
+ // this.setData({
+ // total_page: Math.ceil(this.data.total / 12)
+ // })
+ // if (this.data.page >= this.data.total_page) {
+ // this.setData({
+ // isLoadMore: false
+ // })
+ // }
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ gotoDetail(e) {
+ let id = e.currentTarget.dataset.good.goodid;
+ if(e.currentTarget.dataset.good.plugin_id != 69){
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ }else{
+ wx.navigateTo({ url: '/packageA/detail_v2/detail_v2?id=' + id + '&name=69'});
+ }
+ },
+ // 获取更多数据
+ getMoreData() {
+ let that = this;
+ if (that.data.page >= that.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: that.data.page + 1
+ });
+ let urlStr = app.getNetAddresss('home-page.get-page-goods');
+ urlStr += '&page=' + that.data.page;
+ urlStr += '&group_id=' + that.data.grouid;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let data = that.data.data;
+ that.setData({
+ data: data.concat(res.data.data)
+ });
+ if (that.data.page >= that.data.total_page) {
+ that.setData({
+ isLoadMore: false
+ });
+ that.triggerEvent('isLoadMorebtn', that.data.isLoadMore);
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ that.triggerEvent('isLoadMorebtn', that.data.isLoadMore);
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ }
+ },
+ observers: {
+ 'isBottomnum': function(num) {
+ if(num>1){
+ this.getMoreData();
+ }
+
+ },
+ 'params': function() {
+ this.setData({
+ showMore: true,
+ page: 1,
+ total_page: 0,
+ isLoadMore: true
+ });
+ this.triggerEvent('isLoadMorebtn', this.data.isLoadMore);
+ this.setData({
+ total_page: Math.ceil(this.data.total / 12)
+ });
+ if (this.data.page >= this.data.total_page) {
+ this.setData({
+ isLoadMore: false
+ });
+ this.triggerEvent('isLoadMorebtn', this.data.isLoadMore);
+ }
+ }
+ }
+});
diff --git a/mycomponent/temp/goods/goods.json b/mycomponent/temp/goods/goods.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/mycomponent/temp/goods/goods.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/mycomponent/temp/goods/goods.wxml b/mycomponent/temp/goods/goods.wxml
new file mode 100644
index 0000000..9fb364e
--- /dev/null
+++ b/mycomponent/temp/goods/goods.wxml
@@ -0,0 +1,148 @@
+
+
+
+
+ {{params.title || "请填写商品组标题" }}
+
+
+ 一个商品都没有...
+
+
+
+
+
+
+
+
+
+
+
+ {{ good.name }}
+
+
+
+ {{language['money']}}{{ good.vip_level_status&&good.vip_level_status.status==1?good.vip_level_status.word:good.pricenow }}
+ {{language['money']}}{{ good.priceold }}
+
+
+
+ 会员价:{{ good.vip_level_status&&good.vip_level_status.status==1?good.vip_level_status.word:good.price_level==1?good.vip_price:good.vip_next_price }}
+
+
+ 赠送{{ good.award_proportion }}%{{designer.love_name || "爱心值"}}
+
+
+
+ {{language['售罄']}}
+ {{language['已下架']}}
+ {{language['不存在']}}
+ {{language['不存在']}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ good.name }}
+
+
+ {{language['money']}}{{ good.vip_level_status&&good.vip_level_status.status==1?good.vip_level_status.word:good.pricenow }}
+ {{language['money']}}{{ good.priceold }}
+ 会员价:{{ good.vip_level_status&&good.vip_level_status.status==1?good.vip_level_status.word:good.price_level==1?good.vip_price:good.vip_next_price }}
+
+
+ 赠送{{ good.award_proportion }}%{{designer.love_name || "爱心值"}}
+
+
+ 销量:{{ good.sales }}{{ good.unit }}
+
+
+
+
+
+
+ {{language['售罄']}}
+ {{language['已下架']}}
+ {{language['不存在']}}
+ {{language['不存在']}}
+
+
+
+
+
+
+
+
+ 入住:
+
+ xxxx
+
+
+ 退房:
+
+ xxxxx
+
+
+ 住:xxx晚
+
+
+
+
+
+
+
+
+
+
+ {{ good.name }}
+
+ {{ prams.title }}:{{ prams.value }}
+
+
+
+ {{language['money']}}{{ good.todayoprice }}
+ {{language['money']}}{{ good.todaycprice }}
+
+ 预定
+
+
+
+ 预定
+
+
+
+
+ {{language['售罄']}}
+ {{language['已下架']}}
+ {{language['不存在']}}
+ {{language['不存在']}}
+
+
+
+
+
+
+
+ {{language['加载更多']}}
+
+
+ {{language['没有更多了']}}~~
+
+
+
+
diff --git a/mycomponent/temp/goods/goods.wxss b/mycomponent/temp/goods/goods.wxss
new file mode 100644
index 0000000..03bb3d4
--- /dev/null
+++ b/mycomponent/temp/goods/goods.wxss
@@ -0,0 +1,471 @@
+/* pages/goods/goods.wxss */
+.nogoods {
+ line-height: 340rpx;
+ text-align: center;
+ color: #999;
+ font-size: 32rpx;
+}
+
+.goods .loadMore {
+ background: #f5f5f5;
+ width: 100%;
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: center;
+ clear: both;
+}
+
+.goods .fe-mod-8-hp-line-info .title {
+ text-align: left;
+}
+
+.goods .fe-mod:hover {
+ border: 4rpx dashed rgba(0, 0, 0, 0);
+ cursor: default;
+}
+
+.goods .fe-mod,
+.goods .fe-mod:hover {
+ border: 0;
+}
+
+.goods .jiudroom {
+ background: #fff;
+}
+
+.goods .jiudroom .li .roomimg {
+ position: absolute;
+ height: 170rpx;
+ width: 170rpx;
+ left: 20rpx;
+}
+
+.goods .jiudroom .li {
+ position: relative;
+ padding: 20rpx 140rpx 20rpx 210rpx;
+ height: 212rpx;
+ border-bottom: 2rpx solid #ececec;
+ font-size: 24rpx;
+}
+
+.goods .jiudroom-price {
+ right: 20rpx;
+ top: 20rpx;
+ width: 140rpx;
+ text-align: center;
+}
+
+.goods .pa {
+ position: absolute !important;
+}
+
+.goods .jiudroom-price .ins {
+ text-decoration: none;
+ font-size: 24rpx;
+ color: #f88917;
+}
+
+.goods .jiudroom-price .del {
+ color: #999;
+ text-decoration: line-through;
+}
+
+.goods .jiudroom-text .h1 {
+ font-size: 32rpx;
+ margin-bottom: 28rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ width: 100%;
+ overflow: hidden;
+ font-weight: normal;
+ margin-top: -2rpx;
+}
+
+.goods .btnbook {
+ background: #f88917;
+ border-radius: 6rpx;
+ color: #fff;
+ border: none;
+ width: 100%;
+ height: 68rpx;
+ line-height: 68rpx;
+ font-size: 28rpx;
+ margin-top: 10rpx;
+}
+
+.goods .fe-mod-8 {
+ height: auto;
+ overflow: hidden;
+ background: #fff;
+}
+
+.goods .fe-mod-8 .a,
+.goods .fe-mod-8 .a:hover {
+ color: inherit;
+ text-decoration: none;
+}
+
+.goods .fe-mod-8-title {
+ padding: 0 16rpx;
+ font-size: 32rpx;
+ color: #666;
+ text-align: left;
+}
+
+.goods .fe-mod-8-good {
+ height: auto;
+ width: 50%;
+ box-sizing: border-box;
+ float: left;
+}
+
+.goods .fe-mod-8-main {
+ height: auto;
+
+ /* padding: 10rpx;
+ background: #fff; */
+}
+
+.goods .fe-mod-8-main-img {
+ position: relative;
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ background-size: 100% 100% !important;
+ background-position: center;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+}
+
+.goods .fe-mod-8-main-img.oo2 {
+ /* min-height: 43vw; */
+ background: #fff;
+ position: relative;
+ text-align: center;
+}
+
+.goods .fe-mod-8-main-img.oo2 image {
+ width: 43vw;
+ height: 43vw;
+}
+
+.goods .fe-mod-8-main-img.oo3 {
+ /* min-height: 25vw; */
+ position: relative;
+ text-align: center;
+}
+
+.goods .fe-mod-8-main-img.oo3 image {
+ width: 100%;
+ height: 100%;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+}
+
+.goods .fe-mod-8 .new {
+ height: 60rpx;
+ width: 60rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/ico_new.png") no-repeat;
+ background-size: 60rpx;
+ position: absolute;
+ top: -2rpx;
+ left: -2rpx;
+}
+
+.goods .fe-mod-8 .saleimg {
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.goods .fe-mod-8 .sale-xp {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-xp.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-rx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-rx.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-tj {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-tj.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-xs {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/sale-xs.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-by {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/sale-by.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-cx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/sale-cx.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .recom {
+ height: 60rpx;
+ width: 60rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_recom.png") no-repeat;
+ position: absolute;
+ top: -2rpx;
+ left: -2rpx;
+}
+
+.goods .fe-mod-8 .hot {
+ height: 60rpx;
+ width: 60rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_hot.png") no-repeat;
+ background-size: 60rpx;
+ position: absolute;
+ top: -2rpx;
+ left: -2rpx;
+}
+
+.goods .fe-mod-8-main-name {
+ height: auto;
+ font-size: 28rpx;
+ text-align: center;
+ line-height: 40rpx;
+ color: #999;
+ margin-top: 10rpx;
+
+ /* border-top: solid 1rpx #ccc; */
+ padding: 0 16rpx;
+}
+
+.goods .fe-mod-8-main-name-name {
+ height: 80rpx;
+ text-align: left;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ color: #333;
+}
+
+.goods .fe-mod-8-main-name-buy {
+ height: 40rpx;
+ width: 60rpx;
+ float: right;
+ background-repeat: no-repeat;
+}
+
+.goods .fe-mod-8 .buy-1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_1.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8 .buy-2 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_2.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8 .buy-3 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_3.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8 .buy-4 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_4.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8-main-price {
+ height: 48rpx;
+ width: 100%;
+ font-size: 14px;
+ text-align: left;
+ line-height: 48rpx;
+ color: #fff;
+ background: rgba(0, 0, 0, 0.2);
+ padding-left: 6rpx;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ content: "...";
+}
+
+.goods .fe-mod-8-hp-line {
+ height: 180rpx;
+ background: #fff;
+ padding: 10rpx;
+ box-sizing: border-box;
+}
+
+.goods .fe-mod-8-hp-line-img {
+ height: 160rpx;
+ width: 160rpx;
+ background: #ddd;
+ position: relative;
+}
+
+.goods .fe-mod-8-hp-line-img image {
+ height: 100%;
+ width: 100%;
+}
+
+.goods .fe-mod-8-hp-line-info {
+ height: 160rpx;
+ background: #fff;
+ padding-left: 20rpx;
+ flex: 1;
+}
+
+.goods .fe-mod-8-hp-line-info .title {
+ height: 80rpx;
+ font-size: 28rpx;
+ color: #333;
+ line-height: 40rpx;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.goods .fe-mod-8-hp-line-info .price {
+ height: 60rpx;
+ width: 100%;
+ margin-top: 20rpx;
+ font-size: 28rpx;
+ color: #bbb;
+ line-height: 60rpx;
+ float: left;
+ overflow: hidden;
+ padding: 0;
+ box-sizing: border-box;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p1 {
+ float: left;
+ color: #f60;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p2 {
+ font-size: 24rpx;
+ padding-left: 10rpx;
+ text-decoration: line-through;
+ float: left;
+ line-height: 64rpx;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p3 {
+ color: #999;
+ padding-left: 20rpx;
+ float: left;
+ font-size: 24rpx;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p4 {
+ color: #999;
+ padding-left: 20rpx;
+ float: left;
+ font-size: 24rpx;
+ width: 160rpx;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ font-weight: bold;
+}
+
+.goods .new-goods {
+ /* padding: 8rpx; */
+ width: calc(98% - 32rpx);
+ float: left;
+ margin: 16rpx 24rpx;
+ border-radius: 16rpx;
+}
+
+.goods .card-price {
+ color: #f60;
+ overflow: hidden;
+ position: relative;
+ height: 40rpx;
+ text-align: left;
+ margin: 0 16rpx;
+}
+
+.goods .colorBlack {
+ color: #999;
+}
+
+.goods .good-new {
+ /* padding: 8rpx; */
+ margin-bottom: 2%;
+ border-radius: 16rpx;
+ background: #fff;
+}
+
+.goods .good-new a {
+ /* border: 2rpx solid #e5e5e5; */
+ border-radius: 16rpx;
+ display: block;
+ background: #fff;
+}
+
+.goods .add-cart {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+}
+
+.goods .fe-mod-8-hp-line {
+ border: 2rpx solid #e5e5e5;
+ display: flex;
+ background: #fff;
+ margin: 10rpx 0;
+}
+
+.statusShow {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
+
+.statusShow .statusShowLi {
+ height: 80rpx;
+ background-color: rgba(0, 0, 0, 0.3);
+ line-height: 80rpx;
+ text-align: center;
+ color: #fff;
+ font-size: 26rpx;
+ border-bottom-left-radius: 16rpx;
+ border-bottom-right-radius: 16rpx;
+}
+
+.goods .good-new.width100 {
+ margin-right: 0;
+}
+
+.goods .good-new.width50 {
+ margin-right: 2%;
+}
+
+.goods .good-new.width50:nth-child(2n) {
+ margin-right: 0;
+}
+
+.goods .good-new.width33 {
+ margin-right: 2%;
+}
+
+.goods .good-new.width33:nth-child(3n) {
+ margin-right: 0;
+}
diff --git a/mycomponent/temp/goods_qrcode/goods_qrcode.js b/mycomponent/temp/goods_qrcode/goods_qrcode.js
new file mode 100644
index 0000000..084a9a8
--- /dev/null
+++ b/mycomponent/temp/goods_qrcode/goods_qrcode.js
@@ -0,0 +1,414 @@
+// mycomponent/temp/qrcode/qrcode.js
+var posterBehavior = require("../../../poster/poster.js");
+var app = getApp();
+
+Component({
+ behaviors: [posterBehavior],
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsId: {
+ type: Number,
+ },
+ // 拼团后端生成海报
+ ispt: {
+ type: null,
+ },
+ activityid: {
+ type: null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ listData: []
+ },
+ ready() {
+ // this.getPosterPic();
+ },
+ observers: {
+ isshow: function (isshow) {
+ if (isshow && !this.data.listData[this.data.goodsId] && this.data.getFlag) {
+ this.data.getFlag = false;
+ this.setData({ poster: "", loading: 0 });
+ this.getPosterPic();
+ } else if (this.data.listData[this.data.goodsId] != "") {
+ this.setData({
+ poster: this.data.listData[this.data.goodsId],
+ });
+ }
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ ptPoster() {
+ if(this.data.ispt == 'group_goods' || this.data.ispt == "zhpGroup" || this.data.ispt == "groupwork"){
+ let that = this;
+ let urlStr;
+ if(this.data.ispt == 'group_goods'){
+ urlStr = app.getNetAddresss("plugin.fight-groups.frontend.controllers.group-poster.generate-goods-poster");
+ }else if(this.data.ispt == "zhpGroup"){
+ urlStr = app.getNetAddresss("plugin.zhp-group-lottery.frontend.activity-poster.generate-goods-poster");
+ }else if(this.data.ispt == "groupwork"){
+ urlStr = app.getNetAddresss("plugin.group-work.frontend.controllers.group-poster.generate-goods-poster");
+ }
+ urlStr += "&id=" + this.data.activityid;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ poster:res.data.image_url
+ });
+ }
+ wx.hideLoading();
+ },
+ });
+ setTimeout(function () {
+ wx.hideLoading();
+ }, 5000);
+ }else{
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.snatch-regiment.api.GoodsPoster.generateGoodsPoster");
+ urlStr += "&id=" + this.data.goodsId;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ poster:res.data.image_url
+ });
+ }
+ wx.hideLoading();
+ },
+ });
+ setTimeout(function () {
+ wx.hideLoading();
+ }, 5000);
+ }
+
+ },
+ async getPosterPic() {
+ if (this.data.ispt) {
+ this.ptPoster();
+ return;
+ }
+ let posterSize = await this.getMyCanvasMessage(640, 1008);
+ this.setData({
+ canvasWidth: posterSize.width,
+ canvasHeight: posterSize.height,
+ });
+ //this.startDrawCanvas(posterSize);
+
+ var urlStr = app.getNetAddresss("goods.goods-poster.new-goods-poster");
+
+ //this.startDrawCanvas(posterSize,{});
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data: {
+ id: this.data.goodsId,
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ //this.startDrawCanvas(posterSize);
+ if (res.result != 1) {
+ wx.showToast({
+ title: res.msg,
+ });
+ return;
+ }
+ if (res.data.new && res.data.new == true) {
+ this.startDrawCanvas(posterSize, res.data);
+ } else {
+ this.startOldDrawCanvas(posterSize, res.data);
+ }
+ },
+ complete: () => {
+ this.data.getFlag = true;
+ },
+ });
+ },
+
+ async startDrawCanvas(posterSize, posterData) {
+ let getMarketPrice = "原价";
+ let getPrice = "现价";
+ try {
+ wx.getStorage({
+ key: "yz_basic_info",
+ success: function (res) {
+ if (res.data.lang.goods.market_price != "") {
+ getMarketPrice = res.data.lang.goods.market_price;
+ }
+ if (res.data.lang.goods.price != "") {
+ getPrice = res.data.lang.goods.price;
+ }
+ },
+ });
+ } catch (e) {
+ console.log(e);
+ }
+ const ctx = wx.createCanvasContext("myCanvas", this);
+ ctx.save();
+ this.drawRoundRectPath(ctx, posterSize.width, posterSize.height, 30);
+ ctx.setFillStyle("#fff");
+ ctx.fillRect(0, 0, posterSize.width, posterSize.height);
+ //console.log(posterData.background)
+ //绘制背景
+ if (posterData.background.type == "background") {
+ // let bgImg = await this.readDownPicInfo(posterData.background.src);
+ let bgImg = await this.downImage({src:posterData.background.src});
+ //绘制背景图片
+ this.setProportion(posterSize, bgImg);
+
+ this.drawCanvasImage(ctx, {
+ left: 0,
+ top: 0,
+ width: bgImg.width / this.data.step,
+ height: bgImg.height / this.data.step,
+ img: bgImg.img,
+ });
+ } else if (posterData.background.type == "color") {
+ this.drawCanvasFillRect(ctx, {
+ width: posterSize.width / this.data.step,
+ color: posterData.background.src,
+ height: posterSize.height / this.data.step,
+ top: 0,
+ left: 0,
+ });
+ }
+ this.setData({ loading: 10 });
+ //ctx.restore();
+ for (let i = 0; i < posterData.poster_data.length; i++) {
+ let item = posterData.poster_data[i];
+ if (item.type == "logo" || item.type == "img" || item.type == "other_img" || item.type == "head" || item.type == "qr") {
+ if (item.src) {
+ let file = await this.downImage(item);
+ item.img = file.img;
+ this.drawCanvasImage(ctx, item);
+ }
+ } else if (item.type == "title" || item.type == "nickname") {
+ let line = Math.floor(item.height / (item.size + 10)) || 1;
+ item.line = line;
+ this.drawCanvasLineText(ctx, item);
+ } else if (item.type == "invite" || item.type == "text" || item.type == "mid") {
+ this.drawCanvasText(ctx, item);
+ } else if (item.type == "price") {
+ item.src = getPrice + ":¥" + item.src;
+ this.drawCanvasText(ctx, item);
+ } else if (item.type == "member_price") {
+ item.src = "会员价:¥" + item.src;
+ this.drawCanvasText(ctx, item);
+ } else if (item.type == "market_price" && item.src != 0 && item.src != "0.00") {
+ item.src = getMarketPrice + ":¥" + item.src;
+ this.drawCanvasText(ctx, item);
+ }
+ let loading = parseInt((75 / posterData.poster_data.length) * (i + 1));
+ this.setData({ loading: loading + 10 });
+ }
+ let loadingTime = setInterval(() => {
+ let loading = this.data.loading + 2;
+ loading = loading >= 100 ? 100 : loading;
+ this.setData({ loading });
+ if (loading >= 100) clearInterval(loadingTime);
+ }, 2000);
+ ctx.draw(
+ false,
+ setTimeout(async () => {
+ let img = await this.toimage("myCanvas", posterSize);
+ clearInterval(loadingTime);
+ let target = "listData[" + this.data.goodsId + "]";
+ this.setData({
+ loading: 100,
+ poster: img,
+ [target]: img,
+ });
+ this.removeUnsafeList();
+ }, 300)
+ );
+ },
+ //开始绘制-兼容旧海报
+ async startOldDrawCanvas(posterSize, posterData) {
+ let getMarketPrice = "原价";
+ try {
+ wx.getStorage({
+ key: "yz_basic_info",
+ success: function (res) {
+ if (res.data.lang.goods.market_price != "") {
+ getMarketPrice = res.data.lang.goods.market_price;
+ }
+ },
+ });
+ } catch (e) {
+ console.log(e);
+ }
+ const ctx = wx.createCanvasContext("myCanvas", this);
+ ctx.save();
+ this.drawRoundRectPath(ctx, posterSize.width, posterSize.height, 30);
+ ctx.setFillStyle("#fff");
+ ctx.fillRect(0, 0, posterSize.width, posterSize.height);
+ //ctx.draw();
+ //ctx.restore();
+ //下载背景
+ // let bgImg = await this.readDownPicInfo(posterData.backgroundImg);
+ let bgImg = await this.downImage({src:posterData.backgroundImg});
+ //绘制背景图片
+ this.setProportion(posterSize, bgImg);
+
+ this.drawCanvasImage(ctx, {
+ left: 0,
+ top: 0,
+ width: bgImg.width / this.data.step,
+ height: bgImg.height / this.data.step,
+ img: bgImg.img,
+ });
+ this.setData({ loading: 10 });
+ //先测量商品标题多宽
+ let actualObj = { actualWidth: 0, actualText: "" };
+ if (posterData.shopName) {
+ actualObj = this.measureTextWidth(ctx, {
+ width: 350,
+ size: 30,
+ text: posterData.shopName,
+ });
+ this.setData({ loading: 18 });
+ //绘制商城名称
+ this.drawCanvasLineText(ctx, {
+ top: 45,
+ left: 145 + (480 - actualObj.actualWidth) / 2,
+ src: actualObj.actualText,
+ size: 30,
+ color: "#333333",
+ width: 350,
+ line: 1,
+ });
+ this.setData({ loading: 30 });
+ }
+ //绘制Logo
+ if (posterData.logo) {
+ let file1 = await this.downImage({ src: posterData.logo, width: 70, height: 70 });
+ this.drawCanvasCircular(ctx, {
+ img: file1.img,
+ top: 25,
+ left: 55 + (480 - actualObj.actualWidth) / 2,
+ width: 70,
+ height: 70,
+ });
+ }
+ this.setData({ loading: 40 });
+
+ //绘制中间大图
+ if (posterData.thumb) {
+ let file2 = await this.downImage({ src: posterData.thumb, width: 520, height: 500 });
+ this.drawCanvasImage(ctx, {
+ img: file2.img,
+ top: 120,
+ left: 60,
+ width: 520,
+ height: 500,
+ });
+ }
+
+ this.setData({ loading: 50 });
+ //绘制当前价格
+ let actualPriceObj = { actualWidth: 0, actualText: "" };
+ if (posterData.price) {
+ actualPriceObj = this.measureTextWidth(ctx, {
+ width: 400,
+ size: 30,
+ text: "¥" + posterData.price,
+ });
+ this.drawCanvasLineText(ctx, {
+ top: 640,
+ left: 70,
+ src: "¥" + posterData.price,
+ size: 30,
+ color: "#f15353",
+ width: 400,
+ line: 1,
+ });
+ }
+ this.setData({ loading: 55 });
+ //绘制原价格
+ if (posterData.market_price && posterData.market_price != 0 && posterData.market_price != "0.00") {
+ this.drawCanvasLineText(ctx, {
+ top: 645,
+ left: 100 + actualPriceObj.actualWidth,
+ src: getMarketPrice + ":¥" + posterData.market_price,
+ size: 22,
+ color: "#666666",
+ width: 200,
+ line: 1,
+ });
+ let actualObj = this.measureTextWidth(ctx, {
+ width: 200,
+ size: 22,
+ text: getMarketPrice + ":¥" + posterData.market_price,
+ });
+ this.drawCanvasFillRect(ctx, {
+ width: actualObj.actualWidth,
+ color: "#999999",
+ height: 3,
+ top: 656,
+ left: 100 + actualPriceObj.actualWidth,
+ });
+ }
+ this.setData({ loading: 60 });
+
+ //绘制商品标题
+ if (posterData.shareTitle) {
+ this.drawCanvasLineText(ctx, {
+ top: 690,
+ left: 70,
+ src: posterData.shareTitle,
+ size: 26,
+ color: "#333333",
+ width: 400,
+ line: 2,
+ });
+ }
+
+ this.setData({ loading: 65 });
+ //绘制太阳码
+ if (posterData.qrcode) {
+ let file3 = await this.downImage({ src: posterData.qrcode, height: 170, width: 170 });
+ this.drawCanvasImage(ctx, {
+ img: file3.img,
+ top: 800,
+ left: 400,
+ width: 170,
+ height: 170,
+ });
+ }
+
+ this.setData({ loading: 75 });
+ let loadingTime = setInterval(() => {
+ let loading = this.data.loading + 2;
+ loading = loading >= 100 ? 100 : loading;
+ this.setData({ loading });
+ if (loading >= 100) clearInterval(loadingTime);
+ }, 2000);
+ ctx.draw(
+ false,
+ setTimeout(async () => {
+ let img = await this.toimage("myCanvas", posterSize);
+ clearInterval(loadingTime);
+ let target = "listData[" + this.data.goodsId + "]";
+ this.setData({
+ loading: 100,
+ poster: img,
+ [target]: img,
+ });
+ this.removeUnsafeList();
+ }, 300)
+ );
+ },
+ },
+});
diff --git a/mycomponent/temp/goods_qrcode/goods_qrcode.json b/mycomponent/temp/goods_qrcode/goods_qrcode.json
new file mode 100644
index 0000000..5faf70c
--- /dev/null
+++ b/mycomponent/temp/goods_qrcode/goods_qrcode.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/temp/goods_qrcode/goods_qrcode.wxml b/mycomponent/temp/goods_qrcode/goods_qrcode.wxml
new file mode 100644
index 0000000..a91a03c
--- /dev/null
+++ b/mycomponent/temp/goods_qrcode/goods_qrcode.wxml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/mycomponent/temp/goods_qrcode/goods_qrcode.wxss b/mycomponent/temp/goods_qrcode/goods_qrcode.wxss
new file mode 100644
index 0000000..a2477de
--- /dev/null
+++ b/mycomponent/temp/goods_qrcode/goods_qrcode.wxss
@@ -0,0 +1,3 @@
+/* mycomponent/temp/qrcode/qrcode.wxss */
+
+@import "/poster/poster.wxss";
diff --git a/mycomponent/temp/qrcode/qrcode.js b/mycomponent/temp/qrcode/qrcode.js
new file mode 100644
index 0000000..2af7ad4
--- /dev/null
+++ b/mycomponent/temp/qrcode/qrcode.js
@@ -0,0 +1,286 @@
+// mycomponent/temp/qrcode/qrcode.js
+var app = getApp();
+var posterBehavior = require('../../../poster/poster.js');
+Component({
+ behaviors: [posterBehavior],
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ store_alone_temp: {
+ // 门店独立判断
+ type: null,
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ poster_id: 0,
+ step: 1,
+ is_new: 0
+ },
+ ready() {
+ // this.getPosterPic();
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ async getPosterPic() {
+ let posterSize = await this.getMyCanvasMessage(640, 1008);
+
+ this.setData({
+ canvasWidth: posterSize.width,
+ canvasHeight: posterSize.height
+ });
+
+ let urlStr = app.getNetAddresss("member.qrcode.get-poster");
+ if (this.data.store_alone_temp == 1) {
+ urlStr = app.getNetAddresss("plugin.store-alone-temp.frontend.qrcode.get-poster");
+ }
+ if(this.data.poster_id) {
+ urlStr = urlStr+'&poster_id='+this.data.poster_id;
+ }
+
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result != 1) {
+ return;
+ }
+ if (res.data.center_show == 0) {
+ this.setData({
+ loading: 100,
+ poster: res.data.image_url,
+ });
+ } else if (res.data.center_show == 1) {
+ this.data.poster_id = res.data.id;
+ if (res.data.new && res.data.new == true) {
+ this.data.is_new = 1;
+ this.startDrawCanvas(posterSize, res.data);
+ } else {
+ this.startOldDrawCanvas(posterSize, res.data);
+ }
+
+ } else if (res.data.center_show == 2) {
+ this.getPosterTp2();
+ }
+
+ }
+ });
+ },
+ getPosterTp2() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.poster");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.image_url == "" || res.data.image_url == null) {
+ wx.showToast({
+ title: '请稍等' + res.data.image_url,
+ icon: 'none',
+ duration: 2000
+ });
+ setTimeout(() => {
+ this.getPosterTp2();
+ }, 500);
+
+ } else if (res.data.image_url != "") {
+ setTimeout(() => {
+ that.setData({
+ poster: res.data.image_url,
+ });
+ }, 2000);
+ }
+
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function (res) {
+ if (this.data.timer) {
+ clearInterval(this.data.timer);
+ }
+ wx.hideLoading({});
+ }
+ });
+ },
+ async startDrawCanvas(posterSize, posterData) {
+ const ctx = wx.createCanvasContext('myCanvas', this);
+ ctx.save();
+ this.drawRoundRectPath(ctx, posterSize.width, posterSize.height, 30);
+ ctx.setFillStyle('#fff');
+ ctx.fillRect(0, 0, posterSize.width, posterSize.height);
+ //ctx.draw();
+
+ //下载背景
+ let bgImg = await this.downImage({src:posterData.background});
+ //let bgImg = await this.readDownPicInfo(posterData.background);
+ //绘制背景图片
+ this.setProportion(posterSize, bgImg);
+
+ this.drawCanvasImage(ctx, {
+ left: 0,
+ top: 0,
+ width: bgImg.width / this.data.step,
+ height: bgImg.height / this.data.step,
+ img: bgImg.img
+ });
+ this.setData({
+ loading: 10
+ });
+
+ //绘制其他内容
+ let otherData = posterData.style_data;
+ for (let i = 0; i < otherData.length; i++) {
+
+ let item = otherData[i];
+ //绘制昵称
+ if (item.type == "nickname" || item.type == "invite" || item.type == "text" || item.type == "mid") {
+ this.drawCanvasText(ctx, item);
+ } else if (item.type == "img" || item.type == "head" || item.type == "qr" || item.type == "shopqr") { // 代表后台有图片
+ // //下载和读取图片
+ if (item.src) {
+ let file = await this.downImage(item);
+ item.img = file.img;
+ this.drawCanvasImage(ctx, item);
+ }
+ }
+ let loading = parseInt((80 / otherData.length) * (i + 1));
+ this.setData({
+ loading: loading + 10
+ });
+ }
+ ctx.draw(false, setTimeout(async () => {
+ let img = await this.toimage('myCanvas', posterSize);
+ this.setData({
+ loading: 100,
+ poster: img,
+ });
+ this.upQrcodeImg(img);
+ }, 1000));
+
+ },
+ //工具
+ //开始绘制,兼容旧版本
+
+ async startOldDrawCanvas(posterSize, posterData) {
+ const ctx = wx.createCanvasContext('myCanvas', this);
+ ctx.save();
+ this.drawRoundRectPath(ctx, posterSize.width, posterSize.height, 30);
+
+ ctx.setFillStyle('#fff');
+ ctx.fillRect(0, 0, posterSize.width, posterSize.height);
+ //ctx.draw();
+
+ //下载背景
+ let bgImg = await this.downImage({src:posterData.background});
+ // let bgImg = await this.readDownPicInfo(posterData.background);
+ //绘制背景图片
+ this.setProportion(posterSize, bgImg);
+ this.drawCanvasImage(ctx, {
+ left: 0,
+ top: 0,
+ width: bgImg.width / this.data.step,
+ height: bgImg.height / this.data.step,
+ img: bgImg.img
+ });
+ this.setData({
+ loading: 10
+ });
+
+ //绘制其他内容
+ let otherData = posterData.style_data;
+ for (let i = 0; i < otherData.length; i++) {
+
+ let item = otherData[i];
+ //绘制昵称
+ if (item.type == "nickname") {
+ this.drawCanvasText(ctx, item);
+ } else if (item.type == "img" || item.type == "head") { // 代表后台有图片
+ // //下载和读取图片
+ if (item.src) {
+ let file = await this.downImage(item);
+ item.img = file.img;
+ this.drawCanvasImage(ctx, item);
+ }
+ } else if (item.type == "qr_shop" || item.type == "qr_app_share") { //需要自己将链接生成二维码
+ let img = await this.getQRCodeUrl(item);
+ item.img = img;
+ this.drawCanvasImage(ctx, item);
+ }
+ let loading = parseInt((80 / otherData.length) * (i + 1));
+ this.setData({
+ loading: loading + 10
+ });
+ }
+ ctx.draw(false, setTimeout(async () => {
+ let img = await this.toimage('myCanvas', posterSize);
+ this.setData({
+ loading: 100,
+ poster: img,
+ });
+ this.upQrcodeImg(img);
+ }, 1000));
+
+ },
+
+ upQrcodeImg(imgFile) {
+ let wx_token = wx.getStorageSync('wx_token');
+ let session = wx.getStorageSync('session');
+ let urlStr = app.getNetAddresss('member.qrcode.uploadLocal');
+ urlStr += '&poster_id=' + this.data.poster_id + '&is_new=' + this.data.is_new;
+ urlStr += '&3rd_session=' + session;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: imgFile,
+ name: 'file',
+ formData: {
+ // 和服务器约定的token, 一般也可以放在header中
+ '_wx_token': wx.getStorageSync('wx_token'),
+ 'ingress': 0
+ },
+ header: {
+ "Content-Type": "multipart/form-data",
+ Cookie: "PHPSESSID=" + wx_token,
+ },
+ success: (res) => {
+
+ let data = JSON.parse(res.data);
+ if (data.result == 1) {
+ //data.data.img_url
+ this.addPosterRecord(data.data.img_url);
+ }
+ },
+ fail: function (e) {
+ }
+ });
+ },
+ addPosterRecord(img_url) {
+ var urlStr = app.getNetAddresss("member.qrcode.poster-record");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data: {
+ image: img_url,
+ poster_id: this.data.poster_id,
+ is_new: this.data.is_new
+ },
+ success: (resdata) => {
+
+ }
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/mycomponent/temp/qrcode/qrcode.json b/mycomponent/temp/qrcode/qrcode.json
new file mode 100644
index 0000000..5faf70c
--- /dev/null
+++ b/mycomponent/temp/qrcode/qrcode.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/temp/qrcode/qrcode.wxml b/mycomponent/temp/qrcode/qrcode.wxml
new file mode 100644
index 0000000..41a4a31
--- /dev/null
+++ b/mycomponent/temp/qrcode/qrcode.wxml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/mycomponent/temp/qrcode/qrcode.wxss b/mycomponent/temp/qrcode/qrcode.wxss
new file mode 100644
index 0000000..a2477de
--- /dev/null
+++ b/mycomponent/temp/qrcode/qrcode.wxss
@@ -0,0 +1,3 @@
+/* mycomponent/temp/qrcode/qrcode.wxss */
+
+@import "/poster/poster.wxss";
diff --git a/mycomponent/yz-image/yz-image.js b/mycomponent/yz-image/yz-image.js
new file mode 100644
index 0000000..1cb81ee
--- /dev/null
+++ b/mycomponent/yz-image/yz-image.js
@@ -0,0 +1,88 @@
+// pages/demo1/item1.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ externalClasses: ['custom-class'],
+ options:{
+ virtualHost: true
+ },
+ properties: {
+ src:{
+ value:'',
+ type:String
+ },
+ customStyle:{
+ value:'',
+ type:String
+ },
+ mode:{
+ value:'scaleToFill',
+ type:String
+ },
+ webp:{
+ value:false,
+ type:Boolean
+ },
+ showMenuByLongpress:{
+ value:false,
+ type:Boolean
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ url:'https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/image.png',
+ loading:false
+ },
+ observers:{
+ 'src':function(newVal,oldVal){
+ this.createImage();
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ lifetimes:{
+ attached(){
+
+ },
+ detached(){
+ this.detachedImage();
+ }
+ },
+ ready(){
+
+ },
+ methods: {
+ imgload(evt){
+ // console.log("加载完成",evt)
+ this.triggerEvent("load",evt);
+ },
+ imgerror(evt){
+ this.triggerEvent("error",evt);
+ },
+ createImage(){
+ this.detachedImage();
+ this.data.loading=false;
+ this._observer = wx.createIntersectionObserver(this);
+ this._observer
+ .relativeToViewport({bottom:30})
+ .observe('.lazy-image', (res) => {
+ //console.log(res);
+ if(res.intersectionRatio > 0 && this.data.loading==false)
+ this.setData({
+ url: this.data.src,
+ loading:true
+ });
+ });
+ },
+ detachedImage(){
+ if(this._observer){
+ this._observer.disconnect();
+ }
+ }
+ }
+});
diff --git a/mycomponent/yz-image/yz-image.json b/mycomponent/yz-image/yz-image.json
new file mode 100644
index 0000000..4a20f17
--- /dev/null
+++ b/mycomponent/yz-image/yz-image.json
@@ -0,0 +1,5 @@
+{
+ "component": true,
+ "styleIsolation": "apply-shared",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/yz-image/yz-image.wxml b/mycomponent/yz-image/yz-image.wxml
new file mode 100644
index 0000000..a9cba6d
--- /dev/null
+++ b/mycomponent/yz-image/yz-image.wxml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
diff --git a/mycomponent/yz-image/yz-image.wxss b/mycomponent/yz-image/yz-image.wxss
new file mode 100644
index 0000000..3a5edd4
--- /dev/null
+++ b/mycomponent/yz-image/yz-image.wxss
@@ -0,0 +1,6 @@
+/* pages/demo1/item1.wxss */
+
+.lazy-image {
+ min-width: 1rpx;
+ min-height: 1rpx;
+}
diff --git a/mycomponent/yz_area/yz_area.js b/mycomponent/yz_area/yz_area.js
new file mode 100644
index 0000000..60cbb4e
--- /dev/null
+++ b/mycomponent/yz_area/yz_area.js
@@ -0,0 +1,194 @@
+// mycomponent/yz_area/yz_area.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ show: {
+ type: Boolean,//弹窗是否显示,默认不显示
+ value: false
+ },
+ },
+ pageLifetimes: {
+ show: function() {
+ // 页面被展示
+ //加载地址数据初始化
+ this._initAddressInfo();
+ }
+ },
+ observers: {
+ show: function (e) {
+ console.log(e);
+ if(e){
+ this.setData({
+ showArea:e
+ });
+ }
+ },
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ showArea: false,
+ pickerValue: [0, 0, 0],
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: "provinceData",
+ data: province,
+ });
+ wx.setStorage({
+ key: "cityData",
+ data: city,
+ });
+ wx.setStorage({
+ key: "districtData",
+ data: district,
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true,
+ });
+ },
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data,
+ });
+ that.setData({
+ "selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0],
+ });
+ that._getCityData();
+ },
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ // console.log("城市", _data);
+ var that = this;
+ var _keyName = "cityData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json,
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1],
+ });
+ that._getDistrictData();
+ },
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ // console.log("地区", _data);
+ var that = this;
+ var _keyName = "districtData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ that.setData({
+ districtData: _json,
+ });
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2],
+ });
+ console.log("over", that.data.selectAddressData);
+ },
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2],
+ });
+ this._initAddressInfo();
+ },
+ // 关闭选择收货地址
+ onClickLeft: function () {
+ this.setData({
+ showArea: false,
+ });
+ },
+ // 确定选择收货地址
+ onClickRight: function () {
+ let seleData = this.data.selectAddressData;
+ this.onClickLeft();
+ // 传递给父组件
+ console.log("确定选择收货地址", seleData);
+ this.triggerEvent('confirm', seleData);
+ },
+ }
+});
\ No newline at end of file
diff --git a/mycomponent/yz_area/yz_area.json b/mycomponent/yz_area/yz_area.json
new file mode 100644
index 0000000..7fa10e1
--- /dev/null
+++ b/mycomponent/yz_area/yz_area.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../dist/popup/index",
+ "van-nav-bar": "../../dist/nav-bar/index"
+ }
+ }
diff --git a/mycomponent/yz_area/yz_area.wxml b/mycomponent/yz_area/yz_area.wxml
new file mode 100644
index 0000000..48cf1a0
--- /dev/null
+++ b/mycomponent/yz_area/yz_area.wxml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+
\ No newline at end of file
diff --git a/mycomponent/yz_area/yz_area.wxss b/mycomponent/yz_area/yz_area.wxss
new file mode 100644
index 0000000..85d692d
--- /dev/null
+++ b/mycomponent/yz_area/yz_area.wxss
@@ -0,0 +1 @@
+/* mycomponent/yz_area/yz_area.wxss */
diff --git a/mycomponent/yz_bindMobile/yz_bindMobile.js b/mycomponent/yz_bindMobile/yz_bindMobile.js
new file mode 100644
index 0000000..7f4e934
--- /dev/null
+++ b/mycomponent/yz_bindMobile/yz_bindMobile.js
@@ -0,0 +1,262 @@
+// mycomponent/yz_bindMobile/yz_bindMobile.js
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ showVer: {
+ type: null,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ showVerification: false, //绑定手机
+ imgcode: "",
+ count: "",
+ form: {
+ mobile: "",
+ //验证码
+ code: "",
+ captcha: "",
+ },
+ showContent: false,
+ protocol_title: "",
+ protocol_content: "",
+ },
+ observers: {
+ showVer: function (show) {
+ this.setData({
+ showVerification: show,
+ });
+ console.log(show, ";sdasdasd");
+ },
+ },
+ lifetimes: {
+ attached: function() {
+ // 在组件实例进入页面节点树时执行
+ this.initShow();
+ },
+ detached: function() {
+ // 在组件实例被从页面节点树移除时执行
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ showContentTap(){
+ this.setData({
+ showContent:true
+ });
+ },
+ initShow() {
+ this.getimgdata();
+ this.getProtocolInfo();
+ this.showVerification = true;
+ },
+ closeShow() {
+ this.setData({
+ showVerification: false,
+ });
+ },
+ hide() {
+ this.setData({
+ showVerification: false,
+ });
+ },
+ getProtocolInfo() {
+ var that = this;
+ var urlStr = app.getNetAddresss("setting.get-member-protocol");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ protocol_content: res.data.content,
+ protocol_title: res.data.title,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ getimgdata() {
+ var that = this;
+ var urlStr = app.getNetAddresss("home-page.getCaptcha");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.captcha.status && res.data.captcha.status == "0") {
+ that.setData({
+ imgcode: null,
+ });
+ }
+ if (res.data.captcha.img) {
+ that.setData({
+ imgcode: res.data.captcha.img,
+ });
+ }
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ tapPhone(e) {
+ console.log(e);
+ let key = e.currentTarget.dataset.key;
+ let tag = e.detail.value;
+ if (key == "phone") {
+ this.setData({
+ "form.mobile": tag,
+ });
+ } else if (key == "cap") {
+ this.setData({
+ "form.captcha": tag,
+ });
+ } else if (key == "code") {
+ this.setData({
+ "form.code": tag,
+ });
+ }
+ },
+ // 获取验证码
+ VerificationCode() {
+ if (app._isTextEmpty(this.data.form.captcha) && this.data.imgcode) {
+ wx.showToast({
+ title: "请填图形验证码",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ title: "请填写手机号",
+ icon: "none",
+ duration: 1000,
+ });
+ } else {
+ wx.showLoading({
+ title: "发送中",
+ });
+ var that = this;
+ var urlStr = app.getNetAddresss("member.register.sendCodeV2");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data: {
+ mobile: this.data.form.mobile,
+ captcha: this.data.form.captcha,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ if (res.result == 1) {
+ that.getCode();
+ } else {
+ that.setData({
+ "form.captcha": "",
+ });
+ that.getimgdata();
+ }
+ },
+ fail: function (res) {},
+ });
+ }
+ },
+ // 60秒倒计时
+ getCode() {
+ const TIME_COUNT = 60;
+ if (!this.data.timer) {
+ this.data.count = TIME_COUNT;
+ this.data.timer = setInterval(() => {
+ if (this.data.count > 0 && this.data.count <= TIME_COUNT) {
+ this.data.count--;
+ this.setData({
+ count:this.data.count
+ });
+ } else {
+ clearInterval(this.timer);
+ this.data.count = 0;
+ this.data.timer = null;
+ this.setData({
+ count:this.data.count,
+ timer:this.data.timer
+ });
+ }
+ }, 1000);
+ }
+ },
+ bindMobile() {
+ //发送获取验证码的请求
+ if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ title: "手机号码不能为空",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ if (app._isMoblie(this.data.form.mobile)) {
+ wx.showToast({
+ title: "请输入正确的手机号",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.code)) {
+ wx.showToast({
+ title: "请填写验证码",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ if (this.imgcode) {
+ if (app._isTextEmpty(this.data.form.captcha)) {
+ wx.showToast({
+ title: "图形验证码不能为空",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ }
+ var that = this;
+ var urlStr = app.getNetAddresss("member.member.justBindMobile");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data: this.data.form,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: "绑定成功!",
+ icon: "none",
+ duration: 1000,
+ });
+ that.setData({
+ showContent: false,
+ showVerification: false,
+ });
+ that.triggerEvent("bindSuccess");
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ },
+});
diff --git a/mycomponent/yz_bindMobile/yz_bindMobile.json b/mycomponent/yz_bindMobile/yz_bindMobile.json
new file mode 100644
index 0000000..2b9d3c4
--- /dev/null
+++ b/mycomponent/yz_bindMobile/yz_bindMobile.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/yz_bindMobile/yz_bindMobile.wxml b/mycomponent/yz_bindMobile/yz_bindMobile.wxml
new file mode 100644
index 0000000..876f960
--- /dev/null
+++ b/mycomponent/yz_bindMobile/yz_bindMobile.wxml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+ 请先绑定手机号
+
+
+
+ 手机号
+
+
+
+ 图形验证码
+
+
+
+
+ 验证码
+
+ 获取验证码
+ {{ count
+ }}秒后重新获取
+
+
+
+ 确认
+
+
+
+
+
\ No newline at end of file
diff --git a/mycomponent/yz_bindMobile/yz_bindMobile.wxss b/mycomponent/yz_bindMobile/yz_bindMobile.wxss
new file mode 100644
index 0000000..8cdd6fc
--- /dev/null
+++ b/mycomponent/yz_bindMobile/yz_bindMobile.wxss
@@ -0,0 +1,123 @@
+/* mycomponent/yz_bindMobile/yz_bindMobile.wxss */
+.yz_bindMobile {
+ overflow: hidden;
+}
+
+.yz_bindMobile .verification {
+ width: 704rpx;
+ padding: 0 24rpx;
+ margin: 0 auto;
+ box-sizing: border-box;
+}
+
+.yz_bindMobile .verification .span {
+ text-align: center;
+}
+
+.yz_bindMobile .verification .text {
+ padding: 55.2rpx 64rpx 68rpx;
+ color: #666;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.yz_bindMobile .verification .inputBox {
+ height: 96rpx;
+ display: flex;
+ border-bottom: 2rpx solid #ebebeb;
+ text-align: left;
+ align-items: center;
+ margin-top: 20rpx;
+}
+
+.yz_bindMobile .verification .inputBox .name {
+ width: 165rpx;
+ color: #000;
+}
+
+.yz_bindMobile .verification .inputBox input {
+ border: none;
+}
+
+.yz_bindMobile .verification .inputBox #phone {
+ flex: 1;
+}
+
+.yz_bindMobile .verification .inputBox #code {
+ width: 45%;
+}
+
+.yz_bindMobile .verification .inputBox .getcodeClass {
+ display: inline-block;
+ height: 56rpx;
+ line-height: 56rpx;
+ background-color: #f54242;
+ color: #fff;
+ border-radius: 20rpx;
+ padding: 0 20rpx;
+ font-size: 24rpx;
+}
+
+.yz_bindMobile .verification .inputBox .getcodeImg {
+ display: inline-block;
+ height: 40rpx;
+ line-height: 40rpx;
+ flex: 1;
+}
+
+.yz_bindMobile .verification .bottomBox {
+ padding-top: 64rpx;
+ padding-bottom: 32rpx;
+ display: flex;
+ justify-content: space-around;
+}
+
+.yz_bindMobile .verification .bottomBox .btn1,
+.yz_bindMobile .verification .bottomBox .btn2 {
+ width: 192rpx;
+ height: 64rpx;
+ line-height: 64rpx;
+ text-align: center;
+ color: #fff;
+ font-size: 32rpx;
+ border-radius: 39.488rpx;
+}
+
+.yz_bindMobile .verification .bottomBox .btn1 {
+ background: #bcbcbc;
+}
+
+.yz_bindMobile .verification .bottomBox .btn2 {
+ background: #f71515;
+}
+
+.yz_bindMobile .city-info {
+ border-radius: 20.992rpx;
+ width: 640rpx;
+ height: 1024rpx;
+ margin: 0 auto;
+ background: #fff;
+}
+
+.yz_bindMobile .city-info header {
+ border-radius: 20.992rpx 20.992rpx 0 0;
+}
+
+.yz_bindMobile .city-info #a_content {
+ margin: 0 34.016rpx 0 24rpx;
+ height: 768rpx;
+ overflow-y: scroll;
+}
+
+.yz_bindMobile .city-info #a_content image {
+ max-width: 100%;
+ height: auto;
+ display: inline-block;
+}
+
+.yz_bindMobile .protocol {
+ text-align: left;
+ font-weight: bold;
+ margin: 32rpx 16rpx 0 16rpx;
+ color: #f71515;
+}
diff --git a/mycomponent/yz_blank/yz_blank.js b/mycomponent/yz_blank/yz_blank.js
new file mode 100644
index 0000000..409167c
--- /dev/null
+++ b/mycomponent/yz_blank/yz_blank.js
@@ -0,0 +1,61 @@
+// mycomponent/yz_blank/yz_blank.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ datas: {
+ type: [Array]
+ },
+ image: {
+ type: String,
+ value: null
+ },
+ //提示文字
+ text: {
+ type: String,
+ value: "暂无信息"
+ },
+ //按钮是否显示,默认不显示
+ isBtn: {
+ type: Boolean,
+ value: false
+ },
+ //按钮显示文字
+ btnText: {
+ type: String,
+ value: "返回"
+ },
+ //按钮跳转链接
+ tolink: {
+ type: String,
+ value: ""
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {},
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ goUrl() {
+ if (this.data.tolink) {
+ try {
+ wx.navigateTo({
+ url: '/' + this.data.tolink,
+ });
+ } catch (error) {
+ wx.reLaunchurl({
+ url: '/' + this.data.tolink,
+ });
+ }
+ }
+
+
+ }
+ }
+});
\ No newline at end of file
diff --git a/mycomponent/yz_blank/yz_blank.json b/mycomponent/yz_blank/yz_blank.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/mycomponent/yz_blank/yz_blank.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/yz_blank/yz_blank.wxml b/mycomponent/yz_blank/yz_blank.wxml
new file mode 100644
index 0000000..b81073c
--- /dev/null
+++ b/mycomponent/yz_blank/yz_blank.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+ {{text}}
+
+ {{ btnText }}
+
+
\ No newline at end of file
diff --git a/mycomponent/yz_blank/yz_blank.wxss b/mycomponent/yz_blank/yz_blank.wxss
new file mode 100644
index 0000000..8c46474
--- /dev/null
+++ b/mycomponent/yz_blank/yz_blank.wxss
@@ -0,0 +1,31 @@
+/* mycomponent/yz_blank/yz_blank.wxss */
+.yz_blank {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ margin: 64rpx 0;
+}
+
+.yz_blank image {
+ width: 80%;
+}
+
+.noData_text {
+ color: #999;
+ margin: 48rpx 0;
+}
+
+.noData_btn {
+ display: block;
+ width: 384rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ border-radius: 64rpx;
+ font-size: 32rpx;
+ background-image: -webkit-linear-gradient(bottom, #ff8a66, #ff6260, #ff6260);
+ color: #fff;
+ text-align: center;
+ margin: 0 auto;
+}
diff --git a/mycomponent/yz_commentInput/yz_commentInput.js b/mycomponent/yz_commentInput/yz_commentInput.js
new file mode 100644
index 0000000..cc173be
--- /dev/null
+++ b/mycomponent/yz_commentInput/yz_commentInput.js
@@ -0,0 +1,159 @@
+// mycomponent/yz_commentInput/yz_commentInput.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ //弹窗是否显示,默认不显示
+ showCommentInput: {
+ type: Boolean,
+ value: false
+ },
+ openImg: {
+ type: Boolean,
+ value: false
+ },
+ options: {
+ type: Object,
+ value: () => ({})
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ fileList1: [],
+ imgList: [],
+ maincomment: "",
+ prop_placeholder: "请留下你的精彩评论吧"
+ },
+ observers: {
+ showCommentInput: function (show) {
+ this.setData({
+ maincomment: '',
+ fileList1: [],
+ imgList: [],
+
+ });
+ console.log(show, ";sdasdasd");
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onChange(event) {
+ this.setData({
+ maincomment: event.detail
+ });
+ },
+ subMainBtn() {
+ if (this.data.maincomment.length == 0 && this.data.fileList1.length == 0) {
+ wx.showToast({
+ title: '不能发送空白信息',
+ icon: 'error'
+ });
+ return;
+ }
+ let _json = {
+ text: this.data.maincomment,
+ imgs: this.data.fileList1
+ };
+ if (this.data.options) {
+ _json.options = this.data.options;
+ }
+ this.triggerEvent('confirm', _json);
+ this.setData({
+ showCommentInput: false
+ });
+ },
+ closedPopup() {
+ this.setData({
+ showCommentInput: false
+ });
+ },
+ updateImages() {
+ // console.log(that.data.fileList1);
+ // this.triggerEvent('updateImages', this.data.fileList1);
+ },
+ //预览图片,放大预览
+ preview(e) {
+ let currentUrl = e.currentTarget.dataset.src;
+ wx.previewImage({
+ current: this.data.fileList1[currentUrl], // 当前显示图片的http链接
+ urls: this.data.fileList1 // 需要预览的图片http链接列表
+ });
+ },
+ delIntu_1(e) {
+ let del = e.currentTarget.id;
+ this.data.fileList1.splice(del, 1);
+ this.setData({
+ fileList1: this.data.fileList1
+ });
+ this.updateImages();
+ },
+ onRead_1() {
+ let that = this;
+ let ig = '1';
+ wx.chooseImage({
+ count: this.properties.max_count,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ // console.log(res.tempFilePaths);
+ that.unload({
+ tempFilePaths: res.tempFilePaths
+ }, ig);
+ }
+ });
+ },
+ //多张上传方法
+ unload(data, ig) {
+ let urlStr = app.getNetAddresss("upload.uploadPic");
+ var that = this,
+ i = data.i ? data.i : 0,
+ success = data.success ? data.success : 0,
+ fail = data.fail ? data.fail : 0;
+ wx.showLoading({
+ title: '正在上传',
+ });
+ wx.uploadFile({
+ url: urlStr,
+ filePath: data.tempFilePaths[i],
+ name: 'file',
+ formData: null,
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ // console.log(res.data.img_url);
+ if (ig == '1') {
+ that.data.fileList1.push(res.data.img_url);
+ that.setData({
+ fileList1: that.data.fileList1,
+ });
+ // console.log(that.data.fileList1);
+ that.updateImages();
+ }
+ },
+ fail(e) {
+ fail++;
+ },
+ complete(e) {
+ wx.hideLoading();
+ i++;
+ if (i == data.tempFilePaths.length) { //当图片传完时,停止调用
+ console.log('执行完毕');
+ console.log('成功:' + success + " 失败:" + fail);
+ } else { //若图片还没有传完,则继续调用函数
+ data.i = i;
+ data.success = success;
+ data.fail = fail;
+ that.unload(data, ig); //递归,回调自己
+ }
+ }
+ });
+
+ },
+ }
+});
\ No newline at end of file
diff --git a/mycomponent/yz_commentInput/yz_commentInput.json b/mycomponent/yz_commentInput/yz_commentInput.json
new file mode 100644
index 0000000..e0c269b
--- /dev/null
+++ b/mycomponent/yz_commentInput/yz_commentInput.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../dist/popup/index",
+ "van-field": "../../dist/field/index",
+ "yz_uploader": "../yz_uploader/yz_uploader",
+ "van-icon": "../../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/yz_commentInput/yz_commentInput.wxml b/mycomponent/yz_commentInput/yz_commentInput.wxml
new file mode 100644
index 0000000..89d25b0
--- /dev/null
+++ b/mycomponent/yz_commentInput/yz_commentInput.wxml
@@ -0,0 +1,33 @@
+
+
\ No newline at end of file
diff --git a/mycomponent/yz_commentInput/yz_commentInput.wxss b/mycomponent/yz_commentInput/yz_commentInput.wxss
new file mode 100644
index 0000000..2310ea0
--- /dev/null
+++ b/mycomponent/yz_commentInput/yz_commentInput.wxss
@@ -0,0 +1,107 @@
+/* mycomponent/yz_commentInput/yz_commentInput.wxss */
+.yz_commentInput {
+ box-sizing: border-box;
+}
+
+.yz_commentInput .commentInput-slot-style {
+ height: 48rpx;
+ line-height: 64rpx;
+ text-align: left;
+ padding-left: 28rpx;
+ display: flex;
+}
+
+.yz_commentInput .commentInput-slot-style .selcolor {
+ color: #1c96fe;
+}
+
+.yz_commentInput .replyMainComment {
+ display: flex;
+ padding-top: 25rpx;
+ padding-bottom: 16rpx;
+ padding-left: 32rpx;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.yz_commentInput .replyMainComment .left {
+ width: 580rpx;
+ background-color: #f5f5f5;
+ border-radius: 16rpx;
+ padding: 16rpx;
+}
+
+.yz_commentInput .replyMainComment .left .comment-imgs {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.yz_commentInput .replyMainComment .right {
+ flex: 1;
+ margin: 0 16rpx;
+ height: 60rpx;
+ font-size: 30rpx;
+ line-height: 60rpx;
+ color: #0072e8;
+ text-align: center;
+}
+
+.yz_commentInput .replyMainComment .blank-color {
+ color: #999;
+}
+
+.yz_commentInput .operate-boxs {
+ display: flex;
+ padding: 0 32rpx 16rpx;
+}
+
+.yz_commentInput .operate-boxs .operate-btn {
+ margin-right: 16rpx;
+}
+
+.qitaimgbox {
+ padding: 5rpx;
+ box-sizing: border-box;
+ background: #fff;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.qitaimage {
+ width: 100rpx;
+ height: 100rpx;
+ border-radius: 8rpx;
+ border: solid 1rpx rgba(153, 153, 153, 1);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin: 5rpx 7rpx;
+ position: relative;
+}
+
+.qitaMax {
+ width: 98%;
+ height: 98%;
+ border-radius: 8rpx;
+}
+
+.icon-cel {
+ position: absolute;
+ top: -4rpx;
+ right: 0;
+ color: red;
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-ht_basis_singlepic::before {
+ content: "\e937";
+}
diff --git a/mycomponent/yz_comment_popup/commentCell/commentCell.js b/mycomponent/yz_comment_popup/commentCell/commentCell.js
new file mode 100644
index 0000000..188e673
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentCell/commentCell.js
@@ -0,0 +1,87 @@
+// mycomponent/yz_comment_popup/commentCell/commentCell.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ avatar: {
+ type: String,
+ value: ""
+ },
+ nickname: {
+ type: String,
+ value: ""
+ },
+ time: {
+ type: String,
+ value: ""
+ },
+ content: {
+ type: String,
+ value: ""
+ },
+ index: {
+ type: Number,
+ value: 0
+ },
+ page: {
+ type: Number, //一页几条数据
+ value: 5
+ },
+ replynum: {
+ type: Number,
+ value: 0
+ },
+ },
+ options: {
+ multipleSlots: true // 在组件定义时的选项中启用多slot支持
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ slotChildren: 0, //计算回复数
+ reduceRely: false //是否 显示“收起”评论样式
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ replyComment() {
+ console.log(" =========== 点击一级评论 =============");
+ let commentInputOptiones = {
+ replyName: this.data.nickname,
+ type: "reply",
+ placeholder: "请输入你的回复吧",
+ index: this.data.index,
+ childIndex: 0,
+ content: this.data.content.slice(0, 10) + "..."
+ };
+ this.triggerEvent('showCOMInput', commentInputOptiones);
+ },
+ getRely() {
+ if (this.data.reduceRely) {
+ //已加载过评论,此时只展开
+ this.setData({
+ reduceRely: false
+ });
+ return;
+ }
+
+ this.setData({
+ slotChildren: this.data.slotChildren + this.data.page //默认一页5条数据
+ });
+ this.triggerEvent('getRely', {
+ index: this.data.index
+ });
+ },
+ packUPRely() {
+ this.setData({
+ reduceRely: true
+ });
+ }
+ },
+
+});
\ No newline at end of file
diff --git a/mycomponent/yz_comment_popup/commentCell/commentCell.json b/mycomponent/yz_comment_popup/commentCell/commentCell.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentCell/commentCell.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/yz_comment_popup/commentCell/commentCell.wxml b/mycomponent/yz_comment_popup/commentCell/commentCell.wxml
new file mode 100644
index 0000000..c2bee58
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentCell/commentCell.wxml
@@ -0,0 +1,36 @@
+
+
+
\ No newline at end of file
diff --git a/mycomponent/yz_comment_popup/commentCell/commentCell.wxss b/mycomponent/yz_comment_popup/commentCell/commentCell.wxss
new file mode 100644
index 0000000..0108d68
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentCell/commentCell.wxss
@@ -0,0 +1,105 @@
+/* mycomponent/yz_comment_popup/commentCell/commentCell.wxss */
+
+.components-comment-list {
+ display: flex;
+ padding: 12rpx 28rpx;
+}
+
+.components-comment-list .components-comment-main-left {
+ width: 64rpx;
+ height: 64rpx;
+ margin-right: 24rpx;
+ overflow: hidden;
+ border-radius: 50%;
+}
+
+.components-comment-list .components-comment-main-left image {
+ width: 100%;
+ height: 100%;
+ object-fit: contain;
+}
+
+.components-comment-list .components-comment-main-right {
+ flex: 1;
+}
+
+.components-comment-list .components-comment-main-right .master-main {
+ width: 100%;
+ display: flex;
+ height: 64rpx;
+}
+
+.components-comment-list .components-comment-main-right .master-main .master-main-left {
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.components-comment-list .components-comment-main-right .master-main .master-main-left .master-name {
+ font-size: 25rpx;
+ color: #1c96fe;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ width: 100%;
+}
+
+.components-comment-list .components-comment-main-right .master-main .master-main-left .master-time {
+ width: 100%;
+ font-size: 20rpx;
+ color: #999;
+}
+
+.components-comment-list .components-comment-main-right .master-main .master-main-right {
+ min-width: 32rpx;
+ display: flex;
+}
+
+.components-comment-list .components-comment-main-right .master-main-content {
+ padding: 4rpx 32rpx 0 0;
+ font-size: 14px;
+}
+
+.child-list {
+ padding: 12rpx 0;
+}
+
+.child-list .components-comment-main-left {
+ width: 44rpx;
+ height: 44rpx;
+ margin-top: 10rpx;
+}
+
+.components-comment-input {
+ border: none;
+ margin: 28rpx;
+ padding: 16rpx;
+ background: #eaeaea;
+ border-radius: 64rpx;
+}
+
+.selecolor {
+ color: #1c96fe;
+}
+
+.reduce-style {
+ height: 16rpx;
+ overflow: hidden;
+}
+
+.reduce-style .master-main-content {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.additional-button {
+ padding-top: 4rpx;
+ color: #999;
+ display: flex;
+ align-items: center;
+}
diff --git a/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.js b/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.js
new file mode 100644
index 0000000..2afa3c5
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.js
@@ -0,0 +1,61 @@
+// mycomponent/yz_comment_popup/commentCellItem/commentCellItem.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ avatar: {
+ type: String,
+ value: ""
+ },
+ nickname: {
+ type: String,
+ value: ""
+ },
+ time: {
+ type: String,
+ value: ""
+ },
+ content: {
+ type: String,
+ value: ""
+ },
+ Responder: {
+ type: String,
+ value: ""
+ },
+ index: {
+ type: Number,
+ value: 0
+ },
+ childIndex: {
+ type: Number,
+ value: 0
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ replyComment() {
+ console.log(" =========== 点击二级评论 =============");
+ let commentInputOptiones = {
+ replyName: this.data.nickname,
+ type: "childReply",
+ placeholder: "请输入你的回复吧",
+ index: this.data.index,
+ childIndex: this.data.childIndex,
+ content: this.data.content.slice(0, 10) + "..."
+ };
+ this.triggerEvent('showCOMInput', commentInputOptiones);
+ }
+ }
+});
\ No newline at end of file
diff --git a/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.json b/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.wxml b/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.wxml
new file mode 100644
index 0000000..7efe443
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.wxml
@@ -0,0 +1,26 @@
+
+
+
\ No newline at end of file
diff --git a/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.wxss b/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.wxss
new file mode 100644
index 0000000..21fd289
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentCellItem/commentCellItem.wxss
@@ -0,0 +1,84 @@
+/* mycomponent/yz_comment_popup/commentCellItem/commentCellItem.wxss */
+.components-comment-list {
+ display: flex;
+ padding: 0.375rem 0.875rem;
+}
+
+.components-comment-list .components-comment-main-left {
+ width: 2rem;
+ height: 2rem;
+ margin-right: 0.72rem;
+ overflow: hidden;
+ border-radius: 50%;
+}
+
+.components-comment-list .components-comment-main-left image {
+ width: 100%;
+ height: 100%;
+ object-fit: contain;
+}
+
+.components-comment-list .components-comment-main-right {
+ flex: 1;
+}
+
+.components-comment-list .components-comment-main-right .master-main {
+ width: 100%;
+ display: flex;
+ height: 2rem;
+}
+
+.components-comment-list .components-comment-main-right .master-main .master-main-left {
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.components-comment-list .components-comment-main-right .master-main .master-main-left .master-name {
+ font-size: 12px;
+ color: #1c96fe;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ width: 100%;
+}
+
+.components-comment-list .components-comment-main-right .master-main .master-main-left .master-time {
+ width: 100%;
+ font-size: 10px;
+ color: #999;
+}
+
+.components-comment-list .components-comment-main-right .master-main .master-main-right {
+ min-width: 1rem;
+ display: flex;
+}
+
+.components-comment-list .components-comment-main-right .master-main-content {
+ padding: 0.125rem 1rem 0 0;
+ font-size: 13px;
+}
+
+.child-list {
+ padding: 0.375rem 0;
+}
+
+.child-list .components-comment-main-left {
+ width: 1.375rem;
+ height: 1.375rem;
+ margin-top: 0.3125rem;
+}
+
+.components-comment-input {
+ border: none;
+ margin: 0.875rem;
+ padding: 0.5rem;
+ background: #eaeaea;
+ border-radius: 2rem;
+}
+
+.selecolor {
+ color: #1c96fe;
+}
diff --git a/mycomponent/yz_comment_popup/commentGroup/commentGroup.js b/mycomponent/yz_comment_popup/commentGroup/commentGroup.js
new file mode 100644
index 0000000..851788b
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentGroup/commentGroup.js
@@ -0,0 +1,69 @@
+// mycomponent/yz_comment_popup/commentGroup/commentGroup.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ //弹窗是否显示,默认不显示
+ showYzComment: {
+ type: Boolean,
+ value: false
+ },
+ loading: {
+ //是否处于加载状态,加载过程中不触发load事件
+ type: Boolean,
+ value: false
+ },
+ finished: {
+ //是否已加载完成,加载完成后不再触发load事件
+ type: Boolean,
+ value: false
+ },
+ //评论列表
+ length: {
+ type: String,
+ value: ""
+ },
+ isAuthority: {
+ // 1游客 2作者 3管理员
+ // 2、3可进行删除操作
+ type: [Number, String],
+ value: 1
+ }
+ },
+ options: {
+ multipleSlots: true // 在组件定义时的选项中启用多slot支持
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ showCommentInput: false,
+ commentInputOptiones: {},
+ showSheet: false,
+ actions: [{
+ name: "回复"
+ }, {
+ name: "删除"
+ }]
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onCommentMore() {
+ this.triggerEvent("onMore");
+ },
+ focusCommentInput() {
+ this.data.commentInputOptiones = {
+ type: "main"
+ };
+
+ this.triggerEvent("showCOMInput", this.data.commentInputOptiones);
+ },
+ close() {
+ this.triggerEvent("clone");
+ }
+ },
+});
\ No newline at end of file
diff --git a/mycomponent/yz_comment_popup/commentGroup/commentGroup.json b/mycomponent/yz_comment_popup/commentGroup/commentGroup.json
new file mode 100644
index 0000000..f7229d8
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentGroup/commentGroup.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "yz-comment-input": "../../yz_commentInput/yz_commentInput"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/yz_comment_popup/commentGroup/commentGroup.wxml b/mycomponent/yz_comment_popup/commentGroup/commentGroup.wxml
new file mode 100644
index 0000000..2a1197e
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentGroup/commentGroup.wxml
@@ -0,0 +1,29 @@
+
+
+
+
\ No newline at end of file
diff --git a/mycomponent/yz_comment_popup/commentGroup/commentGroup.wxss b/mycomponent/yz_comment_popup/commentGroup/commentGroup.wxss
new file mode 100644
index 0000000..4c7957c
--- /dev/null
+++ b/mycomponent/yz_comment_popup/commentGroup/commentGroup.wxss
@@ -0,0 +1,116 @@
+/* mycomponent/yz_comment_popup/commentGroup/commentGroup.wxss */
+.components-comment .components-comment-main {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ text-align: left;
+}
+
+.components-comment .components-comment-main .components-comment-title {
+ height: 96rpx;
+ line-height: 96rpx;
+ font-size: 14px;
+ text-align: center;
+}
+
+.components-comment .components-comment-main .components-comment-list-main {
+ /* flex: 1;
+ overflow: scroll; */
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list-main-warn {
+ padding: 32rpx 0;
+ text-align: center;
+ color: #999;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list {
+ display: flex;
+ padding: 12rpx 28rpx;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list .components-comment-main-left {
+ width: 64rpx;
+ height: 64rpx;
+ margin-right: 23rpx;
+ overflow: hidden;
+ border-radius: 50%;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list .components-comment-main-left img {
+ width: 100%;
+ height: 100%;
+ object-fit: contain;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list .components-comment-main-right {
+ flex: 1;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list .components-comment-main-right .master-main {
+ width: 100%;
+ display: flex;
+ height: 64rpx;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list .components-comment-main-right .master-main .master-main-left {
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list .components-comment-main-right .master-main .master-main-left .master-name {
+ font-size: 12px;
+ color: #1c96fe;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ width: 100%;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list .components-comment-main-right .master-main .master-main-left .master-time {
+ width: 100%;
+ font-size: 10px;
+ color: #999;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list .components-comment-main-right .master-main .master-main-right {
+ min-width: 32rpx;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .components-comment-list .components-comment-main-right .master-main-content {
+ padding: 4rpx 32rpx 0 0;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .child-list {
+ padding: 12rpx 0;
+}
+
+.components-comment .components-comment-main .components-comment-list-main .child-list .components-comment-main-left {
+ width: 44rpx;
+ height: 44rpx;
+ margin-top: 10rpx;
+}
+
+.components-comment .components-comment-main .components-comment-input {
+ border: none;
+ margin: 20rpx auto;
+ padding: 16rpx;
+ background: #eaeaea;
+ border-radius: 64rpx;
+ display: block;
+ width: 90%;
+}
+
+.components-comment .components-comment-main .components-comment-input-box {
+ position: relative;
+ width: 100%;
+ border-top: 1rpx solid #eaeaea;
+}
+
+.components-comment .components-comment-main .selecolor {
+ color: #1c96fe;
+}
diff --git a/mycomponent/yz_diyformV2/diyformV2.js b/mycomponent/yz_diyformV2/diyformV2.js
new file mode 100644
index 0000000..a2c7fd0
--- /dev/null
+++ b/mycomponent/yz_diyformV2/diyformV2.js
@@ -0,0 +1,880 @@
+var app = getApp();
+Component({
+ properties: {
+ // 提交状态
+ status: {
+ type: null
+ },
+ // 表单数据
+ field: {
+ type: null
+ },
+ useActionSlot:{
+ type: null,
+ value: false
+ },
+ thumb: {
+ type: null
+ },
+ description: {
+ type: null
+ },
+ },
+ options: {
+ multipleSlots: true // 在组件定义时的选项中启用多slot支持
+ },
+ data: {
+ click: false,
+ startDate: new Date("1900-01-01"),
+ Height: "",
+ formList: [],
+ showAddress: false,
+ form_id: "",
+ shoTime: "",
+ types: {
+ 88: "diyusername",
+ 99: "diypassword",
+ 0: "diyinput",
+ 1: "diytextarea",
+ 3: "diycheckbox",
+ 4: "diyradio",
+ 2: "diyselect",
+ 7: "diydate",
+ 9: "diycity",
+ 5: "diyimage",
+ },
+ diydata: [],
+ setname: "",
+ // uploadUrl: 'plugin.diyform.api.diy-form.DiyFormUpload',
+ uploadUrl: "upload.uploadPic",
+ //地区
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ currentDate: new Date().getTime(),
+ showCity1: false,
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {},
+ moved() {},
+ detached() {},
+ },
+ observers: {
+ // 'isTag': function (str) {
+ // this.setData({
+ // aisTag: str
+ // });
+ // }
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ if (this.data.status == 0 && Object.keys(this.data.field).length != 0) this.getDiyFormSingData(this.data.field); //未提交表单,可编辑状态
+ if (this.data.status == 1 && Object.keys(this.data.field).length != 0) this.getDiyFormSingDataFalse(this.data.field);
+ this._initAddressInfo();
+ },
+ methods: {
+ getDiyFormSingData(fields) {
+ let that = this;
+ let diydata = [];
+ let f = null;
+ for (var field in fields) {
+ if (fields[field].data_type == 7) {
+ console.log(fields[field].default_time);
+ var timestamp = Date.parse(new Date());
+ var date = new Date(timestamp);
+ //获取年份
+ var Y = date.getFullYear();
+ //获取月份
+ var M =
+ date.getMonth() + 1 < 10 ?
+ "0" + (date.getMonth() + 1) :
+ date.getMonth() + 1;
+ //获取当日日期
+ var D =
+ date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+ console.log(Y + "-" + M + "-" + D);
+ var isdatae = Y + "-" + M + "-" + D;
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].default_time,
+ type: that.data.types[fields[field].data_type],
+ };
+ }
+ if (that.data.types[fields[field].data_type] == "diycheckbox") {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : [],
+ type: that.data.types[fields[field].data_type],
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diydate"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ timeShow: false,
+ currentDate: new Date().getTime(),
+ shoTime: fields[field].default_time ?
+ fields[field].default_time :
+ isdatae,
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diyselect"
+ ) {
+ let tp_textArr = [];
+ for (let i = 0; i < fields[field].tp_text.length; i++) {
+ tp_textArr.push({
+ name: fields[field].tp_text[i],
+ });
+ }
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ diysishow: false,
+ sitem: tp_textArr,
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diycity"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ showAdd: false,
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diyimage"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ imgUrls: fields[field].value ? fields[field].value : [],
+ isPhoto: false,
+ type: that.data.types[fields[field].data_type],
+ };
+ } else {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ };
+ }
+ diydata.push(f);
+ that.setData({
+ diydata: diydata,
+ });
+ }
+ },
+ getDiyFormSingDataFalse(fields) {
+ let that = this;
+ for (let field in fields) {
+ var list = {
+ title: fields[field].tp_name,
+ value: fields[field].value,
+ data_type: fields[field].data_type,
+ tp_must: fields[field].tp_must,
+ };
+ if (list.data_type == "3") {
+ list.value = fields[field].value.join(",");
+ }
+ if (list.data_type == "7") {
+ list.value = fields[field].value;
+ }
+ if (list.data_type == "1") {
+ list.value = fields[field].value;
+ }
+ that.data.formList.push(list);
+ that.setData({
+ formList: that.data.formList,
+ });
+ }
+ },
+ //获取表单信息
+ getForm() {
+ let that = this;
+ let urlStr = "";
+
+ if (that.data.modeType == "member") {
+ urlStr = app.getNetAddresss(
+ "plugin.diyform.api.diy-form.getDiyFormTypeMemberData"
+ );
+ urlStr += "&form_id=" + this.data.datas;
+ } else {
+ urlStr = app.getNetAddresss(
+ "plugin.diyform.api.diy-form.getSingleFormData"
+ );
+ if (this.data.datas.diyform_data_id) {
+ urlStr += "&form_data_id=" + this.data.datas.diyform_data_id;
+ }
+ if (this.data.form_data_id) {
+ urlStr += "&form_data_id=" + this.data.form_data_id;
+ }
+ urlStr += "&form_id=" + this.data.datas.form_id;
+ }
+
+
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ not_validate_page: '0'
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res.data, '12211');
+ if (res.result == 1) {
+ if (app._isTextEmpty(res.data.thumb)) {
+ that.setData({
+ thumb: false,
+ });
+ } else {
+ that.setData({
+ thumb: res.data.thumb,
+ });
+ }
+ if (app._isTextEmpty(res.data.description)) {
+ that.setData({
+ description: false,
+ });
+ } else {
+ that.setData({
+ description: res.data.description,
+ });
+ }
+ if (that.data.params !== "order") {
+ wx.setNavigationBarTitle({
+ title: res.data.title,
+ });
+ that.setData({
+ status: res.data.status,
+ loading: true,
+ });
+ } else {
+ that.setData({
+ status: 0,
+ loading: true,
+ });
+ }
+ console.log(that.data.params, that.data.status, '173');
+ if (that.data.status === 1) {
+ that.setData({
+ diyform: res.data,
+ thumb: res.data.thumb,
+ });
+ const fields = that.data.diyform.fields;
+ for (let field in fields) {
+ var list = {
+ title: fields[field].tp_name,
+ value: fields[field].value,
+ data_type: fields[field].data_type,
+ tp_must: fields[field].tp_must,
+ };
+ if (list.data_type == "3") {
+ list.value = fields[field].value.join(",");
+ }
+ if (list.data_type == "7") {
+ list.value = fields[field].value;
+ }
+ if (list.data_type == "1") {
+ list.value = fields[field].value;
+ }
+ that.data.formList.push(list);
+ that.setData({
+ formList: that.data.formList,
+ });
+ }
+ } else {
+ that.setData({
+ diyform: res.data,
+ });
+ let fields = that.data.diyform.fields;
+ let diydata = that.data.diydata;
+ let f = null;
+ for (var field in fields) {
+ if (fields[field].data_type == 7) {
+ console.log(fields[field].default_time);
+ var timestamp = Date.parse(new Date());
+ var date = new Date(timestamp);
+ //获取年份
+ var Y = date.getFullYear();
+ //获取月份
+ var M =
+ date.getMonth() + 1 < 10 ?
+ "0" + (date.getMonth() + 1) :
+ date.getMonth() + 1;
+ //获取当日日期
+ var D =
+ date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+ console.log(Y + "-" + M + "-" + D);
+ var isdatae = Y + "-" + M + "-" + D;
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].default_time,
+ type: that.data.types[fields[field].data_type],
+ };
+ }
+ if (that.data.types[fields[field].data_type] == "diycheckbox") {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : [],
+ type: that.data.types[fields[field].data_type],
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diydate"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ timeShow: false,
+ currentDate: new Date().getTime(),
+ shoTime: fields[field].default_time ?
+ fields[field].default_time :
+ isdatae,
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diyselect"
+ ) {
+ let tp_textArr = [];
+ for (let i = 0; i < fields[field].tp_text.length; i++) {
+ tp_textArr.push({
+ name: fields[field].tp_text[i],
+ });
+ }
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ diysishow: false,
+ sitem: tp_textArr,
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diycity"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ showAdd: false,
+ };
+ } else if (
+ that.data.types[fields[field].data_type] == "diyimage"
+ ) {
+ f = {
+ name: field,
+ data: fields[field],
+ imgUrls: fields[field].value ? fields[field].value : [],
+ isPhoto: false,
+ type: that.data.types[fields[field].data_type],
+ };
+ } else {
+ f = {
+ name: field,
+ data: fields[field],
+ value: fields[field].value ? fields[field].value : "",
+ type: that.data.types[fields[field].data_type],
+ };
+ }
+ diydata.push(f);
+ that.setData({
+ diydata: diydata,
+ });
+ }
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //自定义表单值绑定
+ tpnameinp(e) {
+ let val = e.detail.value;
+ let idx = e.currentTarget.dataset.idex;
+
+ this.setData({
+ ["diydata[" + idx + "].value"]: val,
+ });
+ },
+
+ update() {
+ var that = this;
+ var formData = [];
+ var formObject = {};
+ this.data.diydata.forEach(item => {
+ if (item.type == "diyimg") {
+ var arr = [];
+ for (let i = 0; i < item[item.name + "Value1"].length; i++) {
+ arr.push(item[item.name + "Value1"][i].url);
+ }
+ formObject[item.name] = arr;
+ } else {
+ formObject[item.name] = item.value;
+ }
+ });
+ if (!app._isTextEmpty(that.data.form_data_id)) {
+ var json = {
+ form_data: formData,
+ form_data_id: that.data.form_data_id
+ };
+ }
+ formData.push(formObject);
+ console.log(json);
+ },
+ onRead_1(e) {
+ try {
+ let diydata = this.data.diydata;
+ let ind = e.currentTarget.dataset.idex;
+ if (diydata[ind].imgUrls.length >= diydata[ind].data.tp_max) {
+ wx.showToast({
+ title: `最多只能上传${diydata[ind].data.tp_max}张`,
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ } catch (err) {
+ console.log(err);
+ }
+ let name = e.currentTarget.dataset.name;
+ this.setData({
+ setname: name,
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: "file",
+ formData: {
+ attach: that.data.setname,
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ console.log(res);
+ if (res.result == 1) {
+ let diydata = that.data.diydata;
+ for (var i = 0; i < diydata.length; i++) {
+ if (diydata[i].name == res.data.attach) {
+ diydata[i].imgUrls.push(res.data.img_url);
+ }
+ }
+ that.setData({
+ diydata: diydata,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ fail(e) {
+ console.log(e);
+ },
+ complete(e) {},
+ });
+ },
+ });
+ },
+ removeImg: function (e) {
+ let delIndex = e.currentTarget.dataset.indexc;
+ let index_1 = e.currentTarget.dataset.index;
+ let diydata = this.data.diydata;
+ diydata[index_1].imgUrls.splice(delIndex, 1);
+ this.setData({
+ diydata: diydata,
+ });
+ },
+ diytextareainp(e) {
+ let val = e.detail;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value.value"]: val,
+ });
+ },
+ checkboxinp(e) {
+ let val = e.detail;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val,
+ });
+ },
+ diyselectBtn(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].diysishow"]: true,
+ });
+ },
+ raidinp(e) {
+ let val = e.detail;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val,
+ });
+ },
+ //所在地选择显示
+ showAddBtn(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].showAdd"]: true,
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function (e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].showAdd"]: false,
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: "provinceData",
+ data: province,
+ });
+ wx.setStorage({
+ key: "cityData",
+ data: city,
+ });
+ wx.setStorage({
+ key: "districtData",
+ data: district,
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true,
+ });
+ },
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data,
+ });
+ that.setData({
+ "selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0],
+ });
+ that._getCityData();
+ },
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ // console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = "cityData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json,
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1],
+ });
+ that._getDistrictData();
+ },
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ // console.log("地区", "_data", _data)
+ // console.log(_data);
+ var that = this;
+ var _keyName = "districtData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json,
+ });
+ // console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2],
+ });
+ // console.log("over", that.data.selectAddressData);
+ },
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2],
+ });
+ this._initAddressInfo();
+ },
+ //城市结果
+ resultAdd: function (e) {
+ let idx = e.currentTarget.dataset.idex;
+ let seleData = this.data.selectAddressData;
+ let retCity =
+ seleData[0].name + " " + seleData[1].name + " " + seleData[2].name;
+ this.setData({
+ ["diydata[" + idx + "].value"]: retCity,
+ ["diydata[" + idx + "].showAdd"]: false,
+ });
+ },
+ //自定义日期选择
+ openPicker(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].timeShow"]: true,
+ });
+ },
+ _closeDateLw_1() {
+ this.setData({
+ showCity1: false,
+ });
+ },
+ resultAdd_1() {
+ let seleData = this.data.selectAddressData;
+ this.setData({
+ "applyModel.province_name": seleData[0].name,
+ "applyModel.city_name": seleData[1].name,
+ "applyModel.district_name": seleData[2].name,
+ fullAddress: seleData[0].name + " " + seleData[1].name + " " + seleData[2].name,
+ showCity1: false,
+ });
+ },
+ submit() {
+ this.validation();
+ if (!this.data.isValidation) {
+ return;
+ }
+ this.submitForm();
+ },
+ validation() {
+ this.setData({
+ isValidation: true,
+ });
+ this.data.diydata.forEach((item) => {
+ if (item.data.tp_must == 1 && !item.value && item.type != "diyimage") {
+ wx.showToast({
+ icon: "none",
+ title: item.data.tp_name + "必须填写哦",
+ duration: 1500,
+ });
+ this.setData({
+ isValidation: false,
+ });
+ }
+ if (item.data.tp_must == 1 && item.type == "diyimage") {
+ if (item.imgUrls.length <= 0) {
+ wx.showToast({
+ icon: "none",
+ title: `必须上传${item.data.tp_name}`,
+ duration: 1500,
+ });
+ this.setData({
+ isValidation: false,
+ });
+ }
+ }
+ if (
+ item.type == "diycheckbox" &&
+ item.value.length == 0 &&
+ item.data.tp_must == 1
+ ) {
+ wx.showToast({
+ icon: "none",
+ title: item.data.tp_name + "必须选择哦",
+ duration: 1500,
+ });
+ this.setData({
+ isValidation: false,
+ });
+ }
+ // if(item.type == 'diyselect' && item.data.tp_must == 1){
+ // wx.showToast({
+ // icon: 'none',
+ // title: item.data.tp_name + '必须填写哦',
+ // duration: 1500
+ // })
+ // this.setData({
+ // isValidation: false
+ // })
+ // }
+ });
+ },
+ //自定义表单提交
+ submitForm() {
+ if (this.data.click) {
+ return;
+ }
+ var that = this;
+ that.setData({
+ click: true,
+ });
+ setTimeout(() => {
+ that.setData({
+ click: false,
+ });
+ }, 5000);
+ var formData = [];
+ var formObject = {};
+ this.data.diydata.forEach((item) => {
+ //图片类型的直接提交图片base64的数组到后台,其它直接传值
+ if (item.type == "diyimage") {
+ formObject[item.name] = item.imgUrls;
+ } else {
+ formObject[item.name] = item.value;
+ }
+ if (item.type == "diytextarea") {
+ try {
+ formObject[item.name] = item.value.value.value;
+ } catch (err) {
+ console.log(err);
+ }
+ }
+ if (item.type == "diydate") {
+ formObject[item.name] = !app._isTextEmpty(item.value) ?
+ that.timestampToTime(item.value * 1000) :
+ item.shoTime;
+ }
+ });
+ formData.push(formObject);
+ this.triggerEvent('submit', formData);
+ },
+ sitemSelectBtn(e) {
+ let val = e.detail.name;
+ let idx = e.currentTarget.dataset.index;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val,
+ ["diydata[" + idx + "].diysishow"]: false,
+ });
+ },
+ sitemClose(e) {
+ let idx = e.currentTarget.dataset.index;
+ this.setData({
+ ["diydata[" + idx + "].diysishow"]: false,
+ });
+ },
+ dateClose(e) {
+ let index = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + index + "].timeShow"]: false,
+ });
+ },
+ //日期转化
+ timestampToTime(timestamp) {
+ var date = new Date(timestamp);
+ let Y = date.getFullYear() + "-";
+ let M =
+ (date.getMonth() + 1 < 10 ?
+ "0" + (date.getMonth() + 1) :
+ date.getMonth() + 1) + "-";
+ let D = this.change(date.getDate()) + " ";
+ return Y + M + D;
+ },
+ change(t) {
+ if (t < 10) {
+ return "0" + t;
+ } else {
+ return t;
+ }
+ },
+ birthdayconfirm(e, time) {
+ let index = e.currentTarget.dataset.idex;
+ let val = e.detail;
+ this.setData({
+ ["diydata[" + index + "].value"]: String(val).substring(0, 10),
+ ["diydata[" + index + "].shoTime"]: this.timestampToTime(val),
+ ["diydata[" + index + "].timeShow"]: false,
+ });
+ },
+ },
+});
\ No newline at end of file
diff --git a/mycomponent/yz_diyformV2/diyformV2.json b/mycomponent/yz_diyformV2/diyformV2.json
new file mode 100644
index 0000000..3e6bfd3
--- /dev/null
+++ b/mycomponent/yz_diyformV2/diyformV2.json
@@ -0,0 +1,18 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "/dist/field/index",
+ "van-checkbox": "/dist/checkbox/index",
+ "van-checkbox-group": "/dist/checkbox-group/index",
+ "van-cell-group": "/dist/cell-group/index",
+ "van-cell": "/dist/cell/index",
+ "van-popup": "/dist/popup/index",
+ "van-nav-bar": "/dist/nav-bar/index",
+ "van-action-sheet": "/dist/action-sheet/index",
+ "van-radio": "/dist/radio/index",
+ "van-radio-group": "/dist/radio-group/index",
+ "van-datetime-picker": "/dist/datetime-picker/index",
+ "van-icon": "/dist/icon/index",
+ "mp-html": "/mycomponent/mp-html/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/yz_diyformV2/diyformV2.wxml b/mycomponent/yz_diyformV2/diyformV2.wxml
new file mode 100644
index 0000000..35a4f53
--- /dev/null
+++ b/mycomponent/yz_diyformV2/diyformV2.wxml
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.data.tp_name}}:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.data.tp_name}}
+
+
+
+
+
+
+
+ {{item.data.tp_name}}
+
+
+ {{ck}}
+
+
+
+
+
+
+
+
+
+
+
+ {{item.data.tp_name}}
+
+
+ {{ritem}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+ 立即提交
+ 已提交
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mycomponent/yz_diyformV2/diyformV2.wxss b/mycomponent/yz_diyformV2/diyformV2.wxss
new file mode 100644
index 0000000..a00b6dc
--- /dev/null
+++ b/mycomponent/yz_diyformV2/diyformV2.wxss
@@ -0,0 +1,243 @@
+/* packageI/diyRormProve/component/diyformV2.wxss */
+.diy-form {
+ background: #fff;
+}
+
+.imgBox {
+ width: 100%;
+ height: 309rpx;
+}
+
+.imgBox image {
+ width: 100%;
+ height: 100%;
+}
+
+.rich {
+ width: 100%;
+ background: #fff;
+ text-align: center;
+}
+
+.image-list {
+ width: 100%;
+ height: 100%;
+ padding: 24rpx 0;
+ margin-top: -20rpx;
+}
+
+.image-list .otherphoto .top {
+ height: 100rpx;
+ text-align: left;
+ padding-left: 26rpx;
+ line-height: 100rpx;
+ border-bottom: solid 1px #ccc;
+}
+
+.image-list .otherphoto .top .span {
+ font-size: 30rpx;
+}
+
+.image-list .otherphoto .imgflex {
+ margin-top: 20rpx;
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.image-list .otherphoto .imgflex .photobox {
+ width: 190rpx;
+ height: 190rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+}
+
+.image-list .otherphoto .imgflex .photobox image {
+ width: 100%;
+ height: 100%;
+}
+
+.image-list .otherphoto .imgflex .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.image-list .otherphoto .imgflex .photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+}
+
+.image-list .otherphoto .imgflex .photoshow image {
+ width: 100%;
+}
+
+.cell_box .title {
+ padding: 20rpx 24rpx;
+ font-size: 28rpx;
+ text-align: left;
+ position: relative;
+ z-index: 1;
+}
+
+.cell_box .van-radio {
+ margin-bottom: 10rpx;
+ margin-top: 10rpx;
+ margin-left: 10rpx;
+}
+
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* -------------------------------- */
+
+.cell_box textarea {
+ min-height: 200rpx;
+ width: 100%;
+}
+
+.cell_box .van-radio {
+ padding: 10rpx 0;
+ margin-left: 16rpx;
+}
+
+.cell_box .van-checkbox {
+ padding: 10rpx 0;
+ margin-left: 16rpx;
+}
+
+.success .ico {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+/* .btn {
+} */
+
+.btn .button {
+ font-size: 28rpx;
+ height: 80rpx;
+ margin: 0 auto;
+
+ /* margin-bottom: 30rpx; */
+ color: #fff;
+ border-radius: 8rpx;
+ background-color: #f55955;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ /* margin-top: 30rpx; */
+}
+
+.btn .save {
+ background-color: #04be02;
+}
+
+.diy-form van-radio-group {
+ width: 100%;
+}
+
+.diy-form van-icon {
+ margin-left: 20rpx;
+ margin-top: 20rpx;
+}
+
+.diy-form van-icon:last-child {
+ margin-bottom: 20rpx;
+}
+
+.wrap {
+ width: 100%;
+ padding-bottom: 20rpx;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+}
+
+.wrap .photo {
+ margin-top: 20rpx;
+ display: flex;
+ width: 25%;
+ justify-content: center;
+ align-items: center;
+}
+
+.wrap .photo image {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.b-mask.true {
+ width: 100vw;
+ height: 100vh;
+ background: rgba(0, 0, 0, 0.5);
+ position: fixed;
+ left: 0;
+ top: 0;
+ z-index: 99;
+}
diff --git a/mycomponent/yz_homeButton/yz_homeButton.js b/mycomponent/yz_homeButton/yz_homeButton.js
new file mode 100644
index 0000000..b3b8389
--- /dev/null
+++ b/mycomponent/yz_homeButton/yz_homeButton.js
@@ -0,0 +1,70 @@
+// mycomponent/yz_homeButton.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ datas: {
+ type: null
+ },
+ title: {
+ type: null,
+ },
+ store_id:{
+ type:null
+ }
+ },
+ observers:{
+ 'datas':function(era){
+ console.log(era,'ssss');
+ }
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ toolbar: false
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ gotoAlone(e){
+ let name = e.currentTarget.dataset.name;
+ if(name == 'release'){
+ wx.navigateTo({
+ url: "/packageC/micro_communities/microRelease/microRelease",
+ });
+ }else if(name == 'home'){
+ wx.redirectTo({
+ url: "/packageG/independent_store/index/index?store_id="+this.data.store_id,
+ });
+ }else if(name == 'my'){
+ wx.redirectTo({
+ url: "/packageG/member_v2/member_v2",
+ });
+ }
+ },
+ showToolbar() {
+ this.setData({
+ toolbar: !this.data.toolbar
+ });
+ },
+ gohome() {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ },
+ goorderlist() {
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2'
+ });
+ },
+ gomember() {
+ wx.reLaunch({
+ url: '/packageG/member_v2/member_v2'
+ });
+ },
+ }
+});
diff --git a/mycomponent/yz_homeButton/yz_homeButton.json b/mycomponent/yz_homeButton/yz_homeButton.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/mycomponent/yz_homeButton/yz_homeButton.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/yz_homeButton/yz_homeButton.wxml b/mycomponent/yz_homeButton/yz_homeButton.wxml
new file mode 100644
index 0000000..46c4909
--- /dev/null
+++ b/mycomponent/yz_homeButton/yz_homeButton.wxml
@@ -0,0 +1,24 @@
+
+
+ var inOf = function (val, str) { if (val) { return val.indexOf(str) } };
+ module.exports.inOf = inOf;
+
+发布
+
+ 首页
+ 我的
+
+
+
+
+ {{title[0] || '首页'}}
+
+
+ {{title[1] || '订单'}}
+
+
+ {{title[2] || '我的'}}
+
+
+
+
diff --git a/mycomponent/yz_homeButton/yz_homeButton.wxss b/mycomponent/yz_homeButton/yz_homeButton.wxss
new file mode 100644
index 0000000..cbae1e6
--- /dev/null
+++ b/mycomponent/yz_homeButton/yz_homeButton.wxss
@@ -0,0 +1,74 @@
+/* mycomponent/yz_homeButton.wxss */
+.releaseBox {
+ position: fixed;
+ z-index: 1000;
+ right: 15rpx;
+ bottom: 120rpx;
+ width: 72rpx;
+ height: 72rpx;
+ border-radius: 100%;
+ background: rgb(255, 85, 85);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+}
+
+.y5 {
+ position: fixed;
+ z-index: 1000;
+ right: 0;
+ bottom: 120rpx;
+ width: 72rpx;
+ height: 72rpx;
+ background: rgba(0, 0, 0, 0.8) url(//static-o2o.360buyimg.com/daojia/new/images/menu/bm.png) 14rpx 14rpx no-repeat;
+ background-size: 130rpx 40rpx;
+ border: 2rpx solid #757575;
+ border-radius: 8rpx 0 0 8rpx;
+}
+
+.y6 {
+ position: absolute;
+ right: -2rpx;
+ bottom: 84rpx;
+ width: 190rpx;
+ border: 2rpx solid #757575;
+ background: rgba(0, 0, 0, 0.8);
+}
+
+.y6 .a {
+ display: block;
+ padding-left: 76rpx;
+ border-bottom: 2rpx solid #4b4b4b;
+ line-height: 70rpx;
+ height: 70rpx;
+ color: #fff;
+ background-image: url(//static-o2o.360buyimg.com/daojia/new/images/icon/bmenu.png);
+ background-repeat: no-repeat;
+ background-size: 32rpx 600rpx;
+}
+
+.y8 {
+ background-position: 20rpx -100rpx;
+}
+
+.yb {
+ background-position: 20rpx -400rpx;
+}
+
+.yc {
+ background-position: 20rpx -500rpx;
+ border: none;
+}
+
+.yd {
+ position: absolute;
+ bottom: -24rpx;
+ right: 20rpx;
+ width: 0;
+ height: 0;
+ z-index: 15;
+ border-width: 12rpx;
+ border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
+ border-style: solid;
+}
diff --git a/mycomponent/yz_pay/yz_pay.js b/mycomponent/yz_pay/yz_pay.js
new file mode 100644
index 0000000..2e767c0
--- /dev/null
+++ b/mycomponent/yz_pay/yz_pay.js
@@ -0,0 +1,1290 @@
+import {
+ payKeyboardAsync
+} from "../payKeyboard/PayKeyboardAsync";
+/**
+ * 目前商城主要有三种订单支付流程
+ * 1、recharge充值支付 主要使用订单号ordersn 使用rechargePay方法
+ * 2、打赏类的支付(没有订单号) 直接用金额请求接口 使用handleOtherPay方法
+ * 3、商城订单支付类型 (有订单号) 支付后触发跳转 使用handlePay方法
+ *
+ * var yz_pay = require("../../../mycomponent/yz_pay/yz_pay"); //引入支付方法
+ * behaviors: [yz_pay],
+ *
+ * **/
+var app = getApp();
+module.exports = Behavior({
+ data: {
+ confirmPayText: '确定',
+ popupSpecs: false,
+ isPayClick: false,
+ pageTag: ""
+ },
+ observers: {
+ buttons(val) {
+ if (val && val.constructor === Array && val.length > 0) {
+ val.map(item => {
+ if (item.value == 54) {
+ this.setData({
+ confirmPayText: item.name || '确定'
+ });
+ }
+ });
+ }
+ }
+ },
+ methods: {
+ // 处理图标
+ hanleIcon(_data) {
+ let keyarr = [];
+ for (let key in _data.buttons) {
+ if (
+ _data.buttons[key].code == "wechatPay" ||
+ _data.buttons[key].code == "wechatMinPay" ||
+ _data.buttons[key].code == "cloudPayWechat" ||
+ _data.buttons[key].code == "wechatApp" ||
+ _data.buttons[key].code == "yunPayWechat" ||
+ _data.buttons[key].code == "yop" ||
+ _data.buttons[key].code == "convergePayWechat" ||
+ _data.buttons[key].code == "WechatScan" ||
+ _data.buttons[key].code == "WechatFace" ||
+ _data.buttons[key].code == "WechatJsapi" ||
+ _data.buttons[key].code == "wechatAggregatePay" ||
+ _data.buttons[key].code == "leshuaWechat"
+ ) {
+ _data.buttons[key].icon = "icon-pay_wechat";
+ _data.buttons[key].color = "#09bb07";
+ } else if (_data.buttons[key].code == "MemberCard" || _data.buttons[key].code == "balance") {
+ _data.buttons[key].icon = "icon-pay_yue";
+ _data.buttons[key].color = "#ff7433";
+ } else if (_data.buttons[key].code == "anotherPay") {
+ _data.buttons[key].icon = "icon-pay_otherpay";
+ _data.buttons[key].color = "#ffba00";
+ } else if (_data.buttons[key].code == "UsdtPay") {
+ _data.buttons[key].icon = "icon-pay_utsd";
+ _data.buttons[key].color = "#9000ff";
+ } else if (_data.buttons[key].code == "DepositPay") {
+ _data.buttons[key].icon = "icon-pay_prepay";
+ _data.buttons[key].color = "#9000ff";
+ } else if (_data.buttons[key].code == "COD") {
+ _data.buttons[key].icon = "icon-pay_cashondelivery";
+ _data.buttons[key].color = "#ed3800";
+ } else if (_data.buttons[key].code == "convergeQuickPay") {
+ _data.buttons[key].icon = "icon-pay_quick";
+ _data.buttons[key].color = "#46e0d1";
+ } else if (_data.buttons[key].code == "remittance") {
+ _data.buttons[key].icon = "icon-pay_remittance";
+ _data.buttons[key].color = "#ff7433";
+ } else if (
+ _data.buttons[key].code == "alipay" ||
+ _data.buttons[key].code == "cloudPayAlipay" ||
+ _data.buttons[key].code == "alipayApp" ||
+ _data.buttons[key].code == "yunPayAlipay" ||
+ _data.buttons[key].code == "wftAlipay" ||
+ _data.buttons[key].code == "convergePayAlipay" ||
+ _data.buttons[key].code == "yopAlipay" ||
+ _data.buttons[key].code == "AlipayScan" ||
+ _data.buttons[key].code == "AlipayFace" ||
+ _data.buttons[key].code == "AlipayJsapi" ||
+ _data.buttons[key].code == "alipayAggregatePay"
+ ) {
+ _data.buttons[key].icon = "icon-pay_alipay";
+ _data.buttons[key].color = "#29a1f7";
+ } else if (_data.buttons[key].code == "parentPayment") {
+ _data.buttons[key].icon = "icon-fontclass-daifu1";
+ _data.buttons[key].color = "#f15353";
+ } else if (_data.buttons[key].code == "dcmScanPay") {
+ _data.buttons[key].icon = "icon-fontclass-saomazhifu";
+ _data.buttons[key].color = "#f4a556";
+ } else {
+ _data.buttons[key].icon = "icon-pay_default";
+ _data.buttons[key].color = "#538ff9";
+ }
+ keyarr.push(key);
+ }
+ },
+ btnclass(type) {
+ console.log(type, '3232');
+ if (type == 1 || type == 55 || type == 6 || type == 9 || type == 12 || type == 20 || type == 22 || type == 28) {
+ return "icon-balance_i";
+ } else if (type == 2 || type == 10) {
+ return "icon-balance_j";
+ } else if (type == 18) {
+ return "icon-balance_d";
+ } else if (type == 19) {
+ return "icon-balance_g";
+ } else {
+ return "icon-balance_h";
+ }
+ },
+
+ rechargePay(pay_type, res, ordersn, flag) {
+ let payParams = {};
+ if (pay_type == 1 || pay_type == 55 || pay_type == 48) {
+ let pay_data = {};
+ if (flag === "credit") {
+ pay_data = res;
+ } else {
+ pay_data = res.data.config;
+ }
+ payParams = {
+ timestamp: pay_data.timestamp,
+ nonceStr: pay_data.nonceStr,
+ package: pay_data.package,
+ signType: pay_data.signType,
+ paySign: pay_data.paySign,
+ };
+ this.WXPay_other(payParams, "back");
+ } else if (pay_type == 3) {
+ if (flag === "clock") {
+ this._getTodayClockOn(); //重新获取
+ this._getCurrentPayStatus();
+ }
+ wx.showToast({
+ title: res.msg || "支付成功",
+ icon: "none",
+ duration: 1500,
+ success() {
+ setTimeout(() => {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500);
+ },
+ });
+ } else if (pay_type == 28) {
+ if (flag === "credit") {
+ this.HJWXPay({
+ appId: res.appId,
+ timeStamp: res.timeStamp,
+ nonceStr: res.nonceStr,
+ package: res.package,
+ signType: res.signType,
+ paySign: res.paySign,
+ });
+ } else {
+ if (res.data.msg == "成功") {
+ let obj = JSON.parse(res.data.data.rc_Result);
+ payParams = {
+ appId: obj.appId,
+ timeStamp: obj.timeStamp,
+ nonceStr: obj.nonceStr,
+ package: obj.package,
+ signType: obj.signType,
+ paySign: obj.paySign,
+ };
+ this.HJWXPay(payParams, "noRect");
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: "none",
+ });
+ }
+ }
+ } else if (pay_type == 33) {
+ this.jueqiAlipay(ordersn);
+ } else if(pay_type == 86){
+ this.WXPay_other(res.data.pay_msg);
+ } else if (pay_type = 59) {
+ this.rechargePay_quick_pay(ordersn, flag);
+ } else if (pay_type == 78) {
+ this.HJWXPay(res.data.pay_msg.js_prepay_info);
+ } else if (pay_type == 82) {
+ this.WXPay_other(res.data.pay_msg.js_prepay_info);
+ } else {
+ wx.showToast({
+ title: "暂不支持该支付方式",
+ icon: "none",
+ });
+ }
+ },
+ async handleOtherPay(btn, type, resData, flag) {
+ this.data.pageTag = flag;
+ if (type == 3 && btn.need_password == 1) {
+ // 是否开启余额密码支付
+ let pass = await this.getPayKeyboardPassword();
+ this.getVerifyPassword(pass, "noRect"); // 请求密码验证接口
+ }
+ if (type == 3 && btn.need_password != 1) {
+ //余额支付
+ wx.showModal({
+ title: "提示",
+ content: "支付成功",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ if (flag === "circle") {
+ try {
+ let pages = getCurrentPages();
+ let page = pages[pages.length - 2];
+ page.updateView();
+ } catch (error) {
+ console.log(error);
+ }
+ } else if (flag === 'groupWork') {
+ wx.navigateTo({
+ url: '/packageI/groupWork/groupWorkMy/groupWorkMy'
+ });
+ return;
+ }
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ },
+ });
+ } else if (type == 1 || type == 55) {
+ //微信
+ this.WXPay_other(resData.config);
+ } else if (type == 28) {
+ // 汇聚支付
+ if (resData.msg == "成功") {
+ let data = JSON.parse(resData.data.rc_Result);
+ this.HJWXPay(data, "noRect");
+ } else {
+ wx.showToast({
+ title: resData.msg,
+ icon: "none",
+ });
+ }
+ } else if (type == 82) {
+ this.OtherPay_sandWXpay();
+ } else if (type == 86){
+ this.WXPay_other(resData.data.pay_msg);
+ }else {
+ wx.showToast({
+ title: "暂不支持该支付方式",
+ icon: "none",
+ });
+ }
+ },
+ OtherPay_sandWXpay() {
+ let _url = app.getNetAddresss("order.merge-pay.sandpay-wechat");
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ let resData = res.data.pay_msg;
+ if (resData.result == 1) {
+ this.WXPay_other(resData);
+ } else {
+ wx.showToast({
+ title: resData.msg,
+ icon: "none",
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ },
+ WXPay_other(payParams, flag) {
+ let that = this;
+ wx.requestPayment({
+ timeStamp: payParams.timestamp,
+ nonceStr: payParams.nonceStr,
+ package: payParams.package,
+ signType: payParams.signType ? payParams.signType : "MD5",
+ paySign: payParams.paySign,
+ success: (res) => {
+ wx.showModal({
+ title: "提示",
+ content: "支付成功",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ if (that.data.pageTag == 'groupWork') {
+ wx.navigateTo({
+ url: '/packageI/groupWork/groupWorkMy/groupWorkMy'
+ });
+ return;
+ }
+ if (flag === 'back') {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ }
+ },
+ });
+ },
+ fail: (res) => {
+ console.log(res);
+ wx.showToast({
+ title: "支付失败请稍后重试",
+ icon: "none",
+ duration: 2000,
+ });
+ },
+ });
+ },
+ // 消费红包
+ checkoutConsumePacket() {
+ this.toRedirect();
+ },
+ payCallBack() {
+ if (app.globalData.store_alone_temp == 1) {
+ // 开启了门店独立直接跳首页
+ wx.reLaunch({
+ url: '/packageG/independent_store/index/index?store_id=' + app.globalData.STORE_ID,
+ });
+ return;
+ }
+ // 支付完根据订单号例如order_sn:PN2107291603FE0BF4重定向跳转地址
+ let _url = app.getNetAddresss("payment.callback-page.index");
+ _url += "&sn=" + this.data.order_sn;
+
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ let resData = res.data;
+ if (resData.result == 1) {
+ try {
+ if (this.data.name == "groups" && resData.data.redirect.indexOf("group_detail") != -1) {
+ // 拼团
+ let str = resData.data.redirect.match(/group_detail\/(\S*)\?i/)[1];
+ str = str.split("/");
+ let id = str[0];
+ if (str[1]) {
+ wx.navigateTo({
+ url: "/packageB/member/group/GroupDetail/GroupDetail?id=" + id + "&store_id=" + str[1],
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageB/member/group/GroupDetail/GroupDetail?id=" + id,
+ });
+ }
+ } else {
+ wx.redirectTo({
+ url: resData.data.min_redirect,
+ fail: (err) => {
+ console.log(err);
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ },
+ });
+ }
+ } catch (e) {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ }
+ } else {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ }
+ },
+ fail: (error) => {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ console.log(error, "错误");
+ },
+ });
+ },
+ toRedirect() {
+
+ if (this.data.is_cps) {
+ wx.redirectTo({
+ url: "/packageI/pay_back/pay_back?is_cps=" + this.data.is_cps + '&ids=' + this.data.order_pay_id,
+ });
+ return;
+ }
+ if (this.data.name == "Myshaky" || this.data.name == "blindBox") {
+ wx.redirectTo({
+ url: "/packageI/pay_back/pay_back?name=" + this.data.name + '&ids=' + this.data.order_pay_id +'&sn='+this.data.order_sn,
+ });
+ return;
+ }
+ if (this.data.order_sn) {
+ wx.redirectTo({
+ url: `/packageI/pay_back/pay_back?ids=${this.data.order_pay_id}&sn=${this.data.order_sn}${this.data.name ? '&name='+this.data.name : '' }`
+ });
+ } else {
+ wx.redirectTo({
+ url: "/packageI/pay_back/pay_back?ids=" + this.data.order_pay_id + '&name=' + this.data.name,
+ });
+ }
+
+ },
+ async handlePay(btn, type) {
+ if (this.data.isPayClick) {
+ // 控制支付请求多次
+ app.tips("还在请求支付,请等待~");
+ return;
+ }
+
+ this.data.isPayClick = true;
+
+ if (type == 1 || type == 6 || type == 63 || type == 55) {
+ // 微信
+ this.getWeChatPayParams(type);
+ } else if (type == 3) {
+ // 是否开启余额密码支付
+ if (btn.need_password == 1) {
+ let pass = await this.getPayKeyboardPassword();
+ this.getVerifyPassword(pass); // 请求密码验证接口
+ } else {
+ this.balancePay(""); // 无密码
+ }
+ } else if (type == 14) {
+ this.data.isPayClick = false;
+ wx.redirectTo({
+ url: "/packageD/buy/payanother/payanother?order_id=" + JSON.parse(this.data.order_id).toString(),
+ });
+ } else if (type == 11 || type == "cashPay") {
+ // 到店支付
+ this.cashPay(type);
+ } else if (type == 8) {
+ // 现金支付
+ this.cashPay(type);
+ } else if (type == 16) {
+ this.transferAccounts();
+ } else if (type == 28) {
+ // 第三方支付汇聚微信
+ this.getWepayHj();
+ } else if (type == 17) {
+ this.payMoney();
+ } else if (type == 33) {
+ this.jueqiAlipay();
+ } else if (type == 48) {
+ this.wechatJsapiPay();
+ } else if (btn == 54) {
+ this.sureBtn();
+ } else if (type == 59) {
+ this.quick_pay();
+ } else if (type == 75) {
+ this.huiju_wechat();
+ } else if (type == 77) {
+ this.data.isPayClick = false;
+ wx.redirectTo({
+ url: "/packageH/superior_payment/superiorPaymentIndex/superiorPaymentIndex?order_id=" + JSON.parse(this.data.order_id).toString(),
+ });
+ } else if (type == 68) {
+ this.scancodeAccounts();
+ } else if (type == 78) {
+ this.xfpayWechat();
+ } else if (type == 80) {
+ this.storeBalance();
+ } else if (type == 82) {
+ this.sandpayWechat();
+ } else if (type == 83) {
+ this.lakalaWechat();
+ } else if (type == 86){
+ this.Otherleshua()
+ } else {
+ wx.showToast({
+ title: "暂不支持该支付方式",
+ icon: "none",
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ async lakalaWechat(){
+ let _url = app.getNetAddresss("order.merge-pay.lakala-wechat");
+ _url += "&order_pay_id=" + this.data.order_pay_id;
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ res = res.data;
+ if (res.result == 1) {
+ var pay_data = res.data.pay_msg;
+ if (pay_data) {
+ var payParams = {
+ timeStamp: pay_data.timeStamp,
+ nonceStr: pay_data.nonceStr,
+ package: pay_data.package,
+ signType: pay_data.signType,
+ paySign: pay_data.paySign,
+ };
+ // 默认跳首页
+ this.WXPay(payParams, 'home');
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ })
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ },
+ sandpayWechat(){
+ let _url = app.getNetAddresss("order.merge-pay.sandpay-wechat");
+ _url += "&order_pay_id=" + this.data.order_pay_id;
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ res = res.data;
+ if (res.result == 1) {
+ var pay_data = res.data.pay_msg;
+ if (pay_data) {
+ var payParams = {
+ timeStamp: pay_data.timestamp,
+ nonceStr: pay_data.nonceStr,
+ package: pay_data.package,
+ signType: pay_data.signType,
+ paySign: pay_data.paySign,
+ };
+ // 默认跳首页
+ this.WXPay(payParams, 'home');
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ },
+ storeBalance() {
+ let urlStr = app.getNetAddresss("plugin.store-balance.frontend.pay.index");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ order_pay_id: this.data.order_pay_id,
+ store_id: this.data.store_id
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000,
+ complete: () => {
+ this.payCallBack();
+ }
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ getWeChatPayParams(type) {
+ let _postUrl = type == 63 ? "plugin.store-aggregate-pay.frontend.aggregate-pay.wechat" : "order.merge-pay.wechatPay";
+ let _url = app.getNetAddresss(_postUrl);
+ _url += "&order_pay_id=" + this.data.order_pay_id;
+ _url += "&client_type=2";
+
+ if (this.data.mid) {
+ _url += "&mid=" + this.data.mid;
+ }
+
+ if (this.data.pid) {
+ _url += "&pid=" + this.data.pid;
+ }
+
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ if (res.data.result == 0) {
+ app.tips(res.data.msg);
+ }
+ if (type != 63) {
+ var pay_data = res.data.data.config;
+ if (pay_data) {
+ var payParams = {
+ timeStamp: pay_data.timestamp,
+ nonceStr: pay_data.nonceStr,
+ package: pay_data.package,
+ signType: pay_data.signType,
+ paySign: pay_data.paySign,
+ };
+ // console.log('senceKey::::', this.data.senceKey);
+ if (this.data.senceKey == '1177' || this.data.senceKey == '1175' || this.data.senceKey == '1176' || this.data.senceKey == '1195' || this.data.senceKey == '1191') {
+ this.newScene(this.data.senceKey, payParams, res.data.data.redirect);
+ } else {
+ this.WXPay(payParams, res.data.data.redirect || 'home');
+ }
+ }
+ } else {
+ wx.setClipboardData({
+ data: res.data.jsapi_pay_url,
+ success(res) {
+ wx.showToast({
+ title: "已复制链接请用浏览器打开",
+ icon: "none",
+ duration: 5000,
+ });
+ },
+ fail() {
+ wx.showToast({
+ title: "复制链接失败",
+ icon: "none",
+ duration: 2500,
+ });
+ },
+ });
+ }
+ this.data.isPayClick = false;
+ },
+ fail: (res) => {
+ this.data.isPayClick = false;
+ },
+ });
+ },
+ newScene(key, payParams, redirect) {
+ let _url = app.getNetAddresss("plugin.wechat-trade.frontend.order.index");
+ console.log(payParams);
+ _url += "&scene=" + key;
+ _url += "&pay_type=0";
+ _url += "&prepay_time=" + payParams.timeStamp;
+ _url += "&prepay_id=" + payParams.package;
+ _url += "&pay_sn=" + this.data.order_sn;
+ if (this.data.pid) {
+ _url += "&pid=" + this.data.pid;
+ }
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ let resData = res.data;
+ if (resData.result == 1) {
+ if (resData.data.state == 0) {
+ this.WXPay(payParams, redirect || 'home');
+ } else {
+ wx.requestOrderPayment({
+ timeStamp: payParams.timeStamp,
+ nonceStr: payParams.nonceStr,
+ package: payParams.package,
+ signType: payParams.signType ? payParams.signType : "MD5",
+ paySign: payParams.paySign,
+ orderInfo: resData.data.data, // 需要新增的 订单 信息
+ success: (res) => {
+ this.toRedirect();
+ },
+ fail: (err) => {
+ console.log(err);
+ },
+ });
+ }
+ } else {
+ this.data.isPayClick = false;
+ wx.showModal({
+ title: resData.msg,
+ duration: 2000,
+ showCancel: false,
+ success: (e) => {
+ if (e.confirm) {
+ this.WXPay(payParams, redirect);
+ }
+ }
+ });
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ this.WXPay(payParams, redirect);
+ },
+ });
+ },
+ WXPay(payParams, url) {
+ let urlStr = app.getNetAddresss("order.mini-app.index");
+ console.log(payParams,":dddd")
+ wx.requestPayment({
+ timeStamp: payParams.timeStamp,
+ nonceStr: payParams.nonceStr,
+ package: payParams.package,
+ signType: payParams.signType ? payParams.signType : "MD5",
+ paySign: payParams.paySign,
+ success: (res) => {
+ let json = {
+ formID: payParams.package.slice(10),
+ orderId: this.data.order_id,
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 0) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+
+ if (url) {
+ this.setData({
+ cbHref: {
+ cbHref: url,
+ },
+ });
+ this.checkoutConsumePacket();
+ } else {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ },
+ });
+ },
+ fail: (res) => {
+ this.data.isPayClick = false;
+ console.log(res);
+ wx.showToast({
+ title: "支付失败请稍后重试",
+ icon: "none",
+ duration: 2000,
+ });
+ },
+ });
+ },
+ payKeyboardComplete(evt) {
+ this.setData({
+ popupSpecs: false
+ });
+ payKeyboardAsync.complete(evt.detail);
+ },
+ getPayKeyboardPassword() {
+ this.setData({
+ popupSpecs: true
+ });
+ return new Promise((resove, reject) => {
+ payKeyboardAsync.addCompleteFn((pass) => {
+ resove(pass);
+ });
+ });
+ },
+ payKeyboardClose() {
+ this.setData({
+ popupSpecs: false
+ });
+ this.data.isPayClick = false;
+ },
+ // 验证密码
+ getVerifyPassword(pwd, flag) {
+ let urlStr = app.getNetAddresss("payment.password.check");
+ urlStr += "&password=" + pwd;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (flag === "noRect") {
+ wx.showToast({
+ icon: "none",
+ title: "支付成功",
+ duration: 2000,
+ });
+ } else {
+ this.balancePay(pwd);
+ }
+ } else {
+ this.data.isPayClick = false;
+ this.verifyPasswordError(res);
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ verifyPasswordError(res) {
+ wx.showModal({
+ title: "提示",
+ content: res.msg,
+ success(restext) {
+ if (restext.confirm) {
+ if (res.data.code == 2001) {
+ // 商城支付密码设置未开启
+ } else if (res.data.code == 2002) {
+ // 用户未设置支付密码
+ // 去设置密码
+ wx.navigateTo({
+ url: "/packageA/member/set_balance_password/set_balance_password",
+ });
+ } else if (res.data.code == 2003) {
+ // 支付密码错误
+ }
+ } else if (restext.cancel) {
+ if (res.data.code == 2001) {
+ // 商城支付密码设置未开启
+ } else if (res.data.code == 2002) {
+ // 用户未设置支付密码
+ } else if (res.data.code == 2003) {
+ // 支付密码错误
+ }
+ }
+ },
+ });
+ },
+ // 密码支付
+ balancePay(password) {
+ let _url = app.getNetAddresss("order.credit-merge-pay.credit2");
+ _url += "&order_pay_id=" + this.data.order_pay_id;
+ if (!app._isTextEmpty(password)) {
+ _url += "&payment_password=" + password;
+ }
+ if (this.data.pid) {
+ _url += "&pid=" + this.data.pid;
+ }
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ if (res.data.result == 1) {
+ this.setData({
+ redirectData: res.data,
+ cbHref: {},
+ });
+ this.checkoutConsumePacket();
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: "none",
+ duration: 2000,
+ });
+ // console.log('错误', res.data.msg);
+ }
+ setTimeout(() => {
+ this.data.isPayClick = false;
+ }, 2000);
+ },
+ });
+ },
+ cashPay(value) {
+ if (value == '8') {
+ // 现金支付
+ let _url = app.getNetAddresss("plugin.store-cashier.frontend.payment.cashPay.cashPay");
+ _url += "&client_type=2&order_pay_id=" + this.data.order_pay_id;
+ if (this.data.mid) {
+ _url += "&mid=" + this.data.mid;
+ }
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ res = res.data;
+ if (res.result == 1) {
+ wx.showModal({
+ title: '提示',
+ content: res.msg,
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.reLaunch({
+ url: "/packageG/member_v2/member_v2",
+ });
+ }
+ }
+ });
+
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ return;
+ }
+ wx.redirectTo({
+ url: "/packageA/member/order/orderCash/orderCash?order_pay_id=" + this.data.order_pay_id + "&pid=" + (this.data.pid ? this.data.pid : this.data.uid),
+ });
+ this.data.isPayClick = false;
+ },
+ // 转账支付
+ transferAccounts() {
+ wx.redirectTo({
+ url: "/packageA/member/order/TransferAccount/TransferAccount?id=" + this.data.order_pay_id + "&order_ids=" + this.data.order_id + "&status=" + this.data.status,
+ });
+ this.data.isPayClick = false;
+ },
+ // 微信支付
+ getWepayHj() {
+ let _url = app.getNetAddresss("order.merge-pay.wechat-pay-hj");
+ _url += "&client_type=2&order_pay_id=" + this.data.order_pay_id;
+ if (this.data.mid) {
+ _url += "&mid=" + this.data.mid;
+ }
+
+ if (this.data.pid) {
+ _url += "&pid=" + this.data.pid;
+ }
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ res = res.data;
+ if (res.result == 1) {
+ let data = JSON.parse(res.data.data.rc_Result);
+ this.HJWXPay(data);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ },
+ // 汇聚支付
+ HJWXPay(payParams, flag) {
+ wx.requestPayment({
+ appId: payParams.appId,
+ timeStamp: payParams.timeStamp,
+ nonceStr: payParams.nonceStr,
+ package: payParams.package,
+ signType: payParams.signType,
+ paySign: payParams.paySign,
+ success: (res) => {
+ wx.showToast({
+ title: "支付成功",
+ icon: "success",
+ duration: 2000,
+ success: () => {
+ setTimeout(() => {
+ if (this.data.pageTag == 'groupWork') {
+ wx.navigateTo({
+ url: '/packageI/groupWork/groupWorkMy/groupWorkMy'
+ });
+ return;
+ }
+ if (flag === 'noRect') {
+ wx.navigateBack({
+ delta: 1,
+ });
+ } else {
+ this.setData({
+ redirectData: {},
+ cbHref: {},
+ });
+ this.checkoutConsumePacket();
+ }
+ }, 2000); // 延迟时间
+ },
+ });
+ },
+ fail: (res) => {
+ console.log(res);
+ console.log(payParams, "参数");
+ wx.showToast({
+ title: "支付失败请稍后重试",
+ icon: "none",
+ duration: 2000,
+ });
+ },
+ });
+ this.data.isPayClick = false;
+ },
+ // 货到付款
+ payMoney() {
+ let json = {
+ order_pay_id: this.data.order_pay_id,
+ };
+ let urlStr = app.getNetAddresss("order.mergePay.COD");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ redirectData: res,
+ cbHref: {},
+ });
+ this.checkoutConsumePacket();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2000,
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ rechargePay_quick_pay(ordersn, flag) {
+ let status = 3;
+ let isurl = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay.love-recharge");
+ if (flag === "balance") {
+ status = 2;
+ isurl = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay.show-recharge");
+ } else if (flag === "recharge") {
+ status = 1;
+ isurl = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay.credit-recharge");
+ }
+ app._getNetWork({
+ url: isurl,
+ data: {
+ ordersn: ordersn,
+ },
+ success: (res) => {
+ this.data.isPayClick = false;
+ if (res.data.result == 1) {
+ if (res.data.data.have_bank_card == 0) {
+ wx.navigateTo({
+ url: "/packageD/quickPay/add_bank_first/add_bank_first?order_pay_id=" + ordersn + "&status=" + status,
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageD/quickPay/choose_bank/choose_bank?order_pay_id=" + ordersn + "&status=" + status,
+ });
+ }
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ duration: 1000,
+ icon: "none",
+ });
+ }
+ },
+ fail: (err) => {
+ console.log(err);
+ },
+ });
+ },
+ jueqiAlipay(ordersn) {
+ let _url = app.getNetAddresss("order.merge-pay.wechat-pay-jueqi");
+ if (ordersn) {
+ _url += "&order_pay_id=" + ordersn;
+ } else {
+ _url += "&order_pay_id=" + this.data.order_pay_id;
+ }
+ if (this.data.pid) {
+ _url += "&pid=" + this.data.pid;
+ }
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ let resData = res.data;
+ if (resData.result == 1) {
+ this.HJWXPay(resData.data);
+ } else {
+ wx.showToast({
+ title: resData.msg,
+ icon: "none",
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ },
+ wechatJsapiPay() {
+ let _url = app.getNetAddresss("order.merge-pay.wechat-jsapi-pay");
+ _url += "&order_pay_id=" + this.data.order_pay_id;
+ if (this.data.pid) {
+ _url += "&pid=" + this.data.pid;
+ }
+ if(this.data.store_id){
+ _url += "&store_id=" + this.data.store_id;
+ }
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ let resData = res.data;
+ if (resData.result == 1) {
+ this.HJWXPay(resData.data.config);
+ } else {
+ wx.showToast({
+ title: resData.msg,
+ icon: "none",
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ },
+ quick_pay() {
+ let isurl = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay.pay");
+ if (this.data.pid) {
+ isurl += "&pid=" + this.data.pid;
+ }
+ app._getNetWork({
+ url: isurl,
+ data: {
+ order_pay_id: this.data.order_pay_id,
+ },
+ success: (res) => {
+ this.data.isPayClick = false;
+ if (res.data.result == 1) {
+ if (res.data.data.have_bank_card == 0) {
+ wx.navigateTo({
+ url: "/packageD/quickPay/add_bank_first/add_bank_first?order_pay_id=" + this.data.order_pay_id,
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageD/quickPay/choose_bank/choose_bank?order_pay_id=" + this.data.order_pay_id,
+ });
+ }
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ duration: 1000,
+ icon: "none",
+ });
+ }
+ },
+ fail: (err) => {
+ console.log(err);
+ },
+ });
+ },
+ huiju_wechat() {
+ // 汇聚微信支付-分账
+ let _url = app.getNetAddresss("plugin.converge-alloc-funds.frontend.controllers.converge-separate.pay");
+ _url += "&order_pay_id=" + this.data.order_pay_id;
+ if (this.data.pid) {
+ _url += "&pid=" + this.data.pid;
+ }
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ res = res.data;
+ if (res.result == 1) {
+ let data = JSON.parse(res.data.rc_Result);
+ this.HJWXPay(data);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ },
+ // 扫码支付
+ scancodeAccounts() {
+ wx.redirectTo({
+ url: "/packageA/member/order/scancodeAccount/scancodeAccount?id=" + this.data.order_pay_id + "&order_ids=" + this.data.order_id + "&status=" + this.data.status,
+ });
+ this.data.isPayClick = false;
+ },
+ // money=='0.00'
+ sureBtn() {
+ let _url = app.getNetAddresss("order.merge-pay.confirm-pay");
+ _url += "&order_pay_id=" + this.data.order_pay_id;
+ if (this.data.pid) {
+ _url += "&pid=" + this.data.pid;
+ }
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ let resData = res.data;
+ if (resData.result == 1) {
+ this.checkoutConsumePacket();
+ } else {
+ this.data.isPayClick = false;
+ wx.showToast({
+ title: resData.msg,
+ icon: "none",
+ duration: 2000,
+ });
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ },
+ xfpayWechat() {
+ let _url = app.getNetAddresss("order.merge-pay.xfpay-wechat");
+ _url += "&order_pay_id=" + this.data.order_pay_id;
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ res = res.data;
+ if (res.result == 1) {
+ if (res.data.pay_msg && res.data.pay_msg.js_prepay_info) {
+ // let data = JSON.parse(res.data.pay_msg.js_prepay_info);
+ this.HJWXPay(res.data.pay_msg.js_prepay_info);
+ } else {
+ wx.showToast({
+ title: '第三方支付预付单信息为空,请选择其他支付方式!',
+ icon: "none",
+ duration: 2500
+ });
+ this.data.isPayClick = false;
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ },
+ // 乐刷
+ Otherleshua(){
+ let _url = app.getNetAddresss("order.merge-pay.leshua-wechat");
+ if(this.data.order_pay_id){
+ //支付
+ _url += "&order_pay_id=" + this.data.order_pay_id;
+ }
+ app._getNetWork({
+ url: _url,
+ success: (res) => {
+ res = res.data;
+ if (res.result == 1) {
+ var pay_data = res.data.pay_msg;
+ if (pay_data) {
+ var payParams = {
+ timeStamp: pay_data.timeStamp,
+ nonceStr: pay_data.nonceStr,
+ package: pay_data.package,
+ signType: pay_data.signType,
+ paySign: pay_data.paySign,
+ };
+ // 默认跳首页
+ this.WXPay(payParams, 'home');
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ })
+ }
+ },
+ fail: (error) => {
+ console.log(error, "错误");
+ },
+ });
+ }
+ },
+});
\ No newline at end of file
diff --git a/mycomponent/yz_pay_buttons/yz_pay_buttons.js b/mycomponent/yz_pay_buttons/yz_pay_buttons.js
new file mode 100644
index 0000000..67dbb02
--- /dev/null
+++ b/mycomponent/yz_pay_buttons/yz_pay_buttons.js
@@ -0,0 +1,70 @@
+// mycomponent/yz_pay_buttons/yz_pay_buttons.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ money: {
+ type: null
+ },
+ buttons: {
+ type: null
+ },
+ balance: {
+ type: null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ confirmPayText: '确定',
+ radio: '',
+ submitArr: ''
+ },
+ observers: {
+ 'buttons': function (_data) {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ });
+ this.setData({
+ radio: _data[0] ? (_data[0].value ? _data[0].value : '') : '',
+ submitArr: _data[0] ? (_data[0] ? _data[0] : '') : ''
+ });
+ if (_data && _data.constructor === Array && _data.length > 0) {
+ _data.map(item => {
+ if (item.value == 54) {
+ this.setData({
+ confirmPayText: item.name || '确定'
+ });
+ }
+ });
+ }
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onChange(e) {
+ let _data = this.data.buttons;
+ for (let key in _data) {
+ if (e.detail == _data[key].value) {
+ this.setData({
+ radio: _data[key].value,
+ submitArr: _data[key]
+ });
+ }
+ }
+ // console.log(this.data.radio,this.data.submitArr)
+ },
+ confirm(e) {
+ this.triggerEvent('isPushHome', {
+ 'radio': this.data.radio,
+ 'submitArr': this.data.submitArr
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/mycomponent/yz_pay_buttons/yz_pay_buttons.json b/mycomponent/yz_pay_buttons/yz_pay_buttons.json
new file mode 100644
index 0000000..fbebc25
--- /dev/null
+++ b/mycomponent/yz_pay_buttons/yz_pay_buttons.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-radio-group":"/dist/radio-group/index",
+ "van-radio":"/dist/radio/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/yz_pay_buttons/yz_pay_buttons.wxml b/mycomponent/yz_pay_buttons/yz_pay_buttons.wxml
new file mode 100644
index 0000000..191d7a9
--- /dev/null
+++ b/mycomponent/yz_pay_buttons/yz_pay_buttons.wxml
@@ -0,0 +1,26 @@
+
+
+ {{confirmPayText}}
+ 支付方式
+
+
+
+
+
+
+ {{item.name}}
+
+ {{item.name}}
+ 可用{{balance}}{{language['元']}}
+
+
+
+
+
+
+
+
+
+
+ 立即支付
+
diff --git a/mycomponent/yz_pay_buttons/yz_pay_buttons.wxss b/mycomponent/yz_pay_buttons/yz_pay_buttons.wxss
new file mode 100644
index 0000000..b18ad97
--- /dev/null
+++ b/mycomponent/yz_pay_buttons/yz_pay_buttons.wxss
@@ -0,0 +1,107 @@
+/* mycomponent/yz_pay_buttons/yz_pay_buttons.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.btna {
+ margin: 0 30rpx;
+ background: #fff;
+ border-radius: 14rpx;
+ overflow: hidden;
+ margin-bottom: 180rpx;
+}
+
+.sureBtn {
+ background: #ff5d5c;
+ color: white;
+ width: 85%;
+ margin: 20rpx auto;
+ padding: 14rpx;
+ border-radius: 20rpx;
+ text-align: center;
+ font-size: 32rpx;
+}
+
+.btnaTitle {
+ height: 90rpx;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ font-size: 28rpx;
+ color: rgba(248, 110, 110, 1);
+ font-weight: normal;
+ font-stretch: normal;
+ margin-left: 20rpx;
+}
+
+.btnaTitle text {
+ width: 6rpx;
+ height: 28rpx;
+ background-color: rgba(248, 112, 112, 1);
+ margin-right: 26rpx;
+}
+
+.btn-area {
+ height: 130rpx;
+ margin-right: 20rpx;
+ margin-left: 20rpx;
+ border-bottom: 1rpx solid rgba(241, 241, 241, 1);
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.dBtn {
+ position: relative;
+}
+
+/* button{
+ font-size: 24rpx;
+ color: rgba(51, 51, 51, 1);
+ height: 90rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin: 0;
+ padding: 0;
+}
+button view{
+ float: left;
+ left: 0;
+}
+button van-icon{
+ float: right;
+ right: 0;
+} */
+icon {
+ font-size: 46rpx;
+ color: #c9c9c9;
+ margin-top: -3rpx;
+ margin-left: 5rpx;
+ margin-right: 28rpx;
+}
+
+.conText {
+ font-size: 32rpx;
+ color: rgba(51, 51, 51, 1);
+}
+
+van-icon {
+ color: rgba(153, 153, 153, 1);
+ margin-right: 13rpx;
+}
+
+.conZFbtn {
+ width: 80%;
+ height: 90rpx;
+ background-color: #f15353;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 0 auto;
+ margin-top: 30rpx;
+ color: #fff;
+ margin-bottom: 50rpx;
+ position: fixed;
+ left: 10%;
+ bottom: 20rpx;
+}
diff --git a/mycomponent/yz_specs/yz_specs.js b/mycomponent/yz_specs/yz_specs.js
new file mode 100644
index 0000000..3079449
--- /dev/null
+++ b/mycomponent/yz_specs/yz_specs.js
@@ -0,0 +1,465 @@
+var app = getApp();
+
+Component({
+ // 目前组件,只接受时间戳,其他的没有做
+ // 现在的时间,和结束时间,都必须从后台获取,因为客户端时间不一致
+ properties: {
+ goodsInfo: {
+ type: Object
+ },
+ },
+ data: {
+ language: '',
+
+ // 规格 -------
+ optionsId: 0, //选择后的 规格ID
+ goodsCount: 1,
+ optionsMaxCount: 1,
+ popupSpecs1: false,
+ popupSpecs2: false, //无规格选择商品数量
+ popThumb: "",
+ popStock: 0,
+ popPrice: 0,
+ specsManage: [], //选择池 用于排序
+ goodsDescription: "",
+ popupModeshow: true, //动态模糊框
+ // 规格end
+
+ skuImages: [],
+ showSkuImages: false,
+ activeSkuIndex: 0,
+ activeSkuIndex_1: '',//用于关闭时保存点击预览前的序号,在预览关闭时重新设置预览起始位置
+ activeSkuIndex_2: '',
+ },
+ lifetimes: {
+ attached: function() {
+ // 在组件实例进入页面节点树时执行
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en,
+ specsManage: [],
+ optionsId: 0,
+ popupSpecs1: true
+ });
+ this.initPopView();
+ },
+ detached: function() {
+ // 在组件实例被从页面节点树移除时执行
+ },
+ },
+ methods: {
+ //提交确认
+ submitAction() {
+ if (this.data.goodsInfo.has_option == 1 && !this.data.optionsId) {
+ wx.showToast({
+ icon: 'none',
+ title: '规格id不可为空,请选择规格!',
+ duration: 1500
+ });
+ return;
+ }
+ //点击关闭 clicktype为1:确认按钮 ,为0:关闭弹窗操作
+ this.triggerEvent('closeSpecsPopup',{optionsId: this.data.optionsId, goodsCount: this.data.goodsCount, clicktype: 1});
+
+ },
+ //关闭popupSpecs
+ popupSpecsbtn() {
+ this.setData({
+ popupSpecs1: false,
+ popupModeshow: true
+ });
+ this.triggerEvent('closeSpecsPopup',{clicktype: 0});
+ },
+ //初始化弹窗view
+ initPopView() {
+ if (this.data.goodsInfo.has_option == 1) {
+ this.setData({
+ popPrice: this.data.goodsInfo.min_price + "-" + this.data.goodsInfo.max_price, //设置默认价格
+ popThumb: this.data.goodsInfo.thumb, //设置默认图片
+ popStock: this.data.goodsInfo.stock, //设置默认库存
+ goodsDescription: "选择"
+ });
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.setData({
+ goodsDescription: this.data.goodsDescription + " " + this.data.goodsInfo.has_many_specs[i].title
+ });
+ }
+ let _optionArr = [];
+ this.data.goodsInfo.has_many_options.forEach((val, index) => {
+ let _thumb = val.thumb !='' ? val.thumb : this.data.goodsInfo.thumb;
+ _optionArr.push(_thumb);
+ });
+ this.setData({
+ skuImages: _optionArr
+ });
+
+ if (!this.data.optionsId) {
+ // 默认选择第一个
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.data.goodsInfo.has_many_specs[i].description = this.data.goodsInfo.has_many_specs[i].specitem[0].id;
+
+ this.selectSpecs(this.data.goodsInfo.has_many_specs[i].specitem[0], 'first', i);
+ }
+ }
+
+ } else {
+ let __optionArr2 = [];
+ __optionArr2.push(this.data.goodsInfo.thumb);
+ this.setData({
+ popThumb: this.data.goodsInfo.thumb, //设置默认图片
+ popStock: this.data.goodsInfo.stock, //设置默认库存
+ popPrice: this.data.goodsInfo.price, //设置默认价格
+ goodsDescription: '',
+ optionsMaxCount: this.data.goodsInfo.stock,
+ skuImages: __optionArr2
+ });
+ }
+ },
+
+ // 输入数量
+ inputGoodsNum: function(e) {
+ var num = parseInt(e.detail.value);
+ var lastgoodsCount = this.data.goodsCount;
+ if (e.detail.keyCode == 8) {
+ if (app._isTextEmpty(e.detail.value)) {
+ this.setData({
+ goodsCount: ''
+ });
+ return;
+ }
+ }
+ if (num) {
+ this.setData({
+ goodsCount: num
+ });
+ } else {
+ this.setData({
+ goodsCount: lastgoodsCount
+ });
+ }
+ },
+ //减少
+ reduceGoods() {
+ let lastgoodsCount = this.data.goodsCount;
+ if (this.data.goodsCount == 1 || this.data.goodsCount == 0) {
+ return;
+ }
+ this.setData({
+ goodsCount: lastgoodsCount - 1
+ });
+
+ },
+ //增加
+ addGoods() {
+ let lastgoodsCount = this.data.goodsCount;
+ let specsManage = this.data.specsManage;
+ let optionsMaxCount = this.data.optionsMaxCount;
+ console.log("增加");
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length && this.data.goodsCount == optionsMaxCount) {
+ console.log("数量超出范围");
+ wx.showToast({
+ icon: 'none',
+ title: '数量超出范围',
+ duration: 1500
+ });
+ console.log("max=" + this.data.goodsCount);
+ return;
+ }
+ this.setData({
+ goodsCount: lastgoodsCount + 1
+ });
+
+ },
+ //界面选择规格触发事件
+ selectSpecs(e, str, i) {
+ let data = {};
+ let specsIdex = 0;
+ if (str == 'first') {
+ specsIdex = i;
+ data = e;
+ } else if(str =="sku_swiper"){
+ data = e;
+ } else {
+ specsIdex = e.currentTarget.dataset.specsidex;
+ data = e.currentTarget.dataset.specitem;
+ }
+
+ if (data.c) {
+ return false;
+ }
+ this.setData({
+ ["goodsInfo.has_many_specs[" + specsIdex + "].description"]: data.id
+ });
+ // let specid = data.specid; //对其他数据筛选 不筛选同级
+ //处理选择池
+ this.manageSpecs(data);
+ //处理规格组合选择状态
+ this.setGoodsSpecs(data);
+ //设置选择规格后的 价格、照片、库存
+ this.setGoodsSpecsChangeInfo();
+ //判断当前购买总量与库存的关系
+ this.getMaxCount();
+ },
+ //处理选择池
+ manageSpecs(data) {
+ let specsObject = new Object();
+ let specsManage = this.data.specsManage;
+ specsObject.id = data.id;
+ specsObject.specid = data.specid;
+ specsObject.title = data.title;
+
+ if (specsManage.length > 0) {
+ for (let i = 0; i < specsManage.length; i++) {
+ if (specsManage[i].specid == specsObject.specid) {
+ specsManage.splice(i, 1);
+ }
+ }
+ specsManage.push(specsObject);
+ } else {
+ specsManage.push(specsObject);
+ }
+
+ //排序
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ var newSpecsManage = [];
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.goodsInfo.has_many_specs[i].id == specsManage[j].specid) {
+ newSpecsManage.push(specsManage[j]);
+ break;
+ }
+ }
+ }
+ specsManage = newSpecsManage;
+ }
+ this.setData({
+ specsManage: specsManage
+ });
+ this.setGoodsDescription();
+ },
+ //处理goodsDescription 数据
+ setGoodsDescription() {
+ let description = "";
+ let specsManage = this.data.specsManage;
+ //相等代表全选了 体现语句
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ description = "已选择 ";
+ for (let i = 0; i < specsManage.length; i++) {
+ description += specsManage[i].title + " ";
+ }
+ this.setData({
+ goodsDescription: description
+ });
+ } else {
+ description = "请选择 ";
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.goodsInfo.has_many_specs[i].id != specsManage[j].specid) {
+ description += this.data.goodsInfo.has_many_specs[i].title + " ";
+ break;
+ }
+ }
+ }
+ this.setData({
+ goodsDescription: description
+ });
+ }
+ },
+ //处理规格组合选择状态 过滤数据
+ setGoodsSpecs(specs) {
+ // let goodsInfo = this.data.goodsInfo;
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ if (specs.specid != this.data.goodsInfo.has_many_specs[i].id) {
+ // let specitem = this.setGoodsSpecsStatus(this.data.goodsInfo.has_many_specs[i].specitem, specs.id);
+ // this.setData({
+ // ["goodsInfo.has_many_specs[" + i + "].specitem"]: specitem
+ // })
+ }
+ }
+ },
+ //处理规格组合选择状态 处理状态 specitem 组合数组(未选中的) id当前选中的ID 根据ID 组合算是否有当前组合
+ setGoodsSpecsStatus(specitem, id) {
+ let options = []; //数据池
+ for (let i = 0; i < this.data.goodsInfo.has_many_options.length; i++) {
+ let _specs = this.data.goodsInfo.has_many_options[i].specs.split("_");
+ //console.log(_specs);
+ //判断是否包含
+ for (let j = 0; j < _specs.length; j++) {
+ if (_specs[j] == id) {
+ options.push(this.data.goodsInfo.has_many_options[i]);
+ return;
+ }
+ }
+ }
+ //关键处理方式 后期要优化 效率低
+ for (let m = 0; m < options.length; m++) {
+ let _specs = options[m].specs.split("_");
+ for (let y = 0; y < _specs.length; y++) {
+ if (_specs[y] != id && options[m].stock == 0) {
+ for (let n = 0; n < specitem.length; n++) {
+ if (_specs[y] == specitem[n].id) {
+ specitem[n].c = true;
+ }
+ }
+ } else if (_specs[y] != id && options[m].stock > 0) {
+ for (let n = 0; n < specitem.length; n++) {
+ if (_specs[y] == specitem[n].id) {
+ specitem[n].c = false;
+ }
+ }
+ }
+ }
+ }
+ return specitem;
+ },
+ //设置选择规格后的 价格、照片、库存
+ setGoodsSpecsChangeInfo() {
+ let specsManage = this.data.specsManage;
+ //根据ID 排序 specsManage.sort();
+ specsManage.sort(function(a, b) {
+ return a.id - b.id;
+ });
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ let goodsSpecs = "";
+ for (let j = 0; j < specsManage.length; j++) {
+ goodsSpecs += specsManage[j].id + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+ for (let i = 0; i < this.data.goodsInfo.has_many_options.length; i++) {
+ if (goodsSpecs == this.setGoodsSpecsBySort(this.data.goodsInfo.has_many_options[i].specs)) {
+ this.setData({
+ activeSkuIndex:i,
+ popPrice: this.data.goodsInfo.has_many_options[i].product_price, //设置价格
+ popThumb: app._isTextEmpty(this.data.goodsInfo.has_many_options[i].thumb) ? this.data.goodsInfo.thumb : this
+ .data.goodsInfo.has_many_options[i].thumb, //设置图片
+ popStock: this.data.goodsInfo.has_many_options[i].stock, //设置库存
+ optionsId: this.data.goodsInfo.has_many_options[i].id //设置规格ID,用于生成订单
+ });
+ this.data.optionsMaxCount = this.data.goodsInfo.has_many_options[i].stock; //库存最大数 用于切换更改买家购买数量
+ if (this.data.optionsMaxCount > 0) {
+ this.setData({
+ goodsCount: 1
+ });
+ }
+
+ break;
+ }
+ }
+ }
+
+ this.setData({
+ specsManage: specsManage
+ });
+ },
+ //处理商品goodsSpecs 并排序 新方法
+ setGoodsSpecsBySort(specs) {
+ let _specs = specs.split("_"); //先变成数组
+ //_specs.sort();//排序
+ _specs.sort(function(a, b) {
+ return a - b;
+ });
+ // 在组装回去
+ let goodsSpecs = "";
+ for (let j = 0; j < _specs.length; j++) {
+ goodsSpecs += _specs[j] + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+ return goodsSpecs;
+ },
+ //判断当前购买总量与库存的关系
+ getMaxCount() {
+ let specsManage = this.data.specsManage;
+ let optionsMaxCount = this.data.optionsMaxCount;
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ if (optionsMaxCount == 0) //库存不足
+ {
+ this.setData({
+ goodsCount: 0
+ });
+ }
+ if (this.data.goodsCount > optionsMaxCount) {
+ this.setData({
+ goodsCount: optionsMaxCount
+ });
+ }
+ }
+ },
+ //============ 处理规格图片点击放大 start============
+ showSkuImages_Methob() {
+ this.setData({
+ popupSpecs1: false,
+ popupSpecs2: false,
+ popupModeshow: true,
+ showSkuImages: true
+ });
+ if (this.data.goodsInfo.has_option != 1) {
+ return;
+ }
+ this.setData({
+ activeSkuIndex_1: this.data.goodsInfo.has_many_options[this.data.activeSkuIndex].specs
+ });
+
+ },
+ onChangeSkuImagesIndex(e) {
+ let _index = e.detail.current;
+ this.setData({
+ activeSkuIndex: _index
+ });
+ if (this.data.goodsInfo.has_option != 1) {
+ return;
+ }
+ this.setData({
+ activeSkuIndex_2: this.data.goodsInfo.has_many_options[_index].specs
+ });
+
+ },
+ onCloseSkuImages() {
+ if (this.data.goodsInfo.has_option != 1) {
+ this.setData({
+ popupSpecs2: true,
+ popupModeshow: false,
+ showSkuImages: false
+ });
+ return;
+ }
+ let that = this;
+ let _lastOption = that.data.activeSkuIndex_1.split("_");
+ let goodsInfo = that.data.goodsInfo;
+ let _activeSkuIndex = that.data.activeSkuIndex;
+
+ if (that.data.activeSkuIndex_1 != that.data.goodsInfo.has_many_options[_activeSkuIndex].specs) {
+ let _activeOption = that.data.activeSkuIndex_2.split("_");//如果没有滑动直接取值是取不到报错的
+ for (let i = 0; i < _lastOption.length; i++) {
+ if (_lastOption[i] != _activeOption[i]) {
+ let _specs = Number(_activeOption[i]);
+ for (let ind = 0; ind < that.data.goodsInfo.has_many_specs.length; ind++) {
+ for (let index = 0; index < that.data.goodsInfo.has_many_specs[ind].specitem.length; index++) {
+ if (that.data.goodsInfo.has_many_specs[ind].specitem[index].id == _specs) {
+ goodsInfo.has_many_specs[ind].description = that.data.goodsInfo.has_many_specs[ind].specitem[index].id;
+ // that.selectSpecs(that.data.goodsInfo.has_many_specs[ind].specitem[index],"sku_swiper")
+ }
+ }
+ }
+ }
+ }
+ }
+
+ console.log(that.data.activeSkuIndex_1,"that.data.activeSkuIndex_1");
+
+ this.setData({
+ goodsInfo: goodsInfo,
+ showSkuImages: false,
+ popupSpecs1: true,
+ popupModeshow: false,
+
+ popPrice: this.data.goodsInfo.has_many_options[_activeSkuIndex].product_price, //设置价格
+ popThumb: app._isTextEmpty(this.data.goodsInfo.has_many_options[_activeSkuIndex].thumb) ? this.data.goodsInfo.thumb : this
+ .data.goodsInfo.has_many_options[_activeSkuIndex].thumb, //设置图片
+ popStock: this.data.goodsInfo.has_many_options[_activeSkuIndex].stock, //设置库存
+ optionsId: this.data.goodsInfo.has_many_options[_activeSkuIndex].id //设置规格ID,用于生成订单
+ });
+
+ },
+ //============ 处理规格图片点击放大 end============
+ }
+});
diff --git a/mycomponent/yz_specs/yz_specs.json b/mycomponent/yz_specs/yz_specs.json
new file mode 100644
index 0000000..b02996f
--- /dev/null
+++ b/mycomponent/yz_specs/yz_specs.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../../dist/icon/index",
+ "van-popup": "../../dist/popup/index"
+ }
+}
diff --git a/mycomponent/yz_specs/yz_specs.wxml b/mycomponent/yz_specs/yz_specs.wxml
new file mode 100644
index 0000000..4f261f2
--- /dev/null
+++ b/mycomponent/yz_specs/yz_specs.wxml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{language['money']}}{{goodsInfo.has_many_options[activeSkuIndex].product_price}}
+ {{language['money']}}{{goodsInfo.price}}
+ {{activeSkuIndex+1}}/{{skuImages.length}}
+
+
+
diff --git a/mycomponent/yz_specs/yz_specs.wxss b/mycomponent/yz_specs/yz_specs.wxss
new file mode 100644
index 0000000..4af7a08
--- /dev/null
+++ b/mycomponent/yz_specs/yz_specs.wxss
@@ -0,0 +1,303 @@
+
+.popupMode {
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ opacity: 0.5;
+ background: #000;
+ z-index: 999;
+ transition: 0.6s ease-out;
+}
+
+.popupModeShow {
+ opacity: 0;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 1001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode_1 {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 2001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode_2 {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 2001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode .specifications {
+ display: none;
+ overflow: visible;
+ position: relative;
+ width: 100%;
+ padding-top: 20rpx;
+}
+
+.shadeMode_2 .specifications {
+ overflow: visible;
+ position: relative;
+ width: 100%;
+ padding-top: 20rpx;
+}
+
+.shadeModeShow {
+ bottom: 0;
+ border-radius: 30rpx 30rpx 0 0;
+}
+
+.shadeModeShow .specifications {
+ display: block;
+}
+
+.specifications .icon_close {
+ position: absolute;
+ top: -40rpx;
+ right: 0;
+ width: 80rpx;
+ height: 100rpx;
+}
+
+.specifications .icon_close .guanbi_icon {
+ position: absolute;
+ left: 25%;
+ top: 50%;
+ width: 40rpx;
+}
+
+.specifications .shopimg {
+ display: flex;
+ overflow: visible;
+}
+
+.specifications .shopimg .chooser_img {
+ position: relative;
+ width: 180rpx;
+ height: 150rpx;
+ overflow: visible;
+}
+
+.specifications .shopimg .chooser_img image {
+ position: absolute;
+ top: -70rpx;
+ left: 20rpx;
+ width: 100%;
+ height: 180rpx;
+ border-radius: 8rpx;
+ border: 2rpx solid #f0f1f3;
+}
+
+.specifications .shopimg .right {
+ width: 440rpx;
+ margin-left: 60rpx;
+}
+
+.specifications .shopimg .price {
+ color: #f15353;
+ font-size: 32rpx;
+ line-height: 60rpx;
+
+ /* height: 60rpx; */
+
+ /* overflow: hidden; */
+}
+
+.specifications .shopimg .price text {
+ font-size: 36rpx;
+}
+
+.specifications .shopimg .option {
+ color: #999;
+ font-size: 20rpx;
+ line-height: 32rpx;
+
+ /* height: 32rpx; */
+
+ /* overflow: hidden; */
+}
+
+.specifications .goodsnum {
+ border-top: solid 2rpx #f2f2f2;
+ border-bottom: solid 2rpx #f2f2f2;
+ margin: 40rpx 28rpx;
+ padding: 0;
+ font-size: 28rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+.specifications .goodsnum .num {
+ height: 120rpx;
+ line-height: 120rpx;
+}
+
+.specifications .goodsnum .calculation {
+ display: flex;
+ margin-top: 32rpx;
+ border-radius: 4rpx;
+ background-color: #fff;
+}
+
+.specifications .goodsnum .calculation .leftnav {
+ height: 56rpx;
+ width: 56rpx;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 4rpx;
+ line-height: 56rpx;
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.specifications .goodsnum .calculation .shownum {
+ height: 56rpx;
+ width: 56rpx;
+ border: 0;
+ margin: 0px 8px ;
+ padding: 0;
+ text-align: center;
+ color: #333;
+}
+
+.specifications .goodsnum .calculation .rightnav {
+ height: 56rpx;
+ width: 56rpx;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 4rpx;
+ line-height: 56rpx;
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.specifications .shopinfoContent {
+ overflow-y: auto;
+ max-height: 450rpx;
+}
+
+.specifications .shopinfo {
+ text-align: left;
+ padding-left: 20rpx;
+ margin: 20rpx 0;
+
+ /* max-height: 200rpx;
+ overflow: scroll; */
+}
+
+.specifications .shopinfo .dl .dt {
+ margin-bottom: 10rpx;
+}
+
+.specifications .shopinfo .dl .dd {
+ margin-bottom: 10rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.specifications .shopinfo .dl .dd .spec {
+ border: 1px solid #bfcbd9;
+ padding: 10rpx;
+ min-width: 50rpx;
+ border-radius: 6rpx;
+ margin-right: 10rpx;
+ margin-bottom: 10rpx;
+ text-align: center;
+}
+
+.specifications .shopinfo .dl .dd .spec.sele {
+ background-color: #f15353;
+ border-color: #f15353;
+ color: #fff;
+}
+
+.specifications .shopinfo .dl .dd .spec.disab {
+ opacity: 0.5;
+}
+
+.specifications .subbtn {
+ line-height: 100rpx;
+ width: 94%;
+ border-radius: 10rpx;
+ margin: 0 auto 10rpx auto;
+ text-align: center;
+ background: #ee0a24;
+ color: #fff;
+ font-size: 30rpx;
+}
+
+/* 图片弹窗 */
+
+.sku_swiper {
+ position: relative;
+
+ /* top: 50%;
+ left: 0; */
+ width: 100vw;
+ height: 760rpx;
+
+ /* transform: translateY(-50%) */
+}
+
+.sku_swiper_child {
+ width: 100%;
+ height: 760rpx !important;
+ display: flex;
+ align-items: center;
+}
+
+.sku_swiper_child image {
+ width: 100%;
+}
+
+.sku_other {
+ margin-top: 12rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+}
+
+.sku_title {
+ flex: 1;
+ font-size: 32rpx;
+ text-align: center;
+}
+
+.swiper_num {
+ width: 80rpx;
+ display: block;
+ text-align: center;
+}
diff --git a/mycomponent/yz_specsV2/yz_specs.js b/mycomponent/yz_specsV2/yz_specs.js
new file mode 100644
index 0000000..0719ada
--- /dev/null
+++ b/mycomponent/yz_specsV2/yz_specs.js
@@ -0,0 +1,381 @@
+// packageI/groupWork/components/yz_specsV2/yz_specs.js
+var specsManage = []; //选择池 用于排序
+var optionsId = 0; //选择后的 规格ID
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ options: {
+ multipleSlots: true // 在组件定义时的选项中启用多slot支持
+ },
+ properties: {
+ show: {
+ type: Boolean,
+ value: false
+ },
+ isRent: {
+ type: Boolean,
+ value: false
+ },
+ //主题色
+ themeColor: {
+ type: String,
+ value: "#f14e4e"
+ },
+ goods: {
+ type: Object,
+ value: () => ({})
+ },
+ goodSpecs: {
+ type: Array,
+ value: () => []
+ },
+ options: {
+ type: Array,
+ value: () => []
+ },
+ disableStepperInput: {
+ type: Boolean, //是否禁用步进器输入
+ value: false
+ },
+ quota: {
+ type: Number,
+ value: -1 //限购数,-1按库存设置限购数,0不限购
+ },
+ startSaleNum: {
+ type: Number,
+ value: 1 //起售数量
+ },
+ hiddenBuyBtn: {
+ type: Boolean, //是否隐藏默认购买按钮
+ value: false
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ popThumb: "", //顶部商品图片
+ popPrice: "", //顶部商品价格
+ popStock: "", //顶部商品库存
+ popDescription: "", //顶部商品描述
+ popUnit: "", //单位
+ optionsMaxCount: 0, //库存
+ selectedNum: 1, // 选择的商品数量
+
+ skuImages: [],
+ specs: []
+ },
+ observers: {
+ show(newV,oldV) {
+ if (newV) {
+ this.initPopView();
+ }
+ },
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ initPopView() {
+ //初始化顶部商品信息
+ console.log("初始化顶部商品信息", this.data.goods);
+ this.setData({
+ popThumb: this.data.goods.hasOwnProperty("thumb") ? this.data.goods.thumb : "",
+ popPrice: this.data.goods.hasOwnProperty("price") ? this.data.goods.price : "",
+ popStock: this.data.goods.hasOwnProperty("stock") ? this.data.goods.stock : null,
+ popUnit: this.data.goods.hasOwnProperty("unit") ? this.data.goods.unit : "",
+ specs: this.data.goodSpecs,
+ popDescription: null
+ });
+
+ specsManage = [];
+ optionsId = 0;
+
+ this.initSkuIMG();
+ this.initSku();
+ },
+ initSku() {
+ //默认选择第一个
+ if (this.data.goods.has_option == 1) {
+ console.log("00000000000",this.data.specs,this.data.options);
+ if (this.data.specs.length==0 || this.data.options.length==0) return;
+ console.log("sssssssssss");
+ this.data.options.forEach((val, index) => {
+ let _thumb = !app._isTextEmpty(val.thumb) ? val.thumb : this.data.goods.thumb;
+ this.data.skuImages.push(_thumb);
+ });
+ // 默认选择第一个
+ for (let i = 0; i < this.data.specs.length; i++) {
+ this.data.specs[i].description = this.data.specs[i].specitem[0];
+ console.log("1111111111111111111");
+ // this.selectSpecs(this.data.specs[i].specitem[0]);
+ this.selectSpecs(this.data.specs[i].specitem[0], 'first', i);
+ }
+ } else {
+ this.data.goods.thumb&&this.data.skuImages.push(this.data.goods.thumb);
+ }
+ this.setData({
+ skuImages: this.data.skuImages,
+ specs: this.data.specs,
+ optionsMaxCount: this.data.popStock
+ });
+ },
+ getSkuData() {
+ let skuData = {
+ price: this.data.popPrice,
+ stock: this.data.popStock,
+ selectedNum: this.data.selectedNum,
+ has_option: this.data.goods.has_option,
+ optionsId: optionsId
+ };
+ return skuData;
+ },
+ buyClicked() {
+ //点击购买触发
+ this.triggerEvent("buy-clicked", this.getSkuData());
+ },
+ stepperPlus() {
+ this.triggerEvent("stepper-plus", this.getSkuData());
+ },
+ stepperMinus() {
+ this.triggerEvent("stepper-minus", this.getSkuData());
+ },
+ stepperChange() {
+ this.triggerEvent("stepper-change", this.getSkuData());
+ },
+ setPrice(e) {
+ //设置价格
+ if (e) {
+ this.setData({
+ popPrice: e
+ });
+ }
+ },
+ setStock(e) {
+ //设置库存
+ if (e) {
+ this.setData({
+ popStock: e
+ });
+ }
+ },
+
+ //界面选择规格触发事件
+ selectSpecs(e, str, i) {
+ let data = {};
+ let specsIdex = 0;
+ if (str == 'first') {
+ specsIdex = i;
+ data = e;
+ } else if(str =="sku_swiper"){
+ data = e;
+ } else {
+ specsIdex = e.currentTarget.dataset.specsidex;
+ data = e.currentTarget.dataset.specitem;
+ }
+
+ if (data.c) {
+ return false;
+ }
+ this.setData({
+ ["specs[" + specsIdex + "].description"]: data.id
+ });
+ this.manageSpecs(data); //处理选择池
+ this.setGoodsSpecs(data); //处理规格组合选择状态
+ this.setGoodsSpecsChangeInfo(); //设置选择规格后的 价格、照片、库存
+ this.getMaxCount(); //判断当前购买总量与库存的关系
+ },
+ //处理选择池
+ manageSpecs(data) {
+ var specsObject = {};
+ specsObject.id = data.id;
+ specsObject.specid = data.specid;
+ specsObject.title = data.title;
+
+ if (specsManage.length > 0) {
+ for (let i = 0; i < specsManage.length; i++) {
+ if (specsManage[i].specid == specsObject.specid) {
+ specsManage.splice(i, 1);
+ }
+ }
+ specsManage.push(specsObject);
+ } else {
+ specsManage.push(specsObject);
+ }
+
+ //排序
+ if (specsManage.length == this.data.specs.length) {
+ var newSpecsManage = [];
+ for (let i = 0; i < this.data.specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.specs[i].id == specsManage[j].specid) {
+ newSpecsManage.push(specsManage[j]);
+ break;
+ }
+ }
+ }
+ specsManage = newSpecsManage;
+ }
+ this.setGoodsDescription();
+ },
+
+ //处理goodsDescription 数据
+ setGoodsDescription() {
+ var description = "";
+ //相等代表全选了 体现语句
+ if (specsManage.length == this.data.specs.length) {
+ description = "已选择 ";
+ for (let i = 0; i < specsManage.length; i++) {
+ description += specsManage[i].title + " ";
+ }
+ } else {
+ description = "请选择 ";
+ for (let i = 0; i < this.data.specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.specs[i].id != specsManage[j].specid) {
+ description += this.data.specs[i].title + " ";
+ break;
+ }
+ }
+ }
+ }
+ this.setData({
+ popDescription: description
+ });
+ },
+ //处理规格组合选择状态 过滤数据
+ setGoodsSpecs(specs) {
+ for (let i = 0; i < this.data.specs.length; i++) {
+ if (specs.specid != this.data.specs[i].id) {
+ this.setGoodsSpecsStatus(this.data.specs[i].specitem, specs.id);
+ }
+ }
+ },
+ //处理规格组合选择状态 处理状态 specitem 组合数组(未选中的) id当前选中的ID 根据ID 组合算是否有当前组合
+ setGoodsSpecsStatus(specitem, id) {
+ // console.log(specitem);
+ // console.log(id);
+ let options = []; //数据池
+
+ for (let i = 0; i < this.data.options.length; i++) {
+ // console.log(this.options[i].specs);
+ let _specs = this.data.options[i].specs.split("_");
+ //console.log(_specs);
+ //判断是否包含
+ for (let j = 0; j < _specs.length; j++) {
+ if (_specs[j] == id) {
+ options.push(this.data.options[i]);
+ return;
+ }
+ }
+ }
+
+ //关键处理方式 后期要优化 效率低
+ for (let m = 0; m < options.length; m++) {
+ let _specs = options[m].specs.split("_");
+ for (let y = 0; y < _specs.length; y++) {
+ if (_specs[y] != id && options[m].stock == 0) {
+ for (let n = 0; n < specitem.length; n++) {
+ if (_specs[y] == specitem[n].id) {
+ specitem[n].c = true;
+ return;
+ }
+ }
+ } else if (_specs[y] != id && options[m].stock > 0) {
+ for (let n = 0; n < specitem.length; n++) {
+ if (_specs[y] == specitem[n].id) {
+ specitem[n].c = false;
+ return;
+ }
+ }
+ }
+ }
+ }
+
+ console.log(options);
+ },
+ //设置选择规格后的 价格、照片、库存
+ setGoodsSpecsChangeInfo() {
+ //根据ID 排序 specsManage.sort();
+ specsManage.sort(function(a, b) {
+ return a.id - b.id;
+ });
+ if (specsManage.length == this.data.specs.length) {
+ let goodsSpecs = "";
+ for (let j = 0; j < specsManage.length; j++) {
+ goodsSpecs += specsManage[j].id + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+ // console.log('goodsSpecs', goodsSpecs)
+ for (let i = 0; i < this.data.options.length; i++) {
+ if (goodsSpecs == this.setGoodsSpecsBySort(this.data.options[i].specs)) {
+ this.setData({
+ activeSkuIndex: i,
+ popPrice: this.data.options[i].product_price, //设置价格
+ popThumb: app._isTextEmpty(this.data.options[i].thumb) ? this.data.goods.thumb : this.data.options[i].thumb, //设置图片
+ popStock: this.data.options[i].stock, //设置库存
+ optionsMaxCount: this.data.options[i].stock//库存最大数 用于切换更改买家购买数量
+ });
+ optionsId = this.data.options[i].id; //设置规格ID,用于生成订单
+
+ if (this.data.optionsMaxCount > 0) {
+ this.setData({
+ popNum: 1,
+ goodsCount: 1
+ });
+ }
+ console.log("=================",optionsId);
+ this.triggerEvent("sku-selected", optionsId);
+ break;
+ }
+ }
+ }
+ },
+ //处理商品goodsSpecs 并排序 新方法
+ setGoodsSpecsBySort(specs) {
+ let _specs = specs.split("_"); //先变成数组
+ //_specs.sort();//排序
+ _specs.sort(function(a, b) {
+ return a - b;
+ });
+
+ // 在组装回去
+ let goodsSpecs = "";
+ for (let j = 0; j < _specs.length; j++) {
+ goodsSpecs += _specs[j] + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+
+ return goodsSpecs;
+ },
+
+ //判断当前购买总量与库存的关系
+ getMaxCount() {
+ if (specsManage.length == this.data.specs.length) {
+ // console.log(optionsMaxCount);
+ // console.log(this.goodsCount);
+ if (this.data.optionsMaxCount == 0) {
+ //库存不足
+ this.data.goodsCount = 0;
+ }
+ if (this.data.goodsCount > this.data.optionsMaxCount) {
+ this.data.goodsCount = this.data.optionsMaxCount;
+ }
+ this.setData({
+ goodsCount: this.data.goodsCount
+ });
+ }
+ },
+ close() {
+ this.setData({
+ show: false
+ });
+ },
+
+ initSkuIMG(){}
+ }
+});
diff --git a/mycomponent/yz_specsV2/yz_specs.json b/mycomponent/yz_specsV2/yz_specs.json
new file mode 100644
index 0000000..e96c72f
--- /dev/null
+++ b/mycomponent/yz_specsV2/yz_specs.json
@@ -0,0 +1,11 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "/dist/icon/index",
+ "van-popup": "/dist/popup/index",
+ "van-row": "/dist/row/index",
+ "van-col": "/dist/col/index",
+ "van-stepper": "/dist/stepper/index",
+ "van-button": "/dist/button/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/yz_specsV2/yz_specs.wxml b/mycomponent/yz_specsV2/yz_specs.wxml
new file mode 100644
index 0000000..9896814
--- /dev/null
+++ b/mycomponent/yz_specsV2/yz_specs.wxml
@@ -0,0 +1,84 @@
+
+
\ No newline at end of file
diff --git a/mycomponent/yz_specsV2/yz_specs.wxss b/mycomponent/yz_specsV2/yz_specs.wxss
new file mode 100644
index 0000000..ef67a3c
--- /dev/null
+++ b/mycomponent/yz_specsV2/yz_specs.wxss
@@ -0,0 +1,255 @@
+/* packageI/groupWork/components/yz_specsV2/yz_specs.wxss */
+.yz_specs .noVantRadio .van-radio-group {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.yz_specs .noVantRadio .van-radio-group .van-radio {
+ margin-right: 0.3125rem;
+ margin-bottom: 0.3125rem;
+ background: #fff;
+ border: 1px solid #fb4a4a;
+ text-align: center;
+ box-sizing: border-box;
+ border-radius: 0.25rem;
+ color: #fb4a4a;
+}
+
+.yz_specs .sku-body-box {
+ max-height: 45vh;
+ overflow-y: scroll;
+}
+
+.yz_specs .shopinfoContent {
+ overflow-y: auto;
+ max-height: 450rpx;
+}
+
+.yz_specs .shopinfo {
+ text-align: left;
+ padding-left: 20rpx;
+ margin: 20rpx 0;
+
+ /* max-height: 200rpx;
+ overflow: scroll; */
+}
+
+.yz_specs .shopinfo .dl .dt {
+ margin-bottom: 10rpx;
+}
+
+.yz_specs .shopinfo .dl .dd {
+ margin-bottom: 10rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.yz_specs .shopinfo .dl .dd .spec {
+ border: 1px solid #bfcbd9;
+ padding: 10rpx;
+ min-width: 50rpx;
+ border-radius: 6rpx;
+ margin-right: 10rpx;
+ margin-bottom: 10rpx;
+ text-align: center;
+}
+
+.yz_specs .shopinfo .dl .dd .spec.sele {
+ background-color: #f15353;
+ border-color: #f15353;
+ color: #fff;
+}
+
+.yz_specs .shopinfo .dl .dd .spec.disab {
+ opacity: 0.5;
+}
+
+.yz_specs .subbtn {
+ line-height: 100rpx;
+ width: 94%;
+ border-radius: 10rpx;
+ margin: 0 auto 10rpx auto;
+ text-align: center;
+ background: #ee0a24;
+ color: #fff;
+ font-size: 30rpx;
+}
+
+.yz_specs .sku_price {
+ position: fixed;
+ bottom: 20px;
+ font-size: 1rem;
+ color: #fff;
+ width: 100%;
+ left: 0;
+ text-align: center;
+}
+
+.yz_specs .specifications {
+ position: relative;
+ width: 100%;
+ text-align: center;
+}
+
+.yz_specs .specifications .shopimg {
+ display: flex;
+}
+
+.yz_specs .specifications .shopimg .chooser_img {
+ width: 4.75rem;
+ height: 4.75rem;
+ margin: 0.875rem;
+}
+
+.yz_specs .specifications .shopimg .chooser_img image {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ border-radius: 0.375rem;
+}
+
+.yz_specs .specifications .shopimg .right {
+ text-align: left;
+ flex: 1;
+ margin: 0.875rem 0;
+}
+
+.yz_specs .specifications .shopimg .right .price {
+ color: #f15353;
+ font-size: 12px;
+ line-height: 1.875rem;
+ height: 1.875rem;
+ overflow: hidden;
+ display: flex;
+}
+
+.yz_specs .specifications .shopimg .right .price view {
+ font-size: 18px;
+}
+
+.yz_specs .specifications .shopimg .right .option {
+ color: #999;
+ font-size: 10px;
+ line-height: 1rem;
+ height: 1rem;
+ overflow: hidden;
+}
+
+.yz_specs .specifications .el-radio-button,
+.yz_specs .specifications .el-radio-button__inner {
+ margin-right: 0.3125rem;
+ margin-bottom: 0.3125rem;
+}
+
+.yz_specs .specifications .el-radio-group .el-radio-button .el-radio-button__inner {
+ border-radius: 0.25rem;
+}
+
+.yz_specs .specifications .el-radio-button--small .el-radio-button__inner {
+ background: red;
+}
+
+.yz_specs .specifications .num {
+ margin-top: 1rem;
+ border-radius: 0.1875rem;
+ float: right;
+ background-color: #fff;
+}
+
+.yz_specs .specifications .num .leftnav {
+ height: 1.75rem;
+ width: 1.75rem;
+ float: left;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 0.1875rem;
+ line-height: 1.75rem;
+ font-size: 18px;
+ font-weight: bold;
+}
+
+.yz_specs .specifications .num .shownum {
+ height: 1.75rem;
+ width: 2.25rem;
+ float: left;
+ border: 0;
+ margin: 0px 8px;
+ padding: 0;
+ text-align: center;
+ color: #333;
+}
+
+.yz_specs .specifications .num .rightnav {
+ height: 1.75rem;
+ width: 1.75rem;
+ float: right;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 0.1875rem;
+ line-height: 1.75rem;
+ font-size: 18px;
+ font-weight: bold;
+}
+
+.yz_specs .specifications .el-row {
+ border-top: solid 0.0625rem #f2f2f2;
+ border-bottom: solid 0.0625rem #f2f2f2;
+ margin: 1.25rem 0.875rem;
+ padding: 0;
+ font-size: 14px;
+ display: flex;
+ justify-content: space-between;
+}
+
+.yz_specs .specifications .el-row .num {
+ height: 3.75rem;
+ line-height: 3.75rem;
+ text-align: left;
+}
+
+.yz_specs .specifications .van-row {
+ margin: 1.25rem 0.875rem;
+ padding: 0;
+ font-size: 14px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.yz_specs .specifications .van-row .num {
+ line-height: 2.75rem;
+ text-align: left;
+ flex: 1;
+}
+
+.yz_specs .specifications .icon_close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 2.5rem;
+ height: 2.5rem;
+}
+
+.yz_specs .specifications .icon_close i {
+ line-height: 2.5rem;
+ font-size: 1.125rem;
+ color: #999;
+}
+
+.yz_specs .sku-buy-btn-style {
+ padding: 0.375rem 0.875rem;
+
+ /* display: flex;
+ justify-content: center; */
+ width: 100%;
+ box-sizing: border-box;
+}
+
+.yz_specs .btsmall {
+ border-radius: 0.375rem;
+ height: 3.0625rem;
+ font-size: 16px;
+ width: 100%;
+}
diff --git a/mycomponent/yz_upVideo/yz_upVideo.js b/mycomponent/yz_upVideo/yz_upVideo.js
new file mode 100644
index 0000000..e078916
--- /dev/null
+++ b/mycomponent/yz_upVideo/yz_upVideo.js
@@ -0,0 +1,94 @@
+// mycomponent/yz_upVideo/yz_upVideo.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ width:{
+ value:"100%",
+ type:String
+ },
+ height:{
+ value:"100%",
+ type:String
+ },
+ videoUrl:{
+ value:"",
+ type:String
+ },
+ limit:{
+ value:0,
+ type:Number
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onReadVideo() {
+ //iOS中选择上传视频不能超过60秒
+ wx.chooseVideo({
+ sourceType: ["album", "camera"],
+ maxDuration: 60,
+ camera: "back",
+ success: (res) => {
+ this.getDuration(res.duration, res.tempFilePath);
+ },
+ });
+ },
+ getDuration(durationData, videoData) {
+ let duration = durationData;
+
+ //获取视频或者音频时长
+ this.data.duration = duration;
+ console.log("视频时长:", this.data.duration, this.data.limit + 1, this.data.limit && this.data.duration > this.data.limit + 1);
+ if (this.data.duration < 1) {
+ this.setData({
+ videoUrl: null,
+ });
+ return app.tips("视频时长太短了!");
+ } else if (this.data.limit != 0 && this.data.duration > parseInt(this.data.limit) + 1) {
+ this.setData({
+ videoUrl: null,
+ });
+ return app.tips(`视频时长不能超过${this.data.limit}秒`);
+ } else {
+ this.setData({
+ videoUrl: videoData,
+ });
+ this.setSrcAndCaptureImage(videoData);
+ return;
+ }
+ },
+ setSrcAndCaptureImage(videoData) {
+ this.triggerEvent('beforeUp', videoData);
+ this.uploadAudioM(videoData); //上传视频 --------------
+ },
+ uploadAudioM(videoData) {
+ let urlStr = app.getNetAddresss("upload.uploadPic");
+ urlStr += "&upload_type=video";
+ wx.uploadFile({
+ url: urlStr, //仅为示例,非真实的接口地址
+ filePath: videoData,
+ name: "file",
+ formData: {},
+ success:(resdata)=> {
+ let res = JSON.parse(resdata.data);
+ if(res.result!=1){
+ this.setData({videoUrl:null});
+ }
+ this.triggerEvent('successUp', {res});
+ },
+ });
+ },
+ }
+});
diff --git a/mycomponent/yz_upVideo/yz_upVideo.json b/mycomponent/yz_upVideo/yz_upVideo.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/mycomponent/yz_upVideo/yz_upVideo.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/mycomponent/yz_upVideo/yz_upVideo.wxml b/mycomponent/yz_upVideo/yz_upVideo.wxml
new file mode 100644
index 0000000..a8ccc73
--- /dev/null
+++ b/mycomponent/yz_upVideo/yz_upVideo.wxml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+ 视频时长不应超过{{limit}}秒
+
+
+
diff --git a/mycomponent/yz_upVideo/yz_upVideo.wxss b/mycomponent/yz_upVideo/yz_upVideo.wxss
new file mode 100644
index 0000000..5abafda
--- /dev/null
+++ b/mycomponent/yz_upVideo/yz_upVideo.wxss
@@ -0,0 +1,26 @@
+/* mycomponent/yz_upVideo/yz_upVideo.wxss */
+
+.video-wrap {
+ position: relative;
+ display: flex;
+ background: #fafafa;
+ align-items: center;
+ justify-content: center;
+ overflow: hidden;
+ flex-wrap: wrap;
+}
+
+.video-wrap .back_img {
+ margin-top: 60rpx;
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.video-wrap .tips {
+ width: 250rpx;
+}
+
+.video-wrap .back_img image {
+ width: 100%;
+ height: 100%;
+}
diff --git a/mycomponent/yz_uploader/yz_uploader.js b/mycomponent/yz_uploader/yz_uploader.js
new file mode 100644
index 0000000..77caf63
--- /dev/null
+++ b/mycomponent/yz_uploader/yz_uploader.js
@@ -0,0 +1,156 @@
+// mycomponent/yz_uploader/yz_uploader.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ max_count:{
+ value:100,
+ type:Number
+ },
+ customStyle:{
+ value:'',
+ type:String
+ },
+ customImgStyle:{
+ value:'',
+ type:String
+ },
+ customIconStyle:{
+ value:'',
+ type:String
+ },
+ customBoxStyle:{
+ value:'',
+ type:String
+ },
+ isSlot:{
+ value:false,
+ type:Boolean
+ },
+ fileSrc:{
+ value:'',
+ type:[String,Array]
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ fileList1: [],
+ fileImg:[]
+ },
+
+ observers:{
+ 'fileSrc'(newVal,oldVal){
+ if(newVal!='' && !Array.isArray(newVal)){
+ this.setData({
+ fileList1:[newVal]
+ });
+ }else if(newVal!='' && Array.isArray(newVal)){
+ console.log(newVal);
+ this.setData({
+ fileList1:newVal
+ });
+ }
+ }
+ },
+ created(){
+ console.log(this,this.slot);
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ updateImages() {
+ // console.log(that.data.fileList1);
+ this.triggerEvent('updateImages', this.data.fileList1);
+ },
+ //预览图片,放大预览
+ preview(e) {
+ let currentUrl = e.currentTarget.dataset.src;
+ wx.previewImage({
+ current: this.data.fileList1[currentUrl], // 当前显示图片的http链接
+ urls: this.data.fileList1 // 需要预览的图片http链接列表
+ });
+ },
+ delIntu_1(e) {
+ let del = e.currentTarget.id;
+ let url = this.data.fileList1.splice(del, 1);
+ this.setData({
+ fileList1: this.data.fileList1,
+ fileImg: this.data.fileImg.splice(del,1)
+ });
+ this.triggerEvent("delete",{url,index:del});
+ this.updateImages();
+ this.triggerEvent('inputimg',this.data.fileImg)
+ },
+ onRead_1() {
+ let that = this;
+ let ig = '1';
+ wx.chooseImage({
+ count: this.data.max_count-this.data.fileList1.length,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ // console.log(res.tempFilePaths);
+ that.triggerEvent('beforeUp', res.tempFilePaths);
+ that.unload({
+ tempFilePaths: res.tempFilePaths
+ }, ig);
+ }
+ });
+ },
+ //多张上传方法
+ unload(data, ig) {
+ let urlStr = app.getNetAddresss("upload.uploadPic");
+ var that = this,
+ i = data.i ? data.i : 0,
+ success = data.success ? data.success : 0,
+ fail = data.fail ? data.fail : 0;
+ wx.showLoading({
+ title: '正在上传',
+ });
+ wx.uploadFile({
+ url: urlStr,
+ filePath: data.tempFilePaths[i],
+ name: 'file',
+ formData: null,
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ // console.log(res.data.img_url);
+ if (ig == '1') {
+ that.data.fileList1.push(res.data.img_url);
+ that.setData({
+ fileList1: that.data.fileList1,
+ });
+ that.triggerEvent('successUp', {res,list:that.data.fileList1});
+ // console.log(that.data.fileList1);
+ that.updateImages();
+ that.data.fileImg.push(res.data.img)
+ that.triggerEvent('inputimg',that.data.fileImg)
+ }
+ },
+ fail(e) {
+ fail++;
+ },
+ complete(e) {
+ wx.hideLoading();
+ i++;
+ if (i == data.tempFilePaths.length) { //当图片传完时,停止调用
+ console.log('执行完毕');
+ console.log('成功:' + success + " 失败:" + fail);
+ } else { //若图片还没有传完,则继续调用函数
+ data.i = i;
+ data.success = success;
+ data.fail = fail;
+ that.unload(data, ig); //递归,回调自己
+ }
+ }
+ });
+
+ },
+ }
+});
diff --git a/mycomponent/yz_uploader/yz_uploader.json b/mycomponent/yz_uploader/yz_uploader.json
new file mode 100644
index 0000000..bf5f2dd
--- /dev/null
+++ b/mycomponent/yz_uploader/yz_uploader.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/mycomponent/yz_uploader/yz_uploader.wxml b/mycomponent/yz_uploader/yz_uploader.wxml
new file mode 100644
index 0000000..49f21a9
--- /dev/null
+++ b/mycomponent/yz_uploader/yz_uploader.wxml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mycomponent/yz_uploader/yz_uploader.wxss b/mycomponent/yz_uploader/yz_uploader.wxss
new file mode 100644
index 0000000..f44388d
--- /dev/null
+++ b/mycomponent/yz_uploader/yz_uploader.wxss
@@ -0,0 +1,41 @@
+/* mycomponent/yz_uploader/yz_uploader.wxss */
+.qitaimgbox {
+ padding: 30rpx;
+ box-sizing: border-box;
+ background: #fff;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.qitaimage {
+ width: 150rpx;
+ height: 150rpx;
+ border-radius: 8rpx;
+ border: solid 1rpx rgba(153, 153, 153, 1);
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ margin: 5rpx 7rpx;
+ position: relative;
+}
+
+.qitaMin {
+ width: 76rpx;
+ height: 76rpx;
+}
+
+.qitaMax {
+ width: 98%;
+ height: 98%;
+ border-radius: 8rpx;
+}
+
+.icon-cel {
+ position: absolute;
+ top: -4rpx;
+ right: 0;
+ color: red;
+}
diff --git a/mycss/iconImg.wxss b/mycss/iconImg.wxss
new file mode 100644
index 0000000..86aa301
--- /dev/null
+++ b/mycss/iconImg.wxss
@@ -0,0 +1,1822 @@
+.plugin-items-icon .iconfont,
+.template_1 .iconfont,
+.template_2 .iconfont {
+ display: inline-block;
+ margin: 0 auto 5px auto;
+ font-size: 60rpx;
+ color: #f15353;
+ background-size: 56rpx;
+ width: 56rpx;
+ height: 56rpx;
+}
+
+.plugin-items-icon .iconfont::before {
+ display: block;
+ margin-top: -6px;
+}
+
+.tool .tool-box .iconfont {
+ display: inline-block;
+ font-size: 30px;
+ color: #f15353;
+ background-size: 28px;
+ width: 100%;
+ margin-bottom: 4px;
+}
+
+.icon-fontclass-choujianghuodong {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(138).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-choujianghuodong::before {
+ content: "";
+}
+
+.icon-fontclass-quanzi2::before {
+ content: "";
+}
+
+.icon-fontclass-quanzi2 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(146).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-shipindati {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(135).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-shipindati::before {
+ content: "";
+}
+
+.icon-member_meeting_active {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(88).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_meeting_active::before {
+ content: "";
+}
+
+.icon-fontclass-cefu {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(129).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-cefu::before {
+ content: "";
+}
+
+.icon-fontclass-xingpinle {
+ background: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(133).png') no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-xingpinle::before {
+ content: '';
+}
+
+.icon-fontclass-debt {
+ background: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(189).png') no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-debt::before {
+ content: '';
+}
+
+.icon-member-cashier {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(34).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-cashier::before {
+ content: "";
+}
+
+.icon-fontclass-pinglun {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a(4).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-pinglun::before {
+ content: "";
+}
+
+.icon-fontclass-shengjima {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(141).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-shengjima::before {
+ content: "";
+}
+
+.icon-fontclass-shezhi {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a(5).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-shezhi::before {
+ content: "";
+}
+
+.icon-fontclass-1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a(6).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-1::before {
+ content: "";
+}
+
+.icon-fontclass-zuji2 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a(8).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-zuji2::before {
+ content: "";
+}
+
+.icon-fontclass-dizhi {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a(1).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-dizhi::before {
+ content: "";
+}
+
+.icon-extension-prize {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (1).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-prize::before {
+ content: "";
+}
+
+.icon-extension-chain {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (2).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-chain::before {
+ content: "";
+}
+
+.icon-dengji01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (3).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-dengji01::before {
+ content: "";
+}
+
+.icon-extension-chain {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (4).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-chain::before {
+ content: "";
+}
+
+.icon-extension-chain {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (5).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-chain::before {
+ content: "";
+}
+
+.icon-extension-share {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (6).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-share::before {
+ content: "";
+}
+
+.icon-extension-chain {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (7).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-chain::before {
+ content: "";
+}
+
+.icon-Medal01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (8).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-Medal01::before {
+ content: "";
+}
+
+.icon-integral-active {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (9).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-integral-active::before {
+ content: "";
+}
+
+.icon-lecturer01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (10).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-lecturer01::before {
+ content: "";
+}
+
+.icon-daka01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (11).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-daka01::before {
+ content: "";
+}
+
+.icon-team-return {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (12).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-team-return::before {
+ content: "";
+}
+
+.icon-mane01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (13).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-mane01::before {
+ content: "";
+}
+
+.icon-seller-a {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (14).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-seller-a::before {
+ content: "";
+}
+
+.icon-member-cash1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (15).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-cash1::before {
+ content: "";
+}
+
+.icon-extension-list {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (16).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-list::before {
+ content: "";
+}
+
+.icon-quyu01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (17).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-quyu01::before {
+ content: "";
+}
+
+.icon-weidian01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (18).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-weidian01::before {
+ content: "";
+}
+
+.icon-extension-dealeTaskReward {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension(102).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-dealeTaskReward::before {
+ content: "";
+}
+
+.icon-xiaofei01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (19).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-xiaofei01::before {
+ content: "";
+}
+
+.icon-extension-chain {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (20).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-chain::before {
+ content: "";
+}
+
+.icon-extension-sale {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (21).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-sale::before {
+ content: "";
+}
+
+.icon-daka01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (22).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-daka01::before {
+ content: "";
+}
+
+.icon-zhaoshang01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (23).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-zhaoshang01::before {
+ content: "";
+}
+
+.icon-extension-chain {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (24).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-chain::before {
+ content: "";
+}
+
+.icon-extension-manual-bon {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (25).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-manual-bon::before {
+ content: "";
+}
+
+.icon-team-bonus {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (26).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-team-bonus::before {
+ content: "";
+}
+
+.icon-extension-chain {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (27).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-chain::before {
+ content: "";
+}
+
+.icon-fenxiao01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension (28).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fenxiao01::before {
+ content: "";
+}
+
+.icon-fontclass-lingshou {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension (88).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-lingshou::before {
+ content: "";
+}
+
+.icon-wealth-c {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (1).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-wealth-c::before {
+ content: "";
+}
+
+.icon-member-help {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (2).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-help::before {
+ content: "";
+}
+
+.icon-member-recharge1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (3).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-recharge1::before {
+ content: "";
+}
+
+.icon-activity-c {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (4).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-activity-c::before {
+ content: "";
+}
+
+.icon-activity-c {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (5).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-activity-c::before {
+ content: "";
+}
+
+.icon-life-f {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (6).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-life-f::before {
+ content: "";
+}
+
+.icon-member-frozen1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (7).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-frozen1::before {
+ content: "";
+}
+
+.icon-extension-d {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (8).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-d::before {
+ content: "";
+}
+
+.icon-member-apply1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (9).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-apply1::before {
+ content: "";
+}
+
+.icon-extension-e {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (10).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-e::before {
+ content: "";
+}
+
+.icon-activity-a {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (11).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-activity-a::before {
+ content: "";
+}
+
+.icon-life-g {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (12).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-life-g::before {
+ content: "";
+}
+
+.icon-member-act-signup1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (13).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-act-signup1::before {
+ content: "";
+}
+
+.icon-member-currency1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (14).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-currency1::before {
+ content: "";
+}
+
+.icon-member-act-signup1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (15).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-act-signup1::before {
+ content: "";
+}
+
+.icon-life-d {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (16).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-life-d::before {
+ content: "";
+}
+
+.icon-life-c {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (17).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-life-c::before {
+ content: "";
+}
+
+.icon-wealth-b {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (18).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-wealth-b::before {
+ content: "";
+}
+
+.icon-lecturer01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (19).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-lecturer01::before {
+ content: "";
+}
+
+.icon-life-e {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (20).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-life-e::before {
+ content: "";
+}
+
+.icon-activity-h {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (21).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-activity-h::before {
+ content: "";
+}
+
+.icon-member-course3 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (22).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-course3::before {
+ content: "";
+}
+
+.icon-life-j {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (23).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-life-j::before {
+ content: "";
+}
+
+.icon-life-b {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (24).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-life-b::before {
+ content: "";
+}
+
+.icon-activity-b {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (25).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-activity-b::before {
+ content: "";
+}
+
+.icon-member_store {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (26).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_store::before {
+ content: "";
+}
+
+.icon-fontclass-anzhuangfuwuhy {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(144).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-anzhuangfuwuhy::before {
+ content: "";
+}
+
+.icon-fontclass-anzhuangshifu1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(145).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-anzhuangshifu1::before {
+ content: "";
+}
+
+.icon-member-store-apply1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (27).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-store-apply1::before {
+ content: "";
+}
+
+.icon-activity-d {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (28).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-activity-d::before {
+ content: "";
+}
+
+.icon-member-bank-list1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (29).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-bank-list1::before {
+ content: "";
+}
+
+.icon-member-clock1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (30).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-clock1::before {
+ content: "";
+}
+
+.icon-extension-c {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (31).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-c::before {
+ content: "";
+}
+
+.icon-activity-g {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (32).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-activity-g::before {
+ content: "";
+}
+
+.icon-wealth-d {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (33).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-wealth-d::before {
+ content: "";
+}
+
+.icon-seller-a {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (34).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-seller-a::before {
+ content: "";
+}
+
+.icon-life-a {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (35).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-life-a::before {
+ content: "";
+}
+
+.icon-life-h {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (36).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-life-h::before {
+ content: "";
+}
+
+.icon-activity-e {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (37).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-activity-e::before {
+ content: "";
+}
+
+.icon-member-extension1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (38).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-extension1::before {
+ content: "";
+}
+
+.icon-extension-b {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (39).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-b::before {
+ content: "";
+}
+
+.icon-member-mendian1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (40).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-mendian1::before {
+ content: "";
+}
+
+.icon-member-collect1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (41).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-collect1::before {
+ content: "";
+}
+
+.icon-activity-i {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (42).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-activity-i::before {
+ content: "";
+}
+
+.icon-activity-f {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (43).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-activity-f::before {
+ content: "";
+}
+
+.icon-member-credit01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (44).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-credit01::before {
+ content: "";
+}
+
+.icon-life-i {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (45).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-life-i::before {
+ content: "";
+}
+
+.icon-wealth-a {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (46).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-wealth-a::before {
+ content: "";
+}
+
+.icon-member-get-up {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (47).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-get-up::before {
+ content: "";
+}
+
+.icon-extension-f {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (48).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension-f::before {
+ content: "";
+}
+
+.icon-member-life-pay1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (49).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-life-pay1::before {
+ content: "";
+}
+
+.icon-member-my-shop1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (50).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-my-shop1::before {
+ content: "";
+}
+
+.icon-member-express {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (51).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-express::before {
+ content: "";
+}
+
+.icon-member_goods {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (52).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_goods::before {
+ content: "";
+}
+
+.icon-member-supplier {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (53).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-supplier::before {
+ content: "";
+}
+
+.i {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (54).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.i::before {
+ content: "";
+}
+
+.icon-member_integral {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (55).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_integral::before {
+ content: "";
+}
+
+.icon-member_hotel {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (56).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_hotel::before {
+ content: "";
+}
+
+.icon-member-hotel-apply::before {
+ content: "";
+}
+
+.icon-member-hotel-apply {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (56).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-card::before {
+ content: "";
+}
+
+.icon-card {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (57).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-quanzi1::before {
+ content: "";
+}
+
+.icon-fontclass-quanzi1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(146).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_auctionofficer_admin::before {
+ content: "";
+}
+
+.icon-member_auctionofficer_admin {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(97).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_auctionofficer_index::before {
+ content: "";
+}
+
+.icon-member_auctionofficer_index {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(98).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-mendianxaiofeika1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(137).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-mendianxaiofeika1::before {
+ content: "";
+}
+
+.icon-member_auctionofficer_apply::before {
+ content: "";
+}
+
+.icon-fontclass-manghe {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(139).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-manghe::before {
+ content: "";
+}
+
+.icon-member-cloud-object {
+ background: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member_a(93).png') no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-cloud-object::before {
+ content: '';
+}
+
+.icon-member_mycontract {
+ background: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(89).png') no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_mycontract::before {
+ content: "";
+}
+
+.icon-fontclass-shequmendian {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(155).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-shequmendian::before {
+ content: "";
+}
+
+.icon-member_auctionofficer_apply {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(96).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-anliku::before {
+ content: "";
+}
+
+.icon-fontclass-anliku {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(132).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-tihuoka::before {
+ content: "";
+}
+
+.icon-fontclass-tihuoka {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(127).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-yixiaoyiqi::before {
+ content: "";
+}
+
+.icon-fontclass-yixiaoyiqi {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(150).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_card1::before {
+ content: "";
+}
+
+.icon-member_card1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (58).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_material::before {
+ content: "";
+}
+
+.icon-member_material {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(65).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-order_system::before {
+ content: "";
+}
+
+.icon-order_system {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(70).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-exchange1::before {
+ content: "";
+}
+
+.icon-member-exchange1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (1).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-tool-a {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a (6).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-tool-b {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a (8).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-tool-c {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a (4).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-tool-d {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a (3).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-tool-e {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a (1).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-tool-f {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a (7).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-tool-g {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a (2).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-tool-i {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a (5).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-wangjimima2 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(124).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-wangjimima2::before {
+ content: "";
+}
+
+.icon-member_kefu {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/kefu.png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_kefu::before {
+ content: "";
+}
+
+.icon-fontclass-huiyuankaquanrukou {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(143).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-huiyuankaquanrukou::before {
+ content: "";
+}
+
+.icon-member_massage_remind {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(115).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_massage_remind::before {
+ content: "";
+}
+
+.icon-fontclass-hangbanxinxi {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(156).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-hangbanxinxi::before {
+ content: "";
+}
+
+.icon-member-tool-h {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a (9).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-tool-j {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (49).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-tool-k {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a (10).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension_video {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(73).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension_video::before {
+ content: "";
+}
+
+.icon-member_groupbuy {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(123).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_groupbuy::before {
+ content: "";
+}
+
+.icon-member_mygroupbuy {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(122).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_mygroupbuy::before {
+ content: "";
+}
+
+.icon-member_changer_centre {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(60).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_changer_centre::before {
+ content: "";
+}
+
+.icon-member_host_application {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(74).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_host_application::before {
+ content: "";
+}
+
+.icon-member_community {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(74).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_community::before {
+ content: "";
+}
+
+.icon-member_live_normal {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(92).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_live_normal::before {
+ content: "";
+}
+
+.icon-fontclass-shouquanma-01 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(148).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-shouquanma-01::before {
+ content: "";
+}
+
+.icon-member_place_apply {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(77).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_place_apply::before {
+ content: "";
+}
+
+.icon-fontclass-waikan {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(153).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-waikan::before {
+ content: "";
+}
+
+.icon-fontclass-kehu {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a(3).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-kehu::before {
+ content: "";
+}
+
+.icon-member_quickpay::before {
+ content: "";
+}
+
+.icon-member_quickpay {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(95).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_active_search {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(99).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_active_search::before {
+ content: "";
+}
+
+.icon-member_active {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(100).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_active::before {
+ content: "";
+}
+
+.icon-member_branch {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(101).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_branch::before {
+ content: "";
+}
+
+.icon-member_vj_asistant {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(102).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_vj_asistant::before {
+ content: "";
+}
+
+.icon-shenghuojiaofei {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(49).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-shenghuojiaofei::before {
+ content: "";
+}
+
+.icon-member_posvip_cardnum {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(83).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_posvip_cardnum::before {
+ content: "";
+}
+
+.icon-member_pospay_validation {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(82).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_pospay_validation::before {
+ content: "";
+}
+
+.icon-member_ejiayou {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(103).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_ejiayou::before {
+ content: "";
+}
+
+.icon-member_chamber {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(106).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_chamber::before {
+ content: "";
+}
+
+.icon-member_chamber_dealer {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(107).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_chamber_dealer::before {
+ content: "";
+}
+
+.icon-member_group_livecode {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(110).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_group_livecode::before {
+ content: "";
+}
+
+.icon-member_voice_center {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(75).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_voice_center::before {
+ content: "";
+}
+
+.icon-fontclass-lingshou {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member_a(152).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-lingshou::before {
+ content: "";
+}
+
+.icon-member_questionsurvey {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(111).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_questionsurvey::before {
+ content: "";
+}
+
+.icon-member_installment_buycar {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(80).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_installment_buycar::before {
+ content: "";
+}
+
+.icon-member_appointment {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(85).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_appointment::before {
+ content: "";
+}
+
+.icon-extension_goods_order {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(59).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-extension_goods_order::before {
+ content: "";
+}
+
+.icon-member_advertise_market {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(84).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_advertise_market::before {
+ content: "";
+}
+
+.icon-member_my-friend {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(63).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_my-friend::before {
+ content: "";
+}
+
+.icon-member_mygroup {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(72).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_mygroup::before {
+ content: "";
+}
+
+.icon-member_coupons_qrcode {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(109).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_coupons_qrcode::before {
+ content: "";
+}
+
+.icon-member_healthtest {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(112).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member_healthtest::before {
+ content: "";
+}
+
+.icon-fontclass-yuncang {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(125).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-yiingyongguanli {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(131).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-yiingyongguanli::before {
+ content: "";
+}
+
+.icon-fontclass-yuncang::before {
+ content: "";
+}
+
+.icon-fontclass-xinyongzhi {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(159).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-xinyongzhi::before {
+ content: "";
+}
+
+.icon-fontclass-yunkucun {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(140)1.png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-yunkucun::before {
+ content: "";
+}
+
+.icon-fontclass-youhuiquan {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a(7).png") no-repeat center;
+}
+
+.icon-fontclass-youhuiquan::before {
+ content: "";
+}
+
+.icon-fontclass-miandan {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(165)_1.png") no-repeat center;
+}
+
+.icon-fontclass-miandan::before {
+ content: "";
+}
+
+.icon-yinhangqia {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a(10).png") no-repeat center;
+}
+
+.icon-yinhangqia::before {
+ content: "";
+}
+
+.icon-fontclass-mendianhexiao {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(162).png") no-repeat center;
+}
+
+.icon-fontclass-mendianhexiao::before {
+ content: "";
+}
+
+.icon-fontclass-guanggaozhu {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(164).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-guanggaozhu::before {
+ content: "";
+}
+
+.icon-fontclass-guanggaozhushenqing {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(163).png") no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-guanggaozhushenqing::before {
+ content: "";
+}
+
+.icon-fontclass-dianzhushenqing {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(166).png") no-repeat center;
+}
+
+.icon-fontclass-dianzhushenqing::before {
+ content: "";
+}
+
+.icon-fontclass-kuajing {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(167).png") no-repeat center;
+}
+
+.icon-fontclass-kuajing::before {
+ content: "";
+}
+
+.icon-fontclass-mendianhexiao {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(162).png") no-repeat center;
+}
+
+.icon-fontclass-mendianhexiao::before {
+ content: "";
+}
+
+.icon-fontclass-erweima {
+ background: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/tool_a(2).png') no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-erweima::before {
+ content: "";
+}
+
+.icon-fontclass-huizhenpin {
+ background: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(160).png') no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-huizhenpin::before {
+ content: "";
+}
+
+.icon-fontclass-guquanfenhong {
+ background: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension(95).png') no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-guquanfenhong::before {
+ content: "";
+}
+
+.icon-member_groupWork {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(172).png") no-repeat center;
+}
+
+.icon-member_groupWork {
+ content: "";
+}
+
+.icon-member_donationProject {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(175).png") no-repeat center;
+}
+
+.icon-member_donationProject::before {
+ content: "";
+}
+
+.icon-fontclass-guquanfenhong {
+ background: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension(95).png') no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-fontclass-guquanfenhong::before {
+ content: "";
+}
+
+.icon-member-newMedia {
+ background: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(171).png') no-repeat center;
+ background-size: 56rpx;
+}
+
+.icon-member-newMedia::before {
+ content: "";
+}
+
+.icon-commission-extra {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension(96).png") no-repeat center;
+}
+
+.icon-commission-extra::before {
+ content: "";
+}
+
+.icon-fontclass-dianshanglianmeng {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member_a(154).png") no-repeat center;
+}
+
+.icon-fontclass-dianshanglianmeng::before {
+ content: "";
+}
+
+.icon-fontclass-mendianjiangli {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension(93).png") no-repeat center;
+}
+
+.icon-fontclass-mendianjiangli::before {
+ content: "";
+}
+
+.icon-member-prizePool {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(173).png") no-repeat center;
+}
+
+.icon-member-prizePool::before {
+ content: "";
+}
+
+.icon-extension_offlineInvestment {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension(97).png") no-repeat center;
+}
+
+.icon-extension_offlineInvestment::before {
+ content: "";
+}
+
+.icon-member_diyRormProve {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(180).png") no-repeat center;
+}
+
+.icon-member_diyRormProve::before {
+ content: "";
+}
+
+.icon-member-storeManage {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(179).png") no-repeat center;
+}
+
+.icon-member-storeManage::before {
+ content: "";
+}
+
+.icon-fontclass_supplierDist {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(176).png") no-repeat center;
+}
+
+.icon-fontclass_supplierDist::before {
+ content: "";
+}
+
+.icon-fontclass_seePoint {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension(106).png") no-repeat center;
+}
+
+.icon-fontclass_seePoint::before {
+ content: "";
+}
+
+.icon-member_warehouse {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(178).png") no-repeat center;
+}
+
+.icon-member_warehouse::before {
+ content: "";
+}
+
+.icon-flyers-advertise{
+ background: url("https://www.yunzmall.com/min_img/member/member_a(182).png") no-repeat center;
+}
+.icon-flyers-advertise::before {
+ content: "";
+}
+.icon-fontclassStock {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(184).png") no-repeat center;
+}
+
+.icon-fontclassStock::before {
+ content: "";
+}
+
+.icon-extension_allowance {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension(104).png") no-repeat center;
+}
+
+.icon-fontclass_supplierDist::before {
+ content: "";
+}
+
+.icon-share_partner {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension(109).png") no-repeat center;
+}
+
+.icon-share_partner::before {
+ content: "";
+}
+
+.icon-extension-agencyDividend {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/extension/extension(107).png") no-repeat center;
+}
+
+.icon-extension-agencyDividend::before {
+ content: "";
+}
+
+.icon-member-parking-pay {
+ background: url("https://www.yunzmall.com/min_img/member/member_a(186).png") no-repeat center;
+}
+
+.icon-member-parking-pay::before {
+ content: "";
+}
+.icon-member-invoice {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(183).png") no-repeat center;
+}
+
+.icon-member-invoice::before {
+ content: "";
+}
+
+.icon-member_shareProfit {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a(188).png") no-repeat center;
+}
+.icon-member_shareProfit {
+ content: "";
+}
diff --git a/mycss/iconfont.wxss b/mycss/iconfont.wxss
new file mode 100644
index 0000000..be8f21d
--- /dev/null
+++ b/mycss/iconfont.wxss
@@ -0,0 +1,8077 @@
+@font-face {
+ font-family: "FontAwesome";
+ src: url("FontAwesome.eot");
+ font-weight: normal;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: "FontAwesome";
+ src: url(data:application/font-woff2;charset=utf-8;base64,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)
+ format("woff2"),
+ url(data:application/font-woff;charset=utf-8;base64,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)
+ format("woff"),
+ url("FontAwesome.ttf") format("truetype"),
+ url("FontAwesome.svg#FontAwesome") format("svg");
+ font-weight: normal;
+ font-style: normal;
+}
+
+.fa-lg {
+ font-size: 1.33333333em;
+ line-height: 0.75em;
+ vertical-align: -15%;
+}
+
+.fa-2x {
+ font-size: 2em;
+}
+
+.fa-3x {
+ font-size: 3em;
+}
+
+.fa-4x {
+ font-size: 4em;
+}
+
+.fa-5x {
+ font-size: 5em;
+}
+
+.fa-fw {
+ width: 1.28571429em;
+ text-align: center;
+}
+
+.fa-ul {
+ padding-left: 0;
+ margin-left: 2.14285714em;
+ list-style-type: none;
+}
+
+.fa-li {
+ position: absolute;
+ left: -2.14285714em;
+ width: 2.14285714em;
+ top: 0.14285714em;
+ text-align: center;
+}
+
+.fa-li.fa-lg {
+ left: -1.85714286em;
+}
+
+.fa-border {
+ padding: 0.2em 0.25em 0.15em;
+ border: solid 0.08em #eee;
+ border-radius: 0.1em;
+}
+
+.fa-pull-left {
+ float: left;
+}
+
+.fa-pull-right {
+ float: right;
+}
+
+.fa.fa-pull-left {
+ margin-right: 0.3em;
+}
+
+.fa.fa-pull-right {
+ margin-left: 0.3em;
+}
+
+.pull-right {
+ float: right;
+}
+
+.pull-left {
+ float: left;
+}
+
+.fa.pull-left {
+ margin-right: 0.3em;
+}
+
+.fa.pull-right {
+ margin-left: 0.3em;
+}
+
+.fa-spin {
+ -webkit-animation: fa-spin 2s infinite linear;
+ animation: fa-spin 2s infinite linear;
+}
+
+.fa-pulse {
+ -webkit-animation: fa-spin 1s infinite steps(8);
+ animation: fa-spin 1s infinite steps(8);
+}
+
+.fa-rotate-90 {
+ -webkit-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg);
+}
+
+.fa-rotate-180 {
+ -webkit-transform: rotate(180deg);
+ -ms-transform: rotate(180deg);
+ transform: rotate(180deg);
+}
+
+.fa-rotate-270 {
+ -webkit-transform: rotate(270deg);
+ -ms-transform: rotate(270deg);
+ transform: rotate(270deg);
+}
+
+.fa-flip-horizontal {
+ -webkit-transform: scale(-1, 1);
+ -ms-transform: scale(-1, 1);
+ transform: scale(-1, 1);
+}
+
+.fa-flip-vertical {
+ -webkit-transform: scale(1, -1);
+ -ms-transform: scale(1, -1);
+ transform: scale(1, -1);
+}
+
+.fa-stack {
+ position: relative;
+ display: inline-block;
+ width: 2em;
+ height: 2em;
+ line-height: 2em;
+ vertical-align: middle;
+}
+
+.fa-stack-1x,
+.fa-stack-2x {
+ position: absolute;
+ left: 0;
+ width: 100%;
+ text-align: center;
+}
+
+.fa-stack-1x {
+ line-height: inherit;
+}
+
+.fa-stack-2x {
+ font-size: 2em;
+}
+
+.fa-inverse {
+ color: #fff;
+}
+
+.fa-glass:before {
+ content: "\f000";
+}
+
+.fa-music:before {
+ content: "\f001";
+}
+
+.fa-search:before {
+ content: "\f002";
+}
+
+.fa-envelope-o:before {
+ content: "\f003";
+}
+
+.fa-heart:before {
+ content: "\f004";
+}
+
+.fa-star:before {
+ content: "\f005";
+}
+
+.fa-star-o:before {
+ content: "\f006";
+}
+
+.fa-user:before {
+ content: "\f007";
+}
+
+.fa-film:before {
+ content: "\f008";
+}
+
+.fa-th-large:before {
+ content: "\f009";
+}
+
+.fa-th:before {
+ content: "\f00a";
+}
+
+.fa-th-list:before {
+ content: "\f00b";
+}
+
+.fa-check:before {
+ content: "\f00c";
+}
+
+.fa-remove:before,
+.fa-close:before,
+.fa-times:before {
+ content: "\f00d";
+}
+
+.fa-search-plus:before {
+ content: "\f00e";
+}
+
+.fa-search-minus:before {
+ content: "\f010";
+}
+
+.fa-power-off:before {
+ content: "\f011";
+}
+
+.fa-signal:before {
+ content: "\f012";
+}
+
+.fa-gear:before,
+.fa-cog:before {
+ content: "\f013";
+}
+
+.fa-trash-o:before {
+ content: "\f014";
+}
+
+.fa-home:before {
+ content: "\f015";
+}
+
+.fa-file-o:before {
+ content: "\f016";
+}
+
+.fa-clock-o:before {
+ content: "\f017";
+}
+
+.fa-road:before {
+ content: "\f018";
+}
+
+.fa-download:before {
+ content: "\f019";
+}
+
+.fa-arrow-circle-o-down:before {
+ content: "\f01a";
+}
+
+.fa-arrow-circle-o-up:before {
+ content: "\f01b";
+}
+
+.fa-inbox:before {
+ content: "\f01c";
+}
+
+.fa-play-circle-o:before {
+ content: "\f01d";
+}
+
+.fa-rotate-right:before,
+.fa-repeat:before {
+ content: "\f01e";
+}
+
+.fa-refresh:before {
+ content: "\f021";
+}
+
+.fa-list-alt:before {
+ content: "\f022";
+}
+
+.fa-lock:before {
+ content: "\f023";
+}
+
+.fa-flag:before {
+ content: "\f024";
+}
+
+.fa-headphones:before {
+ content: "\f025";
+}
+
+.fa-volume-off:before {
+ content: "\f026";
+}
+
+.fa-volume-down:before {
+ content: "\f027";
+}
+
+.fa-volume-up:before {
+ content: "\f028";
+}
+
+.fa-qrcode:before {
+ content: "\f029";
+}
+
+.fa-barcode:before {
+ content: "\f02a";
+}
+
+.fa-tag:before {
+ content: "\f02b";
+}
+
+.fa-tags:before {
+ content: "\f02c";
+}
+
+.fa-book:before {
+ content: "\f02d";
+}
+
+.fa-bookmark:before {
+ content: "\f02e";
+}
+
+.fa-print:before {
+ content: "\f02f";
+}
+
+.fa-camera:before {
+ content: "\f030";
+}
+
+.fa-font:before {
+ content: "\f031";
+}
+
+.fa-bold:before {
+ content: "\f032";
+}
+
+.fa-italic:before {
+ content: "\f033";
+}
+
+.fa-text-height:before {
+ content: "\f034";
+}
+
+.fa-text-width:before {
+ content: "\f035";
+}
+
+.fa-align-left:before {
+ content: "\f036";
+}
+
+.fa-align-center:before {
+ content: "\f037";
+}
+
+.fa-align-right:before {
+ content: "\f038";
+}
+
+.fa-align-justify:before {
+ content: "\f039";
+}
+
+.fa-list:before {
+ content: "\f03a";
+}
+
+.fa-dedent:before,
+.fa-outdent:before {
+ content: "\f03b";
+}
+
+.fa-indent:before {
+ content: "\f03c";
+}
+
+.fa-video-camera:before {
+ content: "\f03d";
+}
+
+.fa-photo:before,
+.fa-image:before,
+.fa-picture-o:before {
+ content: "\f03e";
+}
+
+.fa-pencil:before {
+ content: "\f040";
+}
+
+.fa-map-marker:before {
+ content: "\f041";
+}
+
+.fa-adjust:before {
+ content: "\f042";
+}
+
+.fa-tint:before {
+ content: "\f043";
+}
+
+.fa-edit:before,
+.fa-pencil-square-o:before {
+ content: "\f044";
+}
+
+.fa-share-square-o:before {
+ content: "\f045";
+}
+
+.fa-check-square-o:before {
+ content: "\f046";
+}
+
+.fa-arrows:before {
+ content: "\f047";
+}
+
+.fa-step-backward:before {
+ content: "\f048";
+}
+
+.fa-fast-backward:before {
+ content: "\f049";
+}
+
+.fa-backward:before {
+ content: "\f04a";
+}
+
+.fa-play:before {
+ content: "\f04b";
+}
+
+.fa-pause:before {
+ content: "\f04c";
+}
+
+.fa-stop:before {
+ content: "\f04d";
+}
+
+.fa-forward:before {
+ content: "\f04e";
+}
+
+.fa-fast-forward:before {
+ content: "\f050";
+}
+
+.fa-step-forward:before {
+ content: "\f051";
+}
+
+.fa-eject:before {
+ content: "\f052";
+}
+
+.fa-chevron-left:before {
+ content: "\f053";
+}
+
+.fa-chevron-right:before {
+ content: "\f054";
+}
+
+.fa-plus-circle:before {
+ content: "\f055";
+}
+
+.fa-minus-circle:before {
+ content: "\f056";
+}
+
+.fa-times-circle:before {
+ content: "\f057";
+}
+
+.fa-check-circle:before {
+ content: "\f058";
+}
+
+.fa-question-circle:before {
+ content: "\f059";
+}
+
+.fa-info-circle:before {
+ content: "\f05a";
+}
+
+.fa-crosshairs:before {
+ content: "\f05b";
+}
+
+.fa-times-circle-o:before {
+ content: "\f05c";
+}
+
+.fa-check-circle-o:before {
+ content: "\f05d";
+}
+
+.fa-ban:before {
+ content: "\f05e";
+}
+
+.fa-arrow-left:before {
+ content: "\f060";
+}
+
+.fa-arrow-right:before {
+ content: "\f061";
+}
+
+.fa-arrow-up:before {
+ content: "\f062";
+}
+
+.fa-arrow-down:before {
+ content: "\f063";
+}
+
+.fa-mail-forward:before,
+.fa-share:before {
+ content: "\f064";
+}
+
+.fa-expand:before {
+ content: "\f065";
+}
+
+.fa-compress:before {
+ content: "\f066";
+}
+
+.fa-plus:before {
+ content: "\f067";
+}
+
+.fa-minus:before {
+ content: "\f068";
+}
+
+.fa-asterisk:before {
+ content: "\f069";
+}
+
+.fa-exclamation-circle:before {
+ content: "\f06a";
+}
+
+.fa-gift:before {
+ content: "\f06b";
+}
+
+.fa-leaf:before {
+ content: "\f06c";
+}
+
+.fa-fire:before {
+ content: "\f06d";
+}
+
+.fa-eye:before {
+ content: "\f06e";
+}
+
+.fa-eye-slash:before {
+ content: "\f070";
+}
+
+.fa-warning:before,
+.fa-exclamation-triangle:before {
+ content: "\f071";
+}
+
+.fa-plane:before {
+ content: "\f072";
+}
+
+.fa-calendar:before {
+ content: "\f073";
+}
+
+.fa-random:before {
+ content: "\f074";
+}
+
+.fa-comment:before {
+ content: "\f075";
+}
+
+.fa-magnet:before {
+ content: "\f076";
+}
+
+.fa-chevron-up:before {
+ content: "\f077";
+}
+
+.fa-chevron-down:before {
+ content: "\f078";
+}
+
+.fa-retweet:before {
+ content: "\f079";
+}
+
+.fa-shopping-cart:before {
+ content: "\f07a";
+}
+
+.fa-folder:before {
+ content: "\f07b";
+}
+
+.fa-folder-open:before {
+ content: "\f07c";
+}
+
+.fa-arrows-v:before {
+ content: "\f07d";
+}
+
+.fa-arrows-h:before {
+ content: "\f07e";
+}
+
+.fa-bar-chart-o:before,
+.fa-bar-chart:before {
+ content: "\f080";
+}
+
+.fa-twitter-square:before {
+ content: "\f081";
+}
+
+.fa-facebook-square:before {
+ content: "\f082";
+}
+
+.fa-camera-retro:before {
+ content: "\f083";
+}
+
+.fa-key:before {
+ content: "\f084";
+}
+
+.fa-gears:before,
+.fa-cogs:before {
+ content: "\f085";
+}
+
+.fa-comments:before {
+ content: "\f086";
+}
+
+.fa-thumbs-o-up:before {
+ content: "\f087";
+}
+
+.fa-thumbs-o-down:before {
+ content: "\f088";
+}
+
+.fa-star-half:before {
+ content: "\f089";
+}
+
+.fa-heart-o:before {
+ content: "\f08a";
+}
+
+.fa-sign-out:before {
+ content: "\f08b";
+}
+
+.fa-linkedin-square:before {
+ content: "\f08c";
+}
+
+.fa-thumb-tack:before {
+ content: "\f08d";
+}
+
+.fa-external-link:before {
+ content: "\f08e";
+}
+
+.fa-sign-in:before {
+ content: "\f090";
+}
+
+.fa-trophy:before {
+ content: "\f091";
+}
+
+.fa-github-square:before {
+ content: "\f092";
+}
+
+.fa-upload:before {
+ content: "\f093";
+}
+
+.fa-lemon-o:before {
+ content: "\f094";
+}
+
+.fa-phone:before {
+ content: "\f095";
+}
+
+.fa-square-o:before {
+ content: "\f096";
+}
+
+.fa-bookmark-o:before {
+ content: "\f097";
+}
+
+.fa-phone-square:before {
+ content: "\f098";
+}
+
+.fa-twitter:before {
+ content: "\f099";
+}
+
+.fa-facebook-f:before,
+.fa-facebook:before {
+ content: "\f09a";
+}
+
+.fa-github:before {
+ content: "\f09b";
+}
+
+.fa-unlock:before {
+ content: "\f09c";
+}
+
+.fa-credit-card:before {
+ content: "\f09d";
+}
+
+.fa-feed:before,
+.fa-rss:before {
+ content: "\f09e";
+}
+
+.fa-hdd-o:before {
+ content: "\f0a0";
+}
+
+.fa-bullhorn:before {
+ content: "\f0a1";
+}
+
+.fa-bell:before {
+ content: "\f0f3";
+}
+
+.fa-certificate:before {
+ content: "\f0a3";
+}
+
+.fa-hand-o-right:before {
+ content: "\f0a4";
+}
+
+.fa-hand-o-left:before {
+ content: "\f0a5";
+}
+
+.fa-hand-o-up:before {
+ content: "\f0a6";
+}
+
+.fa-hand-o-down:before {
+ content: "\f0a7";
+}
+
+.fa-arrow-circle-left:before {
+ content: "\f0a8";
+}
+
+.fa-arrow-circle-right:before {
+ content: "\f0a9";
+}
+
+.fa-arrow-circle-up:before {
+ content: "\f0aa";
+}
+
+.fa-arrow-circle-down:before {
+ content: "\f0ab";
+}
+
+.fa-globe:before {
+ content: "\f0ac";
+}
+
+.fa-wrench:before {
+ content: "\f0ad";
+}
+
+.fa-tasks:before {
+ content: "\f0ae";
+}
+
+.fa-filter:before {
+ content: "\f0b0";
+}
+
+.fa-briefcase:before {
+ content: "\f0b1";
+}
+
+.fa-arrows-alt:before {
+ content: "\f0b2";
+}
+
+.fa-group:before,
+.fa-users:before {
+ content: "\f0c0";
+}
+
+.fa-chain:before,
+.fa-link:before {
+ content: "\f0c1";
+}
+
+.fa-cloud:before {
+ content: "\f0c2";
+}
+
+.fa-flask:before {
+ content: "\f0c3";
+}
+
+.fa-cut:before,
+.fa-scissors:before {
+ content: "\f0c4";
+}
+
+.fa-copy:before,
+.fa-files-o:before {
+ content: "\f0c5";
+}
+
+.fa-paperclip:before {
+ content: "\f0c6";
+}
+
+.fa-save:before,
+.fa-floppy-o:before {
+ content: "\f0c7";
+}
+
+.fa-square:before {
+ content: "\f0c8";
+}
+
+.fa-navicon:before,
+.fa-reorder:before,
+.fa-bars:before {
+ content: "\f0c9";
+}
+
+.fa-list-ul:before {
+ content: "\f0ca";
+}
+
+.fa-list-ol:before {
+ content: "\f0cb";
+}
+
+.fa-strikethrough:before {
+ content: "\f0cc";
+}
+
+.fa-underline:before {
+ content: "\f0cd";
+}
+
+.fa-table:before {
+ content: "\f0ce";
+}
+
+.fa-magic:before {
+ content: "\f0d0";
+}
+
+.fa-truck:before {
+ content: "\f0d1";
+}
+
+.fa-pinterest:before {
+ content: "\f0d2";
+}
+
+.fa-pinterest-square:before {
+ content: "\f0d3";
+}
+
+.fa-google-plus-square:before {
+ content: "\f0d4";
+}
+
+.fa-google-plus:before {
+ content: "\f0d5";
+}
+
+.fa-money:before {
+ content: "\f0d6";
+}
+
+.fa-caret-down:before {
+ content: "\f0d7";
+}
+
+.fa-caret-up:before {
+ content: "\f0d8";
+}
+
+.fa-caret-left:before {
+ content: "\f0d9";
+}
+
+.fa-caret-right:before {
+ content: "\f0da";
+}
+
+.fa-columns:before {
+ content: "\f0db";
+}
+
+.fa-unsorted:before,
+.fa-sort:before {
+ content: "\f0dc";
+}
+
+.fa-sort-down:before,
+.fa-sort-desc:before {
+ content: "\f0dd";
+}
+
+.fa-sort-up:before,
+.fa-sort-asc:before {
+ content: "\f0de";
+}
+
+.fa-envelope:before {
+ content: "\f0e0";
+}
+
+.fa-linkedin:before {
+ content: "\f0e1";
+}
+
+.fa-rotate-left:before,
+.fa-undo:before {
+ content: "\f0e2";
+}
+
+.fa-legal:before,
+.fa-gavel:before {
+ content: "\f0e3";
+}
+
+.fa-dashboard:before,
+.fa-tachometer:before {
+ content: "\f0e4";
+}
+
+.fa-comment-o:before {
+ content: "\f0e5";
+}
+
+.fa-comments-o:before {
+ content: "\f0e6";
+}
+
+.fa-flash:before,
+.fa-bolt:before {
+ content: "\f0e7";
+}
+
+.fa-sitemap:before {
+ content: "\f0e8";
+}
+
+.fa-umbrella:before {
+ content: "\f0e9";
+}
+
+.fa-paste:before,
+.fa-clipboard:before {
+ content: "\f0ea";
+}
+
+.fa-lightbulb-o:before {
+ content: "\f0eb";
+}
+
+.fa-exchange:before {
+ content: "\f0ec";
+}
+
+.fa-cloud-download:before {
+ content: "\f0ed";
+}
+
+.fa-cloud-upload:before {
+ content: "\f0ee";
+}
+
+.fa-user-md:before {
+ content: "\f0f0";
+}
+
+.fa-stethoscope:before {
+ content: "\f0f1";
+}
+
+.fa-suitcase:before {
+ content: "\f0f2";
+}
+
+.fa-bell-o:before {
+ content: "\f0a2";
+}
+
+.fa-coffee:before {
+ content: "\f0f4";
+}
+
+.fa-cutlery:before {
+ content: "\f0f5";
+}
+
+.fa-file-text-o:before {
+ content: "\f0f6";
+}
+
+.fa-building-o:before {
+ content: "\f0f7";
+}
+
+.fa-hospital-o:before {
+ content: "\f0f8";
+}
+
+.fa-ambulance:before {
+ content: "\f0f9";
+}
+
+.fa-medkit:before {
+ content: "\f0fa";
+}
+
+.fa-fighter-jet:before {
+ content: "\f0fb";
+}
+
+.fa-beer:before {
+ content: "\f0fc";
+}
+
+.fa-h-square:before {
+ content: "\f0fd";
+}
+
+.fa-plus-square:before {
+ content: "\f0fe";
+}
+
+.fa-angle-double-left:before {
+ content: "\f100";
+}
+
+.fa-angle-double-right:before {
+ content: "\f101";
+}
+
+.fa-angle-double-up:before {
+ content: "\f102";
+}
+
+.fa-angle-double-down:before {
+ content: "\f103";
+}
+
+.fa-angle-left:before {
+ content: "\f104";
+}
+
+.fa-angle-right:before {
+ content: "\f105";
+}
+
+.icon-fontclass-rili:before {
+ content: "\ea37";
+}
+
+.fa-angle-up:before {
+ content: "\f106";
+}
+
+.fa-angle-down:before {
+ content: "\f107";
+}
+
+.fa-desktop:before {
+ content: "\f108";
+}
+
+.fa-laptop:before {
+ content: "\f109";
+}
+
+.fa-tablet:before {
+ content: "\f10a";
+}
+
+.fa-mobile-phone:before,
+.fa-mobile:before {
+ content: "\f10b";
+}
+
+.fa-circle-o:before {
+ content: "\f10c";
+}
+
+.fa-quote-left:before {
+ content: "\f10d";
+}
+
+.fa-quote-right:before {
+ content: "\f10e";
+}
+
+.fa-spinner:before {
+ content: "\f110";
+}
+
+.fa-circle:before {
+ content: "\f111";
+}
+
+.fa-mail-reply:before,
+.fa-reply:before {
+ content: "\f112";
+}
+
+.fa-github-alt:before {
+ content: "\f113";
+}
+
+.fa-folder-o:before {
+ content: "\f114";
+}
+
+.fa-folder-open-o:before {
+ content: "\f115";
+}
+
+.fa-smile-o:before {
+ content: "\f118";
+}
+
+.fa-frown-o:before {
+ content: "\f119";
+}
+
+.fa-meh-o:before {
+ content: "\f11a";
+}
+
+.fa-gamepad:before {
+ content: "\f11b";
+}
+
+.fa-keyboard-o:before {
+ content: "\f11c";
+}
+
+.fa-flag-o:before {
+ content: "\f11d";
+}
+
+.fa-flag-checkered:before {
+ content: "\f11e";
+}
+
+.fa-terminal:before {
+ content: "\f120";
+}
+
+.fa-code:before {
+ content: "\f121";
+}
+
+.fa-mail-reply-all:before,
+.fa-reply-all:before {
+ content: "\f122";
+}
+
+.fa-star-half-empty:before,
+.fa-star-half-full:before,
+.fa-star-half-o:before {
+ content: "\f123";
+}
+
+.fa-location-arrow:before {
+ content: "\f124";
+}
+
+.fa-crop:before {
+ content: "\f125";
+}
+
+.fa-code-fork:before {
+ content: "\f126";
+}
+
+.fa-unlink:before,
+.fa-chain-broken:before {
+ content: "\f127";
+}
+
+.fa-question:before {
+ content: "\f128";
+}
+
+.fa-info:before {
+ content: "\f129";
+}
+
+.fa-exclamation:before {
+ content: "\f12a";
+}
+
+.fa-superscript:before {
+ content: "\f12b";
+}
+
+.fa-subscript:before {
+ content: "\f12c";
+}
+
+.fa-eraser:before {
+ content: "\f12d";
+}
+
+.fa-puzzle-piece:before {
+ content: "\f12e";
+}
+
+.fa-microphone:before {
+ content: "\f130";
+}
+
+.fa-microphone-slash:before {
+ content: "\f131";
+}
+
+.fa-shield:before {
+ content: "\f132";
+}
+
+.fa-calendar-o:before {
+ content: "\f133";
+}
+
+.fa-fire-extinguisher:before {
+ content: "\f134";
+}
+
+.fa-rocket:before {
+ content: "\f135";
+}
+
+.fa-maxcdn:before {
+ content: "\f136";
+}
+
+.fa-chevron-circle-left:before {
+ content: "\f137";
+}
+
+.fa-chevron-circle-right:before {
+ content: "\f138";
+}
+
+.fa-chevron-circle-up:before {
+ content: "\f139";
+}
+
+.fa-chevron-circle-down:before {
+ content: "\f13a";
+}
+
+.fa-html5:before {
+ content: "\f13b";
+}
+
+.fa-css3:before {
+ content: "\f13c";
+}
+
+.fa-anchor:before {
+ content: "\f13d";
+}
+
+.fa-unlock-alt:before {
+ content: "\f13e";
+}
+
+.fa-bullseye:before {
+ content: "\f140";
+}
+
+.fa-ellipsis-h:before {
+ content: "\f141";
+}
+
+.fa-ellipsis-v:before {
+ content: "\f142";
+}
+
+.fa-rss-square:before {
+ content: "\f143";
+}
+
+.fa-play-circle:before {
+ content: "\f144";
+}
+
+.fa-ticket:before {
+ content: "\f145";
+}
+
+.fa-minus-square:before {
+ content: "\f146";
+}
+
+.fa-minus-square-o:before {
+ content: "\f147";
+}
+
+.fa-level-up:before {
+ content: "\f148";
+}
+
+.fa-level-down:before {
+ content: "\f149";
+}
+
+.fa-check-square:before {
+ content: "\f14a";
+}
+
+.fa-pencil-square:before {
+ content: "\f14b";
+}
+
+.fa-external-link-square:before {
+ content: "\f14c";
+}
+
+.fa-share-square:before {
+ content: "\f14d";
+}
+
+.fa-compass:before {
+ content: "\f14e";
+}
+
+.fa-toggle-down:before,
+.fa-caret-square-o-down:before {
+ content: "\f150";
+}
+
+.fa-toggle-up:before,
+.fa-caret-square-o-up:before {
+ content: "\f151";
+}
+
+.fa-toggle-right:before,
+.fa-caret-square-o-right:before {
+ content: "\f152";
+}
+
+.fa-euro:before,
+.fa-eur:before {
+ content: "\f153";
+}
+
+.fa-gbp:before {
+ content: "\f154";
+}
+
+.fa-dollar:before,
+.fa-usd:before {
+ content: "\f155";
+}
+
+.fa-rupee:before,
+.fa-inr:before {
+ content: "\f156";
+}
+
+.fa-cny:before,
+.fa-rmb:before,
+.fa-yen:before,
+.fa-jpy:before {
+ content: "\f157";
+}
+
+.fa-ruble:before,
+.fa-rouble:before,
+.fa-rub:before {
+ content: "\f158";
+}
+
+.fa-won:before,
+.fa-krw:before {
+ content: "\f159";
+}
+
+.fa-bitcoin:before,
+.fa-btc:before {
+ content: "\f15a";
+}
+
+.fa-file:before {
+ content: "\f15b";
+}
+
+.fa-file-text:before {
+ content: "\f15c";
+}
+
+.fa-sort-alpha-asc:before {
+ content: "\f15d";
+}
+
+.fa-sort-alpha-desc:before {
+ content: "\f15e";
+}
+
+.fa-sort-amount-asc:before {
+ content: "\f160";
+}
+
+.fa-sort-amount-desc:before {
+ content: "\f161";
+}
+
+.fa-sort-numeric-asc:before {
+ content: "\f162";
+}
+
+.fa-sort-numeric-desc:before {
+ content: "\f163";
+}
+
+.fa-thumbs-up:before {
+ content: "\f164";
+}
+
+.fa-thumbs-down:before {
+ content: "\f165";
+}
+
+.fa-youtube-square:before {
+ content: "\f166";
+}
+
+.fa-youtube:before {
+ content: "\f167";
+}
+
+.fa-xing:before {
+ content: "\f168";
+}
+
+.fa-xing-square:before {
+ content: "\f169";
+}
+
+.fa-youtube-play:before {
+ content: "\f16a";
+}
+
+.fa-dropbox:before {
+ content: "\f16b";
+}
+
+.fa-stack-overflow:before {
+ content: "\f16c";
+}
+
+.fa-instagram:before {
+ content: "\f16d";
+}
+
+.fa-flickr:before {
+ content: "\f16e";
+}
+
+.fa-adn:before {
+ content: "\f170";
+}
+
+.fa-bitbucket:before {
+ content: "\f171";
+}
+
+.fa-bitbucket-square:before {
+ content: "\f172";
+}
+
+.fa-tumblr:before {
+ content: "\f173";
+}
+
+.fa-tumblr-square:before {
+ content: "\f174";
+}
+
+.fa-long-arrow-down:before {
+ content: "\f175";
+}
+
+.fa-long-arrow-up:before {
+ content: "\f176";
+}
+
+.fa-long-arrow-left:before {
+ content: "\f177";
+}
+
+.fa-long-arrow-right:before {
+ content: "\f178";
+}
+
+.fa-apple:before {
+ content: "\f179";
+}
+
+.fa-windows:before {
+ content: "\f17a";
+}
+
+.fa-android:before {
+ content: "\f17b";
+}
+
+.fa-linux:before {
+ content: "\f17c";
+}
+
+.fa-dribbble:before {
+ content: "\f17d";
+}
+
+.fa-skype:before {
+ content: "\f17e";
+}
+
+.fa-foursquare:before {
+ content: "\f180";
+}
+
+.fa-trello:before {
+ content: "\f181";
+}
+
+.fa-female:before {
+ content: "\f182";
+}
+
+.fa-male:before {
+ content: "\f183";
+}
+
+.fa-gittip:before,
+.fa-gratipay:before {
+ content: "\f184";
+}
+
+.fa-sun-o:before {
+ content: "\f185";
+}
+
+.fa-moon-o:before {
+ content: "\f186";
+}
+
+.fa-archive:before {
+ content: "\f187";
+}
+
+.fa-bug:before {
+ content: "\f188";
+}
+
+.fa-vk:before {
+ content: "\f189";
+}
+
+.fa-weibo:before {
+ content: "\f18a";
+}
+
+.fa-renren:before {
+ content: "\f18b";
+}
+
+.fa-pagelines:before {
+ content: "\f18c";
+}
+
+.fa-stack-exchange:before {
+ content: "\f18d";
+}
+
+.fa-arrow-circle-o-right:before {
+ content: "\f18e";
+}
+
+.fa-arrow-circle-o-left:before {
+ content: "\f190";
+}
+
+.fa-toggle-left:before,
+.fa-caret-square-o-left:before {
+ content: "\f191";
+}
+
+.fa-dot-circle-o:before {
+ content: "\f192";
+}
+
+.fa-wheelchair:before {
+ content: "\f193";
+}
+
+.fa-vimeo-square:before {
+ content: "\f194";
+}
+
+.fa-turkish-lira:before,
+.fa-try:before {
+ content: "\f195";
+}
+
+.fa-plus-square-o:before {
+ content: "\f196";
+}
+
+.fa-space-shuttle:before {
+ content: "\f197";
+}
+
+.fa-slack:before {
+ content: "\f198";
+}
+
+.fa-envelope-square:before {
+ content: "\f199";
+}
+
+.fa-wordpress:before {
+ content: "\f19a";
+}
+
+.fa-openid:before {
+ content: "\f19b";
+}
+
+.fa-institution:before,
+.fa-bank:before,
+.fa-university:before {
+ content: "\f19c";
+}
+
+.fa-mortar-board:before,
+.fa-graduation-cap:before {
+ content: "\f19d";
+}
+
+.fa-yahoo:before {
+ content: "\f19e";
+}
+
+.fa-google:before {
+ content: "\f1a0";
+}
+
+.fa-reddit:before {
+ content: "\f1a1";
+}
+
+.fa-reddit-square:before {
+ content: "\f1a2";
+}
+
+.fa-stumbleupon-circle:before {
+ content: "\f1a3";
+}
+
+.fa-stumbleupon:before {
+ content: "\f1a4";
+}
+
+.fa-delicious:before {
+ content: "\f1a5";
+}
+
+.fa-digg:before {
+ content: "\f1a6";
+}
+
+.fa-pied-piper-pp:before {
+ content: "\f1a7";
+}
+
+.fa-pied-piper-alt:before {
+ content: "\f1a8";
+}
+
+.fa-drupal:before {
+ content: "\f1a9";
+}
+
+.fa-joomla:before {
+ content: "\f1aa";
+}
+
+.fa-language:before {
+ content: "\f1ab";
+}
+
+.fa-fax:before {
+ content: "\f1ac";
+}
+
+.fa-building:before {
+ content: "\f1ad";
+}
+
+.fa-child:before {
+ content: "\f1ae";
+}
+
+.fa-paw:before {
+ content: "\f1b0";
+}
+
+.fa-spoon:before {
+ content: "\f1b1";
+}
+
+.fa-cube:before {
+ content: "\f1b2";
+}
+
+.fa-cubes:before {
+ content: "\f1b3";
+}
+
+.fa-behance:before {
+ content: "\f1b4";
+}
+
+.fa-behance-square:before {
+ content: "\f1b5";
+}
+
+.fa-steam:before {
+ content: "\f1b6";
+}
+
+.fa-steam-square:before {
+ content: "\f1b7";
+}
+
+.fa-recycle:before {
+ content: "\f1b8";
+}
+
+.fa-automobile:before,
+.fa-car:before {
+ content: "\f1b9";
+}
+
+.fa-cab:before,
+.fa-taxi:before {
+ content: "\f1ba";
+}
+
+.fa-tree:before {
+ content: "\f1bb";
+}
+
+.fa-spotify:before {
+ content: "\f1bc";
+}
+
+.fa-deviantart:before {
+ content: "\f1bd";
+}
+
+.fa-soundcloud:before {
+ content: "\f1be";
+}
+
+.fa-database:before {
+ content: "\f1c0";
+}
+
+.fa-file-pdf-o:before {
+ content: "\f1c1";
+}
+
+.fa-file-word-o:before {
+ content: "\f1c2";
+}
+
+.fa-file-excel-o:before {
+ content: "\f1c3";
+}
+
+.fa-file-powerpoint-o:before {
+ content: "\f1c4";
+}
+
+.fa-file-photo-o:before,
+.fa-file-picture-o:before,
+.fa-file-image-o:before {
+ content: "\f1c5";
+}
+
+.fa-file-zip-o:before,
+.fa-file-archive-o:before {
+ content: "\f1c6";
+}
+
+.fa-file-sound-o:before,
+.fa-file-audio-o:before {
+ content: "\f1c7";
+}
+
+.fa-file-movie-o:before,
+.fa-file-video-o:before {
+ content: "\f1c8";
+}
+
+.fa-file-code-o:before {
+ content: "\f1c9";
+}
+
+.fa-vine:before {
+ content: "\f1ca";
+}
+
+.fa-codepen:before {
+ content: "\f1cb";
+}
+
+.fa-jsfiddle:before {
+ content: "\f1cc";
+}
+
+.fa-life-bouy:before,
+.fa-life-buoy:before,
+.fa-life-saver:before,
+.fa-support:before,
+.fa-life-ring:before {
+ content: "\f1cd";
+}
+
+.fa-circle-o-notch:before {
+ content: "\f1ce";
+}
+
+.fa-ra:before,
+.fa-resistance:before,
+.fa-rebel:before {
+ content: "\f1d0";
+}
+
+.fa-ge:before,
+.fa-empire:before {
+ content: "\f1d1";
+}
+
+.fa-git-square:before {
+ content: "\f1d2";
+}
+
+.fa-git:before {
+ content: "\f1d3";
+}
+
+.fa-y-combinator-square:before,
+.fa-yc-square:before,
+.fa-hacker-news:before {
+ content: "\f1d4";
+}
+
+.fa-tencent-weibo:before {
+ content: "\f1d5";
+}
+
+.fa-qq:before {
+ content: "\f1d6";
+}
+
+.fa-wechat:before,
+.fa-weixin:before {
+ content: "\f1d7";
+}
+
+.fa-send:before,
+.fa-paper-plane:before {
+ content: "\f1d8";
+}
+
+.fa-send-o:before,
+.fa-paper-plane-o:before {
+ content: "\f1d9";
+}
+
+.fa-history:before {
+ content: "\f1da";
+}
+
+.fa-circle-thin:before {
+ content: "\f1db";
+}
+
+.fa-header:before {
+ content: "\f1dc";
+}
+
+.fa-paragraph:before {
+ content: "\f1dd";
+}
+
+.fa-sliders:before {
+ content: "\f1de";
+}
+
+.fa-share-alt:before {
+ content: "\f1e0";
+}
+
+.fa-share-alt-square:before {
+ content: "\f1e1";
+}
+
+.fa-bomb:before {
+ content: "\f1e2";
+}
+
+.fa-soccer-ball-o:before,
+.fa-futbol-o:before {
+ content: "\f1e3";
+}
+
+.fa-tty:before {
+ content: "\f1e4";
+}
+
+.fa-binoculars:before {
+ content: "\f1e5";
+}
+
+.fa-plug:before {
+ content: "\f1e6";
+}
+
+.fa-slideshare:before {
+ content: "\f1e7";
+}
+
+.fa-twitch:before {
+ content: "\f1e8";
+}
+
+.fa-yelp:before {
+ content: "\f1e9";
+}
+
+.fa-newspaper-o:before {
+ content: "\f1ea";
+}
+
+.fa-wifi:before {
+ content: "\f1eb";
+}
+
+.fa-calculator:before {
+ content: "\f1ec";
+}
+
+.fa-paypal:before {
+ content: "\f1ed";
+}
+
+.fa-google-wallet:before {
+ content: "\f1ee";
+}
+
+.fa-cc-visa:before {
+ content: "\f1f0";
+}
+
+.fa-cc-mastercard:before {
+ content: "\f1f1";
+}
+
+.fa-cc-discover:before {
+ content: "\f1f2";
+}
+
+.fa-cc-amex:before {
+ content: "\f1f3";
+}
+
+.fa-cc-paypal:before {
+ content: "\f1f4";
+}
+
+.fa-cc-stripe:before {
+ content: "\f1f5";
+}
+
+.fa-bell-slash:before {
+ content: "\f1f6";
+}
+
+.fa-bell-slash-o:before {
+ content: "\f1f7";
+}
+
+.fa-trash:before {
+ content: "\f1f8";
+}
+
+.fa-copyright:before {
+ content: "\f1f9";
+}
+
+.fa-at:before {
+ content: "\f1fa";
+}
+
+.fa-eyedropper:before {
+ content: "\f1fb";
+}
+
+.fa-paint-brush:before {
+ content: "\f1fc";
+}
+
+.fa-birthday-cake:before {
+ content: "\f1fd";
+}
+
+.fa-area-chart:before {
+ content: "\f1fe";
+}
+
+.fa-pie-chart:before {
+ content: "\f200";
+}
+
+.fa-line-chart:before {
+ content: "\f201";
+}
+
+.fa-lastfm:before {
+ content: "\f202";
+}
+
+.fa-lastfm-square:before {
+ content: "\f203";
+}
+
+.fa-toggle-off:before {
+ content: "\f204";
+}
+
+.fa-toggle-on:before {
+ content: "\f205";
+}
+
+.fa-bicycle:before {
+ content: "\f206";
+}
+
+.fa-bus:before {
+ content: "\f207";
+}
+
+.fa-ioxhost:before {
+ content: "\f208";
+}
+
+.fa-angellist:before {
+ content: "\f209";
+}
+
+.fa-cc:before {
+ content: "\f20a";
+}
+
+.fa-shekel:before,
+.fa-sheqel:before,
+.fa-ils:before {
+ content: "\f20b";
+}
+
+.fa-meanpath:before {
+ content: "\f20c";
+}
+
+.fa-buysellads:before {
+ content: "\f20d";
+}
+
+.fa-connectdevelop:before {
+ content: "\f20e";
+}
+
+.fa-dashcube:before {
+ content: "\f210";
+}
+
+.fa-forumbee:before {
+ content: "\f211";
+}
+
+.fa-leanpub:before {
+ content: "\f212";
+}
+
+.fa-sellsy:before {
+ content: "\f213";
+}
+
+.fa-shirtsinbulk:before {
+ content: "\f214";
+}
+
+.fa-simplybuilt:before {
+ content: "\f215";
+}
+
+.fa-skyatlas:before {
+ content: "\f216";
+}
+
+.fa-cart-plus:before {
+ content: "\f217";
+}
+
+.fa-cart-arrow-down:before {
+ content: "\f218";
+}
+
+.fa-diamond:before {
+ content: "\f219";
+}
+
+.fa-ship:before {
+ content: "\f21a";
+}
+
+.fa-user-secret:before {
+ content: "\f21b";
+}
+
+.fa-motorcycle:before {
+ content: "\f21c";
+}
+
+.fa-street-view:before {
+ content: "\f21d";
+}
+
+.fa-heartbeat:before {
+ content: "\f21e";
+}
+
+.fa-venus:before {
+ content: "\f221";
+}
+
+.fa-mars:before {
+ content: "\f222";
+}
+
+.fa-mercury:before {
+ content: "\f223";
+}
+
+.fa-intersex:before,
+.fa-transgender:before {
+ content: "\f224";
+}
+
+.fa-transgender-alt:before {
+ content: "\f225";
+}
+
+.fa-venus-double:before {
+ content: "\f226";
+}
+
+.fa-mars-double:before {
+ content: "\f227";
+}
+
+.fa-venus-mars:before {
+ content: "\f228";
+}
+
+.fa-mars-stroke:before {
+ content: "\f229";
+}
+
+.fa-mars-stroke-v:before {
+ content: "\f22a";
+}
+
+.fa-mars-stroke-h:before {
+ content: "\f22b";
+}
+
+.fa-neuter:before {
+ content: "\f22c";
+}
+
+.fa-genderless:before {
+ content: "\f22d";
+}
+
+.fa-facebook-official:before {
+ content: "\f230";
+}
+
+.fa-pinterest-p:before {
+ content: "\f231";
+}
+
+.fa-whatsapp:before {
+ content: "\f232";
+}
+
+.fa-server:before {
+ content: "\f233";
+}
+
+.fa-user-plus:before {
+ content: "\f234";
+}
+
+.fa-user-times:before {
+ content: "\f235";
+}
+
+.fa-hotel:before,
+.fa-bed:before {
+ content: "\f236";
+}
+
+.fa-viacoin:before {
+ content: "\f237";
+}
+
+.fa-train:before {
+ content: "\f238";
+}
+
+.fa-subway:before {
+ content: "\f239";
+}
+
+.fa-medium:before {
+ content: "\f23a";
+}
+
+.fa-yc:before,
+.fa-y-combinator:before {
+ content: "\f23b";
+}
+
+.fa-optin-monster:before {
+ content: "\f23c";
+}
+
+.fa-opencart:before {
+ content: "\f23d";
+}
+
+.fa-expeditedssl:before {
+ content: "\f23e";
+}
+
+.fa-battery-4:before,
+.fa-battery:before,
+.fa-battery-full:before {
+ content: "\f240";
+}
+
+.fa-battery-3:before,
+.fa-battery-three-quarters:before {
+ content: "\f241";
+}
+
+.fa-battery-2:before,
+.fa-battery-half:before {
+ content: "\f242";
+}
+
+.fa-battery-1:before,
+.fa-battery-quarter:before {
+ content: "\f243";
+}
+
+.fa-battery-0:before,
+.fa-battery-empty:before {
+ content: "\f244";
+}
+
+.fa-mouse-pointer:before {
+ content: "\f245";
+}
+
+.fa-i-cursor:before {
+ content: "\f246";
+}
+
+.fa-object-group:before {
+ content: "\f247";
+}
+
+.fa-object-ungroup:before {
+ content: "\f248";
+}
+
+.fa-sticky-note:before {
+ content: "\f249";
+}
+
+.fa-sticky-note-o:before {
+ content: "\f24a";
+}
+
+.fa-cc-jcb:before {
+ content: "\f24b";
+}
+
+.fa-cc-diners-club:before {
+ content: "\f24c";
+}
+
+.fa-clone:before {
+ content: "\f24d";
+}
+
+.fa-balance-scale:before {
+ content: "\f24e";
+}
+
+.fa-hourglass-o:before {
+ content: "\f250";
+}
+
+.fa-hourglass-1:before,
+.fa-hourglass-start:before {
+ content: "\f251";
+}
+
+.fa-hourglass-2:before,
+.fa-hourglass-half:before {
+ content: "\f252";
+}
+
+.fa-hourglass-3:before,
+.fa-hourglass-end:before {
+ content: "\f253";
+}
+
+.fa-hourglass:before {
+ content: "\f254";
+}
+
+.fa-hand-grab-o:before,
+.fa-hand-rock-o:before {
+ content: "\f255";
+}
+
+.fa-hand-stop-o:before,
+.fa-hand-paper-o:before {
+ content: "\f256";
+}
+
+.fa-hand-scissors-o:before {
+ content: "\f257";
+}
+
+.fa-hand-lizard-o:before {
+ content: "\f258";
+}
+
+.fa-hand-spock-o:before {
+ content: "\f259";
+}
+
+.fa-hand-pointer-o:before {
+ content: "\f25a";
+}
+
+.fa-hand-peace-o:before {
+ content: "\f25b";
+}
+
+.fa-trademark:before {
+ content: "\f25c";
+}
+
+.fa-registered:before {
+ content: "\f25d";
+}
+
+.fa-creative-commons:before {
+ content: "\f25e";
+}
+
+.fa-gg:before {
+ content: "\f260";
+}
+
+.fa-gg-circle:before {
+ content: "\f261";
+}
+
+.fa-tripadvisor:before {
+ content: "\f262";
+}
+
+.fa-odnoklassniki:before {
+ content: "\f263";
+}
+
+.fa-odnoklassniki-square:before {
+ content: "\f264";
+}
+
+.fa-get-pocket:before {
+ content: "\f265";
+}
+
+.fa-wikipedia-w:before {
+ content: "\f266";
+}
+
+.fa-safari:before {
+ content: "\f267";
+}
+
+.fa-chrome:before {
+ content: "\f268";
+}
+
+.fa-firefox:before {
+ content: "\f269";
+}
+
+.fa-opera:before {
+ content: "\f26a";
+}
+
+.fa-internet-explorer:before {
+ content: "\f26b";
+}
+
+.fa-tv:before,
+.fa-television:before {
+ content: "\f26c";
+}
+
+.fa-contao:before {
+ content: "\f26d";
+}
+
+.fa-500px:before {
+ content: "\f26e";
+}
+
+.fa-amazon:before {
+ content: "\f270";
+}
+
+.fa-calendar-plus-o:before {
+ content: "\f271";
+}
+
+.fa-calendar-minus-o:before {
+ content: "\f272";
+}
+
+.fa-calendar-times-o:before {
+ content: "\f273";
+}
+
+.fa-calendar-check-o:before {
+ content: "\f274";
+}
+
+.fa-industry:before {
+ content: "\f275";
+}
+
+.fa-map-pin:before {
+ content: "\f276";
+}
+
+.fa-map-signs:before {
+ content: "\f277";
+}
+
+.fa-map-o:before {
+ content: "\f278";
+}
+
+.fa-map:before {
+ content: "\f279";
+}
+
+.fa-commenting:before {
+ content: "\f27a";
+}
+
+.fa-commenting-o:before {
+ content: "\f27b";
+}
+
+.fa-houzz:before {
+ content: "\f27c";
+}
+
+.fa-vimeo:before {
+ content: "\f27d";
+}
+
+.fa-black-tie:before {
+ content: "\f27e";
+}
+
+.fa-fonticons:before {
+ content: "\f280";
+}
+
+.fa-reddit-alien:before {
+ content: "\f281";
+}
+
+.fa-edge:before {
+ content: "\f282";
+}
+
+.fa-credit-card-alt:before {
+ content: "\f283";
+}
+
+.fa-codiepie:before {
+ content: "\f284";
+}
+
+.fa-modx:before {
+ content: "\f285";
+}
+
+.fa-fort-awesome:before {
+ content: "\f286";
+}
+
+.fa-usb:before {
+ content: "\f287";
+}
+
+.fa-product-hunt:before {
+ content: "\f288";
+}
+
+.fa-mixcloud:before {
+ content: "\f289";
+}
+
+.fa-scribd:before {
+ content: "\f28a";
+}
+
+.fa-pause-circle:before {
+ content: "\f28b";
+}
+
+.fa-pause-circle-o:before {
+ content: "\f28c";
+}
+
+.fa-stop-circle:before {
+ content: "\f28d";
+}
+
+.fa-stop-circle-o:before {
+ content: "\f28e";
+}
+
+.fa-shopping-bag:before {
+ content: "\f290";
+}
+
+.fa-shopping-basket:before {
+ content: "\f291";
+}
+
+.fa-hashtag:before {
+ content: "\f292";
+}
+
+.fa-bluetooth:before {
+ content: "\f293";
+}
+
+.fa-bluetooth-b:before {
+ content: "\f294";
+}
+
+.fa-percent:before {
+ content: "\f295";
+}
+
+.fa-gitlab:before {
+ content: "\f296";
+}
+
+.fa-wpbeginner:before {
+ content: "\f297";
+}
+
+.fa-wpforms:before {
+ content: "\f298";
+}
+
+.fa-envira:before {
+ content: "\f299";
+}
+
+.fa-universal-access:before {
+ content: "\f29a";
+}
+
+.fa-wheelchair-alt:before {
+ content: "\f29b";
+}
+
+.fa-question-circle-o:before {
+ content: "\f29c";
+}
+
+.fa-blind:before {
+ content: "\f29d";
+}
+
+.fa-audio-description:before {
+ content: "\f29e";
+}
+
+.fa-volume-control-phone:before {
+ content: "\f2a0";
+}
+
+.fa-braille:before {
+ content: "\f2a1";
+}
+
+.fa-assistive-listening-systems:before {
+ content: "\f2a2";
+}
+
+.fa-asl-interpreting:before,
+.fa-american-sign-language-interpreting:before {
+ content: "\f2a3";
+}
+
+.fa-deafness:before,
+.fa-hard-of-hearing:before,
+.fa-deaf:before {
+ content: "\f2a4";
+}
+
+.fa-glide:before {
+ content: "\f2a5";
+}
+
+.fa-glide-g:before {
+ content: "\f2a6";
+}
+
+.fa-signing:before,
+.fa-sign-language:before {
+ content: "\f2a7";
+}
+
+.fa-low-vision:before {
+ content: "\f2a8";
+}
+
+.fa-viadeo:before {
+ content: "\f2a9";
+}
+
+.fa-viadeo-square:before {
+ content: "\f2aa";
+}
+
+.fa-snapchat:before {
+ content: "\f2ab";
+}
+
+.fa-snapchat-ghost:before {
+ content: "\f2ac";
+}
+
+.fa-snapchat-square:before {
+ content: "\f2ad";
+}
+
+.fa-pied-piper:before {
+ content: "\f2ae";
+}
+
+.fa-first-order:before {
+ content: "\f2b0";
+}
+
+.fa-yoast:before {
+ content: "\f2b1";
+}
+
+.fa-themeisle:before {
+ content: "\f2b2";
+}
+
+.fa-google-plus-circle:before,
+.fa-google-plus-official:before {
+ content: "\f2b3";
+}
+
+.fa-fa:before,
+.fa-font-awesome:before {
+ content: "\f2b4";
+}
+
+.fa-handshake-o:before {
+ content: "\f2b5";
+}
+
+.fa-envelope-open:before {
+ content: "\f2b6";
+}
+
+.fa-envelope-open-o:before {
+ content: "\f2b7";
+}
+
+.fa-linode:before {
+ content: "\f2b8";
+}
+
+.fa-address-book:before {
+ content: "\f2b9";
+}
+
+.fa-address-book-o:before {
+ content: "\f2ba";
+}
+
+.fa-vcard:before,
+.fa-address-card:before {
+ content: "\f2bb";
+}
+
+.fa-vcard-o:before,
+.fa-address-card-o:before {
+ content: "\f2bc";
+}
+
+.fa-user-circle:before {
+ content: "\f2bd";
+}
+
+.fa-user-circle-o:before {
+ content: "\f2be";
+}
+
+.fa-user-o:before {
+ content: "\f2c0";
+}
+
+.fa-id-badge:before {
+ content: "\f2c1";
+}
+
+.fa-drivers-license:before,
+.fa-id-card:before {
+ content: "\f2c2";
+}
+
+.fa-drivers-license-o:before,
+.fa-id-card-o:before {
+ content: "\f2c3";
+}
+
+.fa-quora:before {
+ content: "\f2c4";
+}
+
+.fa-free-code-camp:before {
+ content: "\f2c5";
+}
+
+.fa-telegram:before {
+ content: "\f2c6";
+}
+
+.fa-thermometer-4:before,
+.fa-thermometer:before,
+.fa-thermometer-full:before {
+ content: "\f2c7";
+}
+
+.fa-thermometer-3:before,
+.fa-thermometer-three-quarters:before {
+ content: "\f2c8";
+}
+
+.fa-thermometer-2:before,
+.fa-thermometer-half:before {
+ content: "\f2c9";
+}
+
+.fa-thermometer-1:before,
+.fa-thermometer-quarter:before {
+ content: "\f2ca";
+}
+
+.fa-thermometer-0:before,
+.fa-thermometer-empty:before {
+ content: "\f2cb";
+}
+
+.fa-shower:before {
+ content: "\f2cc";
+}
+
+.fa-bathtub:before,
+.fa-s15:before,
+.fa-bath:before {
+ content: "\f2cd";
+}
+
+.fa-podcast:before {
+ content: "\f2ce";
+}
+
+.fa-window-maximize:before {
+ content: "\f2d0";
+}
+
+.fa-window-minimize:before {
+ content: "\f2d1";
+}
+
+.fa-window-restore:before {
+ content: "\f2d2";
+}
+
+.fa-times-rectangle:before,
+.fa-window-close:before {
+ content: "\f2d3";
+}
+
+.fa-times-rectangle-o:before,
+.fa-window-close-o:before {
+ content: "\f2d4";
+}
+
+.fa-bandcamp:before {
+ content: "\f2d5";
+}
+
+.fa-grav:before {
+ content: "\f2d6";
+}
+
+.fa-etsy:before {
+ content: "\f2d7";
+}
+
+.fa-imdb:before {
+ content: "\f2d8";
+}
+
+.fa-ravelry:before {
+ content: "\f2d9";
+}
+
+.fa-eercast:before {
+ content: "\f2da";
+}
+
+.fa-microchip:before {
+ content: "\f2db";
+}
+
+.fa-snowflake-o:before {
+ content: "\f2dc";
+}
+
+.fa-superpowers:before {
+ content: "\f2dd";
+}
+
+.fa-wpexplorer:before {
+ content: "\f2de";
+}
+
+.fa-meetup:before {
+ content: "\f2e0";
+}
+
+.fa {
+ display: inline-block;
+ font: normal normal normal 14px/1 FontAwesome;
+ font-size: inherit;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+.icon-add3:before {
+ content: "\ea8d";
+}
+
+.icon-fontclass-zhizhao:before {
+ content: "\ea17";
+}
+.icon-add1:before {
+ content: "\ea8b";
+}
+
+.icon-add2:before {
+ content: "\ea8c";
+}
+
+.icon-fontclass-xinyongzhi:before {
+ content: "\ea8a";
+}
+
+.icon-fontclass-jiaona:before {
+ content: "\ea89";
+}
+
+.icon-fontclass-zengsong:before {
+ content: "\ea88";
+}
+
+.icon-fontclass-jilu2:before {
+ content: "\ea87";
+}
+
+.icon-fontclass-jilu1:before {
+ content: "\ea86";
+}
+
+.icon-fontclass-quntuoke:before {
+ content: "\ea85";
+}
+
+.icon-jianpan:before {
+ content: "\ea84";
+}
+
+.icon-fontclass-guan:before {
+ content: "\ea83";
+}
+
+.icon-fontclass-guanbi:before {
+ content: "\ea82";
+}
+
+.icon-fontclass-daili:before {
+ content: "\ea81";
+}
+
+.icon-fontclass-jinhuo:before {
+ content: "\ea80";
+}
+
+.icon-fontclass-kucun1:before {
+ content: "\ea7f";
+}
+
+.icon-fontclass-jilu:before {
+ content: "\ea7e";
+}
+
+.icon-fontclass-guanli:before {
+ content: "\ea7d";
+}
+
+.icon-fontclass-cehchang:before {
+ content: "\ea7c";
+}
+
+.icon-fontclass-xinghao:before {
+ content: "\ea7b";
+}
+
+.icon-fontclass-hangbanxinxi:before {
+ content: "\ea7a";
+}
+
+.icon-fontclass-zhaoshangzhuanyuan:before {
+ content: "\ea79";
+}
+
+.icon-fontclass-xiaofeijiangli:before {
+ content: "\ea78";
+}
+
+.icon-fontclass-shequmendian:before {
+ content: "\ea77";
+}
+
+.icon-fontclass-dianshanglianmeng:before {
+ content: "\ea76";
+}
+
+.icon-fontclass-waikan:before {
+ content: "\ea75";
+}
+
+.icon-fontclass-wenzhangshu:before {
+ content: "\ea74";
+}
+
+.icon-fontclass-lingshou:before {
+ content: "\ea73";
+}
+
+.icon-fontclass-quanguojiayou:before {
+ content: "\ea72";
+}
+
+.icon-extension-shequmendian:before {
+ content: "\ea71";
+}
+
+.icon-fontclass-zhibo:before {
+ content: "\ea5b";
+}
+
+.icon-fontclass-yuncang:before {
+ content: "\e9fd";
+}
+.icon-fontclass-yunkucun:before {
+ content: "\ea70";
+}
+
+.icon-member_kefu:before {
+ content: "\ea6f";
+}
+
+.icon-fontclass-maikefeng:before {
+ content: "\ea6e";
+}
+
+.icon-fontclass-shengjima1:before {
+ content: "\ea6d";
+}
+
+.icon-fontclass-shouquanma-01:before {
+ content: "\ea6c";
+}
+
+.icon-fontclass-yixiaoyiqi:before {
+ content: "\ea6b";
+}
+
+.icon-fontclass-fenxiangjiang:before {
+ content: "\ea6a";
+}
+
+.icon-fontclass-tuijianjiang:before {
+ content: "\ea69";
+}
+
+.icon-fontclass-paihang:before {
+ content: "\ea68";
+}
+
+.icon-fontclass-paihangtg:before {
+ content: "\ea67";
+}
+
+.icon-fontclass-chubeijin:before {
+ content: "\ea66";
+}
+
+.icon-fontclass-quanzi2:before {
+ content: "\ea65";
+}
+
+.icon-fontclass-quanzi1:before {
+ content: "\ea64";
+}
+
+.icon-fontclass-daohang:before {
+ content: "\ea63";
+}
+
+.icon-fontclass-weizhi:before {
+ content: "\ea62";
+}
+
+.icon-fontclass-anzhuangshifu1:before {
+ content: "\ea61";
+}
+
+.icon-fontclass-anzhuangfuwutg:before {
+ content: "\ea60";
+}
+
+.icon-fontclass-anzhuangfuwuhy:before {
+ content: "\ea5f";
+}
+
+.icon-fontclass-huiyuankaquanrukou:before {
+ content: "\ea5e";
+}
+
+.icon-fontclass-xiajizuji:before {
+ content: "\ea5d";
+}
+
+.icon-fontclass-shengjima:before {
+ content: "\ea5c";
+}
+
+.icon-fontclass-tishi1:before {
+ content: "\ea59";
+}
+
+.icon-fontclass-tishi:before {
+ content: "\ea5a";
+}
+
+.icon-fontclass-manghe:before {
+ content: "\ea58";
+}
+
+.icon-fontclass-xiaofeibaoxiao:before {
+ content: "\ea57";
+}
+
+.icon-fontclass-tuijian1:before {
+ content: "\ea56";
+}
+
+.icon-fontclass-tousu:before {
+ content: "\ea55";
+}
+
+.icon-fontclass-choujianghuodong:before {
+ content: "\ea54";
+}
+
+.icon-fontclass-tiezishezhi:before {
+ content: "\ea53";
+}
+
+.icon-fontclass-shouchu:before {
+ content: "\ea52";
+}
+
+.icon-fontclass-renshu1:before {
+ content: "\ea51";
+}
+
+.icon-fontclass-shezhi2:before {
+ content: "\ea50";
+}
+
+.icon-fontclass-bukejian:before {
+ content: "\ea4f";
+}
+
+.icon-fontclass-tuijian:before {
+ content: "\ea4e";
+}
+
+.icon-fontclass-xiugai:before {
+ content: "\ea4d";
+}
+
+.icon-fontclass-shanchu:before {
+ content: "\ea4c";
+}
+
+.icon-fontclass-dianzan:before {
+ content: "\ea4b";
+}
+
+.icon-fontclass-pinglun1:before {
+ content: "\ea4a";
+}
+
+.icon-fontclass-guanzhu:before {
+ content: "\ea49";
+}
+
+.icon-fontclass-quanzi:before {
+ content: "\ea48";
+}
+
+.icon-fontclass-fabu:before {
+ content: "\ea47";
+}
+
+.icon-fontclass-bianji:before {
+ content: "\ea46";
+}
+
+.icon-fontclass-huiyuanzhongixn:before {
+ content: "\ea45";
+}
+
+.icon-fontclass-renshu:before {
+ content: "\ea44";
+}
+
+.icon-fontclass-tiezi:before {
+ content: "\ea43";
+}
+
+.icon-fontclass-pingfen:before {
+ content: "\ea41";
+}
+
+.icon-fontclass-mendianxaiofeika1:before {
+ content: "\ea42";
+}
+
+.icon-fontclass-huiyuanquanyi:before {
+ content: "\ea38";
+}
+
+.icon-fontclass-fufeijilu:before {
+ content: "\ea40";
+}
+
+.icon-fontclass-shouye2:before {
+ content: "\ea3f";
+}
+
+.icon-fontclass-shezhi1:before {
+ content: "\ea3e";
+}
+
+.icon-fontclass-anzhuangshifu:before {
+ content: "\ea3c";
+}
+
+.icon-fontclass-anzhuang:before {
+ content: "\ea3d";
+}
+
+.icon-fontclass-yingyongshichang1:before {
+ content: "\ea3b";
+}
+
+.icon-fontclass-wenzhangzhongxin:before {
+ content: "\ea3a";
+}
+
+.icon-fontclass-dashang:before {
+ content: "\ea39";
+}
+
+.icon-fontclass-rili:before {
+ content: "\ea37";
+}
+
+.icon-fontclass-zuozhe:before {
+ content: "\ea36";
+}
+
+.icon-fontclass-tuoke:before {
+ content: "\ea35";
+}
+
+.icon-fontclass-xingpingle:before {
+ content: "\ea34";
+}
+
+.icon-fontclass-shipindati:before {
+ content: "\ea33";
+}
+
+.icon-fontclass-shouquanshu:before {
+ content: "\ea32";
+}
+
+.icon-fontclass-xaizai:before {
+ content: "\ea31";
+}
+
+.icon-fontclass-yulan:before {
+ content: "\ea30";
+}
+
+.icon-fontclass-gantanhao:before {
+ content: "\ea2f";
+}
+
+.icon-fontclass-xingpinle:before {
+ content: "\ea2e";
+}
+
+.icon-fontclass-xiaoshoujiangli:before {
+ content: "\ea2d";
+}
+
+.icon-fontclass-bofang:before {
+ content: "\ea2c";
+}
+
+.icon-fontclass-tongzhi:before {
+ content: "\ea2b";
+}
+
+.icon-fontclass-anliku:before {
+ content: "\ea2a";
+}
+
+.icon-fontclass-gengxin:before {
+ content: "\ea29";
+}
+
+.icon-fontclass-zitidian:before {
+ content: "\ea28";
+}
+
+.icon-fontclass-mendianpintuan:before {
+ content: "\ea27";
+}
+
+.icon-fontclass-paihangbang:before {
+ content: "\ea26";
+}
+
+.icon-fontclass-yugushouyi:before {
+ content: "\ea25";
+}
+
+.icon-fontclass-yiingyongguanli:before {
+ content: "\ea24";
+}
+
+.icon-fontclass-fenxiang:before {
+ content: "\ea23";
+}
+
+.icon-fontclass-shuju:before {
+ content: "\ea22";
+}
+
+.icon-fontclass-huodongshuoming:before {
+ content: "\ea21";
+}
+
+.icon-fontclass-redu:before {
+ content: "\ea20";
+}
+
+.icon-fontclass-kucun:before {
+ content: "\ea1f";
+}
+
+.icon-fontclass-wode:before {
+ content: "\ea1e";
+}
+
+.icon-fontclass-dingdanguanli:before {
+ content: "\ea1d";
+}
+
+.icon-fontclass-huodong:before {
+ content: "\ea1c";
+}
+
+.icon-fontclass-cefu:before {
+ content: "\ea1a";
+}
+
+.icon-fontclass-shifangyuncang1:before {
+ content: "\ea1b";
+}
+
+.icon-ht_textstyle_delete1:before {
+ content: "\ea19";
+}
+
+.icon-iconfonticon-member_integral_1:before {
+ content: "\ea18";
+}
+
+.icon-fontclass-zhizhao:before {
+ content: "\ea17";
+}
+
+.icon-fontclass-gonggao:before {
+ content: "\ea16";
+}
+
+.icon-fontclass-tuijianguan:before {
+ content: "\ea15";
+}
+
+.icon-fontclass-shangjijiang:before {
+ content: "\ea14";
+}
+
+.icon-fontclass-shaixuan:before {
+ content: "\ea13";
+}
+
+.icon-fontclass-xiaoshoubaobiao:before {
+ content: "\ea12";
+}
+
+.icon-fontclass-tihuoka:before {
+ content: "\ea11";
+}
+
+.icon-fontclass-mingpian:before {
+ content: "\ea10";
+}
+
+.icon-fontclass-fenxiang2222:before {
+ content: "\ea0f";
+}
+
+.icon-fontclass-dianpu:before {
+ content: "\ea0e";
+}
+
+.icon-fontclass-qian:before {
+ content: "\ea0d";
+}
+
+.icon-fontclass-jifen:before {
+ content: "\ea0c";
+}
+
+.icon-fontclass-lanniujifen:before {
+ content: "\ea01";
+}
+
+.icon-fontclass-tuanduifenhong:before {
+ content: "\ea00";
+}
+
+.icon-fontclass-jianglijilu:before {
+ content: "\e9ff";
+}
+
+.icon-fontclass-saomajilu:before {
+ content: "\e9fc";
+}
+
+.icon-fontclass-shengchengjilu:before {
+ content: "\e9fb";
+}
+
+.icon-fontclass-tuanduifenxiaoshang:before {
+ content: "\ea0b";
+}
+
+.icon-fontclass-youhuiquan:before {
+ content: "\ea0a";
+}
+
+.icon-fontclass-kehu:before {
+ content: "\ea09";
+}
+
+.icon-fontclass-pinglun:before {
+ content: "\ea08";
+}
+
+.icon-fontclass-erweima:before {
+ content: "\ea07";
+}
+
+.icon-fontclass-dizhi:before {
+ content: "\ea05";
+}
+
+.icon-fontclass-wangjimima2:before {
+ content: "\ea04";
+}
+
+.icon-fontclass-shezhi:before {
+ content: "\ea03";
+}
+
+.icon-fontclass-zuji2:before {
+ content: "\ea06";
+}
+
+.icon-fontclass-1:before {
+ content: "\ea02";
+}
+
+.icon-fontclass-xiaofeihongbao:before {
+ content: "\e9fe";
+}
+
+.icon-fontclass-yuncang:before {
+ content: "\e9fd";
+}
+
+.icon-fontclass-huiyuanzhongxin1:before {
+ content: "\e9fa";
+}
+
+.icon-fontclass-gouwuche:before {
+ content: "\e9f9";
+}
+
+.icon-fontclass-tuiguang2:before {
+ content: "\e9f8";
+}
+
+.icon-fontclass-fenlei1:before {
+ content: "\e9f7";
+}
+
+.icon-fontclass-shouye1:before {
+ content: "\e9f6";
+}
+
+.icon-fontclass-mendianshenqing2:before {
+ content: "\e9eb";
+}
+
+.icon-fontclass-tequanzhekou:before {
+ content: "\e9f5";
+}
+
+.icon-fontclass-mendianguanggao:before {
+ content: "\e9f4";
+}
+
+.icon-fontclass-morenshezhi:before {
+ content: "\e9f3";
+}
+
+.icon-fontclass-jichushezhi:before {
+ content: "\e9f2";
+}
+
+.icon-fontclass-renyuanguanli:before {
+ content: "\e9f1";
+}
+
+.icon-fontclass-shujutongji:before {
+ content: "\e9f0";
+}
+
+.icon-fontclass-tichengmingxi:before {
+ content: "\e9ef";
+}
+
+.icon-fontclass-shouyintaidingdan:before {
+ content: "\e9ee";
+}
+
+.icon-fontclass-shangpindingdan:before {
+ content: "\e9ed";
+}
+
+.icon-fontclass-mendianshangpin:before {
+ content: "\e9ec";
+}
+
+.icon-fontclass-mendianfenlei:before {
+ content: "\e9ea";
+}
+
+.icon-fontclass-mendianguanli:before {
+ content: "\e9e9";
+}
+
+.icon-fontclass-tuiguang1:before {
+ content: "\e9e8";
+}
+
+.icon-extension_71:before {
+ content: "\e9e3";
+}
+
+.icon-fontclass-gouwuche1:before {
+ content: "\e9e7";
+}
+
+.icon-fontclass-shouye:before {
+ content: "\e9e6";
+}
+
+.icon-fontclass-fenlei:before {
+ content: "\e9e5";
+}
+
+.icon-fontclass-tuiguang:before {
+ content: "\e9e4";
+}
+
+.icon-fontclass-huiyuanzhongxin:before {
+ content: "\e9e2";
+}
+
+.icon-qt_icon_record:before {
+ content: "\e9e1";
+}
+
+.icon-customform_red:before {
+ content: "\e9df";
+}
+
+.icon-customform_add:before {
+ content: "\e9e0";
+}
+
+.icon-customform_list_2:before {
+ content: "\e9d8";
+}
+
+.icon-customform_list_4:before {
+ content: "\e9dc";
+}
+
+.icon-customform_list_1:before {
+ content: "\e9d7";
+}
+
+.icon-customform_list_3:before {
+ content: "\e9d9";
+}
+
+.icon-customform_list_7:before {
+ content: "\e9da";
+}
+
+.icon-customform_list_6:before {
+ content: "\e9db";
+}
+
+.icon-customform_list_5:before {
+ content: "\e9dd";
+}
+
+.icon-customform_list_8:before {
+ content: "\e9de";
+}
+
+.icon-member_mygroupbuy:before {
+ content: "\e9d4";
+}
+
+.icon-qt_button_groupbbuy:before {
+ content: "\e9d5";
+}
+
+.icon-member_groupbuy:before {
+ content: "\e9d6";
+}
+
+.icon-ht_shop_admin:before {
+ content: "\e9d1";
+}
+
+.icon-ht_interacting_marketing:before {
+ content: "\e9d2";
+}
+
+.icon-ht_asset_vip:before {
+ content: "\e9d3";
+}
+
+.icon-member_area_search:before {
+ content: "\e9d0";
+}
+
+.icon-pd_leveltag:before {
+ content: "\e9ce";
+}
+
+.icon-member_buygroup:before {
+ content: "\e9cf";
+}
+
+.icon-pd_buygroupbutton:before {
+ content: "\e9cd";
+}
+
+.icon-ht_tips:before {
+ content: "\e9cc";
+}
+
+.icon-member_my_buy:before {
+ content: "\e9ca";
+}
+
+.icon-member_buygroup_orderlist:before {
+ content: "\e9cb";
+}
+
+.icon-ht_operation_up:before {
+ content: "\e9c8";
+}
+
+.icon-ht_operation_down:before {
+ content: "\e9c9";
+}
+
+.icon-member_integral_yue:before {
+ content: "\e9c7";
+}
+
+.icon-extension_shop_shareholder:before {
+ content: "\e9c6";
+}
+
+.icon-member_reward_ranking:before {
+ content: "\e9c4";
+}
+
+.icon-axph_read:before {
+ content: "\e9c5";
+}
+
+.icon-ht_btn_smallprogram:before {
+ content: "\e9c3";
+}
+
+.icon-massage_clean:before {
+ content: "\e9c1";
+}
+
+.icon-massage_set:before {
+ content: "\e9c2";
+}
+
+.icon-massage_assets:before {
+ content: "\e9b6";
+}
+
+.icon-massage_apply:before {
+ content: "\e9b7";
+}
+
+.icon-massage_msg:before {
+ content: "\e9b8";
+}
+
+.icon-massage_client:before {
+ content: "\e9b9";
+}
+
+.icon-massage_order:before {
+ content: "\e9bc";
+}
+
+.icon-massage_discount:before {
+ content: "\e9bd";
+}
+
+.icon-member_massage_remind:before {
+ content: "\e9be";
+}
+
+.icon-massage_trade_logistics:before {
+ content: "\e9bf";
+}
+
+.icon-massage_withdrawal:before {
+ content: "\e9c0";
+}
+
+.icon-ht_smallprogramcode:before {
+ content: "\e9b5";
+}
+
+.icon-ht_basis_blank:before {
+ content: "\e9a8";
+}
+
+.icon-ht_basis_form:before {
+ content: "\e9a9";
+}
+
+.icon-ht_basis_data:before {
+ content: "\e9aa";
+}
+
+.icon-ht_basis_membercenter:before {
+ content: "\e9ab";
+}
+
+.icon-ht_basis_chatw:before {
+ content: "\e9ac";
+}
+
+.icon-ht_basis_luckydraw:before {
+ content: "\e9ad";
+}
+
+.icon-ht_basis_order:before {
+ content: "\e9ae";
+}
+
+.icon-ht_basis_tools:before {
+ content: "\e9af";
+}
+
+.icon-ht_basis_line:before {
+ content: "\e9b0";
+}
+
+.icon-ht_basis_map:before {
+ content: "\e9b1";
+}
+
+.icon-ht_basis_shops:before {
+ content: "\e9b2";
+}
+
+.icon-ht_basis_shortvedio:before {
+ content: "\e9b3";
+}
+
+.icon-ht_basis_top:before {
+ content: "\e9b4";
+}
+
+.icon-ht_operation_pass:before {
+ content: "\e9a6";
+}
+
+.icon-ht_operation_reject:before {
+ content: "\e9a7";
+}
+
+.icon-member_installserverapply:before {
+ content: "\e9a4";
+}
+
+.icon-member_installserver:before {
+ content: "\e9a5";
+}
+
+.icon-extension_samelevel_reward:before {
+ content: "\e9a3";
+}
+
+.icon-ht_operation_tag:before {
+ content: "\e9a2";
+}
+
+.icon-ht_tipicon:before {
+ content: "\e9a1";
+}
+
+.icon-ht_show_formicon:before {
+ content: "\e9a0";
+}
+
+.icon-member_healthtest:before {
+ content: "\e99e";
+}
+
+.icon-member_questionsurvey:before {
+ content: "\e99f";
+}
+
+.icon-jk_haibao:before {
+ content: "\e999";
+}
+
+.icon-jk_male:before {
+ content: "\e99a";
+}
+
+.icon-jk_record:before {
+ content: "\e99b";
+}
+
+.icon-jk_female:before {
+ content: "\e99c";
+}
+
+.icon-wj_record:before {
+ content: "\e99d";
+}
+
+.icon-ht_operation_ewecode:before {
+ content: "\e998";
+}
+
+.icon-ht_operation_data:before {
+ content: "\e997";
+}
+
+.icon-ht_qd_daojishi:before {
+ content: "\e995";
+}
+
+.icon-ht_qd_miaosha:before {
+ content: "\e996";
+}
+
+.icon-ht_more_right:before {
+ content: "\e992";
+}
+
+.icon-ht_more_bottom:before {
+ content: "\e993";
+}
+
+.icon-ht_operation_add:before {
+ content: "\e994";
+}
+
+.icon-fx_haoyou:before {
+ content: "\e990";
+}
+
+.icon-fx_haowuquan:before {
+ content: "\e991";
+}
+
+.icon-zx_map_locate2:before {
+ content: "\e98c";
+}
+
+.icon-zx_map_locate1:before {
+ content: "\e98d";
+}
+
+.icon-zx_map_local:before {
+ content: "\e98e";
+}
+
+.icon-zx_map_tel:before {
+ content: "\e98f";
+}
+
+.icon-ht_picgroup_four:before {
+ content: "\e987";
+}
+
+.icon-ht_picgroup_identify:before {
+ content: "\e988";
+}
+
+.icon-ht_picgroup_three_2:before {
+ content: "\e989";
+}
+
+.icon-ht_picgroup_three_1:before {
+ content: "\e98a";
+}
+
+.icon-ht_picgroup_four_1:before {
+ content: "\e98b";
+}
+
+.icon-member_group_livecode:before {
+ content: "\e986";
+}
+
+.icon-qhm_listtitle:before {
+ content: "\e97f";
+}
+
+.icon-qhm_listbg:before {
+ content: "\e980";
+}
+
+.icon-qhm_create:before {
+ content: "\e981";
+}
+
+.icon-qhm_recommend:before {
+ content: "\e982";
+}
+
+.icon-qhm_shuoming:before {
+ content: "\e983";
+}
+
+.icon-qhm_record:before {
+ content: "\e984";
+}
+
+.icon-qhm_service:before {
+ content: "\e985";
+}
+
+.icon-zb_goods1:before {
+ content: "\e97e";
+}
+
+.icon-ht_btn_news:before {
+ content: "\e97d";
+}
+
+.icon-ht_btn_editsend:before {
+ content: "\e97c";
+}
+
+.icon-pay_cashondelivery:before {
+ content: "\e97b";
+}
+
+.icon-member-left:before {
+ content: "\e97a";
+}
+
+.icon-ht_goods_twopic:before {
+ content: "\e973";
+}
+
+.icon-ht_goods_onepic:before {
+ content: "\e974";
+}
+
+.icon-ht_textstyle_left:before {
+ content: "\e975";
+}
+
+.icon-ht_search_textaddicon:before {
+ content: "\e976";
+}
+
+.icon-ht_textstyle_middle:before {
+ content: "\e977";
+}
+
+.icon-ht_search_textaddbtn:before {
+ content: "\e978";
+}
+
+.icon-ht_textstyle_right:before {
+ content: "\e979";
+}
+
+.icon-ht_goods_three:before {
+ content: "\e96f";
+}
+
+.icon-ht_goods_vertical:before {
+ content: "\e970";
+}
+
+.icon-ht_goods_threescroll:before {
+ content: "\e971";
+}
+
+.icon-ht_goods_threepic:before {
+ content: "\e972";
+}
+
+.icon-ht_bg_color:before {
+ content: "\e965";
+}
+
+.icon-ht_bg_bgimg:before {
+ content: "\e966";
+}
+
+.icon-ht_search_left:before {
+ content: "\e967";
+}
+
+.icon-ht_textstyle_blod:before {
+ content: "\e968";
+}
+
+.icon-ht_textstyle_italic:before {
+ content: "\e969";
+}
+
+.icon-ht_hearmenu_left:before {
+ content: "\e96a";
+}
+
+.icon-ht_hearmenu_right:before {
+ content: "\e96b";
+}
+
+.icon-ht_search_middle:before {
+ content: "\e96c";
+}
+
+.icon-ht_textstyle_delete:before {
+ content: "\e96d";
+}
+
+.icon-ht_search_btn:before {
+ content: "\e96e";
+}
+
+.icon-all_search_2:before {
+ content: "\e964";
+}
+
+.icon-ht_content_goods:before {
+ content: "\e956";
+}
+
+.icon-ht_content_systemmessage:before {
+ content: "\e957";
+}
+
+.icon-ht_content_tixian:before {
+ content: "\e958";
+}
+
+.icon-ht_content_apply:before {
+ content: "\e959";
+}
+
+.icon-ht_content_order:before {
+ content: "\e95a";
+}
+
+.icon-ht_flist_message:before {
+ content: "\e95b";
+}
+
+.icon-ht_list_line_coupons:before {
+ content: "\e95c";
+}
+
+.icon-ht_list_line_system:before {
+ content: "\e95d";
+}
+
+.icon-ht_list_line_tixian:before {
+ content: "\e95e";
+}
+
+.icon-ht_list_line_allmessage:before {
+ content: "\e95f";
+}
+
+.icon-ht_content_coupons:before {
+ content: "\e960";
+}
+
+.icon-ht_list_line_goods:before {
+ content: "\e961";
+}
+
+.icon-ht_list_line_order:before {
+ content: "\e962";
+}
+
+.icon-ht_list_line_apply:before {
+ content: "\e963";
+}
+
+.icon-ht_btn_save:before {
+ content: "\e954";
+}
+
+.icon-ht_btn_backlist:before {
+ content: "\e955";
+}
+
+.icon-ht_operation_edit:before {
+ content: "\e94f";
+}
+
+.icon-ht_operation_perview:before {
+ content: "\e950";
+}
+
+.icon-ht_operation_delete:before {
+ content: "\e951";
+}
+
+.icon-ht_operation_copyline:before {
+ content: "\e952";
+}
+
+.icon-ht_operation_copypage:before {
+ content: "\e953";
+}
+
+.icon-ht_left_diymodeladmin:before {
+ content: "\e94e";
+}
+
+.icon-ht_btn_alipay:before {
+ content: "\e944";
+}
+
+.icon-ht_btn_gongzhonghao:before {
+ content: "\e945";
+}
+
+.icon-ht_btn_app:before {
+ content: "\e946";
+}
+
+.icon-ht_btn_wap:before {
+ content: "\e947";
+}
+
+.icon-ht_btn_otherpage:before {
+ content: "\e948";
+}
+
+.icon-ht_left_modeladmin:before {
+ content: "\e949";
+}
+
+.icon-ht_left_firstad:before {
+ content: "\e94a";
+}
+
+.icon-ht_left_shoppage:before {
+ content: "\e94b";
+}
+
+.icon-ht_left_footernavigation:before {
+ content: "\e94c";
+}
+
+.icon-ht_left_topnavigation:before {
+ content: "\e94d";
+}
+
+.icon-ht_basis_announce:before {
+ content: "\e92e";
+}
+
+.icon-ht_basis_location:before {
+ content: "\e92f";
+}
+
+.icon-ht_basis_buttongroup:before {
+ content: "\e930";
+}
+
+.icon-ht_basis_ftext:before {
+ content: "\e931";
+}
+
+.icon-ht_basis_goodgroup:before {
+ content: "\e932";
+}
+
+.icon-ht_basis_shopfor:before {
+ content: "\e933";
+}
+
+.icon-ht_basis_radio:before {
+ content: "\e934";
+}
+
+.icon-ht_basis_shuffling:before {
+ content: "\e935";
+}
+
+.icon-ht_basis_suspendbutton:before {
+ content: "\e936";
+}
+
+.icon-ht_basis_singlepic:before {
+ content: "\e937";
+}
+
+.icon-ht_basis_picmofang:before {
+ content: "\e938";
+}
+
+.icon-ht_basis_searchframe:before {
+ content: "\e939";
+}
+
+.icon-ht_marketing_signin:before {
+ content: "\e93a";
+}
+
+.icon-ht_basis_title:before {
+ content: "\e93b";
+}
+
+.icon-ht_marketing_coupons:before {
+ content: "\e93c";
+}
+
+.icon-ht_marketing_headline:before {
+ content: "\e93d";
+}
+
+.icon-ht_marketing_article:before {
+ content: "\e93e";
+}
+
+.icon-ht_marketing_livegood:before {
+ content: "\e93f";
+}
+
+.icon-ht_marketing_kaituan:before {
+ content: "\e940";
+}
+
+.icon-ht_marketing_tab:before {
+ content: "\e941";
+}
+
+.icon-ht_marketing_spellgroup:before {
+ content: "\e942";
+}
+
+.icon-ht_marketing_xianshigou:before {
+ content: "\e943";
+}
+
+.icon-balance_changeaixinzhi:before {
+ content: "\e92c";
+}
+
+.icon-toast_warn:before {
+ content: "\e92d";
+}
+
+.icon-member_coupons_qrcode:before {
+ content: "\e92b";
+}
+
+.icon-rank_rankframe:before {
+ content: "\e92a";
+}
+
+.icon-all_inforelease:before {
+ content: "\e929";
+}
+
+.icon-cord_erdutixian:before {
+ content: "\e928";
+}
+
+.icon-supplier_release:before {
+ content: "\e926";
+}
+
+.icon-supplier_myrelease:before {
+ content: "\e927";
+}
+
+.icon-energetank_battle:before {
+ content: "\e91f";
+}
+
+.icon-energetank_vipcard:before {
+ content: "\e920";
+}
+
+.icon-energetankshop_memberinformation:before {
+ content: "\e921";
+}
+
+.icon-energetankshop_myequipment:before {
+ content: "\e922";
+}
+
+.icon-energetank_record:before {
+ content: "\e923";
+}
+
+.icon-energetankshop_code:before {
+ content: "\e924";
+}
+
+.icon-energetankshop_shopinformation:before {
+ content: "\e925";
+}
+
+.icon-member_chamber_dealer:before {
+ content: "\e91a";
+}
+
+.icon-ranking_record:before {
+ content: "\e91b";
+}
+
+.icon-member_chamber:before {
+ content: "\e91c";
+}
+
+.icon-member_elitecenter:before {
+ content: "\e91d";
+}
+
+.icon-elite_record:before {
+ content: "\e91e";
+}
+
+.icon-goods-myshop:before {
+ content: "\e919";
+}
+
+.icon-balance_cmc:before {
+ content: "\e918";
+}
+
+.icon-all_filldelete:before {
+ content: "\e915";
+}
+
+.icon-promote_contactpreson:before {
+ content: "\e916";
+}
+
+.icon-promote_callnum:before {
+ content: "\e917";
+}
+
+.icon-member_promoteassitant:before {
+ content: "\e914";
+}
+
+.icon-video_recording:before {
+ content: "\e911";
+}
+
+.icon-video_myvideorecord:before {
+ content: "\e912";
+}
+
+.icon-incomedetail:before {
+ content: "\e913";
+}
+
+.icon-member_mycontract:before {
+ content: "\e910";
+}
+
+.icon-member_meeting_active:before {
+ content: "\e90f";
+}
+
+.icon-member_active_apply:before {
+ content: "\e90e";
+}
+
+.icon-all_watchroot:before {
+ content: "\e909";
+}
+
+.icon-all_select_active:before {
+ content: "\e90a";
+}
+
+.icon-all_select_normal:before {
+ content: "\e90b";
+}
+
+.icon-all_select_choose:before {
+ content: "\e90c";
+}
+
+.icon-all_countdown:before {
+ content: "\e90d";
+}
+
+.icon-extension_team_salereturn:before {
+ content: "\e907";
+}
+
+.icon-member_team_salereturn:before {
+ content: "\e908";
+}
+
+.icon-extension_gudongfenhong:before {
+ content: "\e906";
+}
+
+.icon-extension_intervel_consumer:before {
+ content: "\e905";
+}
+
+.icon-good_import:before {
+ content: "\e904";
+}
+
+.icon-yq_hetongzhongxin:before {
+ content: "\e903";
+}
+
+.icon-member_ejiayou:before {
+ content: "\e902";
+}
+
+.icon-fx_canyu:before {
+ content: "\e900";
+}
+
+.icon-fx_hiabao:before {
+ content: "\e901";
+}
+
+.icon-all_stopcommentsl:before {
+ content: "\e8ff";
+}
+
+.icon-all_delete_1:before {
+ content: "\e8fd";
+}
+
+.icon-all_tiren:before {
+ content: "\e8fe";
+}
+
+.icon-pay_producttixian:before {
+ content: "\e8fc";
+}
+
+.icon-pay_huijupay:before {
+ content: "\e8fa";
+}
+
+.icon-member_vj_asistant:before {
+ content: "\e8fb";
+}
+
+.icon-member_branch:before {
+ content: "\e8f9";
+}
+
+.icon-yjy_index_history:before {
+ content: "\e8f6";
+}
+
+.icon-yjy_index_discount:before {
+ content: "\e8f7";
+}
+
+.icon-yjy_index_screening:before {
+ content: "\e8f8";
+}
+
+.icon-member_active:before {
+ content: "\e8f4";
+}
+
+.icon-member_active_search:before {
+ content: "\e8f5";
+}
+
+.icon-yq_qsjujue:before {
+ content: "\e8ef";
+}
+
+.icon-yq_massage:before {
+ content: "\e8f0";
+}
+
+.icon-yq_oline_servce:before {
+ content: "\e8f1";
+}
+
+.icon-yq_gaizhang:before {
+ content: "\e8f2";
+}
+
+.icon-kc_line_update:before {
+ content: "\e8f3";
+}
+
+.icon-member_auctionofficer_index:before {
+ content: "\e8ee";
+}
+
+.icon-member_auctionofficer_admin:before {
+ content: "\e8ec";
+}
+
+.icon-member_auctionofficer_apply:before {
+ content: "\e8ed";
+}
+
+.icon-zb_all_more:before {
+ content: "\e829";
+}
+
+.icon-zb_all_haibao:before {
+ content: "\e82a";
+}
+.icon-ht_basis_JJC:before {
+ content: "\eb23";
+}
+.icon-zb_all_like:before {
+ content: "\e891";
+}
+
+.icon-zb_all_share:before {
+ content: "\e894";
+}
+
+.icon-zb_all_jb:before {
+ content: "\e897";
+}
+
+.icon-pm_auction_maysure:before {
+ content: "\e828";
+}
+
+.icon-all_service:before {
+ content: "\e827";
+}
+
+.icon-member_quickpay:before {
+ content: "\e825";
+}
+
+.icon-all_sign:before {
+ content: "\e824";
+}
+
+.icon-all_bank_beijing:before {
+ content: "\e815";
+}
+
+.icon-all_bank_china:before {
+ content: "\e816";
+}
+
+.icon-all_bank_construction:before {
+ content: "\e817";
+}
+
+.icon-all_bank_jiaotong:before {
+ content: "\e818";
+}
+
+.icon-all_bank_gongshang:before {
+ content: "\e819";
+}
+
+.icon-all_bank_zhongxin:before {
+ content: "\e81a";
+}
+
+.icon-all_bank_minshen:before {
+ content: "\e81b";
+}
+
+.icon-all_bank_guangfa:before {
+ content: "\e81c";
+}
+
+.icon-all_bank_pufa:before {
+ content: "\e81d";
+}
+
+.icon-all_bank_guangda:before {
+ content: "\e81e";
+}
+
+.icon-all_bank_shanghai:before {
+ content: "\e81f";
+}
+
+.icon-all_bank_youzheng:before {
+ content: "\e820";
+}
+
+.icon-all_bank_pingan:before {
+ content: "\e822";
+}
+
+.icon-all_bank_zhaoshang:before {
+ content: "\e823";
+}
+
+.icon-all_smallprogram:before {
+ content: "\e80f";
+}
+
+.icon-all_trill:before {
+ content: "\e810";
+}
+.icon-qiyeweixin01:before {
+ content: "\ead1";
+}
+
+.icon-all_app:before {
+ content: "\e811";
+}
+
+.icon-all_alipay:before {
+ content: "\e812";
+}
+
+.icon-all_wechat_public:before {
+ content: "\e813";
+}
+
+.icon-all_wechat:before {
+ content: "\e814";
+}
+
+.icon-pay_sureprice:before {
+ content: "\e80e";
+}
+
+.icon-pay_quick:before {
+ content: "\e80d";
+}
+
+.icon-all_link:before {
+ content: "\e80c";
+}
+
+.icon-all_buycar:before {
+ content: "\e80b";
+}
+
+.icon-all_daohang:before {
+ content: "\e809";
+}
+
+.icon-all_phone:before {
+ content: "\e80a";
+}
+
+.icon-extension_teamsales_admin:before {
+ content: "\e807";
+}
+
+.icon-member_distributors:before {
+ content: "\e808";
+}
+
+.icon-all_zhibojian:before {
+ content: "\e806";
+}
+
+.icon-xc-qidongye:before {
+ content: "\e804";
+}
+
+.icon-member-cloud-object:before {
+ content: "\e805";
+}
+
+.icon-all_more:before {
+ content: "\e803";
+}
+
+.icon-all_baozhang:before {
+ content: "\e802";
+}
+
+.icon-all_shrinkage:before {
+ content: "\e801";
+}
+
+.icon-all_expand:before {
+ content: "\e800";
+}
+
+.icon-all_xuanze:before {
+ content: "\e7ff";
+}
+
+.icon-adsystem_icon_add:before {
+ content: "\e7fe";
+}
+
+.icon-member_live_normal:before {
+ content: "\e7fd";
+}
+
+.icon-member_host_application:before {
+ content: "\e7fb";
+}
+
+.icon-extension_host_reward:before {
+ content: "\e7fc";
+}
+
+.icon-wz_payed:before {
+ content: "\e7fa";
+}
+
+.icon-member_information_release:before {
+ content: "\e7f9";
+}
+
+.icon-pm_auction_administration:before {
+ content: "\e7ea";
+}
+
+.icon-pm_auction_certification:before {
+ content: "\e7eb";
+}
+
+.icon-pm_auction_defeat:before {
+ content: "\e7ec";
+}
+
+.icon-pm_auction_ed:before {
+ content: "\e7ed";
+}
+
+.icon-pm_auction_lockadmin:before {
+ content: "\e7ee";
+}
+
+.icon-pm_auction_haibaoshare:before {
+ content: "\e7ef";
+}
+
+.icon-pm_auction_lock:before {
+ content: "\e7f0";
+}
+
+.icon-pm_auction_ing:before {
+ content: "\e7f1";
+}
+
+.icon-pm_auction_orderadmin:before {
+ content: "\e7f2";
+}
+
+.icon-pm_auction_myincome:before {
+ content: "\e7f3";
+}
+
+.icon-pm_auction_paying:before {
+ content: "\e7f4";
+}
+
+.icon-pm_auction_over:before {
+ content: "\e7f5";
+}
+
+.icon-pm_auction_success:before {
+ content: "\e7f6";
+}
+
+.icon-pm_auction_waiting:before {
+ content: "\e7f7";
+}
+
+.icon-kc_huanhuo:before {
+ content: "\e7e0";
+}
+
+.icon-kc_fahuo:before {
+ content: "\e7e1";
+}
+
+.icon-kc_dinghuo:before {
+ content: "\e7e2";
+}
+
+.icon-kc_line_client:before {
+ content: "\e7e3";
+}
+
+.icon-kc_line_fahuo:before {
+ content: "\e7e4";
+}
+
+.icon-kc_line_huanhuo:before {
+ content: "\e7e5";
+}
+
+.icon-kc_line_order:before {
+ content: "\e7e6";
+}
+
+.icon-kc_line_buhuo:before {
+ content: "\e7e7";
+}
+
+.icon-kc_line_locate:before {
+ content: "\e7e8";
+}
+
+.icon-kc_wodekucun:before {
+ content: "\e7e9";
+}
+
+.icon-zb_jubao:before {
+ content: "\e7de";
+}
+
+.icon-zb_successful:before {
+ content: "\e7df";
+}
+
+.icon-extension_jicha_reward:before {
+ content: "\e7dc";
+}
+
+.icon-extension_pickuppoint_reward:before {
+ content: "\e7dd";
+}
+
+.icon-shop_side_goods:before {
+ content: "\e7db";
+}
+
+.icon-zb_share:before {
+ content: "\e8eb";
+}
+
+.icon-zb_zhiboicon:before {
+ content: "\e8ea";
+}
+
+.icon-zb_zhiboing:before {
+ content: "\e8e9";
+}
+
+.icon-zb_goods:before {
+ content: "\e8e6";
+}
+
+.icon-zb_like:before {
+ content: "\e8e7";
+}
+
+.icon-zb_gift:before {
+ content: "\e8e8";
+}
+
+.icon-bc_like_normal:before {
+ content: "\e8e4";
+}
+
+.icon-bc_locate_company:before {
+ content: "\e8e5";
+}
+
+.icon-card_laud_acitve:before {
+ content: "\e8e3";
+}
+
+.icon-car_card:before {
+ content: "\e8e2";
+}
+
+.icon-kc_play:before {
+ content: "\e8de";
+}
+
+.icon-kc_gift:before {
+ content: "\e8df";
+}
+
+.icon-kc_mulu:before {
+ content: "\e8e0";
+}
+
+.icon-kc_detail:before {
+ content: "\e8e1";
+}
+
+.icon-member_warshcar:before {
+ content: "\e8db";
+}
+
+.icon-extension_eequipment_preson:before {
+ content: "\e8dc";
+}
+
+.icon-extension_eequipment_place:before {
+ content: "\e8dd";
+}
+
+.icon-bc_eweima:before {
+ content: "\e8da";
+}
+
+.icon-bc_like:before {
+ content: "\e8d2";
+}
+
+.icon-bc_tel:before {
+ content: "\e8d3";
+}
+
+.icon-bc_share_card:before {
+ content: "\e8d4";
+}
+
+.icon-bc_copy:before {
+ content: "\e8d5";
+}
+
+.icon-bc_locate:before {
+ content: "\e8d6";
+}
+
+.icon-bc_buy_card:before {
+ content: "\e8d7";
+}
+
+.icon-bc_pay_discount:before {
+ content: "\e8d8";
+}
+
+.icon-bc_card:before {
+ content: "\e8d9";
+}
+
+.icon-pay_default:before {
+ content: "\e8d1";
+}
+
+.icon-verification_psw:before {
+ content: "\e8cf";
+}
+
+.icon-verification_member:before {
+ content: "\e8d0";
+}
+
+.icon-verification_phone:before {
+ content: "\e8cc";
+}
+
+.icon-verification_code:before {
+ content: "\e8cd";
+}
+
+.icon-verification_code1:before {
+ content: "\e8ce";
+}
+
+.icon-appointment_edite:before {
+ content: "\e8ca";
+}
+
+.icon-appointment_delete:before {
+ content: "\e8cb";
+}
+
+.icon-stores_staff:before {
+ content: "\e8c9";
+}
+
+.icon-member_appointment:before {
+ content: "\e8c8";
+}
+
+.icon-order_locate:before {
+ content: "\e8c7";
+}
+
+.icon-member_advertise_market:before {
+ content: "\e8c6";
+}
+
+.icon-member_posvip_cardnum:before {
+ content: "\e8c4";
+}
+
+.icon-member_pospay_validation:before {
+ content: "\e8c5";
+}
+
+.icon-extension_ozyvip_mechanism:before {
+ content: "\e8c3";
+}
+
+.icon-extension_earning_reward:before {
+ content: "\e8c2";
+}
+
+.icon-member_bonus_pools:before {
+ content: "\e8c1";
+}
+
+.icon-advertise-next:before {
+ content: "\e8c0";
+}
+
+.icon-extension_agent_sharebonus:before {
+ content: "\e8bf";
+}
+
+.icon-balance_orderlist_record:before {
+ content: "\e8be";
+}
+
+.icon-balance_orderlist_refund:before {
+ content: "\e8bd";
+}
+
+.icon-cloud_horn:before {
+ content: "\e8bb";
+}
+
+.icon-adsystem_ad_apply:before {
+ content: "\e8b6";
+}
+
+.icon-adsystem_my_equipment:before {
+ content: "\e8b7";
+}
+
+.icon-adsystem_ad_center:before {
+ content: "\e8b8";
+}
+
+.icon-adsystem_icon_cancle:before {
+ content: "\e8b9";
+}
+
+.icon-adsystem_ad_admin:before {
+ content: "\e8ba";
+}
+
+.icon-integral_top_up:before {
+ content: "\e8b5";
+}
+
+.icon-car_installment_order:before {
+ content: "\e8b3";
+}
+
+.icon-car_bonus_reward:before {
+ content: "\e8b4";
+}
+
+.icon-member_installment_buycar:before {
+ content: "\e8b2";
+}
+
+.icon-member_service_person:before {
+ content: "\e8b0";
+}
+
+.icon-member_installment_record:before {
+ content: "\e8b1";
+}
+
+.icon-member_place_apply:before {
+ content: "\e8ae";
+}
+
+.icon-extension_place_reward:before {
+ content: "\e8af";
+}
+
+.icon-red-packet:before {
+ content: "\e8ad";
+}
+
+.icon-extension_peers_reward:before {
+ content: "\e8ac";
+}
+
+.icon-balance_card:before {
+ content: "\e8aa";
+}
+
+.icon-balance_a_t:before {
+ content: "\e8a9";
+}
+
+.icon-balance_a_n1:before {
+ content: "\e8ab";
+}
+
+.icon-member_construction_deposit:before {
+ content: "\e8a6";
+}
+
+.icon-extension_directly_share_reward:before {
+ content: "\e8a7";
+}
+
+.icon-extension_sorting_share_reward:before {
+ content: "\e8a8";
+}
+
+.icon-extension_admin_reward:before {
+ content: "\e8a4";
+}
+
+.icon-extension_team_admin_reward:before {
+ content: "\e8a3";
+}
+
+.icon-pay_otherpay:before {
+ content: "\e89b";
+}
+
+.icon-pay_prepay:before {
+ content: "\e89c";
+}
+
+.icon-pay_yue:before {
+ content: "\e89d";
+}
+
+.icon-pay_wechat:before {
+ content: "\e89e";
+}
+
+.icon-pay_utsd:before {
+ content: "\e89f";
+}
+
+.icon-pay_alipay:before {
+ content: "\e8a0";
+}
+
+.icon-pay_remittance:before {
+ content: "\e8a1";
+}
+
+.icon-pay_card:before {
+ content: "\e8a2";
+}
+
+.icon-extension_love_cycle_reward:before {
+ content: "\e89a";
+}
+
+.icon-rewards_record:before {
+ content: "\e899";
+}
+
+.icon-extension_distributors_management_reward:before {
+ content: "\e898";
+}
+
+.icon-service_shop:before {
+ content: "\e896";
+}
+
+.icon-extension_equity_reward:before {
+ content: "\e895";
+}
+
+.icon-extension_team_management_reward:before {
+ content: "\e893";
+}
+
+.icon-member_voice_center:before {
+ content: "\e892";
+}
+
+.icon-member_community:before {
+ content: "\e890";
+}
+
+.icon-extension_team_reward:before {
+ content: "\e88e";
+}
+
+.icon-member_changer_centre:before {
+ content: "\e88f";
+}
+
+.icon-activity_enroll:before {
+ content: "\e88c";
+}
+
+.icon-activity_follow:before {
+ content: "\e88d";
+}
+
+.icon-detail_teacher:before {
+ content: "\e88b";
+}
+
+.icon-area_manage:before {
+ content: "\e88a";
+}
+
+.icon-holder_reward:before {
+ content: "\e889";
+}
+
+.icon-extension_goods_order:before {
+ content: "\e886";
+}
+
+.icon-my_wholesale_coupon:before {
+ content: "\e887";
+}
+
+.icon-my_guaorder:before {
+ content: "\e888";
+}
+
+.icon-reward_record:before {
+ content: "\e885";
+}
+
+.icon-extension_video:before {
+ content: "\e883";
+}
+
+.icon-member_right:before {
+ content: "\e881";
+}
+
+.icon-member_look:before {
+ content: "\e882";
+}
+
+.icon-member_mygroup:before {
+ content: "\e880";
+}
+
+.icon-balance_q:before {
+ content: "\e87f";
+}
+
+.icon-order_system:before {
+ content: "\e87e";
+}
+
+.icon-top_place:before {
+ content: "\e87c";
+}
+
+.icon-left_place:before {
+ content: "\e87d";
+}
+
+.icon-group_list:before {
+ content: "\e87b";
+}
+
+.icon-group_wenhao:before {
+ content: "\e87a";
+}
+
+.icon-service_o:before {
+ content: "\e879";
+}
+
+.icon-store_reduceLine:before {
+ content: "\e878";
+}
+
+.icon-store_plus:before {
+ content: "\e876";
+}
+
+.icon-store_reduce:before {
+ content: "\e877";
+}
+
+.icon-service_station:before {
+ content: "\e875";
+}
+
+.icon-number_assets:before {
+ content: "\e874";
+}
+
+.icon-info_contacts:before {
+ content: "\e871";
+}
+
+.icon-info_store:before {
+ content: "\e872";
+}
+
+.icon-info_position:before {
+ content: "\e873";
+}
+
+.icon-balance_p:before {
+ content: "\e870";
+}
+
+.icon-declaration_system:before {
+ content: "\e86f";
+}
+
+.icon-delivery_order:before {
+ content: "\e86d";
+}
+
+.icon-index_replenish:before {
+ content: "\e86e";
+}
+
+.icon-service_replenish:before {
+ content: "\e86c";
+}
+
+.icon-member_material:before {
+ content: "\e86b";
+}
+
+.icon-material_goodsCode:before {
+ content: "\e86a";
+}
+
+.icon-material_share:before {
+ content: "\e869";
+}
+
+.icon-active_music_open:before {
+ content: "\e867";
+}
+
+.icon-active_music_close:before {
+ content: "\e868";
+}
+
+.icon-active_music:before {
+ content: "\e866";
+}
+
+.icon-dealer_mange_reward:before {
+ content: "\e865";
+}
+
+.icon-team_reward:before {
+ content: "\e864";
+}
+
+.icon-global_reward:before {
+ content: "\e863";
+}
+
+.icon-onlineCar_i:before {
+ content: "\e861";
+}
+
+.icon-onlineCar_j:before {
+ content: "\e862";
+}
+
+.icon-member_my-card:before {
+ content: "\e860";
+}
+
+.icon-member_my-friend:before {
+ content: "\e85f";
+}
+
+.icon-card_apply_c:before {
+ content: "\e85e";
+}
+
+.icon-grant:before {
+ content: "\e85d";
+}
+
+.icon-card_collect_b:before {
+ content: "\e85b";
+}
+
+.icon-card_laud_b:before {
+ content: "\e85c";
+}
+
+.icon-member_card1:before {
+ content: "\e85a";
+}
+
+.icon-seller_check:before {
+ content: "\e859";
+}
+
+.icon-card_apply_a:before {
+ content: "\e857";
+}
+
+.icon-card_apply_b:before {
+ content: "\e858";
+}
+
+.icon-card_voice:before {
+ content: "\e856";
+}
+
+.icon-card_new:before {
+ content: "\e854";
+}
+
+.icon-card_relation:before {
+ content: "\e855";
+}
+
+.icon-card_phone:before {
+ content: "\e852";
+}
+
+.icon-card_weixin1:before {
+ content: "\e853";
+}
+
+.icon-card_weixin:before {
+ content: "\e851";
+}
+
+.icon-card_collect:before {
+ content: "\e850";
+}
+
+.icon-card_laud:before {
+ content: "\e84b";
+}
+
+.icon-card_eye:before {
+ content: "\e84c";
+}
+
+.icon-card_ranking:before {
+ content: "\e84d";
+}
+
+.icon-card_statis:before {
+ content: "\e84e";
+}
+
+.icon-card_visitor:before {
+ content: "\e84f";
+}
+
+.icon-taskconter:before {
+ content: "\e84a";
+}
+
+.icon-goods_brand:before {
+ content: "\e849";
+}
+
+.icon-onlineCar_h:before {
+ content: "\e848";
+}
+
+.icon-onlineCar_f:before {
+ content: "\e846";
+}
+
+.icon-onlineCar_g:before {
+ content: "\e847";
+}
+
+.icon-onlineCar_c:before {
+ content: "\e841";
+}
+
+.icon-onlineCar_e:before {
+ content: "\e842";
+}
+
+.icon-onlineCar_d:before {
+ content: "\e843";
+}
+
+.icon-onlineCar_a:before {
+ content: "\e844";
+}
+
+.icon-onlineCar_b:before {
+ content: "\e845";
+}
+
+.icon-coupon-share-right:before {
+ content: "\e83f";
+}
+
+.icon-coupon-share-left:before {
+ content: "\e840";
+}
+
+.icon-extension_bonus:before {
+ content: "\e83e";
+}
+
+.icon-member_partner:before {
+ content: "\e79a";
+}
+.icon-balance_o:before {
+ content: "\e83d";
+}
+
+.icon-balance_k:before {
+ content: "\e839";
+}
+
+.icon-balance_m:before {
+ content: "\e83b";
+}
+
+.icon-balance_n:before {
+ content: "\e83c";
+}
+
+.icon-balance_l:before {
+ content: "\e83a";
+}
+
+.icon-balance_j:before {
+ content: "\e836";
+}
+
+.icon-balance_h:before {
+ content: "\e837";
+}
+
+.icon-balance_i:before {
+ content: "\e838";
+}
+
+.icon-balance_e:before {
+ content: "\e82f";
+}
+
+.icon-balance_d:before {
+ content: "\e831";
+}
+
+.icon-balance_f:before {
+ content: "\e833";
+}
+
+.icon-balance_g:before {
+ content: "\e835";
+}
+
+.icon-balance_a:before {
+ content: "\e82b";
+}
+
+.icon-balance_b:before {
+ content: "\e82c";
+}
+
+.icon-balance_c:before {
+ content: "\e82d";
+}
+
+.icon-zizhutuiguang:before {
+ content: "\e607";
+}
+
+.icon-shoucang:before {
+ content: "\e646";
+}
+
+.icon-tubiao13:before {
+ content: "\e638";
+}
+
+.icon-tubiao309:before {
+ content: "\e639";
+}
+
+.icon-icozhuanhuan:before {
+ content: "\e7a1";
+}
+
+.icon-shangpin:before {
+ content: "\e63b";
+}
+
+.icon-htmal5icon29:before {
+ content: "\e641";
+}
+
+.icon-shopcart:before {
+ content: "\e63d";
+}
+
+.icon-custom-service:before {
+ content: "\e63e";
+}
+
+.icon-weixinliaotian:before {
+ content: "\e63f";
+}
+
+.icon-wuliu:before {
+ content: "\e7a2";
+}
+
+.icon-zuji1:before {
+ content: "\e7a3";
+}
+
+.icon-youhuiquan01:before {
+ content: "\e640";
+}
+
+.icon-fenleifill:before {
+ content: "\e7a4";
+}
+
+.icon-leimupinleifenleileibie2:before {
+ content: "\e7f8";
+}
+
+.icon-wuliuqiache2:before {
+ content: "\e821";
+}
+
+.icon-huiyuan1:before {
+ content: "\e642";
+}
+
+.icon-jifen:before {
+ content: "\e7a5";
+}
+
+.icon-shangpinku:before {
+ content: "\e645";
+}
+
+.icon-huiyuanguanli-copy:before {
+ content: "\e64f";
+}
+
+.icon-home-page:before {
+ content: "\e64e";
+}
+
+.icon-gouwu1:before {
+ content: "\e7a6";
+}
+
+.icon-huiyuan5:before {
+ content: "\e650";
+}
+
+.icon-kehuhuiyuanguanli:before {
+ content: "\e651";
+}
+
+.icon-huiyuan11:before {
+ content: "\e654";
+}
+
+.icon-wuliuguanli:before {
+ content: "\e653";
+}
+
+.icon-fenlei3:before {
+ content: "\e7a7";
+}
+
+.icon-hujiaokefu:before {
+ content: "\e7a8";
+}
+
+.icon-weibiaoti2fuzhi02:before {
+ content: "\e7a9";
+}
+
+.icon-shangcheng2:before {
+ content: "\e7aa";
+}
+
+.icon-wuliuxinxi:before {
+ content: "\e7ab";
+}
+
+.icon-linedesign-20:before {
+ content: "\e7ac";
+}
+
+.icon-fenlei4:before {
+ content: "\e7ad";
+}
+
+.icon-fenlei-xuanzhong:before {
+ content: "\e7ae";
+}
+
+.icon-home1:before {
+ content: "\e7af";
+}
+
+.icon-wuliu1:before {
+ content: "\e7b0";
+}
+
+.icon-home2:before {
+ content: "\e7b1";
+}
+
+.icon-zuji11:before {
+ content: "\e7b2";
+}
+
+.icon-icon-test:before {
+ content: "\e7b3";
+}
+
+.icon-faxianshebei:before {
+ content: "\e834";
+}
+
+.icon-fenlei5:before {
+ content: "\e7b4";
+}
+
+.icon-gouwuche_:before {
+ content: "\e7b5";
+}
+
+.icon-huiyuan2:before {
+ content: "\e7b6";
+}
+
+.icon-kefu1:before {
+ content: "\e7b7";
+}
+
+.icon-icon-test1:before {
+ content: "\e7b8";
+}
+
+.icon-fenlei:before {
+ content: "\e7b9";
+}
+
+.icon-baoguofahuo:before {
+ content: "\e884";
+}
+
+.icon-liaotianduihua:before {
+ content: "\e8bc";
+}
+
+.icon-huiyuan6:before {
+ content: "\e7ba";
+}
+
+.icon-shangpin-:before {
+ content: "\e7bb";
+}
+
+.icon-shouru:before {
+ content: "\e7bc";
+}
+
+.icon-youhuiquan1:before {
+ content: "\e7bd";
+}
+
+.icon-gouwuche2:before {
+ content: "\e7be";
+}
+
+.icon-gaiicon-:before {
+ content: "\e7bf";
+}
+
+.icon-gaiicon-1:before {
+ content: "\e7c0";
+}
+
+.icon-lvzhou_liaoliao:before {
+ content: "\e7c1";
+}
+
+.icon-huiyuan3:before {
+ content: "\e7c2";
+}
+
+.icon-laba:before {
+ content: "\e7c3";
+}
+
+.icon-gouwuche:before {
+ content: "\e7c4";
+}
+
+.icon-shangpin1:before {
+ content: "\e7c5";
+}
+
+.icon-shouru1:before {
+ content: "\e7c6";
+}
+
+.icon-huiyuan4:before {
+ content: "\e7c7";
+}
+
+.icon-fenlei6:before {
+ content: "\e7c8";
+}
+
+.icon-fenlei7:before {
+ content: "\e7c9";
+}
+
+.icon-zhuye2:before {
+ content: "\e7ca";
+}
+
+.icon-liaotian:before {
+ content: "\e7cb";
+}
+
+.icon-sort-full:before {
+ content: "\e7cc";
+}
+
+.icon-fenlei1:before {
+ content: "\e7cd";
+}
+
+.icon-liaotian1:before {
+ content: "\e7ce";
+}
+
+.icon-renxiang:before {
+ content: "\e7cf";
+}
+
+.icon-kefu2:before {
+ content: "\e7d0";
+}
+
+.icon-kefu3:before {
+ content: "\e7d1";
+}
+
+.icon-weibiaoti--:before {
+ content: "\e7d2";
+}
+
+.icon-kefu4:before {
+ content: "\e7d3";
+}
+
+.icon-gouwuche1:before {
+ content: "\e7d4";
+}
+
+.icon-faxian:before {
+ content: "\e7d5";
+}
+
+.icon-xuanchuantuiguang:before {
+ content: "\e7d6";
+}
+
+.icon-tuiguang-kuai:before {
+ content: "\e7d7";
+}
+
+.icon-zhanghushouru:before {
+ content: "\e7d8";
+}
+
+.icon-fenlei2:before {
+ content: "\e7d9";
+}
+
+.icon-laba1:before {
+ content: "\e7da";
+}
+
+.icon-member-hotel-apply:before {
+ content: "\e826";
+}
+
+.icon-member_relation:before {
+ content: "\e79d";
+}
+
+.icon-member_comment:before {
+ content: "\e79e";
+}
+
+.icon-member_code:before {
+ content: "\e79f";
+}
+
+.icon-member_quan:before {
+ content: "\e7a0";
+}
+
+.icon-member_hotel:before {
+ content: "\e79c";
+}
+
+.icon-member_store:before {
+ content: "\e79b";
+}
+
+.icon-extension_collect:before {
+ content: "\e798";
+}
+
+.icon-member_task:before {
+ content: "\e799";
+}
+
+.icon-member_partner:before {
+ content: "\e79a";
+}
+
+.icon-service_n:before {
+ content: "\e797";
+}
+
+.icon-service_l:before {
+ content: "\e795";
+}
+
+.icon-service_m:before {
+ content: "\e796";
+}
+
+.icon-service_a:before {
+ content: "\e788";
+}
+
+.icon-service_b:before {
+ content: "\e789";
+}
+
+.icon-service_c:before {
+ content: "\e78a";
+}
+
+.icon-service_d:before {
+ content: "\e78b";
+}
+
+.icon-service_e:before {
+ content: "\e78c";
+}
+
+.icon-service_f:before {
+ content: "\e78d";
+}
+
+.icon-service_h:before {
+ content: "\e78e";
+}
+
+.icon-service_g:before {
+ content: "\e78f";
+}
+
+.icon-service_j:before {
+ content: "\e791";
+}
+
+.icon-service_k:before {
+ content: "\e793";
+}
+
+.icon-service_i:before {
+ content: "\e794";
+}
+
+.icon-location:before {
+ content: "\e787";
+}
+
+.icon-tishi1:before {
+ content: "\e786";
+}
+
+.icon-extension_receive:before {
+ content: "\e785";
+}
+
+.icon-extension_code:before {
+ content: "\e784";
+}
+
+.icon-order_lower:before {
+ content: "\e782";
+}
+
+.icon-order_up:before {
+ content: "\e783";
+}
+
+.icon-foot-back:before {
+ content: "\e781";
+}
+
+.icon-foot_back:before {
+ content: "\e780";
+}
+
+.icon-member_integral:before {
+ content: "\e77e";
+}
+
+.icon-member_integral1:before {
+ content: "\e77e";
+}
+
+.icon-card:before {
+ content: "\e77f";
+}
+
+.icon-xiaofeijifen:before {
+ content: "\e77d";
+}
+
+.icon-baokuan:before {
+ content: "\e77c";
+}
+
+.icon-receive:before {
+ content: "\e77a";
+}
+
+.icon-look_record:before {
+ content: "\e77b";
+}
+
+.icon-Close:before {
+ content: "\e779";
+}
+
+.icon-store_code:before {
+ content: "\e778";
+}
+
+.icon-member_card:before {
+ content: "\e777";
+}
+
+.icon-card_cap:before {
+ content: "\e772";
+}
+
+.icon-card_coupon:before {
+ content: "\e773";
+}
+
+.icon-card_store:before {
+ content: "\e774";
+}
+
+.icon-card_more:before {
+ content: "\e775";
+}
+
+.icon-card_vip:before {
+ content: "\e776";
+}
+
+.icon-finger:before {
+ content: "\e771";
+}
+
+.icon-member_goods:before {
+ content: "\e770";
+}
+
+.icon-sort_a:before {
+ content: "\e76e";
+}
+
+.icon-sort_b:before {
+ content: "\e76f";
+}
+
+.icon-jiantou:before {
+ content: "\e76c";
+}
+
+.icon-submit:before {
+ content: "\e76d";
+}
+
+.icon-gouxuan:before {
+ content: "\e76b";
+}
+
+.icon-collect-active:before {
+ content: "\e76a";
+}
+
+.icon-goods_collect:before {
+ content: "\e766";
+}
+
+.icon-goods_kefu:before {
+ content: "\e768";
+}
+
+.icon-goods_car:before {
+ content: "\e769";
+}
+
+.icon-integral-active:before {
+ content: "\e765";
+}
+
+.icon-stay_send:before {
+ content: "\e761";
+}
+
+.icon-stay_refund:before {
+ content: "\e762";
+}
+
+.icon-stay_receive:before {
+ content: "\e763";
+}
+
+.icon-stay_pay:before {
+ content: "\e764";
+}
+
+.icon-up_arrow:before {
+ content: "\e75e";
+}
+
+.icon-down_arrow:before {
+ content: "\e75f";
+}
+
+.icon-notice:before {
+ content: "\e760";
+}
+
+.icon-shangxia:before {
+ content: "\e75d";
+}
+
+.icon-record_time:before {
+ content: "\e75c";
+}
+
+.icon-record_go:before {
+ content: "\e75b";
+}
+
+.icon-asset_record:before {
+ content: "\e759";
+}
+
+.icon-import_detail:before {
+ content: "\e75a";
+}
+
+.icon-asset_a:before {
+ content: "\e756";
+}
+
+.icon-asset_c:before {
+ content: "\e757";
+}
+
+.icon-asset_b:before {
+ content: "\e758";
+}
+
+.icon-pay_f:before {
+ content: "\e755";
+}
+
+.icon-pay_a:before {
+ content: "\e750";
+}
+
+.icon-pay_c:before {
+ content: "\e751";
+}
+
+.icon-pay_b:before {
+ content: "\e752";
+}
+
+.icon-pay_d:before {
+ content: "\e753";
+}
+
+.icon-pay_e:before {
+ content: "\e754";
+}
+
+.icon-seller-del:before {
+ content: "\e748";
+}
+
+.icon-seller-detail:before {
+ content: "\e74a";
+}
+
+.icon-seller_phone:before {
+ content: "\e74b";
+}
+
+.icon-seller-home:before {
+ content: "\e74c";
+}
+
+.icon-seller-car:before {
+ content: "\e74d";
+}
+
+.icon-seller-position:before {
+ content: "\e74e";
+}
+
+.icon-seller-time:before {
+ content: "\e74f";
+}
+
+.icon-extension-manual-bon:before {
+ content: "\e747";
+}
+
+.icon-extension-chain:before {
+ content: "\e746";
+}
+
+.icon-extension-prize:before {
+ content: "\e744";
+}
+
+.icon-extension-sale:before {
+ content: "\e745";
+}
+
+.icon-member-enter:before {
+ content: "\e743";
+}
+
+.icon-member-request:before {
+ content: "\e742";
+}
+
+.icon-extension-share:before {
+ content: "\e741";
+}
+
+.icon-order:before {
+ content: "\e70d";
+}
+
+.icon-my:before {
+ content: "\e70c";
+}
+
+.icon-home:before {
+ content: "\e70f";
+}
+
+.icon-service:before {
+ content: "\e708";
+}
+
+.icon-more:before {
+ content: "\e709";
+}
+
+.icon-liwu:before {
+ content: "\e740";
+}
+
+.icon-shop_car:before {
+ content: "\e73f";
+}
+
+.icon-member-policy:before {
+ content: "\e73e";
+}
+
+.icon-policy-remit:before {
+ content: "\e73a";
+}
+
+.icon-policy-sum:before {
+ content: "\e73b";
+}
+
+.icon-policy-nember:before {
+ content: "\e73c";
+}
+
+.icon-policy-order:before {
+ content: "\e73d";
+}
+
+.icon-member-express-list:before {
+ content: "\e737";
+}
+
+.icon-member-replenishment:before {
+ content: "\e738";
+}
+
+.icon-add:before {
+ content: "\e736";
+}
+
+.icon-goods-class:before {
+ content: "\e734";
+}
+
+.icon-goods-manage:before {
+ content: "\e735";
+}
+
+.icon-income-my:before {
+ content: "\e732";
+}
+
+.icon-income-cashb:before {
+ content: "\e733";
+}
+
+.icon-life-game-plus:before {
+ content: "\e730";
+}
+
+.icon-life-game-sign:before {
+ content: "\e731";
+}
+
+.icon-life-plane-line:before {
+ content: "\e72d";
+}
+
+.icon-life-train-line:before {
+ content: "\e72f";
+}
+
+.icon-life-train:before {
+ content: "\e72b";
+}
+
+.icon-life-plane:before {
+ content: "\e72c";
+}
+
+.icon-info-must:before {
+ content: "\e729";
+}
+
+.icon-life-language:before {
+ content: "\e72e";
+}
+
+.icon-life-order1:before {
+ content: "\e728";
+}
+
+.icon-life-order:before {
+ content: "\e724";
+}
+
+.icon-life-code:before {
+ content: "\e725";
+}
+
+.icon-life-grade:before {
+ content: "\e726";
+}
+
+.icon-life-income:before {
+ content: "\e727";
+}
+
+.icon-member-get-up:before {
+ content: "\e723";
+}
+
+.icon-member-frozen1:before {
+ content: "\e721";
+}
+
+.icon-member-frozen:before {
+ content: "\e720";
+}
+
+.icon-member-reward2:before {
+ content: "\e71f";
+}
+
+.icon-member-up-express:before {
+ content: "\e71e";
+}
+
+.icon-extension-list:before {
+ content: "\e71c";
+}
+
+.icon-member-clock-b:before {
+ content: "\e71b";
+}
+
+.icon-member-supplier:before {
+ content: "\e719";
+}
+
+.icon-member-help:before {
+ content: "\e71a";
+}
+
+.icon-extension-stars:before {
+ content: "\e71d";
+}
+
+.icon-edit:before {
+ content: "\e718";
+}
+
+.icon-delete:before {
+ content: "\e717";
+}
+
+.icon-block:before {
+ content: "\e716";
+}
+
+.icon-photobzhaoxiang:before {
+ content: "\e714";
+}
+
+.icon-plus:before {
+ content: "\e711";
+}
+
+.icon-down:before {
+ content: "\e712";
+}
+
+.icon-up:before {
+ content: "\e713";
+}
+
+.icon-spare:before {
+ content: "\e70e";
+}
+
+.icon-screen:before {
+ content: "\e710";
+}
+
+.icon-more-list:before {
+ content: "\e70b";
+}
+
+.icon-heart:before {
+ content: "\e70a";
+}
+
+.icon-info-tick:before {
+ content: "\e707";
+}
+
+.icon-info-mark:before {
+ content: "\e705";
+}
+
+.icon-info-complete:before {
+ content: "\e706";
+}
+
+.icon-info-unselect:before {
+ content: "\e703";
+}
+
+.icon-info-select:before {
+ content: "\e704";
+}
+
+.icon-daka01:before {
+ content: "\e6f5";
+}
+
+.icon-xiaofei01:before {
+ content: "\e6f6";
+}
+
+.icon-Medal01:before {
+ content: "\e6f7";
+}
+
+.icon-mane01:before {
+ content: "\e6f8";
+}
+
+.icon-dengji01:before {
+ content: "\e6f9";
+}
+
+.icon-gudong01:before {
+ content: "\e6fa";
+}
+
+.icon-lecturer01:before {
+ content: "\e6fb";
+}
+
+.icon-team-return:before {
+ content: "\e6fc";
+}
+
+.icon-team-bonus:before {
+ content: "\e6fd";
+}
+
+.icon-weidian01:before {
+ content: "\e6fe";
+}
+
+.icon-quyu01:before {
+ content: "\e6ff";
+}
+
+.icon-dingdan01:before {
+ content: "\e700";
+}
+
+.icon-fenxiao01:before {
+ content: "\e701";
+}
+
+.icon-zhaoshang01:before {
+ content: "\e702";
+}
+
+.icon-love-value:before {
+ content: "\e6f1";
+}
+
+.icon-fontclass-shangjidaifu:before {
+ content: "\ea94";
+}
+
+.icon-love-value-reward:before {
+ content: "\e6f4";
+}
+
+.icon-daituikuan:before {
+ content: "\e6ed";
+}
+
+.icon-daifukuan:before {
+ content: "\e6ee";
+}
+
+.icon-daishouhuo:before {
+ content: "\e6ef";
+}
+
+.icon-daifahuo:before {
+ content: "\e6f0";
+}
+
+.icon-member-reward1:before {
+ content: "\e6e6";
+}
+
+.icon-member-mycourse1:before {
+ content: "\e6eb";
+}
+
+.icon-member-course3:before {
+ content: "\e6ec";
+}
+
+.icon-member-order4:before {
+ content: "\e6ea";
+}
+
+.icon-member-withdrawals1:before {
+ content: "\e6e7";
+}
+
+.icon-member-receipt-code1:before {
+ content: "\e6e8";
+}
+
+.icon-member-manage1:before {
+ content: "\e6e9";
+}
+
+.icon-member-history2:before {
+ content: "\e6e5";
+}
+
+.icon-member-history1:before {
+ content: "\e6e4";
+}
+
+.icon-member-express:before {
+ content: "\e6d0";
+}
+
+.icon-member-act-signup1:before {
+ content: "\e6d1";
+}
+
+.icon-member-cashier:before {
+ content: "\e6d5";
+}
+
+.icon-member-extension1:before {
+ content: "\e6d6";
+}
+
+.icon-member-mendian1:before {
+ content: "\e6d7";
+}
+
+.icon-member-my-shop1:before {
+ content: "\e6d8";
+}
+
+.icon-member-life-pay1:before {
+ content: "\e6d9";
+}
+
+.icon-member-apply1:before {
+ content: "\e6da";
+}
+
+.icon-member-exchange1:before {
+ content: "\e6db";
+}
+
+.icon-member-currency1:before {
+ content: "\e6dc";
+}
+
+.icon-member-store-apply1:before {
+ content: "\e6dd";
+}
+
+.icon-member-credit01:before {
+ content: "\e6de";
+}
+
+.icon-member-bank-list1:before {
+ content: "\e6df";
+}
+
+.icon-member-clock1:before {
+ content: "\e6e0";
+}
+
+.icon-member-cash1:before {
+ content: "\e6e1";
+}
+
+.icon-member-course2:before {
+ content: "\e6e3";
+}
+
+.icon-member-recharge1:before {
+ content: "\e6d3";
+}
+
+.icon-member-collect1:before {
+ content: "\e6d4";
+}
+
+.icon-saoyisao:before {
+ content: "\e6cf";
+}
+
+.icon-home-line7:before {
+ content: "\e6ce";
+}
+
+.icon-home-line6:before {
+ content: "\e6cd";
+}
+
+.icon-home-line5:before {
+ content: "\e6cc";
+}
+
+.icon-home-line:before {
+ content: "\e6c5";
+}
+
+.icon-home-line1:before {
+ content: "\e6c7";
+}
+
+.icon-home-line2:before {
+ content: "\e6c8";
+}
+
+.icon-home-line3:before {
+ content: "\e6c9";
+}
+
+.icon-home-line4:before {
+ content: "\e6cb";
+}
+
+.icon-tixian2:before {
+ content: "\e6c2";
+}
+
+.icon-member-home1:before {
+ content: "\e6c0";
+}
+
+.icon-member-home:before {
+ content: "\e6bf";
+}
+
+.icon-icon_location:before {
+ content: "\e6be";
+}
+
+.icon-sousuo1:before {
+ content: "\e6bd";
+}
+
+.icon-member-logo:before {
+ content: "\e6bc";
+}
+
+.icon-member-pop:before {
+ content: "\e6bb";
+}
+
+.icon-member-time1:before {
+ content: "\e6ba";
+}
+
+.icon-shalou:before {
+ content: "\e6b9";
+}
+
+.icon-member-time:before {
+ content: "\e6b8";
+}
+
+.icon-member-bottom:before {
+ content: "\e6b6";
+}
+
+.icon-member-top:before {
+ content: "\e6b7";
+}
+
+.icon-saoma:before {
+ content: "\e749";
+}
+
+.icon-31saoma:before {
+ content: "\e602";
+}
+
+.icon-cupboard-del:before {
+ content: "\e6b4";
+}
+
+.icon-cupboard-download:before {
+ content: "\e6b5";
+}
+
+.icon-income-cash:before {
+ content: "\e6b2";
+}
+
+.icon-income-detail:before {
+ content: "\e6b3";
+}
+
+.icon-extension-income:before {
+ content: "\e6b1";
+}
+
+.icon-dianhua1:before {
+ content: "\e6af";
+}
+
+.icon-dingwei:before {
+ content: "\e6b0";
+}
+
+.icon-dianhua:before {
+ content: "\e6ae";
+}
+
+.icon-wode-wode:before {
+ content: "\e6ad";
+}
+
+.icon-ai-home:before {
+ content: "\e6ac";
+}
+
+.icon-pinpai:before {
+ content: "\e722";
+}
+
+.icon-member-mycourse:before {
+ content: "\e6ab";
+}
+
+.icon-member-course1:before {
+ content: "\e6a2";
+}
+
+.icon-member-history:before {
+ content: "\e6a4";
+}
+
+.icon-member-manage:before {
+ content: "\e6a5";
+}
+
+.icon-member-receipt-code:before {
+ content: "\e6a6";
+}
+
+.icon-member-order2:before {
+ content: "\e6a7";
+}
+
+.icon-member-reward:before {
+ content: "\e6a9";
+}
+
+.icon-member-withdrawals:before {
+ content: "\e6aa";
+}
+
+.icon-zhifeiji:before {
+ content: "\e69f";
+}
+
+.icon-wodekefu:before {
+ content: "\e69e";
+}
+
+.icon-tool-evaluate:before {
+ content: "\e693";
+}
+
+.icon-tool-fontprin:before {
+ content: "\e694";
+}
+
+.icon-tool-coupon:before {
+ content: "\e696";
+}
+
+.icon-tool-collecti:before {
+ content: "\e697";
+}
+
+.icon-tool-address:before {
+ content: "\e699";
+}
+
+.icon-tool-code:before {
+ content: "\e69a";
+}
+
+.icon-tool-news:before {
+ content: "\e69b";
+}
+
+.icon-tool-relation:before {
+ content: "\e69d";
+}
+
+.icon-naozhong:before {
+ content: "\e692";
+}
+
+.icon-back:before {
+ content: "\e691";
+}
+
+.icon-ai-ios:before {
+ content: "\e68d";
+}
+
+.icon-huawei:before {
+ content: "\e82e";
+}
+
+.icon-sanxing:before {
+ content: "\e830";
+}
+
+.icon-xiaomi:before {
+ content: "\e832";
+}
+
+.icon-integral-red:before {
+ content: "\e68b";
+}
+
+.icon-integral-white:before {
+ content: "\e68c";
+}
+
+.icon-tishi:before {
+ content: "\e68a";
+}
+
+.icon-yuan:before {
+ content: "\e689";
+}
+
+.icon-vip1:before {
+ content: "\e687";
+}
+
+.icon-shezhi:before {
+ content: "\e686";
+}
+
+.icon-vip:before {
+ content: "\e684";
+}
+
+.icon-huiyuan:before {
+ content: "\e715";
+}
+
+.icon-rent:before {
+ content: "\e682";
+}
+
+.icon-close11:before {
+ content: "\e681";
+}
+
+.icon-guanbi:before {
+ content: "\e9bb";
+}
+
+.icon-dingdan1:before {
+ content: "\e680";
+}
+
+.icon-shoukuan1:before {
+ content: "\e67f";
+}
+
+.icon-tongji:before {
+ content: "\e67e";
+}
+
+.icon-erweima1:before {
+ content: "\e67d";
+}
+
+.icon-qr-code:before {
+ content: "\e67c";
+}
+
+.icon-icon:before {
+ content: "\e679";
+}
+
+.icon-tongzhi:before {
+ content: "\e67b";
+}
+
+.icon-member-recharge:before {
+ content: "\e678";
+}
+
+.icon-member-clock:before {
+ content: "\e677";
+}
+
+.icon-member-credit-value:before {
+ content: "\e66d";
+}
+
+.icon-member-life-pay:before {
+ content: "\e66e";
+}
+
+.icon-member-my-shop:before {
+ content: "\e66f";
+}
+
+.icon-member-act-signup:before {
+ content: "\e670";
+}
+
+.icon-member-store-apply:before {
+ content: "\e671";
+}
+
+.icon-member-bank-list:before {
+ content: "\e672";
+}
+
+.icon-member-Cashier:before {
+ content: "\e673";
+}
+
+.icon-member-exchange:before {
+ content: "\e676";
+}
+
+.icon-member-order1:before {
+ content: "\e66c";
+}
+
+.icon-member-order:before {
+ content: "\e66b";
+}
+
+.icon-member-credit:before {
+ content: "\e668";
+}
+
+.icon-member-rank:before {
+ content: "\e669";
+}
+
+.icon-member-change:before {
+ content: "\e657";
+}
+
+.icon-member-course:before {
+ content: "\e658";
+}
+
+.icon-member-chongzhi:before {
+ content: "\e65a";
+}
+
+.icon-member-collect:before {
+ content: "\e65c";
+}
+
+.icon-member-cash:before {
+ content: "\e65d";
+}
+
+.icon-member-currency:before {
+ content: "\e65e";
+}
+
+.icon-member-rmb:before {
+ content: "\e65f";
+}
+
+.icon-member-store:before {
+ content: "\e660";
+}
+
+.icon-member-extension:before {
+ content: "\e663";
+}
+
+.icon-member-apply:before {
+ content: "\e664";
+}
+
+.icon-member-act:before {
+ content: "\e665";
+}
+
+.icon-member-sign:before {
+ content: "\e666";
+}
+
+.icon-member-mendian:before {
+ content: "\e667";
+}
+
+.icon-dian:before {
+ content: "\e656";
+}
+
+.icon-fenxiang:before {
+ content: "\e739";
+}
+
+.icon-share:before {
+ content: "\e655";
+}
+
+.icon-zujiantuandui:before {
+ content: "\e6f2";
+}
+
+.icon-shuoming:before {
+ content: "\e6d2";
+}
+
+.icon-tubiaozhizuomoban-:before {
+ content: "\e637";
+}
+
+.icon-gerenzhongxin:before {
+ content: "\e698";
+}
+
+.icon-jiahao:before {
+ content: "\e64c";
+}
+
+.icon-weitixian:before {
+ content: "\e634";
+}
+
+.icon-yitixian:before {
+ content: "\e636";
+}
+
+.icon-yujishouyi:before {
+ content: "\e62b";
+}
+
+.icon-zanwushouyi:before {
+ content: "\e767";
+}
+
+.icon-yijiesuan:before {
+ content: "\e62c";
+}
+
+.icon-caidan:before {
+ content: "\e790";
+}
+
+.icon-wancheng2:before {
+ content: "\e631";
+}
+
+.icon-dengdai:before {
+ content: "\e62f";
+}
+
+.icon-dengdaichuli:before {
+ content: "\e62d";
+}
+
+.icon-wancheng:before {
+ content: "\e6a3";
+}
+
+.icon-dingdan:before {
+ content: "\e626";
+}
+
+.icon-weifukuan:before {
+ content: "\e628";
+}
+
+.icon-yifukuan:before {
+ content: "\e629";
+}
+
+.icon-wodedingdan0101:before {
+ content: "\e61e";
+}
+
+.icon-tixian1:before {
+ content: "\e69c";
+}
+
+.icon-jiesuanguanli:before {
+ content: "\e64d";
+}
+
+.icon-jiesuantongji:before {
+ content: "\e683";
+}
+
+.icon-tixianjilu:before {
+ content: "\e652";
+}
+
+.icon-wodedingdan:before {
+ content: "\e61a";
+}
+
+.icon-shoukuan:before {
+ content: "\e644";
+}
+
+.icon-cuowu:before {
+ content: "\e675";
+}
+
+.icon-dizhi:before {
+ content: "\e617";
+}
+
+.icon-jiangshifenhong:before {
+ content: "\e616";
+}
+
+.icon-fanhui:before {
+ content: "\e662";
+}
+
+.icon-jiangshi:before {
+ content: "\e659";
+}
+
+.icon-dianpu1:before {
+ content: "\e622";
+}
+
+.icon-shenghuojiaofei:before {
+ content: "\e661";
+}
+
+.icon-dengji:before {
+ content: "\e688";
+}
+
+.icon-xinyong:before {
+ content: "\e621";
+}
+
+.icon-bofang1:before {
+ content: "\e625";
+}
+
+.icon-bofang:before {
+ content: "\e60e";
+}
+
+.icon-giftfill:before {
+ content: "\e68f";
+}
+
+.icon-lishi:before {
+ content: "\e690";
+}
+
+.icon-kefu:before {
+ content: "\e8a5";
+}
+
+.icon-kechengzhongxin:before {
+ content: "\e633";
+}
+
+.icon-sousuo:before {
+ content: "\e6c4";
+}
+
+.icon-wodekecheng:before {
+ content: "\e60c";
+}
+
+.icon-xiaolian:before {
+ content: "\e6c1";
+}
+
+.icon-shenqing1:before {
+ content: "\e60a";
+}
+
+.icon-baomingguanli:before {
+ content: "\e619";
+}
+
+.icon-baoming1:before {
+ content: "\e6f3";
+}
+
+.icon-shouyintai1:before {
+ content: "\e9ba";
+}
+
+.icon-mendian2:before {
+ content: "\e630";
+}
+
+.icon-circle-bell:before {
+ content: "\e62a";
+}
+
+.icon-duihuan1:before {
+ content: "\e608";
+}
+
+.icon-quyufenhong:before {
+ content: "\e61c";
+}
+
+.icon-tixian:before {
+ content: "\e72a";
+}
+
+.icon-guanxi:before {
+ content: "\e6c6";
+}
+
+.icon-pinglun:before {
+ content: "\e610";
+}
+
+.icon-erweima:before {
+ content: "\e627";
+}
+
+.icon-shoucang1:before {
+ content: "\e606";
+}
+
+.icon-yijiwu:before {
+ content: "\e6e2";
+}
+
+.icon-shenqing:before {
+ content: "\e613";
+}
+
+.icon-paihangbang:before {
+ content: "\e65b";
+}
+
+.icon-42baoxianxiangqing:before {
+ content: "\e615";
+}
+
+.icon-hongbaoyingxiaofenxi:before {
+ content: "\e792";
+}
+
+.icon-fenxianghuohongbao:before {
+ content: "\e643";
+}
+
+.icon-mendian:before {
+ content: "\e60b";
+}
+
+.icon-duihuan:before {
+ content: "\e620";
+}
+
+.icon-fontclass-xaizai:before {
+ content: "\ea31";
+}
+.icon-chongzhi:before {
+ content: "\e635";
+}
+
+.icon-ranking:before {
+ content: "\e604";
+}
+
+.icon-chongzhi1:before {
+ content: "\e67a";
+}
+
+.icon-huobi:before {
+ content: "\e618";
+}
+
+.icon-shangbaoredian:before {
+ content: "\e68e";
+}
+
+.icon-fontclass-tuoke:before {
+ content: "\ea35";
+}
+.icon-gongyingshang2:before {
+ content: "\e605";
+}
+
+.icon-baoming:before {
+ content: "\e6a8";
+}
+
+.icon-weidian1:before {
+ content: "\e60f";
+}
+
+.icon-weidian:before {
+ content: "\e611";
+}
+
+.icon-shoukuanma:before {
+ content: "\e66a";
+}
+
+.icon-xing:before {
+ content: "\e609";
+}
+
+.icon-youhuiquan:before {
+ content: "\e64b";
+}
+
+.icon-zuji:before {
+ content: "\e6ca";
+}
+
+.icon-tuanduifenhong:before {
+ content: "\e695";
+}
+
+.icon-xiaofeifanxian:before {
+ content: "\e63c";
+}
+
+.icon-fontclass-rili:before {
+ content: "\ea37";
+}
+.icon-fontclass-cehchang:before {
+ content: "\ea7c";
+}
+
+.icon-fontclass-anzhuang:before {
+ content: "\ea3d";
+}
+.icon-tuanduifanxian:before {
+ content: "\e6c3";
+}
+
+.icon-shangchengdingdan:before {
+ content: "\e60d";
+}
+
+.icon-manefanxian:before {
+ content: "\e614";
+}
+
+.icon-yinhangqiazhifu:before {
+ content: "\e649";
+}
+.icon-fontclass-quanzi1:before {
+ content: "\ea64";
+}
+.icon-gudongfenhong:before {
+ content: "\e61f";
+}
+
+.icon-daqia:before {
+ content: "\e64a";
+}
+
+.icon-haopingfanxian:before {
+ content: "\e603";
+}
+
+.icon-gudingjiangli:before {
+ content: "\e632";
+}
+
+.icon-yinhangqia:before {
+ content: "\e624";
+}
+
+.icon-shouyintai:before {
+ content: "\e61d";
+}
+
+.icon-quyu:before {
+ content: "\e6a1";
+}
+
+.icon-fenxiao:before {
+ content: "\e63a";
+}
+
+.icon-yduibofang:before {
+ content: "\e674";
+}
+
+.icon-zengsong:before {
+ content: "\e648";
+}
+
+.icon-fenxiao1:before {
+ content: "\e6a0";
+}
+
+.icon-quyu1:before {
+ content: "\e61b";
+}
+
+.icon-zengsong1:before {
+ content: "\e623";
+}
+
+.icon-jiangli:before {
+ content: "\e647";
+}
+
+.icon-dianpu:before {
+ content: "\e600";
+}
+
+.icon-fontclass-tuijianjiang:before {
+ content: "\ea69";
+}
+.icon-fontclass-guanbi:before {
+ content: "\ea82";
+}
+.icon-fontclass-guan:before {
+ content: "\ea83";
+}
+.icon-jianpan:before {
+ content: "\ea84";
+}
+
+.icon-fontclass-hangbanxinxi:before {
+ content: "\ea7a";
+}
+
+.icon-fontclass-jiaona:before {
+ content: "\ea89";
+}
+
+.icon-fontclass-zengsong:before {
+ content: "\ea88";
+}
+
+.icon-fontclass-xinyongzhi:before {
+ content: "\ea8a";
+}
+
+.icon-fontclass-jilu2:before {
+ content: "\ea87";
+}
+
+.icon-fontclass-jilu1:before {
+ content: "\ea86";
+}
+.icon-fontclass-maikefeng:before {
+ content: "\ea6e";
+}
+
+.icon-fontclass-shengjima1:before {
+ content: "\ea6d";
+}
+
+.icon-fontclass-shouquanma-01:before {
+ content: "\ea6c";
+}
+.icon-jiangli1:before {
+ content: "\e62e";
+}
+
+.icon-zengsong2:before {
+ content: "\e685";
+}
+
+.icon-fenhong:before {
+ content: "\e612";
+}
+
+.icon-zhaoshangyuan:before {
+ content: "\e601";
+}
+
+.icon-fontclass-qixian:before {
+ content: "\ea95";
+}
+
+.icon-fontclass-qixian:before {
+ content: "\ea95";
+}
+
+.icon-fontclass-mendianhexiao:before {
+ content: "\ea91";
+}
+
+.icon-fontclass-liaotian:before {
+ content: "\ea96";
+}
+
+.icon-fontclass-daifu1:before {
+ content: "\ea92";
+}
+
+.icon-fontclass-saomazhifu:before {
+ content: "\ea93";
+}
+
+.icon-fontclass-huizhenpin:before {
+ content: "\ea8e";
+}
+
+.icon-fontclass-miandan:before {
+ content: "\ea99";
+}
+
+.icon-fontclass-shouhou1:before {
+ content: "\eabc";
+}
+
+.icon-fontclass-daishouhuo2:before {
+ content: "\eabb";
+}
+
+.icon-fontclass-daifukuan3:before {
+ content: "\eaba";
+}
+
+.icon-fontclass-daifahuo3:before {
+ content: "\eab9";
+}
+
+.icon-fontclass-daizhifu:before {
+ content: "\eab8";
+}
+
+.icon-fontclass-daiguihuan:before {
+ content: "\eab7";
+}
+
+.icon-fontclass-daifshouhuo:before {
+ content: "\eab6";
+}
+
+.icon-fontclass-daifahuo2:before {
+ content: "\eab5";
+}
+
+.icon-fontclass-daifukuan2:before {
+ content: "\eab4";
+}
+
+.icon-fontclass-daituifang:before {
+ content: "\eab3";
+}
+
+.icon-fontclass-dairuzhu1:before {
+ content: "\eab2";
+}
+
+.icon-fontclass-daiqueren:before {
+ content: "\eab1";
+}
+
+.icon-fontclass-shouhou:before {
+ content: "\eab0";
+}
+
+.icon-fontclass-daishouhuo:before {
+ content: "\eaaf";
+}
+
+.icon-fontclass-daifukuan1:before {
+ content: "\eaae";
+}
+
+.icon-fontclass-daifahuo1:before {
+ content: "\eaad";
+}
+
+.icon-fontclass-jiantou:before {
+ content: "\eaa9";
+}
+
+.icon-fontclass-dianzhushenqing:before {
+ content: "\ea9d";
+}
+
+.icon-fontclass-kuajing:before {
+ content: "\ea9c";
+}
+
+.icon-fontclass-daishouhuo1:before {
+ content: "\eaac";
+}
+
+.icon-fontclass-daifahuo:before {
+ content: "\eaab";
+}
+
+.icon-fontclass-daifukuan:before {
+ content: "\eaaa";
+}
+
+.icon-fontclass-kefu:before {
+ content: "\eaa8";
+}
+
+.icon-fontclass-liulan:before {
+ content: "\eaa7";
+}
+
+.icon-fontclass-quanbudingdan:before {
+ content: "\eaa6";
+}
+
+.icon-fontclass-shoucang:before {
+ content: "\eaa5";
+}
+
+.icon-fontclass-shouhouliebiao:before {
+ content: "\eaa4";
+}
+.icon-fontclass-shouru:before {
+ content: "\eaa3";
+}
+.icon-fontclass-jingyin:before {
+ content: "\ea9a";
+}
+.icon-fontclass-xiaoxi:before {
+ content: "\eaa2";
+}
+
+.icon-fontclass-huizhenpin:before {
+ content: "\ea8e";
+}
+
+.icon-fontclass-mendianhexiao:before {
+ content: "\ea91";
+}
+
+
+.icon-fontclass-youhuiquan1:before {
+ content: "\eac0";
+}
+
+.icon-fontclass-ship:before {
+ content: "\eac2";
+}
+
+.icon-balance_yue:before {
+ content: "\eac1";
+}
+
+.icon-fontclass-xaidan:before {
+ content: "\eabf";
+}
+
+.icon-fontclass-fanli:before {
+ content: "\eabe";
+}
+
+.icon-fontclass-fenxiang1:before {
+ content: "\eabd";
+}
+
+.icon-fontclass-fenxianghaibao:before {
+ content: "\eac3";
+}
+
+.icon-fontclass-guquanfenhong:before {
+ content: "\eac6";
+}
+
+.icon-fontclass-yanzhengma:before {
+ content: "\eac5";
+}
+
+
+.icon-fontclass-huiyuanzhongixn:before {
+ content: "\ea45";
+}
+.icon-fontclass-yingye:before {
+ content: "\eacc";
+}
+
+.icon-fontclass-yingyee:before {
+ content: "\eacb";
+}
+
+.icon-fontclass-shouru1:before {
+ content: "\eaca";
+}
+
+.icon-fontclass-leiji:before {
+ content: "\eac9";
+}
+
+.icon-fontclass-ticheng:before {
+ content: "\eac8";
+}
+
+.icon-fontclass-gaodeng1:before {
+ content: "\eac7";
+}
+.icon-fontclass-zhiding:before {
+ content: "\eaa1";
+}
+.icon-fontclass-yingyongzhongxin:before {
+ content: "\eaf0";
+}
+.icon-fontclass-qianshu:before {
+ content: "\eaf9";
+}
+.icon-fontclass-shangchuan:before {
+ content: "\eb0a";
+}
+.icon-fontclass-xiazai:before {
+ content: "\eb09";
+}
+.icon-fontclass-piliang:before {
+ content: "\eb08";
+}
+.icon-fontclass-xuni:before {
+ content: "\eb0b";
+}
+.icon-fontclass-fahuo:before {
+ content: "\eae2";
+}
+.icon-fontclass-youhuiq:before {
+ content: "\eae3";
+}
+.icon-fontclass-yue:before {
+ content: "\eace";
+}
+.icon-fontclass-zuanz:before {
+ content: "\eb0f";
+}
+.icon-fontclass-tequanzhekou:before {
+ content: "\e9f5";
+}
+.icon-fontclass-rengezhongxin:before {
+ content: "\eafe";
+}
+.icon-icon-test:before {
+ content: "\e7b3";
+}
+.icon-qt_icon_record:before {
+ content: "\e9e1";
+}
+.icon-kehuqunzu:before {
+ content: "\eb12";
+}
+.icon-gongnengpaihangbang:before {
+ content: "\eb13";
+}
+.icon-fontclass-yunkefu:before {
+ content: "\eaf2";
+}
+.icon-fontclass-xianshi:before {
+ content: "\eb20";
+}
+
+.icon-fontclass-guazhang:before {
+ content: "\eb1f";
+}
+
+.icon-fontclass-yunkefu:before {
+ content: "\eaf2";
+}
+
+.icon-dingshi:before {
+ content: "\eae7";
+}
+.icon-fontclass-jiahaoyou:before {
+ content: "\eb24";
+}
+.icon-fontclass-shenhe1:before {
+ content: "\eb2f";
+ }
+
+ .icon-fontclass-dianpu1:before {
+ content: "\eb2e";
+ }
+
+ .icon-rise:before {
+ content: "\eb2d";
+ }
+
+ .icon-fontclass-shenqing:before {
+ content: "\eb2c";
+ }
+
+ .icon-fontclass-tongguo:before {
+ content: "\eb2b";
+ }
+ .icon-fontclass-huiyuandengji:before {
+ content: "\eadd";
+ }
+ .icon-fontclass-wdeguanzhu:before {
+ content: "\eb1b";
+ }
+ .icon-fontclass-huiyuantongbu:before {
+ content: "\eadf";
+ }
+ .icon-fontclass-wenzhang:before {
+ content: "\eb0e";
+ }
\ No newline at end of file
diff --git a/mycss/stylesheet.wxss b/mycss/stylesheet.wxss
new file mode 100644
index 0000000..7c0022a
--- /dev/null
+++ b/mycss/stylesheet.wxss
@@ -0,0 +1,26 @@
+@font-face {
+ font-family: 'iconfont'; /* Project id 432132 */
+ src: url('//at.alicdn.com/t/font_432132_p1tvd7qyt4.woff2?t=1648783169151') format('woff2'),
+ url('//at.alicdn.com/t/font_432132_p1tvd7qyt4.woff?t=1648783169151') format('woff'),
+ url('//at.alicdn.com/t/font_432132_p1tvd7qyt4.ttf?t=1648783169151') format('truetype');
+}
+
+.themeDiyBackground {
+ background-color: var(--themeColor) !important;
+ transition: 0.5s;
+}
+
+.themeDiyColor {
+ color: var(--themeColor) !important;
+ transition: 0.5s;
+}
+
+.themeDiyBorder {
+ border-color: var(--themeColor) !important;
+ transition: 0.5s;
+}
+
+.buttonActive:active {
+ filter: brightness(85%);
+ transition: 0.5s;
+}
\ No newline at end of file
diff --git a/mymap/qqmap-wx-jssdk.min.js b/mymap/qqmap-wx-jssdk.min.js
new file mode 100644
index 0000000..8fa1477
--- /dev/null
+++ b/mymap/qqmap-wx-jssdk.min.js
@@ -0,0 +1 @@
+var ERROR_CONF = { KEY_ERR: 311, KEY_ERR_MSG: 'key格式错误', PARAM_ERR: 310, PARAM_ERR_MSG: '请求参数信息有误', SYSTEM_ERR: 600, SYSTEM_ERR_MSG: '系统错误', WX_ERR_CODE: 1000, WX_OK_CODE: 200 }; var BASE_URL = 'https://apis.map.qq.com/ws/'; var URL_SEARCH = BASE_URL + 'place/v1/search'; var URL_SUGGESTION = BASE_URL + 'place/v1/suggestion'; var URL_GET_GEOCODER = BASE_URL + 'geocoder/v1/'; var URL_CITY_LIST = BASE_URL + 'district/v1/list'; var URL_AREA_LIST = BASE_URL + 'district/v1/getchildren'; var URL_DISTANCE = BASE_URL + 'distance/v1/'; var URL_DIRECTION = BASE_URL + 'direction/v1/'; var MODE = { driving: 'driving', transit: 'transit' }; var EARTH_RADIUS = 6378136.49; var Utils = { safeAdd(x, y) { var lsw = (x & 0xffff) + (y & 0xffff); var msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xffff) }, bitRotateLeft(num, cnt) { return (num << cnt) | (num >>> (32 - cnt)) }, md5cmn(q, a, b, x, s, t) { return this.safeAdd(this.bitRotateLeft(this.safeAdd(this.safeAdd(a, q), this.safeAdd(x, t)), s), b) }, md5ff(a, b, c, d, x, s, t) { return this.md5cmn((b & c) | (~b & d), a, b, x, s, t) }, md5gg(a, b, c, d, x, s, t) { return this.md5cmn((b & d) | (c & ~d), a, b, x, s, t) }, md5hh(a, b, c, d, x, s, t) { return this.md5cmn(b ^ c ^ d, a, b, x, s, t) }, md5ii(a, b, c, d, x, s, t) { return this.md5cmn(c ^ (b | ~d), a, b, x, s, t) }, binlMD5(x, len) { x[len >> 5] |= 0x80 << (len % 32); x[((len + 64) >>> 9 << 4) + 14] = len; var i; var olda; var oldb; var oldc; var oldd; var a = 1732584193; var b = -271733879; var c = -1732584194; var d = 271733878; for (i = 0; i < x.length; i += 16) { olda = a; oldb = b; oldc = c; oldd = d; a = this.md5ff(a, b, c, d, x[i], 7, -680876936); d = this.md5ff(d, a, b, c, x[i + 1], 12, -389564586); c = this.md5ff(c, d, a, b, x[i + 2], 17, 606105819); b = this.md5ff(b, c, d, a, x[i + 3], 22, -1044525330); a = this.md5ff(a, b, c, d, x[i + 4], 7, -176418897); d = this.md5ff(d, a, b, c, x[i + 5], 12, 1200080426); c = this.md5ff(c, d, a, b, x[i + 6], 17, -1473231341); b = this.md5ff(b, c, d, a, x[i + 7], 22, -45705983); a = this.md5ff(a, b, c, d, x[i + 8], 7, 1770035416); d = this.md5ff(d, a, b, c, x[i + 9], 12, -1958414417); c = this.md5ff(c, d, a, b, x[i + 10], 17, -42063); b = this.md5ff(b, c, d, a, x[i + 11], 22, -1990404162); a = this.md5ff(a, b, c, d, x[i + 12], 7, 1804603682); d = this.md5ff(d, a, b, c, x[i + 13], 12, -40341101); c = this.md5ff(c, d, a, b, x[i + 14], 17, -1502002290); b = this.md5ff(b, c, d, a, x[i + 15], 22, 1236535329); a = this.md5gg(a, b, c, d, x[i + 1], 5, -165796510); d = this.md5gg(d, a, b, c, x[i + 6], 9, -1069501632); c = this.md5gg(c, d, a, b, x[i + 11], 14, 643717713); b = this.md5gg(b, c, d, a, x[i], 20, -373897302); a = this.md5gg(a, b, c, d, x[i + 5], 5, -701558691); d = this.md5gg(d, a, b, c, x[i + 10], 9, 38016083); c = this.md5gg(c, d, a, b, x[i + 15], 14, -660478335); b = this.md5gg(b, c, d, a, x[i + 4], 20, -405537848); a = this.md5gg(a, b, c, d, x[i + 9], 5, 568446438); d = this.md5gg(d, a, b, c, x[i + 14], 9, -1019803690); c = this.md5gg(c, d, a, b, x[i + 3], 14, -187363961); b = this.md5gg(b, c, d, a, x[i + 8], 20, 1163531501); a = this.md5gg(a, b, c, d, x[i + 13], 5, -1444681467); d = this.md5gg(d, a, b, c, x[i + 2], 9, -51403784); c = this.md5gg(c, d, a, b, x[i + 7], 14, 1735328473); b = this.md5gg(b, c, d, a, x[i + 12], 20, -1926607734); a = this.md5hh(a, b, c, d, x[i + 5], 4, -378558); d = this.md5hh(d, a, b, c, x[i + 8], 11, -2022574463); c = this.md5hh(c, d, a, b, x[i + 11], 16, 1839030562); b = this.md5hh(b, c, d, a, x[i + 14], 23, -35309556); a = this.md5hh(a, b, c, d, x[i + 1], 4, -1530992060); d = this.md5hh(d, a, b, c, x[i + 4], 11, 1272893353); c = this.md5hh(c, d, a, b, x[i + 7], 16, -155497632); b = this.md5hh(b, c, d, a, x[i + 10], 23, -1094730640); a = this.md5hh(a, b, c, d, x[i + 13], 4, 681279174); d = this.md5hh(d, a, b, c, x[i], 11, -358537222); c = this.md5hh(c, d, a, b, x[i + 3], 16, -722521979); b = this.md5hh(b, c, d, a, x[i + 6], 23, 76029189); a = this.md5hh(a, b, c, d, x[i + 9], 4, -640364487); d = this.md5hh(d, a, b, c, x[i + 12], 11, -421815835); c = this.md5hh(c, d, a, b, x[i + 15], 16, 530742520); b = this.md5hh(b, c, d, a, x[i + 2], 23, -995338651); a = this.md5ii(a, b, c, d, x[i], 6, -198630844); d = this.md5ii(d, a, b, c, x[i + 7], 10, 1126891415); c = this.md5ii(c, d, a, b, x[i + 14], 15, -1416354905); b = this.md5ii(b, c, d, a, x[i + 5], 21, -57434055); a = this.md5ii(a, b, c, d, x[i + 12], 6, 1700485571); d = this.md5ii(d, a, b, c, x[i + 3], 10, -1894986606); c = this.md5ii(c, d, a, b, x[i + 10], 15, -1051523); b = this.md5ii(b, c, d, a, x[i + 1], 21, -2054922799); a = this.md5ii(a, b, c, d, x[i + 8], 6, 1873313359); d = this.md5ii(d, a, b, c, x[i + 15], 10, -30611744); c = this.md5ii(c, d, a, b, x[i + 6], 15, -1560198380); b = this.md5ii(b, c, d, a, x[i + 13], 21, 1309151649); a = this.md5ii(a, b, c, d, x[i + 4], 6, -145523070); d = this.md5ii(d, a, b, c, x[i + 11], 10, -1120210379); c = this.md5ii(c, d, a, b, x[i + 2], 15, 718787259); b = this.md5ii(b, c, d, a, x[i + 9], 21, -343485551); a = this.safeAdd(a, olda); b = this.safeAdd(b, oldb); c = this.safeAdd(c, oldc); d = this.safeAdd(d, oldd) } return [a, b, c, d] }, binl2rstr(input) { var i; var output = ''; var length32 = input.length * 32; for (i = 0; i < length32; i += 8) { output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xff) } return output }, rstr2binl(input) { var i; var output = []; output[(input.length >> 2) - 1] = undefined; for (i = 0; i < output.length; i += 1) { output[i] = 0 } var length8 = input.length * 8; for (i = 0; i < length8; i += 8) { output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << (i % 32) } return output }, rstrMD5(s) { return this.binl2rstr(this.binlMD5(this.rstr2binl(s), s.length * 8)) }, rstrHMACMD5(key, data) { var i; var bkey = this.rstr2binl(key); var ipad = []; var opad = []; var hash; ipad[15] = opad[15] = undefined; if (bkey.length > 16) { bkey = this.binlMD5(bkey, key.length * 8) } for (i = 0; i < 16; i += 1) { ipad[i] = bkey[i] ^ 0x36363636; opad[i] = bkey[i] ^ 0x5c5c5c5c } hash = this.binlMD5(ipad.concat(this.rstr2binl(data)), 512 + data.length * 8); return this.binl2rstr(this.binlMD5(opad.concat(hash), 512 + 128)) }, rstr2hex(input) { var hexTab = '0123456789abcdef'; var output = ''; var x; var i; for (i = 0; i < input.length; i += 1) { x = input.charCodeAt(i); output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f) } return output }, str2rstrUTF8(input) { return unescape(encodeURIComponent(input)) }, rawMD5(s) { return this.rstrMD5(this.str2rstrUTF8(s)) }, hexMD5(s) { return this.rstr2hex(this.rawMD5(s)) }, rawHMACMD5(k, d) { return this.rstrHMACMD5(this.str2rstrUTF8(k), str2rstrUTF8(d)) }, hexHMACMD5(k, d) { return this.rstr2hex(this.rawHMACMD5(k, d)) }, md5(string, key, raw) { if (!key) { if (!raw) { return this.hexMD5(string) } return this.rawMD5(string) } if (!raw) { return this.hexHMACMD5(key, string) } return this.rawHMACMD5(key, string) }, getSig(requestParam, sk, feature, mode) { var sig = null; var requestArr = []; Object.keys(requestParam).sort().forEach(function (key) { requestArr.push(key + '=' + requestParam[key]) }); if (feature == 'search') { sig = '/ws/place/v1/search?' + requestArr.join('&') + sk } if (feature == 'suggest') { sig = '/ws/place/v1/suggestion?' + requestArr.join('&') + sk } if (feature == 'reverseGeocoder') { sig = '/ws/geocoder/v1/?' + requestArr.join('&') + sk } if (feature == 'geocoder') { sig = '/ws/geocoder/v1/?' + requestArr.join('&') + sk } if (feature == 'getCityList') { sig = '/ws/district/v1/list?' + requestArr.join('&') + sk } if (feature == 'getDistrictByCityId') { sig = '/ws/district/v1/getchildren?' + requestArr.join('&') + sk } if (feature == 'calculateDistance') { sig = '/ws/distance/v1/?' + requestArr.join('&') + sk } if (feature == 'direction') { sig = '/ws/direction/v1/' + mode + '?' + requestArr.join('&') + sk } sig = this.md5(sig); return sig }, location2query(data) { if (typeof data == 'string') { return data } var query = ''; for (var i = 0; i < data.length; i++) { var d = data[i]; if (!!query) { query += ';' } if (d.location) { query = query + d.location.lat + ',' + d.location.lng } if (d.latitude && d.longitude) { query = query + d.latitude + ',' + d.longitude } } return query }, rad(d) { return d * Math.PI / 180.0 }, getEndLocation(location) { var to = location.split(';'); var endLocation = []; for (var i = 0; i < to.length; i++) { endLocation.push({ lat: parseFloat(to[i].split(',')[0]), lng: parseFloat(to[i].split(',')[1]) }) } return endLocation }, getDistance(latFrom, lngFrom, latTo, lngTo) { var radLatFrom = this.rad(latFrom); var radLatTo = this.rad(latTo); var a = radLatFrom - radLatTo; var b = this.rad(lngFrom) - this.rad(lngTo); var distance = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLatFrom) * Math.cos(radLatTo) * Math.pow(Math.sin(b / 2), 2))); distance = distance * EARTH_RADIUS; distance = Math.round(distance * 10000) / 10000; return parseFloat(distance.toFixed(0)) }, getWXLocation(success, fail, complete) { wx.getLocation({ type: 'gcj02', success: success, fail: fail, complete: complete }) }, getLocationParam(location) { if (typeof location == 'string') { var locationArr = location.split(','); if (locationArr.length === 2) { location = { latitude: location.split(',')[0], longitude: location.split(',')[1] } } else { location = {} } } return location }, polyfillParam(param) { param.success = param.success || function () { }; param.fail = param.fail || function () { }; param.complete = param.complete || function () { } }, checkParamKeyEmpty(param, key) { if (!param[key]) { var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + key + '参数格式有误'); param.fail(errconf); param.complete(errconf); return true } return false }, checkKeyword(param) { return !this.checkParamKeyEmpty(param, 'keyword') }, checkLocation(param) { var location = this.getLocationParam(param.location); if (!location || !location.latitude || !location.longitude) { var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + ' location参数格式有误'); param.fail(errconf); param.complete(errconf); return false } return true }, buildErrorConfig(errCode, errMsg) { return { status: errCode, message: errMsg } }, handleData(param, data, feature) { if (feature == 'search') { var searchResult = data.data; var searchSimplify = []; for (var i = 0; i < searchResult.length; i++) { searchSimplify.push({ id: searchResult[i].id || null, title: searchResult[i].title || null, latitude: searchResult[i].location && searchResult[i].location.lat || null, longitude: searchResult[i].location && searchResult[i].location.lng || null, address: searchResult[i].address || null, category: searchResult[i].category || null, tel: searchResult[i].tel || null, adcode: searchResult[i].ad_info && searchResult[i].ad_info.adcode || null, city: searchResult[i].ad_info && searchResult[i].ad_info.city || null, district: searchResult[i].ad_info && searchResult[i].ad_info.district || null, province: searchResult[i].ad_info && searchResult[i].ad_info.province || null }) } param.success(data, { searchResult: searchResult, searchSimplify: searchSimplify }) } else if (feature == 'suggest') { var suggestResult = data.data; var suggestSimplify = []; for (var i = 0; i < suggestResult.length; i++) { suggestSimplify.push({ adcode: suggestResult[i].adcode || null, address: suggestResult[i].address || null, category: suggestResult[i].category || null, city: suggestResult[i].city || null, district: suggestResult[i].district || null, id: suggestResult[i].id || null, latitude: suggestResult[i].location && suggestResult[i].location.lat || null, longitude: suggestResult[i].location && suggestResult[i].location.lng || null, province: suggestResult[i].province || null, title: suggestResult[i].title || null, type: suggestResult[i].type || null }) } param.success(data, { suggestResult: suggestResult, suggestSimplify: suggestSimplify }) } else if (feature == 'reverseGeocoder') { var reverseGeocoderResult = data.result; var reverseGeocoderSimplify = { address: reverseGeocoderResult.address || null, latitude: reverseGeocoderResult.location && reverseGeocoderResult.location.lat || null, longitude: reverseGeocoderResult.location && reverseGeocoderResult.location.lng || null, adcode: reverseGeocoderResult.ad_info && reverseGeocoderResult.ad_info.adcode || null, city: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.city || null, district: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.district || null, nation: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.nation || null, province: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.province || null, street: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.street || null, street_number: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.street_number || null, recommend: reverseGeocoderResult.formatted_addresses && reverseGeocoderResult.formatted_addresses.recommend || null, rough: reverseGeocoderResult.formatted_addresses && reverseGeocoderResult.formatted_addresses.rough || null }; if (reverseGeocoderResult.pois) { var pois = reverseGeocoderResult.pois; var poisSimplify = []; for (var i = 0; i < pois.length; i++) { poisSimplify.push({ id: pois[i].id || null, title: pois[i].title || null, latitude: pois[i].location && pois[i].location.lat || null, longitude: pois[i].location && pois[i].location.lng || null, address: pois[i].address || null, category: pois[i].category || null, adcode: pois[i].ad_info && pois[i].ad_info.adcode || null, city: pois[i].ad_info && pois[i].ad_info.city || null, district: pois[i].ad_info && pois[i].ad_info.district || null, province: pois[i].ad_info && pois[i].ad_info.province || null }) } param.success(data, { reverseGeocoderResult: reverseGeocoderResult, reverseGeocoderSimplify: reverseGeocoderSimplify, pois: pois, poisSimplify: poisSimplify }) } else { param.success(data, { reverseGeocoderResult: reverseGeocoderResult, reverseGeocoderSimplify: reverseGeocoderSimplify }) } } else if (feature == 'geocoder') { var geocoderResult = data.result; var geocoderSimplify = { title: geocoderResult.title || null, latitude: geocoderResult.location && geocoderResult.location.lat || null, longitude: geocoderResult.location && geocoderResult.location.lng || null, adcode: geocoderResult.ad_info && geocoderResult.ad_info.adcode || null, province: geocoderResult.address_components && geocoderResult.address_components.province || null, city: geocoderResult.address_components && geocoderResult.address_components.city || null, district: geocoderResult.address_components && geocoderResult.address_components.district || null, street: geocoderResult.address_components && geocoderResult.address_components.street || null, street_number: geocoderResult.address_components && geocoderResult.address_components.street_number || null, level: geocoderResult.level || null }; param.success(data, { geocoderResult: geocoderResult, geocoderSimplify: geocoderSimplify }) } else if (feature == 'getCityList') { var provinceResult = data.result[0]; var cityResult = data.result[1]; var districtResult = data.result[2]; param.success(data, { provinceResult: provinceResult, cityResult: cityResult, districtResult: districtResult }) } else if (feature == 'getDistrictByCityId') { var districtByCity = data.result[0]; param.success(data, districtByCity) } else if (feature == 'calculateDistance') { var calculateDistanceResult = data.result.elements; var distance = []; for (var i = 0; i < calculateDistanceResult.length; i++) { distance.push(calculateDistanceResult[i].distance) } param.success(data, { calculateDistanceResult: calculateDistanceResult, distance: distance }) } else if (feature == 'direction') { var direction = data.result.routes; param.success(data, direction) } else { param.success(data) } }, buildWxRequestConfig(param, options, feature) { var that = this; options.header = { "content-type": "application/json" }; options.method = 'GET'; options.success = function (res) { var data = res.data; if (data.status === 0) { that.handleData(param, data, feature) } else { param.fail(data) } }; options.fail = function (res) { res.statusCode = ERROR_CONF.WX_ERR_CODE; param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)) }; options.complete = function (res) { var statusCode = +res.statusCode; switch (statusCode) { case ERROR_CONF.WX_ERR_CODE: { param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)); break } case ERROR_CONF.WX_OK_CODE: { var data = res.data; if (data.status === 0) { param.complete(data) } else { param.complete(that.buildErrorConfig(data.status, data.message)) } break } default: { param.complete(that.buildErrorConfig(ERROR_CONF.SYSTEM_ERR, ERROR_CONF.SYSTEM_ERR_MSG)) } } }; return options }, locationProcess(param, locationsuccess, locationfail, locationcomplete) { var that = this; locationfail = locationfail || function (res) { res.statusCode = ERROR_CONF.WX_ERR_CODE; param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)) }; locationcomplete = locationcomplete || function (res) { if (res.statusCode == ERROR_CONF.WX_ERR_CODE) { param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)) } }; if (!param.location) { that.getWXLocation(locationsuccess, locationfail, locationcomplete) } else if (that.checkLocation(param)) { var location = Utils.getLocationParam(param.location); locationsuccess(location) } } }; class QQMapWX { constructor(options) { if (!options.key) { throw Error('key值不能为空') } this.key = options.key }; search(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (!Utils.checkKeyword(options)) { return } var requestParam = { keyword: options.keyword, orderby: options.orderby || '_distance', page_size: options.page_size || 10, page_index: options.page_index || 1, output: 'json', key: that.key }; if (options.address_format) { requestParam.address_format = options.address_format } if (options.filter) { requestParam.filter = options.filter } var distance = options.distance || "1000"; var auto_extend = options.auto_extend || 1; var region = null; var rectangle = null; if (options.region) { region = options.region } if (options.rectangle) { rectangle = options.rectangle } var locationsuccess = function (result) { if (region && !rectangle) { requestParam.boundary = "region(" + region + "," + auto_extend + "," + result.latitude + "," + result.longitude + ")"; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'search') } } else if (rectangle && !region) { requestParam.boundary = "rectangle(" + rectangle + ")"; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'search') } } else { requestParam.boundary = "nearby(" + result.latitude + "," + result.longitude + "," + distance + "," + auto_extend + ")"; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'search') } } wx.request(Utils.buildWxRequestConfig(options, { url: URL_SEARCH, data: requestParam }, 'search')) }; Utils.locationProcess(options, locationsuccess) }; getSuggestion(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (!Utils.checkKeyword(options)) { return } var requestParam = { keyword: options.keyword, region: options.region || '全国', region_fix: options.region_fix || 0, policy: options.policy || 0, page_size: options.page_size || 10, page_index: options.page_index || 1, get_subpois: options.get_subpois || 0, output: 'json', key: that.key }; if (options.address_format) { requestParam.address_format = options.address_format } if (options.filter) { requestParam.filter = options.filter } if (options.location) { var locationsuccess = function (result) { requestParam.location = result.latitude + ',' + result.longitude; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'suggest') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_SUGGESTION, data: requestParam }, "suggest")) }; Utils.locationProcess(options, locationsuccess) } else { if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'suggest') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_SUGGESTION, data: requestParam }, "suggest")) } }; reverseGeocoder(options) { var that = this; options = options || {}; Utils.polyfillParam(options); var requestParam = { coord_type: options.coord_type || 5, get_poi: options.get_poi || 0, output: 'json', key: that.key }; if (options.poi_options) { requestParam.poi_options = options.poi_options } var locationsuccess = function (result) { requestParam.location = result.latitude + ',' + result.longitude; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'reverseGeocoder') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_GET_GEOCODER, data: requestParam }, 'reverseGeocoder')) }; Utils.locationProcess(options, locationsuccess) }; geocoder(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (Utils.checkParamKeyEmpty(options, 'address')) { return } var requestParam = { address: options.address, output: 'json', key: that.key }; if (options.region) { requestParam.region = options.region } if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'geocoder') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_GET_GEOCODER, data: requestParam }, 'geocoder')) }; getCityList(options) { var that = this; options = options || {}; Utils.polyfillParam(options); var requestParam = { output: 'json', key: that.key }; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'getCityList') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_CITY_LIST, data: requestParam }, 'getCityList')) }; getDistrictByCityId(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (Utils.checkParamKeyEmpty(options, 'id')) { return } var requestParam = { id: options.id || '', output: 'json', key: that.key }; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'getDistrictByCityId') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_AREA_LIST, data: requestParam }, 'getDistrictByCityId')) }; calculateDistance(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (Utils.checkParamKeyEmpty(options, 'to')) { return } var requestParam = { mode: options.mode || 'walking', to: Utils.location2query(options.to), output: 'json', key: that.key }; if (options.from) { options.location = options.from } if (requestParam.mode == 'straight') { var locationsuccess = function (result) { var locationTo = Utils.getEndLocation(requestParam.to); var data = { message: "query ok", result: { elements: [] }, status: 0 }; for (var i = 0; i < locationTo.length; i++) { data.result.elements.push({ distance: Utils.getDistance(result.latitude, result.longitude, locationTo[i].lat, locationTo[i].lng), duration: 0, from: { lat: result.latitude, lng: result.longitude }, to: { lat: locationTo[i].lat, lng: locationTo[i].lng } }) } var calculateResult = data.result.elements; var distanceResult = []; for (var i = 0; i < calculateResult.length; i++) { distanceResult.push(calculateResult[i].distance) } return options.success(data, { calculateResult: calculateResult, distanceResult: distanceResult }) }; Utils.locationProcess(options, locationsuccess) } else { var locationsuccess = function (result) { requestParam.from = result.latitude + ',' + result.longitude; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'calculateDistance') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_DISTANCE, data: requestParam }, 'calculateDistance')) }; Utils.locationProcess(options, locationsuccess) } }; direction(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (Utils.checkParamKeyEmpty(options, 'to')) { return } var requestParam = { output: 'json', key: that.key }; if (typeof options.to == 'string') { requestParam.to = options.to } else { requestParam.to = options.to.latitude + ',' + options.to.longitude } var SET_URL_DIRECTION = null; options.mode = options.mode || MODE.driving; SET_URL_DIRECTION = URL_DIRECTION + options.mode; if (options.from) { options.location = options.from } if (options.mode == MODE.driving) { if (options.from_poi) { requestParam.from_poi = options.from_poi } if (options.heading) { requestParam.heading = options.heading } if (options.speed) { requestParam.speed = options.speed } if (options.accuracy) { requestParam.accuracy = options.accuracy } if (options.road_type) { requestParam.road_type = options.road_type } if (options.to_poi) { requestParam.to_poi = options.to_poi } if (options.from_track) { requestParam.from_track = options.from_track } if (options.waypoints) { requestParam.waypoints = options.waypoints } if (options.policy) { requestParam.policy = options.policy } if (options.plate_number) { requestParam.plate_number = options.plate_number } } if (options.mode == MODE.transit) { if (options.departure_time) { requestParam.departure_time = options.departure_time } if (options.policy) { requestParam.policy = options.policy } } var locationsuccess = function (result) { requestParam.from = result.latitude + ',' + result.longitude; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'direction', options.mode) } wx.request(Utils.buildWxRequestConfig(options, { url: SET_URL_DIRECTION, data: requestParam }, 'direction')) }; Utils.locationProcess(options, locationsuccess) } }; module.exports = QQMapWX;
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..1e29c7a
--- /dev/null
+++ b/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "yun-min-program",
+ "version": "1.0.0",
+ "description": "芸众小程序",
+ "main": "app.js",
+ "scripts": {
+ "lint": "./node_modules/.bin/eslint ./ --ext .js -f html -o eslintReport.html",
+ "lint-fix": "./node_modules/.bin/eslint --fix ./ --ext .js",
+ "lint:style": "npx stylelint --config .stylelintrc.js ./**.wxss > stylelintReport.txt",
+ "lint-fix:style": "npx stylelint --config .stylelintrc.js --fix ./**.wxss"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://git.yunzmall.com/frontend_plugin/yun-min-program"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "devDependencies": {
+ "eslint": "^7.22.0",
+ "stylelint": "^13.12.0",
+ "stylelint-config-standard": "^21.0.0"
+ },
+ "dependencies": {}
+}
diff --git a/packageA/detail_v2/detail_v2.js b/packageA/detail_v2/detail_v2.js
new file mode 100644
index 0000000..c19878f
--- /dev/null
+++ b/packageA/detail_v2/detail_v2.js
@@ -0,0 +1,625 @@
+// packageA/detail_v2/detail_v2.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ prop_goods_info: {},
+ producer_id: "",
+ // showIn:false,
+ /*商品类型*/
+ goods_type: "",
+ /*商品id*/
+ goods_id: "",
+ /*商品数据*/
+ // 智能柜标示
+ mark: "",
+ hoet: false,
+ enterAt:'',
+ // start: "",
+ // end: "",
+ title: "",
+ mark_id: "",
+ fight_groups: "", // 拼团的商品id
+ loginshow: false,
+ groups_title: "",
+ liveshow: false,
+ iPnoneBottomBol: false,
+ activity_id: "",
+ is_open: "",
+ store_id: 0,
+
+ // 云库存
+ fromStock: "",
+ is_toker: false,
+
+ // 新零售
+ mode: null,
+ category_option_id:'',
+ // 置换亿栈债务人店铺id
+ debtId:''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (option) {
+ console.log(option,"custom_params");
+ if (option.mid) {
+ app._setMid(option.mid);
+ }
+ if(option.custom_params) {
+ app._setMid(JSON.parse(decodeURIComponent(option.custom_params)).mid);
+ }
+ wx.showLoading({
+ title: "加载中...",
+ });
+ this._datainit();
+ this.getiPnoneBottom();
+ // 页面传参
+ if (option.liveshow) {
+ this.setData({
+ liveshow: true,
+ });
+ }
+ if (option.fromStock) {
+ this.setData({
+ fromStock: option.fromStock,
+ });
+ }
+ let paramsID = null;
+ //抢团69||grabGroup,新拼团:99,珍惠拼zhpGroup,starGroup
+ let pluginName = new Map([
+ ["group", "group_goods"],
+ ["group_buy", "groupBuy"],
+ ["69", "grabGroup"],
+ ["99", "groupwork"]
+ ]);
+ if (option.scene) {
+ let scene = decodeURIComponent(option.scene);
+ if (scene) {
+ var info_arr = [];
+ info_arr = scene.split(",");
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split("=");
+ if (chil_arr[0] == "id") {
+ //解决场景:海报带参后字符长度超出,将参数值直接与id合并,通过 / 分割,第一个需为id,其他自定义
+ paramsID = chil_arr[1].split("/");
+ this.setData({
+ goods_id: paramsID[0],
+ });
+ } else if (chil_arr[0] == "mid") {
+ app._setMid(chil_arr[1]);
+ } else if (chil_arr[0] == "shop_id") {
+ app._setshopid(Number(chil_arr[1]));
+ } else if (chil_arr[0] == "name") {
+ //判断是否 pluginName 包含key(即chil_arr[1]),有则取出赋值,找不到对应key则value为chil_arr[1]
+ let _gtype = pluginName.has(chil_arr[1])?pluginName.get(chil_arr[1]):chil_arr[1];
+ this.setData({
+ goods_type: _gtype,
+ });
+
+ if (paramsID&¶msID[1] && _gtype == "group_goods") {
+ this.setData({
+ store_id: paramsID[1],
+ });
+ }
+ wx.hideLoading();
+ } else if (chil_arr[0] == "activity_id") {
+ this.setData({
+ activity_id: chil_arr[1],
+ });
+ }else if (chil_arr[0] == "md") {
+ //新零售商品,md:1||商品普通购买,2||代理套餐,3||进货
+ this.setData({
+ mode: chil_arr[1],
+ });
+ this.getRetailGoods();
+ } else {
+ // if (this.firstlogin()) {
+ // wx.hideLoading();
+ // } else {
+ this._getData();
+ // }
+ }
+ }
+ }
+ } else {
+ if (option.shop_id) {
+ app._setshopid(Number(option.shop_id));
+ }
+ if(option.coid){
+ this.setData({
+ category_option_id:option.coid
+ });
+ }
+ if (option.id) {
+ paramsID = option.id.split("/");
+ this.setData({
+ goods_id: paramsID[0],
+ });
+ }
+ if (option.producer_id) {
+ this.setData({
+ producer_id: option.producer_id,
+ });
+ }
+ if (option.mid) {
+ app._setMid(option.mid);
+ }
+
+ if (option.mark) {
+ this.setData({
+ mark: option.mark,
+ });
+ }
+ if (option.mark_id) {
+ this.setData({
+ mark_id: option.mark_id,
+ });
+ }
+ if (option.start) {
+ this.setData({
+ 'enterAt.start': option.start,
+ });
+ }
+ if (option.end) {
+ this.setData({
+ 'enterAt.end': option.end,
+ });
+ }
+ if (option.fight_groups) {
+ this.setData({
+ fight_groups: option.fight_groups,
+ });
+ }
+ if (option.vid) {
+ app._setvid(option.vid);
+ }
+ if (option.circle_invitation_id) {
+ app._setcircleInvitationId(option.circle_invitation_id);
+ }
+ if (option.roomid) {
+ app._setroomid(option.roomid);
+ }
+ if (option.activity_id) {
+ this.setData({
+ activity_id: option.activity_id,
+ });
+ }
+ // 置换亿栈
+ if(option.debtId){
+ this.setData({
+ debtId:option.debtId
+ })
+ }
+ if (option.name) {
+ //判断是否 pluginName 包含key(即option.name),有则取出赋值,找不到对应key则value为option.name
+ let _gtype = pluginName.has(option.name)?pluginName.get(option.name):option.name;
+ wx.hideLoading();
+ if (paramsID&¶msID[1] && option.name == "group") {
+ this.setData({
+ store_id: paramsID[1],
+ });
+ }
+
+ if(option.md){
+ this.setData({
+ mode: option.md,
+ });
+ wx.hideLoading();
+ this.getRetailGoods();
+ } else{
+ this.setData({
+ goods_type: _gtype,
+ });
+ }
+ }
+ // else {
+ // if (this.firstlogin()) {
+ // wx.hideLoading();
+ // } else {
+ // this._getData();
+ // }
+ // }
+ }
+ // if (this.firstlogin()) {
+ wx.hideLoading();
+ // } else {
+ if(!this.data.goods_type && option.name!='retailGood'){
+ this._getData();
+ }
+ // }
+ if ("kind" in option == true) {
+ this.setData({
+ vieText: option.kind,
+ });
+ }
+ },
+ getiPnoneBottom() {
+ let that = this;
+ try {
+ var value = wx.getStorageSync("iPhoneBottom");
+ if (value) {
+ that.setData({
+ iPnoneBottomBol: true,
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ onParentEvent: function (event) {
+ // 自定义组件触发事件时提供的detail对象,用来获取子组件传递来的数据
+ this.setData({
+ title: event.detail[0],
+ });
+ },
+ touchStart(e) {
+ let sy = e.touches[0].pageY;
+ this.setData({
+ sy: sy,
+ });
+ },
+ touchMove(e) {
+ this.setData({
+ endy: e.touches[0].pageY,
+ });
+ },
+ touchEnd() {
+ if (this.data.sy - this.data.endy > 100 && this.data.showIn) {
+ this.setData({
+ boxHeight: "",
+ xqBoxShow: true,
+ showIn: false,
+ });
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function (option) {
+ wx.showShareMenu({
+ withShareTicket: false,
+ menus: ["shareAppMessage", "shareTimeline"],
+ });
+ //防止小程序自动登录后无法立刻获取最新同步状态,导致提示绑定手机
+ // if (wx.getStorageSync('wx_token')) {
+ // this.getpet()
+ // }
+ },
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function (e) {
+ try {
+ if (this.data.goods_type == "goods") {
+ this.cGoods.reachBottom();
+ } else if (this.data.goods_type == "supplierGoods") {
+ this.supplierGoods.reachBottom();
+ } else if (this.data.goods_type == "hotelGoods") {
+ this.hotelGoods.reachBottom();
+ }
+ } catch (e) {
+ //TODO handle the exception
+ }
+ this.setData({
+ showIn: true,
+ });
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline() {
+ var value = wx.getStorageSync("yz_uid");
+ let shop_id = wx.getStorageSync("setShopId");
+ let img = wx.getStorageSync("GoddsShareImg");
+ var mid = "";
+ if (value) {
+ mid = value;
+ }
+ if (this.data.goods_type == "group_goods") {
+ let _url = this.data.store_id && this.data.store_id != 0 ? `id=${this.data.goods_id}/${this.data.store_id}&mid=${mid}&name=group` : `id=${this.data.goods_id}&mid=${mid}&name=group`;
+ return {
+ title: this.data.title,
+ query: _url,
+ imageUrl: img ? img : "",
+ };
+ } else if (this.data.goods_type == "zhpGroup") {
+ return {
+ title: this.data.title ? this.data.title : "",
+ query: "id=" + this.data.goods_id + "&mid=" + mid + "&name=" + this.data.goods_type,
+ imageUrl: img ? img : "",
+ };
+ } else if (this.data.goods_type == "groupBuy" || this.data.goods_type == "grabGroup") {
+ return {
+ title: this.data.title ? this.data.title : "",
+ path: "id=" + this.data.goods_id + "&mid=" + mid + "&name=" + this.data.goods_type,
+ };
+ }else {
+ return {
+ title: this.data.title,
+ query: `id=${this.data.goods_id}&mid=${mid}&shop_id=${shop_id}`,
+ };
+ }
+ },
+ onShareAppMessage: function (res) {
+ var value = wx.getStorageSync("yz_uid");
+ var mid = "";
+ if (value) {
+ mid = value;
+ }
+ let shop_id = wx.getStorageSync("setShopId");
+ let img = wx.getStorageSync("GoddsShareImg");
+
+ let shareConfig = {
+ title: this.data.title ? this.data.title : "",
+ path: "/packageA/detail_v2/detail_v2?id=" + this.data.goods_id + "&mid=" + mid + "&shop_id=" + shop_id,
+ imageUrl: img ? img : "",
+ };
+
+ if (this.data.goods_type == "group_goods") {
+ let store_ids = null;
+ if (this.data.store_id && this.data.store_id != 0 && this.data.store_id != "undefined") {
+ store_ids = "/" + this.data.store_id;
+ }
+ if (this.data.goods_id != 0) {
+ shareConfig.path = "/packageA/detail_v2/detail_v2?id=" + this.data.goods_id + "&mid=" + mid + "&name=group";
+ } else {
+ shareConfig.path = "/packageA/detail_v2/detail_v2?id=0" + store_ids + "fight_groups=" + this.data.fight_groups + "&mid=" + mid + "&name=group";
+ }
+ }
+ let urlHasType = ['groupBuy','grabGroup','retailGood','starGroup','zhpGroup'];
+ if (urlHasType.includes(this.data.goods_type)) {
+ shareConfig.path = "/packageA/detail_v2/detail_v2?id=" + this.data.goods_id + "&mid=" + mid + "&name=" + this.data.goods_type;
+ }
+
+ if (this.data.goods_type == "starGroup") {
+ let json = {};
+ json.path = shareConfig.path;
+ if (res.from == "button") {
+ json.title = res.target.dataset.name;
+ json.thumb = res.target.dataset.thumb;
+ let id = res.target.dataset.id;
+ let type = res.target.dataset.type;
+ if (type && type == "startGroupDetail") {
+ json.path = "/packageH/starMusic/starMusicGroupDetails/starMusicGroupDetails?mid=" + mid + "&id=" + id;
+ }
+ }
+ return json;
+ } else if (this.data.goods_type == "retailGood") {
+ shareConfig.path = shareConfig.path + "&md=" + this.options.md;
+ }
+ return {
+ title: shareConfig.title,
+ path: shareConfig.path,
+ imageUrl: shareConfig.imgUrl
+ };
+ },
+ onPageScroll(e) {
+ let scrollTop = e.scrollTop;
+ if (scrollTop > 35) {
+ if (!this.data.hoet) {
+ this.setData({
+ hoet: true,
+ });
+ }
+ } else {
+ if (this.data.hoet) {
+ this.setData({
+ hoet: false,
+ });
+ }
+ }
+ this.setData({
+ datop: scrollTop,
+ });
+ },
+ // 初始化数据
+ _datainit() {
+ this.setData({
+ /*商品类型*/
+ goods_type: "",
+ /*商品id*/
+ goods_id: "",
+ /*商品数据*/
+ goods_info: {},
+ /*商品数据json字符串*/
+ goods_info_str: "",
+ // 智能柜标示
+ mark: "",
+ loginshow: false
+ });
+ },
+ // 获取数据
+ _getData: function () {
+ let that = this;
+ let urlStr = app.getNetAddresss("goods.goods.get-goods-page");
+ let json = {
+ id: Number(this.data.goods_id),
+ mark: this.data.mark,
+ mark_id: this.data.mark_id,
+ url: "",
+ };
+ if(this.data.category_option_id){
+ json.category_option_id = this.data.category_option_id;
+ }
+ app._postNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let _data = res.data;
+
+ if (res.data.goods_type == "cps_brand") {
+ let _id = (res.data.plugin.aggregation_cps_brand_goods && res.data.plugin.aggregation_cps_brand_goods.id) || 0; //cps品牌券第三方id
+ wx.redirectTo({url: '/packageH/cpsDetail/cpsDetail?id=' + _id })
+ return;
+ }
+ this.setData({
+ prop_goods_info: res.data,
+ title: _data.get_goods.title,
+ });
+ if (_data.plugin && _data.plugin.customer_development ) {
+ this.setData({
+ is_toker: true,
+ });
+ }
+ if (_data.goods_type) {
+ this.setData({
+ goods_type: _data.goods_type,
+ });
+ }
+ if (this.data.goods_type == "goods") {
+ this.cGoods = this.selectComponent("#cGoods");
+ } else if (this.data.goods_type == "supplierGoods") {
+ this.supplierGoods = this.selectComponent("#supplierGoods");
+ } else if (this.data.goods_type == "hotelGoods") {
+ this.hotelGoods = this.selectComponent("#hotelGoods");
+ }
+ } else {
+ if (res.msg == "该商家已过期,去看看其他的吧") {
+ this.setData({
+ prop_goods_info: {},
+ });
+ } else {
+ wx.showModal({
+ title: "提示",
+ content: res.msg,
+ showCancel: false,
+ success(resData) {
+ if (resData.confirm) {
+ wx.navigateBack({
+ fail() {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ },
+ });
+ }
+ },
+ });
+ }
+ }
+ wx.hideLoading();
+ },
+ fail: function (res) {},
+ });
+ },
+ firstlogin() {
+ // 选择模板2不用登录
+ let firstlogin = false;
+ try {
+ var is_value = wx.getStorageSync("yz_basic_info");
+ if (is_value) {
+ if (is_value.home.item.ViewSet.goods.code == "goods02") {
+ this.setData({
+ loginshow: false,
+ });
+ firstlogin = false;
+ }
+ } else {
+ var value = wx.getStorageSync("wx_token");
+ if (value) {
+ // Do something with return value
+ this.setData({
+ loginshow: false,
+ });
+ firstlogin = false;
+ } else {
+ this.setData({
+ loginshow: true,
+ });
+ firstlogin = true;
+ }
+ }
+ } catch (err) {
+ // Do something when catch error
+ }
+ return firstlogin;
+ },
+ gotologin() {
+ app.seyzredirect(); // 保存当前链接
+ wx.navigateTo({
+ url: "/pages/login/login",
+ });
+ },
+ goLiveBtn() {
+ wx.navigateBack({
+ delta: 1,
+ });
+ },
+ // 获取数据
+ getRetailGoods: function () {
+ let urlStr = app.getNetAddresss("plugin.new-retail.frontend.index.goodsDetail");
+ app._postNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data: {
+ goods_id: this.data.goods_id,
+ is_retail_goods: this.options.md
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let _data = res.data.goods;
+ this.setData({
+ prop_goods_info: _data,
+ goods_type: "retailGood"
+ });
+ } else {
+ if (res.msg == "该商家已过期,去看看其他的吧") {
+ this.setData({
+ prop_goods_info: {},
+ });
+ } else {
+ wx.showModal({
+ title: "提示",
+ content: res.msg,
+ showCancel: false,
+ success(resData) {
+ if (resData.confirm) {
+ wx.navigateBack({
+ fail() {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ },
+ });
+ }
+ },
+ });
+ }
+ }
+ wx.hideLoading();
+ },
+ fail: function (res) {},
+ });
+ },
+});
diff --git a/packageA/detail_v2/detail_v2.json b/packageA/detail_v2/detail_v2.json
new file mode 100644
index 0000000..13ebc60
--- /dev/null
+++ b/packageA/detail_v2/detail_v2.json
@@ -0,0 +1,16 @@
+{
+ "navigationBarTitleText": "商品详情",
+ "usingComponents": {
+ "cNewGoods": "../mycomponent/goods_new/goods_new",
+ "storeGoods": "../mycomponent/store_goods/store_goods",
+ "courseGoods": "../mycomponent/course_goods/course_goods",
+ "voiceGoods":"../mycomponent/voice_shop/good_detail",
+ "starGroup":"../mycomponent/star_group/star_group",
+ "van-icon": "../../dist/icon/index",
+ "channels-live-float":"/mycomponent/channelsLiveFloat/channelsLiveFloat",
+ "phoneBillProGoods":"../mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro",
+ "electricity":"../mycomponent/goods_Electricity/goods_Electricity",
+ "sweepBuyGoods":"../mycomponent/sweep_buy_goods/sweep_buy_goods",
+ "oilRechargeGoods":"../mycomponent/oil_recharge_goods/oil_recharge_goods"
+ }
+}
diff --git a/packageA/detail_v2/detail_v2.wxml b/packageA/detail_v2/detail_v2.wxml
new file mode 100644
index 0000000..9efe82f
--- /dev/null
+++ b/packageA/detail_v2/detail_v2.wxml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 返回
+ 直播
+
+
+
+
+
+
+ 你还没登录,请登录后查看商品详情
+
+
+
+ 登录
+
+
+
+
diff --git a/packageA/detail_v2/detail_v2.wxss b/packageA/detail_v2/detail_v2.wxss
new file mode 100644
index 0000000..1866b37
--- /dev/null
+++ b/packageA/detail_v2/detail_v2.wxss
@@ -0,0 +1,61 @@
+/* packageA/detail_v2/detail_v2.wxss */
+.zangbudenglu {
+ padding-top: 400rpx;
+}
+
+.zangbudenglu .p {
+ text-align: center;
+ font-size: 30rpx;
+ line-height: 70rpx;
+}
+
+.zangbudenglu .buttonContent {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.zangbudenglu .button {
+ width: 120rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: center;
+ background: #ee4343;
+ color: #fff;
+}
+
+.livestyle {
+ position: fixed;
+ left: 0;
+ top: 870rpx;
+ display: flex;
+ align-items: center;
+ height: 80rpx;
+ width: 140rpx;
+ border-top-right-radius: 40rpx;
+ border-bottom-right-radius: 40rpx;
+ z-index: 100;
+ color: #fff;
+ background-color: #ff9500;
+}
+
+.livestyle .left {
+ display: flex;
+ align-items: center;
+ padding-left: 10rpx;
+}
+
+.livestyle .left van-icon {
+ display: flex;
+ align-items: center;
+}
+
+.livestyle .right {
+ padding-left: 10rpx;
+}
+
+.livestyle .right .text {
+ height: 30rpx;
+ line-height: 30rpx;
+ font-size: 24rpx;
+}
diff --git a/packageA/detail_v2/touch.wxs b/packageA/detail_v2/touch.wxs
new file mode 100644
index 0000000..f5c93bf
--- /dev/null
+++ b/packageA/detail_v2/touch.wxs
@@ -0,0 +1,26 @@
+
+
+var allTouchs = [], len = 0, instances = [], instanceLen, isMoveEnd = false
+
+function touchmove(event, ownerInstance) {
+ //获取当前移动的手指
+ var bounds = event.changedTouches, boundsLen = bounds.length, bound = null, instance = null, allTouch = null
+ for (var i = 0; i < instanceLen; i++) {
+ instance = instances[i]
+ for (var j = 0; j < boundsLen; j++) {
+ bound = bounds[j]
+ if (instance.identifier === bound.identifier) {
+ //更新
+ instance.setStyle({
+ 'transform': 'translateX(' + bound.pageX + 'px) translateY(' + bound.pageY + 'px)',
+ 'display': 'block'
+ })
+ console.log(bound.pageY)
+ }
+ }
+ }
+}
+
+module.exports = {
+ touchmove: touchmove
+};
\ No newline at end of file
diff --git a/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.js b/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.js
new file mode 100644
index 0000000..7b92fb7
--- /dev/null
+++ b/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.js
@@ -0,0 +1,755 @@
+// packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ start: "",
+ end: "",
+ total: 1,
+ order_info: {},
+ start_time: "",
+ end_time: "",
+ night_day: "",
+ name: "",
+ mobil: "",
+ isInvoice: false,
+ invoice_type: "1",
+ el_invoice: "1",
+ fp_tt: "",
+ company_name: "",
+ sbxd: "",
+ // bz: "",
+ title: "",
+ ORDER_URL: "plugin.hotel.frontend.hotel.goods-buy",
+ SUBMIT_URL: 'plugin.hotel.frontend.hotel.create',
+ id: '',
+ language: '',
+ //优惠券
+ isShowCoupon: true,//是否显示优惠券
+ popupCouponSpecs: false,
+ checkCouponList: [],
+ coupon_size: 0,
+ use_coupon_size: 0,
+ coupons: [],
+ //优惠券标识
+ cup_notice: true,
+
+ checkDeductionList:[],
+
+ // 自定义表单
+ hasGoodOpenDF: false,
+ orders_goods: [],
+ diyShow: false,
+ diyform: {
+ form_id: "",
+ diyform_data_id: "",
+ pre_id: "",
+ },
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.end) {
+ this.setData({
+ end: options.end
+ });
+ }
+ if (options.start) {
+ this.setData({
+ start: options.start
+ });
+ }
+ if (options.id) {
+ this.setData({
+ id: options.id
+ });
+ }
+ if (options.goods_id) {
+ this.setData({
+ goods_id: options.goods_id
+ });
+ }
+ this.getOrerData();
+ this.getCustomizeHotelHead();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ showDiy(e) {
+ if (this._findDiyForm(e.currentTarget.dataset.preid)) {
+ let diyform_data_id = this._findDiyForm(e.currentTarget.dataset.preid);
+ this.setData({
+ "diyform.diyform_data_id": diyform_data_id,
+ });
+ }
+ this.setData({
+ diyShow: true,
+ });
+ },
+ showDiyClose() {
+ this.setData({
+ diyShow: false,
+ });
+ },
+ _initDiyForm() {
+ let orders_goods = {};
+ for (let j = 0; j < this.data.order_info.orders.length; j++) {
+ for (let i = 0; i < this.data.order_info.orders[j].order_goods.length; i++) {
+ if (this.data.order_info.orders[j].order_goods[i].diy_form) {
+ let model = {};
+ model.pre_id = this.data.order_info.orders[j].order_goods[i].pre_id;
+ model.diyform_data_id = "";
+ orders_goods[model.pre_id] = model;
+ }
+ }
+ }
+ this.setData({
+ orders_goods: orders_goods,
+ });
+ },
+ findGoodOpen() {
+ for (let j = 0; j < this.data.order_info.orders.length; j++) {
+ for (let i = 0; i < this.data.order_info.orders[j].order_goods.length; i++) {
+ if (this.data.order_info.orders[j].order_goods[i].diy_form) {
+ this.setData({
+ "diyform.form_id": this.data.order_info.orders[j].order_goods[i].diy_form.form_id,
+ "diyform.pre_id": this.data.order_info.orders[j].order_goods[i].pre_id,
+ hasGoodOpenDF: true,
+ });
+ console.log("有商品开启自定义表单!!!");
+ }
+ }
+ }
+ },
+ traCheckedData(data) {
+ this._setDiyForm(data.detail.pre_id, data.detail.diyform_data_id);
+ this.showDiyClose();
+ },
+ _checkDiyForm() {
+ for (let i in this.data.orders_goods) {
+ if (!this.data.orders_goods[i].diyform_data_id) {
+ return false;
+ }
+ }
+ return true;
+ },
+ _setDiyForm(pre_id, diyform_data_id) {
+ for (let i in this.data.orders_goods) {
+ if (this.data.orders_goods[i].pre_id == pre_id) {
+ this.data.orders_goods[i].diyform_data_id = diyform_data_id;
+ this.setData({
+ orders_goods: this.data.orders_goods,
+ "diyform.diyform_data_id": diyform_data_id,
+ });
+ return;
+ }
+ }
+ },
+ _findDiyForm(pre_id) {
+ for (let i in this.data.orders_goods) {
+ if (this.data.orders_goods[i].pre_id == pre_id) {
+ return this.data.orders_goods[i].diyform_data_id;
+ }
+ }
+ return false;
+ },
+ _assembleDiyForm() {
+ let orders_goods = [];
+ for (let i in this.data.orders_goods) {
+ orders_goods.push(this.data.orders_goods[i]);
+ }
+ return orders_goods;
+ },
+ getOrerData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.ORDER_URL);
+ urlStr += '&enter_at=' + this.data.start;
+ urlStr += '&leave_at=' + this.data.end;
+ urlStr += '&hotel_id=' + this.data.id;
+ urlStr += '&goods_id=' + this.data.goods_id;
+ urlStr += '&goods_option_id=';
+ urlStr += '&total=' + this.data.total;
+ urlStr += '&dispatch_type_id=' + 4;
+ urlStr += '&member_coupon_ids=' + this.assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
+
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ order_info: res.data,
+ title: res.data.orders[0].order_goods[0].title,
+ });
+ that._initDiyForm();
+ that.findGoodOpen(); // 循环订单列表是否开启表单
+
+ that.getTime(res.data.orders[0].hotel_order);
+ that.initCoupon(res.data.discount); // 设置优惠券信息
+ that.setData({
+ cup_notice: true
+ });
+ } else {
+ that.setData({
+ btn_applyShow: true,
+ cup_notice: true
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getTime(obj) {
+ let start = obj.enter_at.split(" ");
+ let end = obj.leave_at.split(" ");
+ let s = start[0].split("-");
+ let e = end[0].split("-");
+ this.setData({
+ start_time: `${s[1]}月${s[2]}日`,
+ end_time: `${e[1]}月${e[2]}日`
+ });
+ this.getDays(start[0], end[0]);
+ },
+ getDays(strDateStart, strDateEnd) {
+ let strSeparator = "-"; //日期分隔符
+ let oDate1, oDate2, iDays;
+ oDate1 = strDateStart.split(strSeparator);
+ oDate2 = strDateEnd.split(strSeparator);
+ let strDateS = new Date(oDate1[0], oDate1[1] - 1, oDate1[2]);
+ let strDateE = new Date(oDate2[0], oDate2[1] - 1, oDate2[2]);
+ iDays = parseInt(Math.abs(strDateS - strDateE) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数
+ this.setData({
+ night_day: iDays
+ });
+ },
+ //获取酒店自定义字段
+ getCustomizeHotelHead() {
+ let that = this;
+ let isQuestHotel = "";
+ try {
+ const value = wx.getStorageSync('customizeHotelHead');
+ if (value) {
+ isQuestHotel = value;
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ if (!app._isTextEmpty(isQuestHotel)) {
+ this.setData({
+ PageNameList: JSON.parse(isQuestHotel)
+ });
+ wx.setNavigationBarTitle({
+ title: this.data.PageNameList.goods_details
+ });
+ } else {
+ let urlStr = app.getNetAddresss("plugin.hotel.frontend.hotel.get-hotel-info.get-custom-name");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ PageNameList: res.data
+ });
+ wx.setNavigationBarTitle({
+ title: res.data.goods_details ? res.data.goods_details : ''
+ });
+ try {
+ wx.setStorageSync('customizeHotelHead', JSON.stringify(res.data));
+ } catch (e) {console.log(e);}
+ }
+
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ invoiceChange(e) {
+ let bol = e.detail;
+ this.setData({
+ isInvoice: bol
+ });
+ },
+ addTotal(e) {
+ let num = e.detail;
+ this.setData({
+ total: num
+ });
+ this.getOrerData();
+ },
+ nameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ name: val
+ });
+ },
+ mobilinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ mobil: val
+ });
+ },
+ eInvoiceChange(e) {
+ let val = e.detail;
+ this.setData({
+ el_invoice: val
+ });
+ },
+ typeChange(e) {
+ let val = e.detail;
+ this.setData({
+ invoice_type: val
+ });
+ },
+ fp_ttinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ fp_tt: val
+ });
+ },
+ company_nameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ company_name: val
+ });
+ },
+ sbxdinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ sbxd: val
+ });
+ },
+ // bzinp(e) {
+ // let val = e.detail.value;
+ // this.setData({
+ // bz: val
+ // });
+ // },
+ submit() {
+ if (app._isTextEmpty(this.data.name)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写入住人',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.mobil)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写电话号码',
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.isInvoice) {
+ if (this.data.invoice_type == "1") {
+ if (app._isTextEmpty(this.data.fp_tt)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入发票抬头',
+ duration: 1500
+ });
+ return;
+ }
+ }
+ if (this.data.invoice_type == "2") {
+ if (app._isTextEmpty(this.data.company_name)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写单位名称',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.sbxd)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写纳税人识别向导',
+ duration: 1500
+ });
+ return;
+ }
+ }
+ }
+
+ if (this.data.hasGoodOpenDF && !this._checkDiyForm()) {
+ wx.showToast({
+ icon: "none",
+ title: "请先填写表单",
+ duration: 1500,
+ });
+ return;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.SUBMIT_URL);
+ urlStr += '&enter_at=' + this.data.start;
+ urlStr += '&leave_at=' + this.data.end;
+ urlStr += '&hotel_id=' + this.data.id;
+ urlStr += '&dispatch_type_id=4';
+ urlStr += '&member_coupon_ids=' + JSON.stringify(this.assembleCoupons());
+ urlStr += '&goods=' + JSON.stringify([{
+ goods_id: this.data.goods_id,
+ goods_option_id: "",
+ total: this.data.total
+ }]);
+ urlStr += '&address=' + JSON.stringify({});
+ urlStr += '&orders=' + JSON.stringify(this._assembleDeduction());
+ urlStr += '&mobile=' + this.data.mobil;
+ urlStr += '&realname=' + this.data.name;
+ urlStr += '&invoice_type=' + (Number(this.data.el_invoice == 1?'0':'1'));
+ urlStr += '&rise_type=' + (Number(this.data.invoice_type == 1?'1':'0'));
+ urlStr += '&call=' + (this.data.invoice_type == "1" ? this.data.fp_tt : this.data.company_name);
+ urlStr += '&company_number=' + this.data.sbxd;
+ if (this.data.hasGoodOpenDF) {
+ //有商品开启自定义表单
+ urlStr += "&order_goods=" + JSON.stringify(this._assembleDiyForm());
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.navigateTo({
+ url: '/packageD/buy/orderPay/orderPay?status=1&order_id=' + res.data.order_ids
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //初始化优惠券
+ initCoupon(data) {
+ this.setData({
+ isShowCoupon: data.whether_show_coupon == '1' ? true : false
+ });
+ let coupon = data.member_coupons;
+ if (coupon != undefined && coupon != "" && coupon != null) {
+ this.setData({
+ coupon_size: coupon.length
+ });
+ }
+ this.setData({
+ coupons: coupon
+ });
+ },
+ //优惠券
+ showCoupon() {
+ if (this.data.coupon_size == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '暂无优惠券使用',
+ duration: 1500
+ });
+ return;
+ }
+ this.setData({
+ popupCouponSpecs: true
+ });
+ },
+ //关闭优惠卷
+ couponclose() {
+ this.setData({
+ popupCouponSpecs: false
+ });
+ },
+ //选择优惠券
+ selectCoupon(e) {
+ let couponBol = e.detail;
+ let index = e.currentTarget.dataset.index;
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ ["coupons[" + index + "].checked"]: couponBol
+ });
+ this.screenCoupon(couponBol, item);
+ this.setData({
+ use_coupon_size: this.data.checkCouponList.length
+ });
+ // 重新计算
+ this.getOrerData();
+ },
+ //筛选数据优惠券状态
+ screenCoupon(couponBol, valObj) {
+ var tarValue = valObj;
+ if (couponBol) { //选中添加
+ this.setData({
+ cup_notice: false
+ });
+ if (this.data.checkCouponList.length > 0) {
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ if (this.data.checkCouponList[i].id == tarValue.id) {
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.splice(i, 1);
+ this.setData({
+ checkCouponList: checkCouponList
+ });
+ }
+ }
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.push(tarValue);
+ this.setData({
+ checkCouponList: checkCouponList
+ });
+ } else {
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.push(tarValue);
+ this.setData({
+ checkCouponList: checkCouponList
+ });
+ }
+ } else { //取消选中
+ this.setData({
+ cup_notice: true
+ });
+ if (this.data.checkCouponList.length > 0) {
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ if (this.data.checkCouponList[i].id == tarValue.id) {
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.splice(i, 1);
+ this.setData({
+ checkCouponList: checkCouponList
+ });
+ }
+ }
+ }
+ }
+ },
+ //组装优惠券json信息
+ assembleCoupons() {
+ let coupons = [];
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ coupons.push(this.data.checkCouponList[i].id);
+ }
+ return coupons;
+ },
+ //抵扣选择响应
+ discountHandle(e) {
+ let dischecked = e.detail;
+ let dindex = e.currentTarget.dataset.dindex;
+ let orindex = 0;
+
+ if (Object.prototype.toString.call(this.data.order_info.orders[orindex].order_deductions) == '[object Object]') {
+ this.setData({
+ ["order_info.orders[" + orindex + "]" + ".order_deductions." + dindex + ".checked"]: dischecked
+ });
+ } else if (Object.prototype.toString.call(this.data.order_info.orders[orindex].order_deductions) == '[object Array]') {
+ this.setData({
+ ["order_info.orders[" + orindex + "]" + ".order_deductions[" + dindex + "]checked"]: dischecked
+ });
+ }
+ this._screenDiscount(this.data.order_info.orders[orindex], this.data.order_info.orders[orindex].order_deductions[dindex]);
+ //重新计算
+ this.getOrerData();
+ },
+ //筛选抵扣
+ _screenDiscount(item, value) {
+ //临时数据
+ let _deductionItem = {};
+ let tempDeduction_ids = [];
+ let checkDeductionList = [];
+ if (value.checked) {
+ //选中添加
+ if (this.data.checkDeductionList.length > 0) {
+ for (let i = 0; i < this.data.checkDeductionList.length; i++) {
+ if (this.data.checkDeductionList[i].pre_id == item.pre_id) {
+ //先获取回来
+ if (app._isTextEmpty(this.data.checkDeductionList[i].deduction_ids)) {
+ tempDeduction_ids = [];
+ } else {
+ tempDeduction_ids = this.data.checkDeductionList[i].deduction_ids;
+ }
+ checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.splice(i, 1);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ break;
+ }
+ }
+
+ if (tempDeduction_ids.length > 0) {
+
+ for (let j = 0; j < tempDeduction_ids.length; j++) {
+ if (tempDeduction_ids[j] == value.code) {
+ tempDeduction_ids.splice(j, 1);
+ }
+ }
+
+ tempDeduction_ids.push(value.code);
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+
+ } else {
+
+ tempDeduction_ids.push(value.code);
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+
+
+ }
+
+
+ } else {
+
+ if (tempDeduction_ids.length > 0) {
+ for (let j = 0; j < tempDeduction_ids.length; j++) {
+ if (tempDeduction_ids[j] == value.code) {
+ tempDeduction_ids.splice(j, 1);
+ }
+ }
+
+ tempDeduction_ids.push(value.code);
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+
+ } else {
+ tempDeduction_ids.push(value.code);
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+
+ }
+
+ }
+
+ } else { //取消选中
+ if (this.data.checkDeductionList.length > 0) {
+ for (let i = 0; i < this.data.checkDeductionList.length; i++) {
+ if (this.data.checkDeductionList[i].pre_id == item.pre_id) {
+ //先获取回来
+ if (app._isTextEmpty(this.data.checkDeductionList[i].deduction_ids)) {
+ tempDeduction_ids = [];
+ } else {
+ tempDeduction_ids = this.data.checkDeductionList[i].deduction_ids;
+ }
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.splice(i, 1);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ break;
+ }
+ }
+
+
+ if (tempDeduction_ids.length > 0) {
+ for (let j = 0; j < tempDeduction_ids.length; j++) {
+ if (tempDeduction_ids[j] == value.code) {
+ tempDeduction_ids.splice(j, 1);
+ }
+ }
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+
+ } else {
+ //tempDeduction_ids.push(value.code);
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ }
+
+ } else {
+ if (tempDeduction_ids.length > 0) {
+ for (let j = 0; j < tempDeduction_ids.length; j++) {
+ if (tempDeduction_ids[j] == value.code) {
+ tempDeduction_ids.splice(j, 1);
+ }
+ }
+
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ } else {
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ }
+
+ }
+ }
+
+ },
+ //组装优惠抵扣信息
+ _assembleDeduction() {
+ let deductions = [];
+ for (let i = 0; i < this.data.checkDeductionList.length; i++) {
+ deductions.push(this.data.checkDeductionList[i]);
+ }
+ return deductions;
+ },
+});
diff --git a/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.json b/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.json
new file mode 100644
index 0000000..de05969
--- /dev/null
+++ b/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.json
@@ -0,0 +1,17 @@
+{
+ "navigationBarTitleText": "商品下单页",
+ "usingComponents": {
+ "van-stepper": "../../../dist/stepper/index",
+ "van-field": "../../../dist/field/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-checkbox": "../../..//dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "van-switch": "../../../dist/switch/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-popup": "../../../dist/popup/index",
+ "dsfrom":"/mycomponent/diyfrom/diyfrom"
+ }
+}
diff --git a/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.wxml b/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.wxml
new file mode 100644
index 0000000..562e782
--- /dev/null
+++ b/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.wxml
@@ -0,0 +1,174 @@
+
+
+
+ {{title}}
+ {{start_time}}-{{end_time}} 共{{night_day}}晚
+
+
+
+ 房间数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 是否需要发票
+
+
+
+
+ 电子发票
+ 纸质发票
+
+
+
+
+ 个人
+ 公司
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击填写表单
+
+
+ 点击修改表单
+
+
+
+
+
+
+ 优惠券
+ {{coupon_size}}张可用
+
+
+
+ {{(use_coupon_size==0) ? "未使用":"已使用"+use_coupon_size+"张"}}
+
+
+
+
+
+
+
+
+
+ 可用{{d.coin}}{{d.name || integral}}
+ 抵扣{{d.amount}}{{language['元']}}
+
+
+
+
+
+
+
+
+
+ {{ d.coin }}{{ d.name || integral }}
+ 抵扣{{ d.amount }}{{language['元']}}
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+ {{language['money']}}-{{item.amount}}
+
+
+
+
+
+ {{item.name}}
+ {{language['money']}}{{item.amount}}
+
+
+
+
+ 预定说明
+ 订单确认后不可被取消;赠送双早;入住时需出示身份证;
+ 如需续住请提前一天预定;退房时可在前台以实际支付金额
+ 开具发票。
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{coupon.belongs_to_coupon.deduct}}
+
+ 满{{coupon.belongs_to_coupon.enough}}立减
+
+
+
+ {{coupon.belongs_to_coupon.discount}}折
+
+ 满{{coupon.belongs_to_coupon.enough}}立享
+
+
+
+
+ {{coupon.belongs_to_coupon.name}}
+ {{coupon.time_start}}-{{coupon.time_end}}
+
+
+
+
+
+ 确认
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.wxss b/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.wxss
new file mode 100644
index 0000000..baec4f1
--- /dev/null
+++ b/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.wxss
@@ -0,0 +1,349 @@
+/* packageA/hotel/HotelGoodsOrder/HotelGoodsOrder.wxss */
+.goods_order {
+ padding-bottom: 120rpx;
+}
+
+.goods_order .content .detail_a {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.goods_order .content .detail_a .li {
+ line-height: 60rpx;
+ text-align: left;
+}
+
+.goods_order .content .detail_a .li:first-child {
+ font-size: 32rpx;
+ font-weight: bold;
+}
+
+.goods_order .content .detail_a .li:last-child {
+ font-size: 28rpx;
+}
+
+.goods_order .content .detail_b {
+ background: #fff;
+ margin-top: 20rpx;
+}
+
+.goods_order .content .detail_b .b_room {
+ justify-content: space-between;
+ padding-left: 28rpx;
+ padding-right: 28rpx;
+}
+
+.goods_order .content .detail_b .li {
+ height: 90rpx;
+ display: flex;
+ border-bottom: solid 2rpx #ebebeb;
+ align-items: center;
+}
+
+.goods_order .content .detail_c {
+ background: #fff;
+ margin-top: 20rpx;
+ padding-left: 28rpx;
+}
+
+.goods_order .content .detail_c .li {
+ padding-right: 28rpx;
+ height: 90rpx;
+ display: flex;
+ border-bottom: solid 2rpx #ebebeb;
+ align-items: center;
+}
+
+.goods_order .content .detail_c .c_invoice {
+ justify-content: space-between;
+}
+
+.goods_order .content .detail_c .li .span {
+ font-size: 30rpx;
+}
+
+.goods_order .content .detail_c .li van-radio-group {
+ display: flex;
+ align-items: center;
+}
+
+.goods_order .content .detail_c .li van-radio-group .van-radio {
+ margin-left: 10rpx;
+}
+
+.goods_order .content .detail_d {
+ background: #fff;
+ margin-top: 20rpx;
+ padding: 20rpx 28rpx;
+}
+
+.goods_order .content .detail_d .li {
+ line-height: 60rpx;
+ display: flex;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ font-size: 28rpx;
+}
+
+.goods_order .content .foot {
+ background: #fff;
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ height: 98rpx;
+ display: flex;
+ justify-content: flex-end;
+ border-top: solid 2rpx #ebebeb;
+}
+
+.goods_order .content .foot .foot_a .li {
+ font-size: 28rpx;
+ line-height: 98rpx;
+ padding-right: 20rpx;
+ display: flex;
+ align-items: center;
+}
+
+.goods_order .content .foot .foot_a .li .span {
+ color: #f15353;
+}
+
+.goods_order .content .foot .foot_a .li .span .font {
+ font-size: 40rpx;
+}
+
+.goods_order .content .foot .button {
+ background: #f15353;
+ color: #fff;
+ font-size: 32rpx;
+ border: none;
+ width: 220rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.goods_order .tbs {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background: #fff;
+ flex-flow: row wrap;
+ padding: 20rpx 28rpx;
+ line-height: 48rpx;
+ border-bottom: #e8e8e8 solid 2rpx;
+ font-size: 30rpx;
+}
+
+.goods_order .tbs .list {
+ width: 100%;
+ padding-bottom: 20rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.goods_order .tbs .left {
+ text-align: left;
+ color: #333;
+}
+
+.goods_order .tbs .right {
+ text-align: right;
+}
+
+.goods_order .tbs .right .red {
+ color: #e84e40;
+}
+
+.goods_order .tbs .left .span {
+ font-size: 30rpx;
+}
+
+.goods_order .tbs.coupon-list {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.goods_order .tbs .list:nth-last-child(1) {
+ padding-bottom: 0;
+}
+
+.goods_order .add-info {
+ overflow-y: scroll;
+ width: 100%;
+ background: #fff;
+ max-height: 50vh;
+ padding-top: 20rpx;
+}
+
+.goods_order .add-info .coupon-list-info {
+ width: 99.5vw;
+ display: flex;
+ align-items: center;
+}
+
+.goods_order .add-info .checkList {
+ padding-left: 6rpx;
+ margin-right: 20rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.goods_order .add-info .coupon_voucher_gray {
+ flex: 1;
+ height: 160rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ display: flex;
+}
+
+.goods_order .add-info .coupon_voucher_main {
+ flex: 1;
+ height: 160rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ display: flex;
+}
+
+.goods_order .add-info .coupon_voucher_main .coupon_voucher_left {
+ width: 204rpx;
+ height: 100%;
+ color: #fff;
+ border-radius: 8rpx 0 0 8rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ background-color: #47c1c4;
+}
+
+.goods_order .add-info .coupon_voucher_gray .coupon_voucher_left {
+ width: 204rpx;
+ height: 100%;
+ color: #fff;
+ border-radius: 8rpx 0 0 8rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ background-color: #ccc;
+}
+
+.goods_order .add-info .coupon_voucher_main .coupon_voucher_left .coupon_voucher_amount.type_large {
+ margin: 0;
+ font-size: 44rpx;
+}
+
+.goods_order .add-info .coupon_voucher_gray .coupon_voucher_left .coupon_voucher_amount.type_large {
+ margin: 0;
+ font-size: 44rpx;
+}
+
+.goods_order .add-info .coupon_voucher_main .coupon_voucher_left .coupon_voucher_limit {
+ font-size: 24rpx;
+ margin-top: 26rpx;
+ margin-bottom: 0;
+}
+
+.goods_order .add-info .coupon_voucher_gray .coupon_voucher_left .coupon_voucher_limit {
+ font-size: 24rpx;
+ margin-top: 26rpx;
+ margin-bottom: 0;
+}
+
+.goods_order .add-info .coupon_voucher_main .coupon_voucher_right {
+ flex: 1;
+ padding: 30rpx 30rpx 30rpx 20rpx;
+ border-radius: 0 8rpx 8rpx 0;
+ background-color: #e5f3f3;
+ color: #666;
+}
+
+.goods_order .add-info .coupon_voucher_gray .coupon_voucher_right {
+ flex: 1;
+ padding: 30rpx 30rpx 30rpx 20rpx;
+ border-radius: 0 8rpx 8rpx 0;
+ background-color: #eee;
+ color: #666;
+}
+
+.goods_order .add-info .coupon_voucher_main .coupon_voucher_right .coupon_voucher_range {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ font-size: 24rpx;
+ text-align: left;
+ margin: 0;
+ padding: 0;
+ vertical-align: baseline;
+}
+
+.goods_order .add-info .coupon_voucher_gray .coupon_voucher_right .coupon_voucher_range {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ font-size: 24rpx;
+ text-align: left;
+ margin: 0;
+ padding: 0;
+ vertical-align: baseline;
+}
+
+.goods_order .coubtngroup {
+ display: flex;
+ font-size: 28rpx;
+ text-align: center;
+}
+
+.goods_order .coubtngroup .sure {
+ background: #f15353;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #fff;
+ width: 50%;
+}
+
+.goods_order .coubtngroup .close {
+ background: #eee;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #333;
+ width: 50%;
+}
+
+.tbs {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background: #fff;
+ flex-flow: row wrap;
+ padding: 0.625rem 0.875rem;
+ line-height: 1.5rem;
+ border-bottom: 0.0625rem solid #e8e8e8;
+ font-size: 14px;
+}
+
+.tbs .list {
+ width: 100%;
+}
+
+.tbs .list .list-child-style {
+ width: 100%;
+ clear: both;
+ display: flex;
+ align-items: center;
+}
+
+.tbs .list .left {
+ text-align: left;
+ flex: 1;
+ color: #333;
+}
+
+.tbs .list .right {
+ text-align: right;
+}
diff --git a/packageA/hotel/HotelManage/HotelManage.js b/packageA/hotel/HotelManage/HotelManage.js
new file mode 100644
index 0000000..a19c8ae
--- /dev/null
+++ b/packageA/hotel/HotelManage/HotelManage.js
@@ -0,0 +1,159 @@
+// packageA/hotel/HotelManage/HotelManage.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ thumb: '',
+ name: '',
+ total: '',
+ sure: '',
+ hotel_id: 0,
+ title: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.title) {
+ this.setData({
+ title: decodeURIComponent(options.title)
+ });
+ wx.setNavigationBarTitle({
+ title: this.data.title
+ });
+ }
+ this.checkrouter();
+ this.getData();
+ },
+ checkrouter() {
+ // 推广中心是否开启该功能,没开启跳转到指定路径
+ let basic_info = wx.getStorageSync("yz_basic_info");
+ let stop_info = basic_info.popularize_page.mini.vue_route;
+ for (let i = 0; i < stop_info.length; i++) {
+ if (stop_info[i] == 'HotelManage') {
+ console.log(basic_info.popularize_page.mini.mini_url + "跳转的路径");
+ wx.showToast({
+ title: '未开启推广权限',
+ duration: 1000,
+ icon: 'none',
+ success: function () {
+ setTimeout(() => {
+ wx.redirectTo({
+ url: basic_info.popularize_page.mini.mini_url,
+ });
+ }, 1000);
+ }
+ });
+ return;
+ }
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () { },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () { },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () { },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () { },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () { },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () { },
+ onShareTimeline:function(){},
+ getData() {
+ let that = this;
+ let url = '';
+ if (this.data.title == '收银台') {
+ url = 'plugin.hotel.frontend.cashier.center.index';
+ } else {
+ url = 'plugin.hotel.frontend.hotel.center.index';
+ }
+ let urlStr = app.getNetAddresss(url);
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let [thumb, name, total, sure] = [
+ res.data.hotel.thumb,
+ res.data.hotel.name,
+ res.data.income.money_total,
+ res.data.income.sure_withdraw_money
+ ];
+ that.setData({
+ thumb: thumb,
+ name: name,
+ total: total,
+ sure: sure
+ });
+ that.data.hotel_id = res.data.hotel.hotel_id;
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ gotoRecharge() {
+ wx.navigateTo({
+ url: '/packageA/member/withdrawal/withdrawal'
+ });
+ },
+ gotoOrder() {
+ if (this.data.title == '收银台') {
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2?status=0&orderType=hotelcashier'
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2?status=0&orderType=hotel_center'
+ });
+ }
+ },
+ gotoStat() {
+ wx.navigateTo({
+ url: '/packageC/cashier/cashier_stat/cashier_stat?hotel_id=' + this.data.hotel_id + '&tag=hotel'
+ });
+ },
+ gotoRecord() {
+ wx.navigateTo({
+ url: '/packageA/member/presentationRecord_v2/presentationRecord_v2' + '?type=hotel'
+ });
+ },
+ gotoCode() {
+ wx.navigateTo({
+ url: '/packageC/cashier/cashier_qr/cashier_qr?hotel_id=' + this.data.hotel_id + '&tag=hotel'
+ });
+ }
+});
diff --git a/packageA/hotel/HotelManage/HotelManage.json b/packageA/hotel/HotelManage/HotelManage.json
new file mode 100644
index 0000000..da8a6e5
--- /dev/null
+++ b/packageA/hotel/HotelManage/HotelManage.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "酒店管理",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/hotel/HotelManage/HotelManage.wxml b/packageA/hotel/HotelManage/HotelManage.wxml
new file mode 100644
index 0000000..1fc804d
--- /dev/null
+++ b/packageA/hotel/HotelManage/HotelManage.wxml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+ {{language['money']}}{{total}}
+ 累计实收金额
+
+
+ {{language['money']}}{{sure}}
+ 可提现金额
+
+
+
+
+
+
+
+ 收款二维码
+
+
+
+
+
+
+
+
+ 我的订单
+
+
+
+
+
+
+
+
+ 我的提成
+
+
+
+
+
+
+
+
+ 统计结算
+
+
+
+
+
+
+
+
diff --git a/packageA/hotel/HotelManage/HotelManage.wxss b/packageA/hotel/HotelManage/HotelManage.wxss
new file mode 100644
index 0000000..fa17866
--- /dev/null
+++ b/packageA/hotel/HotelManage/HotelManage.wxss
@@ -0,0 +1,239 @@
+/* packageA/hotel/HotelManage/HotelManage.wxss */
+.header {
+ height: auto;
+ background: #f15353;
+ background-size: 100% 100%;
+ padding: 40rpx;
+ position: relative;
+}
+
+.header .user {
+ display: flex;
+ text-align: center;
+}
+
+.header .user .cashier-name {
+ text-align: left;
+ flex: 2;
+ margin-left: 20rpx;
+ line-height: 60rpx;
+ color: #fff;
+ font-weight: bold;
+ font-size: 36rpx;
+}
+
+.header .user .user-head {
+ height: 104rpx;
+ width: 104rpx;
+ background: #fff;
+ border-radius: 50%;
+ border: 4rpx solid #fff;
+ box-sizing: border-box;
+ float: left;
+ overflow: hidden;
+}
+
+.header .user .user-head image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.header .user .user-info {
+ margin-top: 22rpx;
+ float: left;
+ color: #fff;
+}
+
+.header .user .set {
+ position: absolute;
+ right: 20rpx;
+ top: 20rpx;
+ color: #fff;
+ font-size: 28rpx;
+}
+
+.header .user .user-info .user-name {
+ width: auto;
+ font-size: 28rpx;
+}
+
+.header .user .user-info .user-name .b-tixian {
+ display: flex;
+ justify-content: center;
+ width: 152rpx;
+ margin-top: 16rpx;
+ margin: 0 auto;
+ padding: 10rpx;
+ border-radius: 36rpx;
+ color: #fff;
+ background: rgba(255, 255, 255, 0.3);
+ align-items: center;
+}
+
+.header .user .user-info .user-name .b-tixian icon {
+ margin-top: -6rpx;
+}
+
+.header .user .user-info .user-other {
+ height: 40rpx;
+ width: auto;
+ font-size: 28rpx;
+ line-height: 40rpx;
+ opacity: 0.8;
+}
+
+.header .user-gold {
+ height: 70rpx;
+ width: 94%;
+ padding: 10rpx 3%;
+ border-bottom: 2rpx solid #f5f3f3;
+ background: #fff;
+ font-size: 24rpx;
+ line-height: 70rpx;
+}
+
+.header .user-gold .title {
+ height: 70rpx;
+ width: auto;
+ float: left;
+ color: #666;
+}
+
+.header .user-gold .num {
+ height: 70rpx;
+ width: auto;
+ float: left;
+ color: #f90;
+}
+
+.header .user-gold .draw {
+ width: 160rpx;
+ height: 60rpx;
+ background: #6c9;
+ float: right;
+}
+
+.header .user-op {
+ height: 70rpx;
+ width: 94%;
+ padding: 10rpx 3%;
+ border-bottom: 2rpx solid #f5f3f3;
+ background: #fff;
+ font-size: 24rpx;
+ line-height: 70rpx;
+}
+
+.money-center {
+ background: #fff;
+ border-bottom: 2rpx solid #f5f3f3;
+ margin-top: 20rpx;
+ overflow: hidden;
+}
+
+.userinfo {
+ background: #fff;
+ margin-bottom: 20rpx;
+}
+
+.userinfo .ul {
+ padding: 32rpx 0;
+}
+
+.userinfo .ul .li {
+ color: #8c8c8c;
+ text-align: center;
+ display: block;
+}
+
+.userinfo .ul .li .span {
+ color: #222;
+ font-size: 28rpx;
+}
+
+.userinfo .ul .li:first-child {
+ border-right: solid 2rpx #ebebeb;
+}
+
+.userinfo .ul .li {
+ flex: 1;
+ float: left;
+ width: 50%;
+ box-sizing: border-box;
+ border: 0;
+}
+
+.userinfo .ul .li .span {
+ color: #f15353;
+ font-size: 36rpx;
+ display: inline-block;
+ margin-bottom: 12rpx;
+ font-weight: bold;
+}
+
+.userinfo .ul .li .small {
+ font-weight: normal;
+ font-size: 48rpx;
+}
+
+.userinfo .ul .li:last-child {
+ border: 0;
+}
+
+.userinfo .ul .li::after {
+ content: "";
+ display: block;
+ clear: both;
+}
+
+.userinfo .ul::after {
+ content: "";
+ display: block;
+ clear: both;
+}
+
+.list1 {
+ height: 88rpx;
+ background: #fff;
+ padding-right: 28rpx;
+ margin-left: 28rpx;
+ border-top: 2rpx solid #ebebeb;
+ font-size: 32rpx;
+ line-height: 88rpx;
+ color: #333;
+ text-align: left;
+ display: flex;
+ justify-content: space-between;
+}
+
+.list1 .left {
+ display: flex;
+ align-items: center;
+}
+
+.list1 .left .span {
+ margin-left: 20rpx;
+}
+
+.list1 .left icon {
+ font-size: 52rpx;
+ color: rgb(241, 83, 83);
+}
+
+.list1 .right {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.list1 .right van-icon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.cart {
+ height: auto;
+ width: 100%;
+ background: #fff;
+}
diff --git a/packageA/member/ClockPunch/ClockPunch.js b/packageA/member/ClockPunch/ClockPunch.js
new file mode 100644
index 0000000..0b9fe37
--- /dev/null
+++ b/packageA/member/ClockPunch/ClockPunch.js
@@ -0,0 +1,600 @@
+// pages/member/ClockPunch/ClockPunch.js
+var yz_pay = require("../../../mycomponent/yz_pay/yz_pay");
+var app = getApp();
+Page({
+ behaviors: [yz_pay],
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ //总共余额
+ totalAmonut: "",
+ //总共参与人数
+ totalNumber: "",
+ //总共参与会员
+ totalMember: [],
+ //已打卡数量
+ clockInNum: 0,
+ clockFirstShow: false,
+ //第一名打卡会员
+ clockFirstMember: {},
+ luckyMemberShow: false,
+ //连续打卡会员
+ continueMember: {},
+ continueMemberShow: false,
+ //未打卡数量
+ notClockInNum: 0,
+ btnStatus: "",
+ amount: "1",
+ //弹窗按钮控制
+ actionSheetShow: false,
+ actionSheetItemsData: [],
+ clockin_title: "早起打卡",
+ share_title: "",
+ share_icon: "",
+ share_desc: "",
+ clock_begintime: "",
+ clock_endtime: "",
+ ios_virtual_pay: false,
+ forbidden: true
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.checkrouter();
+ try {
+ var value = wx.getStorageSync('ios_virtual_pay');
+ if (value) {
+ this.setData({
+ ios_virtual_pay: value
+ });
+ }
+ } catch (e) { console.log(e); }
+ },
+ checkrouter() {
+ try {
+ // 推广中心是否开启该功能,没开启跳转到指定路径
+ let basic_info = wx.getStorageSync("yz_basic_info");
+ let stop_info = basic_info.popularize_page.mini.vue_route;
+ for (let i = 0; i < stop_info.length; i++) {
+ if (stop_info[i] == 'ClockPunch') {
+ console.log(basic_info.popularize_page.mini.mini_url + "跳转的路径");
+ wx.showToast({
+ title: '未开启推广权限',
+ duration: 1000,
+ icon: 'none',
+ success: function () {
+ setTimeout(() => {
+ wx.redirectTo({
+ url: basic_info.popularize_page.mini.mini_url,
+ });
+ }, 1000);
+ }
+ });
+ return;
+ }
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ wx.showShareMenu({
+ withShareTicket: false,
+ menus: ['shareAppMessage', 'shareTimeline']
+ });
+ this._initData();
+ this._getTodayPay();
+ this._getTodayClockOn();
+ this._getCurrentPayStatus();
+ this._getPayData();
+ this._getClockin();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline() {
+ return {
+ title: this.data.share_title,
+ imageUrl: this.data.share_icon
+ };
+ },
+ onShareAppMessage: function () {
+ return {
+ title: this.data.share_title,
+ imageUrl: this.data.share_icon
+ };
+ },
+ //获取今日支付数据
+ _getTodayPay() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in.get-today-pay-data");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ totalAmonut: res.data.today_pay_amount,
+ totalNumber: res.data.today_pay_num,
+ totalMember: res.data.today_pay_member
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //获取今日打卡数据
+ _getTodayClockOn() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in.get-today-clock-data");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (app._isTextEmpty(res.data.clock_firat_member)) {
+ that.setData({
+ clockFirstShow: false
+ });
+ } else {
+ that.setData({
+ clockFirstShow: true,
+ clockFirstMember: res.data.clock_firat_member
+ });
+ }
+
+ if (app._isTextEmpty(res.data.reward_lucky_member)) {
+ that.setData({
+ luckyMemberShow: false
+ });
+ } else {
+ that.setData({
+ luckyMemberShow: true,
+ luckyMember: res.data.reward_lucky_member
+ });
+ }
+
+ if (app._isTextEmpty(res.data.clock_continuity_member)) {
+ that.setData({
+ continueMemberShow: false
+ });
+ } else {
+ that.setData({
+ continueMemberShow: true,
+ continueMember: res.data.clock_continuity_member
+ });
+ }
+ that.setData({
+ clockInNum: res.data.clock_in_num,
+ notClockInNum: res.data.not_clock_in_num
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //获取当前支付打卡状态
+ _getCurrentPayStatus() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in.get-member-pay-status");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ amount: res.data.amount,
+ btnStatus: res.data.status
+ });
+ that.initBtnView(res.data);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //初始化btn状态
+ initBtnView(data) {
+ let that = this;
+ switch (data.status) {
+ case -1:
+ that.setData({
+ message: "支付" + that.data.amount + (that.data.language['元'] ? that.data.language['元'] : '元') + "参与挑战"
+ });
+ break;
+ case 0:
+ that.setData({
+ message: "支付" + that.data.amount + (that.data.language['元'] ? that.data.language['元'] : '元') + "参与挑战"
+ });
+ break;
+ case 1:
+ that.setData({
+ forbidden: true,
+ cutDownTime: this.getCutDownTime(data)
+ });
+ that._countDown();
+ break;
+ case 2:
+ that.setData({
+ message: '打卡'
+ });
+ break;
+ case 3:
+ that.setData({
+ forbidden: true,
+ cutDownTime: this.getCutDownTime(data)
+ });
+ that._countDown();
+ break;
+ case 4:
+ that.setData({
+ forbidden: true,
+ cutDownTime: this.getCutDownTime(data)
+ });
+ that._countDown();
+ break;
+ default:
+ break;
+ }
+ },
+ //倒计时
+ _countDown: function () {
+ if (!this.data.forbidden) {
+ return false;
+ }
+ let newTime = new Date().getTime();
+ let endTime = this.data.cutDownTime;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt(time % (60 * 60 * 24) / 3600);
+ let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
+ let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec)
+ };
+ } else { //活动已结束,全部设置为'00'
+ obj = {
+ day: '00',
+ hou: '00',
+ min: '00',
+ sec: '00'
+ };
+ }
+ this.setData({
+ message: '倒计时' + obj.day + '天' + obj.hou + '时' + obj.min + '分' + obj.sec + '秒'
+ });
+ if (endTime - newTime < 0) {
+ this.setData({
+ forbidden: false,
+ });
+ this._getTodayClockOn();
+ this._getCurrentPayStatus();
+ } else {
+ setTimeout(this._countDown.bind(this), 1000);
+ }
+
+ },
+ //小于10的格式化函数
+ _timeFormat(param) { //小于10的格式化函数
+ return param < 10 ? '0' + param : param;
+ },
+ //获取倒计时
+ getCutDownTime(data) {
+ var currentTime = parseInt(data.current_time);
+ var startTime = parseInt(data.start_time);
+ var restTime = 0;
+ if (currentTime < startTime) {
+ restTime = startTime;
+ }
+ return restTime * 1000;
+ },
+ //获取支付数据
+ _getPayData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in-pay.get-pay-button");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let btnData = res.data.buttons;
+ if (!app._isTextEmpty(btnData) && btnData.length > 0) {
+ let actionSheetItemsData = [];
+ for (let i = 0; i < btnData.length; i++) {
+ actionSheetItemsData.push({
+ name: btnData[i].name,
+ openType: btnData[i].value
+ });
+ }
+ that.setData({
+ actionSheetItemsData: actionSheetItemsData,
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //初始化支付回调
+ initPayCallBack(type) {
+ let that = this;
+ switch (type) {
+ case 1:
+ that.weChatPay();
+ break;
+ case 55:
+ that.weChatPay();
+ break;
+ case 3:
+ that.balancePay();
+ break;
+ case 28:
+ that.balanceHjPay();
+ break;
+ default:
+ break;
+ }
+ },
+ //微信支付
+ weChatPay() {
+ this.payPost(1);
+ },
+ //余额支付
+ balancePay() {
+ this.payPost(3);
+ },
+ // 第三方汇聚支付
+ balanceHjPay() {
+ this.payPost(28);
+ },
+ //支付
+ payPost(type) {
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in-pay.run-clock-pay");
+ urlStr += '&pay_method=' + type;
+ urlStr += '&amount=' + this.data.amount;
+ urlStr += "&client_type=2";
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.rechargePay(type, res, res.data.ordersn, 'clock');
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: (res)=> {
+ console.log(res);
+ }
+ });
+ },
+ clokinBtnCallBack() {
+ let that = this;
+ if (this.data.ios_virtual_pay) {
+ wx.showModal({
+ title: '提示',
+ content: '十分抱歉,由于相关规定,你暂时无法在这里充值!',
+ confirmText: '知道了',
+ showCancel: false,
+ success(res) {
+ console.log(res);
+ }
+ });
+ return false;
+ }
+ switch (this.data.btnStatus) {
+ case -1:
+ that.setData({
+ actionSheetShow: true
+ });
+ break;
+ case 0:
+ that.setData({
+ actionSheetShow: true
+ });
+ break;
+ case 1:
+ break;
+ case 2:
+ that.postClockIn();
+ break;
+ case 3:
+ that.setData({
+ actionSheetShow: true
+ });
+ break;
+ case 4:
+ break;
+ default:
+ break;
+ }
+ },
+ //打卡
+ postClockIn() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in.run-clock-in");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that._getCurrentPayStatus();
+ that._getTodayPay();
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ actionbtn(e) {
+ let openType = e.detail.openType;
+ this.initPayCallBack(openType);
+ },
+ onClose() {
+ this.setData({
+ actionSheetShow: false
+ });
+ },
+ goClockPunchRule() {
+ wx.navigateTo({
+ url: '/packageA/member/ClockPunchRule/ClockPunchRule'
+ });
+ },
+ goClockPunchRecord() {
+ wx.navigateTo({
+ url: '/packageA/member/ClockPunchRecord/ClockPunchRecord'
+ });
+ },
+ //获取早起打卡设置
+ _getClockin() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in.get-set");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ clockin_title: res.data.plugin_name,
+ share_title: res.data.share.share_title,
+ share_icon: res.data.share.share_icon,
+ share_desc: res.data.share.share_desc,
+ clock_begintime: res.data.clock_time.starttime,
+ clock_endtime: res.data.clock_time.endtime,
+ });
+ } else {
+ if(res.data.is_clock_in==0){
+ let plugin_name = res.data.plugin_name;
+ wx.showModal({
+ title: '提示',
+ content: `${plugin_name}已禁用`,
+ showCancel:false,
+ success (res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url: '/packageG/member_v2/member_v2',
+ });
+ }
+ }
+ });
+
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ _initData() {
+ this.setData({
+ //总共余额
+ totalAmonut: "",
+ //总共参与人数
+ totalNumber: "",
+ //总共参与会员
+ totalMember: [],
+ //已打卡数量
+ clockInNum: 0,
+ clockFirstShow: false,
+ //第一名打卡会员
+ clockFirstMember: {},
+ luckyMemberShow: false,
+ //连续打卡会员
+ continueMember: {},
+ continueMemberShow: false,
+ //未打卡数量
+ notClockInNum: 0,
+ btnStatus: "",
+ amount: "1",
+ //弹窗按钮控制
+ actionSheetShow: false,
+ actionSheetItemsData: [],
+ clockin_title: "早起打卡",
+ share_title: "",
+ share_icon: "",
+ share_desc: "",
+ clock_begintime: "",
+ clock_endtime: "",
+ });
+ }
+});
diff --git a/packageA/member/ClockPunch/ClockPunch.json b/packageA/member/ClockPunch/ClockPunch.json
new file mode 100644
index 0000000..981c8e9
--- /dev/null
+++ b/packageA/member/ClockPunch/ClockPunch.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "早起打卡",
+ "usingComponents": {
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-action-sheet": "../../../dist/action-sheet/index"
+ }
+}
diff --git a/packageA/member/ClockPunch/ClockPunch.wxml b/packageA/member/ClockPunch/ClockPunch.wxml
new file mode 100644
index 0000000..edb18ac
--- /dev/null
+++ b/packageA/member/ClockPunch/ClockPunch.wxml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+ 打卡可随机瓜分金额({{language['元']?language['元']:'元'}})
+
+ {{totalAmonut}}
+
+ 打卡时间 {{clock_begintime}}:00 - {{clock_endtime}}:00
+ 当前有{{totalNumber}}人参与打卡挑战
+
+
+
+ 活动规则
+
+
+ {{message}}
+
+
+
+ 打卡状况
+
+
+
+ {{clockInNum}}
+
+ 人成功
+
+
+
+
+
+
+ {{notClockInNum}}
+
+ 人失败
+
+
+
+
+
+
+
+
+
+
+ 早起之星
+
+ {{clockFirstMember.has_one_member.nickname}}
+ {{clockFirstMember.clock_in_at}}打卡
+
+
+
+
+
+ 幸运之星
+
+ {{luckyMember.has_one_member.nickname}}
+ {{luckyMember.amount}}{{language['元']?language['元']:'元'}}
+
+
+
+
+
+ 毅力之星
+
+ {{continueMember.has_one_member.nickname}}
+ 连续{{continueMember.clock_num}}次
+
+
+
+
+
+
+
diff --git a/packageA/member/ClockPunch/ClockPunch.wxss b/packageA/member/ClockPunch/ClockPunch.wxss
new file mode 100644
index 0000000..ca1dc8c
--- /dev/null
+++ b/packageA/member/ClockPunch/ClockPunch.wxss
@@ -0,0 +1,191 @@
+/* pages/member/ClockPunch/ClockPunch.wxss */
+.clockin-detail {
+ width: 100%;
+ font-size: 32rpx;
+ text-align: center;
+}
+
+.clockin-detail .clock_content {
+ background-color: #fff;
+ height: 1254rpx;
+}
+
+.clockin-detail .clock_content .clock_info {
+ position: relative;
+ color: #fff;
+ height: 760rpx;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/clock_bg.png');
+ background-repeat: no-repeat;
+ background-size: 100%;
+}
+
+.clockin-detail .clock_content .clock_info .info {
+ padding-top: 80rpx;
+}
+
+.clockin-detail .clock_content .clock_info .info .info_a {
+ font-size: 36rpx;
+}
+
+.clockin-detail .clock_content .clock_info .info .info_b {
+ font-size: 32rpx;
+ line-height: 96rpx;
+ overflow: hidden;
+}
+
+.clockin-detail .clock_content .clock_info .info .info_b .span {
+ font-size: 96rpx;
+ color: #ffe676;
+ overflow: hidden;
+}
+
+.clockin-detail .clock_content .clock_info .info .info_c,
+.clockin-detail .clock_content .clock_info .info .info_d {
+ font-size: 32rpx;
+ line-height: 56rpx;
+}
+
+.clockin-detail .clock_content .clock_info .info .info_c,
+.clockin-detail .clock_content .clock_info .info .info_d {
+ font-size: 16px;
+ line-height: 28px;
+ line-height: 1.75rem;
+}
+
+.clockin-detail .clock_content .clock_info .rule {
+ position: absolute;
+ top: 40rpx;
+ right: 20rpx;
+}
+
+.clockin-detail .clock_content .clock_info .rule image {
+ width: 56rpx;
+}
+
+.clockin-detail .clock_content .clock_info .rule .span {
+ font-size: 24rpx;
+ display: block;
+ color: #ffe676;
+}
+
+.clockin-detail .clock_content .clock_info .clokinBtn {
+ width: 550rpx;
+ height: 104rpx;
+ line-height: 104rpx;
+ font-size: 40rpx;
+ margin: 0 auto;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/clock_btn.png');
+ background-size: 100%;
+ background-repeat: no-repeat;
+ position: absolute;
+ bottom: 16rpx;
+ left: 100rpx;
+ color: #fff;
+}
+
+.clockin-detail .clock_content .clock_state {
+ padding-top: 32rpx;
+}
+
+.clockin-detail .clock_content .clock_state .h1 {
+ height: 60rpx;
+ line-height: 60rpx;
+ font-size: 32rpx;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/clock_state.png');
+ background-repeat: no-repeat;
+ background-size: 60%;
+ background-position: center;
+ color: #355b46;
+}
+
+.clockin-detail .clock_content .clock_state .ul {
+ margin-top: 20rpx;
+ display: flex;
+ justify-content: center;
+}
+
+.clockin-detail .clock_content .clock_state .ul .li {
+ display: flex;
+ color: #8c8c8c;
+ font-size: 32rpx;
+ align-items: center;
+}
+
+.clockin-detail .clock_content .clock_state .ul .li .right {
+ display: flex;
+ align-items: center;
+}
+
+.clockin-detail .clock_content .clock_state .ul .li .span {
+ color: #666;
+}
+
+.clockin-detail .clock_content .clock_state .ul .li image {
+ width: 40rpx;
+ height: 40rpx;
+ margin-left: 8rpx;
+}
+
+.clockin-detail .clock_content .clock_use {
+ margin-top: 40rpx;
+ display: flex;
+ overflow: visible;
+}
+
+.clockin-detail .clock_content .clock_use .use_a {
+ position: relative;
+ width: 33.33%;
+ overflow: visible;
+}
+
+.clockin-detail .clock_content .clock_use .use_a .header {
+ z-index: 1;
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 50%;
+ margin: 0 auto;
+ overflow: visible;
+}
+
+.clockin-detail .clock_content .clock_use .use_a .header image {
+ width: 100%;
+}
+
+.clockin-detail .clock_content .clock_use .use_a .hat {
+ width: 48rpx;
+ position: absolute;
+ top: -20rpx;
+ left: 48rpx;
+ z-index: 0;
+}
+
+.clockin-detail .clock_content .clock_use .use_a .span {
+ z-index: 2;
+ position: relative;
+ bottom: 20rpx;
+ display: block;
+ margin: 0 auto;
+ width: 120rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ color: #fff;
+ font-size: 24rpx;
+ background: linear-gradient(to right, #fdde8e, #68c978);
+}
+
+.clockin-detail .clock_content .clock_use .use_a .name {
+ font-size: 28rpx;
+}
+
+.clockin-detail .clock_content .clock_use .use_a .name .li:first-child {
+ color: #666;
+}
+
+.clockin-detail .clock_content .clock_use .use_a .name .li:last-child {
+ color: #ffb14c;
+}
+
+.clockin .van-nav-bar__text {
+ margin: 0;
+ padding: 0;
+}
diff --git a/packageA/member/ClockPunchRecord/ClockPunchRecord.js b/packageA/member/ClockPunchRecord/ClockPunchRecord.js
new file mode 100644
index 0000000..87aa4ef
--- /dev/null
+++ b/packageA/member/ClockPunchRecord/ClockPunchRecord.js
@@ -0,0 +1,201 @@
+// pages/member/ClockPunchRecord/ClockPunchRecord.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ //累计支付
+ payAmount: "",
+ //累计收入
+ rewardAmount: "",
+ //成功打卡天数
+ clockNum: 0,
+ //战绩明细显示控制
+ recordDetailShow: false,
+ //战绩详情
+ recordDetail: [],
+ total_page: 0,
+ share_title: '',
+ share_icon: '',
+ isLoadMore: true,
+ page: 1,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getMyRecord();
+ this._getMyRecordDetail();
+ this._getShareData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ wx.showShareMenu({
+ withShareTicket: false,
+ menus: ['shareAppMessage', 'shareTimeline']
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this._getMoreDetail();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline(){
+ return{
+ title:this.data.share_title,
+ imageUrl:this.data.share_icon
+ };
+ },
+ onShareAppMessage: function() {
+ return {
+ title: this.data.share_title,
+ imageUrl: this.data.share_icon
+ };
+ },
+ //我的战绩统计
+ _getMyRecord() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in-member.statistic");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ payAmount: res.data.pay_amount,
+ rewardAmount: res.data.reward_amount,
+ clockNum: res.data.colck_num
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //我的战绩明细
+ _getMyRecordDetail() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in-member.get-clock-list");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (!app._isTextEmpty(res.data.data)) {
+ that.setData({
+ recordDetailShow: true,
+ recordDetail: res.data.data,
+ total_page: res.data.total
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //获取分享数据
+ _getShareData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in.get-set");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ share_title: res.data.share.share_title,
+ share_icon: res.data.share.share_icon
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ _getMoreDetail() {
+ if (this.data.page == this.data.total_page) {
+ return;
+ }
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: this.data.page + 1
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in-member.get-clock-list");
+ urlStr += '&page=' + that.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ recordDetail: that.data.recordDetail.concat(res.data.data)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ return;
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+
+});
diff --git a/packageA/member/ClockPunchRecord/ClockPunchRecord.json b/packageA/member/ClockPunchRecord/ClockPunchRecord.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageA/member/ClockPunchRecord/ClockPunchRecord.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/ClockPunchRecord/ClockPunchRecord.wxml b/packageA/member/ClockPunchRecord/ClockPunchRecord.wxml
new file mode 100644
index 0000000..918bf21
--- /dev/null
+++ b/packageA/member/ClockPunchRecord/ClockPunchRecord.wxml
@@ -0,0 +1,30 @@
+
+
+
+
+ 我的战绩
+
+
+ {{payAmount}}
+ 累计投入({{language['元']}})
+
+
+ {{rewardAmount}}
+ 累计赚取({{language['元']}})
+
+
+ {{clockNum}}
+ 累计打卡(天)
+
+
+
+
+ 战绩明细
+
+ {{item.created_at}}
+ {{item.clock_in_status_name}}
+ {{item.has_one_reward?item.has_one_reward.amount:''}}
+
+
+
+
diff --git a/packageA/member/ClockPunchRecord/ClockPunchRecord.wxss b/packageA/member/ClockPunchRecord/ClockPunchRecord.wxss
new file mode 100644
index 0000000..0a1b9d4
--- /dev/null
+++ b/packageA/member/ClockPunchRecord/ClockPunchRecord.wxss
@@ -0,0 +1,76 @@
+/* pages/member/ClockPunchRecord/ClockPunchRecord.wxss */
+.record {
+ color: #fff;
+ text-align: left;
+}
+
+.record .record-content {
+ height: 302rpx;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/clockin_bg.png');
+ background-repeat: no-repeat;
+ background-size: 100%;
+ margin-top: 80rpx;
+}
+
+.record .record-content .h3 {
+ line-height: 80rpx;
+ padding: 20rpx 24rpx 0 24rpx;
+ font-size: 36rpx;
+}
+
+.record .record-content .record-data {
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+ font-size: 30rpx;
+ display: flex;
+}
+
+.record .record-content .record-data .data_box {
+ width: 220rpx;
+ padding-left: 24rpx;
+}
+
+.record .record-content .record-data .data {
+ font-size: 40rpx;
+}
+
+.record .record-content .record-data .amount {
+ font-size: 24rpx;
+}
+
+.record .record-detail {
+ color: #333;
+ background: #fff;
+}
+
+.record .record-detail .h3 {
+ line-height: 80rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ padding-left: 28rpx;
+ font-size: 36rpx;
+ color: #666;
+}
+
+.record .record-detail .record-detail-list {
+ display: flex;
+ justify-content: space-between;
+ color: #8c8c8c;
+ margin-left: 28rpx;
+ padding-right: 28rpx;
+ font-size: 34rpx;
+ height: 88rpx;
+ line-height: 88rpx;
+}
+
+.record .record-detail .record-detail-list .time {
+ font-size: 28rpx;
+}
+
+.record .record-detail .record-detail-list .state {
+ color: #666;
+}
+
+.record .record-detail .record-detail-list .amount {
+ float: right;
+ color: #ffb14c;
+}
diff --git a/packageA/member/ClockPunchRule/ClockPunchRule.js b/packageA/member/ClockPunchRule/ClockPunchRule.js
new file mode 100644
index 0000000..bb2d948
--- /dev/null
+++ b/packageA/member/ClockPunchRule/ClockPunchRule.js
@@ -0,0 +1,132 @@
+// pages/member/ClockPunchRule/ClockPunchRule.js
+var app = getApp();
+// var WxParse = require('../../../wxParse/wxParse.js');
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ ruleContent: '',
+ share_title: '',
+ share_icon: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getRule();
+ this._getShareData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ wx.showShareMenu({
+ withShareTicket: false,
+ menus: ['shareAppMessage', 'shareTimeline']
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline(){
+ return{
+ title:this.data.share_title,
+ imageUrl:this.data.share_icon
+ };
+ },
+ onShareAppMessage: function() {
+ return {
+ title: this.data.share_title,
+ imageUrl: this.data.share_icon
+ };
+ },
+ //打卡规则请求数据
+ _getRule() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in.get-rule");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ ruleContent: res.data.rule
+ });
+ // let article = that.data.ruleContent;
+ /**
+ * WxParse.wxParse(bindName , type, data, target,imagePadding)
+ * 1.bindName绑定的数据名(必填)
+ * 2.type可以为html或者md(必填)
+ * 3.data为传入的具体数据(必填)
+ * 4.target为Page对象,一般为this(必填)
+ * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
+ */
+ // WxParse.wxParse('article', 'html', article, that);
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //获取分享数据
+ _getShareData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.clock-in.api.clock-in.get-set");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ share_title: res.data.share.share_title,
+ share_icon: res.data.share.share_icon
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageA/member/ClockPunchRule/ClockPunchRule.json b/packageA/member/ClockPunchRule/ClockPunchRule.json
new file mode 100644
index 0000000..bc62b6a
--- /dev/null
+++ b/packageA/member/ClockPunchRule/ClockPunchRule.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "挑战规则",
+ "usingComponents": {}
+}
diff --git a/packageA/member/ClockPunchRule/ClockPunchRule.wxml b/packageA/member/ClockPunchRule/ClockPunchRule.wxml
new file mode 100644
index 0000000..c79fda5
--- /dev/null
+++ b/packageA/member/ClockPunchRule/ClockPunchRule.wxml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ 活动规则
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/ClockPunchRule/ClockPunchRule.wxss b/packageA/member/ClockPunchRule/ClockPunchRule.wxss
new file mode 100644
index 0000000..09b7ab2
--- /dev/null
+++ b/packageA/member/ClockPunchRule/ClockPunchRule.wxss
@@ -0,0 +1,19 @@
+/* pages/member/ClockPunchRule/ClockPunchRule.wxss */
+.rule {
+ width: 100%;
+ height: 100%;
+ text-align: left;
+}
+
+.rule .rule-content .h3 {
+ font-size: 34rpx;
+ margin: 20rpx;
+}
+
+.rule .rule-content .p {
+ margin: 20rpx;
+ font-size: 30rpx;
+ word-wrap: break-word;
+ word-break: break-all;
+ overflow: hidden;
+}
diff --git a/packageA/member/CourseManage/CourseManage.js b/packageA/member/CourseManage/CourseManage.js
new file mode 100644
index 0000000..62e0408
--- /dev/null
+++ b/packageA/member/CourseManage/CourseManage.js
@@ -0,0 +1,98 @@
+// pages/member/CourseManage/CourseManage.js
+var app = getApp();
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ memberInfo: {}
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ wx.setNavigationBarTitle({
+ title: '我的课程'
+ });
+ this._getData();
+ },
+ _getData: function(success) {
+ var that = this;
+ // 初次获取数据
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.video-demand.api.video-demand-member.get-member-data"),
+ success: function(res) {
+ if (res.data.result == 1) {
+ let _data = res.data.data;
+ that.setData({
+ memberInfo: _data
+ });
+ success && success(res);
+ } else {
+ console.error(res);
+ }
+ },
+ fail: function(res) {
+ console.error(res);
+ }
+ });
+ },
+ toNext: function(e) {
+ let url = e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: '/packageA/member/course/' + url + '/' + url
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ }
+});
diff --git a/packageA/member/CourseManage/CourseManage.json b/packageA/member/CourseManage/CourseManage.json
new file mode 100644
index 0000000..b4bcc37
--- /dev/null
+++ b/packageA/member/CourseManage/CourseManage.json
@@ -0,0 +1,5 @@
+{
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/CourseManage/CourseManage.wxml b/packageA/member/CourseManage/CourseManage.wxml
new file mode 100644
index 0000000..9e07476
--- /dev/null
+++ b/packageA/member/CourseManage/CourseManage.wxml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+ 我的课程
+
+
+
+
+
+
+
+
+
+
+
+ 课程观看历史
+
+
+ 更多
+
+
+
+
+
+
+
+
+
+ 我的打赏
+
+
+
+
+
+
+
+
+
+
+
+ 全部课程
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/CourseManage/CourseManage.wxss b/packageA/member/CourseManage/CourseManage.wxss
new file mode 100644
index 0000000..130b168
--- /dev/null
+++ b/packageA/member/CourseManage/CourseManage.wxss
@@ -0,0 +1,83 @@
+/* pages/member/CourseManage/CourseManage.wxss */
+.header {
+ width: 100%;
+ margin-bottom: 10rpx;
+ padding: 20rpx;
+ background-color: #f15353;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ box-sizing: border-box;
+}
+
+.head-img {
+ flex: 0 0 65%;
+ display: flex;
+ margin-right: 18rpx;
+}
+
+.head-img image {
+ width: 100rpx;
+ height: 100rpx;
+ border-radius: 50%;
+ margin-right: 20rpx;
+ border: solid 2rpx #fff;
+ overflow: hidden;
+ flex-shrink: 0;
+}
+
+.nickname {
+ font-weight: bold;
+ align-self: center;
+}
+
+.level {
+ flex: 1;
+}
+
+.list-box {
+ background-color: #fff;
+ width: 100%;
+}
+
+.list {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 88rpx;
+ border-top: solid 2rpx #ebebeb;
+}
+
+.list:last-child {
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.left .iconfont {
+ margin-left: 15rpx;
+ font-size: 52rpx;
+ color: #f15353;
+}
+
+.center {
+ flex: 1;
+ text-align: left;
+ height: 88rpx;
+ line-height: 88rpx;
+ padding-left: 12rpx;
+}
+
+.right {
+ padding-right: 28rpx;
+}
+
+.right .more {
+ position: absolute;
+ right: 75rpx;
+ line-height: 59rpx;
+ color: #8c8c8c;
+ font-size: 24rpx;
+}
+
+.van-icon {
+ padding-top: 10rpx;
+}
diff --git a/packageA/member/DistributionOrders/DistributionOrders.js b/packageA/member/DistributionOrders/DistributionOrders.js
new file mode 100644
index 0000000..8728f7a
--- /dev/null
+++ b/packageA/member/DistributionOrders/DistributionOrders.js
@@ -0,0 +1,154 @@
+// pages/member/distribution_orders/distribution_orders.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ inputs: "",
+ uids: [],
+ memberInfo: {}
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.initData();
+ this.upToTop();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ initData() {
+ this.setData({
+ uids: []
+ });
+ },
+ upToTop() {
+ this.setData({
+ inputs: ""
+ });
+ this.initData();
+ this.gotoSearch();
+ },
+ gotoSearch(flag) {
+ let that = this;
+ if (!flag && this.data.inputs && !this.data.uids.includes(this.data.inputs)) {
+ let uids = this.data.uids;
+ uids.push(this.data.inputs);
+ this.setData({
+ uids: uids
+ });
+ }
+ let urlStr = app.getNetAddresss("plugin.distribution-order.api.controller.get-member-children");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ uid: this.data.inputs
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ memberInfo: res.data
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ goback() {
+ if (this.data.uids.length > 0) {
+ let uids = this.data.uids;
+ uids.pop();
+ this.setData({
+ uids: uids
+ });
+ if (this.data.uids.length > 0) {
+ this.setData({
+ inputs: this.data.uids[this.data.uids.length - 1]
+ });
+ } else {
+ this.setData({
+ inputs: ""
+ });
+ }
+ if (!this.data.inputs) {
+ this.setData({
+ inputs: ""
+ });
+ }
+ this.gotoSearch("no");
+ }
+ },
+ inpbtn(e) {
+ let val = e.detail.value;
+ this.setData({
+ inputs: val
+ });
+ },
+ inpbtnclear() {
+ this.setData({
+ inputs: ''
+ });
+ },
+ toNext(e) {
+ let id = e.currentTarget.dataset.uid;
+ this.setData({
+ inputs: id
+ });
+ this.gotoSearch();
+ },
+});
diff --git a/packageA/member/DistributionOrders/DistributionOrders.json b/packageA/member/DistributionOrders/DistributionOrders.json
new file mode 100644
index 0000000..8d36d52
--- /dev/null
+++ b/packageA/member/DistributionOrders/DistributionOrders.json
@@ -0,0 +1,5 @@
+{
+ "usingComponents": {
+ "van-field": "../../../dist/field/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/DistributionOrders/DistributionOrders.wxml b/packageA/member/DistributionOrders/DistributionOrders.wxml
new file mode 100644
index 0000000..14c7e27
--- /dev/null
+++ b/packageA/member/DistributionOrders/DistributionOrders.wxml
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+ 最上级
+
+
+
+ 上一级
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+
+
+ {{ memberInfo.first.nickname }}(ID{{ memberInfo.first.uid }})
+ {{ memberInfo.first.agentLevel }}
+
+ 分销订单数
+ {{ memberInfo.first.allorder }}
+
+
+ 分销订单业绩
+ {{ memberInfo.first.allprice }}{{language['元']}}
+
+
+ 团队人数
+ {{ memberInfo.first.agentNum }}人
+
+
+ 团队分销订单业绩
+ {{ memberInfo.first.teamOrderPrice }}{{language['元']}}
+
+
+
+
+ {{ memberInfo.oneLevelOne.nickname }}(ID{{ memberInfo.oneLevelOne.uid }})
+ {{ memberInfo.oneLevelOne.agentLevel }}
+
+ 分销订单数
+ {{ memberInfo.oneLevelOne.allorder }}
+
+
+ 分销订单额
+ {{ memberInfo.oneLevelOne.allprice }}{{language['元']}}
+
+
+ 团队人数
+ {{ memberInfo.oneLevelOne.agentNum }}人
+
+
+ 团队分销订单额
+ {{ memberInfo.oneLevelOne.teamOrderPrice }}{{language['元']}}
+
+
+
+ {{ memberInfo.oneLevelTwo.nickname }}
+ (ID{{ memberInfo.oneLevelTwo.uid }})
+ {{ memberInfo.oneLevelTwo.agentLevel }}
+
+ 分销订单数
+ {{ memberInfo.oneLevelTwo.allorder }}
+
+
+ 分销订单额
+ {{ memberInfo.oneLevelTwo.allprice }}{{language['元']}}
+
+
+ 团队人数
+ {{ memberInfo.oneLevelTwo.agentNum }}人
+
+
+ 团队分销订单额
+ {{ memberInfo.oneLevelTwo.teamOrderPrice }}{{language['元']}}
+
+
+
+
+
+ {{ memberInfo.twoLevelOne.nickname }}
+ ID{{ memberInfo.twoLevelOne.uid }}
+ {{ memberInfo.twoLevelOne.agentLevel }}
+ 团队人数
+ {{ memberInfo.twoLevelOne.agentNum }}人
+
+
+ {{ memberInfo.twoLevelTwo.nickname }}
+ ID{{ memberInfo.twoLevelTwo.uid }}
+ {{ memberInfo.twoLevelTwo.agentLevel }}
+ 团队人数
+ {{ memberInfo.twoLevelTwo.agentNum }}人
+
+
+ {{ memberInfo.twoLevelThree.nickname }}
+ ID{{ memberInfo.twoLevelThree.uid }}
+ {{ memberInfo.twoLevelThree.agentLevel }}
+ 团队人数
+ {{ memberInfo.twoLevelThree.agentNum }}人
+
+
+ {{ memberInfo.twoLevelFour.nickname }}
+ ID{{ memberInfo.twoLevelFour.uid }}
+ {{ memberInfo.twoLevelFour.agentLevel }}
+ 团队人数
+ {{ memberInfo.twoLevelFour.agentNum }}人
+
+
+
+
+
diff --git a/packageA/member/DistributionOrders/DistributionOrders.wxss b/packageA/member/DistributionOrders/DistributionOrders.wxss
new file mode 100644
index 0000000..d63f39d
--- /dev/null
+++ b/packageA/member/DistributionOrders/DistributionOrders.wxss
@@ -0,0 +1,205 @@
+/* pages/member/distribution_orders/distribution_orders.wxss */
+.search {
+ overflow: hidden;
+ background: #fff;
+ border-bottom: 2rpx solid #f5f5f5;
+ display: flex;
+ width: 100%;
+ align-items: center;
+}
+
+.search .back {
+ width: 192rpx;
+ display: flex;
+ color: #666;
+}
+
+.search .back icon {
+ display: inline-block;
+ line-height: 54rpx;
+ font-size: 44rpx;
+}
+
+.search .up {
+ display: flex;
+ flex-direction: column;
+ margin-left: 16rpx;
+ align-items: center;
+}
+
+.search .up .span {
+ font-size: 24rpx;
+}
+
+.search .backcontent {
+ width: 180rpx;
+}
+
+.search {
+ overflow: hidden;
+ background: #fff;
+ border-bottom: 2rpx solid #f5f5f5;
+ width: 100%;
+ display: flex;
+ padding-bottom: 10rpx;
+}
+
+.search van-field {
+ flex: 1;
+}
+
+.search .searchBox {
+ position: relative;
+ font-size: 28rpx;
+ display: flex;
+ margin-left: 2%;
+ background: #f2f2f2 none;
+ border-radius: 30rpx;
+ width: 525rpx;
+ justify-content: space-between;
+ align-items: center;
+ padding-right: 20rpx;
+}
+
+.search .searchBox .van-cell {
+ padding: 0;
+ background-color: inherit;
+}
+
+.search .left {
+ margin-left: 60rpx;
+}
+
+.search .left_1 {
+ margin-left: 0;
+}
+
+.search .left_1 .searchBox {
+ width: 450rpx;
+}
+
+.search .right {
+ margin-left: 20rpx;
+ display: flex;
+ text-align: center;
+ align-items: center;
+}
+
+.search .searchBox input {
+ vertical-align: middle;
+ border: none;
+ box-sizing: border-box;
+ outline: 0;
+ padding: 6rpx 20rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+ flex: 1;
+}
+
+.search .searchBox .img-icon {
+ width: 60rpx;
+ height: 60rpx;
+ margin-left: 10rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.search .searchBox .img-icon .img-icon-btn {
+ width: 32rpx;
+ height: 32rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/search.png") no-repeat center center;
+ background-size: 80% 80%;
+}
+
+.search .search_bth {
+ font-size: 28rpx;
+}
+
+.content {
+ width: 95%;
+ margin: 32rpx auto;
+}
+
+.top {
+ height: 384rpx;
+ background-color: #fff;
+ border-radius: 8rpx;
+ border: solid 4rpx #eeb49a;
+ padding: 32rpx 0;
+}
+
+.middle,
+.down {
+ display: flex;
+ margin-top: 16rpx;
+}
+
+.second {
+ flex: 1;
+ width: 50%;
+ min-height: 352rpx;
+ background-color: #fff;
+ border-radius: 8rpx;
+ border: solid 4rpx #90c5ed;
+ padding: 32rpx 0;
+}
+
+.second:last-child {
+ margin-left: 16rpx;
+}
+
+.second:first-child {
+ margin-left: 0;
+}
+
+.four {
+ text-align: center;
+ flex: 1;
+ min-height: 256rpx;
+ background-color: #fff;
+ border-radius: 6rpx;
+ border: solid 4rpx #a596d3;
+ margin-right: 9rpx;
+ font-size: 12px;
+ padding: 32rpx 0;
+}
+
+.four:last-child {
+ margin-right: 0;
+}
+
+.four:first-child {
+ margin-left: 0;
+}
+
+.flex-box {
+ display: flex;
+ padding: 9rpx 16rpx;
+}
+
+.flex-box .span {
+ flex: 1;
+}
+
+.flex-box .span:first-child {
+ flex: 2;
+ color: #8c8c8c;
+ text-align: left;
+}
+
+.flex-box .span:last-child {
+ text-align: right;
+}
+
+.title {
+ line-height: 48rpx;
+ text-align: center;
+}
+
+.gray {
+ margin-top: 16rpx;
+ color: #8c8c8c;
+}
diff --git a/packageA/member/SupplierCenter/SupplierCenter.js b/packageA/member/SupplierCenter/SupplierCenter.js
new file mode 100644
index 0000000..32d8015
--- /dev/null
+++ b/packageA/member/SupplierCenter/SupplierCenter.js
@@ -0,0 +1,180 @@
+// pages/member/SupplierCenter/SupplierCenter.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ mainInfo: '',
+ cost_money: '',
+ money_total: '',
+ order_amount: '',
+ order_count: '',
+ supplier_id: '',
+ mid: '',
+ insuclShow:false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.uid) {
+ this.setData({
+ mid: options.uid
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this._initData();
+ this._getSupplierInfo();
+ this.isShowdetail();
+ },
+ isShowdetail(){
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.index.policyControl");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1) {
+ if(res.data == 1){
+ that.setData({
+ insuclShow:true
+ });
+ }else if(res.data == 0){
+ that.setData({
+ insuclShow:false
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {},
+ onChange(event) {
+ this.setData({
+ activeNames: event.detail
+ });
+ },
+ _getSupplierInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.supplier.frontend.index.index');
+ let json = {
+ member_id: this.data.mid
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ supplier_id: res.data.data.supplier_id,
+ cost_money: res.data.data.cost_money,
+ money_total: res.data.data.money_total,
+ order_amount: res.data.data.order_amount,
+ order_count: res.data.data.order_count,
+ mainInfo: res.data.data.member_model,
+ supplierSet:res.data.data.set
+ });
+ }
+ },
+ fail: function(res) {
+ wx.showToast({
+ icon: 'none',
+ title: res,
+ duration: 1500
+ });
+ }
+ });
+ },
+ goToInfo(e) {
+ let res = e.currentTarget.dataset.num;
+ if (res === '1') {
+ wx.navigateTo({
+ url: '/packageA/member/supplier/SupInfoManage/SupInfoManage?member_id=' + this.data.mid
+ });
+ } else if (res === '2') {
+ wx.navigateTo({
+ url: '/packageA/member/supplier/CommodityManagement/CommodityManagement?store_id=' + this.data.supplier_id +
+ '&store=supplier'
+ });
+ } else if (res === '3') {
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2?status=0&orderType=supplier'
+ });
+ } else if (res === '4') {
+ wx.navigateTo({
+ url: '/packageA/member/presentationRecord_v2/presentationRecord_v2?orderType=supplier&member_id=' + this.data.mid
+ });
+ } else if (res === '5') {
+ wx.navigateTo({
+ url: '/packageA/member/balance/supplier_withdrawals/supplier_withdrawals?supplier=supplier&member_id=' + this.data
+ .mid
+ });
+ }else if (res === '6') {
+ wx.navigateTo({
+ url: '/packageD/warranty/warrantyind/warrantyind'
+ });
+ }
+ },
+ _initData() {
+ this.setData({
+ mainInfo: '',
+ cost_money: '',
+ money_total: '',
+ order_amount: '',
+ order_count: '',
+ supplier_id: ''
+ });
+ }
+});
diff --git a/packageA/member/SupplierCenter/SupplierCenter.json b/packageA/member/SupplierCenter/SupplierCenter.json
new file mode 100644
index 0000000..dcf73ed
--- /dev/null
+++ b/packageA/member/SupplierCenter/SupplierCenter.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "供应商管理",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageA/member/SupplierCenter/SupplierCenter.wxml b/packageA/member/SupplierCenter/SupplierCenter.wxml
new file mode 100644
index 0000000..015e77f
--- /dev/null
+++ b/packageA/member/SupplierCenter/SupplierCenter.wxml
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{order_count}}
+
+
+ 今日订单(笔)
+
+
+
+
+ {{order_amount}}
+
+
+ 今日销售({{language['元']}})
+
+
+
+
+ {{money_total}}
+
+
+ 累计收入({{language['元']}})
+
+
+
+
+
+
+
+
+
+ 可提现金额
+
+ {{language['money']}}
+ {{cost_money}}
+
+
+ 提现
+
+
+
+ 我的店铺
+
+
+
+
+
+
+
+ 信息管理
+
+
+
+
+
+
+
+ 商品管理
+
+
+
+
+
+
+
+ 订单管理
+
+
+
+
+
+
+
+ 提现记录
+
+
+
+
+
+
+
+ 保单管理
+
+
+
+
+
diff --git a/packageA/member/SupplierCenter/SupplierCenter.wxss b/packageA/member/SupplierCenter/SupplierCenter.wxss
new file mode 100644
index 0000000..12dc662
--- /dev/null
+++ b/packageA/member/SupplierCenter/SupplierCenter.wxss
@@ -0,0 +1,150 @@
+/* pages/member/SupplierCenter/SupplierCenter.wxss */
+.supplier-center {
+ text-align: center;
+}
+
+.supplier-center .user {
+ color: #fff;
+ position: fixed;
+ top: 0;
+ width: 100%;
+}
+
+.supplier-center .bgColor {
+ background-color: #f15353;
+}
+
+.supplier-center .user .user-header {
+ padding: 28rpx;
+}
+
+.supplier-center .user .user-header .img {
+ margin-right: 20rpx;
+ width: 104rpx;
+ height: 104rpx;
+ border: solid 4rpx #fff;
+ overflow: hidden;
+ border-radius: 50%;
+ margin: 0 auto;
+}
+
+.supplier-center .user .user-header .img image {
+ width: 100%;
+}
+
+.supplier-center .user .user-header .span {
+ font-size: 28rpx;
+ display: block;
+ line-height: 72rpx;
+}
+
+.supplier-center .user .user-info {
+ background: rgba(255, 255, 255, 0.2);
+ display: flex;
+}
+
+.supplier-center .user .user-info .ul {
+ margin: 20rpx 0;
+ width: 33.3%;
+ line-height: 48rpx;
+}
+
+.supplier-center .user .user-info .ul .b {
+ font-size: 36rpx;
+}
+
+.supplier-center .user .user-info .ul:last-child {
+ border-right: none;
+}
+
+.supplier-center .withdraw {
+ background: #fff;
+ display: flex;
+ padding: 28rpx;
+ font-size: 28rpx;
+ position: relative;
+}
+
+.supplier-center .withdraw .ul {
+ text-align: left;
+ line-height: 48rpx;
+}
+
+.supplier-center .withdraw .ul .li:last-child {
+ color: #f15353;
+}
+
+.supplier-center .withdraw .ul .i {
+ font-size: 36rpx;
+}
+
+.supplier-center .withdraw .span {
+ display: block;
+ position: absolute;
+ height: 72rpx;
+ line-height: 72rpx;
+ padding: 0 32rpx;
+ right: 28rpx;
+ top: 48rpx;
+ background: #f15353;
+ color: #fff;
+ border-radius: 6rpx;
+}
+
+.supplier-center .store-box {
+ margin-top: 20rpx;
+ background: #fff;
+ height: 720rpx;
+}
+
+.supplier-center .store-box .my-store {
+ height: 80rpx;
+ line-height: 80rpx;
+ font-size: 28rpx;
+ padding: 0 28rpx;
+ display: flex;
+ justify-content: space-between;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.supplier-center .store-box .manage-list {
+ margin-top: 32rpx;
+ margin-bottom: 32rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.supplier-center .store-box .manage-list .ul {
+ margin-bottom: 20rpx;
+ width: 33.3%;
+}
+
+.supplier-center .store-box .manage-list .ul .img {
+ width: 72rpx;
+ height: 72rpx;
+ margin: 0 auto;
+ overflow: hidden;
+}
+
+.supplier-center .store-box .manage-list .ul .img image {
+ width: 100%;
+}
+
+.supplier-center .store-box .manage-list .ul .li {
+ line-height: 48rpx;
+}
+
+.swipBox {
+ width: 100%;
+ height: 346rpx;
+}
+
+.swipBox swiper {
+ width: 100%;
+ height: 100%;
+}
+
+.swipBox swiper image {
+ width: 100%;
+ height: 100%;
+}
diff --git a/packageA/member/article/ArticleList/ArticleList.js b/packageA/member/article/ArticleList/ArticleList.js
new file mode 100644
index 0000000..942d530
--- /dev/null
+++ b/packageA/member/article/ArticleList/ArticleList.js
@@ -0,0 +1,148 @@
+// pages/ArticleList/ArticleList.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ article_data: [],
+ title: "",
+ page_id: '',
+ aid: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.id) {
+ this.setData({
+ page_id: options.id
+ });
+ } else {
+ this.setData({
+ page_id: ''
+ });
+ let that = this;
+ wx.getStorage({
+ key: 'headline',
+ success: function (res) {
+ // success
+ that.setData({
+ article_data: res.data
+ });
+ }
+ });
+
+ wx.setNavigationBarTitle({
+ title: '头条列表'
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.tempInfo();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ onShareTimeline:function(){},
+ toNoticeInfo(e) {
+ let item = e.currentTarget.dataset.item;
+ console.log(item);
+ if (item.has_one_article_pay) {
+ if (item.has_one_record) {
+ wx.navigateTo({
+ url: `/packageA/member/article/articleContent/articleContent?article_id=${item.articleid ? item.articleid : item.id}`
+ });
+ } else {
+ wx.navigateTo({
+ url: `/packageD/article/articleList/articleList?article_id=${item.articleid ? item.articleid : item.id}`
+ });
+ }
+ } else {
+ wx.navigateTo({
+ url: `/packageA/member/article/articleContent/articleContent?article_id=${item.articleid ? item.articleid : item.id}`
+ });
+ }
+ },
+ tempInfo() {
+ var that = this;
+ if (!this.data.page_id) {
+ return;
+ }
+ var urlStr = app.getNetAddresss("home-page.wxapp");
+ urlStr += '&page_id=' + this.data.page_id;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let obj = res.data.item.data;
+ obj.forEach(e => {
+ if (e.temp == "headline" && e.id == that.data.aid) {
+ console.log(e, that.data.aid);
+
+ that.setData({
+ article_data: e.data,
+ title: e.params.toptitle
+ });
+ }
+ });
+ if (that.data.title) {
+ wx.setNavigationBarTitle({
+ title: that.data.title
+ });
+ }
+ }
+ },
+ fail: function (res) {
+
+ }
+ });
+ }
+});
diff --git a/packageA/member/article/ArticleList/ArticleList.json b/packageA/member/article/ArticleList/ArticleList.json
new file mode 100644
index 0000000..fd885d6
--- /dev/null
+++ b/packageA/member/article/ArticleList/ArticleList.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "文章列表",
+ "usingComponents": {}
+}
diff --git a/packageA/member/article/ArticleList/ArticleList.wxml b/packageA/member/article/ArticleList/ArticleList.wxml
new file mode 100644
index 0000000..57ce5e3
--- /dev/null
+++ b/packageA/member/article/ArticleList/ArticleList.wxml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ 付费{{ item.title }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/article/ArticleList/ArticleList.wxss b/packageA/member/article/ArticleList/ArticleList.wxss
new file mode 100644
index 0000000..6580361
--- /dev/null
+++ b/packageA/member/article/ArticleList/ArticleList.wxss
@@ -0,0 +1,60 @@
+/* pages/ArticleList/ArticleList.wxss */
+.art-list {
+ padding-top: 80rpx;
+ background-color: #fff;
+}
+
+.art-list .art-box {
+ text-align: left;
+ padding-left: 28rpx;
+}
+
+.art-list .art-box .box {
+ border-bottom: solid 2rpx #ebebeb;
+ padding-right: 28rpx;
+ display: flex;
+ padding: 20rpx 0;
+}
+
+.art-list .art-box .box .ul {
+ margin-left: 28rpx;
+ width: 426rpx;
+ font-size: 32rpx;
+ text-align: left;
+ position: relative;
+}
+
+.art-list .art-box .box .ul .li {
+ line-height: 48rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+}
+
+.art-list .art-box .box .img {
+ width: 240rpx;
+ height: 168rpx;
+ background-color: #ccc;
+ margin-left: 24rpx;
+ margin-right: 24rpx;
+ overflow: hidden;
+}
+
+.art-list .art-box .box .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.pay-money {
+ width: 68rpx;
+ height: 36rpx;
+ border-radius: 10rpx;
+ border: solid 2rpx #ff2c29;
+ display: inline-block;
+ text-align: center;
+ line-height: 36rpx;
+ vertical-align: text-top;
+ font-size: 12px;
+ color: #ff2c29;
+}
diff --git a/packageA/member/article/articleContent/articleContent.js b/packageA/member/article/articleContent/articleContent.js
new file mode 100644
index 0000000..8df2ac5
--- /dev/null
+++ b/packageA/member/article/articleContent/articleContent.js
@@ -0,0 +1,722 @@
+// pages/member/article/articleContent/articleContent.js
+//var WxParse = require('../../../../wxParse/wxParse');
+var app = getApp();
+
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ article_id: "",
+ articleData: {},
+ is_liked: 0,
+ like_num: "",
+ read_num: "",
+ article_content: "",
+
+ codeUrl: "",
+ // 评论功能
+ replyName: "",
+ commentPage: 1,
+ commentList: [],
+ last_page: 1,
+ commenMember: [],
+ keyInd: 0,
+ comment_id: 0,
+ // commentOn: false,
+ comment: false,
+ commentNum: 0,
+ imgList: [],
+ maincomment: "",
+ replyContent: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.mid) {
+ app._setMid(options.mid);
+ }
+ this.setData({
+ article_id: options.article_id,
+ });
+ this._getData();
+ // this._getQrCode();
+ },
+
+ _getData: function (success) {
+ var that = this;
+ // 初次获取数据
+ let urlStr = app.getNetAddresss("plugin.article.api.article.get-article");
+ urlStr += "&article_id=" + that.data.article_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (res) {
+ if (res.data.result == 1) {
+ let _data = res.data.data;
+ _data.content = _data.content.replace(/
{
+ wx.navigateTo({
+ url: '/packageD/article/articleList/articleList?article_id=' + that.data.article_id
+ });
+ }, 500);
+ }
+ });
+ return;
+ }
+ }
+ that.setData({
+ articleData: _data,
+ article_content: _data.content,
+ is_liked: _data.liked,
+ like_num: _data.like_num + _data.virtual_like_num,
+ read_num: _data.read_num + _data.virtual_read_num,
+ miQrCodeUrl: _data.miQrCodeUrl,
+ qr: _data.qr,
+ });
+ if (_data.comment) {
+ // 文章评论功能有开启才请求
+ that.setData({
+ comment: _data.comment
+ });
+ that.getComment();
+ }
+ // 设置页面标题
+ wx.setNavigationBarTitle({
+ title: _data.title,
+ });
+ if (success != undefined) {
+ success(res);
+ }
+ } else {
+ if (res.data.msg == "您尚未购买该文章内容,无法观看") {
+ wx.showToast({
+ title: res.data.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.redirectTo({
+ url: "/packageD/article/articleList/articleList?article_id=" + that.data.article_id,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ console.error(res);
+ },
+ });
+ },
+
+ _getQrCode: function (success) {
+ var that = this;
+ // 获取二维码
+ app._getNetWork({
+ url: app.getNetAddresss("member.member.getArticleQr"),
+ success: function (res) {
+ if (res.data.result == 1) {
+ let _data = res.data.data;
+ that.setData({
+ codeUrl: _data,
+ });
+ if (success != undefined) {
+ success(res);
+ }
+ } else {
+ console.error(res);
+ }
+ },
+ fail: function (res) {
+ console.error(res);
+ },
+ });
+ },
+ _toLike: function (success) {
+ var that = this;
+ // 点赞
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.article.api.article.like"),
+ data: {
+ article_id: that.data.article_id,
+ },
+ success: function (res) {
+ if (res.data.result == 1) {
+ let _data = res.data.data;
+ if (_data.liked == 1) {
+ that.setData({
+ is_liked: true,
+ like_num: that.data.like_num + 1,
+ });
+ wx.showToast({
+ title: "点赞成功",
+ });
+ } else {
+ that.setData({
+ is_liked: false,
+ like_num: that.data.like_num - 1,
+ });
+ if (that.data.like_num < 0) {
+ that.setData({
+ like_num: 0,
+ });
+ }
+ wx.showToast({
+ title: "取消点赞",
+ icon: "none",
+ });
+ }
+
+ success && success(res);
+ } else {
+ console.error(res);
+ }
+ },
+ fail: function (res) {
+ console.error(res);
+ },
+ });
+ },
+
+ clickLike: function () {
+ this._toLike();
+ },
+
+ toAdv: function () {
+ console.log("跳转到广告");
+ if (!app._isTextEmpty(this.data.articleData) && app._isTextEmpty(this.data.articleData.min_app_advs_link)) {
+ return;
+ }
+ wx.navigateTo({
+ url: this.data.articleData.min_app_advs_link,
+ });
+ },
+
+ toLink: function (e) {
+ let url = e.currentTarget.dataset.link;
+ wx.navigateTo({
+ url: url,
+ });
+ },
+
+ toReport: function () {
+ wx.navigateTo({
+ url: "/packageA/member/article/noticeReport/noticeReport?article_id=" + this.data.article_id,
+ });
+ },
+
+ previewImage: function (e) {
+ var current = e.target.dataset.src; //这里获取到的是一张本地的图片
+ wx.previewImage({
+ current: current, //需要预览的图片链接列表
+ urls: [current], //当前显示图片的链接
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ wx.showShareMenu({
+ withShareTicket: false,
+ menus: ["shareAppMessage", "shareTimeline"],
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline() {
+ var value = wx.getStorageSync("yz_uid");
+ var mid = "";
+ if (value) {
+ mid = value;
+ }
+ return {
+ title: this.data.articleData.desc,
+ query: `mid=${mid}&article_id=${this.data.article_id}`,
+ imageUrl: this.data.articleData.thumb ? this.data.articleData.thumb : "",
+ };
+ },
+ onShareAppMessage: function () {
+ var value = wx.getStorageSync("yz_uid");
+ var mid = "";
+ if (value) {
+ mid = value;
+ }
+ return {
+ path: "/packageA/member/article/articleContent/articleContent?article_id=" + this.data.article_id + "&mid=" + mid,
+ title: this.data.articleData.desc,
+ imageUrl: this.data.articleData.thumb ? this.data.articleData.thumb : "",
+ };
+ },
+ // ============================== 文章评论二开 ===============================
+ // commentOpen(){
+ // this.setData({
+ // commentOn:!this.data.commentOn
+ // });
+ // },
+ // 上传图片
+ uploaderFun(e) {
+ wx.showLoading({
+ title: "加载中",
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("upload.uploadPic");
+ wx.chooseImage({
+ count: 1,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: "file",
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ wx.hideLoading();
+ if (res.result == 1) {
+ let imgList = that.data.imgList;
+ imgList.push(res.data.img_url);
+ that.setData({
+ imgList,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ fail: function (res) {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ }
+ });
+ },
+ delCommentIMg(e) {
+ let val = e.target.dataset.index;
+ this.data.imgList.splice(val, 1);
+ this.setData({
+ imgList: this.data.imgList,
+ });
+ },
+ getComment() {
+ let that = this;
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.article.api.comment.comment-list"),
+ data: {
+ page: this.data.commentPage,
+ article_id: this.data.article_id,
+ },
+ success: function (res) {
+ if (res.data.result == 1) {
+ let list = res.data.data.list.data;
+ for (let i = 0; i < list.length; i++) {
+ if (list[i].reply_num > 0) {
+ list[i].commentShow = true;
+ } else {
+ list[i].commentShow = false;
+ }
+ list[i].commenMorePage = 1;
+ list[i].child = [];
+ }
+ that.setData({
+ last_page: res.data.data.list.last_page,
+ commenMember: res.data.data.member,
+ commentList: res.data.data.list.data,
+ commentNum: res.data.data.num
+ });
+ } else {
+ console.error(res);
+ }
+ },
+ fail: function (res) {
+ console.error(res);
+ },
+ });
+ },
+ watchImg(e) {
+ // 评论图片预览
+ let item = e.currentTarget.dataset.item;
+ wx.previewImage({
+ current: item[0], // 当前显示图片的http链接
+ urls: item // 需要预览的图片http链接列表
+ });
+ },
+ getMore() {
+ let that = this;
+ this.setData({
+ commentPage: this.data.commentPage + 1,
+ });
+ wx.showLoading({
+ title: '加载中',
+ duration: 1000,
+ icon: 'none'
+ });
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.article.api.comment.comment-list"),
+ data: {
+ page: this.data.commentPage,
+ article_id: this.data.article_id,
+ },
+ success: function (res) {
+ if (res.data.result == 1) {
+ let dataMore = res.data.data.list.data;
+ for (let i = 0; i < dataMore.length; i++) {
+ if (dataMore[i].reply_num > 0) {
+ dataMore[i].commentShow = true;
+ } else {
+ dataMore[i].commentShow = false;
+ }
+ dataMore[i].commenMorePage = 1;
+ dataMore[i].child = [];
+ }
+ that.setData({
+ commentList: that.data.commentList.concat(dataMore),
+ last_page: res.data.data.list.last_page,
+ });
+ } else {
+ console.error(res);
+ }
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ },
+ fail: function (res) {
+ console.error(res);
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ },
+ });
+ },
+ // 评论功能
+ subMainCommentBtn() {
+ this.setData({
+ maincomment: "",
+ mainCommentShow: true,
+ });
+ },
+ // 遮罩关闭
+ mainCommentShowClose() {
+ this.setData({
+ mainCommentShow: false,
+ });
+ },
+ replyshowClose() {
+ this.setData({
+ replyshow: false,
+ });
+ },
+ // 输入框事件 主评论文字
+ maincommentinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ maincomment: val,
+ });
+ },
+ replyContentinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ replyContent: val,
+ });
+ },
+ // 回复
+ replyBtn(e) {
+ let item = e.currentTarget.dataset.item;
+ let name = item.nick_name;
+ this.setData({
+ keyInd: e.currentTarget.dataset.kind,
+ replyshow: true,
+ replyId: item.id,
+ comment_id: item.comment_id == 0 ? item.comment_id : item.id,
+ replyName: name,
+ commentManagement: false,
+ });
+ },
+ // 发送按钮
+ subMainBtn(e) {
+ let type = e.currentTarget.dataset.type;
+ this.getReplyComments(type);
+ },
+ // 发送请求
+ getReplyComments(type) {
+ let that = this;
+ let urlStr;
+ let dataJson = {
+ images: that.data.imgList,
+ content: "",
+ };
+ console.log(type);
+ if (type == "main") {
+ if (app._isTextEmpty(this.data.maincomment)) {
+ wx.showToast({
+ title: "请输入评论内容",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ urlStr = "plugin.article.api.comment.create-comment";
+ dataJson.article_id = that.data.article_id;
+ dataJson.content = that.data.maincomment;
+ } else if (type == "reply") {
+ if (app._isTextEmpty(this.data.replyContent)) {
+ wx.showToast({
+ title: "请输入评论内容",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ urlStr = "plugin.article.api.comment.reply-comment";
+ dataJson.content = that.data.replyContent;
+ dataJson.comment_id = that.data.replyId;
+ }
+ wx.showLoading({
+ title: '加载中',
+ duration: 1000,
+ icon: 'none'
+ });
+ app._getNetWork({
+ url: app.getNetAddresss(urlStr),
+ data: dataJson,
+ success: function (res) {
+ if (res.data.result == 1) {
+ if (type == "main") {
+ that.setData({
+ commentPage: 1,
+ mainCommentShow: false,
+ replyshow: false,
+ maincomment: ''
+ });
+ that.getComment();
+ } else if (type == 'reply') {
+ that.updateInfo(res.data.data, that.data.keyInd);
+ }
+ } else {
+ console.error(res);
+ }
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ },
+ fail: function (res) {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ console.error(res);
+ },
+ });
+ },
+ // 回复后更新数据
+ updateInfo(data, ind) {
+ console.log(data, ind);
+ let arr = [];
+ arr.push(data);
+ if (this.data.commentList[ind].child) {
+ this.data.commentList[ind].child.unshift(arr[0]);
+ } else {
+ this.data.commentList[ind].child = arr;
+ }
+ this.setData({
+ commentList: this.data.commentList,
+ mainCommentShow: false,
+ replyshow: false,
+ replyContent: ''
+ });
+ },
+ // 加载子评论
+ moreCommentLis(e) {
+ console.log(e);
+ wx.showLoading({
+ title: '加载中',
+ icon: 'none',
+ duration: 1000
+ });
+ let that = this;
+ let id = e.currentTarget.dataset.item.id;
+ let ind = e.currentTarget.dataset.ind;
+ let urlStr = "plugin.article.api.comment.get-replys";
+ console.log(this.data.commentList);
+ let is_page = Number(this.data.commentList[ind].commenMorePage);
+ let dataJson = {
+ page: is_page,
+ comment_id: id,
+ };
+ app._getNetWork({
+ url: app.getNetAddresss(urlStr),
+ data: dataJson,
+ success: function (res) {
+ if (res.data.result == 1) {
+ let resdata = res.data.data;
+ console.log(resdata);
+ let childs = resdata.data;
+ let num = that.data.commentList[ind].reply_num - resdata.data.length;
+ that.data.commentList[ind].reply_num = num;
+ let arr = that.data.commentList[ind].child.concat(childs);
+ that.data.commentList[ind].child = arr;
+ let moreLast_page = resdata.data.last_page;
+ if (is_page >= moreLast_page) {
+ is_page = 1;
+ } else {
+ is_page = is_page + 1;
+ }
+ that.data.commentList[ind].commenMorePage = is_page;
+ that.setData({
+ commentList: that.data.commentList,
+ });
+ } else {
+ console.error(res);
+ }
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ },
+ fail: function (res) {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ console.error(res);
+ },
+ });
+ },
+ // 删除评论
+ delComment(e) {
+ console.log(e);
+ let myUid;
+ try {
+ myUid = wx.getStorageSync('uid');
+ } catch (error) {
+ myUid = '';
+ }
+ let item = e.currentTarget.dataset.item;
+ let ind = e.currentTarget.dataset.ind;
+ let index;
+ try {
+ index = e.currentTarget.dataset.index;
+ } catch (error) {
+ index = null;
+ }
+ console.log(item, ind, index);
+ if (this.data.commentList[ind].child.length > 0) {
+ if (item.uid == myUid) {
+ console.log('子评论是我的,可以删');
+ this.delRequst(item.id, ind, index, 'child');
+ }
+ } else {
+ if (myUid == item.uid) {
+ console.log('主评论是我的,可以删');
+ this.delRequst(item.id, ind, index, 'list');
+ }
+ }
+
+ },
+ delRequst(id, ind, index, key) {
+ let that = this;
+
+ wx.showModal({
+ content: '是否删除评论',
+ success: function (res) {
+ if (res.confirm) {
+ console.log('删除');
+ wx.showLoading({
+ title: '加载中',
+ duration: 1000,
+ icon: 'none'
+ });
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.article.api.comment.del"),
+ data: {
+ comment_id: id,
+ },
+ success: function (res) {
+ if (res.data.result == 1) {
+ if (key == 'child') {
+ that.data.commentList[ind].child.splice(index, 1);
+ } else {
+ that.data.commentList.splice(ind, 1);
+ }
+ that.setData({
+ commentList: that.data.commentList
+ });
+ wx.showToast({
+ title: res.data.data,
+ icon: 'none',
+ duration: 1000
+ });
+ } else {
+ console.error(res);
+ }
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ },
+ fail: function (res) {
+ console.error(res);
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ },
+ });
+ }
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/article/articleContent/articleContent.json b/packageA/member/article/articleContent/articleContent.json
new file mode 100644
index 0000000..195450b
--- /dev/null
+++ b/packageA/member/article/articleContent/articleContent.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+ "mp-html": "/mycomponent/mp-html/index",
+ "van-popup":"../../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/article/articleContent/articleContent.wxml b/packageA/member/article/articleContent/articleContent.wxml
new file mode 100644
index 0000000..26347d7
--- /dev/null
+++ b/packageA/member/article/articleContent/articleContent.wxml
@@ -0,0 +1,174 @@
+
+
+
+ {{articleData.title}}
+
+
+ {{articleData.virtual_at}}
+
+
+ {{articleData.created_at}}
+
+ {{articleData.author}}
+
+
+
+
+
+
+
+
+ {{articleData.advs_title}}
+
+
+
+
+
+ {{articleData.advs_title_footer}}
+
+
+
+
+ 【二维码】
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 发送
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/member/article/articleContent/articleContent.wxss b/packageA/member/article/articleContent/articleContent.wxss
new file mode 100644
index 0000000..7b12c2e
--- /dev/null
+++ b/packageA/member/article/articleContent/articleContent.wxss
@@ -0,0 +1,474 @@
+/* pages/member/article/articleContent/articleContent.wxss */
+
+.text-padding {
+ padding: 0 20rpx 20rpx 0;
+}
+
+#article {
+ padding: 20rpx;
+ background: #fff;
+}
+
+.head-title {
+ text-align: left;
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.title {
+ font-size: 28rpx;
+ color: #666;
+ text-align: left;
+}
+
+.content {
+ width: 100%;
+ font-size: 32rpx;
+ text-align: left;
+ white-space: pre-wrap;
+ padding-top: 20rpx;
+ padding-bottom: 60rpx;
+}
+
+.content view {
+ max-width: 100%;
+}
+
+.article {
+ border: 4rpx solid #ebebeb;
+ padding: 10rpx;
+ margin-bottom: 40rpx;
+}
+
+.thumb {
+ width: 100%;
+}
+
+.info {
+ color: #8a8a8a;
+ padding: 0 10rpx;
+ text-align: left;
+ font-size: 14px;
+}
+
+.foot {
+ display: flex;
+ color: #8a8a8a;
+ font-size: 32rpx;
+}
+
+.read-content {
+ flex: 1;
+}
+
+.report {
+ /* flex: 1; */
+ min-width: 80rpx;
+ text-align: right;
+}
+
+.qrCode {
+ margin-top: 20rpx;
+ padding-bottom: 40rpx;
+}
+
+.qr {
+ height: 8rpx;
+ line-height: 80rpx;
+ font-size: 32rpx;
+ text-align: left;
+ padding: 0 28rpx;
+ font-weight: bold;
+}
+
+.code-content {
+ text-align: center;
+ color: #8c8c8c;
+}
+
+/* image {
+ width: 100% !important;
+} */
+
+.codeUrl {
+ width: 240rpx !important;
+ height: 240rpx;
+ overflow: hidden;
+ background: #f5f5f5;
+ margin: 20rpx auto;
+}
+
+/* 文章评论 */
+.commentInput-slot-style {
+ height: 48rpx;
+ line-height: 64rpx;
+ text-align: left;
+ padding-left: 28rpx;
+}
+
+.commentInput-slot-style .selcolor {
+ color: #1c96fe;
+}
+
+.commentMore {
+ font-size: 25.92rpx;
+ color: #4d88df;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.comment {
+ background-color: #fff;
+ padding-bottom: 62.08rpx;
+ width: 100%;
+ overflow: hidden;
+}
+
+.comment .replyInp {
+ height: 100.16rpx;
+ background-color: #fff;
+ padding-left: 30.08rpx;
+ padding-right: 40.96rpx;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ box-shadow: -0.32rpx 2.88rpx 29.12rpx 0rpx rgba(188, 188, 188, 0.57);
+}
+
+.comment .replyInp .userImg {
+ width: 70.08rpx;
+ height: 70.08rpx;
+ border-radius: 100%;
+}
+
+.comment .replyInp .userImg image {
+ width: 70.08rpx;
+ height: 70.08rpx;
+ border-radius: 100%;
+}
+
+.comment .replyInp .inpNav {
+ flex: 1;
+ height: 60.16rpx;
+ background: #f5f5f5;
+ border-radius: 30.08rpx;
+ padding-left: 31.04rpx;
+ margin-left: 21.12rpx;
+}
+
+.comment .replyInp .inpNav input {
+ width: 100%;
+ height: 100%;
+ outline: none;
+ border: none;
+}
+
+.comment .title {
+ font-size: 32rpx;
+ color: #202020;
+ text-align: left;
+ padding-top: 33.92rpx;
+ padding-left: 31.04rpx;
+ padding-bottom: 37.12rpx;
+ box-sizing: border-box;
+}
+
+.comment .commentList {
+ padding: 36.16rpx 30.08rpx;
+}
+
+.comment .commentList .firstComment .userTop {
+ display: flex;
+}
+
+.comment .commentList .firstComment .userTop .user {
+ flex: 1;
+ text-align: left;
+ height: 100%;
+}
+
+.comment .commentList .firstComment .userTop .user .userName {
+ font-size: 32rpx;
+ color: #2e2e2e;
+}
+
+.comment .commentList .firstComment .userTop .user .dateDay {
+ font-size: 20.16rpx;
+ color: #767676;
+}
+
+.comment .commentList .firstComment .userTop .user .contenBox {
+ margin-top: 28.16rpx;
+ width: 100%;
+}
+
+.comment .commentList .firstComment .userTop .user .contenBox .txt {
+ font-size: 30.08rpx;
+ color: #2e2e2e;
+ margin-bottom: 20.16rpx;
+}
+
+.comment .commentList .firstComment .userTop .user .contenBox .contenImg {
+ display: flex;
+ justify-content: flex-start;
+}
+
+.comment .commentList .firstComment .userTop .user .contenBox .contenImg image {
+ width: 96rpx;
+ height: 96rpx;
+ background-color: #c1c1c1;
+ border-radius: 4.16rpx;
+ margin: 0;
+}
+
+.comment .commentList .firstComment .userTop .image {
+ width: 80rpx;
+ height: 80rpx;
+ background-color: #b5b5b5;
+ border-radius: 50%;
+ margin-right: 20.16rpx;
+}
+
+.comment .commentList .firstComment .userTop .image image {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 50%;
+}
+
+.comment .commentList .firstComment .userTop .reply {
+ font-size: 28.16rpx;
+ line-height: 40.64rpx;
+ letter-spacing: 0.64rpx;
+ color: #f15353;
+}
+
+.comment .commentList .firstComment .commentLis {
+ margin-top: 30.08rpx;
+ margin-left: 37.12rpx;
+}
+
+.comment .commentList .firstComment .commentLis .userTop {
+ display: flex;
+}
+
+.comment .commentList .firstComment .commentLis .userTop .user {
+ flex: 1;
+ text-align: left;
+ height: 100%;
+}
+
+.comment .commentList .firstComment .commentLis .userTop .user .userName {
+ font-size: 28.16rpx;
+ color: #2e2e2e;
+}
+
+.comment .commentList .firstComment .commentLis .userTop .user .dateDay {
+ font-size: 20.16rpx;
+ color: #767676;
+}
+
+.comment .commentList .firstComment .commentLis .userTop .user .contenBox {
+ margin-top: 28.16rpx;
+ width: 100%;
+}
+
+.comment .commentList .firstComment .commentLis .userTop .user .contenBox .txt {
+ font-size: 28.16rpx;
+ color: #2e2e2e;
+ margin-bottom: 20.16rpx;
+ display: flex;
+}
+
+.comment .commentList .firstComment .commentLis .userTop .user .contenBox .contenImg {
+ display: flex;
+ justify-content: flex-start;
+}
+
+.comment .commentList .firstComment .commentLis .userTop .user .contenBox .contenImg image {
+ width: 96rpx;
+ height: 96rpx;
+ background-color: #c1c1c1;
+ border-radius: 4.16rpx;
+ margin: 0;
+}
+
+.comment .commentList .firstComment .commentLis .userTop .image {
+ width: 60.16rpx;
+ height: 60.16rpx;
+ background-color: #b5b5b5;
+ border-radius: 50%;
+ margin-right: 20.16rpx;
+}
+
+.comment .commentList .firstComment .commentLis .userTop .image image {
+ width: 60.16rpx;
+ height: 60.16rpx;
+ border-radius: 50%;
+}
+
+.comment .commentList .firstComment .commentLis .userTop .reply {
+ font-size: 22.08rpx;
+ line-height: 40.64rpx;
+ letter-spacing: 0.64rpx;
+ color: #f15353;
+}
+
+.replyMainComment {
+ display: flex;
+ align-items: center;
+ padding-top: 25.6rpx;
+
+ /* padding-bottom: 25.6rpx; */
+ padding-left: 32rpx;
+}
+
+.replyMainComment .left {
+ width: 580.16rpx;
+ background-color: #f5f5f5;
+ border-radius: 30.08rpx;
+}
+
+.replyMainComment .left textarea {
+ border: none;
+ width: 100%;
+ line-height: 18px;
+ padding: 0 28rpx;
+ margin: 18rpx 0;
+ text-align: left;
+ box-sizing: border-box;
+ font-size: 16px;
+}
+
+.replyMainComment .replyMainComment-img {
+ margin: 0 18rpx 18rpx;
+}
+
+.replyMainComment .replyMainComment-img .comment-img-child,
+.replyMainComment .replyMainComment-img .comment-img-child image {
+ width: 80rpx;
+}
+
+.replyMainComment .right {
+ width: 96rpx;
+ height: 60.16rpx;
+ font-size: 30.08rpx;
+ line-height: 60.16rpx;
+ color: #333;
+ text-align: center;
+}
+
+.replyMainComment .replyMainComment-img {
+ margin: 0 18rpx 18rpx;
+}
+
+.comment-img {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.comment-img-child .icon-guanbi {
+ position: absolute;
+ right: 0;
+ top: 0;
+ font-size: 10px;
+ display: flex;
+ height: 15px;
+ border-top-left-radius: 15px;
+ border-bottom-left-radius: 15px;
+ width: 15px;
+ color: #fff;
+ background-color: rgba(0, 0, 0, 1);
+ overflow: hidden;
+}
+
+.comment-img .comment-img-child {
+ margin-right: 16rpx;
+ margin-top: 16rpx;
+ background: #fbfbfb;
+ overflow: hidden;
+ position: relative;
+}
+
+.comment-img .comment-img-child image {
+ object-fit: contain;
+ width: 96rpx;
+ height: 96rpx;
+ margin: 0;
+ display: block;
+}
+
+.comment-img .comment-img-child .icon-guanbi {
+ position: absolute;
+ right: 0;
+ top: 0;
+ font-size: 10px;
+ display: flex;
+ height: 15px;
+ border-top-left-radius: 15px;
+ border-bottom-left-radius: 15px;
+ width: 15px;
+ color: #fff;
+ background-color: rgba(0, 0, 0, 1);
+ overflow: hidden;
+}
+
+/* 回复弹窗 */
+.replyComment {
+ padding: 32rpx 0 0 0;
+}
+
+.replyComment .top {
+ margin-bottom: 16rpx;
+}
+
+.replyComment .top .left {
+ font-size: 28.16rpx;
+ line-height: 36.16rpx;
+ color: #333;
+ text-align: left;
+ padding-left: 32rpx;
+}
+
+.replyComment .top .left .selcolor {
+ color: #1c96fe;
+}
+
+.replyComment .bottom {
+ height: 256rpx;
+ background-color: #f5f5f5;
+ border-radius: 30.08rpx;
+ position: relative;
+ padding: 16rpx;
+}
+
+.replyComment .bottom textarea {
+ height: 192rpx;
+ width: 100%;
+ overflow: auto;
+ background-color: #f5f5f5;
+ border: none;
+ text-align: left;
+}
+
+.replyComment .bottom .replysubmit {
+ position: absolute;
+ bottom: 16rpx;
+ right: 32rpx;
+ width: 81.92rpx;
+ height: 32rpx;
+ line-height: 32rpx;
+ font-size: 28.16rpx;
+}
+
+.firstComment {
+ margin-bottom: 20rpx;
+}
+
+.operate-boxs .operate-btn {
+ margin-left: 36rpx;
+}
+
+.operate-boxs .operate-btn icon {
+ font-size: 20px;
+}
diff --git a/packageA/member/article/noticeByCategory/noticeByCategory.js b/packageA/member/article/noticeByCategory/noticeByCategory.js
new file mode 100644
index 0000000..b28dd17
--- /dev/null
+++ b/packageA/member/article/noticeByCategory/noticeByCategory.js
@@ -0,0 +1,163 @@
+// pages/member/article/noticeByCategory/noticeByCategory.js
+var app = getApp();
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ category_id: '',
+ articleList: [],
+
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.setData({
+ category_id: options.category_id
+ });
+
+ this._getData();
+ },
+ _getData: function(success) {
+ var that = this;
+ // 初次获取数据
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.article.api.article.get-articles"),
+ data: {
+ category_id: that.data.category_id,
+ page: 1
+ },
+ success: function(res) {
+ if (res.data.result == 1) {
+ let _data = res.data.data;
+ that.setData({
+ total_page: _data.articles.last_page,
+ articleList: _data.articles.data
+ });
+ // 设置页面标题
+ wx.setNavigationBarTitle({
+ title: _data.title
+ });
+ if (success != undefined) {
+ success(res);
+ }
+ } else {
+ console.error(res);
+ }
+ },
+ fail: function(res) {
+ console.error(res);
+ }
+ });
+ },
+
+ _getMoreData() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.article.api.article.get-articles") + '&category_id=' + this.data.category_id;
+ if (this.data.page >= this.data.total_page) {
+ that.setData({
+ isLoadMore: false
+ });
+ return;
+ } else {
+ that.setData({
+ page: this.data.page + 1
+ });
+ urlStr += "&page=" + that.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(res) {
+ if (res.data.result == 1) {
+ let _data = res.data.data;
+ that.setData({
+ isLoadMore: true,
+ articleList: that.data.articleList.concat(_data.articles.data)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ return;
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+
+ toArticle: function(e) {
+ let itemid = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/member/article/articleContent/articleContent?article_id=' + itemid
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+ this.setData({
+ isLoadMore: true,
+ page: 1,
+ total_page: 0
+ });
+ this._getData();
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ onShareTimeline:function(){},
+});
\ No newline at end of file
diff --git a/packageA/member/article/noticeByCategory/noticeByCategory.json b/packageA/member/article/noticeByCategory/noticeByCategory.json
new file mode 100644
index 0000000..7360326
--- /dev/null
+++ b/packageA/member/article/noticeByCategory/noticeByCategory.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {},
+ "enablePullDownRefresh": true
+}
\ No newline at end of file
diff --git a/packageA/member/article/noticeByCategory/noticeByCategory.wxml b/packageA/member/article/noticeByCategory/noticeByCategory.wxml
new file mode 100644
index 0000000..9ea9abf
--- /dev/null
+++ b/packageA/member/article/noticeByCategory/noticeByCategory.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ {{item.title}}
+
+ {{item.virtual_at}}
+ {{item.updated_at}}
+
+
+
+
+
+
+ {{ item.desc }}
+
+
+
+
+
diff --git a/packageA/member/article/noticeByCategory/noticeByCategory.wxss b/packageA/member/article/noticeByCategory/noticeByCategory.wxss
new file mode 100644
index 0000000..82da476
--- /dev/null
+++ b/packageA/member/article/noticeByCategory/noticeByCategory.wxss
@@ -0,0 +1,32 @@
+/* pages/member/article/noticeByCategory/noticeByCategory.wxss */
+text {
+ margin: 0 20rpx;
+}
+
+.article {
+ border: 4rpx solid #ebebeb;
+ padding: 10rpx;
+}
+
+.head-title {
+ font-size: 34rpx;
+}
+
+.thumb {
+ width: 100%;
+}
+
+.title {
+ display: flex;
+ padding: 10rpx 0;
+ font-size: 28rpx;
+}
+
+.time {
+ flex: 1;
+ color: #8a8a8a;
+}
+
+.info {
+ color: #8a8a8a;
+}
diff --git a/packageA/member/article/noticeReport/noticeReport.js b/packageA/member/article/noticeReport/noticeReport.js
new file mode 100644
index 0000000..eb207eb
--- /dev/null
+++ b/packageA/member/article/noticeReport/noticeReport.js
@@ -0,0 +1,100 @@
+// pages/member/article/noticeReport/noticeReport.js
+var app = getApp();
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ article_id: '',
+ report_desc: '',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.setData({
+ article_id: options.article_id
+ });
+ },
+ bindTextAreaBlur(e) {
+ this.setData({
+ report_desc: e.detail.value
+ });
+ },
+ bindButtonTap: function() {
+ this._report();
+ },
+ _report: function(success) {
+ var that = this;
+ // 举报
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.article.api.article.report"),
+ data: {
+ article_id: that.data.article_id,
+ desc: this.data.report_desc
+ },
+ success: function(res) {
+ if (res.data.result == 1) {
+ // let _data = res.data.data;
+ success && success(res);
+ } else {
+ console.error(res);
+ }
+ },
+ fail: function(res) {
+ console.error(res);
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/article/noticeReport/noticeReport.json b/packageA/member/article/noticeReport/noticeReport.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageA/member/article/noticeReport/noticeReport.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/article/noticeReport/noticeReport.wxml b/packageA/member/article/noticeReport/noticeReport.wxml
new file mode 100644
index 0000000..24a26dd
--- /dev/null
+++ b/packageA/member/article/noticeReport/noticeReport.wxml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/article/noticeReport/noticeReport.wxss b/packageA/member/article/noticeReport/noticeReport.wxss
new file mode 100644
index 0000000..e5cfed7
--- /dev/null
+++ b/packageA/member/article/noticeReport/noticeReport.wxss
@@ -0,0 +1,11 @@
+/* pages/member/article/noticeReport/noticeReport.wxss */
+
+.report {
+ width: 96%;
+ margin: 0 auto;
+}
+
+.btn-area {
+ width: 96%;
+ margin: 0 auto;
+}
diff --git a/packageA/member/balance/balance/balance.js b/packageA/member/balance/balance/balance.js
new file mode 100644
index 0000000..fff0c58
--- /dev/null
+++ b/packageA/member/balance/balance/balance.js
@@ -0,0 +1,216 @@
+// pages/balance/balance.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ mailLanguage: {},
+ language: '',
+ balance: 0,
+ //是否开启充值
+ recharge: 0,
+ transfer: 0,
+ withdraw: 0,
+ //充值是否开放微信充值
+ recharge_wx: 0,
+ //充值是否开放支付宝充值
+ recharge_alipay: 0,
+ //提现到微信1-开 0-关
+ withdrawToWechat: 0,
+ withdrawToAlipay: 0,
+ //余额
+ member_credit2: 0.00,
+ balanceLang: '余额',
+ ios_virtual_pay: false,
+ dataInfo: {} //保存信息
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getBalance();
+ try {
+ var mailLanguage = JSON.parse(wx.getStorageSync('mailLanguage'));
+ if (mailLanguage) {
+ this.setData({
+ mailLanguage: mailLanguage
+ });
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ try {
+ let value = wx.getStorageSync('ios_virtual_pay');
+ if (value) {
+ this.setData({
+ ios_virtual_pay: value
+ });
+ }
+ } catch (e) { console.log(e); }
+ try {
+ let value = wx.getStorageSync('yz_basic_info');
+ if (value) {
+ value = value.balance || "余额";
+ this.setData({
+ balanceLang: value
+ });
+ wx.setNavigationBarTitle({
+ title: value
+ });
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getBalance() {
+ let that = this;
+ let urlStr = app.getNetAddresss("finance.balance.balance");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ dataInfo: res.data,
+ member_credit2: res.data.credit2,
+ transfer: res.data.transfer,
+ recharge: res.data.recharge,
+ withdraw: res.data.withdraw,
+ withdrawToWechat: res.data.withdrawToWechat,
+ withdrawToAlipay: res.data.withdrawToAlipay
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ godetailed() {
+ wx.navigateTo({
+ url: '/packageA/member/balance/detailed/detailed'
+ });
+ },
+ //充值的响应方法
+ chargeHandel() {
+ if (this.data.ios_virtual_pay) {
+ wx.showModal({
+ title: '提示',
+ content: '十分抱歉,由于相关规定,你暂时无法在这里充值!',
+ confirmText: '知道了',
+ showCancel: false,
+ success(res) {
+ if (res.confirm) { console.log(res);}
+ }
+ });
+ return false;
+ }
+
+ if (this.data.recharge == 1) {
+ wx.navigateTo({
+ url: '/packageA/member/balance/balance_recharge/balance_recharge'
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '您的充值功能未开启',
+ duration: 1500
+ });
+ }
+ },
+ //转账的响应方法
+ transferHandel() {
+ if (this.data.transfer == 1) {
+ wx.navigateTo({
+ url: '/packageA/member/balance/balance_transfer/balance_transfer?balance=' + this.data.member_credit2
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '您的转账功能未开启',
+ duration: 1500
+ });
+ }
+ },
+ //提现的响应方法
+ withdrawHandel() {
+ if (this.data.withdraw == 1) {
+ wx.navigateTo({
+ url: '/packageA/member/balance/balance_withdrawals/balance_withdrawals'
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '您的提现功能未开启',
+ duration: 1500
+ });
+ }
+ },
+ //转化爱心值
+ transformingLoveV() {
+ wx.navigateTo({
+ url: '/packageA/member/balance/transformLoveV/transformLoveV'
+ });
+ },
+});
diff --git a/packageA/member/balance/balance/balance.json b/packageA/member/balance/balance/balance.json
new file mode 100644
index 0000000..c3a097c
--- /dev/null
+++ b/packageA/member/balance/balance/balance.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "余额",
+ "usingComponents": {
+ "van-icon": "../../../../dist/icon/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index"
+ }
+}
diff --git a/packageA/member/balance/balance/balance.wxml b/packageA/member/balance/balance/balance.wxml
new file mode 100644
index 0000000..83acaa0
--- /dev/null
+++ b/packageA/member/balance/balance/balance.wxml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+ 我的{{ balanceLang }}
+
+ {{language['money']}}{{ member_credit2 }}
+
+
+
+
+
+ 充值
+
+
+
+
+
+
+
+
+ 转账
+
+
+
+
+
+
+
+
+ {{mailLanguage.income&&mailLanguage.income.name_of_withdrawal?mailLanguage.income.name_of_withdrawal:'提现'}}
+
+
+
+
+
+
+
+
+ 转化{{dataInfo.love_name}}
+
+
+
+
+
+
+
+
diff --git a/packageA/member/balance/balance/balance.wxss b/packageA/member/balance/balance/balance.wxss
new file mode 100644
index 0000000..5216f67
--- /dev/null
+++ b/packageA/member/balance/balance/balance.wxss
@@ -0,0 +1,86 @@
+/* pages/balance/balance.wxss */
+.balance .content {
+ background: #fff;
+}
+
+.balance .content .my_balance {
+ padding: 20rpx 0;
+}
+
+.balance .content .my_balance .balance_a {
+ line-height: 80rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.balance .content .my_balance .icon-wealth-a {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/member/member_a (46).png") no-repeat center;
+ background-size: 36rpx;
+ width: 36rpx;
+ height: 36rpx;
+ margin-right: 12rpx;
+}
+
+.balance .content .my_balance .balance_a .span {
+ font-size: 28rpx;
+}
+
+.balance .content .my_balance .balance_b {
+ line-height: 120rpx;
+ font-size: 72rpx;
+ text-align: center;
+}
+
+.balance .content .my_balance .balance_b .small {
+ font-size: 48rpx;
+}
+
+.balance .content .list_box {
+ padding-left: 28rpx;
+ border-top: solid 2rpx #ebebeb;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.balance .content .list_box .li {
+ border-bottom: solid 2rpx #ebebeb;
+ padding-right: 28rpx;
+ display: flex;
+ align-items: center;
+ line-height: 92rpx;
+ font-size: 32rpx;
+ position: relative;
+ justify-content: space-between;
+}
+
+.balance .content .list_box .li .left {
+ display: flex;
+ align-items: center;
+}
+
+.balance .content .list_box .li .left .icon-balance_b {
+ color: #fac337;
+}
+
+.balance .content .list_box .li .iconfont {
+ font-size: 64rpx;
+ margin-right: 12rpx;
+}
+
+.balance .content .list_box .li .icon-balance_c {
+ color: #069ce7;
+}
+
+.balance .content .list_box .li .icon-balance_a {
+ color: #6cbf6a;
+}
+
+.balance .content .list_box .li .right van-icon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.icon-balance_p {
+ color: #f15353;
+}
diff --git a/packageA/member/balance/balance_recharge/balance_recharge.js b/packageA/member/balance/balance_recharge/balance_recharge.js
new file mode 100644
index 0000000..701e61c
--- /dev/null
+++ b/packageA/member/balance/balance_recharge/balance_recharge.js
@@ -0,0 +1,157 @@
+// pages/balance_recharge/balance_recharge.js
+var yz_pay = require("../../../../mycomponent/yz_pay/yz_pay");
+var app = getApp();
+Page({
+ behaviors: [yz_pay],
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ credit2: 0,
+ buttons: [],
+ typename: '',
+ recharge: '',
+ ordersn: '',
+ money: '',
+ activatDes: {},
+ // 选择的充值方式
+ pay_type: '',
+ balanceLang: '余额'
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ console.log(options.balance);
+ if(options.balance){
+ this.setData({
+ money:options.balance
+ });
+ }
+ if(options.name == 'store'){
+ console.log('门店独立余额充值');
+ }else{
+ this.getData(); // 初始化参数
+ }
+ try {
+ // let value = wx.getStorageSync('balance');
+ let value = wx.getStorageSync('yz_basic_info');
+ value = value.balance || "余额";
+ if (value) {
+ this.setData({
+ balanceLang: value
+ });
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {},
+ // 初始化参数
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.balance.balance');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ credit2: res.data.credit2,
+ buttons: res.data.buttons,
+ typename: res.data.typename,
+ recharge: res.data.recharge,
+ activatDes: res.data.remark
+ });
+ for (let i = 0; i < that.data.buttons.length; i++) {
+ if (that.data.buttons[i]) {
+ that.setData({
+ ['buttons[' + i + '].btclass']: that.btnclass(that.data.buttons[i].value)
+ });
+ console.log(that.data.buttons);
+ }
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ moneyinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ money: val
+ });
+ },
+ // 确认充值
+ confirm(e) {
+ let type = e.currentTarget.dataset.val;
+ this.setData({
+ money: parseFloat(this.data.money),
+ pay_type: type
+ });
+ if (this.data.money <= 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '金额不可低于0',
+ duration: 1500
+ });
+ return;
+ }
+ let urlStr = app.getNetAddresss('finance.balance.recharge');
+ urlStr += '&client_type=2';
+ urlStr += '&app_type=wechat';
+ urlStr += '&pay_type=' + this.data.pay_type;
+ urlStr += '&recharge_money=' + this.data.money;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (app._isTextEmpty(res.data.ordersn)) {
+ wx.showToast({
+ icon: 'none',
+ title: '参数错误',
+ duration: 1500
+ });
+ return;
+ }
+ this.setData({
+ ordersn: res.data.ordersn
+ });
+ this.rechargePay(type, res, res.data.ordersn, "balance");
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail:(res)=> {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageA/member/balance/balance_recharge/balance_recharge.json b/packageA/member/balance/balance_recharge/balance_recharge.json
new file mode 100644
index 0000000..70aec7f
--- /dev/null
+++ b/packageA/member/balance/balance_recharge/balance_recharge.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "充值",
+ "usingComponents": {}
+}
diff --git a/packageA/member/balance/balance_recharge/balance_recharge.wxml b/packageA/member/balance/balance_recharge/balance_recharge.wxml
new file mode 100644
index 0000000..9297131
--- /dev/null
+++ b/packageA/member/balance/balance_recharge/balance_recharge.wxml
@@ -0,0 +1,60 @@
+
+
+
+
+
+ 当前{{ balanceLang }}:
+ {{ credit2 }}
+
+
+
+ 充值金额
+
+ {{language['money']}}
+
+
+
+
+
+ 活动说明
+
+
+ 活动时间:
+ {{activatDes.recharge_activity_start}}
+ -
+ {{activatDes.recharge_activity_end}}
+
+
+ 参与次数:
+ 不限
+ 每人最多参与{{activatDes.recharge_activity_fetter}}次
+
+
+ 活动优惠:
+
+ 充值满{{item.enough}}元赠送
+ {{item.give ? item.give : 0}}{{activatDes.proportion_status == 0 ? "元" : "%"}}
+ ,
+
+
+
+
+ 充值赠送
+ {{activatDes.reward_points.rate}}%{{ activatDes.reward_points.name }}
+
+
+
+
+
+
+
+ 充值方式
+
+
+
+ {{ btn.name }}{{ typename }}
+
+
+
+
+
diff --git a/packageA/member/balance/balance_recharge/balance_recharge.wxss b/packageA/member/balance/balance_recharge/balance_recharge.wxss
new file mode 100644
index 0000000..105b06e
--- /dev/null
+++ b/packageA/member/balance/balance_recharge/balance_recharge.wxss
@@ -0,0 +1,158 @@
+/* pages/balance_recharge/balance_recharge.wxss */
+.balance_recharge .content {
+ padding-bottom: 160rpx;
+}
+
+.balance_recharge .content .transfer_info {
+ background: #fff;
+ padding-left: 28rpx;
+ font-size: 32rpx;
+}
+
+.balance_recharge .content .transfer_info .info_a,
+.balance_recharge .content .transfer_info .info_b {
+ line-height: 92rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+}
+
+.balance_recharge .content .transfer_info .info_a .span:first-child,
+.balance_recharge .content .transfer_info .info_b .span:first-child {
+ width: 220rpx;
+ display: block;
+ text-align: left;
+}
+
+.balance_recharge .content .transfer_sum {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.balance_recharge .content .transfer_sum .span {
+ display: block;
+ font-size: 32rpx;
+ line-height: 80rpx;
+ text-align: left;
+}
+
+.balance_recharge .content .transfer_sum .sum {
+ text-align: left;
+ font-size: 48rpx;
+ display: flex;
+ align-items: center;
+}
+
+.balance_recharge .content .transfer_sum .sum input {
+ margin-left: 12rpx;
+ line-height: 120rpx;
+ height: 120rpx;
+ width: 90%;
+ font-size: 68rpx;
+ border: none;
+}
+
+.activity_des {
+ background: #fff;
+ padding: 20rpx 28rpx;
+ margin-top: 25rpx;
+ text-align: left;
+}
+
+.activity_des .title {
+ display: block;
+ font-size: 32rpx;
+ font-weight: 600;
+ margin-bottom: 1rem;
+}
+
+.activity_des .activity-item {
+ position: relative;
+ margin: 0.6rem 0.2rem 0.6rem 1rem;
+}
+
+.activity_des .discount {
+ display: inline-block;
+}
+
+.activity_des .activity-item::after {
+ position: absolute;
+ content: '';
+ top: 50%;
+ left: -0.5rem;
+ transform: translateY(-50%);
+ width: 2px;
+ height: 2px;
+ border-radius: 50%;
+ background: black;
+}
+
+.balance_recharge .content .recharge_way {
+ background: #fff;
+ margin-top: 20rpx;
+}
+
+.balance_recharge .content .recharge_way .h1 {
+ line-height: 80rpx;
+ text-align: left;
+ padding: 0 28rpx;
+ font-size: 32rpx;
+}
+
+.balance_recharge .content .recharge_way .li {
+ position: relative;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-align: center;
+ align-items: center;
+ line-height: 112rpx;
+ font-size: 32rpx;
+ margin-left: 40rpx;
+ padding-right: 40rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.balance_recharge .content .recharge_way .li .iconfont_bg {
+ background: #f15353;
+ width: 72rpx;
+ height: 48rpx;
+ border-radius: 6rpx;
+ display: flex;
+ align-items: center;
+ margin-right: 20rpx;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_d {
+ color: #00908c;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_e {
+ color: #64b42e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_f {
+ color: #fac337;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_g {
+ color: #00508e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_h {
+ color: #fac337;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_i {
+ color: #64b42e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_j {
+ color: #069ce7;
+}
+
+.balance_recharge .content .recharge_way .li .iconfont {
+ font-size: 64rpx;
+ margin-right: 20rpx;
+}
diff --git a/packageA/member/balance/balance_transfer/balance_transfer.js b/packageA/member/balance/balance_transfer/balance_transfer.js
new file mode 100644
index 0000000..8bcf3c9
--- /dev/null
+++ b/packageA/member/balance/balance_transfer/balance_transfer.js
@@ -0,0 +1,244 @@
+// pages/balance_transfer/balance_transfer.js
+import {payKeyboardAsync} from "../../../../mycomponent/payKeyboard/PayKeyboardAsync.js";
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ balance: 0,
+ info_form: {
+ transfer_id: "",
+ transfer_money: ""
+ },
+ transfer_id: "",
+ memberInfo: "",
+ //余额字样
+ balanceLang: '余额',
+
+ //支付键盘
+ payKeyboardShow:false,
+ //是否需要支付密码
+ need_password:false,
+ //是否设置支付密码
+ has_password:false,
+ showConfirm: false //确认转账弹窗
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this.getBalence();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ getBalence() {
+ let that = this;
+ let urlStr = app.getNetAddresss("finance.balance.member-balance");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ balance: res.data.credit2,
+ need_password:res.data.need_password,
+ has_password:res.data.has_password
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ payKeyboardComplete(evt){
+ payKeyboardAsync.complete(evt.detail);
+ },
+ getPayKeyboardPassword(){
+ this.setData({payKeyboardShow:true});
+ return new Promise((resove,reject)=>{
+ payKeyboardAsync.addCompleteFn((pass)=>{
+ resove(pass);
+ });
+ });
+ // let pass = await this.getPayKeyboardPassword();
+ // console.log(pass);
+ },
+ payKeyboardClose(){
+ this.setData({payKeyboardShow:false});
+ },
+ async beforeConfirm() {
+ //确认转账前处理
+ if (parseFloat(this.data.info_form.transfer_money) > parseFloat(this.data.balance)) {
+ wx.showToast({
+ icon: 'none',
+ title: '转让金额不可大于您的余额',
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.transfer_id == undefined || this.data.transfer_id <= 0 || this.data.transfer_id.length == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '转让id不可为空',
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.info_form.transfer_money == undefined || this.data.info_form.transfer_money <= 0 || this.data.info_form.length == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '转让金额不可低于0',
+ duration: 1500
+ });
+ return;
+ }
+
+ if(this.data.need_password==true && this.data.has_password==false){
+ let confirmFlag = await app.confirm("请先设置支付密码");
+ if(confirmFlag) {
+ wx.navigateTo({
+ url: '/packageA/member/set_balance_password/set_balance_password'
+ });
+ }
+ return;
+ }
+ this.setData({
+ showConfirm: true
+ });
+ },
+ //确认转账
+ async confirm() {
+ var that = this;
+
+ let urlStr = app.getNetAddresss("finance.balance.transfer");
+ urlStr += '&recipient=' + that.data.transfer_id;
+ urlStr += '&transfer_money=' + that.data.info_form.transfer_money;
+
+ if(this.data.need_password==true){ //开启支付密码验证
+ let pass = await this.getPayKeyboardPassword();
+ urlStr += '&password=' + pass;
+ }
+
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ transferIdinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ transfer_id: val
+ });
+ this.getmemberInfo();
+ },
+ moneyinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'info_form.transfer_money': val
+ });
+ },
+ getmemberInfo() {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.member.memberInfo");
+ urlStr += '&uid=' + this.data.transfer_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ memberInfo: res.data
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+});
diff --git a/packageA/member/balance/balance_transfer/balance_transfer.json b/packageA/member/balance/balance_transfer/balance_transfer.json
new file mode 100644
index 0000000..df4a5f8
--- /dev/null
+++ b/packageA/member/balance/balance_transfer/balance_transfer.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "转账",
+ "usingComponents": {
+ "pay-keyboard":"/mycomponent/payKeyboard/payKeyboard",
+ "van-dialog": "../../../../dist/dialog/index"
+ }
+}
diff --git a/packageA/member/balance/balance_transfer/balance_transfer.wxml b/packageA/member/balance/balance_transfer/balance_transfer.wxml
new file mode 100644
index 0000000..e1c0c8f
--- /dev/null
+++ b/packageA/member/balance/balance_transfer/balance_transfer.wxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+ 当前{{ balanceLang }}:
+ {{ balance }}{{language['元']}}
+
+
+ 受让人ID:
+
+
+
+
+ 转账金额
+
+ {{language['money']}}
+
+
+
+
+ 昵称:
+ {{ memberInfo.nickname }}
+
+
+ 姓名:
+ {{ memberInfo.realname }}
+
+
+
+ 确认转账
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/balance/balance_transfer/balance_transfer.wxss b/packageA/member/balance/balance_transfer/balance_transfer.wxss
new file mode 100644
index 0000000..ef59860
--- /dev/null
+++ b/packageA/member/balance/balance_transfer/balance_transfer.wxss
@@ -0,0 +1,109 @@
+/* pages/balance_transfer/balance_transfer.wxss */
+.balance_recharge .content .transfer_info {
+ background: #fff;
+ padding-left: 28rpx;
+ font-size: 32rpx;
+}
+
+.balance_recharge .content .transfer_info .info_a,
+.balance_recharge .content .transfer_info .info_b {
+ line-height: 92rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+.balance_recharge .content .transfer_info .info_a .span:first-child,
+.balance_recharge .content .transfer_info .info_b .span:first-child {
+ width: 220rpx;
+ display: block;
+ text-align: left;
+}
+
+.balance_recharge .content .transfer_info .info_a input,
+.balance_recharge .content .transfer_info .info_b input {
+ border: none;
+ width: 500rpx;
+ height: 92rpx;
+}
+
+.balance_recharge .content .transfer_sum {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.balance_recharge .content .transfer_sum .span {
+ display: block;
+ font-size: 32rpx;
+ line-height: 80rpx;
+ text-align: left;
+}
+
+.balance_recharge .content .transfer_sum .sum {
+ text-align: left;
+ font-size: 48rpx;
+ display: flex;
+ align-items: center;
+}
+
+.balance_recharge .content .transfer_sum .sum input {
+ margin-left: 12rpx;
+ line-height: 100rpx;
+ height: 100rpx;
+ width: 90%;
+ font-size: 68rpx;
+ border: none;
+}
+
+.balance_recharge .content .personal_info {
+ margin-top: 20rpx;
+ background: #fff;
+ padding-left: 28rpx;
+}
+
+.balance_recharge .content .personal_info .li {
+ line-height: 92rpx;
+ display: flex;
+ font-size: 32rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ text-align: left;
+}
+
+.balance_recharge .content .personal_info .li .span:first-child {
+ display: block;
+ width: 220rpx;
+}
+
+.balance_recharge .content .personal_info .li:last-child {
+ border: none;
+}
+
+.balance_recharge .content .btn {
+ width: 690rpx;
+ margin: 40rpx auto;
+ height: 92rpx;
+ border-radius: 8rpx;
+ font-size: 32rpx;
+ color: #fff;
+ background: #f15353;
+ border: none;
+ line-height: 92rpx;
+ text-align: center;
+}
+
+.confirm-transfer-popup {
+ padding: 16px;
+}
+
+.confirm-transfer-popup .confirm-transfer-popup-li {
+ font-size: 12px;
+ text-align: left;
+ margin-bottom: 10px;
+}
+
+.confirm-transfer-popup .confirm-transfer-popup-warn {
+ text-align: center;
+ color: #f15353;
+ font-size: 16px;
+}
diff --git a/packageA/member/balance/balance_withdrawals/balance_withdrawals.js b/packageA/member/balance/balance_withdrawals/balance_withdrawals.js
new file mode 100644
index 0000000..3d334f7
--- /dev/null
+++ b/packageA/member/balance/balance_withdrawals/balance_withdrawals.js
@@ -0,0 +1,748 @@
+// pages/balance_withdrawals/balance_withdrawals.js
+import {payKeyboardAsync} from "../../../../mycomponent/payKeyboard/PayKeyboardAsync.js";
+var app = getApp();
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ mailLanguage:{},
+ language: '',
+ // 是否提现到微信
+ withdrawToWechat: 0,
+ // 是否提现到支付宝
+ withdrawToAlipay: 0,
+ withdrawToManual: 0,
+ supplier: '',
+ balance: 0,
+ service_money: 0,
+ withdrawType: {}, // 提现方法
+ info_form: {
+ balance_money: ''
+ },
+
+ // 选择提现方法
+ pay_type: '',
+
+ eupshow: false,
+
+ popupVisible: false,
+
+ hxShow: false,
+ action: '',
+
+ msg: '',
+
+ notice: '',
+
+ // 余额字样
+ balanceLang: '余额',
+ member_id: '',
+ converge_pay: false, // 汇聚按钮显示
+ show2: false, // 判断
+ show3: false, // 银行卡列表
+ withList: [], // 银行卡列表
+ checkObj: {}, // 选中的银行卡
+ actual_amount: '', // 实际到账金额
+ poundageHj: '', // 手续费
+ cost_money: '', // 提现金额
+ poundage_name:'',
+
+ //支付键盘
+ payKeyboardShow:false,
+
+ //是否需要支付密码
+ need_password:false,
+ //是否设置支付密码
+ has_password:false,
+
+ manual_name:''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.supplier) {
+ this.setData({
+ supplier: options.supplier
+ });
+ }
+ if (options.member_id) {
+ this.setData({
+ member_id: options.member_id
+ });
+ }
+
+ this.customizeIncome();
+ try {
+ var mailLanguage=JSON.parse(wx.getStorageSync('mailLanguage'));
+ if (mailLanguage) {
+ this.setData({
+ mailLanguage:mailLanguage,
+ manual_name: mailLanguage.income.name_of_withdrawal + mailLanguage.income.manual_withdrawal
+ });
+ wx.setNavigationBarTitle({
+ title: this.data.mailLanguage.income&&this.data.mailLanguage.income.name_of_withdrawal?this.data.mailLanguage.income.name_of_withdrawal:'提现'
+ });
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ try {
+ var value = wx.getStorageSync('balance');
+ if (value) {
+ this.setData({
+ balanceLang: value
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ //自定义提现收入语言
+ customizeIncome() {
+ try {
+ var value = wx.getStorageSync('mailLanguage');
+ if (value) {
+ let mailLanguage = JSON.parse(value);
+ // Do something with return value
+ this.setData({
+ poundage_name: mailLanguage.income.poundage_name
+ });
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ if (this.data.supplier === 'supplier') {
+ this.getData2();
+ } else {
+ this.getData();
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getData2() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.supplier.frontend.withdraw.index');
+ urlStr += '&member_id=' + this.data.member_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ balance: res.data.cost_money,
+ service_money: res.data.service_money,
+ withdrawType: res.data.type
+ });
+ console.log(this.data.withdrawType, '类型');
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 获取数据
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.balance-withdraw.page');
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ balance: res.data.balance,
+ withdrawToAlipay: res.data.alipay,
+ withdrawToWechat: res.data.wechat,
+ withdrawToManual: res.data.manual,
+ poundage: res.data.poundage,
+ eupshow: res.data.eup_pay,
+ converge_pay: res.data.converge_pay,
+ need_password:res.data.need_password,
+ has_password:res.data.has_password
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ payKeyboardComplete(evt){
+ payKeyboardAsync.complete(evt.detail);
+ },
+ getPayKeyboardPassword(){
+ this.setData({
+ show2: false,
+ show3: false,
+ payKeyboardShow:true
+ });
+ return new Promise((resove,reject)=>{
+ payKeyboardAsync.addCompleteFn((pass)=>{
+ resove(pass);
+ });
+ });
+ // let pass = await this.getPayKeyboardPassword();
+ // console.log(pass);
+ },
+ payKeyboardClose(){
+ this.setData({payKeyboardShow:false});
+ },
+ confirm(e) {
+ // this.setData({payKeyboardShow:true})
+ // return;
+ let type = e.currentTarget.dataset.num;
+ this.setData({
+ pay_type: type
+ });
+ switch (this.data.pay_type) {
+ case '1':
+ this.confirmPost(this.data.pay_type);
+ break;
+ case '2':
+ this.confirmPost(this.data.pay_type);
+ break;
+ case '3':
+ this.manualVerify(this.data.pay_type);
+ break;
+ case '4':
+ this.checkEup(this.data.pay_type);
+ break;
+ case '5':
+ this.checkHx(this.data.pay_type);
+ break;
+ case '6':
+ if (this.data.info_form.balance_money == '') {
+ wx.showToast({
+ title: '请输入提现金额',
+ icon: 'none'
+ });
+ return;
+ }
+ this.checkHJ(this.data.pay_type);
+ break;
+ default:
+ break;
+ }
+ },
+ checkOut(e) {
+ let item = e.target.dataset.item || e.currentTarget.dataset.item;
+ item.check = !item.check;
+
+ let data = this.data.withList;
+ data.map(items => {
+ if (items.id == item.id) {
+ items.check = item.check;
+ } else {
+ items.check = false;
+ }
+ });
+
+ if (item.check == true) {
+ this.setData({
+ show3: false,
+ show2: true,
+ checkObj: item,
+ withList: data
+ });
+ }
+ },
+ getToTitle() {
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.set-bank-card');
+ app._postNetWork({
+ url: urlStr,
+ data: { set: this.data.checkObj },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ // 有资格提现
+ this.confirmPost(this.data.pay_type);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ withGotiem() {
+ console.log(this.data.checkObj, '选中的项');
+ this.getToTitle();
+ return;
+ },
+ backGo() {
+ this.setData({
+ show2: true,
+ show3: false
+ });
+ },
+ backTap() {
+ this.setData({
+ show2: false,
+ show3: false
+ });
+ },
+ gotoList() {
+ this.setData({
+ show2: false,
+ show3: true
+ });
+ },
+ async confirmPost(type) {
+ // withdraw_money
+ var that = this;
+ if (parseFloat(this.data.info_form.balance_money) > parseFloat(this.data.balance)) {
+ wx.showToast({
+ icon: 'none',
+ title: '提现金额不可大于您的'+that.data.balanceLang,
+ duration: 1500
+ });
+ return;
+ }
+ if (
+ this.data.info_form.balance_money == undefined ||
+ this.data.info_form.balance_money <= 0 ||
+ this.data.info_form.balance_money == 0
+ ) {
+ wx.showToast({
+ icon: 'none',
+ title: '提现金额不可低于0',
+ duration: 1500
+ });
+ return;
+ }
+
+ if(this.data.need_password==true && this.data.has_password==false){
+ let confirmFlag = await app.confirm("请先设置支付密码");
+ if(confirmFlag) {
+ wx.navigateTo({
+ url: '/packageA/member/set_balance_password/set_balance_password'
+ });
+ }
+ return;
+ }
+
+ let urlStr = app.getNetAddresss('finance.balance-withdraw.withdraw');
+ urlStr += '&withdraw_type=' + type;
+ urlStr += '&withdraw_money=' + this.data.info_form.balance_money;
+
+ if(this.data.need_password==true){ //开启支付密码验证
+ let pass = await this.getPayKeyboardPassword();
+ urlStr += '&password=' + pass;
+ }
+
+
+
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ show2: false
+ });
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ // 要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); // 延迟时间
+ }
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 手动提现验证
+ manualVerify(type) {
+ var that = this;
+ if (parseFloat(this.data.info_form.balance_money) > parseFloat(this.data.balance)) {
+ wx.showToast({
+ icon: 'none',
+ title: '提现金额不可大于您的'+that.data.balanceLang,
+ duration: 1500
+ });
+ return;
+ }
+
+ if (
+ this.data.info_form.balance_money == undefined ||
+ this.data.info_form.balance_money <= 0 ||
+ this.data.info_form.balance_money == 0
+ ) {
+ wx.showToast({
+ icon: 'none',
+ title: '提现金额不可低于0',
+ duration: 1500
+ });
+ return;
+ }
+ let urlStr = app.getNetAddresss('finance.balance-withdraw.is-can-submit');
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ // data: _url,
+ success: function (resdata) {
+ var res = resdata;
+ if (res.data.result == 1) {
+ if (res.data.data.status) {
+ that.confirmPost(type); // 提现
+ } else {
+ that.setManualInfo(type, res.data.data.manual_type);
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ setManualInfo(type, manual_type) {
+ let msg = '';
+ let routerPath = '';
+ switch (manual_type) {
+ case 'bank':
+ msg = '请先填写银行卡信息';
+ routerPath = 'memberBank';
+ break;
+ case 'wechat':
+ msg = '请先填写微信信息';
+ routerPath = 'info';
+ break;
+ case 'alipay':
+ msg = '请先填写支付宝信息';
+ routerPath = 'info';
+ break;
+ default:
+ break;
+ }
+
+ // let that = this;
+ wx.showModal({
+ title: '提示',
+ content: msg,
+ success(res) {
+ if (res.confirm) {
+ if (routerPath == 'memberBank') {
+ wx.navigateTo({
+ url: '/packageA/member/memberBank/memberBank'
+ });
+ } else if (routerPath == 'info') {
+ wx.navigateTo({
+ url: '/packageA/member/info/info'
+ });
+ }
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ },
+ checkEup(type) {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.eup-pay.api.account.pi-account');
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: _url,
+ success: function (resdata) {
+ var res = resdata;
+ if (res.result == 1) {
+ if (res.data.bool == 1) {
+ that.confirmPost(type); // 提现
+ }
+ } else if (res.result == 0) {
+ wx.showModal({
+ title: '提示',
+ content: msg,
+ success(res) {
+ if (res.confirm) {
+ wx.navigateTo({
+ url: '/packageA/member/info/info'
+ });
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ _initHxpay() {
+ this.setData({
+ action: '',
+ msg: '',
+ notice: ''
+ });
+ },
+ // 获取银行卡列表
+ getwithList() {
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.get-bank-card-list');
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.length == 0) {
+ wx.showToast({
+ title: '请先去添加银行卡',
+ icon: 'none'
+ });
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ }
+ res.data.map(item => {
+ item.check = false;
+ if (item.receiverAccountNoEnc != '' && item.receiverAccountNoEnc != null) {
+ item.bankName += '(' + item.receiverAccountNoEnc.substring(item.receiverAccountNoEnc.length - 4) + ')';
+ }
+ });
+ this.setData({
+ withList: res.data
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ setTimeout(() => {
+ }, 2000);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ show1CloseBtn() {
+ this.setData({
+ show2: false,
+ show3: false
+ });
+ },
+ // 获取手续费
+ getCartWith(type) {
+ let urlStr = '';
+ if (type == 'suppier') {
+ urlStr = app.getNetAddresss('plugin.supplier.frontend.withdraw.converge-withdraw');
+ } else {
+ urlStr = app.getNetAddresss('finance.balance-withdraw.converge-withdraw');
+ urlStr += '&withdraw_money=' + this.data.info_form.balance_money;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ poundageHj: res.data.poundage,
+ actual_amount: res.data.actual_amount,
+ cost_money: res.data.cost_money
+ });
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: res.msg
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ // 汇聚提现
+ checkHJ(type) {
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.get-bank-card');
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ checkObj: res.data
+ });
+ let name = res.data.bankName + '(' + res.data.receiverAccountNoEnc.substring(res.data.receiverAccountNoEnc.length - 4) + ')';
+ this.setData({
+ show2: true,
+ 'checkObj.bankName': name
+ });
+
+ this.getwithList();
+ this.getCartWith();
+ // this.confirmPost(type)
+ } else {
+ if (res.data.status == -1) {
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ }
+ wx.showModal({
+ title: '提示',
+ content: res.msg
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ submitbrank() {
+ app._postNetWork({
+ url: this.data.action,
+ showToastIn: false,
+ data: {
+ ipsRequest: this.data.msg
+ },
+ success: function (resdata) {
+ wx.navigateBack({
+ delta: 1
+ });
+ },
+ fail: function (res) {}
+ });
+ },
+ towithdrawal(type) {
+ this.setData({
+ pay_type: type
+ });
+ const that = this;
+ if (that.data.balance == undefined || this.data.balance <= 0 || this.data.balance == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '提现金额不可低于0',
+ duration: 1500
+ });
+ return;
+ }
+ let urlStr = app.getNetAddresss('plugin.supplier.frontend.withdraw.withdraw');
+ urlStr += '&apply_type=' + this.data.pay_type;
+ urlStr += '&member_id=' + this.data.member_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ // 要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); // 延迟时间
+ }
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ balanceMoneyinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'info_form.balance_money': val
+ });
+ }
+});
+
+
+
diff --git a/packageA/member/balance/balance_withdrawals/balance_withdrawals.json b/packageA/member/balance/balance_withdrawals/balance_withdrawals.json
new file mode 100644
index 0000000..0d85ae6
--- /dev/null
+++ b/packageA/member/balance/balance_withdrawals/balance_withdrawals.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "提现",
+ "usingComponents": {
+ "van-popup": "../../../../dist/popup/index",
+ "van-icon": "../../../../dist/icon/index",
+ "van-checkbox": "../../../../dist/checkbox/index",
+ "pay-keyboard":"/mycomponent/payKeyboard/payKeyboard"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/balance/balance_withdrawals/balance_withdrawals.wxml b/packageA/member/balance/balance_withdrawals/balance_withdrawals.wxml
new file mode 100644
index 0000000..f384047
--- /dev/null
+++ b/packageA/member/balance/balance_withdrawals/balance_withdrawals.wxml
@@ -0,0 +1,102 @@
+
+
+
+
+
+ 可提现{{ balanceLang }}:
+ {{ balance }}{{language['元']}}
+
+
+
+ {{ supplier ? (poundage_name?poundage_name:"手续费"):(mailLanguage.income&&mailLanguage.income.name_of_withdrawal?mailLanguage.income.name_of_withdrawal+'金额':'提现金额') }}
+
+ {{language['money']}}
+
+
+
+ {{ poundage }}
+
+
+ {{mailLanguage.income&&mailLanguage.income.name_of_withdrawal?mailLanguage.income.name_of_withdrawal:'提现'}}到
+
+
+
+ 微信
+
+
+
+ 支付宝
+
+
+
+ {{manual_name}}
+
+
+
+ EUP提出
+
+
+
+ 银行卡
+
+
+
+ 提现到银行卡-HJ
+
+
+
+ {{ type }}
+
+
+
+
+
+
+
+ 提现
+
+
+ {{ checkObj.bankName }}
+
+
+
+
+ 提现金额({{language['元']}})
+ {{cost_money}}
+
+
+ {{(poundage_name?poundage_name:"手续费")}}({{language['元']}})
+ {{poundageHj}}
+
+
+ 实际到账({{language['元']}})
+ {{actual_amount}}
+
+
+
+
+
+
+
+
+
+
+ 银行卡列表
+
+
+
+
+
+
+ {{ item.bankName }}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/balance/balance_withdrawals/balance_withdrawals.wxss b/packageA/member/balance/balance_withdrawals/balance_withdrawals.wxss
new file mode 100644
index 0000000..9861e98
--- /dev/null
+++ b/packageA/member/balance/balance_withdrawals/balance_withdrawals.wxss
@@ -0,0 +1,186 @@
+/* pages/balance_recharge/balance_recharge.wxss */
+.balance_recharge .content {
+ padding-bottom: 160rpx;
+}
+
+.balance_recharge .content .transfer_info {
+ background: #fff;
+ padding-left: 28rpx;
+ font-size: 32rpx;
+}
+
+.balance_recharge .content .transfer_info .info_a,
+.balance_recharge .content .transfer_info .info_b {
+ line-height: 92rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+}
+
+.balance_recharge .content .transfer_info .info_a .span:first-child,
+.balance_recharge .content .transfer_info .info_b .span:first-child {
+ width: 220rpx;
+ display: block;
+ text-align: left;
+}
+
+.balance_recharge .content .transfer_sum {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.balance_recharge .content .transfer_sum .span {
+ display: block;
+ font-size: 32rpx;
+ line-height: 80rpx;
+ text-align: left;
+}
+
+.balance_recharge .content .transfer_sum .sum {
+ text-align: left;
+ font-size: 48rpx;
+ display: flex;
+ align-items: center;
+}
+
+.balance_recharge .content .transfer_sum .sum input {
+ margin-left: 12rpx;
+ line-height: 120rpx;
+ height: 120rpx;
+ width: 90%;
+ font-size: 68rpx;
+ border: none;
+}
+
+.balance_recharge .content .recharge_way {
+ background: #fff;
+ margin-top: 20rpx;
+}
+
+.balance_recharge .content .recharge_way .h1 {
+ line-height: 80rpx;
+ text-align: left;
+ padding: 0 28rpx;
+ font-size: 32rpx;
+}
+
+.balance_recharge .content .recharge_way .li {
+ position: relative;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-align: center;
+ align-items: center;
+ line-height: 112rpx;
+ font-size: 32rpx;
+ margin-left: 40rpx;
+ padding-right: 40rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.balance_recharge .content .recharge_way .li .iconfont_bg {
+ background: #f15353;
+ width: 72rpx;
+ height: 48rpx;
+ border-radius: 6rpx;
+ display: flex;
+ align-items: center;
+ margin-right: 20rpx;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_d {
+ color: #00908c;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_e {
+ color: #64b42e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_f {
+ color: #fac337;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_g {
+ color: #00508e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_h {
+ color: #fac337;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_i {
+ color: #64b42e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_j {
+ color: #069ce7;
+}
+
+.balance_recharge .content .recharge_way .li .iconfont {
+ font-size: 64rpx;
+ margin-right: 20rpx;
+}
+
+.balance_recharge .withdrawal_box .h2 {
+ background: #fff;
+ line-height: 92rpx;
+ font-size: 16px;
+ border-bottom: solid 2rpx #ebebeb;
+ z-index: 10;
+}
+
+.balance_recharge .withdrawal_box .h2 .icon-close11 {
+ width: 96rpx;
+ display: inline-block;
+ position: absolute;
+ right: 0;
+ font-size: 32rpx;
+ color: #666;
+}
+
+.balance_recharge .withdrawal_box .recharge_way {
+ background: #fff;
+}
+
+.balance_recharge .withdrawal_box .recharge_way .li {
+ position: relative;
+ display: flex;
+ align-items: center;
+ line-height: 112rpx;
+ font-size: 16px;
+ margin-left: 40rpx;
+ padding-right: 40rpx;
+}
+
+.balance_recharge .withdrawal_box .recharge_way .li .span {
+ font-size: 13px;
+ color: #8c8c8c;
+}
+
+.balance_recharge .withdrawal_box .recharge_way .li .iconfont_bg {
+ background: #f15353;
+ width: 72rpx;
+ height: 48rpx;
+ border-radius: 6rpx;
+ display: flex;
+ align-items: center;
+ margin-right: 20rpx;
+}
+
+.balance_recharge .withdrawal_box .recharge_way .li .iconfont {
+ font-size: 64rpx;
+ margin-right: 20rpx;
+}
+
+.balance_recharge .withdrawal_box .btn {
+ width: 690rpx;
+ margin: 40rpx auto;
+ height: 92rpx;
+ border-radius: 8rpx;
+ font-size: 16px;
+ color: #fff;
+ background: #f15353;
+ border: none;
+ line-height: 92rpx;
+}
diff --git a/packageA/member/balance/detailed/detailed.js b/packageA/member/balance/detailed/detailed.js
new file mode 100644
index 0000000..2274241
--- /dev/null
+++ b/packageA/member/balance/detailed/detailed.js
@@ -0,0 +1,174 @@
+// pages/detailed/detailed.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ selected: 0,
+ all: [],
+ income: [],
+ //支出
+ expenditure: [],
+ balanceLang: '余额',
+ recordsList: [],
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.getNetData(0);
+ try {
+ var value = wx.getStorageSync('balance');
+ if (value) {
+ this.setData({
+ balanceLang: value
+ });
+ wx.setNavigationBarTitle({
+ title: value + "明细"
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ this.getNetMoreData(this.data.selected);
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ godetails(e) {
+ let item = e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: '/packageA/member/balance/details/details?item=' + JSON.stringify(item)
+ });
+ },
+ //发起http请求
+ getNetData(index) {
+ let that = this;
+ this.data.page = 1;
+ let urlStr = app.getNetAddresss("finance.balance.record");
+ urlStr += '&record_type=' + index;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data.data;
+ that.setData({
+ total_page: res.data.last_page,
+ recordsList: myData
+ });
+ // if (index == 0) {
+ // that.setData({
+ // all: myData
+ // })
+ // } else if (index == 1) {
+ // that.setData({
+ // income: myData
+ // })
+ // } else if (index == 2) {
+ // that.setData({
+ // expenditure: myData
+ // })
+ // }
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getNetMoreData(index) {
+ let that = this;
+ that.setData({
+ isLoadMore: false
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ let urlStr = app.getNetAddresss("finance.balance.record");
+ urlStr = urlStr + '&record_type=' + index + '&page=' + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data.data;
+ that.setData({
+ recordsList: that.data.recordsList.concat(myData)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ swichTabTItem(e) {
+ let val = e.detail.index;
+ this.setData({
+ selected: val,
+ recordsList: []
+ });
+ this.getNetData(this.data.selected);
+ }
+});
diff --git a/packageA/member/balance/detailed/detailed.json b/packageA/member/balance/detailed/detailed.json
new file mode 100644
index 0000000..c341a07
--- /dev/null
+++ b/packageA/member/balance/detailed/detailed.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "余额明细",
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index"
+ }
+}
diff --git a/packageA/member/balance/detailed/detailed.wxml b/packageA/member/balance/detailed/detailed.wxml
new file mode 100644
index 0000000..2228c20
--- /dev/null
+++ b/packageA/member/balance/detailed/detailed.wxml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+ {{ item.service_type_name }}
+ {{ balanceLang }}:{{ item.new_money }}
+ {{ item.created_at }}
+
+
+ +{{ item.change_money }}
+
+
+ {{ item.change_money }}
+
+
+
+
+
+ 没有记录
+
+
+
+
+
+
+
+ {{ item.service_type_name }}
+ {{ balanceLang }}:{{ item.new_money }}
+ {{ item.created_at }}
+
+
+ +{{ item.change_money }}
+
+
+
+
+
+ 没有记录
+
+
+
+
+
+
+
+ {{ item.service_type_name }}
+ {{ balanceLang }}:{{ item.new_money }}
+ {{ item.created_at }}
+
+
+ {{ item.change_money }}
+
+
+
+
+
+ 没有记录
+
+
+
+
diff --git a/packageA/member/balance/detailed/detailed.wxss b/packageA/member/balance/detailed/detailed.wxss
new file mode 100644
index 0000000..a320ec1
--- /dev/null
+++ b/packageA/member/balance/detailed/detailed.wxss
@@ -0,0 +1,46 @@
+/* pages/detailed/detailed.wxss */
+.detailed .a {
+ color: #000;
+}
+
+.detailed .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ padding: 20rpx 28rpx;
+ border-bottom: 2rpx solid #ebebeb;
+ font-size: 28rpx;
+}
+
+.detailed .tbs .item2 {
+ flex: 2;
+ text-align: left;
+}
+
+.detailed .tbs .item1 {
+ color: #8c8c8c;
+ font-size: 24rpx;
+}
+
+.detailed .tbs .item2 .li {
+ line-height: 48rpx;
+}
+
+.detailed .tbs .item3 .reduce {
+ font-size: 36rpx;
+ color: #f15353;
+}
+
+.detailed .tbs .item3 .add {
+ font-size: 36rpx;
+ color: #259b24;
+}
+
+.textNone {
+ text-align: center;
+ color: #8c8c8c;
+ margin-top: 100rpx;
+}
diff --git a/packageA/member/balance/details/details.js b/packageA/member/balance/details/details.js
new file mode 100644
index 0000000..76d20a0
--- /dev/null
+++ b/packageA/member/balance/details/details.js
@@ -0,0 +1,127 @@
+// pages/details/details.js
+const app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ item: "",
+ //余额字样
+ balanceLang: '余额',
+
+ //门店独立余额
+ log_model: '',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.name == 'store') {
+ this.setData({
+ id: options.id,
+ });
+ this.getData();
+ } else {
+ if (options.item) {
+ this.setData({
+ item: JSON.parse(options.item)
+ });
+ }
+ try {
+ var value = wx.getStorageSync('balance');
+ if (value) {
+ this.setData({
+ balanceLang: value
+ });
+ wx.setNavigationBarTitle({
+ title: this.data.balanceLang + '详情'
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ }
+
+ },
+ getData() {
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.balance.log.detail");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ log_id: this.data.id,
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ console.log(res);
+ let log_model = res.data.log_model;
+ let info = {
+ serial_number: log_model.sn,
+ change_money: `${log_model.op}${log_model.change_balance}`,
+ service_type_name: log_model.mold_name,
+ new_money: log_model.after_balance,
+ };
+ this.setData({
+ item:info
+ });
+ },
+ fail: function (res) {
+ wx.showToast({
+ title: res.data.msg,
+ duration: 1000,
+ icon: 'none'
+ });
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/balance/details/details.json b/packageA/member/balance/details/details.json
new file mode 100644
index 0000000..fe5e01e
--- /dev/null
+++ b/packageA/member/balance/details/details.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "余额详情",
+ "usingComponents": {}
+}
diff --git a/packageA/member/balance/details/details.wxml b/packageA/member/balance/details/details.wxml
new file mode 100644
index 0000000..1fc518a
--- /dev/null
+++ b/packageA/member/balance/details/details.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+ 订单编号
+ {{ item.serial_number }}
+
+
+
+ 金额
+ {{ item.change_money }}
+
+
+
+ 业务类型
+ {{ item.service_type_name }}
+
+
+
+ {{ balanceLang }}
+ {{ item.new_money }}
+
+
+ {{ item.action_type }}ID
+ {{ item.transfer_member_id }}
+
+
+ {{ item.action_type }}名称
+ {{ item.transfer_member_name }}
+
+
+
+ 备注信息
+ {{ item.balance_recharge.remark }}
+
+
+
\ No newline at end of file
diff --git a/packageA/member/balance/details/details.wxss b/packageA/member/balance/details/details.wxss
new file mode 100644
index 0000000..bdda7b7
--- /dev/null
+++ b/packageA/member/balance/details/details.wxss
@@ -0,0 +1,26 @@
+/* pages/details/details.wxss */
+.details .tbs {
+ background: #fff;
+ padding: 20rpx 28rpx;
+ line-height: 60rpx;
+ font-size: 24rpx;
+}
+
+.details .item {
+ flex: 1;
+ display: flex;
+}
+
+.details .tbs .left {
+ text-align: left;
+ padding-right: 15rpx;
+ color: #8c8c8c;
+}
+
+.details .tbs .right {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ text-align: right;
+ flex: 1;
+}
diff --git a/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.js b/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.js
new file mode 100644
index 0000000..8a42dc9
--- /dev/null
+++ b/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.js
@@ -0,0 +1,635 @@
+// pages/member/balance/supplier_withdrawals/supplier_withdrawals.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ supplier: '',
+ member_id: '',
+ balance: 0,
+ service_type: 0,
+ service_money: 0,
+ withdrawType: {}, // 提现方法
+ // 是否提现到支付宝
+ withdrawToAlipay: 0,
+ // 是否提现到微信
+ withdrawToWechat: 0,
+ withdrawToManual: 0,
+ poundage: '',
+ eupshow: false,
+ hxShow: false,
+ info_form: {
+ balance_money: ''
+ },
+ action: '',
+ msg: '',
+ notice: '',
+ show2: false, // 判断
+ show3: false, // 银行卡列表
+ withList: [], // 银行卡列表
+ checkObj: {}, // 选中的银行卡
+ actual_amount: '', // 实际到账金额
+ poundageHj: '', // 手续费
+ cost_money: '', // 提现金额
+ poundage_name:''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.supplier) {
+ this.setData({
+ supplier: options.supplier
+ });
+ }
+ if (options.member_id) {
+ this.setData({
+ member_id: options.member_id
+ });
+ }
+ // 获取数据
+ if (this.data.supplier === 'supplier') {
+ this._getData2();
+ } else {
+ this._getData();
+ }
+ this.customizeIncome();
+ },
+ //自定义提现收入语言
+ customizeIncome() {
+ try {
+ var value = wx.getStorageSync('mailLanguage');
+ if (value) {
+ let mailLanguage = JSON.parse(value);
+ // Do something with return value
+ this.setData({
+ poundage_name: mailLanguage.income.poundage_name
+ });
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ _getData2() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.supplier.frontend.withdraw.index');
+ urlStr += '&member_id=' + this.data.member_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ balance: res.data.cost_money,
+ service_money: res.data.service_money,
+ service_type: res.data.service_type,
+ withdrawType: res.data.type
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.balance-withdraw.page');
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ balance: res.data.balance,
+ withdrawToAlipay: res.data.alipay,
+ withdrawToWechat: res.data.wechat,
+ withdrawToManual: res.data.manual,
+ poundage: res.data.poundage,
+ eupshow: res.data.eup_pay,
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ balanceMoneyinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'info_form.balance_money': val
+ });
+ },
+ confirm(e) {
+ let num = e.target.dataset.num;
+ this.setData({
+ pay_type: num
+ });
+ switch (this.data.pay_type) {
+ case '1':
+ this.confirmPost(this.data.pay_type);
+ break;
+ case '2':
+ this.confirmPost(this.data.pay_type);
+ break;
+ case '3':
+ this.manualVerify(this.data.pay_type);
+ break;
+ case '4':
+ this.checkEup(this.data.pay_type);
+ break;
+ case '5':
+ this.checkHx(this.data.pay_type);
+ break;
+ default:
+ break;
+ }
+ },
+ confirmPost(type) {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.balance-withdraw.withdraw');
+ if (parseFloat(that.data.info_form.balance_money) > parseFloat(that.data.balance)) {
+ wx.showToast({
+ icon: 'none',
+ title: '提现金额不可大于您的余额',
+ duration: 1500
+ });
+ return;
+ }
+ if (that.data.info_form.balance_money == undefined || that.data.info_form.balance_money <= 0 || that.data.info_form
+ .balance_money == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '提现金额不可低于0',
+ duration: 1500
+ });
+ return;
+ }
+ urlStr += '&withdraw_type=' + type;
+ urlStr += '&withdraw_money=' + that.data.info_form.balance_money;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ // 要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); // 延迟时间
+ }
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ // 手动提现验证
+ manualVerify(type) {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.balance-withdraw.is-can-submit');
+ if (parseFloat(this.data.info_form.balance_money) > parseFloat(this.data.balance)) {
+ wx.showToast({
+ icon: 'none',
+ title: '提现金额不可大于您的余额',
+ duration: 1500
+ });
+ return;
+ }
+ if (
+ this.data.info_form.balance_money == undefined ||
+ this.data.info_form.balance_money <= 0 ||
+ this.data.info_form.balance_money == 0
+ ) {
+ wx.showToast({
+ icon: 'none',
+ title: '提现金额不可低于',
+ duration: 1500
+ });
+ return;
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (response.data.status) {
+ that.confirmPost(type); // 提现
+ } else {
+ that.setManualInfo(type, res.data.manual_type);
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {}
+ });
+ },
+ setManualInfo(type, manual_type) {
+ let msg = '';
+ let routerPath = '';
+ switch (manual_type) {
+ case 'bank':
+ msg = '请先填写银行卡信息';
+ routerPath = '/packageA/member/memberBank/memberBank';
+ break;
+ case 'wechat':
+ msg = '请先填写微信信息';
+ routerPath = '/packageA/member/info/info';
+ break;
+ case 'alipay':
+ msg = '请先填写支付宝信息';
+ routerPath = '/packageA/member/info/info';
+ break;
+ default:
+ break;
+ }
+ // let that = this;
+ wx.showModal({
+ title: '提示',
+ content: msg,
+ success(res) {
+ if (res.confirm) {
+ wx.navigateTo({
+ url: routerPath
+ });
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ },
+ checkEup(type) {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.eup-pay.api.account.pi-account');
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.bool == 1) {
+ that.confirmPost(type); // 提现
+ }
+ } else if (res.result == 0) {
+ if (res.data.bool == 0) {
+ let msg = res.msg;
+ wx.showModal({
+ title: '提示',
+ content: msg,
+ success(res) {
+ if (res.confirm) {
+ wx.navigateTo({
+ url: '/packageA/member/info/info'
+ });
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ wx.showToast({
+ icon: 'none',
+ title: res,
+ duration: 1500
+ });
+ }
+ });
+ },
+ submitbrank() {
+ app._postNetWork({
+ url: this.data.action,
+ showToastIn: false,
+ data: {
+ ipsRequest: this.data.msg
+ },
+ success: function (resdata) {
+ wx.navigateBack({
+ delta: 1
+ });
+ },
+ fail: function (res) {}
+ });
+ },
+ suChange(e) {
+ console.log(e, '事件啊啊');
+ this.setData({
+ service_money: e.detail.value
+ });
+ },
+ // 汇聚提现前面的
+ towithdrawalHj(e) {
+ let typeData = e.target.dataset.index;
+ this.setData({
+ pay_type: typeData
+ });
+ if (this.data.pay_type == 5) {
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.get-bank-card');
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ checkObj: res.data
+ });
+ let name = res.data.bankName + '(' + res.data.receiverAccountNoEnc.substring(res.data.receiverAccountNoEnc.length - 4) + ')';
+ this.setData({
+ show2: true,
+ 'checkObj.bankName': name
+ });
+
+ this.getwithList();
+ this.getCartWith();
+ //
+ return;
+ } else {
+ if (res.data.status == -1) {
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ }
+ wx.showToast({
+ title: res.msg,
+ icon: 'none'
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ return;
+ }
+ this.towithdrawal(typeData);
+ },
+ // 获取银行卡列表
+ getwithList() {
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.get-bank-card-list');
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.length == 0) {
+ wx.showToast({
+ title: '请先去添加银行卡',
+ icon: 'none'
+ });
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ }
+ res.data.map(item => {
+ item.check = false;
+ if (item.receiverAccountNoEnc != '' && item.receiverAccountNoEnc != null) {
+ item.bankName += '(' + item.receiverAccountNoEnc.substring(item.receiverAccountNoEnc.length - 4) + ')';
+ }
+ });
+ this.setData({
+ withList: res.data
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ setTimeout(() => {
+ }, 2000);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 获取手续费
+ getCartWith() {
+ let urlStr = app.getNetAddresss('plugin.supplier.frontend.withdraw.converge-withdraw');
+
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ poundageHj: res.data.poundage,
+ actual_amount: res.data.actual_amount,
+ cost_money: res.data.cost_money
+ });
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: res.msg
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getToTitle() {
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.set-bank-card');
+ app._postNetWork({
+ url: urlStr,
+ data: { set: this.data.checkObj },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ // 有资格提现
+ this.towithdrawal(this.data.pay_type);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ suppierGotiem() {
+ console.log(this.data.checkObj, '选中的项');
+ this.getToTitle();
+ return;
+ },
+ checkOut(e) {
+ let item = e.target.dataset.item || e.currentTarget.dataset.item;
+ item.check = !item.check;
+ console.log(item, '当前对象');
+
+ let data = this.data.withList;
+ data.map(items => {
+ if (items.id == item.id) {
+ items.check = item.check;
+ }else {
+ items.check = false;
+ }
+ });
+ console.log(data, '数组');
+
+ if (item.check == true) {
+ this.setData({
+ show3: false,
+ show2: true,
+ checkObj: item,
+ withList: data
+ });
+ }
+ },
+ show1CloseBtn() {
+ this.setData({
+ show2: false,
+ show3: false
+ });
+ },
+ backGo() {
+ this.setData({
+ show2: true,
+ show3: false
+ });
+ },
+ backTap() {
+ this.setData({
+ show2: false,
+ show3: false
+ });
+ },
+ gotoList() {
+ this.setData({
+ show2: false,
+ show3: true
+ });
+ },
+ towithdrawal(type) {
+ let that = this;
+ if (this.data.balance == undefined || this.data.balance <= 0 || this.data.balance == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '提现金额不可低于0',
+ duration: 1500
+ });
+ return;
+ }
+ let urlStr = app.getNetAddresss('plugin.supplier.frontend.withdraw.withdraw');
+ urlStr += '&apply_type=' + this.data.pay_type;
+ urlStr += '&member_id=' + this.data.member_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ show2: false
+ });
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ // 要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); // 延迟时间
+ }
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ }
+});
diff --git a/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.json b/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.json
new file mode 100644
index 0000000..e5f61fa
--- /dev/null
+++ b/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "提现",
+ "usingComponents": {
+ "van-popup": "../../../../dist/popup/index",
+ "van-icon": "../../../../dist/icon/index",
+ "van-checkbox": "../../../../dist/checkbox/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.wxml b/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.wxml
new file mode 100644
index 0000000..ab9b229
--- /dev/null
+++ b/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.wxml
@@ -0,0 +1,113 @@
+
+
+ var inOf = function(type) {
+ if (type == 1) {
+ return "icon-balance_h";
+ } else if (type == 2) {
+ return "icon-balance_i";
+ }else if(type == 3){
+ return "icon-balance_j";
+ } else {
+ return "icon-balance_g";
+ }
+ };
+ module.exports.inOf = inOf;
+
+
+
+
+
+ 当前{{ balanceLang }}:
+ {{ balance }}{{language['元']}}
+
+
+
+ {{ supplier ? (poundage_name?poundage_name:"手续费") : "提现金额" }}
+
+
+ {{language['money']}}
+
+
+ {{language['money']}}
+ %
+
+
+ {{ poundage }}
+
+
+ 提现到
+
+
+
+ 微信
+
+
+
+ 支付宝充值
+
+
+
+ 手动提现
+
+
+
+ EUP提出
+
+
+
+ 银行卡
+
+
+
+ {{ type }}
+
+
+
+
+
+
+
+ 提现
+
+
+ {{ checkObj.bankName }}
+
+
+
+
+ 提现金额({{language['元']}})
+ {{cost_money}}
+
+
+ {{(poundage_name?poundage_name:"手续费")}}({{language['元']}})
+ {{poundageHj}}
+
+
+ 实际到账({{language['元']}})
+ {{actual_amount}}
+
+
+
+
+
+
+
+
+
+
+ 银行卡列表
+
+
+
+
+
+
+ {{ item.bankName }}
+
+
+
+
+
+
+
+
diff --git a/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.wxss b/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.wxss
new file mode 100644
index 0000000..bb168e1
--- /dev/null
+++ b/packageA/member/balance/supplier_withdrawals/supplier_withdrawals.wxss
@@ -0,0 +1,222 @@
+/* pages/member/balance/supplier_withdrawals/supplier_withdrawals.wxss */
+.balance_recharge .content {
+ padding-bottom: 160rpx;
+}
+
+.balance_recharge .content .transfer_info {
+ background: #fff;
+ padding-left: 28rpx;
+ font-size: 32rpx;
+}
+
+.balance_recharge .content .transfer_info .info_a,
+.balance_recharge .content .transfer_info .info_b {
+ line-height: 92rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ display: flex;
+ justify-content: flex-start;
+}
+
+.balance_recharge .content .transfer_info .info_a .span:first-child,
+.balance_recharge .content .transfer_info .info_b .span:first-child {
+ width: 220rpx;
+ display: block;
+ text-align: left;
+}
+
+.balance_recharge .content .transfer_info .info_a input,
+.balance_recharge .content .transfer_info .info_b input {
+ border: none;
+ width: 500rpx;
+}
+
+.balance_recharge .content .transfer_sum {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.balance_recharge .content .transfer_sum .span {
+ display: block;
+ font-size: 32rpx;
+ line-height: 80rpx;
+ text-align: left;
+}
+
+.balance_recharge .content .transfer_sum .sum {
+ text-align: left;
+ font-size: 24px;
+ display: flex;
+ align-items: center;
+}
+
+.balance_recharge .content .transfer_sum .sum input {
+ margin-left: 12rpx;
+ line-height: 120rpx;
+ width: 90%;
+ font-size: 50rpx;
+ border: none;
+}
+
+.balance_recharge .content .transfer_sum .p {
+ border-top: solid 2rpx #ebebeb;
+ line-height: 72rpx;
+ color: #8c8c8c;
+ text-align: left;
+ font-size: 14px;
+}
+
+.balance_recharge .content .recharge_way {
+ background: #fff;
+ margin-top: 20rpx;
+}
+
+.balance_recharge .content .recharge_way .h1 {
+ line-height: 80rpx;
+ text-align: left;
+ padding: 0 28rpx;
+ font-size: 32rpx;
+}
+
+.balance_recharge .content .recharge_way .li {
+ position: relative;
+ display: flex;
+ align-items: center;
+ line-height: 112rpx;
+ font-size: 32rpx;
+ margin-left: 40rpx;
+ padding-right: 40rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.balance_recharge .content .recharge_way .li .iconfont_bg {
+ background: #f15353;
+ width: 72rpx;
+ height: 48rpx;
+ border-radius: 6rpx;
+ display: flex;
+ align-items: center;
+ margin-right: 20rpx;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_d {
+ color: #00908c;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_e {
+ color: #64b42e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_f {
+ color: #fac337;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_g {
+ color: #00508e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_h {
+ color: #fac337;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_i {
+ color: #64b42e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_j {
+ color: #069ce7;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_z {
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/pay_e.png');
+}
+
+.balance_recharge .content .recharge_way .li .iconfont {
+ font-size: 64rpx;
+ margin-right: 20rpx;
+}
+
+.balance_recharge .content .recharge_way .li:last-child {
+ border: none;
+}
+
+.balance_recharge .content .bottom_btn {
+ width: 100%;
+ background: #fff;
+ padding: 20rpx 0;
+ position: fixed;
+ bottom: 0;
+ border-top: solid 2rpx #ebebeb;
+}
+
+.balance_recharge .content .bottom_btn .btn {
+ width: 690rpx;
+ margin: 0 auto;
+ height: 92rpx;
+ border-radius: 4rpx;
+ font-size: 32rpx;
+ color: #fff;
+ background: #f15353;
+ border: none;
+}
+
+.balance_recharge .withdrawal_box .h2 {
+ background: #fff;
+ line-height: 92rpx;
+ font-size: 16px;
+ border-bottom: solid 2rpx #ebebeb;
+ z-index: 10;
+}
+
+.balance_recharge .withdrawal_box .h2 .icon-close11 {
+ width: 96rpx;
+ display: inline-block;
+ position: absolute;
+ right: 0;
+ font-size: 32rpx;
+ color: #666;
+}
+
+.balance_recharge .withdrawal_box .recharge_way {
+ background: #fff;
+}
+
+.balance_recharge .withdrawal_box .recharge_way .li {
+ position: relative;
+ display: flex;
+ align-items: center;
+ line-height: 112rpx;
+ font-size: 16px;
+ margin-left: 40rpx;
+ padding-right: 40rpx;
+}
+
+.balance_recharge .withdrawal_box .recharge_way .li .span {
+ font-size: 13px;
+ color: #8c8c8c;
+}
+
+.balance_recharge .withdrawal_box .recharge_way .li .iconfont_bg {
+ background: #f15353;
+ width: 72rpx;
+ height: 48rpx;
+ border-radius: 6rpx;
+ display: flex;
+ align-items: center;
+ margin-right: 20rpx;
+}
+
+.balance_recharge .withdrawal_box .recharge_way .li .iconfont {
+ font-size: 64rpx;
+ margin-right: 20rpx;
+}
+
+.balance_recharge .withdrawal_box .btn {
+ width: 690rpx;
+ margin: 40rpx auto;
+ height: 92rpx;
+ border-radius: 8rpx;
+ font-size: 16px;
+ color: #fff;
+ background: #f15353;
+ border: none;
+}
diff --git a/packageA/member/balance/transformLoveV/transformLoveV.js b/packageA/member/balance/transformLoveV/transformLoveV.js
new file mode 100644
index 0000000..88bec69
--- /dev/null
+++ b/packageA/member/balance/transformLoveV/transformLoveV.js
@@ -0,0 +1,294 @@
+// packageA/member/balance/transformLoveV/transformLoveV.js
+var app = getApp();
+let isclick =true;
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ //爱心转账值
+ sell_value: "",
+ //爱心会员ID
+ sell_id: "",
+ // 转让手续费比率
+ poundage: 0,
+ trading_limit: 0,
+ trading_fold: 0,
+ love_name: "", //爱心值自定义名称
+ usable: 0, // 登陆会员可用爱心值
+ rate: 0,
+ isTransformLoveV: false, //判断是否为转化爱心值
+ balanceLang: "余额" //金额自定义
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.getUsable();
+ this.getLove();
+ try {
+ var value = wx.getStorageSync('balance');
+ if (value) {
+ this.setData({
+ balanceLang: value
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ isclick = true;
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ getUsable() {
+ let that = this;
+ if (this.data.isTransformLoveV) {
+ let urlStr = app.getNetAddresss('plugin.love.Frontend.Controllers.page.index');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ love_name: res.data.love_name
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ } else {
+ let urlStr = app.getNetAddresss('finance.balance.conver');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ usable: res.data.credit2,
+ rate: res.data.rate,
+ rate_1: Math.floor(((100 * res.data.rate) / 100) * 100) / 100,
+ rate_2: Math.floor(((that.data.sell_value * res.data.rate) / 100) * 100) / 100
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ getLove() {
+ try {
+ var value = wx.getStorageSync('yz_basic_info');
+ if (value) {
+ let val = value.home;
+ if (val.designer.love_name) {
+ this.setData({
+ love_name: val.designer.love_name
+ });
+ }
+ wx.setNavigationBarTitle({
+ title: '转化' + val.designer.love_name
+ });
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ if (this.data.isTransformLoveV) {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.love.Frontend.Modules.Trading.Controllers.trading.get-sell-love');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ usable: res.data.love.usable,
+ poundage: res.data.set.poundage,
+ trading_limit: res.data.set.trading_limit,
+ trading_fold: res.data.set.trading_fold
+ });
+ if (res.data.set.trading_fetter) {
+ that.setDtaa({
+ trading_fetter: res.data.set.trading_fetter
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ sellValueinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ sell_value: val,
+ rate_2: Math.floor(((val * this.data.rate) / 100) * 100) / 100
+ });
+ },
+ saleBalance() {
+ let that = this;
+ if (this.data.isTransformLoveV && !this.data.sell_value) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入您要出售的数额',
+ duration: 1500
+ });
+ return;
+ }
+ if (isclick) {
+ isclick = false;
+ if (this.data.isTransformLoveV) {
+ let urlStr = app.getNetAddresss('plugin.love.Frontend.Modules.Trading.Controllers.trading.save-sell-love');
+ app._getNetWork({
+ url: urlStr,
+ data:{
+ amount:this.data.sell_value
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ setTimeout(function() {
+ isclick = true;
+ }, 1000);
+ if (res.result === 1) {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ that.setData({
+ sell_value:''
+ });
+ that.getLove();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ setTimeout(function() {
+ isclick = true;
+ }, 1000);
+ console.log(res);
+ }
+ });
+ } else {
+ let urlStr = app.getNetAddresss('finance.balance.convert-love-value');
+ app._getNetWork({
+ url: urlStr,
+ data:{
+ convert_amount: this.data.sell_value
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ setTimeout(function() {
+ isclick = true;
+ }, 1000);
+ if (res.result === 1) {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ that.setData({
+ sell_value:''
+ });
+ that.getUsable();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ setTimeout(function() {
+ isclick = true;
+ }, 1000);
+ console.log(res);
+ }
+ });
+ }
+ }
+
+ }
+});
diff --git a/packageA/member/balance/transformLoveV/transformLoveV.json b/packageA/member/balance/transformLoveV/transformLoveV.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageA/member/balance/transformLoveV/transformLoveV.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/balance/transformLoveV/transformLoveV.wxml b/packageA/member/balance/transformLoveV/transformLoveV.wxml
new file mode 100644
index 0000000..ff8bb69
--- /dev/null
+++ b/packageA/member/balance/transformLoveV/transformLoveV.wxml
@@ -0,0 +1,31 @@
+
+
+
+
+ {{isTransformLoveV?('可出售'+love_name):('当前'+balanceLang)}}
+ {{ usable }}
+
+
+
+ {{isTransformLoveV?love_name:('转化'+balanceLang)}}
+
+
+
+
+ 例如:100个{{balanceLang}}可以转化{{rate_1}}个{{love_name}}
+
+ 确认{{isTransformLoveV?'出售':'转化'}}
+
+
+ 注:交易手续费收取{{ poundage }}%,
+ 交易限制(最小额度){{ trading_limit }},
+ 交易限制(倍数) {{ trading_fold }},
+ 只有 {{ trading_fold }} 或 {{ trading_fold }} 的倍数是可以交易。
+ {{trading_fetter?('出售限制'+trading_fetter):''}}
+
+
+ 注:转化比例为{{rate}}%,
+ 您实际转账到数为:{{rate_2}}
+
+
+
diff --git a/packageA/member/balance/transformLoveV/transformLoveV.wxss b/packageA/member/balance/transformLoveV/transformLoveV.wxss
new file mode 100644
index 0000000..6bd1c26
--- /dev/null
+++ b/packageA/member/balance/transformLoveV/transformLoveV.wxss
@@ -0,0 +1,138 @@
+.love_transfer .content {
+ padding-bottom: 160rpx;
+}
+
+.love_transfer .content .transfer_info {
+ background: #fff;
+ padding-left: 28rpx;
+ font-size: 32rpx;
+}
+
+.love_transfer .content .transfer_info .info_a,
+.love_transfer .content .transfer_info .info_b {
+ line-height: 92rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ display: flex;
+ justify-content: flex-start;
+}
+
+.love_transfer .content .transfer_info .info_a span:first-child,
+.love_transfer .content .transfer_info .info_b span:first-child {
+ max-width: 320rpx;
+
+ /* width: 220rpx; */
+ display: block;
+ text-align: left;
+}
+
+.love_transfer .content .transfer_info .info_a input,
+.love_transfer .content .transfer_info .info_b input {
+ border: none;
+ width: 500rpx;
+}
+
+.love_transfer .content .transfer_sum {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.love_transfer .content .transfer_sum span {
+ display: block;
+ font-size: 32rpx;
+ line-height: 80rpx;
+ text-align: left;
+}
+
+.love_transfer .content .transfer_sum .sum {
+ text-align: left;
+ font-size: 48rpx;
+}
+
+.love_transfer .content .transfer_sum .sum input {
+ margin-left: 12rpx;
+ line-height: 120rpx;
+ width: 90%;
+ font-size: 50rpx;
+ border: none;
+}
+
+.love_transfer .content .transfer_sum p {
+ border-top: solid 2rpx #ebebeb;
+ line-height: 72rpx;
+ color: #8c8c8c;
+ text-align: left;
+ font-size: 28rpx;
+}
+
+.love_transfer .content .info_b {
+ background: #fff;
+ padding-left: 28rpx;
+ font-size: 28rpx;
+ line-height: 92rpx;
+ border-top: solid 2rpx #ebebeb;
+ font-weight: 400;
+ text-align: left;
+ color: #7d7e80;
+}
+
+.love_transfer .content .btn {
+ width: 690rpx;
+ margin: 40rpx auto;
+ height: 92rpx;
+ border-radius: 8rpx;
+ font-size: 32rpx;
+ color: #fff;
+ background: #f15353;
+ border: none;
+ line-height: 92rpx;
+ text-align: center;
+}
+
+.love_transfer button {
+ width: 90%;
+ margin: 40rpx;
+ height: 92rpx;
+ font-size: 32rpx;
+}
+
+.love_transfer i {
+ font-size: 140rpx;
+ color: #f15353;
+}
+
+.love_transfer .my-banlance {
+ margin: 40rpx 0;
+ font-size: 28rpx;
+ color: #333;
+ line-height: 60rpx;
+}
+
+.love_transfer .my-banlance span {
+ font-size: 28rpx;
+ color: #333;
+ margin-top: 20rpx;
+}
+
+.love_transfer .my-banlance span b {
+ font-size: 56rpx;
+}
+
+.love_transfer .notes {
+ color: #8c8c8c;
+ line-height: 40rpx;
+}
+
+.love_transfer .transfer {
+ display: inline-block;
+ height: 92rpx;
+ width: 90%;
+ margin: 32rpx 30rpx;
+ color: #fff;
+ background-color: #13ce66;
+ border-color: #13ce66;
+ border-radius: 8rpx;
+}
+
+.love_transfer .transfer span {
+ line-height: 92rpx;
+}
diff --git a/packageA/member/balance_password/balance_password.js b/packageA/member/balance_password/balance_password.js
new file mode 100644
index 0000000..d8d26e0
--- /dev/null
+++ b/packageA/member/balance_password/balance_password.js
@@ -0,0 +1,293 @@
+// pages/member/balance_password/balance_password.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ mobile: "",
+ start1: false,
+ codetext: '获取短信验证码',
+ newPwdBol: true,
+ newPwdBolConfirm:true,
+ newPwd: '',
+ newPwdConfirm: '',
+ code: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getBalancePwdInfo();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ pwdinp(){
+ this.setData({
+ popupSpecs:true
+ });
+ },
+ //绑定新密码的值
+ rePwdinp(e) {
+ this.setData({
+ popupSpecs2:true
+ });
+ },
+ popupSpecsClose(e){
+ this.setData({
+ popupSpecs:false
+ });
+ },
+ popupSpecsClose2(e){
+ this.setData({
+ popupSpecs2:false
+ });
+ },
+ onPassword(e){
+ this.setData({
+ newPwd:e.detail
+ });
+ },
+ onPassword2(e){
+ this.setData({
+ newPwdConfirm:e.detail
+ });
+ },
+ //余额支付密码设置 手机号是否绑定
+ _getBalancePwdInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.balance-password.is-has-password");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.is_has) {
+ that.setData({
+ mobile: res.data.mobile
+ });
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: '先绑定手机号',
+ success(res) {
+ if (res.confirm) {
+ wx.navigateTo({
+ url: '../../member/editmobile/editmobile'
+ });
+ } else if (res.cancel) {
+ wx.navigateBack({
+ delta: 1
+ });
+ }
+ }
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ //绑定验证码的值
+ codeinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "code": val.trim()
+ });
+ },
+ sendCode(e) {
+ if (this.data.start1) {
+ return false;
+ }
+ let time = 60;
+ let that = this;
+ that.setData({
+ "start1": true,
+ "codetext": "(" + time + ")秒后重新获取"
+ });
+ let set = setInterval(function() {
+ that.setData({
+ codetext: "(" + --time + ")秒后重新获取",
+ });
+ }, 1000);
+ setTimeout(function() {
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ }, 60000);
+ that.verificationCode(set);
+ },
+ //发送验证码
+ verificationCode(set) {
+ let that = this;
+ if (app._isTextEmpty(this.data.mobile) || app._isMoblie(this.data.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '手机号数据错误',
+ duration: 1500
+ });
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ return;
+ }
+ let urlStr = app.getNetAddresss("member.balance-password.send-code");
+ urlStr += '&mobile=' + this.data.mobile;
+ //发送获取验证码的请求
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: '已发送',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ submitInfo() {
+ if (app._isTextEmpty(this.data.code)) {
+ return app.tips("验证码不能为空");
+ }
+ if (app._isTextEmpty(this.data.newPwd)) {
+ return app.tips("新密码不能为空");
+ }
+ if (app._isTextEmpty(this.data.newPwdConfirm)) {
+ return app.tips("新密码不能为空");
+ }
+ if (this.data.newPwd!=this.data.newPwdConfirm) {
+ return app.tips("密码不一致");
+ }
+
+
+
+ let that = this;
+ let urlStr = app.getNetAddresss("member.balance-password.update-password");
+ urlStr += '&password=' + that.data.newPwd;
+ urlStr += '&confirmed=' + that.data.newPwdConfirm;
+ urlStr += '&code=' + that.data.code;
+ urlStr += '&mobile=' + that.data.mobile;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: '修改成功',
+ duration: 1500
+ });
+ setTimeout(function() {
+ // 要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); // 延迟时间
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ newPwdshow() {
+ if (this.data.newPwdBol) {
+ this.setData({
+ newPwdBol: false
+ });
+ } else {
+ this.setData({
+ newPwdBol: true
+ });
+ }
+ },
+ newPwdConfirmshow() {
+ if (this.data.newPwdBolConfirm) {
+ this.setData({
+ newPwdBolConfirm: false
+ });
+ } else {
+ this.setData({
+ newPwdBolConfirm: true
+ });
+ }
+ }
+});
diff --git a/packageA/member/balance_password/balance_password.json b/packageA/member/balance_password/balance_password.json
new file mode 100644
index 0000000..0bf078a
--- /dev/null
+++ b/packageA/member/balance_password/balance_password.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "修改支付密码",
+ "usingComponents": {
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-field": "../../../dist/field/index",
+ "van-icon": "../../../dist/icon/index",
+ "pay-keyboard":"/mycomponent/payKeyboard/payKeyboard"
+ }
+}
diff --git a/packageA/member/balance_password/balance_password.wxml b/packageA/member/balance_password/balance_password.wxml
new file mode 100644
index 0000000..7135840
--- /dev/null
+++ b/packageA/member/balance_password/balance_password.wxml
@@ -0,0 +1,51 @@
+
+
+
+ 验证码发送到:{{mobile}}
+
+
+
+
+
+
+
+ {{codetext}}
+
+
+
+
+
+
+ 新密码:
+
+
+
+
+
+
+
+
+
+
+
+
+ 再次确认:
+
+
+
+
+
+
+
+
+
+
+
+ 确认修改
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/balance_password/balance_password.wxss b/packageA/member/balance_password/balance_password.wxss
new file mode 100644
index 0000000..fe6c453
--- /dev/null
+++ b/packageA/member/balance_password/balance_password.wxss
@@ -0,0 +1,63 @@
+/* pages/member/balance_password/balance_password.wxss */
+page {
+ background: #fff;
+}
+
+.passinfo .code {
+ display: flex;
+ align-items: center;
+}
+
+.passinfo .span {
+ line-height: 88rpx;
+ font-size: 28rpx;
+ padding-left: 20rpx;
+}
+
+.passinfo .code .right {
+ background-color: #ebebeb;
+ color: #f15353;
+ font-size: 28rpx;
+ border-radius: 60rpx;
+ padding: 0 20rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+}
+
+.passinfo .code .right.disabled {
+ background-color: #ccc;
+ color: #f0f0f0;
+}
+
+.passinfo .buttonGropup {
+ padding-top: 20rpx;
+}
+
+.passinfo .buttonGropup .button {
+ width: 660rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ font-size: 32rpx;
+ border-radius: 20rpx;
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ text-align: center;
+ margin: 0 auto 40rpx;
+}
+
+.passinfo .pas {
+ height: 88rpx;
+ display: flex;
+ padding-left: 20rpx;
+ align-items: center;
+}
+
+.passinfo .pas .right {
+ display: flex;
+ align-items: center;
+}
+
+.passinfo .pas .right .van-icon {
+ padding-top: 10rpx;
+}
diff --git a/packageA/member/conferenceList/conferenceList.js b/packageA/member/conferenceList/conferenceList.js
new file mode 100644
index 0000000..5dbf7ce
--- /dev/null
+++ b/packageA/member/conferenceList/conferenceList.js
@@ -0,0 +1,119 @@
+// pages/conferenceList/conferenceList.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ conference: ""
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this.setData({
+ conference: ""
+ });
+ this.getConference();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+ return{
+ path:'packageA/member/conferenceList/conferenceList'
+ };
+ },
+ onShareTimeline(){
+ return{
+ path:'packageA/member/conferenceList/conferenceList'
+ };
+ },
+ //获取活动列表数据
+ getConference() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.conference.api.conference-activity.get-activity");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ conference: res.data
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ goMeetingIndex() {
+ wx.navigateTo({
+ url: '/packageB/conference/MeetingIndex/MeetingIndex'
+ });
+ },
+ goactivity(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageB/conference/activity/activity?id=' + id
+ });
+ },
+ onActivityInfo(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageB/conference/myActivityInfo/myActivityInfo?id=' + id
+ });
+ }
+});
diff --git a/packageA/member/conferenceList/conferenceList.json b/packageA/member/conferenceList/conferenceList.json
new file mode 100644
index 0000000..52f30d7
--- /dev/null
+++ b/packageA/member/conferenceList/conferenceList.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "活动报名",
+ "usingComponents": {
+ "van-nav-bar": "../../../dist/nav-bar/index"
+ }
+}
diff --git a/packageA/member/conferenceList/conferenceList.wxml b/packageA/member/conferenceList/conferenceList.wxml
new file mode 100644
index 0000000..e8858a6
--- /dev/null
+++ b/packageA/member/conferenceList/conferenceList.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+ 活动时间
+ {{item.starttime}} 至 {{item.endtime}}
+
+
+
+ 我要报名
+
+
+ 报名人数已满,请等待下次活动或者选择其他活动
+
+
+ 活动已过期,请等待下次活动或者选择其他活动
+
+
+
+
+ 已报名,点击查看报名信息
+
+
+ 活动已过期,请等待下次活动或者选择其他活动
+
+
+
+
+
+
diff --git a/packageA/member/conferenceList/conferenceList.wxss b/packageA/member/conferenceList/conferenceList.wxss
new file mode 100644
index 0000000..f816832
--- /dev/null
+++ b/packageA/member/conferenceList/conferenceList.wxss
@@ -0,0 +1,58 @@
+/* pages/conferenceList/conferenceList.wxss */
+.c-content {
+ font-size: 28rpx;
+ font-weight: bold;
+ border-top: 2rpx solid #ebebeb;
+ line-height: 80rpx !important;
+ height: 80rpx !important;
+}
+
+.tool .h3 {
+ font-size: 28rpx;
+ line-height: 72rpx;
+ padding: 0 28rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ box-sizing: border-box;
+ text-align: center;
+}
+
+.tool .h3.message {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.tool .ul .li {
+ width: 100% !important;
+ max-height: 544rpx;
+ overflow: hidden;
+ padding: 0 !important;
+}
+
+.tool .ul .li image {
+ width: 100% !important;
+
+ /* height: 544rpx; */
+}
+
+.tool .h3 .right {
+ font-size: 24rpx;
+ color: rgb(28, 192, 21);
+}
+
+.tool .button {
+ margin: 20rpx 0;
+ color: #fff;
+ background-color: #1cc015;
+ display: inline-block;
+ font-size: 28rpx;
+ padding: 0 24rpx;
+ height: 66rpx;
+ border-radius: 8rpx;
+ line-height: 66rpx;
+ text-align: center;
+}
+
+.tool .button.disabled {
+ opacity: 0.6;
+}
diff --git a/packageA/member/coupon_v2/coupon_v2.js b/packageA/member/coupon_v2/coupon_v2.js
new file mode 100644
index 0000000..6214729
--- /dev/null
+++ b/packageA/member/coupon_v2/coupon_v2.js
@@ -0,0 +1,556 @@
+// pages/member/coupon_v2/coupon_v2.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ selected: 0,
+ selectedidx: '1',
+ page: 1,
+ pageSize: 10,
+ total_page: 0,
+ isPresenter: false,
+ //待使用
+ wait_used: [],
+ overdue: [],
+ used: [],
+ usermessage: {
+ value: '',
+ item: '',
+ index: ''
+ },
+ presentershow: false,
+ display: 99999,
+ listData: [{
+ type: 1
+ },
+ {
+ type: 2
+ },
+ {
+ type: 3
+ },
+ {
+ type: 4
+ },
+ {
+ type: 5
+ },
+ {
+ type: 6
+ },
+ {
+ type: 7
+ }
+ ],
+ bottomIndex: '',
+ // types:['全部','平台','门店','酒店','指定商品','分类商品','兑换卷','满减卷','折扣卷','快过期'],
+ types: [],
+ typesIndex: 0,
+ kFootshow: true,
+ write_off_coupon: false,
+ share_coupon: false,
+ combine_show: false,
+
+ couponListDataSet: [], //数据集
+ couponListData: [],
+ colors: ['#fbbd5c', '#ff8383', '#a291ff', '#f095ed', '#6dccf8', '#fb946c', '#cecece'],
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+
+ },
+ tapGo(e) {
+ if (this.data.selectedidx == '1') {
+
+ // let info = JSON.stringify(e.currentTarget.dataset.info);
+ let info = e.currentTarget.dataset.info;
+ // let mun;
+ if (this.data.isPresenter) {
+ info.isPresenter = this.data.isPresenter;
+ }
+ console.log();
+ if (info.num) {
+ console.log(info);
+ wx.navigateTo({
+ url: '/packageA/member/coupon_v2_detail/coupon_v2_detail?info=' + JSON.stringify(info) + '&combine=' + this.data.combine,
+ });
+ } else {
+ info.num = '1';
+ wx.navigateTo({
+ url: '/packageA/member/coupon_v2_detail/coupon_v2_detail?info=' + JSON.stringify(info) + '&combine=' + this.data.combine,
+ });
+ }
+ }
+
+ },
+ showButton(evt) {
+ let index = evt.detail;
+ console.log(evt.detail);
+ if (this.data.selectedidx == 1) {
+ this.data.wait_used[index].openIs = !this.data.wait_used[index].openIs;
+ this.setData({
+ wait_used: this.data.wait_used
+ });
+ } else if (this.data.selectedidx == 2) {
+ this.data.overdue[index].openIs = !this.data.overdue[index].openIs;
+ this.setData({
+ overdue: this.data.overdue
+ });
+ } else if (this.data.selectedidx == 3) {
+ this.data.used[index].openIs = !this.data.used[index].openIs;
+ this.setData({
+ used: this.data.used
+ });
+ }
+ },
+ setTypesIndex(evt) {
+ let index = evt.currentTarget.dataset.index;
+ if (index == this.data.typesIndex) return;
+ this.setData({
+ typesIndex: index
+ });
+ this._getNetData(this.data.selectedidx, index);
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this._initData();
+ this._getNetData(1, this.data.typesIndex);
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ let page = this.data.page;
+ let pageSize = this.data.pageSize;
+ let pageStart = page * pageSize;
+ let pageEnd = (page + 1) * pageSize;
+ console.log(pageStart, pageEnd);
+ if (pageStart >= this.data.couponListDataSet.length) return;
+ if (pageEnd > this.data.couponListDataSet.length) pageEnd = this.data.couponListDataSet.length;
+
+ let moreData = this.data.couponListDataSet.slice(pageStart, pageEnd);
+
+ this.setData({
+ page: (page + 1),
+ couponListData: this.data.couponListData.concat(moreData)
+ });
+
+ console.log(this.data.page);
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ onShareTimeline(){},
+ getmemberInfo(e) {
+ let val = e.detail.value;
+ var that = this;
+ let urlStr = app.getNetAddresss("member.member.memberInfo");
+ urlStr += '&uid=' + val;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ memberInfo: res.data.nickname ? res.data.nickname : ''
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //发起http请求
+ _getNetData(type, coupon_type) {
+ if (wx.tempCqSwipeCell) {
+ wx.tempCqSwipeCell.setData({
+ prevBox: 0
+ });
+ }
+ this.setData({
+ couponListData: [],
+ });
+ let that = this;
+ this.data.page = 1;
+ let urlStr = app.getNetAddresss("coupon.member-coupon.coupons-of-member-by-status-v2");
+
+ if (app.globalData.store_alone_temp == 1) {
+ // 开启门店独立模块
+ urlStr = app.getNetAddresss("plugin.store-alone-temp.frontend.coupon.coupons-of-member-by-status-v2");
+ }
+
+ urlStr += "&status_request=" + type;
+ urlStr += "&coupon_type=" + coupon_type;
+ urlStr += "&page=1";
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data;
+
+ that.data.total_page = res.data.total ? res.data.total : 0;
+ that.data.couponListDataSet = myData.data;
+ console.log(typeof (res.data.search_array));
+
+ if (res.data.set) {
+ that.setData({
+ isPresenter: res.data.set.transfer
+ });
+ }
+
+ if (res.data.search_array) {
+ that.setData({
+ types: res.data.search_array || []
+ });
+ for (let i = 0; i < myData.data.length; i++) {
+ myData.data[i].openIs = false;
+ myData.data[i].ind = i;
+ if (myData.data[i].belongs_to_coupon.coupon_type_name == '门店商品') {
+ myData.data[i].type = 6;
+ } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '平台商品') {
+ myData.data[i].type = 1;
+ } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '兑换券') {
+ myData.data[i].type = 2;
+ } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '分类商品') {
+ myData.data[i].type = 3;
+ } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '指定商品') {
+ myData.data[i].type = 4;
+ } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '酒店商品') {
+ myData.data[i].type = 5;
+ } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '商品和门店') {
+ myData.data[i].type = 8;
+ }
+ }
+ }
+
+ that.setData({
+ couponListData: that.data.couponListDataSet.slice(0, that.data.pageSize),
+ });
+
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //切换优惠券状态列表
+ switchItem(e) {
+ let index = e.detail.index;
+ if ((index + 1) == this.data.selectedidx) return;
+ if (index == 0) {
+ this.setData({
+ selectedidx: '1'
+ });
+ } else if (index == 1) {
+ this.setData({
+ selectedidx: '2'
+ });
+ } else if (index == 2) {
+ this.setData({
+ selectedidx: '3'
+ });
+ }
+ this._initData();
+ console.log(this.data.typesIndex);
+ this._getNetData(this.data.selectedidx, this.data.typesIndex);
+ },
+ _initData() {
+ this.setData({
+ page: 1,
+ goload: true,
+ total_page: 0,
+ allLoaded: false,
+ isLoadMore: true,
+ isPresenter: false
+ });
+
+ },
+ presenterOnce(e) {
+ console.log(e);
+ let item = e.detail.item;
+ let ind = e.detail.ind;
+ this.presenter(item, ind);
+ },
+ //赠送优惠券
+ presenter(item, index) {
+ let that = this;
+ // let item = e.currentTarget.dataset.item;
+ // let index = e.currentTarget.dataset.index;
+ that.setData({
+ 'usermessage.value': '',
+ 'usermessage.item': '',
+ 'usermessage.index': '',
+ memberInfo: ''
+ });
+ that.setData({
+ 'usermessage.item': item,
+ 'usermessage.index': index,
+ 'presentershow': true
+ });
+ },
+ onconfirm(event) {
+ let that = this;
+ if (app._isTextEmpty(this.data.usermessage.value)) {
+ wx.showToast({
+ icon: 'none',
+ title: '用户ID不能为空',
+ duration: 1000
+ });
+ this.setData({
+ presentershow: false
+ });
+ return;
+ }
+ that._presenterPost(this.data.usermessage.value, this.data.usermessage.item, this.data.usermessage.index);
+ },
+ onclose(event) {
+ let that = this;
+ that.setData({
+ 'usermessage.value': '',
+ 'usermessage.item': '',
+ 'usermessage.index': ''
+ });
+ that.setData({
+ presentershow: false
+ });
+ },
+ usermesbut: function (e) {
+ let val = e.detail.value;
+ this.setData({
+ 'usermessage.value': val
+ });
+ },
+ //赠送post
+ _presenterPost(value, item, index) {
+ let that = this;
+ let urlStr = app.getNetAddresss("coupon.coupon-transfer.index");
+ urlStr += "&recipient=" + value;
+ urlStr += "&record_id=" + item.id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.wait_used.length > 0) {
+ let wait_used = that.data.wait_used;
+ wait_used.splice(index, 1);
+ that.setData({
+ wait_used: wait_used
+ });
+ wx.showToast({
+ icon: 'none',
+ title: '操作成功',
+ duration: 1500
+ });
+ }
+ that.setData({
+ presentershow: false
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ that.setData({
+ presentershow: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ goBuyOnce(e) {
+ console.log(e);
+ let item = e.detail.item;
+ let ind = e.detail.ind;
+ this.goBuy(item, ind);
+ },
+ //通过类型去查询可用商品
+ goBuy(item, ind) {
+ // let item = e.currentTarget.dataset.item;
+ console.log('packageB/member/category/search_v2/search_v2');
+ if (item.belongs_to_coupon.use_type == 0) { //0商城通用
+ this.goHome();
+ } else if (item.belongs_to_coupon.use_type == 1) { //1指定分类
+ wx.navigateTo({
+ url: '/packageB/member/category/catelist/catelist?id=' + JSON.stringify(item.belongs_to_coupon.category_ids) +
+ '&fromHome=1'
+ });
+ } else if (item.belongs_to_coupon.use_type == 2) { //2指定商品
+ wx.navigateTo({
+ url: '/packageB/member/category/search_v2/search_v2?coupon=' + item.belongs_to_coupon.id + '&fromHome=1'
+ });
+ } else if (
+ item.belongs_to_coupon.use_type === 4 &&
+ Array.isArray(item.belongs_to_coupon.storeids)
+ ) {
+ //4门店列表
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oHome/o2oHome'
+ });
+ } else if (
+ item.belongs_to_coupon.use_type === 5 &&
+ typeof item.belongs_to_coupon.storeids === "number"
+ ) {
+ //5单门店
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + item.belongs_to_coupon.storeids
+ });
+ } else if (
+ item.belongs_to_coupon.use_type === 7 &&
+ Array.isArray(item.belongs_to_coupon.hotel_ids)
+ ) {
+ wx.navigateTo({
+ url: '/packageC/hotel/HotelIndex/HotelIndex'
+ });
+ } else if (
+ item.belongs_to_coupon.use_type === 6 &&
+ typeof item.belongs_to_coupon.hotel_ids === "number"
+ ) {
+ wx.navigateTo({
+ url: '/packageC/hotel/HotelHome/HotelHome?id=' + item.belongs_to_coupon.hotel_ids
+ });
+ } else if (
+ item.belongs_to_coupon.use_type === 8
+ ) {
+ wx.navigateTo({
+ url: '/packageB/member/category/search_v2/search_v2?keyword=' + item.belongs_to_coupon.goods_ids[0]
+ });
+ } else {
+ this.goHome();
+ }
+ },
+ goHome() {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ },
+ toggle(e) {
+ let index = e.currentTarget.dataset.index;
+ if (this.data.display == index) {
+ this.setData({
+ display: 99999
+ });
+ } else {
+ this.setData({
+ display: index
+ });
+ }
+ },
+ delteteItem(e) {
+ console.log(e);
+ let item = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index;
+ let urlStr = app.getNetAddresss("coupon.member-coupon.delete");
+ urlStr += "&id=" + item.id;
+
+ if (wx.tempCqSwipeCell) {
+ wx.tempCqSwipeCell.setData({
+ prevBox: 0
+ });
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let couponListData = this.data.couponListData;
+ couponListData.splice(index, 1);
+ this.setData({
+ couponListData
+ });
+ wx.showToast({
+ icon: 'none',
+ title: '操作成功',
+ duration: 1000
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ gocouponStore() {
+ //跳转到领卷中心
+ wx.redirectTo({
+ url: '/packageD/coupon/coupon_store'
+ });
+ },
+ usermesbutInput(e) {
+ let val = e.detail.value;
+ this.data.usermessage.value = val;
+ },
+ tabrshowbtn(e) {
+ let bol = e.detail;
+ if (bol) {
+ this.setData({
+ kFootshow: false
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/coupon_v2/coupon_v2.json b/packageA/member/coupon_v2/coupon_v2.json
new file mode 100644
index 0000000..5147bf4
--- /dev/null
+++ b/packageA/member/coupon_v2/coupon_v2.json
@@ -0,0 +1,15 @@
+{
+ "navigationBarTitleText": "我的优惠券",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-swipe-cell": "../../../dist/swipe-cell/index",
+ "van-icon": "../../../dist/icon/index",
+ "van-dialog": "../../../dist/dialog/index",
+ "van-field": "../../../dist/field/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "swipe-cell":"./swipeCell",
+ "kFoot": "../../../mycomponent/foot/foot"
+ }
+}
diff --git a/packageA/member/coupon_v2/coupon_v2.wxml b/packageA/member/coupon_v2/coupon_v2.wxml
new file mode 100644
index 0000000..28c8101
--- /dev/null
+++ b/packageA/member/coupon_v2/coupon_v2.wxml
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+ {{types[index]}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.belongs_to_coupon.discount}}折
+ 满{{item.belongs_to_coupon.enough}}可用
+
+
+ {{language['money']}}{{item.belongs_to_coupon.deduct}}
+ 满{{item.belongs_to_coupon.enough}}立减
+
+
+
+
+
+ 快过期
+ 已过期
+ 已过期
+
+
+
+ {{item.belongs_to_coupon.coupon_type_name}}
+ {{item.belongs_to_coupon.coupon_type_name}}
+
+ {{item.num}}张
+
+
+
+ {{item.belongs_to_coupon.name}}
+
+ 有效期:{{item.time_start}}-{{item.time_end}}
+
+
+ {{item.api_limit}}
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+ 领券中心
+
+
+ 提示
+
+ 请输入用户ID
+
+ 昵称:{{memberInfo}}
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/coupon_v2/coupon_v2.wxss b/packageA/member/coupon_v2/coupon_v2.wxss
new file mode 100644
index 0000000..a8fd271
--- /dev/null
+++ b/packageA/member/coupon_v2/coupon_v2.wxss
@@ -0,0 +1,290 @@
+/* pages/member/coupon_v2/coupon_v2.wxss */
+page {
+ background: #fff;
+}
+
+view,
+text,
+icon {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+}
+
+.coupon_card .seat_link {
+ width: 100%;
+ height: 15rpx;
+ background-color: #eeecec;
+}
+
+.coupon_card .types {
+ width: auto;
+ height: 120rpx;
+ padding: 0 30rpx;
+ display: flex;
+ align-items: center;
+ flex-wrap: nowrap;
+ box-sizing: border-box;
+}
+
+.coupon_card .types .text {
+ padding: 10rpx 20rpx;
+ font-size: 23rpx;
+ letter-spacing: 1rpx;
+ color: #000;
+ background-color: #eeecec;
+ border-radius: 17rpx;
+ margin-left: 12rpx;
+ white-space: nowrap;
+}
+
+.coupon_card .types .text.active {
+ color: #fff;
+ background-color: #4f4f4f;
+}
+
+.coupon_card .types .type_item:last-child {
+ padding-right: 50rpx;
+}
+
+.coupon-shop {
+ position: fixed;
+ bottom: 200rpx;
+ right: 38rpx;
+ width: 151rpx;
+ height: 164rpx;
+
+ /* width: 100%;
+ font-size: 32rpx;
+ padding: 20rpx 28rpx;
+ line-height: 92rpx; */
+}
+
+.coupon-shop image {
+ width: 100%;
+ height: 100rpx;
+}
+
+.coupon-shop .text {
+ height: 44rpx;
+ width: 151rpx;
+ background-color: #fb605f;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 15rpx;
+}
+
+.usercontent {
+ display: flex;
+
+ /* align-items: center; */
+ padding: 10rpx 6rpx 10rpx 6rpx;
+ flex-direction: column;
+}
+
+.usercontent .left {
+ font-size: 28rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ text-align: center;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+ color: #999;
+}
+
+.usercontent .right {
+ /* flex: 1; */
+
+ /* margin-left: 10rpx; */
+ margin: 30rpx 40rpx;
+ border: 1rpx solid #999;
+ border-radius: 10rpx;
+ padding: 10rpx;
+}
+
+.usercontent .right input {
+ width: 100%;
+ height: 40rpx;
+ line-height: 40rpx;
+}
+
+.coupon_voucher {
+ width: 704rpx;
+ margin: 0 auto;
+ margin-bottom: 40rpx;
+ margin-top: 24rpx;
+ display: flex;
+ flex-direction: column;
+ filter: drop-shadow(0rpx 5rpx 18rpx rgba(81, 81, 81, 0.52));
+ transform: translateX(0rpx);
+}
+
+.coupon_voucher .coupon_voucher_wrapper {
+ display: flex;
+}
+
+.coupon_voucher .coupon_voucher_left {
+ width: 245rpx;
+ height: 215rpx;
+ margin-left: 20rpx;
+ position: relative;
+}
+
+.coupon_voucher .coupon_voucher_left .bg_icon {
+ width: 265rpx;
+ height: 215rpx;
+ position: absolute;
+ top: 0;
+ left: -20rpx;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 245rpx;
+ height: 215rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding-top: 15rpx;
+ justify-content: center;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper .discount {
+ letter-spacing: 1rpx;
+ color: #fff;
+ font-size: 52rpx;
+ padding: 0 10rpx;
+ border-bottom: 2rpx dashed #f5f5f5;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper .discount_none {
+ letter-spacing: 1rpx;
+ color: #fff;
+ font-size: 39rpx;
+ padding: 0 10rpx;
+ border-bottom: 2rpx dashed #f5f5f5;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper .limit {
+ letter-spacing: 1rpx;
+ color: #fff;
+ font-size: 22rpx;
+ margin-top: 5rpx;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper .btn {
+ width: 148rpx;
+ height: 42rpx;
+ background-color: #fff;
+ border-radius: 14rpx;
+ letter-spacing: 3rpx;
+ color: #fba560;
+ font-size: 25rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-top: 15rpx;
+}
+
+.coupon_voucher .coupon_voucher_right {
+ width: 446rpx;
+ height: 215rpx;
+ padding: 18rpx 18rpx 22rpx 22rpx;
+ position: relative;
+ overflow: hidden;
+ background-color: #fff;
+}
+
+.coupon_voucher .coupon_voucher_right .status {
+ background-color: rgb(66, 163, 84);
+ font-style: normal;
+ position: absolute;
+ top: 18rpx;
+ right: -28rpx;
+ width: 120rpx;
+ display: block;
+ height: 32rpx;
+ font-size: 20rpx;
+ text-align: center;
+ color: #fff;
+ transform: rotate(45deg);
+}
+
+.coupon_voucher .coupon_voucher_right .status.black {
+ color: #fff;
+ height: 42rpx;
+ line-height: 42rpx;
+ font-size: 24rpx;
+ width: 150rpx;
+ right: -35rpx;
+ background-color: rgb(206, 206, 206);
+}
+
+.coupon_voucher .coupon_voucher_right .c1 {
+ display: flex;
+ align-items: center;
+}
+
+.coupon_voucher .coupon_voucher_right .c1 .label {
+ background-color: #fbbd5c;
+ border-radius: 7rpx;
+ color: #fff;
+ font-size: 26rpx;
+ padding: 7rpx 18rpx 7rpx 14rpx;
+}
+
+.coupon_voucher .coupon_voucher_right .c1 .title {
+ height: 40rpx;
+ border-radius: 7rpx;
+ border: solid 2rpx #ff5d5d;
+ padding: 0 10rpx;
+ margin-left: 20rpx;
+ color: #ff5d5d;
+ font-size: 26rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.coupon_voucher .coupon_voucher_right .c2 {
+ margin-top: 21rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-end;
+ font-size: 28rpx;
+ letter-spacing: 1rpx;
+ font-weight: 600;
+
+ /* overflow: hidden;
+ text-overflow:ellipsis;
+ white-space: nowrap; */
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+.coupon_voucher_btm {
+ margin-left: 20rpx;
+ display: block;
+ position: relative;
+ box-sizing: border-box;
+ padding: 16rpx 20rpx;
+ background-color: #fff;
+ border-bottom-left-radius: 6rpx;
+ border-bottom-right-radius: 6rpx;
+}
+
+.van-swipe-cell__right {
+ width: 65px;
+ height: 100%;
+ font-size: 15px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ background-color: #ee0a24;
+}
diff --git a/packageA/member/coupon_v2/swipeCell.js b/packageA/member/coupon_v2/swipeCell.js
new file mode 100644
index 0000000..61ad65f
--- /dev/null
+++ b/packageA/member/coupon_v2/swipeCell.js
@@ -0,0 +1,43 @@
+// packageA/member/coupon_v2/test.js
+Component({
+
+ options: {
+ multipleSlots:true
+ },
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ rightWidth:{
+ type:Number,
+ value:0,
+ },
+ leftWidth:{
+ type:Number,
+ value:0,
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ prevBox:0
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ closePrevBox(){
+ if(wx.tempCqSwipeCell){
+ if(wx.tempCqSwipeCell != this){
+ wx.tempCqSwipeCell.setData({
+ prevBox:0
+ });
+ }
+ }
+ wx.tempCqSwipeCell = this;
+ }
+ }
+});
diff --git a/packageA/member/coupon_v2/swipeCell.json b/packageA/member/coupon_v2/swipeCell.json
new file mode 100644
index 0000000..7efff18
--- /dev/null
+++ b/packageA/member/coupon_v2/swipeCell.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/coupon_v2/swipeCell.wxml b/packageA/member/coupon_v2/swipeCell.wxml
new file mode 100644
index 0000000..447b189
--- /dev/null
+++ b/packageA/member/coupon_v2/swipeCell.wxml
@@ -0,0 +1,176 @@
+
+
+
+
+
+
+
+
+
+{{test.rightWidthObserver(rightWidth)}}
+{{test.leftWidthObserver(leftWidth)}}
+
+
+ var rightWidth = 0;
+ var leftWidth = 0;
+ var direction=0;
+ var time=0;
+ function rightWidthObserver(w){
+ rightWidth = -w;
+ console.log("rightWidthObserver",w);
+ }
+ function leftWidthObserver(w){
+ leftWidth = w;
+ }
+
+// 拖动中时的事件
+function lwmove(event, ins) {
+
+ //组件实例
+ var node = ins.selectComponent(".ceil");
+
+ console.log("rightWidthObserver",rightWidth);
+ // 获取拖动点的坐标数据
+ var touch = event.touches[0] || event.changedTouches[0]
+ //拿出拖动开始时存储的数据
+ var moveE = ins.getState();
+
+ direction = (touch.pageX - moveE.pageX );
+ moveE.pageX = touch.pageX;
+ console.log("向左还是向右",direction);
+ //计算拖动点与拖动开始时的触发点之间的横坐标之差
+ var gap = touch.pageX - moveE.startX + moveE.rX;
+
+ //获取左滑的距离(拖动中不存储这个数据,而是拖动结束来存储这个数据)
+ var left = moveE.rX;
+
+ //为向左滑动做处理,开始设置左滑的距离
+ if(gap>=leftWidth) gap = leftWidth;
+ if(gap<=rightWidth) gap = rightWidth;
+ // 设置组件向左滑的距离
+ node.setStyle({
+ "transform": "translateX(" + (gap ) + "px) rotate(0deg)"
+ })
+ // if (gap < 0) {
+ // // 设置组件向左滑的距离
+ // node.setStyle({
+ // "transform": "translateX(" + (gap + left) + "px)"
+ // })
+ // }
+
+ //console.log("拖动中", gap,left,(gap + left));
+
+}
+
+// 拖动结束时的事件
+function lwend(event, ins) {
+ console.log("拖动结束");
+ //组件实例
+
+ var node = ins.selectComponent(".ceil");
+
+
+ // 获取离开点的坐标数据
+ var touch = event.touches[0] || event.changedTouches[0]
+ //拿出拖动开始时存储的数据
+ var moveE = ins.getState();
+ var x = touch.pageX;
+
+ //计算拖动点与拖动开始时的触发点之间的横坐标之差
+ var gap = x - moveE.startX+moveE.rX;
+ if(Math.abs(moveE.startY-touch.pageY) > Math.abs(gap) && Math.abs(gap)<20) {
+ node.setStyle({
+ "transform": "translateX("+moveE.rX+"px) rotate(0deg)"
+ })
+ return;
+ };
+
+ time = getDate().getTime()-time;
+ console.log("time",time);
+ if(gap>=leftWidth) gap = leftWidth;
+ if(gap<=rightWidth) gap = rightWidth;
+ console.log(gap,moveE.rX, "gggg");
+ if(direction>0){ //向右滑
+
+ if(gap<=leftWidth && gap>=0 && moveE.rX == 0){
+ gap = leftWidth;
+ }else if(gap<=leftWidth && gap>=0 && time>300){
+ gap = leftWidth;
+ } else if(moveE.rX == leftWidth){
+ gap = leftWidth;
+ }else {
+ gap = 0;
+ }
+ }else {//向左滑
+ if(gap>=rightWidth && gap<=0 && moveE.rX == 0){
+ gap=rightWidth;
+ }else if(gap>=rightWidth && gap<=0 && time>300){
+ gap=rightWidth;
+ }else if(moveE.rX == rightWidth){
+ gap=rightWidth;
+ }else{
+ gap = 0;
+ }
+ }
+ moveE.rX = gap;
+ node.setStyle({
+ "transform": "translateX("+gap+"px) rotate(0deg)"
+ })
+
+ // if (gap <= rightWidth) { // 左滑
+ // // 设置左滑最大距离
+ // node.setStyle({
+ // "transform": "translateX("+rightWidth+"px)"
+ // })
+ // // 存储左滑距离
+ // moveE.rX = rightWidth;
+ // } else if (gap >= leftWidth) {
+ // //右滑
+ // //设置左滑最小距离
+ // node.setStyle({
+ // "transform": "translateX("+leftWidth+"px)"
+ // })
+ // // 存储左滑距离
+ // moveE.rX = leftWidth;
+ // }
+
+}
+module.exports = {
+ touchStart:function(event, ins){
+ // 获取事件触发点的坐标数据
+ var touch = event.touches[0] || event.changedTouches[0]
+ //存储坐标数据,后期使用
+ var moveE = ins.getState();
+ moveE.startX = touch.pageX;
+ moveE.startY = touch.pageY;
+ direction=0;
+ time = getDate().getTime();
+ ins.callMethod("closePrevBox");
+ //默认左滑当前的距离,也要存储起来
+ if (!moveE.rX) {
+ moveE.rX = 0;
+ }
+ moveE.pageX = 0;
+ console.log('inss', ins.setStyle)
+ },
+ touchmove: lwmove,
+ touchEnd:lwend,
+ closePrevBox:function(newValue, oldValue, ownerInstance, instance){
+ var node = ownerInstance.selectComponent(".ceil");
+ node.setStyle({
+ "transform": "translateX(0px) rotate(0deg)"
+ })
+ },
+ rightWidthObserver:rightWidthObserver,
+ leftWidthObserver:leftWidthObserver
+}
+
+
+
diff --git a/packageA/member/coupon_v2/swipeCell.wxss b/packageA/member/coupon_v2/swipeCell.wxss
new file mode 100644
index 0000000..13e98b4
--- /dev/null
+++ b/packageA/member/coupon_v2/swipeCell.wxss
@@ -0,0 +1,21 @@
+/* packageA/member/coupon_v2/test.wxss */
+
+.ceil {
+ position: relative;
+ transition: 0.5s;
+ transform: translateX(0) rotate(0deg);
+}
+
+.right-ceil {
+ position: absolute;
+ right: 0;
+ transform: translateX(100%);
+ height: 100%;
+}
+
+.left-ceil {
+ position: absolute;
+ left: 0;
+ transform: translateX(-100%);
+ height: 100%;
+}
diff --git a/packageA/member/coupon_v2_detail/coupon_v2_detail.js b/packageA/member/coupon_v2_detail/coupon_v2_detail.js
new file mode 100644
index 0000000..4181cb0
--- /dev/null
+++ b/packageA/member/coupon_v2_detail/coupon_v2_detail.js
@@ -0,0 +1,409 @@
+// packageA/member/coupon_v2_detail/coupon_v2_detail.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ info: '',
+ rechargeNum: 1,
+ config_info: {
+ switch: 0
+ },
+ presentershow: false,
+ showRechargePay: false,
+ multiple_use:{is_open:false,nums:0}, //是否开启多张赠送
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ console.log(JSON.parse(options.info));
+ if (options.info) {
+ this.setData({
+ info: JSON.parse(options.info)
+ });
+ }
+ if (options.combine) {
+ this.setData({
+ combine: options.combine
+ });
+ }
+
+ this.getdetail();
+ },
+ //赠送优惠券
+ presenter(item, index) {
+ let that = this;
+ console.log(item, this.info);
+ // let item = e.currentTarget.dataset.item;
+ // let index = e.currentTarget.dataset.index;
+ that.setData({
+ 'usermessage.value': '',
+ 'usermessage.item': '',
+ 'usermessage.index': '',
+ memberInfo: ''
+ });
+ that.setData({
+ 'usermessage.item': item,
+ 'usermessage.index': index,
+ 'presentershow': true
+ });
+ },
+ onclose(event) {
+ let that = this;
+ that.setData({
+ 'usermessage.value': '',
+ 'usermessage.item': '',
+ 'usermessage.index': ''
+ });
+ that.setData({
+ presentershow: false
+ });
+ },
+ usermesbut: function (e) {
+ let val = e.detail.value;
+ this.setData({
+ 'usermessage.value': val
+ });
+ },
+ usermesbutInput(e) {
+ let val = e.detail.value;
+ this.data.usermessage.value = val;
+ },
+ onconfirm(event) {
+ let that = this;
+ console.log(this.data.usermessage);
+ if (app._isTextEmpty(this.data.usermessage.value)) {
+ wx.showToast({
+ icon: 'none',
+ title: '用户ID不能为空',
+ duration: 1000
+ });
+ this.setData({
+ presentershow: false
+ });
+ return;
+ }
+ if (this.data.memberInfo == '查无此用户') {
+ wx.showToast({
+ icon: 'none',
+ title: '查询不到该用户ID,请确认无误!',
+ duration: 1000
+ });
+ return;
+ }
+ if (this.data.config_info.switch) {
+ this.setData({
+ showRechargePay: true
+ });
+ return;
+ }
+ that._presenterPost();
+ },
+ //赠送post
+ _presenterPost() {
+ let that = this;
+ let urlStr = app.getNetAddresss("coupon.coupon-transfer.index");
+ urlStr += "&recipient=" + this.data.usermessage.value;
+ urlStr += "&record_id=" + this.data.info.id;
+ if (this.data.config_info.switch) {
+ urlStr += "&quantity=" + this.data.rechargeNum;
+ urlStr += "&coupon_id=" + this.data.info.coupon_id;
+ }else{
+ urlStr += "&transfer_num=" + this.data.rechargeNum;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.config_info.switch) {
+ //跳转支付手续费
+ wx.navigateTo({
+ url: '/packageD/buy/orderPay/orderPay?order_id=' + res.data.order_ids + '&status=2'
+ });
+ return;
+ }
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000,
+ success: function (e) {
+ if (that.data.combine) {
+ that.setData({
+ 'info.num': that.data.info.num - 1
+ });
+ setTimeout(() => {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1000);
+ } else {
+ setTimeout(() => {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1000);
+ }
+
+ }
+ });
+ that.setData({
+ presentershow: false
+ });
+
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ that.setData({
+ presentershow: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getmemberInfo(e) {
+ let val = e.detail.value;
+ var that = this;
+ let urlStr = app.getNetAddresss("member.member.memberInfo");
+ urlStr += '&uid=' + val;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ memberInfo: res.data ? res.data.nickname : '查无此用户'
+ });
+ } else {
+ that.setData({
+ memberInfo: '查无此用户'
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getdetail() {
+ let that = this;
+ let urlStr = app.getNetAddresss("coupon.member-coupon.get-detail");
+ urlStr += "&record_id=" + that.data.info.id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let changeData={};
+ changeData.rule=res.data.rule;
+ changeData.img_url=res.data.img_url;
+ changeData.datainfo=res.data.coupon;
+ if (res.data.coupon_fee_plugin) {
+ changeData.config_info=res.data.coupon_fee_plugin;
+ changeData.config_info.switch = parseInt(changeData.config_info.switch);
+ }
+ if(res.data.multiple_use){
+ changeData.multiple_use = res.data.multiple_use;
+ }
+ this.setData(changeData);
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ rentDeleteNumber() {
+ let that = this;
+ if (this.data.rechargeNum - 1 <= 0) {
+ wx.showToast({
+ icon: 'none',
+ title: `转赠张数至少一张`,
+ duration: 1000
+ });
+ that.setData({
+ rechargeNum: 1
+ });
+ return;
+ } else {
+ that.setData({
+ rechargeNum: that.data.rechargeNum - 1
+ });
+ }
+ },
+ rentAddNumber() {
+ let that = this;
+ if(this.data.multiple_use.is_open){
+ if (this.data.rechargeNum + 1 > this.data.multiple_use.nums) {
+ app.tips(`分享张数不足,当前可转赠数量为${that.data.multiple_use.nums}张`);
+ return;
+ }else {
+ that.setData({
+ rechargeNum: that.data.rechargeNum + 1
+ });
+ }
+ }else if (this.data.rechargeNum + 1 > this.data.info.num) {
+ app.tips(`分享张数不足,当前可转赠数量为${that.data.info.num}张`);
+ return;
+ } else {
+ that.setData({
+ rechargeNum: that.data.rechargeNum + 1
+ });
+ }
+ },
+ changeRechargeNum(e) {
+ let val = Number(e.detail.value);
+ let that = this;
+ if(this.data.multiple_use.is_open){
+ if (val > this.data.multiple_use.nums){
+ app.tips(`分享张数不足,当前可转赠数量为${that.data.multiple_use.nums}张`);
+ that.setData({
+ rechargeNum: that.data.multiple_use.nums
+ });
+ }
+ }else if (val > this.data.info.num) {
+ app.tips(`分享张数不足,当前可转赠数量为${that.data.info.num}张`);
+ that.setData({
+ rechargeNum: that.data.info.num
+ });
+ return;
+ }
+ },
+ //立即使用 通过类型去查询可用商品
+ goBuy(e) {
+ // console.log(item)
+ let item = this.data.datainfo;
+ console.log(item);
+ console.log('packageB/member/category/search_v2/search_v2');
+ if (item.use_type == 0) { //0商城通用
+ this.goHome();
+ } else if (item.use_type == 1) { //1指定分类
+ wx.navigateTo({
+ url: '/packageB/member/category/catelist/catelist?id=' + JSON.stringify(item.category_ids) +
+ '&fromHome=1'
+ });
+ } else if (item.use_type == 2 || item.use_type == 8) { //2指定商品
+ if (item.plugin_id == 32) {
+ wx.navigateTo({
+ url: '/packageC/o2o/StoreSearch/StoreSearch?store_id=' + item.storeids + "&goods_ids=" + item.goods_ids.join(",")
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageB/member/category/search_v2/search_v2?coupon=' + item.id + '&fromHome=1'
+ });
+ }
+
+ } else if (
+ item.use_type === 4 &&
+ Array.isArray(item.storeids)
+ ) {
+ //4门店列表
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oHome/o2oHome'
+ });
+ } else if (
+ item.use_type === 5 &&
+ typeof item.storeids === "number"
+ ) {
+ //5单门店
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + item.storeids
+ });
+ } else if (
+ item.use_type === 7 &&
+ Array.isArray(item.hotel_ids)
+ ) {
+ wx.navigateTo({
+ url: '/packageC/hotel/HotelIndex/HotelIndex'
+ });
+ } else if (
+ item.use_type === 6 &&
+ typeof item.hotel_ids === "number"
+ ) {
+ wx.navigateTo({
+ url: '/packageC/hotel/HotelHome/HotelHome?id=' + item.hotel_ids
+ });
+ } else {
+ this.goHome();
+ }
+ },
+ goHome() {
+ wx.reLaunch({
+ url: '/packageG/index/index',
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ let name = wx.getStorageSync('nickname');
+ return{
+ path:"/packageA/member/coupon_v2/coupon_v2",
+ title:`${name}向您分享了优惠券`
+ };
+ },
+ onShareTimeline(){
+ let name = wx.getStorageSync('nickname');
+ return {
+ title:`${name}向您分享了优惠券`
+ };
+ },
+});
\ No newline at end of file
diff --git a/packageA/member/coupon_v2_detail/coupon_v2_detail.json b/packageA/member/coupon_v2_detail/coupon_v2_detail.json
new file mode 100644
index 0000000..10f275d
--- /dev/null
+++ b/packageA/member/coupon_v2_detail/coupon_v2_detail.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "优惠券详情",
+ "usingComponents": {
+ "van-dialog": "../../../dist/dialog/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/coupon_v2_detail/coupon_v2_detail.wxml b/packageA/member/coupon_v2_detail/coupon_v2_detail.wxml
new file mode 100644
index 0000000..fa10165
--- /dev/null
+++ b/packageA/member/coupon_v2_detail/coupon_v2_detail.wxml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+ {{info.belongs_to_coupon.name}}
+
+
+ 转赠
+
+
+
+
+
+ 满{{info.belongs_to_coupon.enough}}可用
+
+
+ {{info.belongs_to_coupon.discount}}折
+
+
+
+
+ 满{{info.belongs_to_coupon.enough}}立减
+
+
+ {{language['money']}}
+ {{info.belongs_to_coupon.deduct}}
+
+
+
+
+
+
+ 有效期:{{info.time_start}} — {{info.time_end}}
+
+
+ 券张数:{{info.num}}张
+
+
+ 适用范围:{{info.belongs_to_coupon.coupon_type_name}}
+
+
+ 使用规则:
+ {{rule}}
+
+
+
+
+ 立即使用
+
+
+
+ 提示
+
+ 请输入用户ID
+
+ 昵称:{{memberInfo}}
+
+
+
+ 赠送张数
+
+ -
+
+ +
+
+
+ 拥有数量 {{multiple_use.nums}}
+
+
+
+
+
+
+
+ {{config_info.protocol_name}}
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/coupon_v2_detail/coupon_v2_detail.wxss b/packageA/member/coupon_v2_detail/coupon_v2_detail.wxss
new file mode 100644
index 0000000..4229fdf
--- /dev/null
+++ b/packageA/member/coupon_v2_detail/coupon_v2_detail.wxss
@@ -0,0 +1,238 @@
+/* packageA/member/coupon_v2_detail/coupon_v2_detail.wxss */
+.detail {
+ min-height: 100vh;
+ background-color: #fc7d7d;
+ overflow: hidden;
+}
+
+.conten {
+ margin: 95rpx 25rpx 46rpx 26rpx;
+ background-color: #fff;
+ border-radius: 14rpx;
+ min-height: 1076rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.image {
+ width: 173rpx;
+ height: 173rpx;
+ background-color: #bbb;
+ border-radius: 50%;
+ margin-top: -70rpx;
+}
+
+.image image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.coupon_name {
+ width: 100%;
+ text-align: center;
+ overflow: hidden;
+ margin-top: 10rpx;
+ font-size: 38rpx;
+ color: #000;
+}
+
+.coupon_list {
+ display: flex;
+ justify-content: center;
+ margin-top: 38rpx;
+ height: 50rpx;
+}
+
+.coupon_list view {
+ font-size: 31rpx;
+ padding: 0 23rpx;
+ border-radius: 30rpx;
+ height: 50rpx;
+}
+
+.coupon_list view {
+ margin-right: 32rpx;
+}
+
+.coupon_list view:last-child {
+ margin-right: 0;
+}
+
+.money {
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/coupons_receivebg@2x.png');
+ background-size: cover;
+ background-repeat: no-repeat;
+ width: 572rpx;
+ height: 298rpx;
+ margin-top: 20rpx;
+ position: relative;
+}
+
+.meet {
+ position: absolute;
+ top: 30rpx;
+ width: 100%;
+ height: 55rpx;
+ color: #fff;
+ font-size: 24rpx;
+
+ /* background: #bbbbbb; */
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding-left: 10rpx;
+}
+
+.meet_txt {
+ padding-left: 10rpx;
+ width: 294rpx;
+ overflow: hidden;
+ text-align: center;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.moneyTxt {
+ font-size: 72rpx;
+ color: #df0132;
+ text-align: center;
+ line-height: 340rpx;
+ padding-left: 20rpx;
+}
+
+.moneyTxt_none {
+ font-size: 40rpx;
+ color: #df0132;
+ text-align: center;
+ line-height: 340rpx;
+ padding-left: 20rpx;
+}
+
+.line {
+ margin-top: 35rpx;
+ margin-bottom: 43rpx;
+ width: 616rpx;
+ height: 1rpx;
+ border: 1rpx dashed #fedcdc;
+}
+
+.explain {
+ width: 610rpx;
+}
+
+.explain .explainTxt {
+ display: flex;
+ justify-content: flex-start;
+ margin-bottom: 19rpx;
+}
+
+.explain .explainText {
+ margin-bottom: 19rpx;
+}
+
+.immediate {
+ width: 291rpx;
+ height: 136rpx;
+ background-color: #F82D2B;
+ border-radius: 21rpx;
+ color: #fff;
+ font-size: 38rpx;
+ text-align: center;
+ line-height: 136rpx;
+ margin-top: 20rpx;
+ margin-bottom: 41rpx;
+}
+
+.usercontent {
+ display: flex;
+
+ /* align-items: center; */
+ padding: 10rpx 6rpx 10rpx 6rpx;
+ flex-direction: column;
+}
+
+.usercontent .left {
+ font-size: 28rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ text-align: center;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+ color: #999;
+}
+
+.usercontent .right {
+ /* flex: 1; */
+
+ /* margin-left: 10rpx; */
+ margin: 30rpx 40rpx;
+ border: 1rpx solid #999;
+ border-radius: 10rpx;
+ padding: 10rpx;
+}
+
+.usercontent .right input {
+ width: 100%;
+ height: 40rpx;
+ line-height: 40rpx;
+}
+
+.num-box {
+ height: 40rpx;
+ display: flex;
+ padding: 10px 20px;
+ justify-content: space-between;
+}
+
+.usercontent .num {
+ display: flex;
+ width: 160rpx;
+ height: 40rpx;
+ border-radius: 5rpx;
+}
+
+.usercontent .num .leftnav {
+ height: 40rpx;
+ line-height: 28rpx;
+ width: 40rpx;
+ font-size: 50rpx;
+
+ /* font-weight: bold; */
+ text-align: center;
+ color: #ee0a24;
+ border-radius: 50%;
+ background-color: #fff;
+ border: 1rpx solid #ee0a24;
+}
+
+.usercontent .num input {
+ min-height: 40rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ width: 70rpx;
+ text-align: center;
+ border: none;
+
+ /* background-color: #f2f2f2; */
+ border-radius: 2rpx;
+ display: flex;
+ align-items: center;
+ margin-left: 2px;
+ margin-right: 2px;
+ font-size: 24rpx;
+}
+
+.usercontent .rightnav {
+ height: 40rpx;
+ line-height: 32rpx;
+ width: 40rpx;
+ font-size: 36rpx;
+
+ /* font-weight: bold; */
+ text-align: center;
+ color: #fff;
+ border-radius: 50%;
+ background-color: #ee0a24;
+}
diff --git a/packageA/member/distribution/distribution.js b/packageA/member/distribution/distribution.js
new file mode 100644
index 0000000..4174aa2
--- /dev/null
+++ b/packageA/member/distribution/distribution.js
@@ -0,0 +1,318 @@
+// pages/member/distribution/distribution.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ invalid: 0,
+ expect: 0,
+ unliquidated: 0,
+ liquidated: 0,
+ not_yet_withdrawed: 0,
+ withdrawed: 0,
+ manage: 0,
+ is_manage: '',
+ count: 0,
+ distrbution_name: '',
+ distrbution_tiem: '',
+ first_level: 0,
+ second_level: 0,
+ third_level: 0,
+ userName: '',
+ vipId: '',
+ userAvatar: '',
+ mailLanguage: '',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ try {
+ // 推广中心是否开启该功能,没开启跳转到指定路径
+ let mailLanguage = JSON.parse(wx.getStorageSync('mailLanguage'));
+ this.setData({ mailLanguage });
+ console.log(mailLanguage.commission);
+ wx.setNavigationBarTitle({
+ title: mailLanguage.commission.agent,
+ });
+ let basic_info = wx.getStorageSync("yz_basic_info");
+ let stop_info = basic_info.popularize_page.mini.vue_route;
+ for (let i = 0; i < stop_info.length; i++) {
+ if (stop_info[i] == 'distribution') {
+ console.log(basic_info.popularize_page.mini.mini_url + "跳转的路径");
+
+ wx.showToast({
+ title: '未开启推广权限',
+ duration: 1000,
+ icon: 'none',
+ success: function () {
+ setTimeout(() => {
+ wx.redirectTo({
+ url: basic_info.popularize_page.mini.mini_url,
+ });
+ }, 1000);
+ }
+ });
+ return;
+ }
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this._inidata();
+ this._setUserInfo(); //设置用户信息
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ //获取分销佣金
+ _getDistributionCommissionData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.commission.api.commission.get-commission");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setDistributionCommissionData(res.data);
+ that.setData({
+ invalid: res.data.invalid
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //设置分销佣金
+ setDistributionCommissionData(data) {
+ this.setData({
+ expect: data.expect,
+ unliquidated: data.unliquidated,
+ liquidated: data.liquidated,
+ not_yet_withdrawed: data.not_yet_withdrawed,
+ withdrawed: data.withdrawed,
+ manage: data.manage
+ });
+ this.data.is_manage = data.is_manage == "1" ? true : false;
+ },
+ //获取我的下线总数
+ _getAgentCountData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member.getMyAgentCount");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setAgentCountData(res.data);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //设置我的下线总数
+ setAgentCountData(data) {
+ this.setData({
+ count: data.count
+ });
+ },
+ //获取数据
+ _getLevelData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.commission.api.commission.get-agent-level");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setDistributionInfo(res.data);
+ that.setDistributionScaleInfo(res.data);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //设置分销商 基本信息
+ setDistributionInfo(data) {
+ this.setData({
+ distrbution_name: data.name,
+ distrbution_tiem: data.created_at
+ });
+ },
+ //设置分销比例信息
+ setDistributionScaleInfo(data) {
+ this.setData({
+ first_level: data.first_level,
+ second_level: data.second_level,
+ third_level: data.third_level
+ });
+ },
+ //设置用户信息
+ _setUserInfo() {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.member.getUserInfo");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (!res.data.is_agent) {
+ wx.showModal({
+ title: '提示',
+ content: '请先申请成为推广员',
+ success (res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url: '/packageA/member/extension/ExtensionApply/ExtensionApply'
+ })
+ } else if (res.cancel) {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ }
+ })
+ return;
+ }
+ this._getDistributionCommissionData(); //获取分销佣金
+ this._getAgentCountData(); //获取我的下线总数
+ this._getLevelData(); //获取用户分销商等级
+ that.setData({
+ userName: res.data.nickname,
+ vipId: res.data.uid,
+ userAvatar: res.data.avatar
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ gomyRelationship() {
+ wx.navigateTo({
+ url: '/packageD/member/myRelationship/myRelationship'
+ });
+ },
+ msg() {
+ wx.showToast({
+ icon: 'none',
+ title: '因商品、供应商可以独立设置佣金,您最终获得的佣金可能与此比例不同',
+ duration: 3000
+ });
+ },
+ gocommission() {
+ wx.navigateTo({
+ url: '/packageA/member/extension/commission/commission'
+ });
+ },
+ gounsettled() {
+ wx.navigateTo({
+ url: '/packageA/member/extension/unsettled/unsettled'
+ });
+ },
+ goalreadySettled() {
+ wx.navigateTo({
+ url: '/packageA/member/extension/alreadySettled/alreadySettled'
+ });
+ },
+ gonotPresent() {
+ wx.navigateTo({
+ url: '/packageA/member/extension/notPresent/notPresent'
+ });
+ },
+ gopresent() {
+ wx.navigateTo({
+ url: '/packageA/member/extension/present/present?type=0'
+ });
+ },
+ goinvalid() {
+ wx.navigateTo({
+ url: '/packageA/member/extension/present/present?type=1'
+ });
+ },
+ godistributionOrder(e) {
+ let idx = e.currentTarget.dataset.idx;
+ wx.navigateTo({
+ url: '/packageA/member/extension/distributionOrder/distributionOrder?selected=' + idx
+ });
+ },
+ _inidata() {
+ this.setData({
+ invalid: 0,
+ expect: 0,
+ unliquidated: 0,
+ liquidated: 0,
+ not_yet_withdrawed: 0,
+ withdrawed: 0,
+ manage: 0,
+ count: 0,
+ distrbution_name: '',
+ distrbution_tiem: '',
+ first_level: 0,
+ second_level: 0,
+ third_level: 0,
+ userName: '',
+ vipId: '',
+ userAvatar: '',
+ });
+ this.data.is_manage = '';
+ }
+
+});
diff --git a/packageA/member/distribution/distribution.json b/packageA/member/distribution/distribution.json
new file mode 100644
index 0000000..eb0be5e
--- /dev/null
+++ b/packageA/member/distribution/distribution.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "分销商",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageA/member/distribution/distribution.wxml b/packageA/member/distribution/distribution.wxml
new file mode 100644
index 0000000..5a509f4
--- /dev/null
+++ b/packageA/member/distribution/distribution.wxml
@@ -0,0 +1,168 @@
+
+
+
+
+
+ 我的客户
+
+ {{count}}人
+
+
+
+
+
+
+
+
+ 默认分享奖励比例
+
+
+
+
+
+
+ 直接分享
+
+
+ {{first_level}}%
+
+
+
+
+ 一级分销
+
+
+ {{second_level}}%
+
+
+
+
+ 一级分销
+
+
+ {{third_level}}%
+
+
+
+
+
+ 佣金
+
+
+
+
+
+
+
+ 预计佣金
+
+ {{expect}}{{language['元']}}
+
+
+
+
+
+
+ 未结算佣金
+
+ {{unliquidated}}{{language['元']}}
+
+
+
+
+
+
+ 已结算佣金
+
+ {{liquidated}}{{language['元']}}
+
+
+
+
+
+
+ 未提现佣金
+
+ {{not_yet_withdrawed}}{{language['元']}}
+
+
+
+
+
+
+ 已提现佣金
+
+ {{withdrawed}}{{language['元']}}
+
+
+
+
+
+
+ 管理奖
+
+ {{manage}}{{language['元']}}
+
+
+
+
+
+
+ 无效佣金
+
+ {{invalid}}{{language['元']}}
+
+
+
+
+ 分享订单
+
+
+
+
+
+
+
+ 全部订单
+
+
+
+
+
+
+
+ 未付款
+
+
+
+
+
+
+
+ 已付款
+
+
+
+
+
+
+
+ 已完成
+
+
+
+
+
diff --git a/packageA/member/distribution/distribution.wxss b/packageA/member/distribution/distribution.wxss
new file mode 100644
index 0000000..d5e7982
--- /dev/null
+++ b/packageA/member/distribution/distribution.wxss
@@ -0,0 +1,203 @@
+/* pages/member/distribution/distribution.wxss */
+.distribution .header {
+ height: auto;
+ background: #f15353;
+ background-size: 100% 100%;
+ padding: 40rpx;
+ position: relative;
+}
+
+.distribution .header .user {
+ display: flex;
+}
+
+.distribution .header .user .user-head {
+ height: 104rpx;
+ width: 104rpx;
+ background: #fff;
+ border-radius: 50%;
+ border: 4rpx solid #fff;
+ box-sizing: content-box;
+ overflow: hidden;
+}
+
+.distribution .header .user .user-head image {
+ width: 100%;
+}
+
+.distribution .header .user .user-info {
+ color: #fff;
+ text-align: left;
+ margin-left: 20rpx;
+}
+
+.distribution .header .user .user-info .user-name {
+ font-weight: bold;
+ font-size: 28rpx;
+ line-height: 60rpx;
+}
+
+.distribution .header .user .user-info .user-other {
+ font-size: 24rpx;
+ opacity: 0.5;
+}
+
+.distribution .myrelationship .list1 {
+ height: 88rpx;
+ background: #fff;
+ padding: 0 24rpx;
+ font-size: 30rpx;
+ box-sizing: content-box;
+ color: #242424;
+ text-align: left;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.distribution .myrelationship .list1 .right {
+ display: flex;
+ align-items: center;
+}
+
+.distribution .myrelationship .list1 .right .top {
+ line-height: 88rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+ padding-right: 20rpx;
+}
+
+.distribution .myrelationship .list1 .right .bottom {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.distribution .myrelationship .list1 .right van-icon {
+ padding-top: 5rpx;
+}
+
+.distribution .scale {
+ width: 100%;
+ background: #fff;
+ margin-top: 20rpx;
+}
+
+.distribution .scale .list1 {
+ height: 88rpx;
+ box-sizing: content-box;
+ background: #fff;
+ padding: 0 24rpx;
+ font-size: 28rpx;
+ line-height: 88rpx;
+ color: #333;
+ text-align: left;
+ border-bottom: solid 2rpx #e2e2e2;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.distribution .scale .list1 .right {
+ align-items: center;
+ justify-content: center;
+ display: flex;
+}
+
+.distribution .scale .list2 {
+ height: 88rpx;
+ box-sizing: content-box;
+ background: #fff;
+ padding: 0 24rpx;
+ font-size: 28rpx;
+ line-height: 88rpx;
+ color: #888;
+ text-align: left;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.distribution .scale .list2 .right {
+ align-items: center;
+ justify-content: center;
+ display: flex;
+}
+
+.distribution .title {
+ margin-top: 20rpx;
+ display: flex;
+ height: 72rpx;
+ line-height: 72rpx;
+ background-color: #fff;
+ padding: 0 20rpx;
+ border-bottom: solid 2rpx #e2e2e2;
+}
+
+.distribution .title .spare {
+ width: 8rpx;
+ height: 32rpx;
+ background-color: #f15353;
+ margin-right: 12rpx;
+ margin-top: 18rpx;
+ border-radius: 2rpx;
+}
+
+.distribution .gongge {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ background: #fff;
+ column-count: 3;
+ padding-bottom: 20rpx;
+ padding-top: 20rpx;
+}
+
+.distribution .gongge .li {
+ width: 33%;
+ text-align: center;
+ margin-bottom: 20rpx;
+ margin-top: 20rpx;
+ font-size: 24rpx;
+}
+
+.distribution .gongge .li icon {
+ font-size: 52rpx;
+ color: #999;
+ margin-bottom: 12rpx;
+ width: 100%;
+}
+
+.distribution .gongge .li .span {
+ color: #333;
+ font-size: 24rpx;
+}
+
+.distribution .gongge .li .b {
+ color: #f15353;
+ font-size: 32rpx;
+}
+
+.distribution-order {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ background: #fff;
+ column-count: 4;
+ padding-bottom: 20rpx;
+}
+
+.distribution-order .li {
+ width: 25%;
+ text-align: center;
+ margin-bottom: 20rpx;
+ font-size: 24rpx;
+ color: #666;
+}
+
+.distribution-order .li icon {
+ font-size: 46rpx;
+ color: #999;
+ margin: 30rpx 0 14rpx 0;
+ display: inline-block;
+}
diff --git a/packageA/member/editmobile/editmobile.js b/packageA/member/editmobile/editmobile.js
new file mode 100644
index 0000000..22bb671
--- /dev/null
+++ b/packageA/member/editmobile/editmobile.js
@@ -0,0 +1,1930 @@
+// pages/member/editmobile/editmobile.js
+var app = getApp();
+// var WxParse = require('../../../wxParse/wxParse.js');
+import uitil from '../../../utils/util.js';
+var int = (app.globalData.statusBarHeight * 2) + 20;
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ statusBarHeight: int,
+ repeatStatus: false,//防止快速
+ isset: '',
+ invite: '',
+ isrequired: '',
+ showChangeID: false,
+ changidInfo: {
+ uid: null,
+ change_uid: null,
+ },
+ editType: '',
+ uploadUrl: 'upload.uploadPic',
+ form: {
+ country: '86',
+ mobile: '',
+ mobileErr: '',
+ password: '',
+ passwordErr: '',
+ confirm_password: '',
+ confirm_passwordErr: '',
+ captcha: '',
+ province_name: '', //省
+ city_name: '', //市
+ area_name: '', //区
+ province: '', //省ID
+ city: '', //市ID
+ area: '', //区ID
+ address: '', //详细地址
+ gender: '',
+ custom_value: '',
+ realname:'', //姓名
+ },
+ showBack: false,
+ //性别----
+ showSex: false,
+ sexItems: [
+ {
+ name: '男'
+ },
+ {
+ name: '女'
+ }
+ ],
+ is_password: '0',
+ customDatas: [],
+ form_address: false,
+ form_birthday: false,
+ form_sex: false,
+ date_v1: uitil.formatTime(new Date()).substring(0, 10),
+ diydata: [],
+ diyform: {},
+ types: {
+ "88": 'diyusername',
+ "99": 'diypassword',
+ "0": 'diyinput',
+ "1": 'diytextarea',
+ "3": 'diycheckbox',
+ "4": 'diyradio',
+ "2": 'diyselect',
+ "7": 'diydate',
+ "9": 'diycity',
+ "5": 'diyimage',
+ },
+ agreementStatus: false,
+ protocol_content: "",
+ protocol_title: "",
+ agreement_name: "平台协议",
+ PlatformAgreement: '',
+ showPlatformAgreement: false,
+ imgcode: "",
+ agreementCB: true,
+ show2: false,
+ start1: false,
+ codetext: '获取短信验证码',
+ //地区
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ isValidation: true,
+ currentDate: new Date().getTime(),
+ yzredirect: '',
+ nowtime: '2019-09-01',
+ country_code: 0,
+ fromApp: 0,
+ anchorApplyBol: false,
+ // 绑定手机优化 新加 2020_09_04
+ isShowAddress: false,
+
+ orderLocationObj: { positioning_success: 0, register_province: "", register_city: "" },
+
+ // 自定义字段是否必填
+ formOpen: false,
+ default_invite:"",
+ datas :{
+ form_id:''
+ },
+ visibleSet: false,
+ visibleSure: false,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: async function (options) {
+ let userLocationFlag = await this.checkAlbum('scope.userLocation');
+ console.log("userLocationFlag", userLocationFlag);
+ if (!userLocationFlag) {
+ return this.tips("获取位置失败,请重新进入后授权");
+ }
+
+ if (!app.globalData.qqmapkey) {
+ app._getTemplate().then(res => {
+ this.getCurrentOrderLocation();
+ });
+ } else {
+ this.getCurrentOrderLocation();
+ }
+
+
+ if (options.editType) {
+ this.setData({
+ editType: options.editType
+ });
+ }
+ if (options.anchorApply) {
+ // this.data.anchorApplyBol = true
+ this.setData({
+ anchorApplyBol: true
+ });
+ }
+ if (options.code) {
+ this.setData({
+ "form.invite_code": options.code
+ });
+ }
+ if (options.logintype) {
+ this.data.yzredirect = app.getyzredirect();
+ }
+ if (options.fromApp && options.fromApp != 0) {
+ this.setData({
+ fromApp: options.fromApp
+ });
+ }
+
+ //加载地址数据初始化
+ this._initAddressInfo();
+
+ if (options.num) {
+ this.setData({
+ "form.mobile": options.num
+ });
+ }
+ this.getAllData();
+ //加载地址数据初始化
+ this._initAddressInfo();
+ // this._initInviteCode();
+ // this._getDiyFormStatus();
+ // this._getProtocolStatus();
+ // this.getimgdata();
+ let timestamp = new Date().getTime();
+ let nowtime = this.timestampToTime(timestamp);
+ let name = wx.getStorageSync('userInfo');
+ this.setData({
+ nowtime: nowtime,
+ nickName: name.userInfo?name.userInfo.nickName:''
+ });
+ },
+ fillInCode() {
+ this.setData({
+ 'form.invite_code': this.data.default_invite
+ });
+ },
+ getPhoneNumber(e) {
+ let info = e.detail;
+ if(info.errMsg == 'getPhoneNumber:ok') {
+ this.getPhoneM(info.code);
+ }
+ },
+ back() {
+ wx.navigateBack({
+ delta: 1,
+ });
+ },
+ //详细地址值绑定
+ addressinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'form.address': val
+ });
+ },
+ getPhoneM(info) {
+ let urlStr = app.getNetAddresss('member.member.miniMemberMobile');
+ let that = this;
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ code: info,
+ not_validate_page: '0'
+ },
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ 'form.mobile': res.data.phone_info.purePhoneNumber
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) { }
+ });
+ },
+ sexSelectBtn(e) {
+ let val = e.detail.name;
+ console.log(val);
+ if (val == '男') {
+ this.setData({
+ 'form.gender': '1',
+ sexName: '男'
+ });
+ } else if (val == '女') {
+ this.setData({
+ 'form.gender': '0',
+ sexName: '女'
+ });
+ }
+ this.setData({
+ showSex: false
+ });
+ },
+ sexClose() {
+ this.setData({
+ showSex: false
+ });
+ },
+ bindDateChange_v1(e) {
+ console.log(e.detail.value);
+ this.setData({
+ 'form.birthday': e.detail.value
+ });
+ },
+ //生日选择
+ openPicker_v1() {
+ this.setData({
+ birthdayShow: true
+ });
+ },
+ //显示性别设置
+ showSexInfo() {
+ this.setData({
+ showSex: true
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw_v1: function () {
+ this.setData({
+ showAdd_v1: false
+ });
+ },
+ //所在地选择显示
+ showAddBtn_v1() {
+ this.setData({
+ showAdd_v1: true
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log('地址信息准备就绪');
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log('省fail');
+ app._getNetWork({
+ url: app.getNetAddresss('member.member-address.address'),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: 'provinceData',
+ data: province
+ });
+ wx.setStorage({
+ key: 'cityData',
+ data: city
+ });
+ wx.setStorage({
+ key: 'districtData',
+ data: district
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) { },
+ state: true
+ });
+ }
+ });
+ },
+ //初始化城市
+ _initDistrict(data, district) {
+ console.log(app._isTextEmpty(data.myform));
+ if (!app._isTextEmpty(data)) {
+ if (!app._isTextEmpty(data.myform.form)) {
+ this.setData({
+ isShowAddress: data.myform.base.address == 1 ? true : false
+ });
+ }
+ this.setData({
+ 'form.province': data.province,
+ 'form.province_name': data.province_name,
+ 'form.city': data.city,
+ 'form.city_name': data.city_name,
+ 'form.area': data.area,
+ 'form.area_name': data.area_name,
+ districtName:
+ data.province_name + ' ' + data.city_name + ' ' + data.area_name,
+ 'form.address': data.address
+ });
+ return;
+ }
+
+ if (!app._isTextEmpty(district)) {
+ this.setData({
+ 'form.province': district.itemValue1,
+ 'form.province_name': district.itemName1,
+ 'form.city': district.itemValue2,
+ 'form.city_name': district.itemName2,
+ 'form.area': district.itemValue3,
+ 'form.area_name': district.itemName3
+ });
+ this.setData({
+ districtName:
+ district.itemName1 +
+ ' ' +
+ district.itemName2 +
+ ' ' +
+ district.itemName3
+ });
+ }
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log('省读取成功', res.data);
+ that.setData({
+ provinceData: res.data
+ });
+ that.setData({
+ 'selectAddressData[0].name':
+ res.data[that.data.pickerValue[0]].areaname,
+ 'selectAddressData[0].id': res.data[that.data.pickerValue[0]].id,
+ 'selectAddressData[0].index': that.data.pickerValue[0]
+ });
+ that._getCityData();
+ }
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ console.log('城市', '_data', _data);
+ var that = this;
+ var _keyName = 'cityData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log('城市读取成功', res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log('城市数据筛选', _json);
+ that.setData({
+ cityData: _json
+ });
+ that.setData({
+ 'selectAddressData[1].name': _json[that.data.pickerValue[1]].areaname,
+ 'selectAddressData[1].id': _json[that.data.pickerValue[1]].id,
+ 'selectAddressData[1].index': that.data.pickerValue[1]
+ });
+ that._getDistrictData();
+ }
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ console.log('地区', '_data', _data);
+ console.log(_data);
+ var that = this;
+ var _keyName = 'districtData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log('地区读取成功');
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log('地区数据筛选', _json);
+ that.setData({
+ districtData: _json
+ });
+ console.log('districtData', _json);
+ that.setData({
+ 'selectAddressData[2].name': _json[that.data.pickerValue[2]].areaname,
+ 'selectAddressData[2].id': _json[that.data.pickerValue[2]].id,
+ 'selectAddressData[2].index': that.data.pickerValue[2]
+ });
+ console.log('over', that.data.selectAddressData);
+ }
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ 'pickerValue[0]': val[0],
+ 'pickerValue[1]': val[1],
+ 'pickerValue[2]': val[2]
+ });
+ this._initAddressInfo();
+ },
+ //城市结果
+ resultAdd_v1: function () {
+ let seleData = this.data.selectAddressData;
+ let district = {
+ itemValue1: seleData[0].id,
+ itemName1: seleData[0].name,
+ itemValue2: seleData[1].id,
+ itemName2: seleData[1].name,
+ itemValue3: seleData[2].id,
+ itemName3: seleData[2].name
+ };
+ this._initDistrict('', district);
+ this._closeDateLw_v1();
+ },
+ //初始化自定义表单
+ _initCustomForm(data) {
+ if (app._isTextEmpty(data.form)) {
+ this.setData({
+ isForm: false
+ });
+ return;
+ }
+ if (data.form.length == 0) {
+ this.setData({
+ isForm: false
+ });
+ return;
+ }
+ this.setData({
+ isForm: true
+ });
+ this.setData({
+ customDatas: data.form
+ });
+ },
+ //其他信息值绑定
+ cItemInp(e) {
+ let citemidx = e.currentTarget.dataset.citemidx;
+ let val = e.detail.value;
+ console.log(this.data.customDatas);
+ this.setData({
+ ['customDatas[' + citemidx + '].value']: val
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ var that = this;
+ var query = wx.createSelectorQuery();
+ query.select('.topback').boundingClientRect(function (res) {
+ that.setData({
+ tabScrollTop: res.top + 10 //根据实际需求加减值
+ });
+ }).exec();
+ },
+ onPageScroll(e) {
+ // console.log(e);
+ if (e.scrollTop >= this.data.tabScrollTop) {
+ this.setData({
+ showBack: true
+ });
+ } else if (e.scrollTop < this.data.tabScrollTop) {
+ this.setData({
+ showBack: false
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ //获取图片验证码
+ getimgdata(data) {
+ let that = this;
+ let urlStr = app.getNetAddresss("home-page.getCaptcha");
+ if (data && data.captcha) {
+ if (data.captcha) {
+ that.setData({
+ imgcode: data.captcha.img
+ });
+ }
+ } else {
+ app._getNetWork({
+ url: urlStr,
+ validateBol: 2,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.captcha) {
+ that.setData({
+ imgcode: res.data.captcha.img
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+
+ },
+
+ //判断是否需要邀请码
+ _initInviteCode(data) {
+ let that = this;
+ // let urlStr = app.getNetAddresss("member.register.getInviteCode");
+
+ // app._getNetWork({
+ // url: urlStr,
+ // validateBol:2,
+ // success: function(resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // if (res.data.status == 1) {
+ that.setData({
+ invite: data.status,
+ isrequired: data.required,
+ country_code: data.country_code,
+ });
+ if (data.invitation_code) {
+ that.setData({
+ 'form.invite_code': data.invitation_code.invite_code
+ });
+ }
+ // }
+ // }
+ // },
+ // fail: function(res) {
+ // console.log(res);
+ // }
+ // });
+ },
+ //获取diy 状态信息
+ // _getDiyFormStatus() {
+ // let that = this;
+ // let urlStr = app.getNetAddresss("setting.get-register-diy-form");
+ // app._getNetWork({
+ // url: urlStr,
+ // validateBol:2,
+ // success: function(resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // if (res.data.status == 1) {
+ // that.setData({
+ // diyStatus: 1,
+ // form_id: res.data.form_id
+ // })
+ // that._getDiyFormInfo(res.data.form_id)
+ // } else {
+ // that.setData({
+ // diyStatus: 0
+ // })
+ // }
+ // } else {
+ // that.setData({
+ // diyStatus: 0
+ // })
+ // }
+ // },
+ // fail: function(res) {
+ // console.log(res);
+ // that.setData({
+ // diyStatus: 0
+ // })
+ // }
+ // });
+ // },
+ //获取diy 信息
+ _getDiyFormInfo(data) {
+ let that = this;
+ // let urlStr = app.getNetAddresss("plugin.diyform.api.diy-form.get-diy-form-by-id");
+ // urlStr += '&form_id=' + id;
+ // app._getNetWork({
+ // url: urlStr,
+ // validateBol:2,
+ // success: function(resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ that.setData({
+ diyform: data,
+ form_id:data.id,
+ 'datas.form_id':data.id
+ });
+ console.log(data);
+ let fields = that.data.diyform.fields;
+ let diydata = that.data.diydata;
+ let f = {};
+ for (var field in fields) {
+ console.log(that.data.types[fields[field].data_type], fields[field].data_type);
+ if (that.data.types[fields[field].data_type] == 'diycheckbox') {
+ f = {
+ name: field,
+ data: fields[field],
+ value: [],
+ type: that.data.types[fields[field].data_type],
+ };
+ } else if (that.data.types[fields[field].data_type] == 'diyselect') {
+ let tp_textArr = [];
+ for (let i = 0; i < fields[field].tp_text.length; i++) {
+ tp_textArr.push({
+ name: fields[field].tp_text[i]
+ });
+ }
+
+ f = {
+ name: field,
+ data: fields[field],
+ value: '',
+ type: that.data.types[fields[field].data_type],
+ diysishow: false,
+ sitem: tp_textArr
+ };
+ } else if (that.data.types[fields[field].data_type] == 'diycity') {
+ f = {
+ name: field,
+ data: fields[field],
+ value: '',
+ type: that.data.types[fields[field].data_type],
+ showAdd: false
+ };
+
+ } else if (that.data.types[fields[field].data_type] == 'diydate') {
+ f = {
+ name: field,
+ data: fields[field],
+ value: '',
+ type: that.data.types[fields[field].data_type],
+ timeShow: false,
+ currentDate: new Date().getTime()
+ };
+ } else if (that.data.types[fields[field].data_type] == 'diyimage') {
+ f = {
+ name: field,
+ data: fields[field],
+ imgUrls: fields[field].value ? fields[field].value : [],
+ isPhoto: false,
+ type: that.data.types[fields[field].data_type],
+ };
+
+ } else {
+ f = {
+ name: field,
+ data: fields[field],
+ value: '',
+ type: that.data.types[fields[field].data_type],
+ };
+ }
+ diydata.push(f);
+ that.setData({
+ diydata: diydata
+ });
+ }
+ console.log(this.data.diydata,'21121121');
+ // }
+ // },
+ // fail: function(res) {
+ // console.log(res);
+ // }
+ // });
+ },
+ onRead_1(e) {
+ try {
+ let diydata = this.data.diydata;
+ let index = e.currentTarget.dataset.idex;
+ if (diydata[index].type == "diyimage") {
+ if (diydata[index].imgUrls.length >= diydata[index].data.tp_max) {
+ wx.showToast({
+ title: `最多只能上传${diydata[index].data.tp_max}张`,
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ }
+ // for (var i = 0; i < diydata.length; i++){
+ // if(diydata[i].type == "diyimage"){
+ // if(diydata[i].imgUrls.length >= diydata[i].data.tp_max){
+ // wx.showToast({
+ // title: `最多只能上传${diydata[i].data.tp_max}张`,
+ // icon:'none',
+ // duration:1000
+ // })
+ // return
+ // }
+ // }
+ // }
+ // console.log(this.data.diydata)
+ } catch (err) { console.log(err); }
+ let name = e.currentTarget.dataset.name;
+ this.setData({
+ setname: name
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ // console.log(e)
+ let photourl = e.tempFilePath;
+
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ formData: {
+ attach: that.data.setname
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ console.log(res);
+ if (res.result == 1) {
+ let diydata = that.data.diydata;
+ console.log(res);
+ for (var i = 0; i < diydata.length; i++) {
+ if (diydata[i].name == res.data.attach) {
+ diydata[i].imgUrls.push(res.data.img_url);
+ }
+ }
+ that.setData({
+ diydata: diydata
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ fail(e) {
+ console.log(e);
+ },
+ complete(e) {
+
+ }
+ });
+ }
+ });
+ },
+ removeImg: function (e) {
+ let delIndex = e.currentTarget.dataset.indexc;
+ let index_1 = e.currentTarget.dataset.index;
+ let diydata = this.data.diydata;
+ diydata[index_1].imgUrls.splice(delIndex, 1);
+ this.setData({
+ diydata: diydata
+ });
+ },
+ //获取是否开启协议
+ _getProtocolStatus(data) {
+ let that = this;
+ // let urlStr = app.getNetAddresss("setting.get-member-protocol");
+ // app._getNetWork({
+ // url: urlStr,
+ // validateBol:2,
+ // success: function(resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ that.setData({
+ agreementStatus: data.protocol === "1" || data.protocol === 1,
+ protocol_content: data.content,
+ protocol_title: data.title,
+ agreement_name: data.agreement_name || '平台协议',
+ PlatformAgreement: data.new_agreement
+ });
+ // let article = that.data.protocol_content;
+ /**
+ * WxParse.wxParse(bindName , type, data, target,imagePadding)
+ * 1.bindName绑定的数据名(必填)
+ * 2.type可以为html或者md(必填)
+ * 3.data为传入的具体数据(必填)
+ * 4.target为Page对象,一般为this(必填)
+ * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
+ */
+ // WxParse.wxParse('article', 'html', article, that);
+ // } else(
+ // that.setData({
+ // agreementStatus: false
+ // })
+ // )
+ // },
+ // fail: function(res) {
+ // that.setData({
+ // agreementStatus: false
+ // })
+ // }
+ // });
+ },
+ editCustom(e) {
+ let key = e.detail.value;
+ this.setData({
+ 'form.custom_value': key
+ });
+ },
+ // 新的合并接口
+ getAllData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.register.newApiData");
+ try {
+ var value = wx.getStorageSync('isset');
+ if (value) {
+ that.setData({
+ isset: value
+ });
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ if (this.data.isset) {
+ wx.removeStorage({
+ key: 'isset',
+ success(res) {
+ console.log(res.data);
+ }
+ });
+ urlStr += '&close=' + 1;
+ }
+ app._postNetWork({
+ url: urlStr,
+ validateBol: 2,
+ data: {
+ not_validate_page: '0'
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ formOpen: (res.data.form_open == "1" ? true : false)
+ });
+ if (res.data.get_register_diy_form && res.data.get_register_diy_form.status == 1) {
+ that.setData({
+ diyStatus: 1,
+ form_id: res.data.get_register_diy_form.form_id
+ });
+ if (res.data.get_diy_form_by_id) {
+ that._getDiyFormInfo(res.data.get_diy_form_by_id);
+ }
+ } else {
+ that.setData({
+ diyStatus: 0
+ });
+ }
+ if (res.data.get_member_protocol) {
+ that._getProtocolStatus(res.data.get_member_protocol);
+ if (res.data.get_member_protocol.form) {
+ that._initCustomForm(res.data.get_member_protocol.form);
+ if (res.data.get_member_protocol.form.base) {
+ that.setData({
+ form_address: res.data.get_member_protocol.form.base.address == '1' ? res.data.get_member_protocol.form.base.address : '',
+ form_birthday: res.data.get_member_protocol.form.base.birthday == '1' ? res.data.get_member_protocol.form.base.birthday : false,
+ form_sex: res.data.get_member_protocol.form.base.sex == '1' ? res.data.get_member_protocol.form.base.sex : false,
+ form_name: res.data.get_member_protocol.form.base.name == '1' ? true : false,
+ is_custom: res.data.get_member_protocol.custom_field.is_custom == '1' ? true : false,
+ custom_title: res.data.get_member_protocol.custom_field.custom_title
+ });
+ }
+ }
+ if (res.data.get_member_protocol.register) {
+ that.setData({
+ top_img: res.data.get_member_protocol.register.top_img,
+ title1: res.data.get_member_protocol.register.title1,
+ title2: res.data.get_member_protocol.register.title2,
+ is_password: res.data.get_member_protocol.register.is_password
+ });
+ }
+ if (res.data.get_member_protocol.member) {
+ let member = res.data.get_member_protocol.member;
+ if (member.birthmonth < 10) {
+ member.birthmonth = `-0${member.birthmonth}`;
+ } else {
+ member.birthmonth = `-${member.birthmonth}`;
+ }
+ if (member.birthday < 10) {
+ member.birthday = `-0${member.birthday}`;
+ } else {
+ member.birthday = `-${member.birthday}`;
+ }
+ if(res.data.name_must){
+ that.setData({
+ name_must:res.data.name_must == '1'?true:false
+ });
+ }
+ that.setData({
+ districtName: `${member.province_name}${member.city_name}${member.area_name}`,
+ 'form.address': member.address,
+ 'form.birthday': `${member.birthyear}${member.birthmonth}${member.birthday}`,
+ sexName: member.gender == 0 ? '女' : '男',
+ // customDatas: member.member_form,
+ 'form.custom_value': member.custom_value
+ });
+ }
+
+ }
+
+ if (res.data.get_captcha) {
+ that.getimgdata(res.data.get_captcha);
+ }
+
+ if (res.data.getInviteCode) {
+ that.setData({
+ default_invite: res.data.getInviteCode.default_invite
+ });
+ that._initInviteCode(res.data.getInviteCode);
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //绑定国家区号的值
+ countryinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.country": val.trim()
+ });
+ },
+ //绑定图形验证码的值
+ captchainp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.captcha": val.trim()
+ });
+ },
+ //绑定手机号的值
+ mobileinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.mobile": val.trim()
+ });
+ },
+ sjnz(e) {
+ console.log(e.detail.value);
+ let val = e.detail.value;
+ this.setData({
+ "form.mobile": val.trim()
+ });
+ },
+ //绑定验证码的值
+ codeinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.code": val.trim()
+ });
+ },
+ //绑定邀请码的值
+ inviteinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.invite_code": val.trim()
+ });
+ },
+ //绑定设置密码的值
+ passwordinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.password": val.trim()
+ });
+ },
+ //绑定确认密码的值
+ conpasswordinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.confirm_password": val.trim()
+ });
+ },
+ //绑定注册协议的值
+ agreementCBinp(e) {
+ let bol = e.detail;
+ this.setData({
+ agreementCB: bol
+ });
+ },
+ //打开注册协议
+ goAgreement() {
+ this.setData({
+ show2: true
+ });
+ },
+ popClose() {
+ this.setData({
+ show2: false
+ });
+ },
+ openPlatformAgreement() {
+ this.setData({
+ showPlatformAgreement: true
+ });
+ },
+ closePlatformAgreement() {
+ this.setData({
+ showPlatformAgreement: false
+ });
+ },
+ sendCode(e) {
+ if (this.data.start1) {
+ return false;
+ }
+ let time = 60;
+ let that = this;
+ that.setData({
+ "start1": true,
+ "codetext": "(" + time + ")秒后重新获取"
+ });
+ let set = setInterval(function () {
+ that.setData({
+ codetext: "(" + --time + ")秒后重新获取",
+ });
+ }, 1000);
+ setTimeout(function () {
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ }, 60000);
+ that.verificationCode(set);
+ },
+ //发送验证码
+ verificationCode(set) {
+ let that = this;
+ if (app._isTextEmpty(this.data.form.country)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入国际区号',
+ duration: 1500
+ });
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写手机号',
+ duration: 1500
+ });
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ return;
+ }
+
+ if (this.data.form.country == "86" && app._isMoblie(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写正确的手机号',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.form.captcha) && this.data.imgcode) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填图形验证码',
+ duration: 1500
+ });
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ return;
+ } else {
+ let urlStr = app.getNetAddresss("member.register.sendCodeV2");
+ urlStr += '&mobile=' + this.data.form.mobile;
+ urlStr += '&state=' + this.data.form.country;
+ urlStr += '&captcha=' + this.data.form.captcha;
+ urlStr += '&code=' + this.data.form.code;
+ // 发送获取验证码的请求
+ app._getNetWork({
+ url: urlStr,
+ validateBol: 2,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: '已发送',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ //刷新图形验证码
+ that.setData({
+ 'form.captcha': '',
+ start1: false,
+ codetext: "获取短信验证码",
+ });
+ clearTimeout(set);
+ that.getimgdata();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ //自定义表单值绑定
+ tpnameinp(e) {
+ let val = e.detail.value;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val
+ });
+ },
+ diytextareainp(e) {
+ let val = e.detail.value;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val
+ });
+ },
+ checkboxinp(e) {
+ let val = e.detail;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val
+ });
+ },
+ diyselectBtn(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].diysishow"]: true
+ });
+ },
+ sitemClose(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].diysishow"]: false
+ });
+ },
+ sitemSelectBtn(e) {
+ let idx = e.target.dataset.idex;
+ let val = e.detail.name;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val,
+ ["diydata[" + idx + "].diysishow"]: false
+ });
+ },
+ raidinp(e) {
+ let val = e.detail;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val
+ });
+ },
+ //所在地选择显示
+ showAddBtn(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].showAdd"]: true
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function (e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].showAdd"]: false
+ });
+ },
+
+ //城市结果
+ resultAdd: function (e) {
+ let idx = e.currentTarget.dataset.idex;
+ let seleData = this.data.selectAddressData;
+ let retCity = seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name;
+ this.setData({
+ ["diydata[" + idx + "].value"]: retCity,
+ ["diydata[" + idx + "].showAdd"]: false
+ });
+ },
+ //自定义日期选择
+ openPicker(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].timeShow"]: true
+ });
+ },
+ PickerClose(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].timeShow"]: false
+ });
+ },
+ PickerChange(event) {
+ let idx = event.currentTarget.dataset.idex;
+ let time = event.detail;
+ this.setData({
+ ["diydata[" + idx + "].currentDate"]: time
+ });
+ },
+ birthdayconfirm(e) {
+ let idx = e.currentTarget.dataset.idex;
+ let time = e.detail;
+ let changtime = this.timestampToTime(time);
+ this.setData({
+ ["diydata[" + idx + "].value"]: changtime,
+ ["diydata[" + idx + "].timeShow"]: false
+ });
+ },
+ timestampToTime(timestamp) {
+ var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
+ var Y = date.getFullYear() + '-';
+ var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+ var D = (date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate());
+ return Y + M + D;
+ },
+ //注册
+ register() {
+ let is_customDatas = {},
+ adress = {};
+ is_customDatas.customDatas = this.data.customDatas;
+ adress.province_name = this.data.form.province_name;
+ adress.city_name = this.data.form.city_name;
+ adress.area_name = this.data.form.area_name;
+ adress.province = this.data.form.province;
+ adress.city = this.data.form.city;
+ adress.area = this.data.form.area;
+ adress.address = this.data.form.address;
+ let is_form = {
+ invite_code: this.data.form.invite_code,
+ country: this.data.form.country,
+ mobile: this.data.form.mobile,
+ mobileErr: this.data.form.mobileErr,
+ password: this.data.form.password,
+ passwordErr: this.data.form.passwordErr,
+ confirm_password: this.data.form.confirm_password,
+ confirm_passwordErr: this.data.form.confirm_passwordErr,
+ captcha: this.data.form.captcha,
+ gender: this.data.form.gender,
+ code: this.data.form.code,
+ birthday: this.data.form.birthday,
+ custom_value: this.data.form.custom_value,
+ close: this.data.form.close
+ };
+ is_form.address = adress;
+ is_form.customDatas = is_customDatas.customDatas;
+ let that = this;
+
+
+ if (this.data.formOpen && (this.data.customDatas instanceof Array)) {
+ let result = this.data.customDatas.every((item) => {return (item.value != "");});
+ if (!result) {
+ wx.showToast({
+ icon: 'none',
+ title: '请先填写自定义信息',
+ duration: 1500
+ });
+ return;
+ }
+ }
+
+ //防止快速点击,重复触发
+ if (this.data.repeatStatus) {
+ return;
+ }
+ this.setData({
+ repeatStatus: true
+ });
+
+ //判断是否从设置页面跳转
+ if (!this.data.isset) {
+ const {
+ ...formData
+ } = is_form;
+ this.setData({
+ is_form: formData
+ });
+ }
+ if (this.data.isset) {
+ wx.removeStorage({
+ key: 'isset',
+ success(res) {
+ console.log(res.data);
+ }
+ });
+ const {
+ ...formData
+ } = is_form;
+ this.setData({
+ is_form: formData
+ });
+ that.data.is_form.close = 1;
+ }
+ let urlStr = app.getNetAddresss("member.member.bindMobile");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: that.data.is_form,
+ validateBol: 2,
+ success: function (resdata) {
+ that.setData({
+ repeatStatus: false
+ });
+ var res = resdata.data;
+ if (res.result == 1) {
+ app.resetBasicInfo();
+ console.log(that.data.diyStatus);
+ if (that.data.diyStatus == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '绑定成功',
+ duration: 1500
+ });
+ if (that.data.anchorApplyBol) {
+ wx.navigateBack({
+ delta: 1
+ });
+ return;
+ }
+ if (that.data.isset == 1 && !that.data.editType) {
+ console.log('跳去首页');
+ wx.removeStorage({
+ key: 'isset',
+ success(res) {
+ console.log(res.data);
+ }
+ });
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ } else {
+ console.log('返回路由上一个');
+ that.gotourl();
+ }
+
+ } else if (that.data.diyStatus == 1) {
+ //去提交diy
+ let child = that.selectComponent('.dsfrom');
+ child.submit();
+ // that.postDiy();
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function (res) { }
+ });
+ },
+ //先验证是否导致会员id变更
+ getPrepBind() {
+ let that = this;
+ if(this.data.name_must && this.data.editType!='1'){
+ if (app._isTextEmpty(this.data.form.realname)) {
+ app.tips('请输入姓名');
+ return;
+ }
+ }
+ if (app._isTextEmpty(this.data.form.country)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入国际区号',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写手机号',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (this.data.form.country == "86" && app._isMoblie(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写正确的手机号',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.form.code)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填验证码',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (this.data.is_password == '1') {
+ if (app._isTextEmpty(this.data.form.password)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写密码',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.confirm_password)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写确认密码',
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.form.password != this.data.form.confirm_password) {
+ wx.showToast({
+ icon: 'none',
+ title: '两次密码不一致',
+ duration: 1500
+ });
+ return;
+ }
+ }
+ if (this.data.isrequired == 1) {
+ if (app._isTextEmpty(this.data.form.invite_code)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写邀请码',
+ duration: 1500
+ });
+ return;
+ }
+ }
+ if(this.data.formOpen){
+ for(let i = 0;i {
+ if (item.data.tp_must == 1 && !item.value && item.type) {
+ wx.showToast({
+ icon: 'none',
+ title: item.data.tp_name + '必须填写哦',
+ duration: 1500
+ });
+ this.setData({
+ isValidation: true
+ });
+ }
+ if (item.type == 'diycheckbox' && item.value.length == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: item.data.tp_name + '必须选择哦',
+ duration: 1500
+ });
+ this.setData({
+ isValidation: false
+ });
+ }
+ });
+ },
+ postDiy(e) {
+ let that = this;
+ let formData = e.detail;
+ // let formObject = {};
+ // this.data.diydata.forEach(item => {
+ // if (item.type == 'diyimage') {
+ // formObject[item.name] = item.imgUrls;
+ // } else {
+ // formObject[item.name] = item.value;
+ // }
+ // });
+ // formData.push(formObject);
+
+ let json = {
+ form_data: formData,
+ form_id: this.data.form_id,
+ "form_type": "register"
+ };
+ let urlStr = app.getNetAddresss("plugin.diyform.api.diy-form.save-diy-form-data");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: '绑定成功',
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ that.gotourl();
+ //要延时执行的代码
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function (res) { }
+ });
+ },
+ gotourl() {
+ let that = this;
+ if (that.data.fromApp != 0 && that.data.fromApp != undefined) {
+ if (that.data.fromApp == 1) {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ } else if (that.data.fromApp == 2) {
+ // 会员修改手机进入
+ wx.reLaunch({
+ url: '/packageG/member_v2/member_v2'
+ });
+ } else if (that.data.fromApp == 3) {
+ //从邀请码进入
+ wx.navigateBack({
+ delta: 2
+ });
+ } else if (that.data.fromApp == 4) {
+ wx.reLaunch({
+ url: '/packageG/pages/member/extension/extension'
+ });
+ } else if (that.data.fromApp == 5) {
+ wx.navigateBack({
+ delta: 3
+ });
+ }
+
+ } else if (!that.data.yzredirect) {
+ wx.navigateBack({
+ delta: 1,
+ fail:()=> {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ }
+ });
+ } else {
+ try {
+ wx.reLaunch({
+ url: '/' + that.data.yzredirect,
+ fail:()=> {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ }
+ });
+ } catch (e) {
+ wx.navigateBack({
+ delta: 1,
+ fail:()=> {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ }
+ });
+ }
+ }
+ },
+ bindDateChange: function (e) {
+ let idx = e.target.dataset.idex;
+ let time = e.detail.value;
+ this.setData({
+ ["diydata[" + idx + "].value"]: time,
+ ["diydata[" + idx + "].timeShow"]: false,
+ date: time
+ });
+ },
+ //获取经纬度
+ getCurrentOrderLocation() {
+ let that = this;
+ wx.getLocation({
+ type: 'gcj02',
+ success: (res) => {
+ console.log("userLocationFlag", res);
+ const latitude = res.latitude;
+ const longitude = res.longitude;
+ app.getReverseGeocoder(latitude,longitude).then(function (res) {
+ console.log("userLocationFlag", res);
+ let mapdata = res;
+ let recommend = mapdata.address_component;
+ let orderLocationObj = {
+ positioning_success: 1,
+ register_province: recommend.province,
+ register_city: !app._isTextEmpty(recommend.city) ? recommend.city : recommend.province
+ };
+ that.data.orderLocationObj = orderLocationObj;
+ }).catch(function(err){
+ console.log(err);
+ });
+ }
+ });
+ },
+ //根据经纬度转换具体地址名称
+ _setOrderLocation(e) {
+ let that = this;
+ app.getReverseGeocoder(e.lat,e.lng).then(function (res) {
+ console.log("userLocationFlag", res);
+ let mapdata = res;
+ let recommend = mapdata.address_component;
+ let orderLocationObj = {
+ positioning_success: 1,
+ register_province: recommend.province,
+ register_city: !app._isTextEmpty(recommend.city) ? recommend.city : recommend.province
+ };
+ that.data.orderLocationObj = orderLocationObj;
+ }).catch(function(err){
+ console.log(err);
+ });
+ },
+
+
+
+ async checkAlbum(scopeName) {
+ let writePhotosAlbum = await this.getAuthSetting(scopeName);
+ return new Promise( (resolve, reject) => {
+ if (!writePhotosAlbum) {
+ wx.showModal({
+ title: '请开启授权',
+ content: '是否跳转设置页开启授权',
+ success(res) {
+ if (res.confirm) {
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting[scopeName]) {
+ resolve(true);
+ } else {
+ resolve(false);
+ }
+ }
+ });
+ } else if (res.cancel) {
+ resolve(false);
+ }
+ },
+ fail: () => {
+ resolve(false);
+ }
+ });
+ } else resolve(true);
+
+ });
+
+ },
+ getAuthSetting(authName) {
+ return new Promise((resolve, reject) => {
+ wx.getSetting({
+ success(res) {
+ if (!res.authSetting[authName]) {
+ wx.authorize({
+ scope: authName,
+ success() {
+ resolve(true);
+ },
+ fail() {
+ resolve(false);
+ }
+ });
+ } else resolve(true);
+ },
+ fail() {
+ resolve(false);
+ }
+ });
+ });
+ },
+ tips(msg) {
+ wx.showToast({
+ title: msg,
+ icon: 'none',
+ duration: 2000
+ });
+ return false;
+ },
+ realnameInp(e){
+ let key = e.detail.value;
+ this.setData({
+ 'form.realname':key
+ });
+ },
+ SetPwdClick () {
+ this.setData({
+ visibleSet: !this.data.visibleSet
+ });
+ },
+ surePwdClick () {
+ this.setData({
+ visibleSure: !this.data.visibleSure
+ });
+ },
+});
diff --git a/packageA/member/editmobile/editmobile.json b/packageA/member/editmobile/editmobile.json
new file mode 100644
index 0000000..4271423
--- /dev/null
+++ b/packageA/member/editmobile/editmobile.json
@@ -0,0 +1,19 @@
+{
+ "navigationStyle":"custom",
+ "navigationBarTitleText": "绑定手机",
+ "usingComponents": {
+ "van-field": "../../../dist/field/index",
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-action-sheet": "../../../dist/action-sheet/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "van-datetime-picker": "../../../dist/datetime-picker/index",
+ "van-icon": "../../../dist/icon/index",
+ "diyform":"/mycomponent/diyfrom/diyfrom"
+ }
+}
diff --git a/packageA/member/editmobile/editmobile.wxml b/packageA/member/editmobile/editmobile.wxml
new file mode 100644
index 0000000..964463a
--- /dev/null
+++ b/packageA/member/editmobile/editmobile.wxml
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+
+
+ {{nickName}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 选择授权手机号
+
+
+
+
+
+
+
+
+
+ {{codetext}}
+
+
+
+
+
+
+
+ 默认邀请码
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 所在地信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 其他信息
+
+
+ {{cItem.name}}:
+
+
+
+
+
+
+
+
+ {{custom_title+"信息"}}
+
+
+
+ {{custom_title}}:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 我已阅读、理解并接受《{{protocol_title || '会员注册协议'}}》《{{agreement_name}}》
+
+
+
+
+ 确认授权开通并绑定会员
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+ 重要提示
+
+ 当前绑定绑定操作会导致用户ID变更:原会员ID:{{ changidInfo.uid }},变更后会员ID:{{ changidInfo.change_uid }};绑定后所有数据记录以变更后会员ID{{ changidInfo.change_uid }}为准,原会员ID{{ changidInfo.uid }}数据将被删除,数据不会进行合并,且不可找回!请谨慎操作!
+ 绑定后请注意重新生成推广海报、重新发送推广链接!
+
+ 确认合并
+ 取消
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/editmobile/editmobile.wxss b/packageA/member/editmobile/editmobile.wxss
new file mode 100644
index 0000000..35bbcb4
--- /dev/null
+++ b/packageA/member/editmobile/editmobile.wxss
@@ -0,0 +1,501 @@
+/* pages/member/editmobile/editmobile.wxss */
+.topback {
+ width: 100%;
+ height: 448rpx;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/logindefault_bg@2x.png');
+ background-size: cover;
+ background-repeat: no-repeat;
+
+ /* position: relative; */
+}
+
+.topTxt {
+ position: absolute;
+ top: 210rpx;
+ left: 31rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.topTxt text:nth-child(1) {
+ width: 100%;
+ font-size: 48rpx;
+ color: #fff;
+}
+
+.topTxt text:nth-child(2) {
+ width: 100%;
+ font-size: 32rpx;
+ color: #fff;
+ line-height: 36rpx;
+}
+
+.register .content .area_number {
+ padding-top: 40rpx;
+ font-size: 36px;
+ color: #333;
+ margin-bottom: 16rpx;
+}
+
+.register .content .area_number input {
+ border-bottom: solid 2rpx #ccc;
+}
+
+.register .content .login_info .li {
+ display: flex;
+ font-size: 32rpx;
+ padding-top: 12rpx;
+ padding-bottom: 12rpx;
+ border-bottom: solid 2rpx #eaeaea;
+ position: relative;
+ margin-left: 44rpx;
+ margin-right: 44rpx;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.register .content .login_info .captcha .right {
+ width: 150rpx;
+ padding-top: 15rpx;
+}
+
+.register .content .login_info .captcha .right image {
+ width: 100%;
+}
+
+.register .content .login_info .code .right {
+ /* background-color: #ebebeb;
+ color: #f15353;
+ font-size: 28rpx;
+ border-radius: 60rpx;
+ padding: 0 20rpx;
+ height: 60rpx;
+ line-height: 60rpx; */
+ color: #f15353;
+ font-size: 28rpx;
+ line-height: 60rpx;
+ text-align: right;
+}
+
+.register .content .login_info .code .right.disabled {
+ background-color: #ccc;
+ color: #f0f0f0;
+ padding: 0 20rpx;
+}
+
+.register .content .agreement {
+ /* margin-top: 20rpx; */
+ margin-top: 183rpx;
+ height: 72rpx;
+ line-height: 72rpx;
+ text-align: left;
+ padding: 0 40rpx;
+ display: flex;
+ align-items: center;
+}
+
+.agreement .left van-checkbox .van-checkbox {
+ margin-top: -10rpx;
+}
+
+.agreement .left van-checkbox .van-checkbox van-icon {
+ border-radius: 10rpx;
+}
+
+.register .content .agreement .right {
+ font-size: 32rpx;
+ padding-left: 20rpx;
+}
+
+.register .content .agreement .right .span {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #999;
+}
+
+.register .content .agreement .right .span text {
+ font-size: 24rpx;
+ color: #ff2c29;
+}
+
+.resContent {
+ width: 100%;
+}
+
+.resContent van-nav-bar {
+ position: fixed;
+ top: 0;
+}
+.van-nav-bar__title{
+ max-width: 80%;
+}
+
+.resContent .p {
+ padding-top: 46px;
+ height: 604rpx;
+ overflow-y: scroll;
+}
+
+.resContent .p view {
+ margin: 0 34rpx 0 24rpx;
+}
+
+.register .btn .button {
+ width: 660rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ font-size: 32rpx;
+ border-radius: 60rpx;
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ text-align: center;
+ margin: 0 auto 40rpx;
+ margin-top: 50px;
+}
+
+.cell_box {
+ margin-bottom: 20rpx;
+}
+
+.cell_box .title {
+ padding: 5rpx 24rpx 10rpx;
+ font-size: 28rpx;
+ text-align: left;
+ color: #888;
+ position: relative;
+ z-index: 1;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* -------------------------------- */
+
+.cell_box .title {
+ padding: 5rpx 24rpx 10rpx;
+ font-size: 28rpx;
+ text-align: left;
+ color: #888;
+ position: relative;
+ z-index: 1;
+}
+
+.textcontent {
+ padding: 10px 15px;
+}
+
+.textcontent textarea {
+ min-height: 200rpx;
+ width: 100%;
+ border: 1rpx solid #e3e3e3;
+}
+
+.cell_box .van-radio {
+ padding: 10rpx 0;
+ margin-left: 16rpx;
+}
+
+.cell_box .van-checkbox {
+ padding: 10rpx 0;
+ margin-left: 16rpx;
+}
+
+.success .ico {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.timesection {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 88rpx;
+ padding-left: 40rpx;
+ padding-right: 50rpx;
+
+ /* border: 1px solid #eee; */
+ margin-top: 10rpx;
+}
+
+.changeId_main {
+ padding: 64rpx;
+ width: 420rpx;
+ text-align: center;
+ border-radius: 20rpx;
+ overflow: hidden;
+}
+
+.changeId_main icon {
+ font-size: 96rpx;
+ color: rgb(213, 49, 37);
+}
+
+.changeId_main .changeId_warnTitel {
+ margin: 0 0 20rpx;
+ font-size: 40rpx;
+ font-weight: bold;
+ color: #000;
+}
+
+.changeId_main .changeId_warnText {
+ text-align: left;
+ letter-spacing: 1rpx;
+ font-size: 24rpx;
+}
+
+.changeId_main .changeId_Btn {
+ width: 160rpx;
+ border: 1rpx solid #c5c5c5;
+ background: #d53125;
+ border-radius: 10rpx;
+ color: #fff;
+ height: 64rpx;
+ display: block;
+ line-height: 64rpx;
+ margin: 32rpx auto 0;
+}
+
+.changeId_main .changeId_Btn_other {
+ opacity: 0.5;
+}
+
+/* 新样式 */
+.nikeName {
+ display: flex;
+ padding-top: 52rpx;
+ padding-bottom: 30rpx;
+
+ /* border-bottom: solid 2rpx #eaeaea; */
+ position: relative;
+ margin-left: 44rpx;
+ margin-right: 44rpx;
+ align-items: center;
+ text-indent: 30rpx;
+ font-size: 36rpx;
+}
+
+.codeBtn {
+ position: relative;
+ text-align: right;
+}
+
+.codeBtn button {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+}
+
+/* 新样式 */
+.login_info .li .left .van-cell {
+ padding-left: 0;
+}
+
+.login_info .li .van-cell {
+ padding-left: 0;
+}
+
+/* .diyform van-cell-group van-field .van-cell {
+ padding-left: 0;
+} */
+
+.rest van-cell-group .van-cell .van-cell__title {
+ padding-left: 5px;
+}
+
+.inp_content {
+ padding-left: 44rpx;
+ display: flex;
+}
+
+.inp_content .left {
+ color: #555;
+ font-size: 28rpx;
+ white-space: nowrap;
+ display: flex;
+ align-items: center;
+}
+
+.form_sex van-cell-group .van-cell {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+.form_sex van-cell-group .van-cell .van-cell__title {
+ color: #888;
+}
+
+.customBox {
+ display: flex;
+ align-items: center;
+}
+
+.showtop {
+ /* padding-top: 54px; */
+ position: fixed;
+ top: 0;
+ left: 0;
+ padding-bottom: 5px;
+ background-color: #fff;
+ transition: 0.8s;
+ width: 100%;
+ z-index: 9999;
+}
+
+.nonetop {
+ padding-bottom: 0;
+ transition: 1s;
+}
+
+/* 表单补充样式 */
+.image-list {
+ width: 100%;
+ height: 100%;
+ padding: 24rpx 0;
+ margin-top: -20rpx;
+}
+
+.image-list .otherphoto .top {
+ height: 100rpx;
+ text-align: left;
+ padding-left: 26rpx;
+ line-height: 100rpx;
+ border-bottom: solid 1px #ccc;
+}
+
+.image-list .otherphoto .top .span {
+ font-size: 30rpx;
+}
+
+.image-list .otherphoto .imgflex {
+ margin-top: 20rpx;
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.image-list .otherphoto .imgflex .photobox {
+ width: 190rpx;
+ height: 190rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+}
+
+.image-list .otherphoto .imgflex .photobox image {
+ width: 100%;
+ height: 100%;
+}
+
+.image-list .otherphoto .imgflex .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.image-list .otherphoto .imgflex .photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+}
+
+.image-list .otherphoto .imgflex .photoshow image {
+ width: 100%;
+}
+
+.required {
+ position: relative;
+}
+
+.required::before {
+ position: absolute;
+ content: "*";
+ left: -10rpx;
+ top: 55%;
+ transform: translateY(-50%);
+ color: #ee0a24;
+ font-size: 14px;
+}
+
+.realnameView {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.realnameView van-cell {
+ flex: 1;
+ flex-shrink: 0;
+}
+
+.realnameView input {
+ flex: 1;
+ flex-shrink: 0;
+ text-align: right;
+}
+.realnameView .van-cell--required:before{
+ left: -10px !important;
+}
\ No newline at end of file
diff --git a/packageA/member/extension/CustomQueue/CustomQueue.js b/packageA/member/extension/CustomQueue/CustomQueue.js
new file mode 100644
index 0000000..974d983
--- /dev/null
+++ b/packageA/member/extension/CustomQueue/CustomQueue.js
@@ -0,0 +1,306 @@
+// packageA/member/extension/CustomQueue/CustomQueue.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ active: 0,
+ rewardsData: {},
+ recordsList: [],
+ MemberData: {},
+ url: '',
+ amount_id: '',
+ currentTabIndex: 1,
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.checkrouter();
+ this.initData();
+ this.getIndex();
+ this.getMember();
+ this.handleClick(0);
+ },
+ checkrouter() {
+ try {
+ // 推广中心是否开启该功能,没开启跳转到指定路径
+ let basic_info = wx.getStorageSync("yz_basic_info");
+ let stop_info = basic_info.popularize_page.mini.vue_route;
+ for (let i = 0; i < stop_info.length; i++) {
+ if (stop_info[i] == 'ClockPunch') {
+ console.log(basic_info.popularize_page.mini.mini_url + "跳转的路径");
+
+ wx.showToast({
+ title: '未开启推广权限',
+ duration: 1000,
+ icon: 'none',
+ success: function () {
+ setTimeout(() => {
+ wx.redirectTo({
+ url: basic_info.popularize_page.mini.mini_url,
+ });
+ }, 1000);
+ }
+ });
+ return;
+ }
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ initData() {
+ this.setData({
+ rewardsData: {},
+ recordsList: [],
+ active: 0,
+ page: 1,
+ currentTabIndex: 1,
+ total_page: 0,
+ amount_id: '',
+ isLoadMore: true
+ });
+ },
+ getIndex() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.diy-queue.frontend.diy-queue.get-statistics');
+ app._getNetWork({
+ url: urlStr,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ rewardsData: res.data
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getMember() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.diy-queue.frontend.diy-queue.get-member');
+ app._getNetWork({
+ url: urlStr,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ MemberData: res.data.member
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ handleClickbtn(e) {
+ let index = e.detail.index;
+ this.handleClick(index);
+ },
+ //tab 点击
+ handleClick(index, title) {
+ this.setData({
+ amount_id: '',
+ recordsList: []
+ });
+ if (this.data.currentTabIndex !== index) {
+ this.setData({
+ currentTabIndex: index
+ });
+ if (index === 1) {
+ this.setData({
+ url: 'plugin.diy-queue.frontend.diy-queue.get-logs'
+ });
+ } else {
+ this.setData({
+ url: 'plugin.diy-queue.frontend.diy-queue.get-queues'
+ });
+ }
+ this.getData();
+ }
+ },
+ //获取数据
+ getData() {
+ this.setData({
+ isLoadMore: false,
+ page: 1
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.url);
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: 1
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true
+ });
+ if (that.data.currentTabIndex === 1) {
+ that.setData({
+ total_page: res.data.logs.last_page,
+ recordsList: res.data.logs.data
+ });
+ } else {
+ that.setData({
+ total_page: res.data.queues.last_pag,
+ recordsList: res.data.queues.data
+ });
+ }
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //获取更多数据
+ getMoreData() {
+ let that = this;
+ this.setData({
+ isLoadMore: false
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.setData({
+ page: this.data.page + 1
+ });
+ let urlStr = app.getNetAddresss(this.data.url);
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: this.data.page
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.currentTabIndex === 1) {
+ myData = res.data.logs.data;
+ } else {
+ myData = res.data.queues.data;
+ }
+ that.setData({
+ recordsList: that.data.recordsList.concat(myData)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ showMore(e) {
+ let index = e.currentTarget.dataset.index;
+ let obj = e.currentTarget.dataset.item;
+ if (obj.show && this.data.amount_id === obj.id) {
+ this.setData({
+ ['recordsList[' + index + '].show']: false
+ });
+ return;
+ }
+ this.setData({
+ 'amount_id': obj.id,
+ ['recordsList[' + index + '].show']: true
+ });
+ },
+});
diff --git a/packageA/member/extension/CustomQueue/CustomQueue.json b/packageA/member/extension/CustomQueue/CustomQueue.json
new file mode 100644
index 0000000..e260b3a
--- /dev/null
+++ b/packageA/member/extension/CustomQueue/CustomQueue.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "自定义队列",
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/extension/CustomQueue/CustomQueue.wxml b/packageA/member/extension/CustomQueue/CustomQueue.wxml
new file mode 100644
index 0000000..9d49c3c
--- /dev/null
+++ b/packageA/member/extension/CustomQueue/CustomQueue.wxml
@@ -0,0 +1,120 @@
+
+
+
+
+
+ {{language['money']}}{{rewardsData.amountTotal || 0}}
+ 累计奖励
+
+
+ {{language['money']}}{{rewardsData.amountSurplusTotal || 0}}
+
+ 待奖励
+
+
+
+
+
+
+ 权益排序:{{item.sort}}
+
+
+
+
+ {{language['money']}}{{item.amount}}
+ 奖励金额
+
+
+ {{language['money']}}{{item.finish_amount}}
+ 已奖励
+
+
+ {{item.status_name}}
+
+
+
+
+ 展示完整信息
+
+
+
+
+
+
+ 权益金额
+ {{item.amount}}
+
+
+ 订单商品金额
+ {{language['money']}}{{item.goods_price}}
+
+
+ 奖励比例:
+ {{item.ratio}}%
+
+
+ 时间:
+ {{item.created_at}}
+
+
+
+
+
+
+
+
+ 奖励队列:{{item.queue_id}}
+ {{language['money']}}{{item.amount}}
+
+
+
+
+ {{language['money']}}{{item.has_one_queue.finish_amount}}
+ 已奖励金额
+
+
+ {{language['money']}}{{item.has_one_queue.surplus_amount}}
+ 未奖励金额
+
+
+ {{item.has_one_queue.status_name}}
+
+
+
+
+ 展示完整信息
+
+
+
+
+
+
+ 订单编号
+ {{item.has_one_order.order_sn}}
+
+
+ 订单商品金额
+ {{language['money']}}{{item.goods_price}}
+
+
+ 奖励比例:
+ {{item.ratio}}%
+
+
+ 时间:
+ {{item.created_at}}
+
+
+
+
+
+
+
+
diff --git a/packageA/member/extension/CustomQueue/CustomQueue.wxss b/packageA/member/extension/CustomQueue/CustomQueue.wxss
new file mode 100644
index 0000000..cc52628
--- /dev/null
+++ b/packageA/member/extension/CustomQueue/CustomQueue.wxss
@@ -0,0 +1,235 @@
+.custom_queue {
+ padding-top: 40px;
+}
+
+.custom_queue .content .header_box {
+ background: #fff;
+ display: flex;
+ padding: 40rpx 28rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.custom_queue .content .header_box .img {
+ width: 112rpx;
+ height: 112rpx;
+ border-radius: 56rpx;
+ overflow: hidden;
+ border: solid 2rpx #ebebeb;
+ margin-right: 20rpx;
+ background-color: #f8f8f8;
+}
+
+.custom_queue .content .header_box .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.custom_queue .content .header_box .head_name {
+ text-align: left;
+}
+
+.custom_queue .content .header_box .head_name .span {
+ width: 562rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: block;
+ font-size: 32rpx;
+ font-weight: bold;
+ line-height: 96rpx;
+}
+
+.custom_queue .content .header_box .head_name .title {
+ color: #999;
+ font-size: 32rpx;
+ font-weight: normal;
+}
+
+.custom_queue .content .reward_box {
+ background: #fff;
+ display: flex;
+ padding: 24rpx 0;
+ margin-bottom: 20rpx;
+}
+
+.custom_queue .content .reward_box .reward_a,
+.custom_queue .content .reward_box .reward_b {
+ width: 50%;
+ text-align: center;
+}
+
+.custom_queue .content .reward_box .reward_a .li .span,
+.custom_queue .content .reward_box .reward_b .li .span {
+ font-size: 28rpx;
+}
+
+.custom_queue .content .reward_box .reward_a .li:first-child,
+.custom_queue .content .reward_box .reward_b .li:first-child {
+ height: 52rpx;
+ line-height: 52rpx;
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.custom_queue .content .reward_box .reward_a .li:last-child,
+.custom_queue .content .reward_box .reward_b .li:last-child {
+ line-height: 48rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+}
+
+.custom_queue .content .reward_box .reward_c {
+ width: 33.33%;
+ line-height: 100rpx;
+ font-size: 32rpx;
+}
+
+.custom_queue .content .reward_box .reward_c .li {
+ display: flex;
+ justify-content: flex-end;
+ padding-right: 28rpx;
+ width: 100%;
+ color: #8c8c8c;
+}
+
+.custom_queue .content .reward_box .reward_c .li icon {
+ font-size: 48rpx;
+ line-height: 100rpx;
+ color: #c9c9c9;
+ margin-left: 20rpx;
+}
+
+.custom_queue .content .queue_box {
+ margin-bottom: 20rpx;
+ background-color: #fff;
+}
+
+.custom_queue .content .queue_box .queue_a {
+ display: flex;
+ justify-content: space-between;
+ padding: 20rpx 28rpx;
+ line-height: 80rpx;
+ font-size: 32rpx;
+}
+
+.custom_queue .content .queue_box .queue_a .span:first-child {
+ font-weight: bold;
+}
+
+.custom_queue .content .queue_box .queue_a .sum {
+ color: #f15353;
+}
+
+.custom_queue .content .queue_box .queue_b .queue_center {
+ display: flex;
+}
+
+.custom_queue .content .queue_box .queue_b .queue_center .ul {
+ width: 33.33%;
+ justify-content: center;
+}
+
+.custom_queue .content .queue_box .queue_b .queue_center .reward_queue_a .li:first-child,
+.custom_queue .content .queue_box .queue_b .queue_center .reward_queue_b .li:first-child {
+ font-size: 32rpx;
+ height: 52rpx;
+ line-height: 52rpx;
+ font-weight: bold;
+}
+
+.custom_queue .content .queue_box .queue_b .queue_center .reward_queue_a .li:first-child .span,
+.custom_queue .content .queue_box .queue_b .queue_center .reward_queue_b .li:first-child .span {
+ font-size: 28rpx;
+}
+
+.custom_queue .content .queue_box .queue_b .queue_center .reward_queue_a .li:last-child,
+.custom_queue .content .queue_box .queue_b .queue_center .reward_queue_b .li:last-child {
+ line-height: 48rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+}
+
+.custom_queue .content .queue_box .queue_b .queue_center .reward_queue_c {
+ font-size: 32rpx;
+ color: #f15353;
+ text-align: center;
+ line-height: 100rpx;
+}
+
+.custom_queue .content .queue_box .queue_c {
+ display: flex;
+ justify-content: center;
+ margin-top: 24rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: center;
+ font-size: 32rpx;
+}
+
+.custom_queue .content .queue_box .queue_c icon {
+ font-size: 48rpx;
+ color: #666;
+}
+
+.custom_queue .content .queue_box .button_box {
+ padding: 0 28rpx;
+}
+
+.custom_queue .content .queue_box .button_box .button {
+ background: #fff;
+ color: #333;
+ font-size: 28rpx;
+ border: solid 2rpx #ccc;
+ border-radius: 32rpx;
+ height: 52rpx;
+ width: 240rpx;
+ margin: 0 20rpx;
+}
+
+.custom_queue .content .queue_box .queue_c_down {
+ margin-top: 24rpx;
+ border-top: solid 2rpx #ebebeb;
+ padding: 20rpx 0;
+ font-size: 28rpx;
+}
+
+.custom_queue .content .queue_box .queue_c_down .li {
+ display: flex;
+ justify-content: space-between;
+ line-height: 56rpx;
+}
+
+.custom_queue .content .queue_box .queue_bottom {
+ display: flex;
+ justify-content: space-around;
+ margin-top: 20rpx;
+}
+
+.custom_queue .content .queue_box .queue_bottom .button_side {
+ width: 240rpx;
+ height: 60rpx;
+ background-color: #fff;
+ color: #333;
+ font-size: 30rpx;
+ border: solid 2rpx #ebebeb;
+ border-radius: 48rpx;
+}
+
+.custom_queue .content .queue_box .queue_bottom .button_line {
+ width: 616rpx;
+ height: 60rpx;
+ border-radius: 6rpx;
+ border: solid 2rpx #f15353;
+ color: #f15353;
+ font-size: 30rpx;
+}
+
+.custom_queue .content .queue_box .fade-enter-active {
+ transition: 0.5s;
+}
+
+.custom_queue .content .queue_box .fade-enter,
+.custom_queue .content .queue_box .fade-leave-active {
+ opacity: 0;
+ height: 0;
+}
diff --git a/packageA/member/extension/ExtensionApply/ExtensionApply.js b/packageA/member/extension/ExtensionApply/ExtensionApply.js
new file mode 100644
index 0000000..53ce4b9
--- /dev/null
+++ b/packageA/member/extension/ExtensionApply/ExtensionApply.js
@@ -0,0 +1,335 @@
+// pages/ExtensionApply/ExtensionApply.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ info_img: "",
+ //-----模块
+ //是否提交审核
+ isCheck: false,
+
+ //显示模块
+ becomeType_1: false,
+ becomeType_2: false,
+ becomeType_3: false,
+ becomeType_4: false,
+
+ become_1_info_1: "",
+ become_1_info_2: "",
+
+ become_2_info_1: "0",
+ become_2_info_2: "0",
+ become_2_info_3: "",
+
+ become_3_info_1: "0",
+ become_3_info_2: "0",
+ become_3_info_3: "",
+
+
+ become_4_info_1: "",
+ become_4_info_2: "",
+ become_4_info_3: "",
+
+ para_name: "",
+ para_phone: "",
+ para_weixin: "",
+
+ //推广提示
+ extensionTips: "",
+ //专区商品
+ areaGoods: []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getExtensionBanner();
+ this.initExtension();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getExtensionBanner() {
+ let that = this;
+ let urlStr = app.getNetAddresss('member.member.agentbase');
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ info_img: res.data.banner
+ });
+ } else {
+ that.setData({
+ info_img: ''
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ goHome() {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ },
+ initExtension() {
+ //是否提交审核
+ this.setData({
+ isCheck: false,
+ becomeType_1: false,
+ becomeType_2: false,
+ becomeType_3: false,
+ becomeType_4: false,
+ become_1_info_1: "",
+ become_1_info_2: "",
+ become_2_info_1: "0",
+ become_2_info_2: "0",
+ become_2_info_3: "",
+ become_3_info_1: "0",
+ become_3_info_2: "0",
+ become_3_info_3: "",
+ become_4_info_1: "",
+ become_4_info_2: "",
+ become_4_info_3: '',
+ para_name: "",
+ para_phone: '',
+ para_weixin: ''
+ });
+ // this.getExtension();
+ this.getExtensionInfo();
+ },
+ // getExtension() {
+ // let that = this;
+ // let urlStr = app.getNetAddresss('member.member.getMemberRelationInfo');
+ // app._getNetWork({
+ // url: urlStr,
+ // success: function (resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // that.setView(res.data);
+ // }
+ // },
+ // fail: function (res) {
+ // console.log(res.msg);
+ // }
+ // });
+ // },
+ //设置view 显示
+ setView(data) {
+ if (data.base_info.status == 0) {
+ this.setBecomeType(data.become);
+ this.setBecomeTypeView(data.become, data);
+ } else if (data.base_info.status == 1){
+ //显示已申请
+ this.setData({
+ becomeType_1: false,
+ becomeType_2: false,
+ becomeType_3: false,
+ becomeType_4: false,
+ isCheck: true
+ });
+ } else {
+ wx.redirectTo({
+ url: '/packageA/member/distribution/distribution'
+ })
+ }
+ },
+ //设置类型显示
+ setBecomeType(become) {
+ if (become == 1) {
+ this.setData({
+ becomeType_1: true,
+ becomeType_2: false,
+ becomeType_3: false,
+ becomeType_4: false
+ });
+ } else if (become == 2 || become == 3) {
+ this.setData({
+ becomeType_1: false,
+ becomeType_2: true,
+ becomeType_3: true,
+ becomeType_4: true
+ });
+ } else {
+ this.setData({
+ becomeType_1: false,
+ becomeType_2: false,
+ becomeType_3: false,
+ becomeType_4: false
+ });
+ }
+ },
+ //设置类型显示view
+ setBecomeTypeView(become, data) {
+ if (become == 1) {
+ this.setData({
+ become_1_info_1: data.base_info.parent_name,
+ become_1_info_2: data.base_info.shop_name,
+ para_name: data.base_info.realname,
+ para_phone: data.base_info.mobile
+ });
+ } else if (become == 2 || become == 3) {
+ // this.getExtensionInfo();
+ }
+ },
+ getExtensionInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss('member.member.shareinfo');
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setView(res.data);
+ that.setData({
+ become_3_info_1: res.data.become_term.become_moneycount ? res.data.become_term.become_moneycount : '',
+ become_3_info_2: res.data.getCostTotalPrice ? res.data.getCostTotalPrice : '',
+ become_2_info_1: res.data.become_term.become_ordercount ? res.data.become_term.become_ordercount : '',
+ become_2_info_2: res.data.getCostTotalNum ? res.data.getCostTotalNum : '',
+ extensionTips: res.data.tip ? res.data.tip : '',
+ areaGoods: res.data.become_term.goodsinfo ? res.data.become_term.goodsinfo : '',
+ become_term_id:res.data.become_term_id,
+ become_selfmoney:res.data.become_selfmoney
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ paraNameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ para_name: val
+ });
+ },
+ paraPhoneinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ para_phone: val
+ });
+ },
+ //状态1 点击
+ become_1_click() {
+ if (app._isTextEmpty(this.data.para_name)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入真实姓名",
+ duration: 1000
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.para_phone)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入手机号",
+ duration: 1000
+ });
+ return;
+ }
+ if (app._isMoblie(this.data.para_phone)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入正确的手机号",
+ duration: 1000
+ });
+ return;
+ }
+ let _mid = "";
+ try {
+ const value = wx.getStorageSync('mid');
+ if (value) {
+ _mid = value;
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss('member.member.addAgentApply');
+ urlStr += '&mid=' + _mid;
+ urlStr += '&realname=' + this.data.para_name;
+ urlStr += '&mobile=' + this.data.para_phone;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getExtensionInfo(); //重新获取
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ gotoShopGood() {
+ wx.navigateTo({
+ url: '/packageA/member/extension/ExtensionGoods/ExtensionGoods'
+ });
+ //ExtensionGoods
+ },
+ //状态3 点击
+ become_3_click() {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ },
+});
diff --git a/packageA/member/extension/ExtensionApply/ExtensionApply.json b/packageA/member/extension/ExtensionApply/ExtensionApply.json
new file mode 100644
index 0000000..5dc7305
--- /dev/null
+++ b/packageA/member/extension/ExtensionApply/ExtensionApply.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "推广申请",
+ "usingComponents": {
+ "van-cell": "../../../../dist/cell/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-field": "../../../../dist/field/index",
+ "van-icon": "../../../../dist/icon/index"
+ }
+}
diff --git a/packageA/member/extension/ExtensionApply/ExtensionApply.wxml b/packageA/member/extension/ExtensionApply/ExtensionApply.wxml
new file mode 100644
index 0000000..a251155
--- /dev/null
+++ b/packageA/member/extension/ExtensionApply/ExtensionApply.wxml
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+ 欢迎加入{{become_1_info_2}},请填写申请信息
+ 邀请人:
+ {{become_1_info_1}} 请核实
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 申请推广
+
+
+
+ 推广申请
+ {{extensionTips}}
+
+
+
+
+
+ 本店累计消费满{{become_3_info_1}} {{language['元']}}, 才可成为推广员,您已消费{{become_3_info_2?become_3_info_2:0}}
+ {{language['元']}},请继续努力!
+
+
+
+ 本店累计消费满 {{become_2_info_1}}次, 才可成为推广员,您已消费{{become_2_info_2?become_2_info_2:0}}次,请继续努力!
+
+
+
+ 本店需购买指定专区商品,才可以成为推广员,请去挑选购买吧!进入专区商品
+ >>>
+
+
+
+ 自购销售佣金累计达到{{become_selfmoney}}{{language['元']}}
+
+
+
+
+
+
+ 继续去购物
+
+
+
+
+ 推广特权
+
+
+
+
+
+ 专属二维码
+ 拥有专属推广二维码,用于推广客户;
+
+
+
+
+
+
+
+ 推广收入
+ 推广的客户购买商品后,您将获得相应的推广收入;
+
+
+
+
+
+
+
+
+ 您的申请已经提交,请等待审核!
+
+ 去商城逛逛
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/extension/ExtensionApply/ExtensionApply.wxss b/packageA/member/extension/ExtensionApply/ExtensionApply.wxss
new file mode 100644
index 0000000..5db4948
--- /dev/null
+++ b/packageA/member/extension/ExtensionApply/ExtensionApply.wxss
@@ -0,0 +1,264 @@
+/* pages/ExtensionApply/ExtensionApply.wxss */
+page {
+ background: #fff;
+}
+
+.extension {
+ text-align: center;
+}
+
+.extension .myextension .banner image {
+ width: 100%;
+}
+
+.extension .myextension .main {
+ position: relative;
+ top: -8rpx;
+}
+
+.extension .welcome {
+ background-color: #fff;
+ padding: 40rpx 0;
+}
+
+.extension .apply-info .text {
+ font-size: 32rpx;
+ line-height: 48rpx;
+}
+
+.extension .apply-info .text .p .span {
+ color: #f15353;
+ font-weight: bold;
+}
+
+.extension .apply-info .info {
+ margin-bottom: 40rpx;
+ padding: 0 28rpx;
+ border-top: solid 2rpx #ebebeb;
+ border-bottom: solid 2rpx #ebebeb;
+ margin-top: 20rpx;
+ text-align: left;
+}
+
+.extension .apply-info .info .name,
+.extension .apply-info .info .member {
+ height: 88rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.extension .apply-info .info .member {
+ border: none;
+}
+
+.extension .apply-info .btn {
+ width: 80%;
+ background-color: #f15353;
+ border-radius: 8rpx;
+ color: #fff;
+ border: none;
+ height: 72rpx;
+ font-size: 28rpx;
+ line-height: 72rpx;
+ margin: 0 auto;
+}
+
+.extension #go-buy .text {
+ margin-bottom: 20rpx;
+ padding: 0 28rpx;
+ font-size: 32rpx;
+}
+
+.extension #go-buy .text p {
+ line-height: 52rpx;
+}
+
+.extension #go-buy .text span {
+ color: #f15353;
+ font-weight: bold;
+}
+
+.extension #go-buy .info .btn {
+ line-height: 72rpx;
+ margin: 0 auto;
+ width: 80%;
+ height: 72rpx;
+ border-radius: 36rpx;
+ background-color: #f15353;
+ color: #fff;
+ font-size: 28rpx;
+}
+
+.extension #go-buy .info .btn van-icon {
+ margin-right: 20rpx;
+}
+
+.extension .new_extension {
+ background: #fff;
+ padding: 0 28rpx 40rpx 28rpx;
+}
+
+.extension .new_extension .title {
+ padding: 8rpx 0;
+ background-image: url(https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/title_bg.png);
+ background-repeat: no-repeat;
+ background-size: 520rpx;
+ background-position: center center;
+ color: #fff;
+ margin-bottom: 40rpx;
+}
+
+.extension .new_extension .title .h1 {
+ font-size: 32rpx;
+ line-height: 48rpx;
+}
+
+.extension .new_extension .title .p {
+ font-size: 26rpx;
+ line-height: 40rpx;
+ opacity: 0.7;
+}
+
+.extension .new_extension .text .li {
+ display: flex;
+ margin-bottom: 20rpx;
+}
+
+.extension .new_extension .text .li icon {
+ font-size: 48rpx;
+ color: #c9c9c9;
+}
+
+.extension .new_extension .text .li .p {
+ font-size: 32rpx;
+ text-align: left;
+ margin-left: 16rpx;
+ line-height: 56rpx;
+}
+
+.extension .new_extension .text .li .p .span {
+ font-weight: bold;
+ color: #f15353;
+}
+
+.extension .new_extension .text .li .p .btn {
+ font-weight: normal;
+ font-size: 26rpx;
+ background: rgba(241, 83, 83, 0.16);
+ padding: 8rpx 20rpx;
+ border-radius: 6rpx;
+ margin-left: 40rpx;
+}
+
+.extension .new_extension .info {
+ margin-top: 40rpx;
+}
+
+.extension .new_extension .info .btn {
+ line-height: 72rpx;
+ margin: 0 auto;
+ width: 600rpx;
+ height: 72rpx;
+ border-radius: 36rpx;
+ background-color: #f15353;
+ color: #fff;
+ font-size: 28rpx;
+}
+
+.extension .myextension .main .vip_main {
+ background: #fff;
+ margin: 30rpx 0;
+}
+
+.extension .myextension .main .vip_main .title {
+ padding: 20rpx;
+ font-size: 24rpx;
+ border-bottom: 2rpx solid #e2e2e2;
+ text-align: center;
+}
+
+.extension .myextension .main .vip_main .vip {
+ padding: 30rpx 20rpx;
+ overflow: hidden;
+ font-size: 24rpx;
+ color: #999;
+ display: flex;
+}
+
+.extension .myextension .main .vip_main .vip .ico1,
+.extension .myextension .main .vip_main .vip .ico2 {
+ width: 15%;
+}
+
+.extension .myextension .main .vip_main .vip .ico1 {
+ height: 72rpx;
+ width: 72rpx;
+ background: #32cd32;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-radius: 50%;
+ margin-right: 10rpx;
+}
+
+.extension .myextension .main .vip_main .vip .ico2 {
+ height: 72rpx;
+ width: 72rpx;
+ background: #fece00;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-radius: 50%;
+ margin-right: 10rpx;
+}
+
+.extension .myextension .main .vip_main .vip .text {
+ width: 85%;
+}
+
+.extension .myextension .main .vip_main .vip .text .t1 {
+ font-size: 32rpx;
+ color: #333;
+ margin-bottom: 10rpx;
+ text-align: left;
+}
+
+.extension .myextension .main .vip_main .vip .text .t2 {
+ text-align: justify;
+}
+
+.extension .myextension .main .vip_main .vip1 {
+ border-bottom: 2rpx solid #e2e2e2;
+}
+
+.extension .myextension .success {
+ height: 400rpx;
+ padding-top: 130rpx;
+ background: #fff;
+}
+
+.extension .myextension .success .ico {
+ height: 130rpx;
+ width: 130rpx;
+ margin: 0 auto;
+}
+
+.extension .myextension .success .text {
+ height: 64rpx;
+ margin-top: 60rpx;
+ color: #666;
+ line-height: 51rpx;
+ text-align: center;
+}
+
+.extension .myextension .success .a .sub {
+ height: 64rpx;
+ width: 80%;
+ background: #f55955;
+ margin: 40rpx auto;
+ border-radius: 64rpx;
+ color: #fff;
+ line-height: 64rpx;
+ text-align: center;
+ font-size: 28rpx;
+ margin-bottom: 40rpx;
+}
diff --git a/packageA/member/extension/ExtensionGoods/ExtensionGoods.js b/packageA/member/extension/ExtensionGoods/ExtensionGoods.js
new file mode 100644
index 0000000..2fd6dad
--- /dev/null
+++ b/packageA/member/extension/ExtensionGoods/ExtensionGoods.js
@@ -0,0 +1,93 @@
+// pages/ExtensionGoods/ExtensionGoods.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ goodList: [],
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('member.member.shareinfo');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let goodList = "";
+ goodList = res.data.become_goods.map((value) => {
+ let json = {};
+ json.goods_id = value.id;
+ json.thumb = value.thumb;
+ json.title = value.title;
+ return json;
+ });
+ that.setData({
+ goodList: goodList
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ }
+});
diff --git a/packageA/member/extension/ExtensionGoods/ExtensionGoods.json b/packageA/member/extension/ExtensionGoods/ExtensionGoods.json
new file mode 100644
index 0000000..8c6a909
--- /dev/null
+++ b/packageA/member/extension/ExtensionGoods/ExtensionGoods.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "专区商品",
+ "usingComponents": {
+ "goods": "../../../../mycomponent/goodsList/goodsList"
+ }
+}
diff --git a/packageA/member/extension/ExtensionGoods/ExtensionGoods.wxml b/packageA/member/extension/ExtensionGoods/ExtensionGoods.wxml
new file mode 100644
index 0000000..16c4d15
--- /dev/null
+++ b/packageA/member/extension/ExtensionGoods/ExtensionGoods.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/packageA/member/extension/ExtensionGoods/ExtensionGoods.wxss b/packageA/member/extension/ExtensionGoods/ExtensionGoods.wxss
new file mode 100644
index 0000000..8c53be5
--- /dev/null
+++ b/packageA/member/extension/ExtensionGoods/ExtensionGoods.wxss
@@ -0,0 +1 @@
+/* pages/ExtensionGoods/ExtensionGoods.wxss */
diff --git a/packageA/member/extension/MyIncome/MyIncome.js b/packageA/member/extension/MyIncome/MyIncome.js
new file mode 100644
index 0000000..65bfc55
--- /dev/null
+++ b/packageA/member/extension/MyIncome/MyIncome.js
@@ -0,0 +1,93 @@
+// pages/member/extension_1/MyIncome/MyIncome.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ obj: {}
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('income.share-page.index');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ obj: res.data
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ }
+});
diff --git a/packageA/member/extension/MyIncome/MyIncome.json b/packageA/member/extension/MyIncome/MyIncome.json
new file mode 100644
index 0000000..47b668a
--- /dev/null
+++ b/packageA/member/extension/MyIncome/MyIncome.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "收入分享",
+ "usingComponents": {
+
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/extension/MyIncome/MyIncome.wxml b/packageA/member/extension/MyIncome/MyIncome.wxml
new file mode 100644
index 0000000..d82e1d1
--- /dev/null
+++ b/packageA/member/extension/MyIncome/MyIncome.wxml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+ {{obj.nickname }}
+ {{obj.member_level }}
+ ID:{{obj.member_id }}
+ {{language['money']}}{{obj.month_income }}
+
+
+ 本月利润
+
+
+
+ {{language['money']}} {{obj.today_income}}
+ 今日利润
+
+
+
+
+ {{language['money']}} {{obj.total_income}}
+ 全部利润
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/member/extension/MyIncome/MyIncome.wxss b/packageA/member/extension/MyIncome/MyIncome.wxss
new file mode 100644
index 0000000..49a4ebf
--- /dev/null
+++ b/packageA/member/extension/MyIncome/MyIncome.wxss
@@ -0,0 +1,110 @@
+/* pages/member/extension_1/MyIncome/MyIncome.wxss */
+.income-bg {
+ position: absolute;
+ z-index: -1;
+ top: -72px;
+ left: 0;
+ width: 100%;
+}
+
+.myIncome .income {
+ background-color: #fafafa;
+ width: 600rpx;
+ margin: 80rpx auto;
+ border-radius: 16rpx;
+ box-shadow: 0 16rpx 28rpx 4rpx rgba(51, 51, 51, 0.08);
+ overflow: visible;
+ text-align: center;
+}
+
+.myIncome .income .header {
+ width: 120rpx;
+ height: 120rpx;
+ margin: 0 auto;
+ position: relative;
+ top: -32rpx;
+ border-radius: 60rpx;
+ border: solid 4rpx #fff;
+ background-color: #ccc;
+ overflow: hidden;
+}
+
+.myIncome .income .header image {
+ width: 100%;
+}
+
+.myIncome .income .name {
+ color: #333;
+}
+
+.myIncome .income .h1,
+.myIncome .income .h2,
+.myIncome .income .h3,
+.myIncome .income .h4 {
+ color: #333;
+}
+
+.myIncome .income .name .h1 {
+ font-size: 36rpx;
+ margin-bottom: 20rpx;
+}
+
+.myIncome .income .name .li {
+ font-size: 32rpx;
+ line-height: 52rpx;
+}
+
+.myIncome .income .name .h2 {
+ margin-top: 32rpx;
+ font-size: 48rpx;
+}
+
+.myIncome .income .profit-box {
+ margin-top: 72rpx;
+}
+
+.myIncome .income .profit-box .h3 {
+ font-size: 32rpx;
+}
+
+.myIncome .income .profit-box .profit {
+ margin-top: 32rpx;
+ display: flex;
+}
+
+.myIncome .income .profit-box .profit .day,
+.myIncome .income .profit-box .profit .all {
+ width: 50%;
+}
+
+.myIncome .income .profit-box .profit .day .h4,
+.myIncome .income .profit-box .profit .all .h4 {
+ min-height: 60rpx;
+ font-size: 40rpx;
+}
+
+.myIncome .income .profit-box .profit .day .h4 .span,
+.myIncome .income .profit-box .profit .all .h4 .span {
+ font-size: 28rpx;
+}
+
+.myIncome .income .profit-box .profit .day .left .li,
+.myIncome .income .profit-box .profit .day .right .li,
+.myIncome .income .profit-box .profit .all .left .li,
+.myIncome .income .profit-box .profit .all .right .li {
+ line-height: 60rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+}
+
+.myIncome .income .code {
+ margin: 72px auto 0;
+ width: 220rpx;
+ height: 220rpx;
+ background-color: #fff;
+ overflow: hidden;
+}
+
+.myIncome .income .code image {
+ width: 100%;
+}
diff --git a/packageA/member/extension/Performance/Performance.js b/packageA/member/extension/Performance/Performance.js
new file mode 100644
index 0000000..7a413ec
--- /dev/null
+++ b/packageA/member/extension/Performance/Performance.js
@@ -0,0 +1,164 @@
+// pages/member/Performance/Performance.js
+const echarts = require('../../../../ec-canvas/echarts'); //路径一定要正确否则会调用错误
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ ec: {
+ lazyLoad: true // 延迟加载
+ },
+ total: '',
+ month: '',
+ today: '',
+ recent: '',
+ xdate: [],
+ ydate: []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.echartsComponnet=this.selectComponent('#mychart');
+ this._getPerformance();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _getPerformance() {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.OrderAll');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ total: res.data.all,
+ month: res.data.month,
+ today: res.data.today,
+ recent: res.data.recent
+ });
+ for (var value in that.data.recent) {
+ let xdate = that.data.xdate;
+ let ydate = that.data.ydate;
+ xdate.push(that.data.recent[value].date);
+ ydate.push(that.data.recent[value].price);
+ that.setData({
+ xdate: xdate,
+ ydate: ydate
+ });
+ }
+ that.init_echarts(); //初始化图表
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ //初始化图表
+ init_echarts: function() {
+ this.echartsComponnet.init((canvas, width, height) => {
+ // 初始化图表
+ const Chart = echarts.init(canvas, null, {
+ width: width,
+ height: height
+ });
+ Chart.setOption(this.getOption());
+ // 注意这里一定要返回 chart 实例,否则会影响事件处理等
+ return Chart;
+ });
+ },
+ getOption: function() {
+ // 指定图表的配置项和数据
+ var option = {
+ title: {
+ text: '最近7天营业额(万元)',
+ textStyle: {
+ fontSize: 14,
+ color: '#FF5511'
+ }
+ },
+ xAxis: {
+ type: 'category',
+ data: this.data.xdate,
+ boundaryGap: false,
+ axisLabel: {
+ fontSize: 14,
+ fontFamily: 'Arial',
+ interval: 0,
+ rotate: 30
+ }
+ },
+ yAxis: {
+ type: 'value',
+ axisLabel: {
+ fontFamily: 'Arial',
+ }
+ },
+ series: [{
+ data: this.data.ydate,
+ type: 'line',
+ hoverAnimatio: true
+ }]
+ };
+ return option;
+ },
+});
diff --git a/packageA/member/extension/Performance/Performance.json b/packageA/member/extension/Performance/Performance.json
new file mode 100644
index 0000000..55df629
--- /dev/null
+++ b/packageA/member/extension/Performance/Performance.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "营业额",
+ "usingComponents": {
+ "ec-canvas": "../../../../ec-canvas/ec-canvas"
+ }
+}
diff --git a/packageA/member/extension/Performance/Performance.wxml b/packageA/member/extension/Performance/Performance.wxml
new file mode 100644
index 0000000..5fc9462
--- /dev/null
+++ b/packageA/member/extension/Performance/Performance.wxml
@@ -0,0 +1,21 @@
+
+
+
+ 今日营业额(万{{language['元']}})
+ {{today}}
+
+
+ 本月营业额(万{{language['元']}})
+ {{month}}
+
+
+ 总营业额(万{{language['元']}})
+ {{total}}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/extension/Performance/Performance.wxss b/packageA/member/extension/Performance/Performance.wxss
new file mode 100644
index 0000000..e6e75fd
--- /dev/null
+++ b/packageA/member/extension/Performance/Performance.wxss
@@ -0,0 +1,47 @@
+/* pages/member/Performance/Performance.wxss */
+.performance {
+ text-align: center;
+}
+
+.performance .content {
+ background: #fff;
+ padding: 20rpx 0;
+}
+
+.chart-box {
+ background: white;
+ width: 100%;
+ height: 400px;
+}
+
+.performance .content .info_a {
+ font-size: 28rpx;
+ line-height: 60rpx;
+}
+
+.performance .content .info_b {
+ font-size: 64rpx;
+ color: #ff672b;
+ line-height: 96rpx;
+}
+
+.performance .content .info_c {
+ display: flex;
+ margin-top: 20rpx;
+}
+
+.performance .content .info_c .li {
+ width: 50%;
+ line-height: 48rpx;
+ font-size: 28rpx;
+ color: #8c8c8c;
+}
+
+.performance .content .info_c .li:first-child {
+ border-right: solid 2rpx #ebebeb;
+}
+
+.performance .content .info_c .li .span:last-child {
+ color: #ff672b;
+ font-size: 36rpx;
+}
diff --git a/packageA/member/extension/alreadySettled/alreadySettled.js b/packageA/member/extension/alreadySettled/alreadySettled.js
new file mode 100644
index 0000000..602d839
--- /dev/null
+++ b/packageA/member/extension/alreadySettled/alreadySettled.js
@@ -0,0 +1,149 @@
+// pages/member/alreadySettled/alreadySettled.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ datas: [],
+ // more
+ page: 1, // 分页数,当前页数
+ isLoadMore: true, // 判断是否要加载更多的标志
+ total_page: 0, // 总页数
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getData(); //获取数据
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ wx.showToast({
+ title: '没有更多数据',
+ icon: 'none'
+ });
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //获取数据 预计佣金
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.commission.api.commission.get-commission-list');
+ urlStr += '&commission_type=3';
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: that.data.page
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ datas: res.data.data,
+ total_page: res.data.last_page,
+ isLoadMore: true,
+ page: res.data.current_page
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getMoreData() {
+ let that = this;
+ this.setData({
+ isLoadMore: false
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ let pages = this.data.page;
+ pages += 1;
+ this.setData({
+ page: pages
+ });
+ let urlStr = app.getNetAddresss('plugin.commission.api.commission.get-commission-list');
+ urlStr += '&commission_type=3';
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: that.data.page
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var nextPageData = res.data.data;
+ let datas = [...that.data.datas, ...nextPageData];
+ that.setData({
+ datas,
+ total_page: res.data.last_page,
+ isLoadMore: true,
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/extension/alreadySettled/alreadySettled.json b/packageA/member/extension/alreadySettled/alreadySettled.json
new file mode 100644
index 0000000..c0f5a9d
--- /dev/null
+++ b/packageA/member/extension/alreadySettled/alreadySettled.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "已结算佣金",
+ "usingComponents": {}
+}
diff --git a/packageA/member/extension/alreadySettled/alreadySettled.wxml b/packageA/member/extension/alreadySettled/alreadySettled.wxml
new file mode 100644
index 0000000..2c77748
--- /dev/null
+++ b/packageA/member/extension/alreadySettled/alreadySettled.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.price}}{{language['元']}}
+
+
+ 佣金 +{{item.commission}}
+ {{item.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
diff --git a/packageA/member/extension/alreadySettled/alreadySettled.wxss b/packageA/member/extension/alreadySettled/alreadySettled.wxss
new file mode 100644
index 0000000..953d679
--- /dev/null
+++ b/packageA/member/extension/alreadySettled/alreadySettled.wxss
@@ -0,0 +1,44 @@
+/* pages/member/alreadySettled/alreadySettled.wxss */
+.commission .times {
+ text-align: left;
+ text-indent: 20rpx;
+ line-height: 64rpx;
+}
+
+.commission .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 24rpx;
+ border-bottom: 2rpx solid #e2e2e2;
+ font-size: 28rpx;
+}
+
+.commission .tbs .li {
+ line-height: 48rpx;
+}
+
+.commission .tbs .item1 {
+ color: #000;
+ flex: 50%;
+ text-align: left;
+}
+
+.commission .tbs .item2 {
+ flex: 50%;
+ text-align: right;
+ color: #8c8c8c;
+}
+
+.commission .tbs .item2 .reg {
+ color: #259b24;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
diff --git a/packageA/member/extension/commission/commission.js b/packageA/member/extension/commission/commission.js
new file mode 100644
index 0000000..21a43ff
--- /dev/null
+++ b/packageA/member/extension/commission/commission.js
@@ -0,0 +1,148 @@
+// pages/member/commission/commission.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ datas: [],
+ // more
+ page: 1, // 分页数,当前页数
+ isLoadMore: true, // 判断是否要加载更多的标志
+ total_page: 0, // 总页数
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getData(); //获取数据
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ wx.showToast({
+ title: '没有更多数据',
+ icon: 'none'
+ });
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //获取数据 预计佣金
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.commission.api.commission.get-commission-list');
+ urlStr += '&commission_type=1';
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: that.data.page
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ datas: res.data.data,
+ total_page: res.data.last_page,
+ isLoadMore: true,
+ page: res.data.current_page
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getMoreData() {
+ let that = this;
+ this.setData({
+ isLoadMore: false
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ let pages = this.data.page;
+ pages += 1;
+ this.setData({
+ page: pages
+ });
+ let urlStr = app.getNetAddresss('plugin.commission.api.commission.get-commission-list');
+ urlStr += '&commission_type=1';
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: that.data.page
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var nextPageData = res.data.data;
+ let datas = [...that.data.datas, ...nextPageData];
+ that.setData({
+ datas,
+ total_page: res.last_page
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/extension/commission/commission.json b/packageA/member/extension/commission/commission.json
new file mode 100644
index 0000000..1c0aa34
--- /dev/null
+++ b/packageA/member/extension/commission/commission.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "预计佣金",
+ "usingComponents": {
+
+ }
+}
diff --git a/packageA/member/extension/commission/commission.wxml b/packageA/member/extension/commission/commission.wxml
new file mode 100644
index 0000000..60223f7
--- /dev/null
+++ b/packageA/member/extension/commission/commission.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.price}}{{language['元']}}
+
+
+ 佣金+{{item.commission}}
+ {{item.created_at}}
+
+
+ 佣金 +{{item.commission}}
+ {{item.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
diff --git a/packageA/member/extension/commission/commission.wxss b/packageA/member/extension/commission/commission.wxss
new file mode 100644
index 0000000..55ca6bc
--- /dev/null
+++ b/packageA/member/extension/commission/commission.wxss
@@ -0,0 +1,52 @@
+/* pages/member/commission/commission.wxss */
+.commission .times {
+ text-align: left;
+ text-indent: 20rpx;
+ line-height: 64rpx;
+}
+
+.commission .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 24rpx;
+ border-bottom: 2rpx solid #e2e2e2;
+ font-size: 28rpx;
+}
+
+.commission .tbs .li {
+ line-height: 48rpx;
+}
+
+.commission .tbs .item1 {
+ color: #000;
+ flex: 50%;
+ text-align: left;
+}
+
+.commission .tbs .item2 {
+ flex: 50%;
+ text-align: right;
+ color: #333;
+}
+
+.commission .tbs .item2 .reg {
+ color: #259b24;
+}
+
+.commission .tbs .item2 .unreg {
+ color: #333;
+}
+
+.commission .tbs .item2 .time {
+ color: #8c8c8c;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
diff --git a/packageA/member/extension/distributionOrder/distributionOrder.js b/packageA/member/extension/distributionOrder/distributionOrder.js
new file mode 100644
index 0000000..4fc5546
--- /dev/null
+++ b/packageA/member/extension/distributionOrder/distributionOrder.js
@@ -0,0 +1,294 @@
+// pages/member/distributionOrder/distributionOrder.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ selected: 0,
+ display: "-1",
+ _status: '',
+ // more
+ page: 1, // 分页数,当前页数
+ isLoadMore: true, // 判断是否要加载更多的标志
+ total_page: 0, // 总页数
+
+ statusData0: [],
+ statusData1: [],
+ statusData2: [],
+ statusData3: [],
+
+ open_order_buyer: "",
+ open_order_detail: "",
+ open_order_buyer_info: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.setData({
+ selected: options.selected || 0
+ });
+ this._swichTabData(); //获取数据
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this.customizeIncome();
+ },
+
+ //自定义提现收入语言
+ customizeIncome() {
+ try {
+ var value = wx.getStorageSync('mailLanguage');
+ if (value) {
+ let mailLanguage = JSON.parse(value);
+ wx.setNavigationBarTitle({
+ title: mailLanguage.commission.commission_order ? mailLanguage.commission.commission_order : '分销订单'
+ });
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ wx.showToast({
+ title: '没有更多数据',
+ icon: 'none'
+ });
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ swichTab(e) {
+ let idx = e.detail.index;
+ this.setData({
+ selected: idx
+ });
+ this._swichTabData();
+ },
+ //切换响应获取数据
+ _swichTabData() {
+ //点击初始化
+ this.setData({
+ display: '-1'
+ });
+ if (this.data.selected == 0) {
+ this.getData("");
+ } else if (this.data.selected == 1) {
+ this.getData(0);
+ } else if (this.data.selected == 2) {
+ this.getData(1);
+ } else if (this.data.selected == 3) {
+ this.getData(3);
+ }
+ },
+ //获取数据
+ getData(_status) {
+ this.setData({
+ _status: _status
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.commission.api.commission.get-commission-orders");
+ urlStr += '&status=' + _status;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ for (let i = 0; i < res.data.orders.data.length; i++) {
+ res.data.orders.data[i].display = false;
+ }
+ if (_status === '') {
+ that.setData({
+ statusData0: res.data.orders.data
+ });
+ } else if (_status === 0) {
+ that.setData({
+ statusData1: res.data.orders.data
+ });
+ } else if (_status === 1) {
+ that.setData({
+ statusData2:res.data.orders.data
+ });
+ } else if (_status === 3) {
+ that.setData({
+ statusData3:res.data.orders.data
+ });
+ }
+ that.setData({
+ total_page: res.data.orders.last_page,
+ isLoadMore: true,
+ page: res.data.orders.current_page,
+ open_order_buyer: res.data.set.open_order_buyer,
+ open_order_detail: res.data.set.open_order_detail,
+ open_order_buyer_info: res.data.set.open_order_buyer_info
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ // 获取更多数据,加载更多
+ getMoreData() {
+ let that = this;
+ let json = {};
+ this.setData({
+ isLoadMore: false
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ let pages = this.data.page;
+ pages += 1;
+ this.setData({
+ page: pages
+ });
+ json.page = this.data.page;
+ json.status = this.data._status;
+ let urlStr = app.getNetAddresss("plugin.commission.api.commission.get-commission-orders");
+
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ that.setData({
+ isLoadMore: true
+ });
+ var res = resdata.data;
+ if (res.result == 1) {
+ for (let i = 0; i < res.data.orders.data.length; i++) {
+ res.data.orders.data[i].display = false;
+ }
+ let datas = [];
+ if (that.data._status === '') {
+ datas = [...that.data.statusData0, ...res.data.orders.data];
+ that.setData({
+ statusData0: datas
+ });
+ } else if (that.data._status === 0) {
+ datas = [...that.data.statusData1, ...res.data.orders.data];
+ that.setData({
+ statusData1: datas
+ });
+ } else if (that.data._status === 1) {
+ datas = [...that.data.statusData2, ...res.data.orders.data];
+ that.setData({
+ statusData2:datas
+ });
+ } else if (that.data._status === 3) {
+ datas = [...that.data.statusData3, ...res.data.orders.data];
+ that.setData({
+ statusData3:datas
+ });
+ }
+
+ that.setData({
+ isLoadMore: true,
+ });
+
+ } else {
+ let p = that.data.page;
+ p -= 1;
+ that.setData({
+ page: p,
+ isLoadMore: false
+ });
+ }
+ }
+ });
+ }
+ },
+ toggle(e) {
+ let idex = e.currentTarget.dataset.idx;
+ if (this.data.selected == 0) {
+ if (this.data.statusData0[idex].display) {
+ this.setData({
+ ['statusData0[' + idex + '].display']: false
+ });
+ } else {
+ this.setData({
+ ['statusData0[' + idex + '].display']: true
+ });
+ }
+ } else if (this.data.selected == 1) {
+ if (this.data.statusData1[idex].display) {
+ this.setData({
+ ['statusData1[' + idex + '].display']: false
+ });
+ } else {
+ this.setData({
+ ['statusData1[' + idex + '].display']: true
+ });
+ }
+ } else if (this.data.selected == 2) {
+ if (this.data.statusData2[idex].display) {
+ this.setData({
+ ['statusData2[' + idex + '].display']: false
+ });
+ } else {
+ this.setData({
+ ['statusData2[' + idex + '].display']: true
+ });
+ }
+ } else if (this.data.selected == 3) {
+ if (this.data.statusData3[idex].display) {
+ this.setData({
+ ['statusData3[' + idex + '].display']: false
+ });
+ } else {
+ this.setData({
+ ['statusData3[' + idex + '].display']: true
+ });
+ }
+ }
+ }
+});
diff --git a/packageA/member/extension/distributionOrder/distributionOrder.json b/packageA/member/extension/distributionOrder/distributionOrder.json
new file mode 100644
index 0000000..a68733e
--- /dev/null
+++ b/packageA/member/extension/distributionOrder/distributionOrder.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "分销订单",
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index"
+ }
+}
diff --git a/packageA/member/extension/distributionOrder/distributionOrder.wxml b/packageA/member/extension/distributionOrder/distributionOrder.wxml
new file mode 100644
index 0000000..f63bc3e
--- /dev/null
+++ b/packageA/member/extension/distributionOrder/distributionOrder.wxml
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+
+
+
+ {{item.order.order_sn}}({{item.hierarchy}}级)
+ {{item.order.create_time}}
+
+
+ +{{item.commission}}
+ {{item.order.status_name}}
+
+
+
+
+
+
+
+
+
+
+ {{item.member.nickname}}
+
+
+ 微信号:
+
+
+
+
+
+
+
+
+ {{goods.title}}
+
+
+
+ {{language['money']}}{{(goods.goods_price/goods.total)}}
+ ×{{goods.total}}
+
+ {{language['money']}}{{goods.goods_price}}
+
+
+ 实付: {{language['money']}}{{item.order.price}}
+
+ 收货人:{{item.order.address.realname?item.order.address.realname: '无'}}
+ 手机:{{item.order.address.mobile?item.order.address.mobile:"暂无手机"}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+ {{item.order.order_sn}}({{item.hierarchy}}级)
+ {{item.order.create_time}}
+
+
+ +{{item.commission}}
+ {{item.order.status_name}}
+
+
+
+
+
+
+
+
+
+
+ {{item.member.nickname}}
+
+
+ 微信号:
+
+
+
+
+
+
+
+
+ {{goods.title}}
+
+
+
+ {{language['money']}}{{(goods.goods_price/goods.total)}}
+ ×{{goods.total}}
+
+ {{language['money']}}{{goods.goods_price}}
+
+
+ 实付: {{language['money']}}{{item.order.price}}
+
+ 收货人:{{item.order.address.realname?item.order.address.realname: '无'}}
+ 手机:{{item.order.address.mobile?item.order.address.mobile:"暂无手机"}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+ {{item.order.order_sn}}({{item.hierarchy}}级)
+ {{item.order.create_time}}
+
+
+ +{{item.commission}}
+ {{item.order.status_name}}
+
+
+
+
+
+
+
+
+
+
+ {{item.member.nickname}}
+
+
+ 微信号:
+
+
+
+
+
+
+
+
+ {{goods.title}}
+
+
+
+ {{language['money']}}{{(goods.goods_price/goods.total)}}
+ ×{{goods.total}}
+
+ {{language['money']}}{{goods.goods_price}}
+
+
+ 实付: {{language['money']}}{{item.order.price}}
+
+ 收货人:{{item.order.address.realname?item.order.address.realname: '无'}}
+ 手机:{{item.order.address.mobile?item.order.address.mobile:"暂无手机"}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+ {{item.order.order_sn}}({{item.hierarchy}}级)
+ {{item.order.create_time}}
+
+
+ +{{item.commission}}
+ {{item.order.status_name}}
+
+
+
+
+
+
+
+
+
+
+ {{item.member.nickname}}
+
+
+ 微信号:
+
+
+
+
+
+
+
+
+ {{goods.title}}
+
+
+
+ {{language['money']}}{{(goods.goods_price/goods.total)}}
+ ×{{goods.total}}
+
+ {{language['money']}}{{goods.goods_price}}
+
+
+ 实付: {{language['money']}}{{item.order.price}}
+
+ 收货人:{{item.order.address.realname?item.order.address.realname: '无'}}
+ 手机:{{item.order.address.mobile?item.order.address.mobile:"暂无手机"}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
diff --git a/packageA/member/extension/distributionOrder/distributionOrder.wxss b/packageA/member/extension/distributionOrder/distributionOrder.wxss
new file mode 100644
index 0000000..f1faf80
--- /dev/null
+++ b/packageA/member/extension/distributionOrder/distributionOrder.wxss
@@ -0,0 +1,154 @@
+/* pages/member/distributionOrder/distributionOrder.wxss */
+.distributionOrder .order .order_detail {
+ display: none;
+ overflow: hidden;
+ margin-bottom: 12rpx;
+}
+
+.distributionOrder .order .order_detail.opens {
+ display: block;
+}
+
+.distributionOrder .order .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ -ms-flex-align: center;
+ align-items: center;
+ border-bottom: 2rpx solid #e2e2e2;
+ line-height: 40rpx;
+ padding: 20rpx 24rpx;
+ font-size: 28rpx;
+}
+
+.distributionOrder .order .tbs .item2 {
+ flex: 2;
+ text-align: left;
+ color: #666;
+}
+
+.distributionOrder .order .tbs .li {
+ line-height: 48rpx;
+}
+
+.distributionOrder .order .tbs .li {
+ line-height: 48rpx;
+}
+
+.distributionOrder .order .tbs .item3 {
+ text-align: right;
+}
+
+.distributionOrder .order .tbs .li {
+ line-height: 48rpx;
+}
+
+.distributionOrder .order .tbs .item3 .red {
+ color: #f15353;
+}
+
+.distributionOrder .order .order_detail .team_list {
+ background-color: #fff;
+ padding: 20rpx 24rpx;
+ overflow: hidden;
+ display: flex;
+ justify-content: space-between;
+}
+
+.distributionOrder .order .order_detail .team_list .img {
+ width: 14%;
+ text-align: left;
+ position: relative;
+}
+
+.distributionOrder .order .order_detail .team_list .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.distributionOrder .order .order_detail .team_list .info {
+ width: 80%;
+ font-size: 28rpx;
+ color: #222;
+ text-align: left;
+ padding: 0 20rpx;
+}
+
+.distributionOrder .order .order_detail .team_list .info .span {
+ color: #666;
+}
+
+.distributionOrder .distribution-goods {
+ background-color: #fff;
+ display: flex;
+ align-items: stretch;
+ flex-flow: row wrap;
+ padding: 20rpx 24rpx;
+ border-top: 2rpx solid #e2e2e2;
+}
+
+.distributionOrder .distribution-goods .img {
+ flex: 1;
+}
+
+.distributionOrder .distribution-goods .img image {
+ width: 100%;
+}
+
+.distributionOrder .distribution-goods .inner {
+ flex: 5;
+ padding: 0 20rpx;
+ display: flex;
+ align-items: flex-start;
+}
+
+.distributionOrder .distribution-goods .name {
+ flex: 5;
+ text-align: justify;
+}
+
+.distributionOrder .distribution-goods .price {
+ flex: 2;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-end;
+}
+
+.distributionOrder .distribution-goods .price .b {
+ flex: 3;
+ text-align: right;
+ color: #666;
+ font-size: 24rpx;
+ font-weight: normal;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
+
+.paid_in {
+ background: #fff;
+ padding: 0 24rpx;
+ text-align: right;
+}
+
+.order_list {
+ background-color: #fff;
+ display: flex;
+ padding: 20rpx 24rpx;
+ font-size: 28rpx;
+}
+
+.order_list .person {
+ flex: 1;
+ text-align: left;
+}
+
+.order_list .mobile {
+ flex: 1;
+ text-align: right;
+}
diff --git a/packageA/member/extension/earningList/earningList.js b/packageA/member/extension/earningList/earningList.js
new file mode 100644
index 0000000..cd06e7f
--- /dev/null
+++ b/packageA/member/extension/earningList/earningList.js
@@ -0,0 +1,214 @@
+// pages/member/earningList/earningList.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ plugin_type: '',
+ plugin_text:'',
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ earningList: [],
+ //广告
+ adv_thumb: '',
+ adv_url: '',
+ income: 0,
+ reward_type:''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.plugin_type) {
+ this.setData({
+ plugin_type: options.plugin_type,
+ plugin_text: options.plugin_text,
+ });
+ }
+ this._getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //获取数据
+ _getData() {
+ let that = this;
+ that.setData({
+ isLoadMore: false,
+ page: 1
+ });
+ let urlStr = app.getNetAddresss('finance.plugin-settle.get-not-settle-list');
+ urlStr += '&plugin_type=' + that.data.plugin_type;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ total_page: res.data.last_page
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ that.setData({
+ earningList: res.data.data
+ });
+ } else {
+ that.setData({
+ earningList: res.data
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ //获取更多数据
+ _getMoreData() {
+ let that = this;
+ that.setData({
+ isLoadMore: false
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: that.data.page + 1
+ });
+ let urlStr = app.getNetAddresss('finance.plugin-settle.get-not-settle-list');
+ urlStr += '&plugin_type=' + that.data.plugin_type;
+ urlStr += '&page=' + that.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ that.setData({
+ isLoadMore: true
+ });
+ if (res.result == 1) {
+ let myData = res.data.data;
+ that.setData({
+ earningList: that.data.earningList.concat(myData)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ return;
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ }
+ },
+ getAdvertising(e) {
+ let that = this;
+ let id = e.currentTarget.dataset.id;
+ that.setData({
+ adv_thumb: '',
+ adv_url: '',
+ income: 0
+ });
+ let urlStr = app.getNetAddresss('finance.plugin-settle.income-receive');
+ urlStr += '&plugin_type=' + that.data.plugin_type;
+ urlStr += '&id=' + id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ adv_thumb: res.data.adv_thumb,
+ adv_url: res.data.adv_url,
+ income: res.data.income_data.amount,
+ show1: true
+ });
+ if (res.data.income_data && res.data.income_data.reward_type) {
+ that.setData({
+ reward_type: res.data.income_data.reward_type
+ });
+ }
+ that._getData();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ toAdvertising() {
+ //adv_url
+ this.setData({
+ show1: false
+ });
+ },
+});
diff --git a/packageA/member/extension/earningList/earningList.json b/packageA/member/extension/earningList/earningList.json
new file mode 100644
index 0000000..a67a8dd
--- /dev/null
+++ b/packageA/member/extension/earningList/earningList.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "领取收益",
+ "usingComponents": {
+ "van-button": "../../../../dist/button/index",
+ "van-popup": "../../../../dist/popup/index"
+ }
+}
diff --git a/packageA/member/extension/earningList/earningList.wxml b/packageA/member/extension/earningList/earningList.wxml
new file mode 100644
index 0000000..e1cd9cb
--- /dev/null
+++ b/packageA/member/extension/earningList/earningList.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+ 订单编号
+ 金额
+ 领取
+
+
+
+ {{item.order_sn}}
+ {{item.amount}}
+
+ 领取
+
+
+
+
+
+
+
+
+
+
+
+ 已成功领取{{plugin_text}}
+ {{income}}
+ 已存入{{reward_type?reward_type:'收入'}}
+
+
+ 我知道了
+
+
+
+
+
+
diff --git a/packageA/member/extension/earningList/earningList.wxss b/packageA/member/extension/earningList/earningList.wxss
new file mode 100644
index 0000000..878cd69
--- /dev/null
+++ b/packageA/member/extension/earningList/earningList.wxss
@@ -0,0 +1,115 @@
+/* pages/member/earningList/earningList.wxss */
+.earning_list {
+ height: 1334rpx;
+ background-color: #fff;
+ text-align: center;
+}
+
+.earning_list .list_box .tab {
+ background-color: #fafafa;
+ height: 90rpx;
+ line-height: 90rpx;
+ display: flex;
+ font-weight: bold;
+ font-size: 30rpx;
+}
+
+.earning_list .list_box .tab .li:first-child {
+ width: 314rpx;
+}
+
+.earning_list .list_box .tab .li:nth-child(2) {
+ width: 220rpx;
+}
+
+.earning_list .list_box .tab .li:nth-child(3) {
+ width: 140rpx;
+}
+
+.earning_list .list_box .list {
+ padding: 20rpx 0;
+}
+
+.earning_list .list_box .list .item {
+ display: flex;
+ height: 88rpx;
+ line-height: 88rpx;
+ font-size: 26rpx;
+ color: #8c8c8c;
+}
+
+.earning_list .list_box .list .item .li:first-child {
+ width: 314rpx;
+}
+
+.earning_list .list_box .list .item .li:nth-child(2) {
+ width: 220rpx;
+}
+
+.earning_list .list_box .list .item .li:nth-child(3) {
+ width: 140rpx;
+ padding: 0 20rpx;
+}
+
+.bg_img {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+}
+
+.adv_img {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.bg_color {
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0, 0, 0, 0.5);
+ position: relative;
+}
+
+.receive {
+ position: absolute;
+ top: 24%;
+ left: calc(50% - 290rpx);
+ width: 580rpx;
+ height: 600rpx;
+ margin: 0 auto;
+ border-radius: 24rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/income_f.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 580rpx 600rpx;
+}
+
+.receive .text {
+ color: #feca5d;
+ padding-top: 40rpx;
+}
+
+.receive .text .li:first-child {
+ font-size: 36rpx;
+ width: 100%;
+}
+
+.receive .text .li:nth-child(2) {
+ font-size: 56rpx;
+ width: 100%;
+ margin-top: 80rpx;
+}
+
+.receive .btn {
+ padding: 20rpx 40rpx;
+}
+
+.receive .text .li:nth-child(3) {
+ font-size: 32rpx;
+ width: 100%;
+ color: #781a16;
+ line-height: 52rpx;
+}
diff --git a/packageA/member/extension/incomedetails/incomedetails.js b/packageA/member/extension/incomedetails/incomedetails.js
new file mode 100644
index 0000000..4cad2a2
--- /dev/null
+++ b/packageA/member/extension/incomedetails/incomedetails.js
@@ -0,0 +1,220 @@
+// pages/member/incomedetails/incomedetails.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ sType: '',
+ page: 1,
+ total_page: 0,
+ datas: [],
+ loading: false,
+ allLoaded: false,
+ isLoadMore: true,
+ typeData: [],
+ popupSpecs: false,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this.setData({
+ sType: '',
+ page: 1,
+ total_page: 0,
+ datas: [],
+ loading: false,
+ allLoaded: false,
+ isLoadMore: true,
+ typeData: [],
+ popupSpecs: false,
+ });
+ this._getData(this.data.sType);
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this._getMoreData(this.data.page, this.data.sType);
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //获取数据
+ _getData(_type) {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.income.get-income-list');
+ urlStr += '&income_type=' + _type;
+ urlStr += '&page=' + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ total_page: res.data.last_page,
+ datas: res.data.data,
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ //获取更多
+ _getMoreData(page, _type) {
+ var that = this;
+ if (this.data.page == this.data.total_page) {
+ return;
+ }
+ if (this.data.page >= this.data.total_page) {
+ that.setData({
+ loading: true,
+ allLoaded: true
+ });
+ return;
+
+ } else {
+ that.setData({
+ page: this.data.page + 1
+ });
+ let urlStr = app.getNetAddresss('finance.income.get-income-list');
+ urlStr += '&income_type=' + _type;
+ urlStr += '&page=' + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data;
+ that.setData({
+ loading: false,
+ allLoaded: false,
+ datas: that.data.datas.concat(myData.data)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ loading: true,
+ allLoaded: true,
+ isLoadMore: false
+ });
+ return;
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ }
+ },
+ //筛选
+ screen() {
+ if (this.data.typeData.length == 0) {
+ this._getTypeData();
+ }
+ this.setData({
+ popupSpecs: true
+ });
+ },
+ //获取类型数据
+ _getTypeData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.income.get-search-type');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ typeData: res.data
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ godetailsinfo(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageA/member/income_details_info/income_details_info?id=" + id
+ });
+ },
+ //点击筛选处理
+ screenType(e) {
+ let _type = e.currentTarget.dataset.type;
+ this.setData({
+ sType: _type,
+ popupSpecs: false
+ });
+ this.initData();
+ this._getData(this.data.sType);
+ },
+ //初始化数据
+ initData() {
+ this.setData({
+ page: 1,
+ total_page: 0,
+ goload: true,
+ loading: true,
+ allLoaded: false,
+ isLoadMore: true,
+ datas: []
+ });
+ },
+ screenTypeClose() {
+ this.setData({
+ popupSpecs: false
+ });
+ }
+});
diff --git a/packageA/member/extension/incomedetails/incomedetails.json b/packageA/member/extension/incomedetails/incomedetails.json
new file mode 100644
index 0000000..682a52b
--- /dev/null
+++ b/packageA/member/extension/incomedetails/incomedetails.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "收入明细",
+ "usingComponents": {
+ "van-popup": "../../../../dist/popup/index",
+ "van-button": "../../../../dist/button/index"
+ }
+}
diff --git a/packageA/member/extension/incomedetails/incomedetails.wxml b/packageA/member/extension/incomedetails/incomedetails.wxml
new file mode 100644
index 0000000..8686522
--- /dev/null
+++ b/packageA/member/extension/incomedetails/incomedetails.wxml
@@ -0,0 +1,35 @@
+
+
+ 筛选
+
+
+
+
+
+
+ {{item.type_name}}
+ {{item.created_at}}
+
+
+ +{{item.amount}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
diff --git a/packageA/member/extension/incomedetails/incomedetails.wxss b/packageA/member/extension/incomedetails/incomedetails.wxss
new file mode 100644
index 0000000..53cdca9
--- /dev/null
+++ b/packageA/member/extension/incomedetails/incomedetails.wxss
@@ -0,0 +1,65 @@
+/* pages/member/incomedetails/incomedetails.wxss */
+.buttonleft {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+}
+
+.incomedetailed .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 24rpx;
+ border-bottom: 2rpx solid #e2e2e2;
+}
+
+.incomedetailed .tbs .left {
+ -ms-flex: 2;
+ flex: 2;
+ text-align: left;
+ line-height: 48rpx;
+}
+
+.incomedetailed .tbs .item1 {
+ font-size: 28rpx;
+ color: #333;
+}
+
+.incomedetailed .tbs .item2 {
+ color: #8c8c8c;
+}
+
+.incomedetailed .tbs .item3 {
+ flex: 1;
+ text-align: right;
+ font-size: 28rpx;
+}
+
+.incomedetailed .tbs .item3 .add {
+ color: #259b24;
+}
+
+.screenContent {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.screen {
+ box-sizing: border-box;
+ padding: 12rpx 0;
+ border-radius: 10rpx;
+ background: #f5f5f5;
+ font-size: 24rpx;
+ width: 27%;
+ margin: 3%;
+ text-align: center;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
diff --git a/packageA/member/extension/myEarnings/myEarnings.js b/packageA/member/extension/myEarnings/myEarnings.js
new file mode 100644
index 0000000..e33d340
--- /dev/null
+++ b/packageA/member/extension/myEarnings/myEarnings.js
@@ -0,0 +1,100 @@
+// pages/member/myEarnings/myEarnings.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ all_amount: []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this._initData();
+ this._getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.plugin-settle.plugin-list');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ all_amount: res.data
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ toEarningList(e) {
+ let item = e.currentTarget.dataset.itemdata;
+ wx.navigateTo({
+ url: '/packageA/member/extension/earningList/earningList?plugin_type=' + item.type + '&plugin_text=' + item.title
+ });
+ },
+ _initData(){
+ this.setData({
+ all_amount:[]
+ });
+ }
+
+});
diff --git a/packageA/member/extension/myEarnings/myEarnings.json b/packageA/member/extension/myEarnings/myEarnings.json
new file mode 100644
index 0000000..abfafc1
--- /dev/null
+++ b/packageA/member/extension/myEarnings/myEarnings.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "领取收益",
+ "usingComponents": {}
+}
diff --git a/packageA/member/extension/myEarnings/myEarnings.wxml b/packageA/member/extension/myEarnings/myEarnings.wxml
new file mode 100644
index 0000000..741ef3c
--- /dev/null
+++ b/packageA/member/extension/myEarnings/myEarnings.wxml
@@ -0,0 +1,16 @@
+
+
+
+ 未领取收益
+
+
+
+
+
+ {{item.title}}
+ {{language['money']}}{{item.amount}}{{language['元']}}
+
+
+
+
+
diff --git a/packageA/member/extension/myEarnings/myEarnings.wxss b/packageA/member/extension/myEarnings/myEarnings.wxss
new file mode 100644
index 0000000..aca49ff
--- /dev/null
+++ b/packageA/member/extension/myEarnings/myEarnings.wxss
@@ -0,0 +1,68 @@
+/* pages/member/myEarnings/myEarnings.wxss */
+.my_earnings .content {
+ height: 1253rpx;
+ background-color: #fff;
+}
+
+.my_earnings .content .h1 {
+ background-color: #fafafa;
+ font-size: 32rpx;
+ padding: 0 28rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: left;
+}
+
+.my_earnings .content .earnings_box {
+ display: flex;
+ flex-wrap: wrap;
+ text-align: center;
+}
+
+.my_earnings .content .earnings_box .ul {
+ width: 33.33%;
+ margin-top: 40rpx;
+}
+
+.my_earnings .content .earnings_box .ul .income_a {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/income_a.png") no-repeat center;
+}
+
+.my_earnings .content .earnings_box .ul .income_b {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/income_b.png") no-repeat center;
+}
+
+.my_earnings .content .earnings_box .ul .income_c {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/income_c.png") no-repeat center;
+}
+
+.my_earnings .content .earnings_box .ul .income_d {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/income_d.png") no-repeat center;
+}
+
+.my_earnings .content .earnings_box .ul .income {
+ display: inline-block;
+ width: 120rpx;
+ height: 120rpx;
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 120rpx 120rpx;
+ margin-bottom: 8rpx;
+}
+
+.my_earnings .content .earnings_box .ul .li:first-child {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.my_earnings .content .earnings_box .ul .li:nth-child(2) {
+ font-size: 32rpx;
+ line-height: 48rpx;
+}
+
+.my_earnings .content .earnings_box .ul .li:last-child {
+ font-size: 32rpx;
+ color: #ff8b4a;
+ line-height: 48rpx;
+}
diff --git a/packageA/member/extension/notPresent/notPresent.js b/packageA/member/extension/notPresent/notPresent.js
new file mode 100644
index 0000000..d12f730
--- /dev/null
+++ b/packageA/member/extension/notPresent/notPresent.js
@@ -0,0 +1,164 @@
+// pages/member/notPresent/notPresent.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ datas:[],
+ // more
+ page: 1, // 分页数,当前页数
+ isLoadMore: true, // 判断是否要加载更多的标志
+ total_page: 0, // 总页数
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getData(); //获取数据
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ wx.showToast({
+ title: '没有更多数据',
+ icon: 'none'
+ });
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //获取数据 预计佣金
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.commission.api.commission.get-commission-list');
+ urlStr += '&commission_type=4';
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ datas: res.data.data,
+ total_page: res.data.last_page,
+ isLoadMore: true,
+ page: res.data.current_page
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ // 获取更多数据,加载更多
+ getMoreData() {
+ let that = this;
+ let json = {};
+ this.setData({
+ isLoadMore: false
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ let pages = this.data.page;
+ pages += 1;
+ this.setData({
+ page: pages
+ });
+ json.commission_type=4;
+ json.page = this.data.page;
+ let urlStr = app.getNetAddresss('plugin.commission.api.commission.get-commission-list');
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ that.setData({
+ isLoadMore: true
+ });
+ var res = resdata.data;
+ if (res.result == 1) {
+ var nextPageData = res.data.data;
+ let datas = [...that.data.datas, ...nextPageData];
+ that.setData({
+ datas,
+ isLoadMore: true,
+ page: res.data.current_page
+ });
+ // let datas = this.data.info
+
+ // this.setData({
+ // info: datas
+ // })
+ } else {
+ let p = this.data.page;
+ p -= 1;
+ that.setData({
+ page: p,
+ isLoadMore: false
+ });
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ }
+ },
+});
diff --git a/packageA/member/extension/notPresent/notPresent.json b/packageA/member/extension/notPresent/notPresent.json
new file mode 100644
index 0000000..9add433
--- /dev/null
+++ b/packageA/member/extension/notPresent/notPresent.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "未提现佣金",
+ "usingComponents": {}
+}
diff --git a/packageA/member/extension/notPresent/notPresent.wxml b/packageA/member/extension/notPresent/notPresent.wxml
new file mode 100644
index 0000000..a0f0693
--- /dev/null
+++ b/packageA/member/extension/notPresent/notPresent.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.price}}{{language['元']}}
+
+
+ 佣金 +{{item.commission}}
+ {{item.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
diff --git a/packageA/member/extension/notPresent/notPresent.wxss b/packageA/member/extension/notPresent/notPresent.wxss
new file mode 100644
index 0000000..29b5717
--- /dev/null
+++ b/packageA/member/extension/notPresent/notPresent.wxss
@@ -0,0 +1,44 @@
+/* pages/member/notPresent/notPresent.wxss */
+.commission .times {
+ text-align: left;
+ text-indent: 20rpx;
+ line-height: 64rpx;
+}
+
+.commission .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 24rpx;
+ border-bottom: 2rpx solid #e2e2e2;
+ font-size: 28rpx;
+}
+
+.commission .tbs .li {
+ line-height: 48rpx;
+}
+
+.commission .tbs .item1 {
+ color: #000;
+ flex: 50%;
+ text-align: left;
+}
+
+.commission .tbs .item2 {
+ flex: 50%;
+ text-align: right;
+ color: #8c8c8c;
+}
+
+.commission .tbs .item2 .reg {
+ color: #259b24;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
diff --git a/packageA/member/extension/present/present.js b/packageA/member/extension/present/present.js
new file mode 100644
index 0000000..3b77cda
--- /dev/null
+++ b/packageA/member/extension/present/present.js
@@ -0,0 +1,162 @@
+// pages/member/present/present.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ datas: [],
+ // more
+ page: 1, // 分页数,当前页数
+ isLoadMore: true, // 判断是否要加载更多的标志
+ total_page: 0, // 总页数
+ types: '5'
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.type && options.type == 1) {
+ this.setData({
+ types: '6'
+ });
+ this._getData("6");
+ wx.setNavigationBarTitle({
+ title: '无效佣金'
+ });
+ } else {
+ this.setData({
+ types: '5'
+ });
+ this._getData("5"); //获取数据
+ wx.setNavigationBarTitle({
+ title: '已提现佣金'
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ // if (this.data.isLoadMore) {
+ // this.getMoreData()
+ // } else {
+ // wx.showToast({
+ // title: '没有更多数据',
+ // icon: 'none'
+ // })
+ // }
+ if (this.data.current_page >= this.data.total_page){
+ wx.showToast({
+ title: '没有更多数据',
+ icon: 'none'
+ });
+ }else{
+ this.getMoreData();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _getData(type) {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.commission.api.commission.get-commission-list');
+ urlStr += '&commission_type=' + type;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ datas: res.data.data,
+ total_page: res.data.last_page,
+ current_page: res.data.current_page
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getMoreData() {
+ let that = this;
+ let pages = this.data.page;
+ pages += 1;
+ this.setData({
+ page: pages
+ });
+ let urlStr = app.getNetAddresss('plugin.commission.api.commission.get-commission-list');
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: that.data.page,
+ commission_type: that.data.types
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var nextPageData = res.data.data;
+ let datas = [...that.data.datas, ...nextPageData];
+ that.setData({
+ datas,
+ total_page: res.data.last_page,
+ current_page: res.data.current_page
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/extension/present/present.json b/packageA/member/extension/present/present.json
new file mode 100644
index 0000000..8f2b196
--- /dev/null
+++ b/packageA/member/extension/present/present.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "已提现佣金",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/extension/present/present.wxml b/packageA/member/extension/present/present.wxml
new file mode 100644
index 0000000..f314565
--- /dev/null
+++ b/packageA/member/extension/present/present.wxml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.price}}{{language['元']}}
+
+
+ 佣金+{{item.commission}}
+ {{item.created_at}}
+
+
+ 佣金 +{{item.commission}}
+ {{item.created_at}}
+
+
+ 佣金 +{{item.commission}}
+ {{item.created_at}}
+
+
+ 佣金 +{{item.commission}}
+ {{item.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
diff --git a/packageA/member/extension/present/present.wxss b/packageA/member/extension/present/present.wxss
new file mode 100644
index 0000000..75eecf7
--- /dev/null
+++ b/packageA/member/extension/present/present.wxss
@@ -0,0 +1,44 @@
+/* pages/member/present/present.wxss */
+.commission .times {
+ text-align: left;
+ text-indent: 20rpx;
+ line-height: 64rpx;
+}
+
+.commission .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 24rpx;
+ border-bottom: 2rpx solid #e2e2e2;
+ font-size: 28rpx;
+}
+
+.commission .tbs .li {
+ line-height: 48rpx;
+}
+
+.commission .tbs .item1 {
+ color: #000;
+ flex: 50%;
+ text-align: left;
+}
+
+.commission .tbs .item2 {
+ flex: 50%;
+ text-align: right;
+ color: #8c8c8c;
+}
+
+.commission .tbs .item2 .reg {
+ color: #259b24;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
diff --git a/packageA/member/extension/unsettled/unsettled.js b/packageA/member/extension/unsettled/unsettled.js
new file mode 100644
index 0000000..6e76d74
--- /dev/null
+++ b/packageA/member/extension/unsettled/unsettled.js
@@ -0,0 +1,145 @@
+// pages/member/unsettled/unsettled.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ datas:[],
+ // more
+ page: 1, // 分页数,当前页数
+ isLoadMore: true, // 判断是否要加载更多的标志
+ total_page: 0, // 总页数
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getData(); //获取数据
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ wx.showToast({
+ title: '没有更多数据',
+ icon: 'none'
+ });
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //获取数据 未结算佣金
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.commission.api.commission.get-commission-list');
+ urlStr += '&commission_type=2';
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ datas: res.data.data,
+ total_page: res.data.last_page,
+ isLoadMore: true,
+ page: res.data.current_page
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getMoreData() {
+ let that = this;
+ this.setData({
+ isLoadMore: false
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ let pages = this.data.page;
+ pages += 1;
+ this.setData({
+ page: pages
+ });
+ let urlStr = app.getNetAddresss('plugin.commission.api.commission.get-commission-list');
+ urlStr += '&commission_type=2';
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: that.data.page
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var nextPageData = res.data.data;
+ let datas = [...that.data.datas, ...nextPageData];
+ that.setData({
+ datas,
+ total_page: res.last_page
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ }
+ }
+});
diff --git a/packageA/member/extension/unsettled/unsettled.json b/packageA/member/extension/unsettled/unsettled.json
new file mode 100644
index 0000000..7d75e2b
--- /dev/null
+++ b/packageA/member/extension/unsettled/unsettled.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "未结算佣金",
+ "usingComponents": {}
+}
diff --git a/packageA/member/extension/unsettled/unsettled.wxml b/packageA/member/extension/unsettled/unsettled.wxml
new file mode 100644
index 0000000..c5b38dd
--- /dev/null
+++ b/packageA/member/extension/unsettled/unsettled.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ {{ item.order_sn }}
+ {{ item.price }}{{language['元']}}
+
+
+ 佣金 +{{ item.commission }}
+ {{ item.created_at }}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
diff --git a/packageA/member/extension/unsettled/unsettled.wxss b/packageA/member/extension/unsettled/unsettled.wxss
new file mode 100644
index 0000000..8d73131
--- /dev/null
+++ b/packageA/member/extension/unsettled/unsettled.wxss
@@ -0,0 +1,44 @@
+/* pages/member/unsettled/unsettled.wxss */
+.commission .times {
+ text-align: left;
+ text-indent: 20rpx;
+ line-height: 64rpx;
+}
+
+.commission .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 24rpx;
+ border-bottom: 2rpx solid #e2e2e2;
+ font-size: 28rpx;
+}
+
+.commission .tbs .li {
+ line-height: 48rpx;
+}
+
+.commission .tbs .item1 {
+ color: #000;
+ flex: 50%;
+ text-align: left;
+}
+
+.commission .tbs .item2 {
+ flex: 50%;
+ text-align: right;
+ color: #8c8c8c;
+}
+
+.commission .tbs .item2 .reg {
+ color: #259b24;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
diff --git a/packageA/member/income_details_info/income_details_info.js b/packageA/member/income_details_info/income_details_info.js
new file mode 100644
index 0000000..71ddcba
--- /dev/null
+++ b/packageA/member/income_details_info/income_details_info.js
@@ -0,0 +1,136 @@
+// pages/member/income_details_info/income_details_info.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ _id: '',
+ info: {},
+ order: {},
+ goods: {},
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.id) {
+ this.setData({
+ _id: options.id
+ });
+ }
+ //获取数据
+ this._getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //获取数据
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("finance.income.get-detail");
+ urlStr += '&id=' + this.data._id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that._setData(res.data);
+ } else {
+ console.log(res.msg);
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ _setData(data) {
+ let that=this;
+ if (data == null || data == '' || data == undefined) {
+ wx.showModal({
+ title: '提示',
+ content: '无详情显示',
+ success(res) {
+ if (res.confirm) {
+ wx.navigateBack({
+ delta: 1
+ });
+ } else if (res.cancel) {
+ wx.navigateBack({
+ delta: 1
+ });
+ }
+ }
+ });
+ return;
+ }
+
+ if (!app._isTextEmpty(data.commission)) {
+ that.setData({
+ info: data.commission,
+ order: data.order,
+ goods: data.goods
+ });
+ return;
+ }
+
+ if (!app._isTextEmpty(data.area_dividend)) {
+ that.setData({
+ info: data.area_dividend,
+ order: data.order,
+ goods: data.goods
+ });
+ return;
+ }
+ },
+
+});
diff --git a/packageA/member/income_details_info/income_details_info.json b/packageA/member/income_details_info/income_details_info.json
new file mode 100644
index 0000000..8e921c4
--- /dev/null
+++ b/packageA/member/income_details_info/income_details_info.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "收入详情",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/income_details_info/income_details_info.wxml b/packageA/member/income_details_info/income_details_info.wxml
new file mode 100644
index 0000000..3fa6dd5
--- /dev/null
+++ b/packageA/member/income_details_info/income_details_info.wxml
@@ -0,0 +1,29 @@
+
+
+
+ {{info.title}}
+
+ {{item.title}}
+ {{item.value}}
+
+
+
+ {{order.title}}
+
+ {{item.title}}
+ {{item.value}}
+
+
+
+ {{goods.title}}
+
+
+
+ {{g.title}}
+ {{g.value}}
+
+
+
+
+
+
diff --git a/packageA/member/income_details_info/income_details_info.wxss b/packageA/member/income_details_info/income_details_info.wxss
new file mode 100644
index 0000000..3d65859
--- /dev/null
+++ b/packageA/member/income_details_info/income_details_info.wxss
@@ -0,0 +1,70 @@
+/* pages/member/income_details_info/income_details_info.wxss */
+.commission .atitem {
+ background: #fff;
+ padding-bottom: 20rpx;
+}
+
+.commission .atitem .title {
+ background: #f5f5f5;
+ line-height: 60rpx;
+ font-size: 28rpx;
+ padding: 0 24rpx;
+ text-align: left;
+}
+
+.commission .atitem .tbs.goods-info {
+ padding-top: 20rpx;
+}
+
+.tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0 28rpx;
+ line-height: 60rpx;
+}
+
+.tbs .item1 {
+ color: #8c8c8c;
+ flex: 35%;
+ text-align: left;
+ box-sizing: border-box;
+}
+
+.tbs .item2 {
+ flex: 65%;
+ color: #333;
+ text-align: right;
+}
+
+.tbs .item2 .reg {
+ color: #259b24;
+}
+
+.tbs .goods {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ line-height: 60rpx;
+ width: 100%;
+}
+
+.tbs .goods .item1 {
+ color: #888;
+ flex: 35%;
+ text-align: left;
+ box-sizing: border-box;
+}
+
+.tbs .goods .item2 {
+ flex: 65%;
+ text-align: left;
+ color: #000;
+}
+
+.tbs .goods .item2 .reg {
+ color: #259b24;
+}
diff --git a/packageA/member/info/info.js b/packageA/member/info/info.js
new file mode 100644
index 0000000..7bb2b3f
--- /dev/null
+++ b/packageA/member/info/info.js
@@ -0,0 +1,951 @@
+// pages/member/info/info.js
+var app = getApp();
+import uitil from '../../../utils/util.js';
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ code:'',
+ info:{},
+ avatar_image: '',
+ nickname: '',//用户名
+ _nickname:'',//昵称
+ fileList:[],
+ change_hidden:true,
+ //个人信息
+ info_form: {
+ realname: '', //用户姓名
+ telephone: '', //联系电话
+ mobile: '', //绑定电话
+ wx: '', //微信
+ alipay: '', //支付宝
+ birthday: '', //生日
+ alipay_name: '', //支付宝名字
+ gender: '', //性别 0未定义 1男 0女
+ avatar: '', //头像
+ province_name: '', //省
+ city_name: '', //市
+ area_name: '', //区
+ province: '', //省ID
+ city: '', //市ID
+ area: '', //区ID
+ address: '',//详细地址,
+ nickname:""//昵称
+ },
+ sexName: '',
+ isShowSex: false,
+ isShowAddress: false,
+ districtName: '',
+ isShowBirthday: false,
+ //手机 btn
+ bind_btn: '',
+ //自定义参数
+ is_custom: false,
+ custom_title: '', //自定义title
+ custom_value: '', //自定义值
+ isForm: false,
+ customDatas: [],
+ //余额支付密码是否开启
+ isBalancePwd: false,
+ //性别----
+ showSex: false,
+ sexItems: [
+ {
+ name: '男'
+ },
+ {
+ name: '女'
+ },
+ ],
+ birthdayShow: false,
+ minDate: new Date(1900, 1, 1).getTime(),
+ maxDate: new Date().getTime(),
+ currentDate: new Date().getTime(),
+ currentDate_1: new Date().getTime(),
+ date: uitil.formatTime(new Date()).substring(0, 10),
+ //地区
+ showAdd: false,
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ is_open_converge_pay: false, //判断是否开启汇聚支付
+ formOpen: false, // 开启必填自定义字段
+ formEdit: false, // 自定义字段是否可编辑
+ // 是否开启账号注销功能
+ memberCancel: false,
+ // 登录后才显示微信号,支付宝信息,银行卡信息
+ lofgin_show:false,
+ //开启/关闭修改头像、昵称
+ change_info:false
+ },
+ bindDateChange(e) {
+ console.log(e.detail.value);
+ this.setData({
+ 'info_form.birthday': e.detail.value
+ });
+ },
+ deletePhoto(){
+ this.setData({fileList:[]})
+ },
+ //头像上传
+ afterRead(event){
+ let {file} = event.detail;
+ let urlStr = app.getNetAddresss('upload.uploadPic');
+ wx.uploadFile({
+ url: urlStr,
+ filePath: file.url,
+ name: 'file',
+ formData: null,
+ success:(res)=> {
+ console.log(JSON.parse(res.data))
+ let _res =JSON.parse(res.data);
+ this.setData({
+ fileList:[{url:_res.data.img_url}],
+ "info_form.avatar":_res.data.img_url
+ })
+ },
+ });
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {},
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this._init();
+ //加载地址数据初始化
+ this._initAddressInfo();
+ //获取信息
+ this._getMemberInfo();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+ this.setData({
+ change_hidden:false
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {},
+ // getCode(){
+ // let that=this
+ // wx.getUserInfo({
+ // success: function (_info) {
+ // that.setData({
+ // info:_info
+ // })
+ // console.log(_info)
+ // that.updateInfo()
+ // },
+ // fail: function (res) {
+ // console.log('错误信息:::' + res.errMsg)
+ // }
+ // })
+
+ // },
+ getUserProfileTap(){
+ let that = this;
+ wx.getUserProfile({
+ desc:'获取用户信息',
+ success:function(_info){
+ console.log("info:", _info);
+ let is_info = {
+ 'nickName' : _info.userInfo.nickName,
+ 'avatarUrl' : _info.userInfo.avatarUrl,
+ 'gender' : _info.userInfo.gender
+ };
+ that.setData({
+ info:is_info
+ });
+ that.updateInfo();
+ },
+ fail:function(err){
+ console.log(err);
+ }
+ });
+ },
+ updateInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss('member.member-update.index');
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ type: 2,
+ info:that.data.info,
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ that._getMemberInfo();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //获取信息
+ _getMemberInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss('member.member.getUserInfo');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let is_open_converge_pay = false;
+ let formOpen = false;
+ let formEdit = false;
+ let formName = false;
+ if(that.data.change_hidden){
+ that.setData({fileList:[{url:res.data.avatar_image,isImage: true}],'_nickname':res.data.nickname})
+ }
+ that.setData({nickname:res.data.nickname,change_info:res.data.change_info})
+ if (res.data.is_open_converge_pay == 1) {
+ is_open_converge_pay = true;
+ } else {
+ is_open_converge_pay = false;
+ }
+ if (res.data.myform && res.data.myform.base) {
+ formOpen = (res.data.myform.base.form_open == "1" ? true : false);
+ formEdit = (res.data.myform.base.form_edit == "1" ? true : false);
+ formName = (res.data.myform.base.name == "1" ? true : false);
+ }
+ if(res.data.name_must){
+ that.setData({
+ name_must:res.data.name_must == '1'?true:false
+ });
+ }
+ that.setData({
+ is_open_converge_pay,
+ formOpen,
+ formEdit,
+ formName,
+ lofgin_show:true
+ });
+ that._initData(res.data);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //初始化个人信息
+ _initData(data) {
+ this.setData({
+ avatar_image: data.avatar_image
+ });
+ this.setData({
+ nickname: data.nickname
+ });
+ this._initSex(data);
+ this.setData({
+ 'info_form.wx': data.wechat
+ });
+ this.setData({
+ 'info_form.realname': data.realname
+ });
+ this._initAliPay(data);
+ this._initDistrict(data, '');
+ this.setData({
+ 'info_form.avatar': data.avatar,
+ memberCancel: data.member_cancel_status
+ });
+ this._initBirthday(data);
+ this._initMobile(data);
+
+ this._initCustomData(data);
+
+ this._initCustomForm(data);
+
+ this._getBalancePawInfo();
+ },
+ //初始化性别
+ _initSex(data) {
+ if (data.myform.base) {
+ this.setData({
+ isShowSex: data.myform.base.sex == 1 ? true : false //设置是否显示
+ });
+ }
+ if (data.gender == 1) {
+ this.setData({
+ 'info_form.gender': '1',
+ sexName: '男'
+ });
+ } else if(data.gender == 2) {
+ this.setData({
+ 'info_form.gender': '2',
+ sexName: '女'
+ });
+ } else {
+ this.setData({
+ 'info_form.gender': '0',
+ sexName: '未定义'
+ });
+ }
+ },
+ //支付宝
+ _initAliPay(data) {
+ this.setData({
+ 'info_form.alipay': data.alipay,
+ 'info_form.alipay_name': data.alipay_name
+ });
+ },
+ //初始化城市
+ _initDistrict(data, district) {
+ console.log(app._isTextEmpty(data.myform));
+ if (!app._isTextEmpty(data)) {
+ if (!app._isTextEmpty(data.myform.form)) {
+ this.setData({
+ isShowAddress: data.myform.base.address == 1 ? true : false
+ });
+ }
+ this.setData({
+ 'info_form.province': data.province,
+ 'info_form.province_name': data.province_name,
+ 'info_form.city': data.city,
+ 'info_form.city_name': data.city_name,
+ 'info_form.area': data.area,
+ 'info_form.area_name': data.area_name,
+ districtName:
+ data.province_name + ' ' + data.city_name + ' ' + data.area_name,
+ 'info_form.address': data.address
+ });
+ return;
+ }
+
+ if (!app._isTextEmpty(district)) {
+ this.setData({
+ 'info_form.province': district.itemValue1,
+ 'info_form.province_name': district.itemName1,
+ 'info_form.city': district.itemValue2,
+ 'info_form.city_name': district.itemName2,
+ 'info_form.area': district.itemValue3,
+ 'info_form.area_name': district.itemName3
+ });
+ this.setData({
+ districtName:
+ district.itemName1 +
+ ' ' +
+ district.itemName2 +
+ ' ' +
+ district.itemName3
+ });
+ }
+ },
+ //初始化生日
+ _initBirthday(data) {
+ if (data.myform.base) {
+ this.setData({
+ isShowBirthday: data.myform.base.birthday == 1 ? true : false
+ });
+ }
+ let time = new Date(data.birthday);
+ let changetime = time.getTime();
+ this.setData({
+ 'info_form.birthday': data.birthday,
+ currentDate: changetime
+ });
+ },
+ //初始化手机 绑定 修改 显示
+ _initMobile(data) {
+ this.setData({
+ 'info_form.mobile': data.mobile
+ });
+ if (!app._isTextEmpty(this.data.info_form.mobile)) {
+ this.setData({
+ bind_btn: '修改手机'
+ });
+ } else {
+ this.setData({
+ bind_btn: '绑定手机'
+ });
+ }
+ },
+ //初始化自定义数据
+ _initCustomData(data) {
+ if (!app._isTextEmpty(data.yz_member)) {
+ this.setData({
+ custom_value: data.yz_member.custom_value
+ });
+ this._getMemberInfo2(this.data.custom_value); //获取自定义数据
+ }
+ },
+ //获取自定义数据
+ _getMemberInfo2(value) {
+ let that = this;
+ let urlStr = app.getNetAddresss('member.member.get-custom-field');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ is_custom: res.data.is_custom == '1' ? true : false,
+ custom_title: res.data.custom_title
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //初始化自定义表单
+ _initCustomForm(data) {
+ if (app._isTextEmpty(data.myform) || app._isTextEmpty(data.myform.form)) {
+ this.setData({
+ isForm: false
+ });
+ return;
+ }
+ if (data.myform.form.length == 0) {
+ this.setData({
+ isForm: false
+ });
+ return;
+ }
+ this.setData({
+ isForm: true
+ });
+ this.setData({
+ customDatas: data.myform.form
+ });
+ },
+ //获取余额支付密码是否设置
+ _getBalancePawInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss('member.balance-password.is-use');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isBalancePwd: res.data.is_use
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ nicknameChange(e){
+ this.setData({
+ '_nickname':e.detail.value
+ })
+ },
+ //姓名值绑定
+ realnameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'info_form.realname': val
+ });
+ },
+ //绑定手机
+ bindTel() {
+ wx.navigateTo({
+ url:
+ '/packageA/member/editmobile/editmobile?num=' +
+ this.data.info_form.mobile +
+ '&fromApp=2&editType=1'
+ });
+ wx.setStorage({
+ key: 'isset',
+ data: 1
+ });
+ },
+ //显示性别设置
+ showSexInfo() {
+ this.setData({
+ showSex: true
+ });
+ },
+ sexSelectBtn(e) {
+ let val = e.detail.name;
+ console.log(val);
+ if (val == '男') {
+ this.setData({
+ 'info_form.gender': '1',
+ sexName: '男'
+ });
+ } else if (val == '女') {
+ this.setData({
+ 'info_form.gender': '2',
+ sexName: '女'
+ });
+ }
+ this.setData({
+ showSex: false
+ });
+ },
+ sexClose() {
+ this.setData({
+ showSex: false
+ });
+ },
+ //生日选择
+ openPicker() {
+ this.setData({
+ birthdayShow: true
+ });
+ },
+ birthdayClose() {
+ this.setData({
+ birthdayShow: false
+ });
+ },
+ birthdayChange(event) {
+ let time = event.detail;
+ this.setData({
+ currentDate: time
+ });
+ },
+ timestampToTime(timestamp) {
+ var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
+ var Y = date.getFullYear() + '-';
+ var M =
+ (date.getMonth() + 1 < 10
+ ? '0' + (date.getMonth() + 1)
+ : date.getMonth() + 1) + '-';
+ var D = date.getDate();
+ return Y + M + D;
+ },
+ // birthdayconfirm(e) {
+ // let time = e.detail;
+ // let changtime = this.timestampToTime(time);
+ // console.log(changtime)
+ // this.setData({
+ // "info_form.birthday": changtime,
+ // birthdayShow: false
+ // })
+ // },
+ //微信号值绑定
+ wxinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'info_form.wx': val
+ });
+ },
+ //支付宝账号值绑定
+ alipayinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'info_form.alipay': val
+ });
+ },
+ //支付宝账号姓名
+ alipayNameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'info_form.alipay_name': val
+ });
+ },
+ //所在地选择显示
+ showAddBtn() {
+ this.setData({
+ showAdd: true
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function() {
+ this.setData({
+ showAdd: false
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function() {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log('地址信息准备就绪');
+ that._getProvinceData();
+ },
+ fail: function(res) {
+ console.log('省fail');
+ app._getNetWork({
+ url: app.getNetAddresss('member.member-address.address'),
+ success: function(res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: 'provinceData',
+ data: province
+ });
+ wx.setStorage({
+ key: 'cityData',
+ data: city
+ });
+ wx.setStorage({
+ key: 'districtData',
+ data: district
+ });
+ that._initAddressInfo();
+ },
+ fail: function(res) {},
+ state: true
+ });
+ }
+ });
+ },
+ // 读取省key
+ _getProvinceData: function() {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log('省读取成功', res.data);
+ that.setData({
+ provinceData: res.data
+ });
+ that.setData({
+ 'selectAddressData[0].name':
+ res.data[that.data.pickerValue[0]].areaname,
+ 'selectAddressData[0].id': res.data[that.data.pickerValue[0]].id,
+ 'selectAddressData[0].index': that.data.pickerValue[0]
+ });
+ that._getCityData();
+ }
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function() {
+ var _data = this.data.selectAddressData[0];
+ console.log('城市', '_data', _data);
+ var that = this;
+ var _keyName = 'cityData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log('城市读取成功', res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log('城市数据筛选', _json);
+ that.setData({
+ cityData: _json
+ });
+ that.setData({
+ 'selectAddressData[1].name': _json[that.data.pickerValue[1]].areaname,
+ 'selectAddressData[1].id': _json[that.data.pickerValue[1]].id,
+ 'selectAddressData[1].index': that.data.pickerValue[1]
+ });
+ that._getDistrictData();
+ }
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function() {
+ var _data = this.data.selectAddressData[1];
+ console.log('地区', '_data', _data);
+ console.log(_data);
+ var that = this;
+ var _keyName = 'districtData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log('地区读取成功');
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log('地区数据筛选', _json);
+ that.setData({
+ districtData: _json
+ });
+ console.log('districtData', _json);
+ that.setData({
+ 'selectAddressData[2].name': _json[that.data.pickerValue[2]].areaname,
+ 'selectAddressData[2].id': _json[that.data.pickerValue[2]].id,
+ 'selectAddressData[2].index': that.data.pickerValue[2]
+ });
+ console.log('over', that.data.selectAddressData);
+ }
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function(e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ 'pickerValue[0]': val[0],
+ 'pickerValue[1]': val[1],
+ 'pickerValue[2]': val[2]
+ });
+ this._initAddressInfo();
+ },
+ //城市结果
+ resultAdd: function() {
+ let seleData = this.data.selectAddressData;
+ let district = {
+ itemValue1: seleData[0].id,
+ itemName1: seleData[0].name,
+ itemValue2: seleData[1].id,
+ itemName2: seleData[1].name,
+ itemValue3: seleData[2].id,
+ itemName3: seleData[2].name
+ };
+ this._initDistrict('', district);
+ this._closeDateLw();
+ },
+ //详细地址值绑定
+ addressinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'info_form.address': val
+ });
+ },
+ //其他信息值绑定
+ cItemInp(e) {
+ let citemidx = e.currentTarget.dataset.citemidx;
+ let val = e.detail.value;
+ console.log(this.data.customDatas);
+ this.setData({
+ ['customDatas[' + citemidx + '].value']: val
+ });
+ },
+ //银行卡
+ editBank() {
+ wx.navigateTo({
+ url: '/packageA/member/memberBank/memberBank'
+ });
+ },
+ //余额支付密码设置
+ editBalancePwd() {
+ // let that = this;
+ let urlStr = app.getNetAddresss('member.balance-password.is-has-password');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.is_has) {
+ wx.navigateTo({
+ url: '/packageA/member/balance_password/balance_password'
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageA/member/set_balance_password/set_balance_password'
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //编辑自定义字段
+ editCustom() {
+ if (app._isTextEmpty(this.data.custom_value)) {
+ //跳转自定义界面 info_costom
+ wx.navigateTo({
+ url: '/packageA/member/info_costom/info_costom'
+ });
+ } else {
+ return;
+ }
+ },
+ //开户信息
+ // gotoBankCash() {
+ // wx.navigateTo({
+ // url: '/packageA/member/AccoutInfo/AccoutInfo'
+ // });
+ // },
+ // 跳转汇聚账户信息
+ editUSer() {
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ },
+ //提交个人信息
+ submitInfo() {
+ let that = this;
+ that.setData({
+ 'info_form.customDatas': this.data.customDatas,
+ 'info_form.avatar':this.data.fileList[0].url,
+ 'info_form.nickname':this.data._nickname
+ });
+ if (that.data.formOpen && (that.data.customDatas instanceof Array)) {
+ let result = that.data.customDatas.every((item) => {return (item.value != "");});
+ if (!result) {
+ wx.showToast({
+ title: '请先填写自定义信息',
+ icon: "none"
+ });
+ return;
+ }
+ }
+ let urlStr = app.getNetAddresss('member.member.updateUserInfo');
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ data: this.data.info_form
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ }
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {}
+ });
+ },
+ _init() {
+ this.setData({
+ //个人信息
+ info_form: {
+ realname: '', //用户姓名
+ telephone: '', //联系电话
+ mobile: '', //绑定电话
+ wx: '', //微信
+ alipay: '', //支付宝
+ birthday: '', //生日
+ alipay_name: '', //支付宝名字
+ gender: '', //性别 0未定义 1男 2女
+ avatar: '', //头像
+ province_name: '', //省
+ city_name: '', //市
+ area_name: '', //区
+ province: '', //省ID
+ city: '', //市ID
+ area: '', //区ID
+ address: '' //详细地址
+ },
+ sexName: '',
+ isShowSex: false,
+ isShowAddress: false,
+ districtName: '',
+ isShowBirthday: false,
+ //手机 btn
+ bind_btn: '',
+ //自定义参数
+ is_custom: false,
+ custom_title: '', //自定义title
+ custom_value: '', //自定义值
+ isForm: false,
+ customDatas: [],
+ //余额支付密码是否开启
+ isBalancePwd: false,
+ //性别----
+ showSex: false,
+ sexItems: [
+ {
+ name: '男'
+ },
+ {
+ name: '女'
+ }
+ ],
+ birthdayShow: false,
+ minDate: new Date(1900, 1, 1).getTime(),
+ maxDate: new Date().getTime(),
+ currentDate: new Date().getTime(),
+ //地区
+ showAdd: false,
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: []
+ });
+ },
+ goMemberCancel () {
+ wx.navigateTo({
+ url: '/packageI/member_cancel/member_cancel'
+ });
+ },
+});
diff --git a/packageA/member/info/info.json b/packageA/member/info/info.json
new file mode 100644
index 0000000..c32c494
--- /dev/null
+++ b/packageA/member/info/info.json
@@ -0,0 +1,12 @@
+{
+ "navigationBarTitleText": "我的信息",
+ "usingComponents": {
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-field": "../../../dist/field/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-action-sheet": "../../../dist/action-sheet/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-datetime-picker": "../../../dist/datetime-picker/index",
+ "van-uploader": "/dist/uploader/index"
+ }
+}
diff --git a/packageA/member/info/info.wxml b/packageA/member/info/info.wxml
new file mode 100644
index 0000000..439f64f
--- /dev/null
+++ b/packageA/member/info/info.wxml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+ {{nickname}}
+
+ 更新资料
+
+
+
+
+ 基本信息
+
+
+ 会员头像
+
+
+
+
+ 昵称:
+
+
+
+
+
+
+
+
+
+
+ *
+ 姓名:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 微信号:
+
+
+
+
+
+
+
+ 支付宝信息
+
+
+ 支付宝账号:
+
+
+
+
+
+
+
+ 账号姓名:
+
+
+
+
+
+
+
+ 所在地信息
+
+
+
+
+
+
+
+
+ 其他信息
+
+
+ {{cItem.name}}:
+
+
+
+
+
+
+
+ 银行卡信息
+
+
+
+
+
+ 支付密码
+
+
+
+
+
+ {{custom_title+"信息"}}
+
+
+
+
+
+ 银行卡提现信息
+
+
+
+
+
+ 结算账户信息
+
+
+
+
+
+ 注销服务
+
+
+
+
+
+ 确认修改
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+
+
+
diff --git a/packageA/member/info/info.wxss b/packageA/member/info/info.wxss
new file mode 100644
index 0000000..86ab9e4
--- /dev/null
+++ b/packageA/member/info/info.wxss
@@ -0,0 +1,185 @@
+/* pages/member/info/info.wxss */
+page {
+ background: #fff;
+}
+
+.cell_box {
+ margin-bottom: 20rpx;
+}
+
+.user {
+ padding: 32rpx;
+ background-color: #fff;
+ margin-bottom: 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.user .left {
+ display: flex;
+}
+
+.user .left .user-avatar {
+ width: 120rpx;
+ height: 120rpx;
+}
+
+.user .left .user-avatar image {
+ border-radius: 50%;
+ width: 100%;
+ height: 100%;
+}
+
+.user .update-btn {
+ width: 160rpx;
+ height: 56rpx;
+ box-sizing: border-box;
+ background-color: rgba(255, 183, 182, 0.46);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: rgba(242, 79, 78, 1);
+ border-radius: 40rpx;
+ font-size: 24rpx;
+}
+
+.cell_box .title {
+ padding: 5rpx 24rpx 10rpx;
+ font-size: 28rpx;
+ text-align: left;
+ color: #888;
+ position: relative;
+ z-index: 1;
+}
+
+.cell_box .inp_content {
+ padding-left: 24rpx;
+ display: flex;
+}
+
+.cell_box .inp_content .required {
+ position: relative;
+}
+
+.cell_box .inp_content .required::before {
+ position: absolute;
+ content: "*";
+ left: -10rpx;
+ top: 55%;
+ transform: translateY(-50%);
+ color: #ee0a24;
+ font-size: 14px;
+}
+
+.cell_box .inp_content .left {
+ color: #555;
+ font-size: 28rpx;
+ white-space: nowrap;
+ display: flex;
+ align-items: center;
+}
+
+.buttongroup {
+ padding: 10px 0;
+}
+
+.buttongroup .button {
+ background-color: #ef4f4f;
+ width: 80%;
+ margin: 0 auto;
+ font-size: 30rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ border-radius: 6rpx;
+ color: #fff;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* -------------------------------- */
+
+.button_2 {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ left: 0;
+ top: 0;
+}
+.member_photo{
+ display: flex;
+ justify-content: space-between;
+ padding: 0 32rpx;
+ align-items: center;
+}
+.member_photo .van-uploader__upload {
+ width: 70rpx !important;
+ height: 70rpx !important;
+ border-radius: 100rpx;
+}
+.member_photo_item{
+ width: 70rpx !important;
+ height: 70rpx !important;
+ border-radius: 100rpx;
+}
+.member_photo .van-uploader__preview-image{
+ width: 70rpx !important;
+ height: 70rpx !important;
+ border-radius: 100rpx;
+}
+.member_photo_text{
+ font-size: 28rpx;
+ color:#323233;
+}
\ No newline at end of file
diff --git a/packageA/member/info_costom/info_costom.js b/packageA/member/info_costom/info_costom.js
new file mode 100644
index 0000000..b02f054
--- /dev/null
+++ b/packageA/member/info_costom/info_costom.js
@@ -0,0 +1,145 @@
+// pages/member/info_costom/info_costom.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ custom_title: '',
+ custom_value: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getMemberInfo2();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //绑定输入信息的值
+ custom_inp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "custom_value": val.trim()
+ });
+ },
+ //获取自定义数据
+ _getMemberInfo2() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member.get-custom-field");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ custom_title: res.data.custom_title
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ submitInfo() {
+ if (app._isTextEmpty(this.data.custom_value)) {
+ wx.showToast({
+ icon: 'none',
+ title: this.data.custom_title + "信息不能为空",
+ duration: 1500
+ });
+ return;
+ }
+ // let that = this;
+ let urlStr = app.getNetAddresss("member.member.save-custom-field");
+ urlStr += '&custom_value=' + this.data.custom_value;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: '成功',
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+});
diff --git a/packageA/member/info_costom/info_costom.json b/packageA/member/info_costom/info_costom.json
new file mode 100644
index 0000000..fe9c34c
--- /dev/null
+++ b/packageA/member/info_costom/info_costom.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "修改信息",
+ "usingComponents": {
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-field": "../../../dist/field/index"
+ }
+}
diff --git a/packageA/member/info_costom/info_costom.wxml b/packageA/member/info_costom/info_costom.wxml
new file mode 100644
index 0000000..c41abbc
--- /dev/null
+++ b/packageA/member/info_costom/info_costom.wxml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+ 确认
+
+
+
+
diff --git a/packageA/member/info_costom/info_costom.wxss b/packageA/member/info_costom/info_costom.wxss
new file mode 100644
index 0000000..f7bf6a9
--- /dev/null
+++ b/packageA/member/info_costom/info_costom.wxss
@@ -0,0 +1,21 @@
+/* pages/member/info_costom/info_costom.wxss */
+page {
+ background: #fff;
+}
+
+.editinfo .buttonGropup {
+ padding-top: 20rpx;
+}
+
+.editinfo .buttonGropup .button {
+ width: 660rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ font-size: 32rpx;
+ border-radius: 20rpx;
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ text-align: center;
+ margin: 0 auto 40rpx;
+}
diff --git a/packageA/member/memberBank/memberBank.js b/packageA/member/memberBank/memberBank.js
new file mode 100644
index 0000000..dde2ba7
--- /dev/null
+++ b/packageA/member/memberBank/memberBank.js
@@ -0,0 +1,257 @@
+// pages/member/memberBank/memberBank.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ bank_name: "",
+ bank_id: "",
+ bank_user: "",
+ bank_province: "",
+ bank_city: "",
+ bank_branch: "",
+ status:false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //绑定开户行的值
+ banknameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "bank_name": val.trim()
+ });
+ },
+ //绑定开户行省份的值
+ bankprovinceinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "bank_province": val.trim()
+ });
+ },
+ //绑定开户行城市的值
+ bankcityinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "bank_city": val.trim()
+ });
+ },
+ //绑定开户行支行的值
+ bankbranchinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "bank_branch": val.trim()
+ });
+ },
+ //绑定账号的值
+ bankidinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "bank_id": val.trim()
+ });
+ },
+ //绑定姓名的值
+ bankuserinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "bank_user": val.trim()
+ });
+ },
+ //获取信息
+ _getData() {
+ // let json = {};
+ let that = this;
+ let urlStr = app.getNetAddresss("member.bank-card.show");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: this.data.form,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ bank_name: res.data.bank_name,
+ bank_id: res.data.bank_card,
+ bank_user: res.data.member_name,
+ bank_province: res.data.bank_province,
+ bank_city: res.data.bank_city,
+ bank_branch: res.data.bank_branch
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ change(){
+ this.setData({
+ // this.status = true;
+ // this.bank_id = "";
+ status:true,
+ bank_id:''
+ });
+ },
+ //注册
+ bind() {
+ // let that = this;
+ if (app._isTextEmpty(this.data.bank_name)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入开户行',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.bank_province)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入开户行省份',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.bank_city)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入开户行城市',
+ duration: 1500
+ });
+ return;
+ }
+
+
+ if (app._isTextEmpty(this.data.bank_branch)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入开户行支行',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.bank_id)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入账号',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.bank_user)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入姓名',
+ duration: 1500
+ });
+ return;
+ }
+ let json = {
+ 'bank_card': this.data.bank_id,
+ 'member_name': this.data.bank_user,
+ 'bank_name': this.data.bank_name,
+ "bank_province": this.data.bank_province,
+ "bank_city": this.data.bank_city,
+ "bank_branch": this.data.bank_branch
+ };
+ let urlStr = app.getNetAddresss("member.bank-card.edit");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+});
diff --git a/packageA/member/memberBank/memberBank.json b/packageA/member/memberBank/memberBank.json
new file mode 100644
index 0000000..687a5bc
--- /dev/null
+++ b/packageA/member/memberBank/memberBank.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "银行卡信息",
+ "usingComponents": {
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-field": "../../../dist/field/index",
+ "van-button":"/dist/button/index"
+ }
+}
diff --git a/packageA/member/memberBank/memberBank.wxml b/packageA/member/memberBank/memberBank.wxml
new file mode 100644
index 0000000..41b7e81
--- /dev/null
+++ b/packageA/member/memberBank/memberBank.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击编辑
+
+
+ 提交
+
+
+
\ No newline at end of file
diff --git a/packageA/member/memberBank/memberBank.wxss b/packageA/member/memberBank/memberBank.wxss
new file mode 100644
index 0000000..51273d9
--- /dev/null
+++ b/packageA/member/memberBank/memberBank.wxss
@@ -0,0 +1,21 @@
+/* pages/member/memberBank/memberBank.wxss */
+page {
+ background: #fff;
+}
+
+.bankmessage .buttonGropup {
+ padding-top: 30rpx;
+}
+
+.bankmessage .buttonGropup .button {
+ width: 660rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ font-size: 32rpx;
+ border-radius: 15rpx;
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ text-align: center;
+ margin: 0 auto 40rpx;
+}
diff --git a/packageA/member/myOrder_v2/myOrder_v2.js b/packageA/member/myOrder_v2/myOrder_v2.js
new file mode 100644
index 0000000..1afcba5
--- /dev/null
+++ b/packageA/member/myOrder_v2/myOrder_v2.js
@@ -0,0 +1,754 @@
+// pages/member/myOrder_v2/myOrder_v2.js
+var app = getApp();
+const storeAlone =["plugin.store-alone-temp.frontend.fightGroups.list.index","plugin.store-alone-temp.frontend.fightGroups.list.grouping","plugin.store-alone-temp.frontend.fightGroups.list.waitPay","plugin.store-alone-temp.frontend.fightGroups.list.waitSend","plugin.store-alone-temp.frontend.fightGroups.list.waitReceive","plugin.store-alone-temp.frontend.fightGroups.list.completed"];
+let _search_screen_type='';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ NavList:[],
+ scrollTop: 0,
+ //当前的订单状态
+ selected: 0,
+ isLoadMore: true,
+ //shop 商城,cashier 收银台 store 门店
+ orderType: 'shop',
+ detailUrl: 'orderdetail',
+ total_page: 0,
+ page: 1,
+ action: '',
+ //全部订单
+ orderList: [],
+ //待付款
+ waitPayList: [],
+ //待发货
+ waitSendList: [],
+ //全待收货
+ waitReceiveList: [],
+ //已完成
+ waitCompleteList: [],
+ stopRefresh: false,
+ //待付款-多订单合并付款的订单id数组
+ order_ids: [],
+ //是否开启合并支付
+ isMultiplePay: false,
+
+ keywords: "",
+ searchType: 0,
+ searchTypes: [
+ {name: '商品名', value: 1,placeholder:"请输入商品名称"},
+ {name: '订单号', value: 2,placeholder:"请输入商品编号"},
+ {name: '姓名', value: 3,placeholder:"请输入收货人姓名"},
+ {name: '手机号', value: 4,placeholder:"请输入收货人手机号"},
+ ],
+ searchScreenShow:false,
+ // 控制合并支付按钮
+ consolidated_payment:false,
+
+ custom_receipt_confirmation_html:"",
+ // 不显示tab
+ noShowTab:false,
+ // 置换亿栈身份标识
+ debt_shop_member_type:''
+ },
+
+ setSearchScreenShow(){
+ this.setData({
+ searchScreenShow:!this.data.searchScreenShow
+ });
+ },
+ setSearchType(evt){
+ let index = evt.currentTarget.dataset.index;
+ this.setData({
+ searchType:index
+ });
+ this.setSearchScreenShow();
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.orderType && options.orderType == 'cashier') {
+ this.setData({
+ orderType: 'cashier',
+ detailUrl: 'cashierOrderdetail'
+ });
+ } else if (options.orderType && options.orderType == 'stock') {
+ this.setData({
+ orderType: 'stock',
+ detailUrl: 'stockOrderdetail'
+ });
+ } else if (options.orderType && options.orderType == 'store') {
+ this.setData({
+ orderType: 'store',
+ detailUrl: 'storeOrderdetail'
+ });
+ } else if (options.orderType && options.orderType == 'supplier') {
+ this.setData({
+ orderType: 'supplier',
+ detailUrl: 'supplierOrderdetail'
+ });
+ } else if (options.orderType && options.orderType == 'subsidiary') {
+ this.setData({
+ orderType: 'subsidiary',
+ detailUrl: 'subsidiaryOrderdetail'
+ });
+ } else if (options.orderType && options.orderType == 'hotel') {
+ this.setData({
+ orderType: 'hotel',
+ detailUrl: 'HotelOrderDetail'
+ });
+ } else if (options.orderType && options.orderType == 'hotel_center') {
+ this.setData({
+ orderType: 'hotel_center',
+ detailUrl: 'HotelCenterOrderDetail'
+ });
+ } else if (options.orderType && options.orderType == 'hotelcashier') {
+ this.setData({
+ orderType: 'hotelcashier',
+ detailUrl: 'HotelCashierOrderDetail'
+ });
+ } else if (options.orderType && options.orderType == 'lease_toy') {
+ this.setData({
+ orderType: 'lease_toy',
+ detailUrl: 'orderdetail'
+ });
+ } else if (options.orderType && options.orderType == 'groups') {
+ this.setData({
+ orderType: 'groups',
+ detailUrl: 'groupDetail'
+ });
+ } else if(options.orderType && options.orderType == 'auction'){
+ this.setData({
+ orderType: 'auction',
+ detailUrl: 'orderdetail'
+ });
+ } else if(options.orderType && options.orderType == 'grabGroup'){
+ this.setData({
+ orderType: 'grabGroup',
+ detailUrl: 'grabGroupOrderDetail'
+ });
+ }else if(options.orderType && options.orderType == 'newRetail'){
+ this.setData({
+ orderType: 'newRetail',
+ detailUrl: 'orderdetail'
+ });
+ }else if(options.orderType && options.orderType == 'groupWork'){
+ this.setData({
+ orderType: 'groupWork',
+ detailUrl: 'orderdetail'
+ });
+ }else if(options.orderType && options.orderType == 'storeMang'){
+ wx.setNavigationBarTitle({
+ title: '订单管理',
+ });
+ this.setData({
+ orderType: 'storeMang',
+ detailUrl: 'storeOrderdetail'
+ });
+ }else if(options.member_type){
+ this.setData({
+ orderType: 'debt',
+ detailUrl: 'orderdetail',
+ debt_shop_member_type:options.member_type,
+ debtId:options.debtId
+ });
+ }else if(options.orderType||options.ordertype){
+ this.setData({
+ orderType: options.orderType||options.ordertype,
+ detailUrl: 'orderdetail'
+ });
+ }else {
+ this.setData({
+ orderType: 'shop',
+ detailUrl: 'orderdetail'
+ });
+ }
+ this.setNavList();
+ if (options.status) {
+ this.setData({
+ selected: Number(options.status)
+ });
+ }
+ this._getOrderList(this.data.selected);
+ },
+ // 返回的顶部导航栏列表
+ setNavList() {
+ //注意第二个是待支付相关(即需支付的订单),因为涉及到合并支付
+ let NavList = [];
+ let noshow = false;
+ if (this.data.orderType == "cashier") {
+ NavList = ["全部", "待付款", "已完成"];
+ } else if (this.data.orderType == "hotel") {
+ NavList = ["全部", "待付款", "待确认", "待入住", "已完成", "待退房"];
+ } else if (this.data.orderType == "lease_toy") {
+ // 租凭导航
+ NavList = ["全部", "待支付", "待发货", "待收货", "待归还", "已完成"];
+ } else if (this.data.orderType == "groups") {
+ NavList = ["全部", "拼团中", "待付款", "待发货", "待收货", "已完成"];
+ } else if (this.data.orderType == "grabGroup") {
+ NavList = ["抢团中", "待付款", "待发货", "待收货", "已完成"];
+ } else if (this.data.orderType == "warehousePurchasing") {
+ NavList = ["全部", "待付款", "已完成", "已关闭"];
+ } else if (this.data.orderType == 'stock'){
+ NavList = ['全部'];
+ noshow = true;
+ } else if (this.data.orderType == 'ysSystem'){
+ NavList = ['全部'];
+ } else {
+ NavList = ["全部", "待付款", "待发货", "待收货", "已完成"];
+ }
+ this.setData({
+ NavList:NavList,
+ noShowTab:noshow,
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+ if (this.data.stopRefresh) {
+ wx.stopPullDownRefresh();
+ } else {
+ this._initData();
+ this._getOrderList(this.data.selected);
+ }
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this._getMoreData(this.data.page, this.data.selected);
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ inpbtn(e) {
+ let val = e.detail.value;
+ this.setData({
+ keywords: val
+ });
+ },
+ inpbtnclear() {
+ this.setData({
+ keywords: ''
+ });
+ },
+ search() {
+ this.setData({
+ selected: 0
+ });
+ _search_screen_type=this.data.searchType;
+ this._getOrderList(0);
+ },
+ _initData() {
+ this.setData({
+ keywords: '',
+ isLoadMore: true,
+ page: 1,
+ total_page: 0
+ });
+ },
+ _getOrderList(index) {
+ // apiConfig 配置插件的请求api,请安装顶部标签页 this.NavList 的配置顺序填写对应的请求url
+ //apiConfig为Map数据结构,key为this.orderType,value为api集合
+ let apiConfig = new Map([
+ ["cashier", ["plugin.store-cashier.frontend.Order.list", "plugin.store-cashier.frontend.Order.list.waitPay", "plugin.store-cashier.frontend.Order.list.Completed"]],
+ [
+ "store",
+ [
+ "plugin.store-cashier.frontend.store.center.order-list.index",
+ "plugin.store-cashier.frontend.store.center.order-list.waitPay",
+ "plugin.store-cashier.frontend.store.center.order-list.waitSend",
+ "plugin.store-cashier.frontend.store.center.order-list.waitReceive",
+ "plugin.store-cashier.frontend.store.center.order-list.Completed"
+ ]
+ ],
+ [
+ "supplier",
+ [
+ "plugin.supplier.frontend.order.index",
+ "plugin.supplier.frontend.order.wait-pay",
+ "plugin.supplier.frontend.order.wait-send",
+ "plugin.supplier.frontend.order.wait-receive",
+ "plugin.supplier.frontend.order.completed"
+ ]
+ ],
+ [
+ "hotel",
+ [
+ "plugin.hotel.frontend.hotel.list",
+ "plugin.hotel.frontend.hotel.list.wait-pay",
+ "plugin.hotel.frontend.hotel.list.wait-send",
+ "plugin.hotel.frontend.hotel.list.wait-enter",
+ "plugin.hotel.frontend.hotel.list.completed"
+ ]
+ ],
+ [
+ "hotel_center",
+ [
+ "plugin.hotel.frontend.hotel.center.order-list",
+ "plugin.hotel.frontend.hotel.center.order-list.wait-pay",
+ "plugin.hotel.frontend.hotel.center.order-list.wait-send",
+ "plugin.hotel.frontend.hotel.center.order-list.wait-enter",
+ "plugin.hotel.frontend.hotel.center.order-list.completed",
+ "plugin.hotel.frontend.hotel.center.order-list.check-out"
+ ]
+ ],
+ ["hotelcashier", ["plugin.hotel.frontend.Order.list", "plugin.hotel.frontend.Order.list.waitPay", "plugin.hotel.frontend.Order.list.Completed"]],
+ [
+ "onlineCar",
+ [
+ "plugin.net-car.frontend.order-list.index",
+ "plugin.net-car.frontend.order-list.wait-pay",
+ "plugin.net-car.frontend.order-list.loan-review",
+ "plugin.net-car.frontend.order-list.loan",
+ "plugin.net-car.frontend.order-list.pick-car",
+ "plugin.net-car.frontend.order-list.license-number"
+ ]
+ ],
+ [
+ "lease_toy",
+ [
+ "plugin.lease-toy.api.order.order-list.index",
+ "plugin.lease-toy.api.order.order-list.wait-pay",
+ "plugin.lease-toy.api.order.order-list.wait-send",
+ "plugin.lease-toy.api.order.order-list.wait-receive",
+ "plugin.lease-toy.api.order.order-list.wait-refund",
+ "plugin.lease-toy.api.order.order-list.completed"
+ ]
+ ],
+ [
+ "groups",
+ [
+ "plugin.fight-groups.frontend.controllers.list.index",
+ "plugin.fight-groups.frontend.controllers.list.grouping",
+ "plugin.fight-groups.frontend.controllers.list.waitPay",
+ "plugin.fight-groups.frontend.controllers.list.waitSend",
+ "plugin.fight-groups.frontend.controllers.list.waitReceive",
+ "plugin.fight-groups.frontend.controllers.list.completed"
+ ]
+ ],
+ [
+ "subsidiary",
+ [
+ "plugin.subsidiary.frontend.order.index",
+ "plugin.subsidiary.frontend.order.wait-pay",
+ "plugin.subsidiary.frontend.order.wait-send",
+ "plugin.subsidiary.frontend.order.wait-receive",
+ "plugin.subsidiary.frontend.order.completed"
+ ]
+ ],
+ [
+ "auctioneer",
+ [
+ "plugin.auction.api.auctioneer-order",
+ "plugin.auction.api.auctioneer-order.waitPay",
+ "plugin.auction.api.auctioneer-order.waitSend",
+ "plugin.auction.api.auctioneer-order.waitReceive",
+ "plugin.auction.api.auctioneer-order.completed"
+ ]
+ ],
+ [
+ "auction",
+ [
+ "plugin.auction.api.auction-order",
+ "plugin.auction.api.auction-order.waitPay",
+ "plugin.auction.api.auction-order.waitSend",
+ "plugin.auction.api.auction-order.waitReceive",
+ "plugin.auction.api.auction-order.completed"
+ ]
+ ],
+ [
+ "grabGroup",
+ [
+ "plugin.snatch-regiment.api.order.grouping",
+ "plugin.snatch-regiment.api.order.waitPay",
+ "plugin.snatch-regiment.api.order.waitSend",
+ "plugin.snatch-regiment.api.order.waitReceive",
+ "plugin.snatch-regiment.api.order.completed"
+ ]
+ ],
+ [
+ "groupWork",
+ [
+ "plugin.group-work.frontend.modules.order.controllers.records.index",
+ "plugin.group-work.frontend.modules.order.controllers.records.waitPay",
+ "plugin.group-work.frontend.modules.order.controllers.records.waitSend",
+ "plugin.group-work.frontend.modules.order.controllers.records.waitReceive",
+ "plugin.group-work.frontend.modules.order.controllers.records.completed"
+ ]
+ ],
+ [
+ "warehouseTakeDelivery",
+ [
+ "plugin.warehouse.frontend.controllers.takeDelivery.order",
+ "plugin.warehouse.frontend.controllers.takeDelivery.order.waitPay",
+ "plugin.warehouse.frontend.controllers.takeDelivery.order.waitSend",
+ "plugin.warehouse.frontend.controllers.takeDelivery.order.waitReceive",
+ "plugin.warehouse.frontend.controllers.takeDelivery.order.completed"
+ ]
+ ],
+ [
+ "warehousePurchasing",
+ [
+ "plugin.warehouse.frontend.controllers.purchasing.order.index",
+ "plugin.warehouse.frontend.controllers.purchasing.order.waitPay",
+ "plugin.warehouse.frontend.controllers.purchasing.order.completed",
+ "plugin.warehouse.frontend.controllers.purchasing.order.cancelled"
+ ]
+ ],
+ [
+ "stock",
+ [
+ "plugin.order-inventory.frontend.order-list.get-inventory-list",
+ ]
+ ],
+ ["ysSystem", ["plugin.ys-system.frontend.history-order.index",]]
+ ]);
+ //defaultApi : 商城商品订单接口
+ let defaultApi = ["order.list", "order.list.waitPay", "order.list.waitSend", "order.list.waitReceive", "order.list.Completed"];
+ let activeApiArr = []; //暂存获取到当前的api集合
+ // console.log("orderType:::",this.data.orderType);
+ if (apiConfig.has(this.data.orderType)) {
+ //先通过has()判断apiConfig是否给key
+ activeApiArr = apiConfig.get(this.data.orderType); //获取key(即this.data.orderType)设置的api集合
+ if(app.globalData.store_alone_temp == 1){
+ activeApiArr = storeAlone;
+ }
+ }else if(app.globalData.store_alone_temp == 1) {
+ // 门店独立模板
+ //activeApiArr = ["plugin.store-alone-temp.frontend.order.index", "plugin.store-alone-temp.frontend.order.wait-pay", "plugin.store-alone-temp.frontend.order.wait-send","plugin.store-alone-temp.frontend.order.wait-receive","plugin.store-alone-temp.frontend.order.completed"];
+ activeApiArr = defaultApi;
+ } else {
+ activeApiArr = defaultApi; //has()为false。没配置,默认当作商城订单请求
+ }
+
+ try {
+ console.log(index,activeApiArr[index]);
+ this.data.action = activeApiArr[index];
+ } catch (error) {
+ console.log("获取请求api数据失败报错::", error);
+ }
+ if (this.data.orderType == "newRetail") {
+ this.data.action = "plugin.new-retail.frontend.orderData.getList"; //新零售,所有状态一个接口
+ }
+
+ if (this.data.orderType == "storeMang") {
+ this.data.action = "plugin.shop-assistant.frontend.order.order-list"; //店铺助手
+ }
+
+ this._getNetData(this.data.action, index);
+
+ },
+ //获取订单数据
+ _getNetData(api, index) {
+ let that = this;
+ let urlStr = app.getNetAddresss(api);
+ urlStr += "&page=" + this.data.page;
+ if(this.data.debt_shop_member_type){
+ urlStr += '&debt_shop_member_type=' + this.data.debt_shop_member_type
+ urlStr += '&debtor_id=' + this.data.debtId
+ }
+ if (this.data.orderType == "newRetail") {
+ // 新零售
+ let order_status = "";
+ switch (Number(index)) {
+ case 0:
+ order_status = 5;
+ break;
+ case 1:
+ order_status = 4;
+ break;
+ case 2:
+ order_status = 1;
+ break;
+ case 3:
+ order_status = 2;
+ break;
+ case 4:
+ order_status = 3;
+ break;
+ default:
+ order_status = 5;
+ }
+ urlStr += `&search[keyword]=${this.data.keywords || ''}`;
+ urlStr += `&search[order_status]=${order_status}`;
+ }else if(this.data.orderType == "storeMang"){
+ let mapStatus = ['', 'wait_pay', 'wait_send', 'wait_receive', 'completed'];
+ urlStr += `&page=1`;
+ urlStr += `&status=${mapStatus[index]}`;
+ if(this.data.keywords!='' && _search_screen_type!==''){
+ urlStr += `&search[search_type]=${this.data.searchTypes[_search_screen_type].value}`;
+ urlStr += `&search[keyword]=${this.data.keywords}`;
+ }
+ }else{
+ urlStr += "&keyword=" + this.data.keywords;
+ }
+
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data;
+ that.data.total_page = myData.total;
+ if (index == 0) {
+ that.setData({
+ orderList: myData.data
+ });
+ } else if (index == 1) {
+ that.setData({
+ waitPayList: myData.data
+ });
+ } else if (index == 2) {
+ that.setData({
+ waitSendList: myData.data
+ });
+ } else if (index == 3) {
+ that.setData({
+ waitReceiveList: myData.data
+ });
+ } else if (index == 4) {
+ that.setData({
+ waitCompleteList: myData.data
+ });
+ } else {
+ that.setData({
+ waitRefund: myData.data
+ });
+ }
+ that.setData({
+ custom_receipt_confirmation_html:myData.receipt_goods_notice
+ });
+ try {
+ let info = wx.getStorageSync('yz_basic_info');
+ if(info.consolidated_payment){
+ that.setData({
+ consolidated_payment:info.consolidated_payment == '1'?true:false
+ });
+ }
+ } catch (error) {
+ console.log(error);
+ }
+ } else {
+ if (res.data.url) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ return false;
+ }
+ }
+ wx.stopPullDownRefresh();
+ },
+ fail: function(res) {
+ wx.stopPullDownRefresh();
+
+ }
+ });
+
+ },
+ _getMoreData(page, index) {
+ let that = this;
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ let urlStr = app.getNetAddresss(this.data.action);
+ if (this.data.orderType == "newRetail") {
+ let order_status = "";
+ switch (Number(index)) {
+ case 0:
+ order_status = 5;
+ break;
+ case 1:
+ order_status = 4;
+ break;
+ case 2:
+ order_status = 1;
+ break;
+ case 3:
+ order_status = 2;
+ break;
+ case 4:
+ order_status = 3;
+ break;
+ default:
+ order_status = 5;
+ }
+ urlStr += `&search[keyword]=${this.data.keywords || ''}`;
+ urlStr += `&search[order_status]=${order_status}`;
+ }else if(this.data.orderType == "storeMang"){
+ let mapStatus = ['', 'wait_pay', 'wait_send', 'wait_receive', 'completed'];
+ urlStr += `&page=${this.data.page}`;
+ urlStr += `&status=${mapStatus[index]}`;
+ if(this.data.keywords!='' && _search_screen_type!=''){
+ urlStr += `&search[search_type]=${this.data.searchTypes[_search_screen_type]}`;
+ urlStr += `&search[keyword]=${this.data.keywords}`;
+ }
+ }else{
+ urlStr += "&keyword=" + this.data.keywords;
+ }
+ urlStr += "&page=" + this.data.page;
+
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data;
+ if (index == 0) {
+ that.setData({
+ orderList: that.data.orderList.concat(myData.data)
+ });
+
+ } else if (index == 1) {
+ that.setData({
+ waitPayList: that.data.waitPayList.concat(myData.data)
+ });
+
+ } else if (index == 2) {
+ that.setData({
+ waitSendList: that.data.waitSendList.concat(myData.data)
+ });
+
+ } else if (index == 3) {
+ that.setData({
+ waitReceiveList: that.data.waitReceiveList.concat(myData.data)
+ });
+ } else if (index == 4) {
+ that.setData({
+ waitCompleteList: that.data.waitCompleteList.concat(myData.data)
+ });
+ } else {
+ that.setData({
+ waitRefund: that.waitRefund.concat(myData.data)
+ });
+ }
+ }
+
+ },
+ fail: function(res) {
+ console.log(res);
+
+ }
+ });
+ }
+ },
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ this.setData({
+ selected: index
+ });
+ this._initData();
+ this._getOrderList(this.data.selected);
+ },
+ onPageScroll(event) {
+ this.setData({
+ scrollTop: event.scrollTop
+ });
+ },
+ stopRefresh(e) {
+ let bol = e.detail;
+ this.setData({
+ stopRefresh: bol
+ });
+ },
+ //接收到合并多订单支付的通知方法
+ multiplePayAction(e) {
+ let order_ids = e.detail;
+ this.setData({
+ order_ids: order_ids
+ });
+ if (order_ids.length > 0) {
+ this.setData({
+ isMultiplePay: true
+ });
+ } else {
+ this.setData({
+ isMultiplePay: false
+ });
+ }
+ },
+ //待付款状态下-多订单合并支付,order_ids-订单id数组
+ toMultiplePay() {
+ //type-1订单支付,type-2订单合并支付
+ wx.navigateTo({
+ url: '/packageD/buy/orderPay/orderPay?order_id=' + this.data.order_ids.join(',') + '&status=2'
+ });
+ },
+ //确认收货订单
+ cofirmOrderAction(e) {
+ let order = e.detail;
+ if (this.data.selected == 0) {
+ //全部订单列表
+ this._getOrderList(this.data.selected);
+ } else if (order == 'pay') {
+ this._getOrderList(this.data.selected);
+ } else {
+ let waitReceiveList = this.data.waitReceiveList;
+ for (let i = 0; i < waitReceiveList.length; i++) {
+ if (order == waitReceiveList[i].id) {
+ waitReceiveList.splice(i, 1);
+ }
+ }
+ this.setData({
+ waitReceiveList: waitReceiveList
+ });
+
+ }
+ },
+});
diff --git a/packageA/member/myOrder_v2/myOrder_v2.json b/packageA/member/myOrder_v2/myOrder_v2.json
new file mode 100644
index 0000000..6f42cac
--- /dev/null
+++ b/packageA/member/myOrder_v2/myOrder_v2.json
@@ -0,0 +1,10 @@
+{
+ "navigationBarTitleText": "我的订单",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-field": "../../../dist/field/index",
+ "cOrderList": "../../mycomponent/orderList/orderList"
+ },
+ "enablePullDownRefresh": true
+}
diff --git a/packageA/member/myOrder_v2/myOrder_v2.wxml b/packageA/member/myOrder_v2/myOrder_v2.wxml
new file mode 100644
index 0000000..e4e6401
--- /dev/null
+++ b/packageA/member/myOrder_v2/myOrder_v2.wxml
@@ -0,0 +1,73 @@
+
+
+
+
+
+ {{searchTypes[searchType].name}}
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 合并支付
+
+
\ No newline at end of file
diff --git a/packageA/member/myOrder_v2/myOrder_v2.wxss b/packageA/member/myOrder_v2/myOrder_v2.wxss
new file mode 100644
index 0000000..4b4237b
--- /dev/null
+++ b/packageA/member/myOrder_v2/myOrder_v2.wxss
@@ -0,0 +1,167 @@
+/* pages/member/myOrder_v2/myOrder_v2.wxss */
+.stockClass.van-tabs--line .van-tabs__wrap{
+ height: 0!important;
+}
+.contes {
+ z-index: 98;
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ height: 90rpx;
+ background: #fff;
+ border-top: #e2e2e2 solid 2rpx;
+ text-align: right;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+}
+
+.contes .button {
+ border: solid 2rpx #f15353;
+ background: #f15353;
+ border-radius: 25px;
+ margin-right: 28rpx;
+ color: #fff;
+ padding: 8rpx 20rpx;
+ text-align: center;
+}
+
+.vant-nav {
+ top: 66rpx;
+}
+
+.search {
+ background: #fff;
+ border-bottom: 2rpx solid #f5f5f5;
+ width: 90%;
+ display: flex;
+ padding-bottom: 10rpx;
+ position: fixed;
+ top: 0;
+ left: 0;
+ padding-left: 5%;
+ padding-right: 5%;
+ z-index: 99;
+}
+
+.noscroll {
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ position: fixed;
+ z-index: 0;
+}
+
+.search .search-screenBox {
+ position: relative;
+ display: flex;
+ padding-left: 16rpx;
+ padding-right: 16rpx;
+ z-index: 10;
+}
+
+.search .search-screenBox .srceenText {
+ font-size: 24rpx;
+ color: #404040;
+}
+
+.search .search-screenBox .srceenOptions {
+ position: absolute;
+ top: 58rpx;
+ left: -10rpx;
+ width: 130rpx;
+ padding: 6.5rpx 0;
+ background-color: #fff;
+ box-shadow: 0 0 26rpx rgba(198, 198, 198, 0.6);
+}
+
+.search .search-screenBox .srceenOptions .srceenOptionsItem {
+ padding: 8rpx 0;
+ text-align: center;
+ font-size: 24rpx;
+ color: #404040;
+}
+
+.search .search-screenBox .srceenOptions .srceenOptionsItem.active {
+ color: #f15353;
+}
+
+.search .search-screenBox .srceenOptions::before {
+ content: "";
+ position: absolute;
+ top: -10rpx;
+ left: 50%;
+ transform: translateX(-50%);
+ display: block;
+ width: 0;
+ height: 0;
+ border-left: 11rpx solid transparent;
+ border-right: 11rpx solid transparent;
+ border-bottom: 11rpx solid #fff;
+}
+
+.search .searchBox {
+ position: relative;
+ font-size: 28rpx;
+ display: flex;
+ background: #f2f2f2 none;
+ border-radius: 30rpx;
+ max-width: 100%;
+ flex: 1;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.search .searchBox .van-cell {
+ padding: 0;
+ background-color: inherit;
+}
+
+.search .searchBox input {
+ vertical-align: middle;
+ border: none;
+ outline: 0;
+ padding: 6rpx 20rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+ box-sizing: border-box;
+ flex: 1;
+}
+
+.search .searchBox .img-icon {
+ width: 60rpx;
+ height: 60rpx;
+ margin-left: 10rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.search .searchBox .img-icon .img-icon-btn {
+ width: 32rpx;
+ height: 32rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/search.png") no-repeat center center;
+ background-size: 80% 80%;
+}
+
+.barter_dialog {
+ height: auto;
+ text-align: center;
+}
+
+.barter_dialog .barter_dialog_1 {
+ padding: 0.875rem 0;
+ font-size: 1rem;
+ font-weight: bold;
+ color: #000;
+}
+
+.barter_dialog .barter_dialog_2 {
+ padding: 0.5rem 0;
+ font-size: 0.875rem;
+ color: #ee0a24;
+}
diff --git a/packageA/member/notice/notice.js b/packageA/member/notice/notice.js
new file mode 100644
index 0000000..7484793
--- /dev/null
+++ b/packageA/member/notice/notice.js
@@ -0,0 +1,273 @@
+// pages/article/article.js
+var app = getApp();
+
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ kFootshow: true,
+ active: "0",
+ id: "",
+ banner: "",
+ title: "",
+ datas: [],
+ categories: [],
+ loading: false,
+ allLoaded: false,
+ goload: true,
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ show1: false,
+ noNotice: false,
+ article_pay:'',
+
+ searchText:''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.id) {
+ this.setData({
+ id: options.id,
+ });
+ }
+
+ this.initData();
+ //获取数据
+ // this.getNetData();
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ //获取数据
+ this.getNetData();
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+ this.initData();
+ //获取数据
+ this.getNetData();
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ // 加载更多
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ onShareTimeline(){},
+ tabrshowbtn(e) {
+ let bol = e.detail;
+ if (bol) {
+ this.setData({
+ kFootshow: false
+ });
+ }
+ },
+ initData() {
+ this.setData({
+ page: 1,
+ total_page: 0,
+ goload: true,
+ loading: true,
+ allLoaded: false,
+ isLoadMore: true,
+ datas: [],
+ });
+ },
+ handSearch(){
+ this.initData();
+ //获取数据
+ this.getNetData();
+ },
+ //获取数据
+ getNetData() {
+ let that = this;
+ let json = {
+ category_id: this.data.id,
+ page: 1,
+ keyword: this.data.searchText
+ };
+ let urlStr = app.getNetAddresss("plugin.article.api.article.get-articles");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ noNotice: false,
+ total_page: res.data.articles.last_page,
+ article_pay:res.data.article_pay
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ if (res.data.categories.length <= 0) {
+ that.setData({
+ noNotice: true
+ });
+ }
+ that.setData({
+ title: res.data.title,
+ datas: res.data.articles.data,
+ categories: res.data.categories
+ });
+ console.log(that.data.datas);
+ if(that.data.id){
+ that.data.categories.forEach((item,index,key)=>{
+ if(item.id==that.data.id){
+ that.setData({
+ active:String(index+1)
+ });
+ }
+ });
+ }
+ wx.setNavigationBarTitle({
+ title: res.data.title
+ });
+ } else {
+ that.setData({
+ noNotice: true
+ });
+ }
+ wx.stopPullDownRefresh();
+ },
+ fail: function(res) {
+ console.log(res);
+ wx.stopPullDownRefresh();
+ }
+ });
+
+ },
+ gofufei(){
+ wx.navigateTo({
+ url: '/packageD/article/PayarticleList/PayarticleList'
+ });
+ },
+ toNoticeInfo(e) {
+ let item = e.currentTarget.dataset.item;
+ console.log(item);
+ if (item.has_one_article_pay){
+ if (item.has_one_record) {
+ wx.navigateTo({
+ url: '/packageA/member/article/articleContent/articleContent?article_id=' + item.id
+ });
+ }else{
+ wx.navigateTo({
+ url: '/packageD/article/articleList/articleList?article_id=' + item.id
+ });
+ }
+ }else{
+ wx.navigateTo({
+ url: '/packageA/member/article/articleContent/articleContent?article_id=' + item.id
+ });
+ }
+ },
+ onClick(e) {
+ let index = e.detail.index;
+ this.initData();
+ if (index === 0) {
+ this.setData({
+ id: ''
+ });
+ } else {
+ this.setData({
+ id: this.data.categories[index - 1].id
+ });
+ }
+ this.getNetData();
+ },
+ getMoreData() {
+ var that = this;
+ if (this.data.page === this.data.total_page) {
+ return;
+ }
+ if (this.data.page >= this.data.total_page) {
+ that.setData({
+ loading: true,
+ allLoaded: true
+ });
+ return;
+ } else {
+ that.setData({
+ page: this.data.page + 1
+ });
+ let json = {
+ category_id: this.data.id,
+ page: this.data.page,
+ keyword: this.data.searchText
+ };
+ let urlStr = app.getNetAddresss("plugin.article.api.article.get-articles");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ total_page: res.data.articles.last_page,
+ loading: false,
+ allLoaded: false,
+ datas: that.data.datas.concat(res.data.articles.data)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ loading: true,
+ allLoaded: true,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ }
+});
diff --git a/packageA/member/notice/notice.json b/packageA/member/notice/notice.json
new file mode 100644
index 0000000..5542a00
--- /dev/null
+++ b/packageA/member/notice/notice.json
@@ -0,0 +1,8 @@
+{
+ "enablePullDownRefresh": true,
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "kFoot": "../../../mycomponent/foot/foot"
+ }
+}
diff --git a/packageA/member/notice/notice.wxml b/packageA/member/notice/notice.wxml
new file mode 100644
index 0000000..dfa010a
--- /dev/null
+++ b/packageA/member/notice/notice.wxml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 付费{{item.title}}
+
+ {{item.author}}
+ {{item.virtual_at?item.virtual_at:item.updated_at}}
+
+
+
+
+
+
+
+
+
+
+ 该分类下暂无数据
+
+
+
+
+ 已付费
+
+
+
diff --git a/packageA/member/notice/notice.wxss b/packageA/member/notice/notice.wxss
new file mode 100644
index 0000000..644f6aa
--- /dev/null
+++ b/packageA/member/notice/notice.wxss
@@ -0,0 +1,160 @@
+/* pages/article/article.wxss */
+
+.searchBox {
+ background: #fff;
+ overflow: hidden;
+}
+
+.searchBox .search {
+ height: 1.88rem;
+ border-radius: 0.94rem;
+ background-color: #eff0f1;
+ margin: 0.75rem 0.94rem;
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
+ padding-left: 0.69rem;
+}
+
+.searchBox .search icon {
+ color: #999;
+}
+
+.searchBox .search input {
+ flex: 1;
+ border: none;
+ margin-left: 0.41rem;
+}
+
+.notice .content .tab_box {
+ background: #fff;
+ position: relative;
+}
+
+.notice .content .tab_box .tab_list {
+ height: 88rpx;
+ line-height: 88rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ overflow-x: scroll;
+ overflow-y: hidden;
+ transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
+ transition-duration: 300ms;
+ font-size: 36rpx;
+}
+
+.notice .content .new_box {
+ background: #fff;
+ padding: 0 30rpx;
+}
+
+.notice .content .new_box .new_list {
+ border-bottom: solid 2rpx #ebebeb;
+ padding: 30rpx 0;
+ display: flex;
+ position: relative;
+ justify-content: space-between;
+}
+
+.notice .content .new_box .new_list .title {
+ width: 434rpx;
+ text-align: left;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.notice .content .new_box .new_list .title .title_a {
+ font-size: 18px;
+ line-height: 56rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.notice .content .new_box .new_list .title .title_b {
+ font-size: 28rpx;
+ color: #8c8c8c;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.notice .content .new_box .new_list .title .title_b .sort {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ width: 256rpx;
+ white-space: nowrap;
+}
+
+.notice .content .new_box .new_list .img {
+ width: 226rpx;
+ height: 176rpx;
+ background: #f2f2f2;
+ overflow: hidden;
+ background-size: cover;
+}
+
+.notice .content .new_box .new_list .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.notice .noNotice {
+ padding: 40rpx 0;
+ text-align: center;
+}
+
+.notice .noticeellipsis {
+ overflow: visible;
+ white-space: nowrap;
+ text-overflow: clip;
+ flex-basis: auto !important;
+}
+
+.ispay {
+ position: fixed;
+ right: 26rpx;
+ bottom: 154rpx;
+ width: 80rpx;
+ height: 80rpx;
+ box-shadow:
+ 0rpx 0rpx 16rpx 0rpx
+ rgba(237, 11, 11, 0.48);
+ border: solid 1rpx #f51f27;
+ border-radius: 50%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background-color: #ff2c29;
+}
+
+.ispay icon {
+ height: 56rpx;
+ color: #fff;
+ margin-top: -13rpx;
+ font-size: 50rpx;
+}
+
+.ispay .istpay {
+ font-size: 18rpx;
+ line-height: 36rpx;
+ color: #fff;
+}
+
+.si_fufei {
+ width: 68rpx;
+ height: 36rpx;
+ border-radius: 10rpx;
+ border: solid 2rpx #ff2c29;
+ text-align: center;
+ line-height: 40rpx;
+ display: inline-block;
+ margin-right: 10rpx;
+}
+
+.si_fufei view {
+ font-size: 24rpx;
+ color: #ff2c29;
+}
diff --git a/packageA/member/order/TransferAccount/TransferAccount.js b/packageA/member/order/TransferAccount/TransferAccount.js
new file mode 100644
index 0000000..96bf321
--- /dev/null
+++ b/packageA/member/order/TransferAccount/TransferAccount.js
@@ -0,0 +1,213 @@
+// packageA/member/order/TransferAccount/TransferAccount.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ uploadUrl: 'remittance.remittance-record.upload',
+ order_pay_id: '',
+ imageUrl: "",
+ upImgSrc: '',
+ status: '',
+ order_ids: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.id) {
+ this.setData({
+ order_pay_id: options.id
+ });
+ }
+ if (options.status) {
+ this.setData({
+ status: options.status
+ });
+ }
+ if (options.order_ids) {
+ this.setData({
+ order_ids: options.order_ids
+ });
+ }
+ this.getJson();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ getJson() {
+ this.setData({
+ imageUrl: "",
+ upImgSrc: ""
+ });
+ let that = this;
+ let urlStr = '';
+ urlStr += app.getNetAddresss("order.mergePay.remittance");
+ urlStr += '&order_pay_id=' + this.data.order_pay_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ bank_info: res.data.payee_info,
+ amount_info: res.data.amount,
+ pay_info: res.data.pay_sn
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //选择图片
+ onRead() {
+ let that = this;
+ let wx_token = wx.getStorageSync('wx_token');
+ let session = wx.getStorageSync('session');
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ urlStr += '&3rd_session=' + session;
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ header:{
+ "Content-Type": "multipart/form-data",
+ Cookie: "PHPSESSID=" + wx_token,
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ imageUrl: photourl,
+ upImgSrc: res.data.img
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ fail(e) {
+
+ },
+ complete(e) {
+
+ }
+ });
+ }
+ });
+ },
+ //确认汇款
+ confirmEvent() {
+ if (this.data.upImgSrc != "") {
+ var that = this;
+ let urlStr = app.getNetAddresss("remittance.pay");
+ urlStr += '&order_pay_id=' + this.data.order_pay_id;
+ urlStr += '&report_url=' + this.data.upImgSrc;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2?status=2&bank_id=' + that.data.order_pay_id
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '请上传付款凭证',
+ duration: 1500
+ });
+ }
+ },
+ //在线付款
+ onLine() {
+ wx.redirectTo({
+ url: '/packageD/buy/orderPay/orderPay?status=' + this.data.status + '&order_id=' + this.data.order_ids
+ });
+ },
+});
diff --git a/packageA/member/order/TransferAccount/TransferAccount.json b/packageA/member/order/TransferAccount/TransferAccount.json
new file mode 100644
index 0000000..017d446
--- /dev/null
+++ b/packageA/member/order/TransferAccount/TransferAccount.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "转账",
+ "usingComponents": {}
+}
diff --git a/packageA/member/order/TransferAccount/TransferAccount.wxml b/packageA/member/order/TransferAccount/TransferAccount.wxml
new file mode 100644
index 0000000..66d39fe
--- /dev/null
+++ b/packageA/member/order/TransferAccount/TransferAccount.wxml
@@ -0,0 +1,46 @@
+
+
+
+ 上传付款凭证
+ 订单:{{ pay_info }}
+ 金额:{{ amount_info }}{{language['元']}}
+
+
+
+
+
+ 如是在没有凭证请联系发货方对账后再点击确认
+
+
+
+
+
+ 确认已经汇款
+
+
+
+
+ 在线付款
+
+
+
+
+
+ 注意事项:汇款时请注意以下信息,请牢记!
+
+
+ {{ item.title }}: {{ item.text }}
+
+
+ 注意事项:汇款时请注意以下信息,请牢记!
+
+
+ 1.线下公司转账订单,一个识别码对应一个订单和相应的金额,请勿多转账或者少转账。
+
+
+ 2.请在7天内付清款项,超过10天未对账系统自动会取消订单,到账周期为3个工作起。
+
+
+
+
+
diff --git a/packageA/member/order/TransferAccount/TransferAccount.wxss b/packageA/member/order/TransferAccount/TransferAccount.wxss
new file mode 100644
index 0000000..a12f5ba
--- /dev/null
+++ b/packageA/member/order/TransferAccount/TransferAccount.wxss
@@ -0,0 +1,110 @@
+/* packageA/member/order/TransferAccount/TransferAccount.wxss */
+.transfer-accounts {
+ padding-bottom: 40rpx;
+ background-color: #fff;
+ color: #333;
+ text-align: center;
+}
+
+.transfer-accounts .pay-info .h1 {
+ font-size: 40rpx;
+ line-height: 80rpx;
+ margin: 40rpx 0;
+ font-weight: bold;
+}
+
+.transfer-accounts .pay-info .ul .li {
+ line-height: 48rpx;
+ font-size: 32rpx;
+}
+
+.transfer-accounts .pay-info .accounts-box {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.transfer-accounts .pay-info .ul .li:last-child {
+ font-size: 24rpx;
+ color: #8c8c8c;
+}
+
+.transfer-accounts .btn {
+ margin-top: 32rpx;
+ font-size: 32rpx;
+}
+
+.transfer-accounts .btn .button {
+ position: relative;
+ padding: 0;
+ height: 88rpx;
+ line-height: 88rpx;
+ border-radius: 4rpx;
+ box-sizing: border-box;
+ font-size: 32rpx;
+ text-align: center;
+ width: 80%;
+}
+
+.transfer-accounts .btn .top .button {
+ color: #fff;
+ background-color: #4b0;
+ border: 2rpx solid #4b0;
+ margin: 0 auto 10rpx;
+}
+
+.transfer-accounts .btn .bottom .button {
+ color: #fff;
+ background-color: #f44;
+ border: 2rpx solid #f44;
+ margin: 0 auto;
+}
+
+.transfer-accounts .prompt-box {
+ margin-top: 40rpx;
+}
+
+.transfer-accounts .prompt-info {
+ z-index: 20;
+ height: 100%;
+ padding-bottom: 20rpx;
+ background-color: #fafafa;
+ margin: 0 20rpx;
+ border-radius: 8rpx;
+}
+
+.transfer-accounts .prompt-info .h2 {
+ line-height: 80rpx;
+ padding: 0 28rpx;
+ font-size: 28rpx;
+ text-align: left;
+ color: #333;
+}
+
+.transfer-accounts .prompt-info .ul {
+ margin: 0 28rpx;
+}
+
+.transfer-accounts .prompt-info .ul .li {
+ padding: 0 20rpx;
+ line-height: 48rpx;
+ font-size: 28rpx;
+ color: #8c8c8c;
+ text-align: left;
+ text-indent: 20rpx;
+}
+
+.photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ margin-left: 30rpx;
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.photoshow image {
+ width: 100%;
+}
diff --git a/packageA/member/order/cps-components/cps-order-item/cps-order-item.js b/packageA/member/order/cps-components/cps-order-item/cps-order-item.js
new file mode 100644
index 0000000..158c9ec
--- /dev/null
+++ b/packageA/member/order/cps-components/cps-order-item/cps-order-item.js
@@ -0,0 +1,25 @@
+// packageA/member/order/cpsComponents/cpsOrderItem/cpsOrderItem.js
+Component({
+ properties: {
+ orderData: {
+ type: Object,
+ value: {},
+ },
+ isCoupon: {
+ type: Boolean,
+ value: false
+ },
+ },
+ data: {
+ copy: false,
+ coupon_info: {}
+ },
+
+ methods: {
+ copyText ($event) {
+ wx.setClipboardData({
+ data: $event.currentTarget.dataset.text,
+ });
+ }
+ }
+});
diff --git a/packageA/member/order/cps-components/cps-order-item/cps-order-item.json b/packageA/member/order/cps-components/cps-order-item/cps-order-item.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/packageA/member/order/cps-components/cps-order-item/cps-order-item.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/order/cps-components/cps-order-item/cps-order-item.wxml b/packageA/member/order/cps-components/cps-order-item/cps-order-item.wxml
new file mode 100644
index 0000000..bbce1a2
--- /dev/null
+++ b/packageA/member/order/cps-components/cps-order-item/cps-order-item.wxml
@@ -0,0 +1,78 @@
+
+
+
+
+ {{orderData.type_name}}
+ {{orderData.status_name}}
+
+
+
+
+
+
+ {{orderData.title}}
+
+
+ 付款日 {{orderData.create_time}}
+ 确认收货日 {{orderData.receive_time}}
+ 订单号 {{orderData.sub_order_id}}
+
+
+
+ 复制
+
+
+
+ 付款¥{{orderData.pay_price}}
+ 赠送¥{{orderData.pre_commission}}
+
+
+
+
+
+
+
+ 订单状态
+ {{orderData.code == 0 ? '成功' : '失败' }}
+
+
+
+
+
+
+ {{orderData.goods_name}}
+
+
+ 下单日期 {{orderData.created_at}}
+ 订单号 {{orderData.order_no}}
+
+
+
+ 复制
+
+
+
+ 付款¥{{orderData.order_price}}
+
+
+
+
+
+
+ 卡券链接:{{item.goods_link}}
+ 复制
+
+
+ 卡券卡号:{{item.goods_number}}
+ 复制
+
+
+ 卡券密码:{{item.goods_password}}
+ 复制
+
+
+ 过期时间:{{item.effective_time}}
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/order/cps-components/cps-order-item/cps-order-item.wxss b/packageA/member/order/cps-components/cps-order-item/cps-order-item.wxss
new file mode 100644
index 0000000..94d8888
--- /dev/null
+++ b/packageA/member/order/cps-components/cps-order-item/cps-order-item.wxss
@@ -0,0 +1,159 @@
+/* packageA/member/order/cpsComponents/cpsOrderItem/cpsOrderItem.wxss */
+.ellipsis {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ word-break: break-all;
+}
+
+.order-box,
+.coupon-box {
+ margin-top: 20rpx;
+ background-color: #fff;
+ font-size: 13px;
+ font-weight: 500;
+ padding: 32rpx 25rpx;
+ text-align: left;
+ word-break: break-all;
+ box-sizing: border-box;
+}
+
+.order-box .head,
+.coupon-box .head {
+ display: flex;
+ justify-content: space-between;
+}
+
+.order-box .head .name,
+.coupon-box .head .name {
+ font-weight: bolder;
+ font-size: 15px;
+ color: #414141;
+}
+
+.order-box .detail,
+.coupon-box .detail {
+ margin-top: 20rpx;
+ display: flex;
+}
+
+.order-box .detail .left-img,
+.coupon-box .detail .left-img {
+ width: 180rpx;
+ height: 180rpx;
+ background-color: #b4b4b4;
+ border-radius: 10rpx;
+ overflow: hidden;
+}
+
+.order-box .detail .left-img image,
+.coupon-box .detail .left-img image {
+ width: 100%;
+ height: 100%;
+}
+
+.order-box .detail .right-box,
+.coupon-box .detail .right-box {
+ flex: 1;
+ max-width: 510rpx;
+ margin-left: 20rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.order-box .detail .right-box .title,
+.coupon-box .detail .right-box .title {
+ font-size: 14px;
+ font-weight: bold;
+ color: #414141;
+}
+
+.order-box .detail .right-box .info,
+.coupon-box .detail .right-box .info {
+ display: flex;
+ justify-content: space-between;
+ font-size: 12px;
+}
+
+.order-box .detail .right-box .info p,
+.coupon-box .detail .right-box .info p {
+ width: 100%;
+ margin-top: 20rpx;
+ color: #7f7f7f;
+}
+
+.order-box .detail .right-box .info .orderNo,
+.coupon-box .detail .right-box .info .orderNo {
+ max-width: 400rpx;
+}
+
+.order-box .detail .right-box .button-box,
+.coupon-box .detail .right-box .button-box {
+ display: flex;
+ flex-direction: column-reverse;
+ justify-content: space-between;
+ align-items: center;
+ text-align: center;
+ min-width: 100rpx;
+}
+
+.order-box .detail .right-box .button-box .price,
+.coupon-box .detail .right-box .button-box .price {
+ font-size: 13px;
+ font-weight: 600;
+}
+
+.order-box .detail .right-box .button-box .copy,
+.coupon-box .detail .right-box .button-box .copy {
+ width: 76rpx;
+ font-size: 10px;
+ background-color: #f7f5f6;
+ border-radius: 20rpx;
+ border: solid 1px #dadada;
+}
+
+.order-box .detail .right-box .money-box,
+.coupon-box .detail .right-box .money-box {
+ margin-top: 20rpx;
+ display: flex;
+ justify-content: space-between;
+ color: #e64a40;
+}
+
+.order-box .detail .right-box .money-box .money,
+.coupon-box .detail .right-box .money-box .money {
+ font-size: 15px;
+}
+
+.order-box .coupon-info,
+.coupon-box .coupon-info {
+ margin-top: 20rpx;
+ padding: 22rpx 28rpx;
+ border-radius: 20rpx;
+ background-color: #f5f5f5;
+ box-sizing: border-box;
+}
+
+.order-box .coupon-info .item,
+.coupon-box .coupon-info .item {
+ margin-top: 20rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.order-box .coupon-info .item .left-text,
+.coupon-box .coupon-info .item .left-text {
+ max-width: 570rpx;
+}
+
+.order-box .coupon-info .item .btn-copy,
+.coupon-box .coupon-info .item .btn-copy {
+ color: #e64a40;
+}
+
+.order-box .coupon-info .item:first-child,
+.coupon-box .coupon-info .item:first-child {
+ margin-top: 0;
+}
diff --git a/packageA/member/order/cpsCoupon/cpsCoupon.js b/packageA/member/order/cpsCoupon/cpsCoupon.js
new file mode 100644
index 0000000..fcc2fd1
--- /dev/null
+++ b/packageA/member/order/cpsCoupon/cpsCoupon.js
@@ -0,0 +1,73 @@
+// packageA/member/order/cpsCoupon/cpsCoupon.js
+const app = getApp();
+Page({
+ data: {
+ isCoupon: true,
+ page: 1,
+ finished: false,
+
+ orderList: [],
+ },
+
+ onShow: function () {
+ this.getData();
+ },
+
+ getData () {
+ if (this.data.finished) return;
+ let baseUrl = app.getNetAddresss("plugin.aggregation-cps.api.equity.order-list");
+ app._getNetWork({
+ url: baseUrl,
+ data: {
+ page: this.data.page
+ },
+ success: (respone) => {
+ if (respone.data.result !== 1) {
+ wx.showToast({
+ title: respone.data.msg,
+ });
+ return false;
+ }
+ let res = respone.data.data;
+ let finished = false;
+ let orderList = [];
+ if (this.data.page >= res.last_page || (!res.data) || res.data.length < res.per_page) {
+ finished = true;
+ }
+ if (this.data.page > 1) {
+ orderList = this.data.orderList.concat(res.data);
+ } else {
+ orderList = res.data;
+ }
+ this.setData({
+ finished,
+ orderList,
+ page: ++this.data.page
+ });
+ }
+ });
+ },
+
+ initGetData () {
+ this.setData({
+ page: 1,
+ finished: false,
+ });
+ },
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+ this.initGetData();
+ this.getData();
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ this.getData();
+ },
+
+
+});
\ No newline at end of file
diff --git a/packageA/member/order/cpsCoupon/cpsCoupon.json b/packageA/member/order/cpsCoupon/cpsCoupon.json
new file mode 100644
index 0000000..75d2339
--- /dev/null
+++ b/packageA/member/order/cpsCoupon/cpsCoupon.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "卡券订单",
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-empty": "../../../../dist/empty/index",
+ "cps-order-item": "../cps-components/cps-order-item/cps-order-item"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/order/cpsCoupon/cpsCoupon.wxml b/packageA/member/order/cpsCoupon/cpsCoupon.wxml
new file mode 100644
index 0000000..8c5e9c6
--- /dev/null
+++ b/packageA/member/order/cpsCoupon/cpsCoupon.wxml
@@ -0,0 +1,12 @@
+
+
+
+
+ 没有更多了哦
+
+
+
diff --git a/packageA/member/order/cpsCoupon/cpsCoupon.wxss b/packageA/member/order/cpsCoupon/cpsCoupon.wxss
new file mode 100644
index 0000000..901277c
--- /dev/null
+++ b/packageA/member/order/cpsCoupon/cpsCoupon.wxss
@@ -0,0 +1 @@
+/* packageA/member/order/cpsCoupon/cpsCoupon.wxss */
diff --git a/packageA/member/order/cpsOrder/cpsOrder.js b/packageA/member/order/cpsOrder/cpsOrder.js
new file mode 100644
index 0000000..8bda9bc
--- /dev/null
+++ b/packageA/member/order/cpsOrder/cpsOrder.js
@@ -0,0 +1,93 @@
+// packageA/member/order/cpsOrder/cpsOrder.js
+const app = getApp();
+Page({
+ data: {
+ activeName: 0,
+ isCoupon: false,
+ page: 1,
+ finished: false,
+
+ orderList: [],
+ },
+
+ onLoad: function (options) {
+ if(options.status) {
+ this.setData({
+ activeName: Number(options.status)
+ });
+ }
+ this.getData();
+ },
+
+ onShow: function () {
+
+ },
+
+ switchTab (event) {
+ this.initGetData();
+ this.setData({
+ activeName: event.detail.name
+ });
+ this.getData();
+ },
+
+ getData () {
+ if (this.data.finished) return;
+ let baseUrl = app.getNetAddresss("plugin.aggregation-cps.api.order.index");
+ app._getNetWork({
+ url: baseUrl,
+ data: {
+ status: this.data.activeName,
+ page: this.data.page
+ },
+ success: (respone) => {
+ if (respone.data.result !== 1) {
+ wx.showToast({
+ title: respone.data.msg,
+ });
+ return false;
+ }
+ let res = respone.data.data;
+ let finished = false;
+ let orderList = [];
+ if (this.data.page >= res.last_page || (!res.data) || res.data.length < res.per_page) {
+ finished = true;
+ }
+ if (this.data.page > 1) {
+ orderList = this.data.orderList.concat(res.data);
+ } else {
+ orderList = res.data;
+ }
+ this.setData({
+ finished,
+ orderList,
+ page: ++this.data.page
+ });
+ }
+ });
+ },
+
+ initGetData () {
+ this.setData({
+ page: 1,
+ finished: false,
+ });
+ },
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+ this.initGetData();
+ this.getData();
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.finished) return;
+ this.getData();
+ },
+
+
+});
\ No newline at end of file
diff --git a/packageA/member/order/cpsOrder/cpsOrder.json b/packageA/member/order/cpsOrder/cpsOrder.json
new file mode 100644
index 0000000..48bba86
--- /dev/null
+++ b/packageA/member/order/cpsOrder/cpsOrder.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "聚合CPS订单",
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-empty": "../../../../dist/empty/index",
+ "cps-order-item": "../cps-components/cps-order-item/cps-order-item"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/order/cpsOrder/cpsOrder.wxml b/packageA/member/order/cpsOrder/cpsOrder.wxml
new file mode 100644
index 0000000..039561f
--- /dev/null
+++ b/packageA/member/order/cpsOrder/cpsOrder.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+ 没有更多了哦
+
+
+
diff --git a/packageA/member/order/cpsOrder/cpsOrder.wxss b/packageA/member/order/cpsOrder/cpsOrder.wxss
new file mode 100644
index 0000000..ffd0c94
--- /dev/null
+++ b/packageA/member/order/cpsOrder/cpsOrder.wxss
@@ -0,0 +1,12 @@
+/* packageA/member/order/cpsOrder/cpsOrder.wxss */
+.cps-oreder .van-tabs .van-tabs__line {
+ width: 40rpx;
+ height: 10rpx;
+ left: 24rpx;
+ bottom: 13rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/cps_tab_icon.png");
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-color: transparent;
+ border-radius: 0;
+}
diff --git a/packageA/member/order/logistics/logistics.js b/packageA/member/order/logistics/logistics.js
new file mode 100644
index 0000000..33b24ca
--- /dev/null
+++ b/packageA/member/order/logistics/logistics.js
@@ -0,0 +1,160 @@
+// pages/logistics/logistics.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ value: '',
+ express_info: [],
+ company_name: '',
+ express_sn: '',
+ thumb: '',
+ tel: '',
+ status_name: '',
+ api: '',
+ id: '',
+ order_express_id:''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ console.log(options);
+ if (options.fromGrab && options.fromGrab == 1) {
+ if (options.api) {
+ this.setData({
+ api: options.api
+ });
+ }
+ } else {
+ if (options.api) {
+ this.setData({
+ api: options.api
+ });
+ }else{
+ this.setData({
+ api: 'dispatch.express'
+ });
+ }
+ }
+ if (options.id) {
+ this.setData({
+ id: options.id
+ });
+ }
+ if (options.order_express_id) {
+ this.setData({
+ order_express_id: options.order_express_id
+ });
+ }
+ this.getExpress();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ getExpress() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.api);
+ let json={order_id:this.data.id,order_express_id:this.data.order_express_id};
+ if(this.options.from && this.options.from=="userReturn"){
+ delete json.order_id;
+ delete json.order_express_id;
+ json.refund_id = this.options.refund_id;
+ urlStr = app.getNetAddresss("refund.express.user-return");
+ }else if(this.options.from && this.options.from=="resend"){
+ delete json.order_id;
+ delete json.order_express_id;
+ json.refund_id = this.options.refund_id;
+ json.express_id = this.options.express_id;
+ urlStr = app.getNetAddresss("refund.express.resend");
+ }
+ app._getNetWork({
+ url: urlStr,
+ data:json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data;
+ that.setData({
+ company_name: myData.company_name,
+ express_sn: myData.express_sn,
+ express_info: myData.data,
+ tel: myData.tel,
+ status_name: myData.status_name,
+ thumb: myData.thumb
+ });
+ } else {
+ app.tips(res.msg);
+ }
+
+ },
+ fail: function(res) {
+
+ }
+ });
+ },
+ copyorderbtn(e) {
+ let copydata = e.currentTarget.dataset.copydata;
+ if (copydata) {
+ wx.setClipboardData({
+ data: copydata ? copydata : '',
+ success(res) {
+ wx.showToast({
+ icon: 'none',
+ title: '复制成功',
+ duration: 1000
+ });
+ }
+ });
+ }
+ }
+});
diff --git a/packageA/member/order/logistics/logistics.json b/packageA/member/order/logistics/logistics.json
new file mode 100644
index 0000000..b09be87
--- /dev/null
+++ b/packageA/member/order/logistics/logistics.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "物流详情",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/order/logistics/logistics.wxml b/packageA/member/order/logistics/logistics.wxml
new file mode 100644
index 0000000..4460fd4
--- /dev/null
+++ b/packageA/member/order/logistics/logistics.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+ 物流状态
+ {{status_name?status_name:''}}
+
+ 承运公司:{{company_name?company_name:''}}
+ 运单编号:{{express_sn?express_sn:''}}
+ 官方电话:{{tel?tel:''}}
+
+
+
+
+
+ {{item.context}}
+
+
+ {{item.ftime}}
+
+
+
+
+
diff --git a/packageA/member/order/logistics/logistics.wxss b/packageA/member/order/logistics/logistics.wxss
new file mode 100644
index 0000000..aeed9ff
--- /dev/null
+++ b/packageA/member/order/logistics/logistics.wxss
@@ -0,0 +1,89 @@
+/* pages/logistics/logistics.wxss */
+.logistics .my_wrapper {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ padding: 20rpx;
+ align-items: center;
+ box-sizing: border-box;
+}
+
+.logistics .my_wrapper .span {
+ flex: 1;
+ font-size: 32rpx;
+ line-height: 1;
+}
+
+.logistics .my_wrapper .span image {
+ width: 100%;
+}
+
+.logistics .my_wrapper .my-value {
+ flex: 3;
+ text-align: left;
+ color: #8c8c8c;
+ margin-left: 20rpx;
+}
+
+.logistics .my_wrapper .my-value .b {
+ color: #000;
+ font-size: 28rpx;
+}
+
+.logistics .my_wrapper .my-value .font {
+ font-size: 28rpx;
+ margin-left: 20rpx;
+ color: #259b24;
+}
+
+.logistics .my_wrapper .my-value .p {
+ display: flex;
+ align-items: center;
+ margin: 0;
+ font-size: 24rpx;
+}
+
+.logistics .wlinfo {
+ background: #fff;
+ margin-top: 20rpx;
+ color: #8c8c8c;
+ padding-top: 20rpx;
+}
+
+.logistics .wlinfo .li {
+ border-left: 4rpx solid #bbb;
+ text-align: left;
+ padding: 0 20rpx 20rpx 40rpx;
+ margin-left: 40rpx;
+ position: relative;
+}
+
+.logistics .wlinfo .li .span {
+ font-size: 24rpx;
+ border-bottom: #dcdcdc 2rpx solid;
+ display: block;
+ line-height: 48rpx;
+}
+
+.logistics .wlinfo .li::after {
+ content: ".";
+ border-radius: 50%;
+ background: #8c8c8c;
+ width: 20rpx;
+ height: 20rpx;
+ display: block;
+ position: absolute;
+ top: 4rpx;
+ left: -12rpx;
+}
+
+.logistics .wlinfo .li:first-child {
+ color: #259b24;
+}
+
+.logistics .wlinfo .li:first-child::after {
+ background: #259b24;
+ border: #42b983 8rpx solid;
+ top: 0;
+ left: -20rpx;
+}
diff --git a/packageA/member/order/orderCash/orderCash.js b/packageA/member/order/orderCash/orderCash.js
new file mode 100644
index 0000000..bcddaa2
--- /dev/null
+++ b/packageA/member/order/orderCash/orderCash.js
@@ -0,0 +1,128 @@
+// packageA/member/order/orderCash/orderCash.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ order_pay_id: "",
+ pid: '',
+ uid: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.order_pay_id) {
+ this.setData({
+ order_pay_id: options.order_pay_id
+ });
+ }
+ if (options.pid) {
+ this.setData({
+ pid: options.pid
+ });
+ }
+ try {
+ const value = wx.getStorageSync('uid');
+ if (value) {
+ this.setData({
+ uid: value
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ this.verificationCash();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ verificationCash() {
+ let that = this;
+ let urlStr = '';
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.order-detail.payment-qr-code-url");
+ console.log(this.data.order_pay_id);
+ console.log(this.data.pid ? this.data.pid : this.data.uid);
+ urlStr += '&order_pay_id=' + this.data.order_pay_id;
+ urlStr += '&pid=' + (this.data.pid ? this.data.pid : this.data.uid);
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ qrcode: res.data.miQrCodeUrl,
+ showQrcode: true
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageA/member/order/orderCash/orderCash.json b/packageA/member/order/orderCash/orderCash.json
new file mode 100644
index 0000000..bfe93e1
--- /dev/null
+++ b/packageA/member/order/orderCash/orderCash.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "门店支付",
+ "usingComponents": {}
+}
diff --git a/packageA/member/order/orderCash/orderCash.wxml b/packageA/member/order/orderCash/orderCash.wxml
new file mode 100644
index 0000000..363ab37
--- /dev/null
+++ b/packageA/member/order/orderCash/orderCash.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+ 请核销员扫码
+
+
diff --git a/packageA/member/order/orderCash/orderCash.wxss b/packageA/member/order/orderCash/orderCash.wxss
new file mode 100644
index 0000000..b94b161
--- /dev/null
+++ b/packageA/member/order/orderCash/orderCash.wxss
@@ -0,0 +1,24 @@
+/* packageA/member/order/orderCash/orderCash.wxss */
+.goodsinfo .qrcode {
+ width: 80%;
+ margin: 0 auto;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.goodsinfo .qrcode .top {
+ padding: 10rpx;
+ width: 80%;
+}
+
+.goodsinfo .qrcode .top image {
+ width: 100%;
+}
+
+.goodsinfo .qrcode .bottom {
+ line-height: 60rpx;
+ font-size: 36rpx;
+ text-align: center;
+}
diff --git a/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.js b/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.js
new file mode 100644
index 0000000..e98d925
--- /dev/null
+++ b/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.js
@@ -0,0 +1,124 @@
+// packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ details:{},
+ markers:[],
+ circles:[]
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getDetails(options.id);
+ },
+
+ getDetails(id){
+ let urlStr = app.getNetAddresss("plugin.city-delivery.frontend.order.getDeliveryMessage");
+ app._postNetWork({
+ url: urlStr,
+ data:{order_id:id},
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ details:res.data
+ },()=>{
+ this.setMap();
+ });
+
+ }
+ }
+ });
+ },
+
+ setMap(){
+ let details = this.data.details;
+ //let iconPath = "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/orderLogisticsDetails_position.png";
+ let iconPath = "./orderLogisticsDetails_position.png";
+ let marker = {
+ longitude:details.another_order.rider_lng,
+ latitude:details.another_order.rider_lat,
+ width:33,
+ height:45,
+ iconPath
+ };
+ let circle = {
+ longitude:details.another_order.rider_lng,
+ latitude:details.another_order.rider_lat,
+ fillColor:"#67b5ec4D",
+ color:"#67b5ec",
+ radius:50
+ };
+ this.setData({
+ markers:[marker],
+ circles:[circle]
+ });
+ },
+ makePhoneCall(){
+ wx.makePhoneCall({
+ phoneNumber: this.data.details.another_order.rider_phone //仅为示例,并非真实的电话号码
+ });
+ },
+
+
+ setClipboardData(){
+ wx.setClipboardData({
+ data: this.data.details.another_order.another_order_sn
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.json b/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.json
new file mode 100644
index 0000000..31540ac
--- /dev/null
+++ b/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "物流详情",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.wxml b/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.wxml
new file mode 100644
index 0000000..554e9f7
--- /dev/null
+++ b/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.wxml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+ 物流单号:{{details.another_order.another_order_sn}} 复制
+
+
+
+
+
+
+ 配送员正在送货
+
+
+ 距您43.9m
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.content}}
+ {{item.create_time}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 商家配送
+
+
+ 暂无物流信息
+
+
+
\ No newline at end of file
diff --git a/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.wxss b/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.wxss
new file mode 100644
index 0000000..59e272f
--- /dev/null
+++ b/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.wxss
@@ -0,0 +1,143 @@
+/* packageA/member/order/orderLogisticsDetails/orderLogisticsDetails.wxss */
+view,text{
+ box-sizing: border-box;
+}
+.map map{
+ width: 100%;
+ height: 700rpx;
+ margin-bottom: -107rpx;
+ background-color: #ebebeb;
+}
+
+.container {
+ position: relative;
+ z-index: 999;
+ padding: 0 31rpx;
+ margin-top:20rpx;
+}
+.container .express_info {
+ padding: 0 30rpx;
+ background-color: #ffffff;
+ box-shadow: 0 11rpx 31rpx 1rpx rgba(136, 136, 136, 0.18);
+ border-radius: 10rpx;
+}
+.container .express_info .express_num {
+ display: flex;
+ align-items: center;
+ height: 68rpx;
+ font-size: 24rpx;
+ color: #121212;
+ padding-left: 6rpx;
+ border-bottom: 1rpx solid #eeeeee;
+}
+.container .express_info .express_num text{
+ margin-left: 18rpx;
+ font-size: 24rpx;
+ color: #f05152;
+}
+.container .express_info .clerk {
+ display: flex;
+ align-items: center;
+ padding: 32rpx 0;
+}
+.container .express_info .clerk .face {
+ width: 70rpx;
+ height: 70rpx;
+}
+.container .express_info .clerk .face image {
+ width: 70rpx;
+ height: 70rpx;
+ border-radius: 50%;
+}
+.container .express_info .clerk .clerk-info {
+ flex: 1;
+ text-align: left;
+ padding-left: 15rpx;
+}
+.container .express_info .clerk .clerk-info .clerk-status {
+ font-size: 28rpx;
+ color: #121212;
+}
+.container .express_info .clerk .clerk-info .clerk-distance {
+ font-size: 20rpx;
+ color: #8e8e8e;
+}
+.container .express_info .clerk .call-icon {
+ color: #f05152;
+}
+.container .details {
+ padding: 19rpx 30rpx;
+ margin-top: 20rpx;
+ text-align: left;
+ background-color: #ffffff;
+ box-shadow: 0 11rpx 31rpx 1rpx rgba(136, 136, 136, 0.18);
+ border-radius: 10rpx;
+}
+.container .details .details-item {
+ display: flex;
+ align-items: center;
+ padding: 20rpx 0;
+ color: #737373;
+}
+.container .details .details-item .icon {
+ width: 20rpx;
+ height: 20rpx;
+ border: solid 1rpx #939393;
+ border-radius: 50%;
+}
+.container .details .details-item .desc_text {
+ flex: 1;
+ padding-left: 19rpx;
+ font-size: 24rpx;
+}
+.container .details .details-item .time {
+ font-size: 22rpx;
+}
+.container .details .details-item.active {
+ color: #333333;
+}
+.container .details .details-item.active .icon {
+ background-color: #f05152;
+ border: none;
+}
+.container .details .hr {
+ width: 2rpx;
+ height: 30rpx;
+ margin-left: 9rpx;
+ background-color: #cacaca;
+}
+
+
+
+.no-express {
+ display: flex;
+ align-items: center;
+ padding-left: 30rpx;
+ width: 690rpx;
+ height: 142rpx;
+ margin: 20rpx auto;
+ background-color: #ffffff;
+ border-radius: 10rpx;
+}
+.no-express .face {
+ width: 70rpx;
+ height: 70rpx;
+}
+.no-express .face image {
+ width: 70rpx;
+ height: 70rpx;
+ border-radius: 50%;
+}
+.no-express .clerk-info {
+ flex: 1;
+ text-align: left;
+ padding-left: 15rpx;
+}
+.no-express .clerk-info .clerk-status {
+ font-size: 28rpx;
+ color: #121212;
+}
+.no-express .clerk-info .clerk-distance {
+ font-size: 20rpx;
+ color: #8e8e8e;
+}
\ No newline at end of file
diff --git a/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails_position.png b/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails_position.png
new file mode 100644
index 0000000..0361850
Binary files /dev/null and b/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails_position.png differ
diff --git a/packageA/member/order/scancodeAccount/scancodeAccount.js b/packageA/member/order/scancodeAccount/scancodeAccount.js
new file mode 100644
index 0000000..65a5e3b
--- /dev/null
+++ b/packageA/member/order/scancodeAccount/scancodeAccount.js
@@ -0,0 +1,218 @@
+// packageA/member/order/scancodeAccount/scancodeAccount.js
+
+
+// packageA/member/order/TransferAccount/TransferAccount.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ uploadUrl: 'upload.uploadPic',
+ order_pay_id: '',
+ imageUrl: "",
+ upImgSrc: '',
+ status: '',
+ order_ids: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.id) {
+ this.setData({
+ order_pay_id: options.id
+ });
+ }
+ if (options.status) {
+ this.setData({
+ status: options.status
+ });
+ }
+ if (options.order_ids) {
+ this.setData({
+ order_ids: options.order_ids
+ });
+ }
+ this.getJson();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ copyText(evt){
+ let text = evt.currentTarget.dataset.text;
+ wx.setClipboardData({
+ data: text
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ getJson() {
+ this.setData({
+ imageUrl: "",
+ upImgSrc: ""
+ });
+ let urlStr = '';
+ urlStr += app.getNetAddresss("order.merge-pay.dcm-scan-pay");
+ urlStr += '&order_pay_id=' + this.data.order_pay_id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ bank_info: res.data.payee_info,
+ amount_info: res.data.amount,
+ pay_info: res.data.pay_sn
+ });
+ let desc = res.data.payee_info.information;
+ desc = desc.replace(/
+
+
+
+ 上传付款凭证
+ 订单:{{ pay_info }}
+ 金额:{{ amount_info }}{{language['元']}}
+
+
+
+
+
+ 如是在没有凭证请联系发货方对账后再点击确认
+
+
+
+
+
+ 确认已经汇款
+
+
+
+
+ 在线付款
+
+
+
+
+ 收款二维码
+
+
+
+
+
+ 点击可复制链接
+
+ {{bank_info.receiving_code.link}}
+
+
+
+
+ 说明
+
+
+
+
+
+
+
diff --git a/packageA/member/order/scancodeAccount/scancodeAccount.wxss b/packageA/member/order/scancodeAccount/scancodeAccount.wxss
new file mode 100644
index 0000000..9c028d1
--- /dev/null
+++ b/packageA/member/order/scancodeAccount/scancodeAccount.wxss
@@ -0,0 +1,143 @@
+/* packageA/member/order/scancodeAccount/scancodeAccount.wxss */
+page {
+ background-color: #fff;
+}
+
+.transfer-accounts {
+ padding-bottom: 40rpx;
+ background-color: #fff;
+ color: #333;
+ text-align: center;
+}
+
+.transfer-accounts .pay-info .h1 {
+ font-size: 40rpx;
+ line-height: 80rpx;
+ margin: 40rpx 0;
+ font-weight: bold;
+}
+
+.transfer-accounts .pay-info .ul .li {
+ line-height: 48rpx;
+ font-size: 32rpx;
+}
+
+.transfer-accounts .pay-info .accounts-box {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.transfer-accounts .pay-info .ul .li:last-child {
+ font-size: 24rpx;
+ color: #8c8c8c;
+}
+
+.transfer-accounts .btn {
+ margin-top: 32rpx;
+ font-size: 32rpx;
+}
+
+.transfer-accounts .btn .button {
+ position: relative;
+ padding: 0;
+ height: 88rpx;
+ line-height: 88rpx;
+ border-radius: 4rpx;
+ box-sizing: border-box;
+ font-size: 32rpx;
+ text-align: center;
+ width: 80%;
+}
+
+.transfer-accounts .btn .top .button {
+ color: #fff;
+ background-color: #4b0;
+ border: 2rpx solid #4b0;
+ margin: 0 auto 10rpx;
+}
+
+.transfer-accounts .btn .bottom .button {
+ color: #fff;
+ background-color: #f44;
+ border: 2rpx solid #f44;
+ margin: 0 auto;
+}
+
+.transfer-accounts .scancode-box {
+ padding-top: 32rpx;
+}
+
+.transfer-accounts .scancode-box .scancode-title {
+ font-size: 30rpx;
+ font-weight: bold;
+ color: #333;
+}
+
+.transfer-accounts .scancode-box .scancode-img {
+ padding-top: 12rpx;
+}
+
+.transfer-accounts .scancode-box .scancode-img image {
+ width: 12rem;
+ height: 12rem;
+}
+
+.transfer-accounts .link-box {
+ padding-top: 0.5rem;
+ padding-left: 2rem;
+ padding-right: 2rem;
+ box-sizing: border-box;
+}
+
+.transfer-accounts .link-box .link-title {
+ font-size: 0.85rem;
+ font-weight: bold;
+ color: #333;
+}
+
+.transfer-accounts .link-box .link {
+ color: rgb(89, 183, 238);
+ word-wrap: break-word;
+}
+
+.transfer-accounts .prompt-box {
+ margin-top: 40rpx;
+}
+
+.transfer-accounts .prompt-info {
+ z-index: 20;
+ height: 100%;
+ padding-bottom: 20rpx;
+ background-color: #fafafa;
+ margin: 0 20rpx;
+ border-radius: 8rpx;
+}
+
+.transfer-accounts .prompt-info .h2 {
+ line-height: 80rpx;
+ padding: 0 28rpx;
+ font-size: 28rpx;
+ text-align: left;
+ color: #333;
+}
+
+.transfer-accounts .prompt-info .prompt-a {
+ text-align: left;
+ margin-left: 0.625rem;
+}
+
+.photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ margin-left: 30rpx;
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.photoshow image {
+ width: 100%;
+}
diff --git a/packageA/member/orderdetail/orderdetail.js b/packageA/member/orderdetail/orderdetail.js
new file mode 100644
index 0000000..eb17e1a
--- /dev/null
+++ b/packageA/member/orderdetail/orderdetail.js
@@ -0,0 +1,1807 @@
+// pages/orderdetail/orderdetail.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ regional: "请选择快递公司",
+ dateshow_1: false,
+ orderType: "",
+ order_id: "",
+ options: [],
+ columns: [],
+ addresseeInfo: "",
+ address: "",
+ mobile: "",
+ receiver: "",
+ order_data: "",
+ order_pay_id: "",
+ dispatch_type_id: "",
+ pay_type_id: "",
+ hotel_start: "",
+ hotel_end: "",
+ night_day: "",
+ hotel_name: "",
+ //确认发货
+ dialogVisible: false,
+ expressName: "",
+ numberName: "",
+ package_deliver: {},
+ showQrcode: false,
+ qrcode_url: "",
+ showDiyForm: false,
+ diyform: {},
+ jurisdiction_set: 0,
+ showID: "",
+
+ showBarter: false,
+ showBarter_value: null,
+ orderPayId: null,
+ //消费红包
+ showPacket: false,
+ shrinkPacket: false,
+ timer: null,
+ hasPacket: false,
+
+ showKefu: false,
+
+ // 话费慢充
+ phone_bill: {},
+
+ customForm: [],
+ refundShow: false, //退款原因
+ refundText: "",
+
+ integral: "积分",
+
+ custom_receipt_confirmation_html:"",
+ custom_receipt_confirmation_show:false, //自定义确认收货弹窗
+ custom_receipt_confirmation_btn:{}, //自定义确认收货弹窗按钮
+ custom_receipt_confirmation_item:{},//自定义确认收货弹窗item
+
+ electricity_bill_pro:{},
+
+ oil_recharge:{}, //油卡充值
+ aggregation_cps_recharge_bill:false,
+ //S 申请存货弹窗
+ inventoryApplyPopup: false, //存货申请弹窗
+ inventoryApplyList: [], //仓库列表
+ inventoryApplyRadio: null
+ //E 申请存货弹窗
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ console.log("options:::::", options);
+ // 页面传参
+ if (options.scene) {
+ console.log("option.scene:::::", options.scene);
+ console.log(decodeURIComponent(options.scene));
+ let scene = decodeURIComponent(options.scene);
+ if (scene) {
+ var info_arr = [];
+ info_arr = scene.split("&");
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split("=");
+ console.log(chil_arr);
+ // 这是自提点
+ if (chil_arr[0] == "orderType") {
+ this.setData({
+ orderType: chil_arr[1],
+ });
+ } else {
+ // 这是门店
+ this.setData({
+ orderType: "store",
+ });
+ }
+ if (chil_arr[0] == "id") {
+ this.setData({
+ order_id: chil_arr[1],
+ });
+ } else if (chil_arr[0] == "mid") {
+ app._setMid(chil_arr[1]);
+ } else if (chil_arr[0] == "is_clerk") {
+ this.setData({
+ is_clerk: chil_arr[1],
+ });
+ } else {
+ console.log("error:: 核销员进入错误");
+ wx.hideLoading();
+ }
+ }
+ console.log(this.data.order_id);
+ }
+ } else {
+ if (options.order_id) {
+ this.setData({
+ order_id: options.order_id,
+ });
+ }
+ if(options.debt_shop_member_type){
+ this.setData({
+ debt_shop_member_type:options.debt_shop_member_type
+ })
+ }
+ if (options.orderType && options.orderType == "groups") {
+ this.setData({
+ orderType: "groups",
+ });
+ } else if (options.orderType) {
+ this.setData({
+ orderType: options.orderType,
+ });
+ } else {
+ this.setData({
+ orderType: "shop",
+ });
+ }
+ }
+ if (options.order_id) {
+ this.setData({
+ order_id: options.order_id,
+ });
+ }
+ let yz_basic_info = wx.getStorageSync('yz_basic_info');
+ this.setData({
+ showDiyForm: false,
+ vip_show:yz_basic_info.globalParameter.vip_show?yz_basic_info.globalParameter.vip_show:false
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ const value = wx.getStorageSync("integral");
+ if (value) {
+ this.setData({
+ integral: value,
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getNetData();
+ this.setData({
+ showPacket: false,
+ shrinkPacket: false,
+ timer: null,
+ hasPacket: false,
+ });
+ let basicinfo = wx.getStorageSync("yz_basic_info");
+ if (basicinfo && basicinfo.globalParameter.consume_red_packet_status == 1) {
+ this.checkoutConsumePacket();
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+
+ callPhone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.service_mobile,
+ });
+ },
+ phoneClick({target:{dataset:{phone}}}){
+ wx.makePhoneCall({
+ phoneNumber:phone,
+ success(){},
+ fail(){}
+ })
+ },
+ copyMsg({target:{dataset:{msg}}}){
+ console.log(msg);
+ wx.setClipboardData({
+ data: msg,
+ success: function (res) {
+ wx.showToast({
+ title: '复制成功',
+ icon: 'success',
+ duration: 2000
+ });
+ },
+ fail(){
+ wx.showToast({
+ title: '复制失败',
+ icon: 'error',
+ duration: 2000
+ })
+ }
+ })
+ },
+ closePop() {
+ this.setData({
+ showKefu: false,
+ });
+ },
+ showMore(e) {
+ let order_sn = e.currentTarget.dataset.order.order_sn;
+ if (this.data.showID == order_sn) {
+ this.setData({
+ showID: "",
+ });
+ } else {
+ this.setData({
+ showID: order_sn,
+ });
+ }
+ },
+ startRotate() {
+ if (this.data.timer) {
+ clearInterval(this.data.timer);
+ }
+ this.data.timer = setInterval(() => {
+ this.setData({
+ shrinkPacket: !this.data.shrinkPacket,
+ });
+ }, 150);
+ },
+ onClickShow() {
+ this.setData({
+ showPacket: true,
+ });
+ },
+ onClickHide() {
+ this.setData({
+ showPacket: false,
+ });
+ },
+ toPacket() {
+ wx.navigateTo({
+ url: "/packageE/ConsumePacket/ConsumePacketSuccess/ConsumePacketSuccess?order_id=" + this.data.order_id.toString(),
+ });
+ },
+ // 消费红包
+ checkoutConsumePacket() {
+ let urlStr = app.getNetAddresss("plugin.consume-red-packet.Frontend.Modules.Packet.Controllers.has.index");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ order_id: this.data.order_id.toString().split(","),
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ hasPacket: true,
+ });
+ this.startRotate();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ // 获取客服
+ getKefu() {
+ let goods_id = "";
+
+ if (this.data.order_data.has_many_order_goods.length > 0) {
+ goods_id = this.data.order_data.has_many_order_goods[0].goods_id;
+ }
+ let urlStr = app.getNetAddresss("goods.customer-service.index");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ goods_id: goods_id,
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ customer_open:res.data.customer_open == 0?false:true,
+ showKefu: true,
+ cservice: res.data.cservice,
+ service_QRcode: res.data.service_QRcode,
+ service_mobile: res.data.service_mobile,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ showDiy(e) {
+ if (e.currentTarget.dataset.from) {
+ for (let i = 0; i <= e.currentTarget.dataset.from.length - 1; i++) {
+ if (e.currentTarget.dataset.from[i].type == "diyriqi") {
+ e.currentTarget.dataset.from[i].content = this.timestampToTime(parseInt(e.currentTarget.dataset.from[i].content) * 1000);
+ }
+ }
+ this.setData({
+ showDiyForm: true,
+ diyform: e.currentTarget.dataset.from,
+ });
+ }
+ },
+ timestampToTime(timestamp) {
+ var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
+ let Y = date.getFullYear() + "-";
+ let M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1) + "-";
+ let D = this.change(date.getDate()) + " ";
+ let h = this.change(date.getHours()) + ":";
+ let m = this.change(date.getMinutes()) + ":";
+ let s = this.change(date.getSeconds());
+ return Y + M + D + h + m + s;
+ },
+ change(t) {
+ if (t < 10) {
+ return "0" + t;
+ } else {
+ return t;
+ }
+ },
+ onDiyFormClose() {
+ this.setData({
+ showDiyForm: false,
+ });
+ },
+ //获取快递公司
+ getCompany() {
+ let that = this;
+ let urlStr = "";
+ if (this.data.orderType == "supplier") {
+ urlStr += app.getNetAddresss("plugin.supplier.frontend.order.express-company");
+ } else if (this.data.orderType == "subsidiary") {
+ urlStr += app.getNetAddresss("plugin.subsidiary.frontend.order.express-company");
+ } else if (this.data.orderType == "storeMang") {
+ urlStr += app.getNetAddresss("plugin.shop-assistant.frontend.order.expressCompanies");
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.sendOrder");
+ }
+ urlStr += "&order_id=" + that.data.order_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ options: res.data.express_companies ? res.data.express_companies : [],
+ });
+ var arrayOfSquares = that.data.options.map(function (item) {
+ return item.name;
+ });
+ if (!app._isTextEmpty(res.data.jurisdiction_set)) {
+ that.setData({
+ jurisdiction_set: res.data.jurisdiction_set,
+ });
+ }
+ that.setData({
+ columns: arrayOfSquares,
+ addresseeInfo: res.data.address,
+ address: res.data.address.address,
+ mobile: res.data.address.mobile,
+ receiver: res.data.address.realname,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getNetData() {
+ let that = this;
+ let urlStr = "";
+ if (this.data.orderType == "cashier") {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.Order.detail");
+ } else if (this.data.orderType == "store") {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.order-detail");
+ } else if (this.data.orderType == "supplier") {
+ urlStr += app.getNetAddresss("plugin.supplier.frontend.order.detail");
+ } else if (this.data.orderType == "subsidiary") {
+ urlStr += app.getNetAddresss("plugin.subsidiary.frontend.order.detail");
+ } else if (this.data.orderType == "hotel") {
+ urlStr += app.getNetAddresss("plugin.hotel.frontend.hotel.detail");
+ } else if (this.data.orderType == "hotel_center") {
+ urlStr += app.getNetAddresss("plugin.hotel.frontend.hotel.center.order-detail");
+ } else if (this.data.orderType == "hotelcashier") {
+ urlStr += app.getNetAddresss("plugin.hotel.frontend.Order.detail");
+ } else if (this.data.orderType == "lease_toy") {
+ urlStr += app.getNetAddresss("plugin.lease-toy.api.order.order-detail.index");
+ } else if (this.data.orderType == "verifier") {
+ urlStr += app.getNetAddresss("plugin.package-deliver.frontend.clerk-order-detail.index"); //自提点核销员
+ } else if (this.data.orderType == "pdy") {
+ urlStr += app.getNetAddresss("plugin.package-delivery.frontend.detail.index"); //商城自提点核销员
+ } else if (this.data.orderType == "commission_activity") {
+ urlStr += app.getNetAddresss("plugin.commission-activity.api.activity-inquire.order-detail");
+ } else if (this.data.orderType == "groups") {
+ urlStr += app.getNetAddresss("plugin.fight-groups.frontend.controllers.detail.index");
+ } else if (this.data.orderType == "groupsBuy") {
+ urlStr += app.getNetAddresss("plugin.together-purchase.api.index.getTogetherData");
+ urlStr += "&art=orderDetail";
+ } else if (this.data.orderType == "grabGroup") {
+ urlStr += app.getNetAddresss("plugin.snatch-regiment.api.index.getSnatchData");
+ urlStr += "&art=orderDetail";
+ } else if (this.data.orderType == "pickup_card") {
+ urlStr += app.getNetAddresss("plugin.picking-card.frontend.detail");
+ } else if (this.data.orderType == "picking-card-one") {
+ urlStr += app.getNetAddresss("plugin.picking-card-one.frontend.detail");
+ } else if (this.data.orderType == "community_buying") {
+ urlStr += app.getNetAddresss("plugin.package-deliver.frontend.order.detail.index");
+ } else if(this.data.orderType == "luck-draw"){
+ urlStr += app.getNetAddresss("plugin.luck-draw.frontend.index.myPrizeDetail");
+ } else if(this.data.orderType == "newRetail"){
+ urlStr += app.getNetAddresss("plugin.new-retail.frontend.orderData.detail");
+ } else if(this.data.orderType == "zhpGroup"){
+ urlStr += app.getNetAddresss("plugin.zhp-group-lottery.frontend.detail.index");
+ } else if(this.data.orderType == "storeMang"){
+ urlStr += app.getNetAddresss("plugin.shop-assistant.frontend.order.order-detail");
+ } else if (this.data.orderType == "warehouseTakeDelivery") {
+ urlStr += app.getNetAddresss("plugin.warehouse.frontend.controllers.takeDelivery.order-detail");
+ } else if (this.data.orderType == "warehousePurchasing") {
+ urlStr += app.getNetAddresss("plugin.warehouse.frontend.controllers.purchasing.order-detail");
+ } else if(this.data.orderType == "reserve_simple"){
+ urlStr += app.getNetAddresss("plugin.reserve-simple.frontend.reserve-order.get-detail");
+ } else if (this.data.orderType == "ysSystem") {
+ urlStr += app.getNetAddresss("plugin.ys-system.frontend.history-order.ys-detail");
+ } else if (this.data.orderType == "debt"){
+ urlStr += app.getNetAddresss("plugin.debt-shop.frontend.order-detail.index");
+ urlStr += "&order_id=" + that.data.order_id;
+ urlStr += "&member_type=" + that.data.debt_shop_member_type;
+ } else {
+ urlStr += app.getNetAddresss("order.detail");
+ }
+ if (this.data.is_clerk) {
+ urlStr += "&order_id=" + that.data.order_id;
+ urlStr += "&is_clerk=" + that.data.is_clerk;
+ } else if (this.data.orderType == "commission_activity") {
+ urlStr += "&activity_id=" + that.data.order_id;
+ } else {
+ urlStr += "&order_id=" + that.data.order_id;
+ }
+
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = {};
+ let form = [];
+ if (that.data.orderType == "groupsBuy" || that.data.orderType == "grabGroup") {
+ myData = res.data.orderDetail;
+ } else {
+ myData = res.data;
+ }
+ if (myData.custom && that.data.is_clerk == 1) {
+ form = myData.custom.form;
+ }
+ if(myData.reserve_date){
+ that.setData({
+ reserveDate:myData.reserve_date
+ });
+ }
+
+ that.setData({
+ order_data: myData,
+ order_pay_id: myData.order_pay_id,
+ dispatch_type_id: myData.dispatch_type_id,
+ customForm: form,
+ custom_receipt_confirmation_html:myData.receipt_goods_notice
+ });
+ if(myData.aggregation_cps_recharge_bill && !app._isTextEmpty(myData.aggregation_cps_recharge_bill.recharge_number)){
+ that.setData({
+ aggregation_cps_recharge_bill:myData.aggregation_cps_recharge_bill.recharge_number
+ })
+ }
+ if(that.data.orderType == "zhpGroup"){
+ for(let i = 0 ;i {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ showQrcode: true,
+ qrcode_url: res.data.qr_code_url,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ onClose() {
+ this.setData({
+ showQrcode: false,
+ });
+ },
+ // 申请归还
+ getRuruen(btn, order) {
+ let urlStr = app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + order.id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ this.getNetData();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //查看物流
+ checklogistics(item, btn) {
+ //logistics
+ if (item.is_all_send_goods == 0) {
+ wx.navigateTo({
+ url: "/packageA/member/order/logistics/logistics?id=" + item.id + "&api=" + btn.api,
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageE/multiplePackages/multiplePackages?id=" + item.id + "&api=" + btn.api,
+ });
+ }
+ },
+ //删除订单
+ deleteOrder(item, btn, orderidx) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定删除此订单?",
+ success(res) {
+ if (res.confirm) {
+ //删除当前选中的地址
+ that.sentRequest(btn.api, "&order_id=" + item.id, false);
+ }
+ },
+ });
+ },
+ //确认发货
+ sendGoogs(event) {
+ if (!event || event.detail === "confirm") {
+ let that = this;
+ // if (that.data.expressName == '' && that.data.numberName == '') {
+ // wx.showToast({
+ // icon: 'success',
+ // title: '请选择快递公司和输入快递单号',
+ // duration: 1000
+ // })
+ // return;
+ // } else if (that.data.expressName == '') {
+ // wx.showToast({
+ // icon: 'success',
+ // title: '请选择快递公司',
+ // duration: 1000
+ // })
+ // return;
+ // } else if (that.data.numberName == '') {
+ // wx.showToast({
+ // icon: 'success',
+ // title: '请输入快递单号',
+ // duration: 1000
+ // })
+ // return;
+ // }
+ if (this.data.orderType == "supplier") {
+ let urlStr = "";
+ urlStr += app.getNetAddresss("plugin.supplier.frontend.order.send");
+ let json = {
+ order_id: that.data.orderPayId,
+ express_code: that.data.expressName.value,
+ express_company_name: that.data.expressName.name,
+ express_sn: that.data.numberName,
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ dialogVisible: false,
+ });
+ that.getNetData();
+ that.triggerEvent("stoprefresh", false);
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ wx.showToast({
+ icon: "success",
+ title: "发货成功",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ } else if (this.data.orderType == "subsidiary"||this.data.orderType == "storeMang") {
+ let urlStr = "";
+ urlStr = app.getNetAddresss("plugin.subsidiary.frontend.order.send");
+ if(this.data.orderType == "storeMang"){
+ urlStr = app.getNetAddresss("plugin.shop-assistant.frontend.order.send");
+ }
+ let json = {
+ order_id: that.data.orderPayId,
+ express_code: that.data.expressName.value,
+ express_company_name: that.data.expressName.name,
+ express_sn: that.data.numberName,
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ dialogVisible: false,
+ });
+ that.getNetData();
+ that.triggerEvent("stoprefresh", false);
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ wx.showToast({
+ icon: "success",
+ title: "发货成功",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ } else {
+ let urlStr = "";
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.order-operation.send");
+ urlStr += "&order_id=" + that.data.orderPayId;
+ urlStr += "&express_code=" + that.data.expressName.value;
+ urlStr += "&express_company_name=" + that.data.expressName.name;
+ urlStr += "&express_sn=" + that.data.numberName;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ that.getNetData();
+ wx.showToast({
+ icon: "success",
+ title: "发货成功",
+ duration: 1000,
+ });
+ that.setData({
+ dialogVisible: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ } else {
+ this.setData({
+ dialogVisible: false,
+ });
+ this.triggerEvent("stoprefresh", false);
+ }
+ },
+ //快递选择
+ seleRegional: function () {
+ this.setData({
+ dateshow_1: true,
+ });
+ },
+ onCancelbtn: function () {
+ this.setData({
+ dateshow_1: false,
+ });
+ },
+ onConfirmbtn: function (e) {
+ let index = e.detail.index;
+ let val = e.detail.value;
+ let array = this.data.options;
+ this.setData({
+ dateshow_1: false,
+ regional: val,
+ expressName: array[index],
+ });
+ },
+ sentRequest(action, params, isIndicator) {
+ let urlStr = app.getNetAddresss(action);
+ urlStr += params;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //评价订单
+ comment(item, btn) {
+ // 跳到评价订单
+ //comment order: item
+ wx.navigateTo({
+ url: "/packageB/member/comment/comment?order=" + JSON.stringify(item ? item : {}),
+ });
+ },
+ toPay(item, btn) {
+ //status-2合并支付 type-1订单支付
+ wx.navigateTo({
+ url: "/packageD/buy/orderPay/orderPay?order_id=" + item.id + "&status=2" + "&api=" + btn.api,
+ });
+ },
+ //获取模板id
+ getTemplate(order, btn) {
+ let urlStr = app.getNetAddresss("member.member.getMiniTemplateCorrespond");
+ let that = this;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ small_type: 2,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let array = [];
+ for (let i = 0; i < res.data.length; i++) {
+ array.push(res.data[i].template_id);
+ }
+ that.setData({
+ TemplateArray: array,
+ });
+ wx.requestSubscribeMessage({
+ tmplIds: that.data.TemplateArray,
+ success(res) {
+ that._toRefund(order, btn);
+ },
+ fail() {
+ that._toRefund(order, btn);
+ },
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //退款
+ _toRefund(item, btn) {
+ console.log(btn.value);
+ //refund
+ if(this.data.order_data.plugin_id == 107){
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/refund/refund?order_id=" + item.id + "&type=1"+'&value='+btn.value,
+ });
+ return;
+ }
+ if (btn.value == "snatch_regiment_refund") {
+ //抢团
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/refund/refund?order_id=" + item.id + "&type=3",
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/refund/refund?order_id=" + item.id + "&type=1",
+ });
+ }
+ },
+ cancleOrder(item, btn) {
+ var that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定取消此订单?",
+ success(res) {
+ if (res.confirm) {
+ //取消当前选中的地址
+ that.sentRequest(btn.api, "&order_id=" + item.id, false);
+ }
+ },
+ });
+ },
+ //确认收货
+ confirmOrder(item, btn) {
+ if((item.plugin_id==0 || item.plugin_id==44) && this.data.custom_receipt_confirmation_html!==''){
+ this.setData({
+ custom_receipt_confirmation_btn:btn,
+ custom_receipt_confirmation_item:item,
+ custom_receipt_confirmation_show:true
+ });
+ return;
+ }
+ wx.showModal({
+ title: "提示",
+ content: "您确定收到货物?",
+ success:(res)=> {
+ if (res.confirm) {
+ this._confirmOrder_request(item,btn);
+ }
+ },
+ });
+ },
+ CustomReceiptConfirmationSend(){
+ this._confirmOrder_request(this.data.custom_receipt_confirmation_item,this.data.custom_receipt_confirmation_btn);
+ },
+ _confirmOrder_request(item,btn){
+ let urlStr = app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + item.id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ app.tips(res.msg);
+ if(item.is_boss){
+ // is_boss:true是店长,店长跳转门店订单列表页
+ wx.navigateTo({url: "/packageA/member/myOrder_v2/myOrder_v2?status=0&orderType=store"});
+ return
+ }
+ this.getNetData();
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //退款中
+ toRefundDetail(item, btn) {
+ //aftersales
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/Aftersales/Aftersales?refund_id=" + item.refund_id,
+ });
+ },
+ cashPayOrder(item, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定此订单已付款?",
+ success(res) {
+ if (res.confirm) {
+ that.sentRequest(btn.api, "&order_id=" + item.id + "&order_pay_id=" + that.data.order_pay_id, false);
+ }
+ },
+ });
+ },
+ verification(item, btn) {
+ //订单核销
+ //orderVerification
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/orderVerification/orderVerification?order_id=" + item.id + "&api=" + btn.api,
+ });
+ },
+ verificationCash(item, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定此订单已付款?",
+ success(res) {
+ if (res.confirm) {
+ that.HxsentRequest(btn.api, "&order_id=" + item.id + "&order_pay_id=" + that.data.order_pay_id, false);
+ }
+ },
+ });
+ },
+ // 确认核销
+ HxsentRequest(action, params, isIndicator) {
+ let urlStr = app.getNetAddresss(action);
+ urlStr += params;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //退还跳转
+ gotoRefund(val) {
+ wx.navigateTo({
+ url: "/packageB/member/OrderReturn/OrderReturn?id=" + val,
+ });
+ },
+ //退还跳转
+ gotoRefundCheck(val) {
+ wx.navigateTo({
+ url: "/packageB/member/OrderReturnCheck/OrderReturnCheck?id=" + val,
+ });
+ },
+ //待确定
+ gotoMakeSure(val) {
+ wx.navigateTo({
+ url: "/packageB/member/OrderReturnSure/OrderReturnSure?id=" + val,
+ });
+ },
+ //汇款记录
+ shopRecord(val) {
+ wx.navigateTo({
+ url: "/packageB/member/OrderRecord/OrderRecord?order_id=" + val + "&order_state=" + this.data.order_data.status_name,
+ });
+ },
+ //确认支付
+ payMoney(item, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确认支付该订单?",
+ success:(res) =>{
+ if (res.confirm) {
+ let urlStr = "";
+ if (this.data.orderType == "supplier" || this.data.orderType == "subsidiary" || this.data.orderType == "storeMang") {
+ urlStr += app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + that.data.orderPayId;
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.order-operation.pay");
+ urlStr += "&order_id=" + that.data.orderPayId;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: "支付成功",
+ icon: "success",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ });
+ },
+ //取消发货
+ deliverGoodsCancel(order, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定取消发货?",
+ success(res) {
+ if (res.confirm) {
+ let urlStr = "";
+ if (that.data.orderType == "supplier" || that.data.orderType == "subsidiary") {
+ urlStr += app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + order.id;
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.order-operation.cancel-send");
+ urlStr += "&order_id=" + order.id;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getNetData();
+ wx.showToast({
+ title: "取消发货成功",
+ icon: "success",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ });
+ },
+ //确认收货
+ collectGoods(order, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确认收货?",
+ success:(res)=> {
+ if (res.confirm) {
+ let urlStr = "";
+ if (this.data.orderType == "supplier" || this.data.orderType == "subsidiary" || this.data.orderType == "storeMang") {
+ urlStr += app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + that.data.orderPayId;
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.order-operation.receive");
+ urlStr += "&order_id=" + that.data.orderPayId;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: "收货成功",
+ icon: "success",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ });
+ },
+ //关闭订单
+ closeOrderPay(order, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定关闭订单?",
+ success:(res)=> {
+ if (res.confirm) {
+ let urlStr = "";
+ if (this.data.orderType == "supplier" || this.data.orderType == "subsidiary" || this.data.orderType == "storeMang") {
+ urlStr += app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + that.data.orderPayId;
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.order-operation.close");
+ urlStr += "&order_id=" + that.data.orderPayId;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: "关闭订单成功",
+ icon: "success",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ });
+ Dialog.confirm({
+ title: "标题",
+ message: "确定关闭订单?",
+ })
+ .then(() => {
+ // on confirm
+ })
+ .catch(() => {
+ // on cancel
+ });
+ },
+ // 评价
+ evaluate(order, btn) {
+ //抢单评价
+ //DeliveryEvaluate
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate?order_id=" + order.order_id + "&api=" + btn.api + "&name=distributor",
+ });
+ },
+ //卡密
+ truckList(btn, order) {
+ //TruckList
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/truckList/truckList?order_id=" + order.id,
+ });
+ },
+ //查看发票
+ checkInvoice(btn, order) {
+ //Invoice
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/invoice/invoice?order_id=" + order.id,
+ });
+ },
+ confirmHotelOrder() {},
+ numberNamebtn(e) {
+ let val = e.detail.value;
+ this.setData({
+ numberName: val.trim(),
+ });
+ },
+ goToAdress() {
+ let latitude = this.data.package_deliver.lat;
+ let longitude = this.data.package_deliver.lng;
+ let store_name = this.data.package_deliver.deliver_name || this.data.package_deliver.buyer_name;
+ let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name,
+ });
+ },
+
+ // 评价,追评,查看评价按钮
+ evaluateOpration(e) {
+ let btn = e.target.dataset.btn;
+ let item = e.target.dataset.goods;
+ let order_id = e.target.dataset.order.id;
+ //value-0评价 value-1追加评价 value-2查看评价详情
+ if (btn.value == 0) {
+ wx.navigateTo({
+ url: '/packageD/member/evaluate/evaluate?order_id=' + order_id + '&id=' + item.id
+ });
+ } else if (btn.value == 1) {
+ wx.navigateTo({
+ url: '/packageD/member/addevaluate/addevaluate?order_id=' + order_id + '&item=' + JSON.stringify(item)
+ });
+ } else if (btn.value == 2) {
+ let options = "?order_id=" + order_id;
+ options = options + '&goods_id=' + item.has_one_comment.goods_id;
+ options = options + '&comment_id=' + item.has_one_comment.id;
+ options = options + '&order_goods_id=' + item.id;
+ wx.navigateTo({
+ url: '/packageD/member/CommentDetails/CommentDetails' + options
+ });
+ }
+ },
+
+ onChangeInventoryApplyRadio(event){
+ this.setData({
+ inventoryApplyRadio: event.detail,
+ });
+ },
+ // ‘申请存货’获取仓库列表
+ getWarehouseList_CH() {
+ let urlStr = app.getNetAddresss("plugin.order-inventory.frontend.index.warehouse-list");
+ app._postNetWork({
+ url: urlStr,
+ data: {},
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ inventoryApplyList: res.data.list, //仓库列表
+ inventoryApplyRadio: res.data.list[0].id,
+ inventoryApplyPopup: true //存货申请弹窗
+ })
+ } else {
+ app.tips(res.msg)
+ }
+ }
+ });
+ },
+ // 确认已选择仓库申请仓库
+ confirmInventoryApply() {
+ let urlStr = app.getNetAddresss("plugin.order-inventory.frontend.index.inventory-apply");
+ app._postNetWork({
+ url: urlStr,
+ data: { warehouse_id: this.data.inventoryApplyRadio, order_id: this.data.orderPayId },
+ success: (resdata) => {
+ let res = resdata.data;
+ app.tips(res.msg)
+ if (res.result == 1) {
+ this.getNetData();
+ }
+ }
+ });
+ },
+});
diff --git a/packageA/member/orderdetail/orderdetail.json b/packageA/member/orderdetail/orderdetail.json
new file mode 100644
index 0000000..04ae8a8
--- /dev/null
+++ b/packageA/member/orderdetail/orderdetail.json
@@ -0,0 +1,18 @@
+{
+ "navigationBarTitleText": "订单详情",
+ "usingComponents": {
+ "van-dialog": "../../../dist/dialog/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-field": "../../../dist/field/index",
+ "van-picker": "../../../dist/picker/index",
+ "van-overlay":"../../../dist/overlay/index",
+ "custom-message": "../../../mycomponent/customMessage/customMessage",
+ "mp-html":"/mycomponent/mp-html/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "connect-customer-service": "/mycomponent/ConnectCustomerService/ConnectCustomerService",
+ "offline-order-detail": "../../mycomponent/offline_order/offline_order"
+ }
+}
diff --git a/packageA/member/orderdetail/orderdetail.wxml b/packageA/member/orderdetail/orderdetail.wxml
new file mode 100644
index 0000000..e505fb9
--- /dev/null
+++ b/packageA/member/orderdetail/orderdetail.wxml
@@ -0,0 +1,489 @@
+
+
+
+
+
+ 提货人:{{ package_deliver.buyer_name }}({{ package_deliver.buyer_mobile }})
+ 提货点:{{ receiver }}({{ mobile }})
+ {{ address }}
+
+
+
+
+
+
+
+
+
+
+
+ 送达时间:{{order_data.city_delivery.expect_start_time}} - {{order_data.city_delivery.expect_end_time}}
+ 送达社区:{{order_data.city_delivery.community_name}}
+
+ 无需收货地址 如信息出错请联系客服!
+ 收件人:{{ receiver }}({{ mobile }})
+
+ 预约时间 {{order_data.reserve_simple.begin_time}}
+
+
+ {{ hotel_name }} {{ address }}
+
+
+
+
+
+
+ 联系收件人
+
+
+
+ 复制地址
+
+
+
+
+
+
+ 提货人:{{ receiver }}({{ mobile }})
+ 提货点:{{ package_deliver.deliver_name }}({{ package_deliver.deliver_mobile }})
+ {{ package_deliver.full_address }}
+
+
+
+
+
+
+
+ 充值手机号
+ {{phone_bill.mobile}}
+
+
+
+ 充值户号
+ {{electricity_bill_pro.has_one_account.account_number}}
+
+
+
+
+
+ 充值账号
+ {{order_data.camilo_resources_recharge_number}}
+
+
+
+
+
+
+
+
+ 充值油卡号
+ {{ oil_recharge.account }}
+
+
+ 充值手机号
+ {{ oil_recharge.mobile }}
+
+
+
+
+
+
+
+
+
+ 查看表单
+
+
+
+ {{good.title}}
+ {{ order.deposit_ladder.activity_name }}
+
+ 规格: {{ good.goods_option_title }}
+
+ ×{{ good.total }}
+
+ {{ night_day }}晚{{ order_data.goods_total }}间
+
+
+
+ 预约日期:{{ reserveDate }}
+
+
+ 定金
+ 尾款
+ {{language['money']}}
+ {{ good.price }}
+
+ 会员价:
+ {{language['money']}}
+ {{ good.vip_price }}
+
+
+
+ 押金:
+ {{language['money']}}
+ {{ good.lease_toy_goods.deposit }}
+
+
+
+
+ 送
+ {{good.points}} {{integral}}
+
+
+
+
+
+
+
+
+
+
+
+ 充值手机号
+ {{aggregation_cps_recharge_bill}}
+
+
+
+
+ 订单编号:
+ {{ order_data.order_sn }}
+
+
+ 租期:
+ {{ order_data.lease_toy.return_days }}天
+
+
+ 租赁到期日期:
+ {{ order_data.lease_toy.end_time }}
+
+
+ 交易状态:
+ 待核销
+ {{ phone_bill.status ? phone_bill.phone_bill_state_name : order_data.status_name }}
+
+
+ 买家留言:
+ {{ order_data.note }}
+
+
+ 租金总金额:
+ {{language['money']}}{{ order_data.order_goods_price }}
+
+
+
+
+ 入住日期:
+ {{ hotel_start }}
+
+
+ 离店日期:
+ {{ hotel_end }}
+
+
+ 天数:
+ {{ night_day }}天
+
+
+ 房间数量:
+ {{ order_data.goods_total }}间
+
+
+
+
+
+ 下单时间:
+ {{ order_data.cashier_order.created_at }}
+
+
+ 姓名:
+ {{ order_data.cashier_order.realname }}
+
+
+ 电话:
+ {{ order_data.cashier_order.mobile }}
+
+
+
+
+
+ 支付方式:
+ {{order_data.pay_type_name }}
+
+
+
+
+
+ {{ info.name }}:
+ {{language['money']}}{{ info.amount }}
+
+
+
+
+ {{ item.name }}:
+ {{language['money']}}{{ item.amount }}
+
+
+
+
+ {{ item.name }}:
+ {{language['money']}}{{ item.amount }}
+
+
+
+
+
+ {{order_data.dispatch_type_id=="11" ? '配送费' : '运费'}}:
+ {{language['money']}}{{ order_data.dispatch_price }}
+
+
+
+ 商品小计:
+
+ {{language['money']}}{{ order_data.order_goods_price }}
+
+
+ {{language['money']}}{{ order_data.order_goods_price }}
+
+
+
+ 押金:
+ {{language['money']}}{{ order_data.lease_toy.deposit_total }}
+
+
+ 实付款:
+
+ 合计:(押金{{language['money']}}{{ order_data.lease_toy.deposit_total }}可退):
+
+
+ {{language['money']}} {{ order_data.price }}
+
+
+
+
+
+ 创建时间:
+ {{order_data.create_time }}
+
+
+ 付款时间:
+ {{ order_data.pay_time }}
+
+
+
+ 提交时间:
+ {{ phone_bill.has_one_pre_order.created_at }}
+
+
+
+
+ 发货时间:
+ {{ order_data.send_time }}
+
+
+ 成交时间:
+ {{ order_data.finish_time }}
+
+
+
+ 状态通知时间:
+ {{ phone_bill.has_one_pre_order.has_one_call_back.created_at }}
+
+
+ 交易错误:
+ {{ phone_bill.has_one_pre_order.return_msg }}
+
+
+
+
+
+ 联系客服
+
+
+
+
+
+
+
+
+
+
+ 卡券信息
+
+
+
+ {{ item.name }}
+
+
+
+
+ {{ item.name }}
+
+
+
+
+ 更多
+
+
+
+
+ {{btn.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认发货
+
+ 收件人信息:
+
+
+ 收件人:{{addresseeInfo.realname}}
+ ({{addresseeInfo.mobile}})
+
+ 收货地址:{{addresseeInfo.address}}
+
+
+
+ 快递公司:
+
+ {{regional}}
+
+
+
+ 快递单号:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请核销员扫码核销
+
+
+
+
+
+
+
+
+ 是否确认易货兑换
+ 该商品可兑换易货值为{{ showBarter_value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 盲盒商品
+
+
+
+
+ {{item.order_sn}}
+ {{item.status_name}}
+
+
+
+
+
+
+ {{item1.title}}
+ {{item1.goods_option_title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/orderdetail/orderdetail.wxss b/packageA/member/orderdetail/orderdetail.wxss
new file mode 100644
index 0000000..9d2ceaf
--- /dev/null
+++ b/packageA/member/orderdetail/orderdetail.wxss
@@ -0,0 +1,888 @@
+/* pages/orderdetail/orderdetail.wxss */
+page {
+ background: #f5f5f5;
+}
+
+.noscroll {
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ position: fixed;
+ z-index: 0;
+}
+
+.popup-form {
+ height: 100%;
+ overflow-y: scroll;
+}
+
+.goodsinfo {
+ min-height: 110vh;
+}
+
+.goodsinfo .addr {
+ text-align: left;
+ background: #fff;
+ border-bottom: #ebebeb 2rpx solid;
+ display: flex;
+ padding: 24rpx;
+ margin: 20rpx;
+ border-radius: 10px;
+ position: relative;
+}
+
+.goodsinfo .addr icon {
+ font-size: 32rpx;
+ color: #333;
+ margin-right: 20rpx;
+ margin-top: 2rpx;
+ justify-content: center;
+ align-self: center;
+}
+
+.goodsinfo .addr .addr-info {
+ font-size: 28rpx;
+}
+
+.goodsinfo .addr .addr-info .li_1 {
+ font-size: 28rpx;
+}
+
+.goodsinfo .addr .addr-info .li_2 {
+ color: rgb(153, 153, 153);
+}
+
+.goodsinfo .addr .map-navigation {
+ position: absolute;
+ right: 32rpx;
+ top: 40rpx;
+}
+
+.goodsinfo .addr .map-navigation icon {
+ font-size: 60rpx;
+ color: #f14e4e;
+ margin: 0;
+}
+
+.goodsinfo .addr .copy-box{margin-top: 24rpx;display: flex;justify-content: space-around;width: 100%;}
+.goodsinfo .addr .copy-box >view{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width:192rpx;
+ height:64rpx;
+ border-radius: 32rpx;
+ line-height: 64rpx;
+}
+
+.goodsinfo .addr .copy-box .contact-recipient{background-color: #FF5F5F;color: #fff;}
+.goodsinfo .addr .copy-box .contact-recipient icon{margin-right:2px;color:#fff;}
+.goodsinfo .addr .copy-box .copy-address{background-color: #fff;color: #FF5F5F;border: 1px solid #FF5F5F;}
+.goodsinfo .addr .copy-box .copy-address icon{margin-right:2px;color:#FF5F5F;}
+
+.goodsinfo .goods-box {
+ background-color: #fff;
+ display: flex;
+ flex-direction: column;
+ margin: 20rpx;
+ border-radius: 10px;
+ padding-bottom: 20rpx;
+}
+
+.goodsinfo .goods {
+ background-color: #fff;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+ border-radius: 10px;
+}
+
+.goodsinfo .goods .img {
+ padding: 20rpx 32rpx;
+ width: 30vw;
+ position: relative;
+}
+
+.goodsinfo .goods .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.goodsinfo .goods .inner {
+ /* width: 69vw; */
+ padding: 20px 0 0 0;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -ms-flex-align: start;
+ align-items: flex-start;
+}
+
+.goodsinfo .goods .name {
+ text-align: left;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.goodsinfo .goods .diy-from {
+ position: absolute;
+ bottom: 30rpx;
+ left: 32rpx;
+ background: #ff2c29;
+ color: #fff;
+ border-radius: 0 20rpx 20rpx 0;
+ padding: 4rpx 12rpx;
+}
+
+.goodsinfo .goods .comment-box{
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ font-size: 12px;
+}
+
+.goodsinfo .goods .comment-box .view-comment-btn {
+ color: #565656;
+ border-radius: 15px;
+ padding: 0.25rem 0.625rem;
+ border: 0.0625rem solid #9f9c9c;
+}
+
+.goodsinfo .goods .comment-box .comment-btn {
+ color: #f15353;
+ margin-left: 0.625rem;
+ border-radius: 15px;
+ padding: 0.25rem 1.25rem;
+ border: 0.0625rem solid #f15353;
+}
+
+.wrap {
+ width: 100%;
+ padding-bottom: 20rpx;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+}
+
+.wrap .photo {
+ margin-top: 20rpx;
+ display: flex;
+ width: 25%;
+ justify-content: center;
+ align-items: center;
+}
+
+.wrap .photo image {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.img-title {
+ font-size: 26rpx;
+ padding-left: 24rpx;
+}
+
+.goodsinfo .goods .option {
+ color: #888;
+ font-size: 24rpx;
+ flex: 1;
+ display: flex;
+ line-height: 14px;
+}
+
+.goodsinfo .goods .num {
+ font-size: 14px;
+ color: #333;
+}
+
+.goodsinfo .goods .price {
+ align-items: center;
+ text-align: right;
+ padding: 0 20rpx;
+}
+
+.goodsinfo .goods .money {
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+.goodsinfo .goods .money:last-child {
+ margin-bottom: 0;
+}
+
+.goodsinfo .tbs {
+ font-size: 28rpx;
+
+ /* width: 100%; */
+ margin: 20rpx 20rpx 120rpx 20rpx;
+ background-color: #fff;
+ border-radius: 10px;
+}
+
+.goodsinfo .tbs .tbs-number-tra {
+ background-color: #fff;
+ width: 100%;
+ padding: 20rpx 28rpx;
+ margin-top: 20rpx;
+ box-sizing: border-box;
+ border-radius: 10px;
+}
+
+.goodsinfo .tbs .number,
+.goodsinfo .tbs .tra {
+ line-height: 56rpx;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+
+.goodsinfo .tbs .left {
+ -ms-flex: 2;
+ flex: 2;
+ text-align: left;
+}
+
+.goodsinfo .tbs .tbs-number-tra .li {
+ line-height: 60rpx;
+}
+
+.goodsinfo .tbs .discount {
+ margin-top: 20rpx;
+ padding-top: 20rpx;
+ background-color: #fff;
+}
+
+.goodsinfo .tbs .Discount {
+ width: 100%;
+ line-height: 60rpx;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ padding: 0 28rpx;
+ box-sizing: border-box;
+}
+
+.goodsinfo .tbs .info {
+ padding: 0 24rpx;
+ line-height: 56rpx;
+ border-top: solid 2rpx #e2e2e2;
+}
+
+.goodsinfo .tbs .info .time,
+.goodsinfo .tbs .info .name,
+.goodsinfo .tbs .info .member {
+ display: flex;
+ justify-content: space-between;
+}
+
+.goodsinfo .tbs .Pay-method {
+ background-color: #fff;
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ line-height: 72rpx;
+ padding: 0 28rpx;
+ border-top: solid 2rpx #ebebeb;
+ box-sizing: border-box;
+}
+
+.goodsinfo .tbs .Fre {
+ display: flex;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ background-color: #fff;
+ padding: 0 28rpx;
+ line-height: 60rpx;
+}
+
+.goodsinfo .tbs .Sub {
+ width: 100%;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ line-height: 60rpx;
+ padding: 0 28rpx 20rpx 28rpx;
+ background-color: #fff;
+ box-sizing: border-box;
+}
+
+.goodsinfo .tbs .order_times {
+ background: #fff;
+ margin-top: 0.875rem;
+ padding: 0.5rem 0;
+ border-radius: 10px;
+}
+
+.goodsinfo .tbs .order_times .Sub {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ line-height: 1.875rem;
+ height: 1.875rem;
+ padding: 0 0.875rem;
+ color: #333;
+}
+
+.goodsinfo .tbs .Real-pay {
+ background-color: #fff;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ line-height: 72rpx;
+ padding: 0 28rpx;
+ border-top: solid 2rpx #ebebeb;
+ font-size: 32rpx;
+}
+
+.goodsinfo .tbs .Real-pay .left {
+ color: #333;
+ text-align: right;
+}
+
+.goodsinfo .tbs .Real-pay .right {
+ color: #f15353;
+ font-size: 36rpx;
+
+ /* -ms-flex: 0; */
+}
+
+.goodsinfo .tbs .Real-pay .small {
+ font-size: 24rpx;
+}
+
+.goodsinfo .detail_pay {
+ min-height: 98rpx;
+ width: 100%;
+ background: #fff;
+ padding: 0 24rpx;
+ border-top: 2rpx solid #ebebeb;
+ position: fixed;
+ bottom: 0;
+ box-sizing: border-box;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: flex-end;
+}
+
+.goodsinfo .detail_pay .order_delete {
+ text-align: center;
+ min-width: 65px;
+ position: relative;
+ margin-left: 16rpx;
+ background: #fff;
+ padding: 8rpx 20rpx;
+ margin-top: 22rpx;
+ border-radius: 15px;
+ color: #333;
+ border: 2rpx solid #666;
+ z-index: 999;
+}
+
+.goodsinfo .detail_pay .red-button {
+ border: 0.0625rem solid #f14e4e;
+ background-color: #f14e4e;
+ color: #fff;
+}
+
+.goodsinfo .detail_pay .noClickBG {
+ border: 0.0625rem solid #e8e8e8;
+ background: #e8e8e8;
+ color: #999;
+}
+
+.goodsinfo .detail_pay .trans {
+ position: absolute;
+ right: 1.875rem;
+ bottom: 2.5rem;
+ width: 0;
+ height: 0;
+ border-width: 0.8rem 0.8rem 0;
+ border-style: solid;
+ border-color: #f5f5f5 transparent transparent;
+}
+
+.goodsinfo .detail_pay .more-button {
+ position: absolute;
+ border: solid 1px #e2e2e2;
+ width: 70px;
+ border-radius: 5px;
+ background: #fff;
+ right: 0.875rem;
+ bottom: 3.2rem;
+}
+
+.goodsinfo .detail_pay .more-button .p {
+ text-align: center;
+ padding: 0.3rem 0.1rem;
+ border-top: 1px solid #e2e2e2;
+}
+
+.sendgood {
+ font-size: 30rpx;
+}
+
+.sendgood .h4 {
+ line-height: 60rpx;
+ font-size: 30rpx;
+ text-align: center;
+ padding-top: 10rpx;
+}
+
+.sendgood .addmessage {
+ display: flex;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.sendgood .addmessage .title {
+ flex: 3;
+}
+
+.sendgood .addmessage .content {
+ flex: 7;
+}
+
+.sendgood .delivery {
+ padding-top: 12rpx;
+ display: flex;
+ align-items: center;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.sendgood .delivery .left {
+ flex: 3;
+}
+
+.sendgood .delivery .right {
+ flex: 7;
+ display: flex;
+ align-items: center;
+}
+
+.sendgood .delivery .right .button {
+ border: 1px solid #555;
+ color: #555;
+ text-align: center;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+ border-radius: 10rpx;
+}
+
+.sendgood .deliveryinp {
+ padding-top: 12rpx;
+ display: flex;
+ align-items: center;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.sendgood .deliveryinp .left {
+ flex: 3;
+}
+
+.sendgood .deliveryinp .right {
+ flex: 7;
+}
+
+.qrcodeClass {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 60rpx 0;
+}
+
+.qrcodeClass image {
+ width: 400rpx;
+ height: 400rpx;
+}
+
+.qrcodeClass text {
+ font-size: 36rpx;
+ font-weight: bold;
+ margin-top: 18rpx;
+}
+
+.barter_dialog {
+ height: auto;
+ text-align: center;
+}
+
+.barter_dialog .barter_dialog_1 {
+ padding: 0.875rem 0;
+ font-size: 1rem;
+ font-weight: bold;
+ color: #000;
+}
+
+.barter_dialog .barter_dialog_2 {
+ padding: 0.5rem 0;
+ font-size: 0.875rem;
+ color: #ee0a24;
+}
+
+.wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 448rpx;
+ height: 576rpx;
+ background-color: #ff504c;
+}
+
+.wrapper .block {
+ width: 448rpx;
+ height: 576rpx;
+ background-color: #ff504c;
+}
+
+.block image {
+ width: 448rpx;
+ height: 576rpx;
+}
+
+.fixed-box {
+ position: fixed;
+ left: 5px;
+ bottom: 192rpx;
+ width: 64rpx;
+ height: 80rpx;
+}
+
+.fixed-box image {
+ width: 2rem;
+ height: 2.5rem;
+}
+
+.fixed-box .r1 {
+ transform: rotate(-5deg);
+}
+
+.fixed-box .r2 {
+ transform: rotate(3deg);
+}
+
+.kefu {
+ padding: 0 0.875rem 0.625rem 0.875rem;
+ text-align: left;
+ display: flex;
+}
+
+.kefu .icon-kefu {
+ font-size: 20px;
+ color: rgb(241, 83, 83);
+ margin-right: 3px;
+}
+
+/* 客服 */
+.icon-close11 {
+ position: absolute;
+ right: 47.5%;
+ bottom: -80rpx;
+ font-size: 18px;
+ color: #fff;
+}
+
+.pop-content {
+ background-color: #fff;
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: center;
+ width: 100%;
+}
+
+.pop-content .pop-top .left {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ position: relative;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .line {
+ width: 1px;
+ height: 51rpx;
+ background-color: #999;
+ margin-top: 51rpx;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
+
+/* 盲盒弹窗样式 */
+.blindBoxInfo .close {
+ height: 128rpx;
+ display: flex;
+ align-items: flex-end;
+ justify-content: center;
+}
+
+.blindBoxInfo .close .icon-adsystem_icon_cancle {
+ font-size: 96rpx;
+ color: #fff;
+ width: 96rpx;
+ height: 96rpx;
+}
+
+.blindBoxInfo .multipleWrapper {
+ width: 604.992rpx;
+ height: 712rpx;
+ background: url(https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/blindToast.png);
+ background-size: 100% 100%;
+ text-align: center;
+}
+
+.blindBoxInfo .multipleWrapper .desc {
+ padding-top: 46.4rpx;
+ padding-bottom: 28.992rpx;
+ font-size: 30.016rpx;
+ color: #fff;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper {
+ margin: 0 auto;
+ padding: 0 3.2rpx;
+ width: 512.992rpx;
+ height: 563.2rpx;
+ border-radius: 20rpx;
+
+ /* overflow: scroll; */
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem {
+ width: 100%;
+ max-height: 90%;
+ margin-bottom: 19.2rpx;
+ background-color: #fff;
+ border-radius: 10.016rpx;
+ overflow-y: scroll;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodInfo {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 16.992rpx 15.008rpx;
+ font-size: 20rpx;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodInfo .c1 {
+ color: #666;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodInfo .c2 {
+ color: #f14e4e;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent {
+ display: flex;
+ padding-bottom: 16rpx;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent .goods_img {
+ height: 100rpx;
+ padding: 0 16rpx;
+ border-radius: 4rpx;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent .goods_img image {
+ width: 100rpx;
+ height: 100rpx;
+ border-radius: 4rpx;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent .content {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ height: 100rpx;
+ padding-right: 41.6rpx;
+ text-align: left;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent .content .name {
+ font-size: 24rpx;
+ color: #333;
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent .content .price {
+ font-size: 20rpx;
+ color: #666;
+}
+
+/* end */
+
+.deposit-tips {
+ font-size: 12px;
+ padding: 2px 8px;
+ margin-right: 5px;
+ border-radius: 5px;
+ background-color: rgba(255, 174, 190, 0.43);
+ color: #f15353;
+}
+
+.refundShow-box {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+
+.refundShow-box .popup-title {
+ height: 96rpx;
+ line-height: 96rpx;
+ font-size: 18px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.refundShow-box .popup-context {
+ flex: 1;
+ overflow: scroll;
+ padding: 0 28rpx 28rpx;
+ text-align: left;
+ text-indent: 26px;
+ font-size: 14px;
+}
+
+.give_integral_wrapper {
+ position: relative;
+ display: flex;
+ width: 62vw;
+ text-align: left;
+ align-self: flex-end;
+}
+
+.give_integral_wrapper .give_integral_text {
+ position: absolute;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 35rpx !important;
+ height: 35rpx !important;
+ font-size: 22rpx;
+ color: #fff;
+ background-color: #ec544a;
+ border-radius: 50%;
+}
+
+.give_integral_wrapper .give_integral_num {
+ display: inline-flex;
+ align-items: center;
+ height: 35rpx !important;
+ padding: 6rpx 16rpx 6rpx 42rpx;
+ box-sizing: border-box;
+ font-size: 22rpx;
+ color: #ec544a;
+ background-color: #fff5f4;
+ border-radius: 15%;
+}
+
+.custom_receipt_confirmation_html {
+ max-height: 640rpx;
+ padding-top: 25rpx;
+ overflow-y: scroll;
+}
+
+.inventory-apply-popup .content {
+ max-height: 480rpx;
+ overflow-y: scroll;
+}
+
+.inventory-apply-popup .inventory-apply-radio {
+ padding: 14px;
+}
+
+.vipPirce{
+ color: #FD7B0C;
+ display: inline;
+}
\ No newline at end of file
diff --git a/packageA/member/pick_up_card_order/pick_up_card_order.js b/packageA/member/pick_up_card_order/pick_up_card_order.js
new file mode 100644
index 0000000..fbc4a94
--- /dev/null
+++ b/packageA/member/pick_up_card_order/pick_up_card_order.js
@@ -0,0 +1,332 @@
+// pages/member/pick_up_card_order/pick_up_card_order.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ scrollTop: 0,
+ //当前的订单状态
+ selected: 0,
+ isLoadMore: true,
+ //shop 商城,cashier 收银台 store 门店
+ orderType: 'pickup_card',
+ detailUrl: 'orderdetail',
+ total_page: 0,
+ page: 1,
+ action: '',
+ //全部订单
+ orderList: [],
+ //待付款
+ waitPayList: [],
+ //待发货
+ waitSendList: [],
+ //全待收货
+ waitReceiveList: [],
+ //已完成
+ waitCompleteList: [],
+ stopRefresh: false,
+ //待付款-多订单合并付款的订单id数组
+ order_ids: [],
+ //是否开启合并支付
+ isMultiplePay: false,
+
+ menu_group:{},
+
+ plugin_name: "旅游激活卡",
+ apiArr: [
+ "plugin.picking-card.frontend.PickingOrder.index",
+ "plugin.picking-card.frontend.PickingOrder.waitSend",
+ "plugin.picking-card.frontend.PickingOrder.waitReceive",
+ "plugin.picking-card.frontend.PickingOrder.completed",
+ "plugin.picking-card.frontend.PickingOrder.refund"
+ ]
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.status) {
+ this.setData({
+ selected: options.status
+ });
+ }
+ if (options.plugin && options.plugin == "one") {
+ //#78882,提货卡一期独立的新插件picking-card-one
+ wx.setNavigationBarTitle({
+ title: '提货卡'
+ });
+ this.setData({
+ orderType: "picking-card-one"
+ });
+ this.data.apiArr = [
+ "plugin.picking-card-one.frontend.PickingOrder.index",
+ "plugin.picking-card-one.frontend.PickingOrder.waitSend",
+ "plugin.picking-card-one.frontend.PickingOrder.waitReceive",
+ "plugin.picking-card-one.frontend.PickingOrder.completed",
+ "plugin.picking-card-one.frontend.PickingOrder.refund"
+ ];
+ } else {
+ wx.setNavigationBarTitle({
+ title: '旅游激活卡订单'
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this._getOrderList(this.data.selected);
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+ if (this.data.stopRefresh) {
+ wx.stopPullDownRefresh();
+ } else {
+ this._initData();
+ this._getOrderList(this.data.selected);
+ }
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this._getMoreData(this.data.page, this.data.selected);
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _initData() {
+ this.setData({
+ isLoadMore: true
+ });
+ this.data.page = 1;
+ this.data.total_page = 0;
+ },
+ _getOrderList(index) {
+ this.data.action = this.data.apiArr[index];
+ this._getNetData(this.data.action, index);
+ },
+ //获取订单数据
+ _getNetData(api, index) {
+ let that = this;
+ let urlStr = app.getNetAddresss(api);
+ urlStr += "&page=" + 1;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ console.log(index, '测试');
+
+ if (res.result == 1) {
+ let myData = res.data;
+ that.setData({
+ menu_group:res.data.menu_group
+ });
+ that.data.total_page = myData.total;
+ if (index == 0) {
+ that.setData({
+ orderList: myData.data
+ });
+ } else if (index == 1) {
+ that.setData({
+ waitPayList: myData.data
+ });
+ } else if (index == 2) {
+ that.setData({
+ waitSendList: myData.data
+ });
+ } else if (index == 3) {
+ that.setData({
+ waitReceiveList: myData.data
+ });
+ } else if (index == 4) {
+ that.setData({
+ waitCompleteList: that.data.waitCompleteList.concat(myData.data)
+ });
+ } else {
+ that.setData({
+ waitRefund: myData.data
+ });
+ }
+ }
+ wx.stopPullDownRefresh();
+ },
+ fail: function(res) {
+ wx.stopPullDownRefresh();
+ console.log(res);
+ }
+ });
+
+
+ },
+ _getMoreData(page, index) {
+ let that = this;
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ let urlStr = app.getNetAddresss(this.data.action);
+ urlStr += "&page=" + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data;
+ if (index == 0) {
+ that.setData({
+ orderList: that.data.orderList.concat(myData.data)
+ });
+
+ } else if (index == 1) {
+ that.setData({
+ waitPayList: that.data.waitPayList.concat(myData.data)
+ });
+
+ } else if (index == 2) {
+ that.setData({
+ waitSendList: that.data.waitSendList.concat(myData.data)
+ });
+
+ } else if (index == 3) {
+ that.setData({
+ waitReceiveList: that.data.waitReceiveList.concat(myData.data)
+ });
+ } else if (index == 4) {
+ that.setData({
+ waitCompleteList: that.data.waitCompleteList.concat(myData.data)
+ });
+ } else {
+ that.setData({
+ waitRefund: that.waitRefund.concat(myData.data)
+ });
+ }
+ }
+
+ },
+ fail: function(res) {
+ console.log(res);
+
+ }
+ });
+ }
+ },
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ this.setData({
+ selected: index
+ });
+ this._initData();
+ this._getOrderList(this.data.selected);
+ },
+ onPageScroll(event) {
+ this.setData({
+ scrollTop: event.scrollTop
+ });
+ },
+ stopRefresh(e) {
+ let bol = e.detail;
+ this.setData({
+ stopRefresh: bol
+ });
+ },
+ gotoPickUpCardMy(){
+ wx.navigateTo({
+ url: '/packageE/pickUpCard/pickUpCardMy/pickUpCardMy'
+ });
+ },
+ //接收到合并多订单支付的通知方法
+ multiplePayAction(e) {
+ let order_ids = e.detail;
+ this.setData({
+ order_ids: order_ids
+ });
+ if (order_ids.length > 0) {
+ this.setData({
+ isMultiplePay: true
+ });
+ } else {
+ this.setData({
+ isMultiplePay: false
+ });
+ }
+ },
+ gotoPickUpCard(){
+ if(this.data.orderType == "picking-card-one") {
+ wx.navigateTo({
+ url: '/packageE/pickUpCard/pickUpCardIndex/pickUpCardIndex?plugin=one'
+ });
+ return;
+ }
+ wx.navigateTo({
+ url: '/packageE/pickUpCard/pickUpCardIndex/pickUpCardIndex'
+ });
+ },
+ //待付款状态下-多订单合并支付,order_ids-订单id数组
+ toMultiplePay() {
+ //type-1订单支付,type-2订单合并支付
+ wx.navigateTo({
+ url: '/packageD/buy/orderPay/orderPay?order_id=' + this.data.order_ids.join(',') + '&status=2'
+ });
+ },
+ //确认收货订单
+ cofirmOrderAction(e) {
+ let order = e.detail;
+ if (this.data.selected == 0) {
+ //全部订单列表
+ this._getOrderList(this.data.selected);
+ } else if (order == 'pay') {
+ this._getOrderList(this.data.selected);
+ } else {
+ let waitReceiveList = this.data.waitReceiveList;
+ for (let i = 0; i < waitReceiveList.length; i++) {
+ if (order == waitReceiveList[i].id) {
+ waitReceiveList.splice(i, 1);
+ }
+ }
+ this.setData({
+ waitReceiveList: waitReceiveList
+ });
+
+ }
+ },
+});
diff --git a/packageA/member/pick_up_card_order/pick_up_card_order.json b/packageA/member/pick_up_card_order/pick_up_card_order.json
new file mode 100644
index 0000000..0f06f19
--- /dev/null
+++ b/packageA/member/pick_up_card_order/pick_up_card_order.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "提货卡",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "cOrderList": "../../mycomponent/orderList/orderList"
+ },
+ "enablePullDownRefresh": true
+}
\ No newline at end of file
diff --git a/packageA/member/pick_up_card_order/pick_up_card_order.wxml b/packageA/member/pick_up_card_order/pick_up_card_order.wxml
new file mode 100644
index 0000000..564a42e
--- /dev/null
+++ b/packageA/member/pick_up_card_order/pick_up_card_order.wxml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 合并支付
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/member/pick_up_card_order/pick_up_card_order.wxss b/packageA/member/pick_up_card_order/pick_up_card_order.wxss
new file mode 100644
index 0000000..d52899e
--- /dev/null
+++ b/packageA/member/pick_up_card_order/pick_up_card_order.wxss
@@ -0,0 +1,24 @@
+/* packageA/member/pick_up_card_order/pick_up_card_order.wxss */
+
+.cursor {
+ position: fixed;
+ bottom: 8.2rem;
+ right: 2rem;
+ width: 3rem;
+ height: 3rem;
+ z-index: 999;
+ border-radius: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.cursor image {
+ width: 3rem;
+ height: 3rem;
+ border-radius: 50%;
+}
+
+.fixed-box_my {
+ bottom: 3.5rem;
+}
diff --git a/packageA/member/presentationDetails/presentationDetails.js b/packageA/member/presentationDetails/presentationDetails.js
new file mode 100644
index 0000000..7ff06db
--- /dev/null
+++ b/packageA/member/presentationDetails/presentationDetails.js
@@ -0,0 +1,132 @@
+// pages/member/presentationDetails/presentationDetails.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ record_id: '',
+ //打款金额
+ actual_amounts: 0,
+ //打款手续费
+ actual_poundage: 0,
+ //类型
+ type_name: '',
+ withdraw_sn: '',
+ created_at: '',
+ poundage_name:'',
+ actual_servicetax:0
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.record_id) {
+ this.setData({
+ record_id: options.record_id
+ });
+ }
+ this._getData();
+ this.customizeIncome();
+ },
+ //自定义提现收入语言
+ customizeIncome() {
+ try {
+ var value = wx.getStorageSync('mailLanguage');
+ if (value) {
+ let mailLanguage = JSON.parse(value);
+ // Do something with return value
+ this.setData({
+ poundage_name: mailLanguage.income.poundage_name
+ });
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //获取数据
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("finance.withdraw.withdraw-info");
+ urlStr += '&id=' + this.data.record_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var mydata = res.data;
+ that.setData({
+ actual_poundage: mydata.actual_poundage,
+ amounts: mydata.amounts,
+ type_name: mydata.type_name,
+ withdraw_sn: mydata.withdraw_sn,
+ created_at: mydata.created_at,
+ actual_amounts: mydata.actual_amounts,
+ actual_servicetax:mydata.actual_servicetax,
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageA/member/presentationDetails/presentationDetails.json b/packageA/member/presentationDetails/presentationDetails.json
new file mode 100644
index 0000000..8ee57fd
--- /dev/null
+++ b/packageA/member/presentationDetails/presentationDetails.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "提现详情",
+ "usingComponents": {}
+}
diff --git a/packageA/member/presentationDetails/presentationDetails.wxml b/packageA/member/presentationDetails/presentationDetails.wxml
new file mode 100644
index 0000000..c2b0668
--- /dev/null
+++ b/packageA/member/presentationDetails/presentationDetails.wxml
@@ -0,0 +1,49 @@
+
+
+
+
+ 提现编号
+ {{withdraw_sn}}
+
+
+
+ 提现类型
+
+
+ {{type_name}}
+
+
+
+ 提现金额
+ {{amounts}}{{language['元']}}
+
+
+ 提现时间
+ {{created_at}}
+
+
+ 提现{{(poundage_name?poundage_name:"手续费")}}
+ {{actual_poundage}}{{language['元']}}
+
+
+ 提现劳务税
+ {{actual_servicetax}}{{language['元']}}
+
+
+ 打款金额
+ {{actual_amounts}}{{language['元']}}
+
+
+
+
+
+ 计算金额: {{item.commission_amount}}{{language['元']}}
+
+ 结算方式: {{item.formula}}
+
+
+ 佣金: {{item.commission}}{{language['元']}}
+ 比例: {{item.commission_rate}}%
+
+
+
diff --git a/packageA/member/presentationDetails/presentationDetails.wxss b/packageA/member/presentationDetails/presentationDetails.wxss
new file mode 100644
index 0000000..30428e8
--- /dev/null
+++ b/packageA/member/presentationDetails/presentationDetails.wxss
@@ -0,0 +1,41 @@
+/* pages/member/presentationDetails/presentationDetails.wxss */
+.details .tbs {
+ background: #fff;
+ flex-flow: row wrap;
+ padding: 20rpx 28rpx;
+ line-height: 48rpx;
+ margin-bottom: 20rpx;
+ font-size: 24rpx;
+}
+
+.details .tbs .number {
+ display: flex;
+ justify-content: space-between;
+ line-height: 60rpx;
+}
+
+.details .tbs .number .span:first-child {
+ color: rgb(140, 140, 140);
+}
+
+.details .tbs .content {
+ display: flex;
+ align-items: center;
+}
+
+.details .tbs .left {
+ text-align: left;
+ flex: 65%;
+ color: #8c8c8c;
+ line-height: 60rpx;
+}
+
+.details .tbs .right {
+ text-align: right;
+ flex: 35%;
+ line-height: 60rpx;
+}
+
+.details .tbs .red {
+ color: red;
+}
diff --git a/packageA/member/presentationRecord/presentationRecord.js b/packageA/member/presentationRecord/presentationRecord.js
new file mode 100644
index 0000000..b98de4b
--- /dev/null
+++ b/packageA/member/presentationRecord/presentationRecord.js
@@ -0,0 +1,213 @@
+// pages/member/presentationRecord/presentationRecord.js
+var app = getApp();
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ enterpriseActiveName: '0',
+ status: '3',
+ first_list: [],
+ total: '',
+ current_page: '',
+ thismonth: '', // 月份
+ lastweek: '', // 周
+ yesterday: '', // 昨天
+ today: '', // 今天
+ page: 1,
+ total_page: '', // 总的页数
+ isMore: true
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getData(this.data.status);
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+ console.log('下拉刷新');
+ this.getData(this.data.status);
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isMore) {
+ this.getMoreData(this.data.status);
+ } else {
+ wx.showToast({
+ title: '没有更多了',
+ icon: 'none'
+ });
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getData(status) {
+ console.log(status, '6546566445646564');
+
+ let json = {
+ status: status,
+ withdrawal_type: this.options.type,
+ page: this.data.page
+ };
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-list');
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (res) => {
+ // var data = res.data;
+ if (res.result == 1) {
+ this.setData({
+ total: res.data.total,
+ current_page: res.data.current_page,
+ today: res.data.today,
+ yesterday: res.data.yesterday,
+ lastweek: res.data.lastweek,
+ thismonth: res.data.thismonth,
+ total_page: res.data.last_page
+ });
+ let arr = res.data.data;
+ for (var i = 0; i < arr.length; i++) {
+ if (arr[i].status == 0) {
+ arr[i].status = '未结算';
+ }
+ if (arr[i].status == 1) {
+ arr[i].status = '已结算';
+ }
+ if (arr[i].status == -1) {
+ arr[i].status = '已失效';
+ }
+ }
+ this.setData({
+ first_list: arr
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 加载更多
+ getMoreData(status) {
+ let page = this.data.page;
+ console.log(page, this.data.total_page, '11111');
+
+ if (page >= this.data.total_page) {
+ this.setData({
+ isMore: false
+ });
+ } else {
+ page++;
+ this.setData({
+ page});
+ let json = {
+ status: status,
+ withdrawal_type: this.options.type,
+ page: page
+ };
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-list');
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (res) => {
+ // var res = res.data;
+ if (res.result == 1) {
+ this.setData({
+ total: res.data.total,
+ current_page: res.data.current_page
+ });
+
+ let arr = this.data.first_list.concat(res.data.data);
+ for (var i = 0; i < arr.length; i++) {
+ if (arr[i].status == 0) {
+ arr[i].status = '未结算';
+ }
+ if (arr[i].status == 1) {
+ arr[i].status = '已结算';
+ }
+ if (arr[i].status == -1) {
+ arr[i].status = '已失效';
+ }
+ }
+ this.setData({
+ first_list: arr
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ handleClick(e) {
+ console.log(e.detail, '2121154541');
+ if (e.detail.index == '2') {
+ this.setData({
+ status: '0'
+ });
+ }
+ if (e.detail.index == '1') {
+ this.setData({
+ status: '1'
+ });
+ }
+ if (e.detail.index == '0') {
+ this.setData({
+ status: '3'
+ });
+ }
+ if (e.detail.index == '3') {
+ this.setData({
+ status: '-1'
+ });
+ }
+
+ this.getData(this.data.status);
+ }
+});
diff --git a/packageA/member/presentationRecord/presentationRecord.json b/packageA/member/presentationRecord/presentationRecord.json
new file mode 100644
index 0000000..f7ebe81
--- /dev/null
+++ b/packageA/member/presentationRecord/presentationRecord.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "我的提成",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/presentationRecord/presentationRecord.wxml b/packageA/member/presentationRecord/presentationRecord.wxml
new file mode 100644
index 0000000..14b5bf4
--- /dev/null
+++ b/packageA/member/presentationRecord/presentationRecord.wxml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+ {{today}}
+ 今日
+
+
+
+
+
+ {{yesterday}}
+ 昨日
+
+
+
+
+
+ {{lastweek}}
+ 本周
+
+
+
+
+
+ {{thismonth}}
+ 本月累计提成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.created_at}}
+
+
+ 提成+{{item.amount}}
+ {{item.status}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.created_at}}
+
+
+ 提成+{{item.amount}}
+ {{item.status}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.created_at}}
+
+
+ 提成+{{item.amount}}
+ {{item.status}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.created_at}}
+
+
+ 提成+{{item.amount}}
+ {{item.status}}
+
+
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
diff --git a/packageA/member/presentationRecord/presentationRecord.wxss b/packageA/member/presentationRecord/presentationRecord.wxss
new file mode 100644
index 0000000..b05435f
--- /dev/null
+++ b/packageA/member/presentationRecord/presentationRecord.wxss
@@ -0,0 +1,201 @@
+.enterprise .today_bonus {
+ width: 100%;
+ height: 164rpx;
+ background: #fff;
+ padding: 32rpx 0;
+ box-sizing: border-box;
+ position: relative;
+ border-bottom: 2rpx solid #e2e2e2;
+}
+
+.enterprise .today_bonus .li.line {
+ position: absolute;
+ width: 2rpx;
+ height: 104rpx;
+ background: #ddd;
+ top: 32rpx;
+ right: 34%;
+}
+
+.enterprise .today_bonus .li.line .careat {
+ width: 12rpx;
+ height: 12rpx;
+ border: 2rpx solid #ddd;
+ border-left: 0;
+ border-bottom: 0;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg);
+ background: #fff;
+ position: absolute;
+ top: 46rpx;
+ right: -6rpx;
+}
+
+.enterprise .today_bonus .li {
+ text-align: center;
+ float: left;
+}
+
+.enterprise .today_bonus .li .span {
+ font-size: 17px;
+ line-height: 52rpx;
+ margin-bottom: 20rpx;
+ display: inline-block;
+}
+
+.enterprise .today_bonus .li .b {
+ font-size: 11px;
+ color: #333;
+}
+
+.enterprise .today_bonus .data {
+ width: 22%;
+}
+
+.enterprise .today_bonus .data .span {
+ color: #ffa800;
+}
+
+.enterprise .today_bonus .li:first-child,
+.enterprise .today_bonus .li:nth-child(2) {
+ border-right: 2rpx solid #e2e2e2;
+}
+
+.enterprise .today_bonus .li.mounth {
+ width: 33%;
+}
+
+.enterprise .today_bonus .li.mounth .span {
+ color: #fc6a70;
+}
+
+.enterprise .share_holder .li {
+ line-height: 48rpx;
+}
+
+.enterprise .code {
+ margin-bottom: 20rpx;
+ height: 88rpx;
+ background: #fff;
+ padding: 0 30rpx;
+ font-size: 15px;
+ line-height: 88rpx;
+ color: #333;
+ text-align: left;
+ box-sizing: border-box;
+}
+
+.enterprise .code .span.rt {
+ color: #8c8c8c;
+ font-size: 14px;
+}
+
+.enterprise .code icon {
+ float: right;
+ line-height: 88rpx;
+ display: inline-block;
+ font-size: 48rpx;
+ margin-left: 12rpx;
+ color: #c9c9c9;
+ text-align: center;
+ background-size: 40rpx;
+}
+
+.enterprise .content .rationList {
+ padding: 0rpx;
+ margin: 0rpx;
+}
+
+.enterprise .content .rationList .li {
+ background: #fff;
+}
+
+.enterprise .content .rationList .li .span.month {
+ display: block;
+ text-align: left;
+ line-height: 72rpx;
+ padding: 0 24rpx;
+ font-size: 16px;
+ background: #f0f0f0;
+}
+
+.enterprise .content .rationList .li .info {
+ border-bottom: 2rpx solid #e2e2e2;
+ overflow: hidden;
+ padding: 20rpx 24rpx;
+ font-size: 14px;
+}
+
+.enterprise .content .rationList .li .info .left {
+ width: 70%;
+ float: left;
+ text-align: left;
+ box-sizing: border-box;
+}
+
+.enterprise .content .rationList .li .info .left .li {
+ line-height: 48rpx;
+}
+
+.enterprise .content .rationList .li .info .left .time {
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.enterprise .content .rationList .li .info .left .span {
+ font-size: 14px;
+ font-weight: 400;
+ color: #333;
+}
+
+.enterprise .content .rationList .li .info .left .p {
+ font-size: 12px;
+ color: #999;
+}
+
+.enterprise .content .rationList .li .info .left .span.created {
+ font-size: 12px;
+}
+
+.enterprise .content .rationList .li .info .left .h4 {
+ font-weight: normal;
+}
+
+.enterprise .content .rationList .li .info .left .h4 .b {
+ font-weight: normal;
+ color: #f15353;
+}
+
+.enterprise .content .rationList .li .info .right {
+ float: left;
+ width: 30%;
+ color: #f15353;
+ text-align: right;
+}
+
+.enterprise .content .rationList .li .info .right .li {
+ line-height: 48rpx;
+}
+
+.enterprise .content .rationList .li .info .right .state {
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.enterprise .content .rationList .li .info .right .p {
+ margin: 0;
+ padding: 0;
+ font-size: 12px;
+ color: #888;
+}
+
+.enterprise .content .rationList .li .info .right .b {
+ font-weight: normal;
+}
+
+.enterprise .content .rationList .li .info .right .b.created {
+ line-height: 70rpx;
+}
diff --git a/packageA/member/presentationRecordSuppier/presentationRecordSuppier.js b/packageA/member/presentationRecordSuppier/presentationRecordSuppier.js
new file mode 100644
index 0000000..6cf5f00
--- /dev/null
+++ b/packageA/member/presentationRecordSuppier/presentationRecordSuppier.js
@@ -0,0 +1,367 @@
+// pages/member/presentationRecord/presentationRecord.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ orderType: '',
+ member_id: '',
+ api: '',
+ selected: 0,
+ // 代打款
+ waitPay: [],
+ // 打款
+ pay: [],
+ // 待审核
+ review: [],
+ // 无效数据
+ invalid: [],
+ // 全部数据
+ all: [],
+ // loadMore
+ loading: false,
+ allLoaded: false,
+ goload: false,
+ // more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.supplier) {
+ this.setData({
+ orderType: options.supplier
+ });
+ if (options.member_id) {
+ this.setData({
+ member_id: options.member_id
+ });
+ }
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this._initData();
+ if (this.data.orderType == 'supplier') {
+ this._getSupplierNetData();
+ } else {
+ this._getNetData(this.data.selected);
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.orderType != 'supplier') {
+ if (this.data.isLoadMore) {
+ this.getMoreData(this.data.selected);
+ } else {
+ console.log('没有更多数据');
+ }
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ _initData() {
+ this.setData({
+ page: 1,
+ goload: true,
+ total_page: 0,
+ loading: true,
+ allLoaded: false,
+ isLoadMore: true
+ });
+ },
+ // 供应商
+ _getSupplierNetData() {
+ if (this.data.selected == 0) {
+ // 全部
+ this.setData({
+ api: 'plugin.supplier.frontend.withdraw-log.index'
+ });
+ } else if (this.data.selected == 1) {
+ // 待审核
+ this.setData({
+ api: 'plugin.supplier.frontend.withdraw-log.applying'
+ });
+ } else if (this.data.selected == 2) {
+ // 待打款
+ this.setData({
+ api: 'plugin.supplier.frontend.withdraw-log.pending'
+ });
+ } else if (this.data.selected == 3) {
+ // 打款
+ this.setData({
+ api: 'plugin.supplier.frontend.withdraw-log.already'
+ });
+ } else if (this.data.selected == 4) {
+ // 无效
+ this.setData({
+ api: 'plugin.supplier.frontend.withdraw-log.reject'
+ });
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.api);
+ urlStr += '&member_id=' + that.data.member_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var mydata = res.data;
+ that.setData({
+ total_page: mydata.total,
+ allLoaded: false
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ if (that.data.selected == 0) {
+ // 全部
+ that.setData({
+ all: mydata.data
+ });
+ } else if (that.data.selected == 1) {
+ // 待审核
+ that.setData({
+ review: mydata.data
+ });
+ } else if (that.data.selected == 2) {
+ // 待打款
+ that.setData({
+ waitPay: mydata.data
+ });
+ } else if (that.data.selected == 3) {
+ // 打款
+ that.setData({
+ pay: mydata.data
+ });
+ } else if (that.data.selected == 4) {
+ // 无效
+ that.setData({
+ invalid: mydata.data
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 发起http请求
+ _getNetData(type) {
+ let status = '';
+ if (type == 0) {
+ status = '';
+ } else if (type == 1) {
+ status = '0';
+ } else if (type == 2) {
+ status = '1';
+ } else if (type == 3) {
+ status = '2';
+ } else if (type == 4) {
+ status = '-1';
+ }
+ var that = this;
+ that.setData({
+ isLoadMore: false,
+ page: 1
+ });
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-log');
+ urlStr += '&status=' + status;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ allLoaded: false,
+ isLoadMore: true,
+ total_page: res.data.last_page
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ var mydata = res.data.data;
+ if (that.data.selected == 0) {
+ // 全部
+ that.setData({
+ all: mydata
+ });
+ } else if (that.data.selected == 1) {
+ // 待审核
+ that.setData({
+ review: mydata
+ });
+ } else if (that.data.selected == 2) {
+ // 待打款
+ that.setData({
+ waitPay: mydata
+ });
+ } else if (that.data.selected == 3) {
+ // 打款
+ that.setData({
+ pay: mydata
+ });
+ } else if (that.data.selected == 4) {
+ // 无效
+ that.setData({
+ invalid: mydata
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ this.setData({
+ selected: index
+ });
+ if (this.data.orderType === 'supplier') {
+ this._getSupplierNetData();
+ } else {
+ this._getNetData(this.data.selected);
+ }
+ },
+ gopresentationDetails(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/member/presentationDetails/presentationDetails?record_id=' + id
+ });
+ },
+ // 获取更多数据
+ getMoreData(type) {
+ let status = '';
+ if (type == 0) {
+ status = '';
+ } else if (type == 1) {
+ status = '0';
+ } else if (type == 2) {
+ status = '1';
+ } else if (type == 3) {
+ status = '2';
+ } else if (type == 4) {
+ status = '-1';
+ }
+ const that = this;
+ that.setData({
+ isLoadMore: false // 防止多次请求分页数据
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: this.data.page + 1
+ });
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-log');
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: status,
+ page: that.data.page
+ },
+ success: function (resdata) {
+ that.setData({
+ isLoadMore: true
+ });
+ var res = resdata.data;
+ if (res.result == 1) {
+ var mydata = res.data.data;
+ if (that.data.selected == 0) {
+ // 全部
+ that.setData({
+ all: that.data.all.concat(mydata)
+ });
+ } else if (that.data.selected == 1) {
+ // 待审核
+ that.setData({
+ review: that.data.review.concat(mydata)
+ });
+ } else if (that.data.selected == 2) {
+ // 待打款
+ that.setData({
+ waitPay: that.data.waitPay.concat(mydata)
+ });
+ } else if (that.data.selected == 3) {
+ // 打款
+ that.setData({
+ pay: that.data.pay.concat(mydata)
+ });
+ } else if (that.data.selected == 4) {
+ // 无效
+ that.setData({
+ invalid: that.data.invalid.concat(mydata)
+ });
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ }
+});
diff --git a/packageA/member/presentationRecordSuppier/presentationRecordSuppier.json b/packageA/member/presentationRecordSuppier/presentationRecordSuppier.json
new file mode 100644
index 0000000..bbfaf74
--- /dev/null
+++ b/packageA/member/presentationRecordSuppier/presentationRecordSuppier.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "我的提现",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/presentationRecordSuppier/presentationRecordSuppier.wxml b/packageA/member/presentationRecordSuppier/presentationRecordSuppier.wxml
new file mode 100644
index 0000000..72c1cf1
--- /dev/null
+++ b/packageA/member/presentationRecordSuppier/presentationRecordSuppier.wxml
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ {{language['money']}}{{model.apply_money}}
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{model.type_name}}
+ {{language['money']}}{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ {{language['money']}}{{model.apply_money}}
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{model.type_name}}
+ {{language['money']}}{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ {{language['money']}}{{model.apply_money}}
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{model.type_name}}
+ {{language['money']}}{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ {{language['money']}}{{model.apply_money}}
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{model.type_name}}
+ {{language['money']}}{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ {{language['money']}}{{model.apply_money}}
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{model.type_name}}
+ {{language['money']}}{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
diff --git a/packageA/member/presentationRecordSuppier/presentationRecordSuppier.wxss b/packageA/member/presentationRecordSuppier/presentationRecordSuppier.wxss
new file mode 100644
index 0000000..0ca032b
--- /dev/null
+++ b/packageA/member/presentationRecordSuppier/presentationRecordSuppier.wxss
@@ -0,0 +1,41 @@
+/* pages/member/presentationRecord/presentationRecord.wxss */
+.detailed .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 28rpx;
+ border-bottom: 2rpx solid #ebebeb;
+ font-size: 28rpx;
+}
+
+.detailed .tbs .item2 {
+ flex: 3;
+ text-align: left;
+}
+
+.detailed .tbs .item2 .li {
+ line-height: 60rpx;
+}
+
+.detailed .tbs .item3 {
+ flex: 2;
+ text-align: right;
+}
+
+.detailed .tbs .item3 .red {
+ color: red;
+}
+
+.detailed .tbs .item3 .p {
+ line-height: 60rpx;
+ color: #8c8c8c;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
diff --git a/packageA/member/presentationRecord_v2/presentationRecord_v2.js b/packageA/member/presentationRecord_v2/presentationRecord_v2.js
new file mode 100644
index 0000000..fe297f7
--- /dev/null
+++ b/packageA/member/presentationRecord_v2/presentationRecord_v2.js
@@ -0,0 +1,730 @@
+// packageA/member/presentationRecord_v2/presentationRecord_v2.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ selected: 0,
+ //代打款
+ waitPay: [],
+ //打款
+ pay: [],
+ //待审核
+ review: [],
+ //无效数据
+ invalid: [],
+ //全部数据
+ all: [],
+ // loadMore
+ loading: false,
+ allLoaded: false,
+ goload: false,
+ orderType: "",
+ ratioDatas: [],
+ api: "",
+ withdrawal_type: "",
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ name_of_withdrawal: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.type) {
+ this.data.withdrawal_type = options.type;
+ }
+ if (options.orderType) {
+ this.setData({
+ orderType: options.orderType
+ });
+ }
+ this.customizeIncome();
+ if (this.data.orderType == 'supplier') {
+ if (options.member_id) {
+ this.setData({
+ member_id: options.member_id
+ });
+ }
+ wx.setNavigationBarTitle({
+ title: '我的' + this.data.name_of_withdrawal
+ });
+ this.getSupplierNetData();
+ } else if (this.data.orderType === "extension") {
+ this.data.api = "finance.withdraw.withdraw-log";
+ let index = options.selectIndex || 0 ;
+ this.setData({
+ selected: index
+ });
+ this.getData(index);
+ } else if(this.data.orderType === "storeBalance"){
+ // 门店独立余额
+ this.data.api = "plugin.store-cashier.frontend.store.balance.award.store";
+
+ this.getBalanceData(this.selected);
+ } else {
+ this.setData({
+ orderType: "store"
+ });
+ this.data.status = '3';
+ this.getNetData(this.data.status);
+ }
+ if (this.data.orderType == 'store') {
+ wx.setNavigationBarTitle({
+ title: '我的提成'
+ });
+ } else {
+ wx.setNavigationBarTitle({
+ title: '我的' + this.data.name_of_withdrawal
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+ getBalanceData(ind){
+ let urlStr = app.getNetAddresss(this.data.api);
+ app._getNetWork({
+ url: urlStr,
+ data:{
+ status:ind
+ },
+ success: (resdata)=>{
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ wx.setNavigationBarTitle({
+ title: '我的提成',
+ });
+ let mydata = res.data.list.data;
+ let ratioDatas = [];
+ //组装数据
+ let itemDay = {};
+ itemDay.money = res.data.statistic.today;
+ itemDay.data = "今日";
+ itemDay.name = "data";
+ ratioDatas.push(itemDay);
+
+ let itemYesterday = {};
+ itemYesterday.money = res.data.statistic.yesterday;
+ itemYesterday.data = "昨日";
+ itemYesterday.name = "data";
+ ratioDatas.push(itemYesterday);
+
+ let itemWeek = {};
+ itemWeek.money = res.data.statistic.week;
+ itemWeek.data = "本周";
+ itemWeek.name = "data";
+ ratioDatas.push(itemWeek);
+
+ let itemMonth = {};
+ itemMonth.money = res.data.statistic.month;
+ itemMonth.data = "本月累计提成";
+ itemMonth.name = "mounth";
+ ratioDatas.push(itemMonth);
+ this.setData({
+ ratioDatas: ratioDatas,
+ allBalance: mydata,
+ last_page:res.data.list.last_page,
+ });
+ console.log(this.data.ratioDatas);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getMoreBalanceData(){
+ this.setData({
+ page : this.data.page + 1
+ });
+ let urlStr = app.getNetAddresss(this.data.api);
+ app._getNetWork({
+ url: urlStr,
+ data:{
+ status:this.data.ind,
+ page:this.data.page
+ },
+ success: (resdata)=>{
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ let mydata = res.data.list.data;
+ this.data.allBalance = this.data.allBalance.concat(mydata);
+ this.setData({
+ allBalance: this.data.allBalance,
+ last_page:res.data.list.last_page,
+ });
+ console.log(this.data.allBalance);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ console.log(res);
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ console.log("加载更多");
+ if (this.data.orderType === "supplier") {
+ this.getMoreData1(this.data.page, this.data.selected);
+ } else if (this.data.orderType === "extension") {
+ this.getMoreData2(this.data.selected);
+ } else if(this.data.orderType === "storeBalance"){
+ if(this.data.page >= this.data.last_page){
+ return;
+ }else{
+ wx.showLoading({
+ title: '加载中',
+ });
+ this.getMoreBalanceData();
+ }
+ }else if (this.data.orderType === "store") {
+ this.getMoreData3(this.data.status);
+ }
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ gopresentationDetails(e) {
+ let id = e.currentTarget.dataset.recordid;
+ wx.navigateTo({
+ url: '/packageA/member/presentationDetails/presentationDetails?record_id=' + id
+ });
+ },
+ //自定义提现收入语言
+ customizeIncome() {
+ try {
+ var value = wx.getStorageSync('mailLanguage');
+ if (value) {
+ let mailLanguage = JSON.parse(value);
+ // Do something with return value
+ this.setData({
+ name_of_withdrawal: mailLanguage.income.name_of_withdrawal
+ });
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ //供应商
+ getSupplierNetData() {
+ if (this.data.selected == 0) {
+ //全部
+ this.data.api = "plugin.supplier.frontend.withdraw-log.index";
+ } else if (this.data.selected == 1) {
+ //待审核
+ this.data.api = "plugin.supplier.frontend.withdraw-log.applying";
+ } else if (this.data.selected == 2) {
+ //待打款
+ this.data.api = "plugin.supplier.frontend.withdraw-log.pending";
+ } else if (this.data.selected == 3) {
+ //打款
+ this.data.api = "plugin.supplier.frontend.withdraw-log.already";
+ } else if (this.data.selected == 4) {
+ //无效
+ this.data.api = "plugin.supplier.frontend.withdraw-log.reject";
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.api);
+ urlStr += '&member_id=' + that.data.member_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var mydata = res.data;
+ that.setData({
+ total_page: mydata.total,
+ allLoaded: false
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ if (that.data.selected == 0) {
+ // 全部
+ that.setData({
+ all: mydata.data
+ });
+ } else if (that.data.selected == 1) {
+ // 待审核
+ that.setData({
+ review: mydata.data
+ });
+ } else if (that.data.selected == 2) {
+ // 待打款
+ that.setData({
+ waitPay: mydata.data
+ });
+ } else if (that.data.selected == 3) {
+ // 打款
+ that.setData({
+ pay: mydata.data
+ });
+ } else if (that.data.selected == 4) {
+ // 无效
+ that.setData({
+ invalid: mydata.data
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getData(type) {
+ let status = '';
+ if (type == 0) {
+ status = '';
+ } else if (type == 1) {
+ status = '0';
+ } else if (type == 2) {
+ status = '1';
+ } else if (type == 3) {
+ status = '2';
+ } else if (type == 4) {
+ status = '-1';
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-log');
+ that.data.isLoadMore = false;
+ that.data.page = 1;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: status
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.data.allLoaded = false;
+ that.data.isLoadMore = true;
+ that.data.total_page = res.data.last_page;
+ if (!that.data.total_page) {
+ that.data.total_page = 0;
+ }
+ let mydata = res.data.data;
+ if (that.data.selected == 0) {
+ //全部
+ that.setData({
+ all: mydata
+ });
+ } else if (that.data.selected == 1) {
+ //待审核
+ that.setData({
+ review: mydata
+ });
+ } else if (that.data.selected == 2) {
+ //待打款
+ that.setData({
+ waitPay: mydata
+ });
+ } else if (that.data.selected == 3) {
+ //打款
+ that.setData({
+ pay: mydata
+ });
+ } else if (that.data.selected == 4) {
+ //无效
+ that.setData({
+ invalid: mydata
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getNetData(status) {
+ const that = this;
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-list');
+ that.data.isLoadMore = false;
+ that.data.page = 1;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: status,
+ withdrawal_type: this.data.withdrawal_type
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.data.allLoaded = false;
+ that.data.isLoadMore = true;
+ that.data.total_page = res.data.last_page;
+ if (!that.data.total_page) {
+ that.data.total_page = 0;
+ }
+ let ratioDatas = [];
+ //组装数据
+ let itemDay = {};
+ itemDay.money = res.data.today;
+ itemDay.data = "今日";
+ itemDay.name = "data";
+ ratioDatas.push(itemDay);
+
+ let itemYesterday = {};
+ itemYesterday.money = res.data.yesterday;
+ itemYesterday.data = "昨日";
+ itemYesterday.name = "data";
+ ratioDatas.push(itemYesterday);
+
+ let itemWeek = {};
+ itemWeek.money = res.data.lastweek;
+ itemWeek.data = "本周";
+ itemWeek.name = "data";
+ ratioDatas.push(itemWeek);
+
+ let itemMonth = {};
+ itemMonth.money = res.data.thismonth;
+ itemMonth.data = "本月累计提成";
+ itemMonth.name = "mounth";
+ ratioDatas.push(itemMonth);
+ that.setData({
+ ratioDatas: ratioDatas
+ });
+ var mydata = res.data.data;
+ if (that.data.selected == 0) {
+ //全部
+ that.setData({
+ all: mydata
+ });
+ } else if (that.data.selected == 1) {
+ //待审核
+ that.setData({
+ review: mydata
+ });
+ } else if (that.data.selected == 2) {
+ //待打款
+ that.setData({
+ waitPay: mydata
+ });
+ } else if (that.data.selected == 3) {
+ //无效
+ that.setData({
+ invalid: mydata
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ this.setData({
+ selected: index
+ });
+ if (this.data.orderType === "supplier") {
+ this.getSupplierNetData();
+ } else if (this.data.orderType === "extension") {
+ this.getData(this.data.selected);
+ } else if (this.data.orderType == 'storeBalance'){
+ this.setData({
+ allBalance:[],
+ page:1,
+ ind:e.detail.name
+ });
+ this.getBalanceData(this.data.ind);
+ } else if (this.data.orderType === "store") {
+ if (e.detail.index == 0) {
+ this.data.status = '3';
+ } else if (e.detail.index == 1) {
+ this.data.status = '0';
+ } else if (e.detail.index == 2) {
+ this.data.status = '1';
+ } else if (e.detail.index == 3) {
+ this.data.status = '-1';
+ }
+ this.getNetData(this.data.status);
+ }
+ },
+ getMoreData1(page, index) {
+ var that = this;
+ if (this.data.page == this.data.total_page) {
+ return;
+ }
+ if (this.data.page >= this.data.total_page) {
+ that.data.loading = true;
+ that.data.allLoaded = true;
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.api);
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: that.data.page,
+ member_id: that.data.member_id
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data.data;
+ that.data.loading = false;
+ that.data.allLoaded = false;
+ if (index == 0) {
+ //全部
+ that.setData({
+ all: that.data.all.concat(myData) //数组拼接
+ });
+ } else if (index == 1) {
+ //待审核
+ that.setData({
+ review: that.data.review.concat(myData) //数组拼接
+ });
+ } else if (index == 2) {
+ //待打款
+ that.setData({
+ waitPay: that.data.waitPay.concat(myData)
+ });
+ } else if (index == 3) {
+ //打款
+ that.setData({
+ pay: that.data.pay.concat(myData)
+ });
+ } else if (index == 4) {
+ //无效
+ that.setData({
+ invalid: that.data.invalid.concat(myData)
+ });
+ }
+ } else {
+ that.data.page = that.data.page - 1;
+ that.data.loading = true;
+ that.data.allLoaded = true;
+ that.data.isLoadMore = false;
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ getMoreData2(type) {
+ let status = '';
+ if (type == 0) {
+ status = '';
+ } else if (type == 1) {
+ status = '0';
+ } else if (type == 2) {
+ status = '1';
+ } else if (type == 3) {
+ status = '2';
+ } else if (type == 4) {
+ status = '-1';
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-log');
+ that.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: status,
+ page: that.data.page
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ that.data.isLoadMore = true;
+ that.data.loading = false;
+ that.data.allLoaded = false;
+ if (res.result == 1) {
+ let mydata = res.data.data;
+ if (that.data.selected == 0) {
+ //全部
+ that.setData({
+ all: that.all.concat(mydata)
+ });
+ } else if (that.data.selected == 1) {
+ //待审核
+ that.setData({
+ review: that.review.concat(mydata)
+ });
+ } else if (that.data.selected == 2) {
+ //待打款
+ that.setData({
+ waitPay: that.waitPay.concat(mydata)
+ });
+ } else if (that.data.selected == 3) {
+ //打款
+ that.setData({
+ pay: that.pay.concat(mydata)
+ });
+ } else if (that.data.selected == 4) {
+ //无效
+ that.setData({
+ invalid: that.invalid.concat(mydata)
+ });
+ }
+ } else {
+ that.data.page = that.data.page - 1;
+ that.data.isLoadMore = false;
+ that.data.loading = true;
+ that.data.allLoaded = true;
+ that.data.isLoadMore = false;
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ getMoreData3(status) {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-log');
+ that.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: that.data.status,
+ withdrawal_type: that.data.withdrawal_type,
+ page: that.data.page
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ that.data.isLoadMore = true;
+ that.data.loading = false;
+ that.data.allLoaded = false;
+ if (res.result == 1) {
+ let mydata = res.data.data;
+ if (that.data.selected == 0) {
+ //全部
+ that.setData({
+ all: that.all.concat(mydata)
+ });
+ } else if (that.data.selected == 1) {
+ //待审核
+ that.setData({
+ review: that.review.concat(mydata)
+ });
+ } else if (that.data.selected == 2) {
+ //待打款
+ that.setData({
+ waitPay: that.waitPay.concat(mydata)
+ });
+ } else if (that.data.selected == 3) {
+ //无效
+ that.setData({
+ invalid: that.invalid.concat(mydata)
+ });
+ }
+ } else {
+ that.data.page = that.data.page - 1;
+ that.data.isLoadMore = false;
+ that.data.loading = true;
+ that.data.allLoaded = true;
+ that.data.isLoadMore = false;
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ }
+});
diff --git a/packageA/member/presentationRecord_v2/presentationRecord_v2.json b/packageA/member/presentationRecord_v2/presentationRecord_v2.json
new file mode 100644
index 0000000..fb1d037
--- /dev/null
+++ b/packageA/member/presentationRecord_v2/presentationRecord_v2.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index"
+ }
+}
diff --git a/packageA/member/presentationRecord_v2/presentationRecord_v2.wxml b/packageA/member/presentationRecord_v2/presentationRecord_v2.wxml
new file mode 100644
index 0000000..8954f1c
--- /dev/null
+++ b/packageA/member/presentationRecord_v2/presentationRecord_v2.wxml
@@ -0,0 +1,365 @@
+
+
+
+ {{item.money}}
+ {{item.data}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ {{language['money']}}{{model.apply_money}}
+
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+ {{model.type_name}}
+ {{language['money']}}{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ {{language['money']}}{{model.apply_money}}
+
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+ {{model.type_name}}
+ {{language['money']}}{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ {{language['money']}}{{model.apply_money}}
+
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+ {{model.type_name}}
+ {{language['money']}}{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ {{language['money']}}{{model.apply_money}}
+
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+ {{model.type_name}}
+ {{language['money']}}{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ {{language['money']}}{{model.apply_money}}
+
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+ {{model.type_name}}
+ {{language['money']}}{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 订单号:{{model.sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.status_name}}
+
+
+
+
+
+ 没有更多了
+
+
+
\ No newline at end of file
diff --git a/packageA/member/presentationRecord_v2/presentationRecord_v2.wxss b/packageA/member/presentationRecord_v2/presentationRecord_v2.wxss
new file mode 100644
index 0000000..8c48678
--- /dev/null
+++ b/packageA/member/presentationRecord_v2/presentationRecord_v2.wxss
@@ -0,0 +1,117 @@
+/* packageA/member/presentationRecord_v2/presentationRecord_v2.wxss */
+
+.today_bonus {
+ width: 100%;
+ height: 164rpx;
+ margin-top: 20rpx;
+ background: #fff;
+ padding: 32rpx 0;
+ box-sizing: border-box;
+ position: relative;
+ border-bottom: 2rpx solid #e2e2e2;
+}
+
+.today_bonus .li.line {
+ position: absolute;
+ width: 2rpx;
+ height: 104rpx;
+ background: #e2e2e2;
+ top: 32rpx;
+ right: 34%;
+}
+
+.today_bonus .li.line .careat {
+ width: 12rpx;
+ height: 12rpx;
+ border: 2rpx solid #ddd;
+ border-left: 0;
+ border-bottom: 0;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg);
+ background: #fff;
+ position: absolute;
+ top: 46rpx;
+ right: -6rpx;
+}
+
+.today_bonus .li {
+ text-align: center;
+ float: left;
+}
+
+.today_bonus .li .span {
+ font-size: 34rpx;
+ line-height: 52rpx;
+ display: inline-block;
+ margin-bottom: 20rpx;
+}
+
+.today_bonus .li .b {
+ font-size: 22rpx;
+ color: #333;
+}
+
+.today_bonus .li.data {
+ width: 22%;
+}
+
+.today_bonus .li.data .span {
+ color: #ffa800;
+}
+
+.today_bonus .li:first-child,
+.today_bonus .li:nth-child(2) {
+ border-right: 2rpx solid #e2e2e2;
+}
+
+.today_bonus .li.mounth {
+ width: 33%;
+}
+
+.today_bonus .li.mounth .span {
+ color: #fc6a70;
+}
+
+.detailed .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 28rpx;
+ border-bottom: 2rpx solid #ebebeb;
+ font-size: 28rpx;
+}
+
+.detailed .tbs .item2 {
+ flex: 3;
+ text-align: left;
+}
+
+.detailed .tbs .item2 .li {
+ line-height: 60rpx;
+}
+
+.detailed .tbs .item3 {
+ /* flex: 3; */
+ text-align: right;
+}
+
+.detailed .tbs .item3 .red {
+ color: red;
+}
+
+.detailed .tbs .item3 .p {
+ line-height: 60rpx;
+ color: #8c8c8c;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
diff --git a/packageA/member/rankingIndex/rankingIndex.js b/packageA/member/rankingIndex/rankingIndex.js
new file mode 100644
index 0000000..3a18946
--- /dev/null
+++ b/packageA/member/rankingIndex/rankingIndex.js
@@ -0,0 +1,125 @@
+// pages/member/rankingIndex/rankingIndex.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ //团队分红排行榜
+ isTeamDividendShow: false,
+ teamDividendTitle: "",
+ teamDividendRankingLevel: "0",
+ teamDividendRankingAction: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ goteamDiv() {
+ if (this.data.teamDividendRankingLevel == '1') {
+ wx.navigateTo({
+ url: '/packageB/member/ranking/rankingListFirst/rankingListFirst?action=' + this.data.teamDividendRankingAction +
+ '&title=' + this.data.teamDividendTitle
+ });
+ //rankingListFirst
+ } else {
+ wx.navigateTo({
+ url: '/packageB/member/ranking/rankingListSecond/rankingListSecond?action=' + this.data.teamDividendRankingAction +
+ '&title=' + this.data.teamDividendTitle
+ });
+ //rankingListSecond
+ }
+ },
+ //获取排行榜数据
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.ranking.api.ranking.get-ranking-set");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setTeamDividendInfo(res.data); //团队分红排行榜
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //团队分红排行榜
+ setTeamDividendInfo(data) {
+ if (data.team_dividend == null || data.team_dividend == undefined || data.team_dividend == '') {
+ this.setData({
+ isTeamDividendShow: false
+ });
+ return;
+ }
+ this.setData({
+ teamDividendRankingAction: data.team_dividend.ranking_level == "1" ? data.team_dividend.ranking_info_class : data
+ .team_dividend.ranking_list_class,
+ teamDividendRankingLevel: data.team_dividend.ranking_level,
+ isTeamDividendShow: data.team_dividend.is_ranking == "1" ? true : false,
+ teamDividendTitle: data.team_dividend.ranking_name
+ });
+ },
+});
diff --git a/packageA/member/rankingIndex/rankingIndex.json b/packageA/member/rankingIndex/rankingIndex.json
new file mode 100644
index 0000000..4b03224
--- /dev/null
+++ b/packageA/member/rankingIndex/rankingIndex.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "排行榜",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageA/member/rankingIndex/rankingIndex.wxml b/packageA/member/rankingIndex/rankingIndex.wxml
new file mode 100644
index 0000000..ced0edf
--- /dev/null
+++ b/packageA/member/rankingIndex/rankingIndex.wxml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+ 排行榜
+
+
+
+
+
+
+
+
+
+
+
+ {{teamDividendTitle}}
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/member/rankingIndex/rankingIndex.wxss b/packageA/member/rankingIndex/rankingIndex.wxss
new file mode 100644
index 0000000..4514cdb
--- /dev/null
+++ b/packageA/member/rankingIndex/rankingIndex.wxss
@@ -0,0 +1,46 @@
+/* pages/member/rankingIndex/rankingIndex.wxss */
+.income .banner image {
+ width: 100%;
+}
+
+.income .h4 {
+ background: #f5f5f5;
+ text-align: left;
+ font-weight: normal;
+ font-size: 24rpx;
+ height: 78rpx;
+ box-sizing: border-box;
+ line-height: 76rpx;
+ color: #333;
+ border-bottom: 2rpx solid #eee;
+ padding: 0 20rpx;
+}
+
+.income .groupContent {
+ display: flex;
+ padding-top: 34rpx;
+ padding-bottom: 34rpx;
+}
+
+.income .groupContent .left {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.income .groupContent .left .top {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.income .groupContent .left .bottom {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.income .groupContent .right {
+ flex: 1;
+}
diff --git a/packageA/member/rechargeCode/rechargeCode.js b/packageA/member/rechargeCode/rechargeCode.js
new file mode 100644
index 0000000..ec3a58b
--- /dev/null
+++ b/packageA/member/rechargeCode/rechargeCode.js
@@ -0,0 +1,214 @@
+// pages/member/rechargeCode/rechargeCode.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ code: "",
+ type_name: "",
+ price: "",
+ isShowType: false,
+ isDisabled: false,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.qrCode) {
+ this.setData({
+ qrCode: options.qrCode
+ });
+ }
+ if (options.scene) {
+ let scene = decodeURIComponent(options.scene);
+ console.log(scene);
+ if (scene) {
+ var info_arr = [];
+ info_arr = scene.split('&');
+ console.log(info_arr);
+
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split('=');
+ // 这是自提点
+ if (chil_arr[0] == 'k') {
+ this.setData({
+ code: chil_arr[1]
+ });
+ }
+ if(chil_arr[0] == 'mid'){
+ app._setMid(chil_arr[1]);
+ }
+ }
+ }
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ codecheck: function (e) {
+ let val = e.detail.value;
+ this.setData({
+ code: val.trim()
+ });
+ },
+ codeinp: function (e) {
+ let val = e.detail.value;
+ this.setData({
+ code: val.trim()
+ });
+ },
+ //验证
+ verifyCode() {
+ if (app._isTextEmpty(this.data.code)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写充值码',
+ duration: 1500
+ });
+ return;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.recharge-code.frontend.code.get-recharge-code");
+ urlStr += '&code_key=' + this.data.code;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isShowType: true,
+ type_name: res.data.recharge_code.type_name,
+ price: res.data.recharge_code.price
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //提交
+ submit() {
+ if (app._isTextEmpty(this.data.code)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写充值码',
+ duration: 1500
+ });
+ return;
+ }
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.recharge-code.frontend.code.recharge");
+ urlStr += '&code_key=' + this.data.code;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ that.setData({
+ 'isDisabled': true
+ });
+ if (res.result == 1) {
+ if (app._isTextEmpty(res.data.jump_url)) {
+ console.log('空的');
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ }, 1500); //延迟时间
+ },
+ });
+
+ } else {
+ console.log('不空的');
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateTo({
+ url: res.data.jump_url,
+ icon: 'none'
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ }
+
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageA/member/rechargeCode/rechargeCode.json b/packageA/member/rechargeCode/rechargeCode.json
new file mode 100644
index 0000000..71a1f6d
--- /dev/null
+++ b/packageA/member/rechargeCode/rechargeCode.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "充值码",
+ "usingComponents": {
+ "van-field": "../../../dist/field/index",
+ "van-button": "../../../dist/button/index"
+ }
+}
diff --git a/packageA/member/rechargeCode/rechargeCode.wxml b/packageA/member/rechargeCode/rechargeCode.wxml
new file mode 100644
index 0000000..872176b
--- /dev/null
+++ b/packageA/member/rechargeCode/rechargeCode.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+ 验证
+
+
+
+ 充值类型:{{type_name}}
+ 充值面值:{{price}}
+
+ 确定充值
+
+
+
diff --git a/packageA/member/rechargeCode/rechargeCode.wxss b/packageA/member/rechargeCode/rechargeCode.wxss
new file mode 100644
index 0000000..acc94f3
--- /dev/null
+++ b/packageA/member/rechargeCode/rechargeCode.wxss
@@ -0,0 +1,31 @@
+/* pages/member/rechargeCode/rechargeCode.wxss */
+page {
+ background: #fff;
+}
+
+.login .inpcontent {
+ display: flex;
+ margin-bottom: 20rpx;
+ align-items: center;
+}
+
+.login .inpcontent .right .button {
+ background-color: #04be02;
+ height: 60rpx;
+ line-height: 60rpx;
+ text-align: center;
+ width: 100rpx;
+ color: #fff;
+ border-radius: 10rpx;
+}
+
+.buttongroup {
+ padding-left: 30rpx;
+ padding-right: 30rpx;
+}
+
+.login .message {
+ line-height: 60rpx;
+ padding-left: 30rpx;
+ font-size: 28rpx;
+}
diff --git a/packageA/member/set_balance_password/set_balance_password.js b/packageA/member/set_balance_password/set_balance_password.js
new file mode 100644
index 0000000..c970f71
--- /dev/null
+++ b/packageA/member/set_balance_password/set_balance_password.js
@@ -0,0 +1,266 @@
+// pages/member/set_balance_password/set_balance_password.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ pwd: "",
+ rePwd: "",
+ pwdBol: true,
+ rePwdBol: true,
+ popupSpecs:false,
+ popupSpecs2:false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this._initVerify();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //绑定新密码的值
+ pwdinp(e) {
+ // let val = e.detail.value;
+ // this.setData({
+ // "pwd": val.trim()
+ // });
+ this.setData({
+ popupSpecs:true
+ });
+ },
+ popupSpecsClose(e){
+ this.setData({
+ popupSpecs:false
+ });
+ },
+ popupSpecsClose2(e){
+ this.setData({
+ popupSpecs2:false
+ });
+ },
+ onPassword(e){
+ this.setData({
+ pwd:e.detail
+ });
+ },
+ onPassword2(e){
+ this.setData({
+ rePwd:e.detail
+ });
+ },
+ //绑定新密码的值
+ rePwdinp(e) {
+ // let val = e.detail.value;
+ // this.setData({
+ // "rePwd": val.trim()
+ // });
+ this.setData({
+ popupSpecs2:true
+ });
+ },
+ //验证是否绑定手机号
+ _initVerify() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.balance-password.is-has-password");
+ urlStr += '&password=' + that.data.pwd;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (app._isTextEmpty(res.data.mobile)) {
+ wx.showModal({
+ title: '提示',
+ content: '设置密码必须先绑定手机号',
+ success(res) {
+ if (res.confirm) {
+ wx.navigateTo({
+ url: '../../member/editmobile/editmobile'
+ });
+ } else if (res.cancel) {
+ wx.navigateBack({
+ delta: 1
+ });
+ }
+ }
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ pwdshow() {
+ if (this.data.pwdBol) {
+ this.setData({
+ pwdBol: false
+ });
+ } else {
+ this.setData({
+ pwdBol: true
+ });
+ }
+ },
+ rePwdshow() {
+ if (this.data.rePwdBol) {
+ this.setData({
+ rePwdBol: false
+ });
+ } else {
+ this.setData({
+ rePwdBol: true
+ });
+ }
+ },
+ setPwd() {
+ let that = this;
+ if (app._isTextEmpty(this.data.pwd)) {
+ wx.showToast({
+ icon: 'none',
+ title: '支付密码不能为空',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.rePwd)) {
+ wx.showToast({
+ icon: 'none',
+ title: '确认密码不能为空',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (this.data.pwd != this.data.rePwd) {
+ wx.showToast({
+ icon: 'none',
+ title: '支付密码和确认密码必须相同',
+ duration: 1500
+ });
+ return;
+ }
+ let urlStr = app.getNetAddresss("member.balance-password.set-password");
+ urlStr += '&password=' + that.data.pwd;
+ urlStr += '&confirmed=' + that.data.rePwd;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ switch (res.data.code) {
+ case 1: //成功
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ break;
+ case 2: //失败
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ break;
+ case 3: //手机号未绑定
+ wx.showModal({
+ title: '提示',
+ content: res.msg,
+ success(res) {
+ if (res.confirm) {
+ wx.navigateTo({
+ url: '../../member/editmobile/editmobile'
+ });
+ } else if (res.cancel) {
+ wx.navigateBack({
+ delta: 1
+ });
+ }
+ }
+ });
+ break;
+ default:
+ break;
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageA/member/set_balance_password/set_balance_password.json b/packageA/member/set_balance_password/set_balance_password.json
new file mode 100644
index 0000000..02fee98
--- /dev/null
+++ b/packageA/member/set_balance_password/set_balance_password.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "设置支付密码",
+ "usingComponents": {
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-field": "../../../dist/field/index",
+ "van-icon": "../../../dist/icon/index",
+ "pay-keyboard":"/mycomponent/payKeyboard/payKeyboard"
+ }
+}
diff --git a/packageA/member/set_balance_password/set_balance_password.wxml b/packageA/member/set_balance_password/set_balance_password.wxml
new file mode 100644
index 0000000..0ba54bf
--- /dev/null
+++ b/packageA/member/set_balance_password/set_balance_password.wxml
@@ -0,0 +1,36 @@
+
+
+
+
+
+ 支付密码:
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认密码:
+
+
+
+
+
+
+
+
+
+
+
+ 确认修改
+
+
+
+
+
diff --git a/packageA/member/set_balance_password/set_balance_password.wxss b/packageA/member/set_balance_password/set_balance_password.wxss
new file mode 100644
index 0000000..d3d84d7
--- /dev/null
+++ b/packageA/member/set_balance_password/set_balance_password.wxss
@@ -0,0 +1,39 @@
+/* pages/member/set_balance_password/set_balance_password.wxss */
+page {
+ background: #fff;
+}
+
+.setpassinfo .buttonGropup {
+ padding-top: 20rpx;
+}
+
+.setpassinfo .buttonGropup .button {
+ width: 660rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ font-size: 32rpx;
+ border-radius: 20rpx;
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ text-align: center;
+ margin: 0 auto 40rpx;
+}
+
+.setpassinfo .pas {
+ height: 88rpx;
+ display: flex;
+ padding-left: 20rpx;
+ align-items: center;
+}
+
+.setpassinfo .pas .right {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ flex: 1;
+}
+
+.setpassinfo .pas .right .van-icon {
+ padding-top: 10rpx;
+}
diff --git a/packageA/member/sign/sign.js b/packageA/member/sign/sign.js
new file mode 100644
index 0000000..0e5c0a9
--- /dev/null
+++ b/packageA/member/sign/sign.js
@@ -0,0 +1,325 @@
+// pages/signi/signi.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ year: '',
+ month: '',
+ day: '',
+ weekArr: ['日', '一', '二', '三', '四', '五', '六'],
+ dateArr: [],
+ firstDay: '',
+ lastDay: '',
+ param: null,
+ clockNum: 3,
+ todayMonth: '', // 今月
+ todayYear: '', // 今年
+ todayDate: '', // 今天
+ sign_status: '', // 签到状态
+ sign_total: '', // 累计签到天数
+ continue_days: '', // 连续签到天数
+ cumulative: '', // 累计奖励
+ sign_log: [], // 签到天数
+ sign_name: '', // 签到名字
+ sharedata: {},
+ // 日期的初始数据
+ // year: '',
+ // month: '',
+ m: '',
+ w: '',
+ src: '',
+ signlog: '',
+ isshow: '', // 判断是否签到
+ obj: [], // 存值
+ tapnow:true
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ // this.getData()
+ this.getSign();
+ // 日历
+ // 初始化年份和月数
+ this.getData(1);
+ this.getnewDate();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ signnow(e) {
+ var that = this;
+ if(!that.data.tapnow){
+ console.log('点击限制!!!');
+ return;
+ }
+ if (this.data.sign_status) {
+ wx.showToast({
+ title: '今日已经' + this.data.sign_name,
+ icon: 'none'
+ });
+ } else {
+ that.setData({
+ tapnow : false
+ });
+ let urlStr = app.getNetAddresss('plugin.sign.Frontend.Modules.Sign.Controllers.sign.sign');
+ app._getNetWork({
+ url: urlStr,
+ success: function (res) {
+ if (res.data.result == 1) {
+ wx.showLoading({
+ title: '加载中',
+ mask: true
+ });
+ that.getSign();
+ that.getnewDate();
+ } else if (res.data.result == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: res.data.msg,
+ duration: 1500
+ });
+
+ setTimeout(function() {
+ that.setData({
+ tapnow : true
+ });
+ }, 1500); //延迟时间
+ }
+ }
+ });
+ }
+ },
+ initShare() {
+ let that = this;
+ let urlStr = app.getNetAddresss('member.member.wxJsSdkConfig');
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: _url,
+ success: function (resdata) {
+ var res = resdata;
+ if (res.result == 1) {
+ that.share(response.data);
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getSign() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.sign.Frontend.Modules.Sign.Controllers.sign-log.index');
+ app._getNetWork({
+ url: urlStr,
+ success: function (res) {
+ if (res.data.result == 1) {
+ wx.hideLoading();
+ wx.setStorage({
+ key: 'sign_log',
+ data: res.data.data.sign_log
+ });
+ that.setData({
+ sign_status: res.data.data.sign_status,
+ sign_total: res.data.data.sign_total,
+ continue_days: res.data.data.continue_days,
+ cumulative: res.data.data.cumulative,
+ sign_log: res.data.data.sign_log,
+ sign_name: res.data.data.sign_name
+ });
+ wx.setStorage({
+ key: 'cumulative',
+ data: res.data.data.cumulative
+ });
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none'
+ });
+ }
+ }
+ });
+ },
+ // 获取时间
+ // getData() {
+ // let that = this;
+ // let urlStr = app.getNetAddresss('plugin.sign.Frontend.Controllers.share.index');
+ // app._getNetWork({
+ // url: urlStr,
+ // success: function (res) {
+ // if (res.result == 1) {
+ // that.sharedata = res.data.share;
+ // that.initShare();
+ // }
+ // },
+ // fail: function (res) {
+ // console.log(res.msg);
+ // }
+ // });
+ // },
+ // 跳转到签到记录
+ gosignInfo() {
+ wx.navigateTo({
+ url: '/packageA/member/signrecord/signrecord'
+ });
+ },
+ // 右侧标题被点击时
+ onClickRight() {
+ wx.navigateTo({
+ url: '/packageA/member/signrules/signrules'
+ });
+ },
+ // 日历
+ getnewDate() {
+ var that = this;
+ let d = new Date(that.data.year, that.data.month, 0);
+ that.setData({
+ m: d.getDate()
+ });
+ // 吧天数放进数组对象中
+ let m = d.getDate();
+ let obj = [];
+ for (let i = 1; i <= m; i++) {
+ obj.push({
+ day: i
+ });
+ }
+ this.setData({
+ obj});
+ let data = {
+ month: that.data.month
+ };
+ that.getsigninfo(data);
+
+ // that.data.m = d.getDate()
+ let wx = new Date(that.data.year, that.data.month - 1, 1);
+ let w1 = wx.getDay();
+ // that.data.w = w1 * 14.27
+ that.setData({
+ w: w1 * 14.27
+ });
+ },
+ put() {
+ var that = this;
+ var month = that.data.month;
+ if (month <= 1) {
+ that.setData({
+ year: that.data.year - 1,
+ month: 12
+ });
+ } else {
+ var month1 = that.data.month;
+ that.setData({
+ month: month1 - 1
+ });
+ }
+ // that.getData(1)
+ // ==============================================
+ let data = {
+ month: that.data.month
+ };
+ that.getsigninfo(data);
+ that.getnewDate();
+ },
+ getsigninfo(data) {
+ // 请求签到日期的数组
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.sign.Frontend.Modules.Sign.Controllers.sign-log.index');
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: data,
+ success: function (res) {
+ that.setData({
+ signlog: res.data.data.sign_log
+ });
+ let obj = that.data.obj;
+
+ var nowyear = new Date().getFullYear();
+ let signArr = res.data.data.sign_log;
+ console.log(obj, signArr,'998855');
+ for (let j = 0; j < obj.length; j++) {
+ for (let o = 0; o < signArr.length; o++) {
+ if ((obj[j].day-1) == signArr[o] && that.data.year == nowyear) {
+ obj[j].bool = true;
+ }
+ }
+ }
+ that.setData({
+ obj});
+ }
+ });
+ },
+ add() {
+ var that = this;
+ let month = that.data.month;
+ if (that.data.month >= 12) {
+ let yea = that.data.year;
+ that.setData({
+ year: yea + 1,
+ month: 1
+ });
+ } else {
+ var mon = month;
+ that.setData({
+ month: mon + 1
+ });
+ }
+ that.getnewDate();
+ },
+ getData(num) {
+ var that = this;
+ let date = new Date();
+ let year = date.getFullYear();
+ that.setData({
+ year});
+ let month = date.getMonth() + num;
+ that.setData({
+ month});
+ let d = new Date(year, month, 0);
+ that.setData({
+ m: d.getDate()
+ });
+ let wx = new Date(year, month - 1, 1); // 获取当月第一天是星期几
+ let w1 = wx.getDay();
+ that.setData({
+ w: w1 * 14.27
+ });
+ }
+});
diff --git a/packageA/member/sign/sign.json b/packageA/member/sign/sign.json
new file mode 100644
index 0000000..a702030
--- /dev/null
+++ b/packageA/member/sign/sign.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index",
+ "van-nav-bar": "../../../dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/sign/sign.wxml b/packageA/member/sign/sign.wxml
new file mode 100644
index 0000000..fb8de7a
--- /dev/null
+++ b/packageA/member/sign/sign.wxml
@@ -0,0 +1,54 @@
+
+
+
+
+
+ 累计{{sign_name}}奖励记录
+
+
+
+
+
+
+
+
+ {{ year }}年{{ month }}月
+
+
+
+
+ 日
+ 一
+ 二
+ 三
+ 四
+ 五
+ 六
+
+
+
+
+
+ {{ item.day}}
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/member/sign/sign.wxss b/packageA/member/sign/sign.wxss
new file mode 100644
index 0000000..efdbb90
--- /dev/null
+++ b/packageA/member/sign/sign.wxss
@@ -0,0 +1,214 @@
+.sign > .sign-header {
+ display: flex;
+ background: #f15353;
+ box-sizing: border-box;
+ padding: 40rpx 0;
+ line-height: 96rpx;
+ position: relative;
+}
+
+.sign-header > .sign_a {
+ width: 272rpx;
+}
+
+.sign-header > .sign-header > .sign_b {
+ width: 272rpx;
+}
+
+.sign-header > .sign_a > .li {
+ line-height: 64rpx;
+ padding-left: 40rpx;
+ text-align: left;
+ color: #fff;
+}
+
+.sign-header > .sign_b > .li {
+ line-height: 64rpx;
+ padding-left: 40rpx;
+ text-align: left;
+ color: #fff;
+}
+
+.total {
+ font-size: 28rpx;
+ opacity: 0.8;
+}
+
+.date {
+ font-size: 40rpx;
+}
+
+.yicon {
+ position: absolute;
+ z-index: 100;
+ right: 22.4rpx;
+ top: -22.4rpx;
+}
+
+.sign-header > text {
+ color: #fff;
+}
+
+.sign-header > .btn {
+ width: 120rpx;
+ height: 120rpx;
+ background: #fff;
+ border: solid 12rpx rgba(249, 186, 186, 1);
+ border-radius: 50%;
+ text-align: center;
+ line-height: 32rpx;
+ flex-shrink: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.record {
+ display: flex;
+ justify-content: space-between;
+ height: 92rpx;
+ line-height: 92rpx;
+ background: #fff;
+ text-align: left;
+ color: #333;
+ font-size: 28rpx;
+ box-sizing: border-box;
+ padding: 0 28rpx;
+ margin-bottom: 20rpx;
+}
+
+van-icon {
+ line-height: 80rpx;
+ font-size: 48rpx;
+ color: #c9c9c9;
+}
+
+.record > .icon {
+ display: inline-block;
+ width: 17.6rpx;
+ height: 17.6rpx;
+ border: solid 2rpx #000;
+ border-left: transparent;
+ border-bottom: transparent;
+ transform: rotate(45deg);
+ float: right;
+ margin-top: 9.2rpx;
+}
+
+.title-class {
+ color: #000;
+}
+
+.sign > .van-nav-bar__text {
+ color: #000;
+}
+
+/* 日历 */
+.date-box > .date {
+ width: 690rpx;
+ border-radius: 12rpx;
+ overflow: hidden;
+ margin: 0 auto;
+ text-align: center;
+}
+
+.date > .h1 {
+ background: #fff;
+ font-size: 16px;
+ color: #333;
+ line-height: 80rpx;
+ text-align: center;
+ text-indent: 32rpx;
+ display: flex;
+ justify-content: center;
+}
+
+.date > .h1 > .span {
+ margin: 0 20rpx;
+}
+
+.h1 > van-icon {
+ font-size: 48rpx;
+ color: #ccc;
+ line-height: 80rpx;
+}
+
+.ol {
+ display: flex;
+ background: #fafafa;
+}
+
+.h1 {
+ background: #fff;
+ font-size: 16px;
+ color: #f15353;
+ font-weight: normal;
+ line-height: 80rpx;
+ text-align: left;
+ text-indent: 32rpx;
+}
+
+.ol {
+ display: flex;
+ background: #fff;
+ box-sizing: border-box;
+ padding: 0 9.6rpx;
+}
+
+.date > .ol > .li_1 {
+ display: inline-block;
+ width: 14.27%;
+ float: left;
+ font-size: 15px;
+ line-height: 64rpx;
+ border-bottom: solid 2rpx #e5e5e5;
+}
+
+.date_day > .ul {
+ display: flex;
+ flex-wrap: wrap;
+ position: relative;
+ box-sizing: border-box;
+ padding: 0 9.6rpx;
+}
+
+.ul > .li_1 {
+ list-style: none;
+ width: 14.27%;
+ height: 96rpx;
+ border-bottom: solid 2rpx #e5e5e5;
+}
+
+.ul > .li_1 .img {
+ display: flex;
+ justify-content: center;
+}
+
+.data > .ul > view {
+ border-bottom: solid 2rpx #e5e5e5;
+}
+
+.li_1 > .span {
+ display: block;
+ margin: 17.6rpx 0 12.8rpx 0;
+ font-size: 12px;
+}
+
+.ul::after {
+ content: "";
+ width: 100%;
+ height: 2rpx;
+ z-index: 1;
+ background: #fff;
+ position: relative;
+ left: 0;
+ bottom: 2rpx;
+}
+
+image {
+ background: #f15353;
+ border-radius: 50%;
+ width: 27.2rpx;
+ height: 27.2rpx;
+ display: block;
+}
diff --git a/packageA/member/signrecord/signrecord.js b/packageA/member/signrecord/signrecord.js
new file mode 100644
index 0000000..b4a74b0
--- /dev/null
+++ b/packageA/member/signrecord/signrecord.js
@@ -0,0 +1,115 @@
+// pages/signrecord/signrecord.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ continue_days: '', //连续签到天数
+ sign_total: '', //累计签到天数
+ cumulative: '', //累计奖励
+ sign_log: '', //签到记录
+ sign_name: '', //签到名字
+ integral: '',
+ love_name:"",
+ love_return:"",
+ sign_model:{},
+ is_love:false,//爱心值插件开关
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ let integral = '';
+ try {
+ integral = wx.getStorageSync('integral');
+ } catch (error) {
+ console.log(error);
+ }
+ this.data.integral = integral;
+ this.setData({integral});
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ getData() {
+ let urlStr = app.getNetAddresss("plugin.sign.Frontend.Modules.Sign.Controllers.sign-log.log");
+ var that = this;
+ app._getNetWork({
+ url: urlStr,
+ success: function(res) {
+ if(res.data.result !=1) return;
+ let d = res.data.data;
+ let sign_log = res.data.data.sign_log;
+ sign_log.forEach((item,key)=>{
+ console.log(item);
+ item.award_content = that.data.integral+item.award_content.substr(2);
+ });
+ that.setData({
+ love_return:d.love_return,
+ love_name:d.love_name,
+ sign_model:d.sign_model,
+ continue_days: res.data.data.continue_days,
+ sign_total: res.data.data.sign_total,
+ cumulative: that.data.integral+res.data.data.cumulative.substr(2),
+ sign_log,
+ sign_name: res.data.data.sign_name,
+ is_love:res.data.data.is_love
+ });
+
+ wx.setNavigationBarTitle({
+ title: that.data.sign_name ? (that.data.sign_name + '记录') : '记录'
+ });
+ }
+ });
+ }
+});
diff --git a/packageA/member/signrecord/signrecord.json b/packageA/member/signrecord/signrecord.json
new file mode 100644
index 0000000..5bad679
--- /dev/null
+++ b/packageA/member/signrecord/signrecord.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "记录",
+ "backgroundColor": "#fff",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index",
+ "van-nav-bar": "../../../dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/signrecord/signrecord.wxml b/packageA/member/signrecord/signrecord.wxml
new file mode 100644
index 0000000..4518893
--- /dev/null
+++ b/packageA/member/signrecord/signrecord.wxml
@@ -0,0 +1,48 @@
+
+
+
+
+ {{ continue_days }}
+ 连续{{ sign_name }}
+
+
+ {{ sign_total }}
+ 累计{{ sign_name }}
+
+
+
+ 累计获得奖励:
+
+ {{integral || "积分"}}:{{sign_model.cumulative_point || "0.00"}}
+ 优惠券:{{sign_model.cumulative_coupon || 0}}
+
+
+ {{love_name || "爱心值"}}:{{sign_model.cumulative_point || "0.00"}}
+ {{love_name || "爱心值"}}返现:{{love_return || "0.00"}}
+
+
+
+
+
+
+
+
+ {{integral || "积分"}}:{{item.award_point || "0.00"}}
+ 优惠券:{{item.award_coupon || 0}}
+
+
+ {{love_name || "爱心值"}}:{{item.award_love || "0.00"}}
+ {{love_name || "爱心值"}}返现:{{item.total_love_return || "0.00"}}
+
+
+
+
+ {{item.created_at}}
+ {{ sign_name }}成功
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/signrecord/signrecord.wxss b/packageA/member/signrecord/signrecord.wxss
new file mode 100644
index 0000000..8518173
--- /dev/null
+++ b/packageA/member/signrecord/signrecord.wxss
@@ -0,0 +1,100 @@
+
+.list_box {
+ background: #fff;
+ box-sizing: border-box;
+}
+
+.list_box .ul {
+ border-bottom: solid 2rpx #ebebeb;
+ padding: 20rpx 28rpx;
+}
+
+.list_b {
+ display: flex;
+ justify-content: space-between;
+}
+
+text:nth-child(1) {
+ color: #8c8c8c;
+ float: left;
+}
+
+text:nth-child(2) {
+ color: #f15353;
+
+ /* float:right; */
+}
+
+.ul .list_a {
+ width: 100%;
+ color: #333;
+ line-height: 64rpx;
+ text-align: left;
+}
+
+.icon {
+ margin-right: 8rpx;
+}
+
+.icon img {
+ background: #9c9;
+ border-radius: 50%;
+ width: 27.2rpx;
+ height: 27.2rpx;
+ position: relative;
+ top: 3.2rpx;
+}
+
+.sign-records {
+ display: flex;
+ flex-direction: column;
+ background: #f15353;
+ box-sizing: border-box;
+ padding: 40rpx 0;
+ line-height: 64rpx;
+
+ /* height:5rem; */
+ color: #fff;
+ text-align: left;
+}
+
+.bottom {
+ margin-top: 20rpx;
+ padding: 0 40rpx;
+}
+
+.bottom .li {
+ line-height: 48rpx;
+}
+
+.top {
+ display: flex;
+}
+
+.sign_a,
+.sign_b {
+ width: 272rpx;
+}
+
+.total {
+ font-size: 14px;
+ opacity: 0.8;
+}
+
+.date {
+ font-size: 20px;
+}
+
+.sign_a,
+.sign_b .li {
+ line-height: 64rpx;
+ padding-left: 40rpx;
+ text-align: left;
+ color: #fff;
+}
+.ul .flex{
+ display: flex;text-align: center;
+}
+.flex1{
+ flex:1;
+}
diff --git a/packageA/member/signrules/signrules.js b/packageA/member/signrules/signrules.js
new file mode 100644
index 0000000..2fc5ac4
--- /dev/null
+++ b/packageA/member/signrules/signrules.js
@@ -0,0 +1,82 @@
+// pages/signi/signi.js
+var app = getApp();
+// var WxParse=require('../../../wxParse/wxParse.js')
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ rules: "",
+ explain_content:''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getinit();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getinit() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.sign.Frontend.Controllers.explain.index");
+ app._getNetWork({
+ url: urlStr,
+ success: res => {
+ var rules = res.data.data.explain_content;
+ that.setData({
+ explain_content:rules
+ });
+ // WxParse.wxParse('rules', 'html', rules, this);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/signrules/signrules.json b/packageA/member/signrules/signrules.json
new file mode 100644
index 0000000..c0eeb8f
--- /dev/null
+++ b/packageA/member/signrules/signrules.json
@@ -0,0 +1,3 @@
+{
+ "navigationBarTitleText": "规则说明"
+}
\ No newline at end of file
diff --git a/packageA/member/signrules/signrules.wxml b/packageA/member/signrules/signrules.wxml
new file mode 100644
index 0000000..ea21939
--- /dev/null
+++ b/packageA/member/signrules/signrules.wxml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/signrules/signrules.wxss b/packageA/member/signrules/signrules.wxss
new file mode 100644
index 0000000..31a494a
--- /dev/null
+++ b/packageA/member/signrules/signrules.wxss
@@ -0,0 +1,8 @@
+@import "/wxParse/wxParse.wxss";
+
+.signrules {
+ background: #fff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
diff --git a/packageA/member/storeApply/storeApply.js b/packageA/member/storeApply/storeApply.js
new file mode 100644
index 0000000..87914cb
--- /dev/null
+++ b/packageA/member/storeApply/storeApply.js
@@ -0,0 +1,1599 @@
+// pages/storeApply/storeApply.js
+var app = getApp();
+var location = require("../../../mybehaviors/location/location");
+// var WxParse = require('../../../wxParse/wxParse.js');
+Page({
+ behaviors: [location],
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ shop_commission: false, //是否开启平台提成
+ customer_open: true,
+ service_QRcode: '',
+ service_mobile: '',
+ show1: false,
+ msgText: 0,
+ pass_safe: 0,
+ showtips: true,
+ swlist: [],
+ swlis: [],
+ shenqShow: false,
+ is_hotel: false,
+ uploadUrl: '',
+ o2o_status: 1,
+ o2o_info: "",
+ //定位信息
+ address: "",
+ point: {
+ lat: '',
+ lng: ''
+ },
+ city: '',
+ title: '',
+ noIs: true,
+ bor: true,
+ showDel: false,
+ applyModel: {
+ password: "",
+ realname: "",
+ mobile: "",
+ //store名字
+ storeName: "",
+ lng: "",
+ lat: "",
+ beginTime: "00:00",
+ endTime: "00:00",
+ categoryId: "",
+ //省市区 街道id
+ provinceId: "",
+ cityId: "",
+ districtId: "",
+ streetId: "",
+ address: "",
+ //门店图片src
+ storeImg: "",
+ //资质图片src
+ aptitudeImg: [],
+ remark: "",
+ starRated: "",
+ // 其他图片
+ otherImg: [],
+ // 门店详情图片
+ information_thumb: "",
+ idCardImg: []
+ },
+ categoryName: '',
+ strShow: false,
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ districtVal: [],
+ streetShow: false,
+ addressShow: false,
+ addressName: '',
+ provice: '',
+ beginTimeshow: false,
+ endTimeshow: false,
+ imageUrl: '',
+ hotelTitleType: '',
+ levelShow: false,
+ star_arr: [{
+ name: "二星及以下/经济型",
+ value: 2
+ },
+ {
+ name: "三星/舒适",
+ value: 3
+ },
+ {
+ name: "四星/高档",
+ value: 4
+ },
+ {
+ name: "五星/豪华",
+ value: 5
+ },
+ {
+ name: "六星",
+ value: 6
+ },
+ {
+ name: "七星",
+ value: 7
+ },
+ {
+ name: "八星",
+ value: 8
+ },
+ {
+ name: "不限",
+ value: 0
+ }
+ ],
+ goods_id: '',
+ status: false, // 申请后是否跳页面
+
+ coverViewFlag: false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ try {
+ wx.removeStorageSync('applyaddresspoint');
+ } catch (e) {
+ // Do something when catch error
+ }
+ this.initData();
+ if (options.name == "hotelApply") {
+ this.setData({
+ is_hotel: true,
+ uploadUrl: "upload.uploadPic",
+ });
+ this.getCustomizeHotelHead();
+ } else {
+ wx.setNavigationBarTitle({
+ title: '门店申请'
+ });
+ this.setData({
+ uploadUrl: 'upload.uploadPic'
+ });
+ }
+ this.checkrouter();
+ //加载地址数据初始化
+ this._initAddressInfo();
+ this.isToGoos();
+ this.getData();
+ this._getLocation((mapdata, e) => {
+ this.setData({
+ 'applyModel.lng': e.lng,
+ 'applyModel.lat': e.lat,
+ mapdata_address: mapdata.address
+ });
+ });
+ this.getCategory();
+ this.setWatcher(this.data, this.watch);
+ },
+ isToGoos() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.enter.enable");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.data.status = res.data.status;
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ checkrouter() {
+ // 推广中心是否开启该功能,没开启跳转到指定路径
+ let basic_info = wx.getStorageSync("yz_basic_info");
+ let stop_info = basic_info.popularize_page.mini.vue_route;
+ for (let i = 0; i < stop_info.length; i++) {
+ if (stop_info[i] == 'storeApply') {
+ console.log(basic_info.popularize_page.mini.mini_url + "跳转的路径");
+
+ wx.showToast({
+ title: '未开启推广权限',
+ duration: 2000,
+ icon: 'none',
+ success: function () {
+ setTimeout(() => {
+ wx.redirectTo({
+ url: basic_info.popularize_page.mini.mini_url,
+ });
+ }, 1000);
+ }
+ });
+ return;
+ }
+ }
+ },
+ showdel(e) {
+ console.log(e);
+ this.setData({
+ showDel: true
+ });
+ },
+ delIntu(e) {
+ var delpaths = this.data.showpaths;
+ // let del = e.currentTarget.id;
+ // var indelpaths = delpaths.splice(del, 1);
+ this.setData({
+ showpaths: delpaths
+ });
+ },
+ delIntu_2(e) {
+ var delpaths = this.data.showpaths_two;
+ // let del = e.currentTarget.id;
+ // var indelpaths = delpaths.splice(del, 1);
+ this.setData({
+ showpaths_two: delpaths
+ });
+ },
+ shenqShow() {
+ this.setData({
+ shenqShow: true
+ });
+ },
+ onClicksQ() {
+ this.setData({
+ shenqShow: false
+ });
+ },
+ callKf() {
+ console.log('联系客服');
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ try {
+ var value = wx.getStorageSync('applyaddresspoint');
+ if (value) {
+ this.setData({
+ 'applyModel.lng': value.point.lng,
+ 'applyModel.lat': value.point.lat,
+ mapdata_address: value.address
+ });
+ console.log(this.data.applyModel);
+ // Do something with return value
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ callPhone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.service_mobile,
+
+ });
+ },
+ showPop() {
+ if (this.data.customer_open) {
+ this.setData({
+ show1: true
+ });
+ }
+ },
+ closePop() {
+ this.setData({
+ show1: false
+ });
+ },
+ initData() {
+ this.setData({
+ customer_open: true,
+ service_QRcode: '',
+ service_mobile: '',
+ show1: false,
+ pass_safe: 0,
+ showtips: true,
+ msgText: 0,
+ o2o_status: 1,
+ // fileList2: [],
+ 'applyModel.username': "",
+ 'applyModel.password': "",
+ 'applyModel.realname': "",
+ 'applyModel.mobile': '',
+ 'applyModel.storeName': '',
+ 'applyModel.lng': '',
+ 'applyModel.lat': '',
+ 'applyModel.categoryId': '',
+ 'applyModel.provinceId': "",
+ 'applyModel.cityId': "",
+ 'applyModel.districtId': '',
+ 'applyModel.streetId': '',
+ 'applyModel.storeImg': '',
+ 'applyModel.aptitudeImg': [],
+ 'applyModel.remark': "",
+ 'agreementChoose': false
+ });
+ },
+ toGeolocation() {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=storeApply'
+ });
+ },
+ //获取数据
+ getData() {
+ let that = this;
+ let urlStr = "";
+ if (this.data.is_hotel) {
+ urlStr += app.getNetAddresss("plugin.hotel.frontend.hotel.hotel.verify-apply-status");
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.store.verify-apply-status");
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ shop_commission: res.data.shop_commission == 1 ? true : false,
+ o2o_status: res.data.status,
+ o2o_info: res.data.agreement,
+ top_thumb: res.data.top_thumb,
+ pass_safe: res.data.safe,
+ customer_open: res.data.customer_open == '1' ? true : false,
+ service_QRcode: res.data.service_QRcode,
+ service_mobile: res.data.service_mobile,
+ is_business_license: res.data.is_business_license
+ });
+ if(res.data.status == -1){
+ if(Object.values((res.data.last_info).length > 0)){
+ that.setData({
+ 'applyModel.username': res.data.last_info.username,
+ 'applyModel.realname': res.data.last_info.realname,
+ 'applyModel.mobile': res.data.last_info.mobile,
+ 'applyModel.storeName': res.data.last_info.information.store_name,
+ categoryName:res.data.last_info.information.store_category_text,
+ 'applyModel.categoryId': res.data.last_info.information.category_id,
+ addressName: res.data.last_info.information.province +' '+ res.data.last_info.information.city +' '+ res.data.last_info.information.district,
+ 'applyModel.provinceId': res.data.last_info.information.province_id,
+ 'applyModel.cityId': res.data.last_info.information.city_id,
+ 'applyModel.districtId': res.data.last_info.information.district_id,
+ 'applyModel.address': res.data.last_info.information.address,
+ 'applyModel.beginTime': res.data.last_info.information.business_hours_start,
+ 'applyModel.endTime': res.data.last_info.information.business_hours_end,
+ imageUrl: res.data.last_info.information.thumb,
+ 'applyModel.storeImg': res.data.last_info.information.thumb,
+ fileList2: res.data.last_info.information.banner_thumb,
+ 'applyModel.bannerImg': res.data.last_info.information.banner_thumb,
+ 'applyModel.storeIntroduce': res.data.last_info.information.store_introduce,
+ showpaths: res.data.last_info.information.information_thumb,
+ swlist: res.data.last_info.information.information_thumb,
+ 'applyModel.information_thumb': res.data.last_info.information.information_thumb,
+ fileList3: res.data.last_info.information.aptitude_imgs,
+ 'applyModel.aptitudeImg': res.data.last_info.information.aptitude_imgs,
+ fileList5: res.data.last_info.information.id_card_imgs[0],
+ fileList4: res.data.last_info.information.id_card_imgs[1],
+ 'applyModel.idCardImg': res.data.last_info.information.id_card_imgs,
+ showpaths_two: res.data.last_info.information.other_imgs,
+ swlis: res.data.last_info.information.other_imgs,
+ 'applyModel.otherImg': res.data.last_info.information.id_card_imgs,
+ 'applyModel.shop_commission': res.data.last_info.information.shop_commission,
+ 'applyModel.remark': res.data.last_info.information.remark,
+ });
+ }
+ }
+ if (app._isTextEmpty(res.data.cservice)) {
+ console.log('空的');
+ that.setData({
+ cservice: false
+ });
+ } else {
+ console.log('不空的');
+ that.setData({
+ cservice: true
+ });
+ }
+ // let article = that.data.o2o_info;
+ /**
+ * WxParse.wxParse(bindName , type, data, target,imagePadding)
+ * 1.bindName绑定的数据名(必填)
+ * 2.type可以为html或者md(必填)
+ * 3.data为传入的具体数据(必填)
+ * 4.target为Page对象,一般为this(必填)
+ * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
+ */
+ // WxParse.wxParse('article', 'html', article, that);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+
+ //获取分类和协议
+ getCategory() {
+ let that = this;
+ let urlStr = "";
+ if (this.data.is_hotel) {
+ urlStr += app.getNetAddresss("plugin.hotel.frontend.hotel.hotel.get-hotel-categorys");
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.store.get-store-categorys");
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ categoryList: res.data.store_categorys,
+ agreement: res.data.agreement
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ usernameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'applyModel.username': val
+ });
+ },
+ passwordinp(e) {
+ let val = e.detail;
+ this.setData({
+ 'applyModel.password': val
+ });
+ this.data.msgText = this.checkStrong(val);
+ if (this.data.msgText == 3) {
+ this.setData({
+ 'showtips': false
+ });
+ } else {
+ this.setData({
+ 'showtips': true
+ });
+ }
+ },
+ checkStrong(sValue) {
+ var modes = 0;
+ //正则表达式验证符合要求的
+ if (sValue.length < 1) return modes;
+ if (/\d/.test(sValue)) modes++; //数字
+ if (/[a-z]/.test(sValue)) modes++; //小写
+ if (/[A-Z]/.test(sValue)) modes++; //大写
+ // if (/\W/.test(sValue)) modes++; //特殊字符
+
+ //逻辑处理
+ // switch (modes) {
+ // case 1:
+ // break;
+
+ // case 2:
+ // return 2;
+ // break;
+ // case 3:
+ // sValue.length < 8 ? 2 : 3;
+ // break;
+ // }
+ // return x;
+ if (modes == 1) {
+ return 1;
+ } else if (modes == 2) {
+ return 2;
+ } else if (modes == 3) {
+ return sValue.length < 8 ? 2 : 3;
+ }
+ },
+ realnameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'applyModel.realname': val
+ });
+ },
+ mobileinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'applyModel.mobile': val
+ });
+ },
+ storeNameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'applyModel.storeName': val
+ });
+ },
+ showCategory() {
+ this.setData({
+ categoryShow: true
+ });
+ },
+ onClickLeft() {
+ this.setData({
+ categoryShow: false
+ });
+ },
+ chooseCategory(e) {
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ categoryName: item.name,
+ 'applyModel.categoryId': item.id,
+ 'categoryShow': false
+ });
+ },
+ addressShowbtn() {
+ this.setData({
+ addressShow: true
+ });
+ },
+ //所在地选择显示
+ showAddBtn(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].showAdd"]: true
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function () {
+ this.setData({
+ addressShow: false
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: 'provinceData',
+ data: province
+ });
+ wx.setStorage({
+ key: 'cityData',
+ data: city
+ });
+ wx.setStorage({
+ key: 'districtData',
+ data: district
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true
+ });
+ }
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data
+ });
+ that.setData({
+ "selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0]
+ });
+ that._getCityData();
+ }
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = 'cityData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1]
+ });
+ that._getDistrictData();
+ }
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ console.log("地区", "_data", _data);
+ console.log(_data);
+ var that = this;
+ var _keyName = 'districtData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json
+ });
+ console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2]
+ });
+ console.log("over", that.data.selectAddressData);
+ }
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2]
+ });
+ this._initAddressInfo();
+ },
+ //城市结果
+ resultAdd: function () {
+ let seleData = this.data.selectAddressData;
+ let retCity = seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name;
+ this.setData({
+ addressName: retCity,
+ provice: seleData[0].name,
+ city: seleData[1].name,
+ district: seleData[2].name
+ });
+ this.setData({
+ 'applyModel.provinceId': seleData[0].id,
+ 'applyModel.cityId': seleData[1].id,
+ 'applyModel.districtId': seleData[2].id,
+ 'addressShow': false,
+ });
+ this.getStreet(seleData[2].id);
+ },
+ //获取街道
+ getStreet(param) {
+ let that = this;
+ let urlStr = "";
+ urlStr += app.getNetAddresss("member.memberAddress.street");
+ urlStr += '&district_id=' + param;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (!app._isTextEmpty(res.data) && res.data.length > 0) {
+ that.setData({
+ districtVal: res.data,
+ strShow: true,
+ });
+ } else {
+ that.setData({
+ strShow: false
+ });
+ }
+ } else {
+ that.setData({
+ strShow: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ streetShowbtn() {
+ this.setData({
+ streetShow: true
+ });
+ },
+ treetShowLeft() {
+ this.setData({
+ streetShow: false
+ });
+ },
+ streetConfirm(e) {
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ street: item.areaname,
+ 'applyModel.streetId': item.id,
+ 'streetShow': false
+ });
+ },
+ addressinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'applyModel.address': val
+ });
+ },
+ // beginTimebtn() {
+ // this.setData({
+ // beginTimeshow: true
+ // })
+ // },
+ // beginTimeClose() {
+ // this.setData({
+ // beginTimeshow: false
+ // })
+ // },
+ endTimebtn() {
+ this.setData({
+ endTimeshow: true
+ });
+ },
+ endTimeClose() {
+ this.setData({
+ endTimeshow: false
+ });
+ },
+ beginTimemessage(e) {
+ let time = e.detail.value;
+ this.setData({
+ 'applyModel.beginTime': time,
+ });
+ // beginTimeshow: false
+ },
+ endTimemessage(e) {
+ let time = e.detail.value;
+ this.setData({
+ 'applyModel.endTime': time,
+ });
+ // endTimeshow: false
+ },
+ //选择图片
+ onRead() {
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths[0]);
+ // wx.compressImage({
+ // src: tempFilePaths[0], // 图片路径
+ // quality: 60, // 压缩质量
+ // success(e) {
+ // let photourl = e.tempFilePath
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ imageUrl: res.data.img_url,
+ 'applyModel.storeImg': res.data.img_url
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ // },
+ // fail(e) {
+
+ // },
+ // complete(e) {
+
+ // }
+ // })
+ }
+ });
+ },
+ //选择图片
+ onRead_1() {
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths[0]);
+ // wx.compressImage({
+ // src: tempFilePaths[0], // 图片路径
+ // quality: 60, // 压缩质量
+ // success(e) {
+ let photourl = tempFilePaths[0]; //e.tempFilePath
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ // let fileList1 = that.data.applyModel.aptitudeImg;
+ // let fileList2 = that.data.fileList2;
+ // fileList1.push({
+ // url: res.data.img
+ // })
+ // fileList2.push({
+ // url: photourl
+ // })
+ that.setData({
+ 'applyModel.bannerImg': res.data.img_url,
+ fileList2: res.data.img_url
+ });
+ console.log(res);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ // },
+ // fail(e) {
+
+ // },
+ // complete(e) {
+
+ // }
+ // })
+ }
+ });
+ },
+ // 其他图片
+ onRead_6() {
+ let that = this;
+ // let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ let ig = '2';
+ wx.chooseImage({
+ count: 9,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ // var tempFilePaths = res.tempFilePaths
+ that.unload({
+ tempFilePaths: res.tempFilePaths
+ }, ig);
+ }
+ });
+ },
+ // 门店介绍选择图片
+ onRead_2() {
+ let that = this;
+ // let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ let ig = '1';
+ wx.chooseImage({
+ count: 9,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ // var tempFilePaths = res.tempFilePaths
+ console.log(res.tempFilePaths);
+ that.unload({
+ tempFilePaths: res.tempFilePaths
+ }, ig);
+ }
+ });
+ },
+ //多张上传方法
+ unload(data, ig) {
+ console.log(ig);
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ var that = this,
+ i = data.i ? data.i : 0,
+ success = data.success ? data.success : 0,
+ fail = data.fail ? data.fail : 0;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: data.tempFilePaths[i],
+ name: 'file',
+ formData: null,
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ console.log(res.data.img_url);
+ if (ig == '1') {
+ that.data.swlist.push(res.data.img_url);
+ that.setData({
+ showpaths: that.data.swlist,
+ 'applyModel.information_thumb': that.data.swlist
+ });
+ } else if (ig == 2) {
+ that.data.swlis.push(res.data.img_url);
+ that.setData({
+ showpaths_two: that.data.swlis,
+ 'applyModel.otherImg': that.data.swlis
+ });
+ }
+
+ console.log(that.data.applyModel);
+ },
+ fail(e) {
+ fail++;
+ },
+ complete(e) {
+ i++;
+ if (i == data.tempFilePaths.length) { //当图片传完时,停止调用
+ console.log('执行完毕');
+ console.log('成功:' + success + " 失败:" + fail);
+ } else { //若图片还没有传完,则继续调用函数
+ data.i = i;
+ data.success = success;
+ data.fail = fail;
+ that.unload(data, ig); //递归,回调自己
+ }
+ }
+ });
+
+ },
+ onRead_3() {
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths[0]);
+ // wx.compressImage({
+ // src: tempFilePaths[0], // 图片路径
+ // quality: 60, // 压缩质量
+ // success(e) {
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ fileList3: res.data.img_url,
+ 'applyModel.aptitudeImg[0]': res.data.img_url
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ // },
+ // fail(e) {
+
+ // },
+ // complete(e) {
+
+ // }
+ // })
+ }
+ });
+ },
+ onRead_4() {
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths[0]);
+ // wx.compressImage({
+ // src: tempFilePaths[0], // 图片路径
+ // quality: 60, // 压缩质量
+ // success(e) {
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ fileList4: photourl,
+ 'applyModel.idCardImg[0]': res.data.img_url
+ });
+ console.log(that.data.applyModel.idCardImg);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ // },
+ // fail(e) {
+
+ // },
+ // complete(e) {
+
+ // }
+ // })
+ }
+ });
+ },
+ onRead_5() {
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths[0]);
+ // wx.compressImage({
+ // src: tempFilePaths[0], // 图片路径
+ // quality: 60, // 压缩质量
+ // success(e) {
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ fileList5: res.data.img_url,
+ 'applyModel.idCardImg[1]': res.data.img_url
+ });
+ console.log(that.data.applyModel);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ // fail(e) {
+
+ // },
+ // complete(e) {
+
+ // }
+ // })
+ // }
+ });
+ },
+ remarkinp(e) {
+ let val = e.detail.value;
+ console.log(val);
+ this.setData({
+ 'applyModel.remark': val
+ });
+ },
+ storeIn(e) {
+ console.log(e.detail.value);
+ let val = e.detail.value;
+ this.setData({
+ 'applyModel.storeIntroduce': val
+ });
+ },
+ Chooseinp(e) {
+ let Bol = e.detail;
+ this.setData({
+ agreementChoose: Bol
+ });
+ },
+ removeImg: function (e) {
+ let index = e.currentTarget.dataset.index;
+ let aptitudeImg = this.data.applyModel.aptitudeImg;
+ let fileList2 = this.data.fileList2;
+ aptitudeImg.splice(index, 1);
+ fileList2.splice(index, 1);
+ this.setData({
+ 'applyModel.aptitudeImg': aptitudeImg,
+ 'fileList2': fileList2
+ });
+ },
+ //提交数据
+ setApplyData() {
+ console.log(this.data.applyModel);
+ if (this.data.is_business_license == '1') {
+ if (app._isTextEmpty(this.data.applyModel.aptitudeImg)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请上传营业执照',
+ duration: 1500
+ });
+ return;
+ }
+ }
+ if (app._isTextEmpty(this.data.applyModel.username)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写账号',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.applyModel.password)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写密码',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (this.data.msgText != 3 && this.data.pass_safe == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: '请正确填写密码',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.realname)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写真实姓名',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写手机号码',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isMoblie(this.data.applyModel.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入正确的手机号',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.storeName)) {
+ if (this.data.is_hotel) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写酒店名称',
+ duration: 1500
+ });
+ return;
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写门店名称',
+ duration: 1500
+ });
+ return;
+ }
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.storeImg)) {
+ if (this.data.is_hotel) {
+ wx.showToast({
+ icon: 'none',
+ title: '请上传酒店图片',
+ duration: 1500
+ });
+ return;
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '请上传门店logo图片',
+ duration: 1500
+ });
+ return;
+ }
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.categoryId)) {
+ if (this.data.is_hotel) {
+ wx.showToast({
+ icon: 'none',
+ title: '请选择酒店分类',
+ duration: 1500
+ });
+ return;
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '请选择门店分类',
+ duration: 1500
+ });
+ return;
+ }
+ }
+
+ if (
+ app._isTextEmpty(this.data.applyModel.provinceId) ||
+ app._isTextEmpty(this.data.applyModel.cityId) ||
+ app._isTextEmpty(this.data.applyModel.districtId)
+ ) {
+ wx.showToast({
+ icon: 'none',
+ title: '请选择省市区',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.streetId)) {
+ // 任务编号: 59594 街道地址优化成选填
+ this.setData({
+ ['applyModel.streetId']: 0
+ });
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.address)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写详细地址',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (
+ app._isTextEmpty(this.data.applyModel.lng) ||
+ app._isTextEmpty(this.data.applyModel.lat)
+ ) {
+ wx.showToast({
+ icon: 'none',
+ title: '经纬度不能为空',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (
+ app._isTextEmpty(this.data.applyModel.beginTime) ||
+ app._isTextEmpty(this.data.applyModel.endTime)
+ ) {
+ wx.showToast({
+ icon: 'none',
+ title: '营业开始时间活营业结束时间不能为空',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (!this.data.is_hotel) {
+ if (app._isTextEmpty(this.data.applyModel.aptitudeImg)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请上传资质图片',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.applyModel.bannerImg)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请上传门店banner图片',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.applyModel.bannerImg)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请上传门店banner图片',
+ duration: 1500
+ });
+ return;
+ }
+ // if (this.data.applyModel.idCardImg.length != 2) {
+ // wx.showToast({
+ // icon: 'none',
+ // title: '请上传身份证正反面图片',
+ // duration: 1500
+ // })
+ // return;
+ // }
+
+
+ } else {
+ if (app._isTextEmpty(this.data.applyModel.starRated)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请上选择星级',
+ duration: 1500
+ });
+ return;
+ }
+ }
+ if (!this.data.agreementChoose) {
+ wx.showToast({
+ icon: 'none',
+ title: '请同意申请协议',
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.shop_commission && app._isTextEmpty(this.data.applyModel.shop_commission)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入平台提成',
+ duration: 1500
+ });
+ return;
+ }
+ let that = this;
+ let json = {
+ apply: this.data.applyModel
+ };
+ let urlStr = "";
+ if (this.data.is_hotel) {
+ urlStr = app.getNetAddresss("plugin.hotel.frontend.hotel.hotel.apply");
+ } else {
+ urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.store.apply");
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.status == 1) {
+ if (res.data.goods_id) {
+ // 不确定接口是否改了
+ that.data.goods_id = res.data.goods_id;
+ } else {
+ that.data.goods_id = res.data.goods_info.id;
+ }
+ that.goOrder();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ that.goHome();
+ }, 1500); //延迟时间
+ },
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {}
+ });
+ },
+ shop_commissionInp(e) {
+ console.log(e);
+ let txt = e.detail.value;
+ this.setData({
+ 'applyModel.shop_commission': txt
+ });
+ },
+ // 去订单页面
+ goOrder() {
+ let submitActionTag = "-2"; // 立即购买
+ let _optionsId = "";
+ let _total = 1;
+ let _goodsId = this.data.goods_id;
+ wx.redirectTo({
+ url: '/packageD/buy/myOrder_v2/myOrder_v2?tag=' + submitActionTag + '&goodsId=' + _goodsId + '&optionsId=' +
+ _optionsId + '&total=' + _total
+ });
+ },
+ //去商城
+ goHome() {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ },
+ //获取酒店自定义字段
+ getCustomizeHotelHead() {
+ let that = this;
+ let isQuestHotel = "";
+ try {
+ const value = wx.getStorageSync('customizeHotelHead');
+ if (value) {
+ isQuestHotel = value;
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ if (!app._isTextEmpty(isQuestHotel)) {
+ this.setData({
+ hotelTitleType: JSON.parse(isQuestHotel).hotels
+ });
+ wx.setNavigationBarTitle({
+ title: `${that.data.hotelTitleType}申请`
+ });
+ } else {
+ let urlStr = app.getNetAddresss("plugin.hotel.frontend.hotel.get-hotel-info.get-custom-name");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ hotelTitleType: res.data.hotels
+ });
+ wx.setNavigationBarTitle({
+ title: `${that.data.hotelTitleType}申请`
+ });
+ try {
+ wx.setStorageSync('customizeHotelHead', JSON.stringify(res.data));
+ } catch (e) {
+ console.log(e);
+ }
+ }
+
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ levelShowbtn() {
+ this.setData({
+ levelShow: true
+ });
+ },
+ levelShowLeft() {
+ this.setData({
+ levelShow: false
+ });
+ },
+ chooseStarLevel(e) {
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ 'applyModel.starRated': item.value,
+ 'levelShow': false,
+ levelName: item.name
+ });
+ },
+ watch: {
+ 'shenqShow,categoryShow,addressShow,streetShow,levelShow,show1': function (newVal, oldVla) {
+ console.log("刷新改变");
+ setTimeout(() => {
+ this.setData({
+ coverViewFlag: newVal
+ });
+ }, 1000);
+ }
+ },
+ /**
+ * 设置监听器
+ */
+ setWatcher(data, watch) { // 接收index.js传过来的data对象和watch对象
+ Object.keys(watch).forEach(v => { // 将watch对象内的key遍历
+ let names = v.split(',');
+ for (let i = 0; i < names.length; i++) {
+ this.observe(data, names[i], watch[v]); // 监听data内的v属性,传入watch内对应函数以调用
+ }
+ });
+ },
+ /**
+ * 监听属性 并执行监听函数
+ */
+ observe(obj, key, watchFun) {
+ let that = this;
+ var val = obj[key]; // 给该属性设默认值
+ Object.defineProperty(obj, key, {
+ configurable: true,
+ enumerable: true,
+ set: function (value) {
+ val = value;
+ watchFun.call(that, value, val); // 赋值(set)时,调用对应函数
+ },
+ get: function () {
+ return val;
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/storeApply/storeApply.json b/packageA/member/storeApply/storeApply.json
new file mode 100644
index 0000000..a24ce52
--- /dev/null
+++ b/packageA/member/storeApply/storeApply.json
@@ -0,0 +1,14 @@
+{
+ "navigationBarTitleText": "申请",
+ "usingComponents": {
+ "van-field": "../../../dist/field/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-datetime-picker": "../../../dist/datetime-picker/index",
+ "van-icon": "../../../../dist/icon/index"
+ }
+}
diff --git a/packageA/member/storeApply/storeApply.wxml b/packageA/member/storeApply/storeApply.wxml
new file mode 100644
index 0000000..c0debaa
--- /dev/null
+++ b/packageA/member/storeApply/storeApply.wxml
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+
+
+
+
+
+ 账号信息
+
+
+
+
+
+ 账号信息
+
+
+
+
+ 密码至少8-16个字符,至少1个大写字母,1个小写字母和1个数字,其他可以是任意字符
+
+
+
+
+
+ 注:账号/密码用于您登录PC端管理后台,请务必牢记!
+
+
+
+
+
+ {{is_hotel? (hotelTitleType+'信息:'):'门店信息:'}}
+
+
+
+
+
+
+
+
+ 地理位置
+ *
+ {{mapdata_address}}
+
+
+
+
+ {{mapdata_address?'切换':'自动定位'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{is_hotel? (hotelTitleType+'图片:'):'门店logo'}}*
+
+
+
+
+
+ 建议方形图片
+
+
+
+
+
+
+ 门店banner
+
+
+
+
+
+ 建议尺寸: 414*150,或长形图片
+
+
+
+
+
+
+
+
+ 门店介绍
+
+
+
+ {{applyModel.storeIntroduce}}
+
+
+
+
+
+
+
+
+
+
+
+ 非必填,支持上传多张,显示在门店详情介绍中!
+
+
+
+
+
+ 资质证件
+
+
+ 营业执照 *
+
+
+
+
+
+ 法人身份证人像面
+
+
+
+
+
+ 法人身份证国徽面
+
+
+
+
+
+ 其他图片
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 平台提成
+
+
+
+
+
+
+
+ 备注信息
+
+
+
+
+ {{applyModel.remark}}
+
+
+
+
+
+
+ 阅读并同意《商家入驻协议》
+
+ 申请
+
+
+
+
+
+
+ 您的申请已经提交,请等待审核!
+
+ 去商城逛逛
+
+
+
+
+
+
+ 您已通过审核
+
+ 去商城逛逛
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/member/storeApply/storeApply.wxss b/packageA/member/storeApply/storeApply.wxss
new file mode 100644
index 0000000..c97e324
--- /dev/null
+++ b/packageA/member/storeApply/storeApply.wxss
@@ -0,0 +1,732 @@
+/* pages/storeApply/storeApply.wxss */
+
+/* page{
+ background: #fff;
+} */
+.tips {
+ text-align: left;
+ color: #ff5d5c;
+ font-size: 12px;
+ padding-left: 12px;
+ background: #fff;
+}
+
+.supplier .banner image {
+ width: 100%;
+}
+
+.main {
+ padding-bottom: 36rpx;
+}
+
+.supplier .main {
+ position: relative;
+}
+
+.tittop {
+ margin-top: 20rpx;
+}
+
+.nrig {
+ margin-left: 516rpx;
+ color: red;
+}
+
+.button-spe {
+ position: absolute !important;
+ width: 100% !important;
+ height: 80rpx !important;
+ opacity: 0 !important;
+ top: -20rpx !important;
+}
+
+button {
+ width: 32rpx;
+ height: 32rpx;
+ background-color: #fff;
+ opacity: 0;
+ padding: 0;
+ margin: 0;
+ font-size: inherit;
+ position: absolute;
+ right: 24rpx;
+}
+
+button::after {
+ border: none;
+}
+
+.supplier .titlemessage {
+ padding-left: 30rpx;
+ line-height: 90rpx;
+ font-size: 28rpx;
+ text-align: left;
+ color: #888;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ box-sizing: border-box;
+ background: #fff;
+}
+
+.supplier .titlemessage .titleIcon {
+ width: 6rpx;
+ height: 28rpx;
+ background-color: rgba(248, 112, 112, 1);
+}
+
+.supplier .titlemessage :nth-child(2) {
+ font-size: 28rpx;
+ color: rgba(248, 110, 110, 1);
+ padding-left: 26rpx;
+}
+
+.mapshow {
+ height: 90rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background: #fff;
+ border-bottom: 1rpx solid rgba(242, 242, 242, 1);
+}
+
+.mapshow text {
+ color: red;
+}
+
+.mapshow .left {
+ padding-left: 30rpx;
+ display: flex;
+ justify-content: flex-start;
+ flex: 1;
+}
+
+.mapshow .left view {
+ width: 155px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding-left: 55rpx;
+}
+
+.mapshow .right {
+ padding-right: 34rpx;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+.top {
+ color: red;
+ padding-left: 20rpx;
+ box-sizing: border-box;
+}
+
+.mapshow .right .bottom {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: rgba(153, 153, 153, 1);
+}
+
+.mapshow .right .bottom van-icon {
+ margin-top: 5rpx;
+ margin-right: 10rpx;
+}
+
+.image-list {
+ width: 100%;
+ height: 100%;
+ background-color: #fff;
+
+ /* padding: 24rpx 0;
+ margin-top: -20rpx; */
+}
+
+.image-list .otherphoto .top {
+ text-align: left;
+ box-sizing: border-box;
+ padding-left: 26rpx;
+ line-height: 100rpx;
+}
+
+.image-list .otherphoto .top text {
+ color: red;
+}
+
+.image-list .otherphoto .top .span {
+ font-size: 30rpx;
+ color: rgba(51, 51, 51, 1);
+}
+
+.section {
+ height: 200rpx;
+ display: flex;
+ justify-content: space-between;
+ padding-right: 26rpx;
+ box-sizing: border-box;
+}
+
+.image-list .otherphoto .imgflex {
+ display: flex;
+ justify-content: flex-end;
+ flex-wrap: wrap;
+ align-items: center;
+ margin-top: 24rpx;
+ height: 119rpx;
+ width: 240rpx;
+}
+
+.image-list .otherphoto .imgflex2 {
+ display: flex;
+ justify-content: flex-end;
+ flex-wrap: wrap;
+ align-items: center;
+ margin-top: 41rpx;
+ height: 119rpx;
+ width: 309rpx;
+}
+
+.image-list .otherphoto .imgflex .photobox {
+ width: 190rpx;
+ height: 190rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+ overflow: hidden;
+}
+
+.image-list .otherphoto .imgflex2 .photobox {
+ width: 190rpx;
+ height: 190rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+ overflow: hidden;
+}
+
+.image-list .otherphoto .imgflex .photobox image {
+ width: 100%;
+}
+
+.image-list .otherphoto .imgflex2 .photobox image {
+ width: 100%;
+}
+
+.image-list .otherphoto .imgflex .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.image-list .otherphoto .imgflex2 .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.image-list .otherphoto .imgflex .photoshow {
+ float: right;
+ border-radius: 8rpx;
+ width: 119rpx;
+ height: 119rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.image-list .otherphoto .imgflex2 .photoshow {
+ float: right;
+ border-radius: 8rpx;
+ width: 221rpx;
+ height: 81rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.cimg {
+ width: 46rpx;
+ height: 46rpx;
+}
+
+.yimg {
+ width: 100%;
+ height: 100%;
+}
+
+.imtext {
+ color: rgba(153, 153, 153, 1);
+ font-size: 20rpx;
+ margin-top: 10rpx;
+}
+
+.choosebtn {
+ display: flex;
+ align-items: center;
+ background-color: #f5f5f5;
+ padding-left: 30rpx;
+ padding-top: 20rpx;
+ box-sizing: border-box;
+}
+
+.choosebtn .left text {
+ font-size: 20rpx;
+ color: #ff5959;
+}
+
+.choosebtn .left {
+ padding-left: 20rpx;
+ font-size: 20rpx;
+ color: #999;
+}
+
+.choosebtn .right {
+ border-radius: 50%;
+}
+
+.main .btn.submit {
+ width: 90%;
+ background: #f55955;
+ color: #fff;
+ height: 64rpx;
+ border-radius: 8rpx;
+ padding: 0 10rpx;
+ box-sizing: border-box;
+ text-align: center;
+ font-size: 28rpx;
+ line-height: 64rpx;
+ margin: 20rpx 24rpx 0;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* -------------------------------- */
+
+.supplier .main .vip_main {
+ background: #fff;
+ margin: 30rpx 0;
+}
+
+.supplier .main .vip_main .title {
+ padding: 20rpx;
+ font-size: 24rpx;
+ border-bottom: 2rpx solid #eee;
+}
+
+.supplier .main .vip_main .vip {
+ padding: 30rpx 20rpx;
+ overflow: hidden;
+ font-size: 24rpx;
+ color: #999;
+}
+
+.supplier .main .vip_main .vip .text {
+ width: 100%;
+}
+
+.supplier .main .vip_main .vip .text .t1 {
+ font-size: 32rpx;
+ color: #333;
+ margin-bottom: 20rpx;
+ text-align: left;
+}
+
+.supplier .success {
+ height: 400rpx;
+ padding-top: 130rpx;
+ background: #fff;
+}
+
+.supplier .success .ico {
+ height: 130rpx;
+ width: 130rpx;
+ margin: 0 auto;
+}
+
+.supplier .success .text {
+ height: 64rpx;
+ margin-top: 60rpx;
+ color: #666;
+ line-height: 51rpx;
+ text-align: center;
+}
+
+.supplier .success .a .sub {
+ height: 64rpx;
+ width: 80%;
+ background: #f55955;
+ margin: 40rpx auto;
+ border-radius: 64rpx;
+ color: #fff;
+ line-height: 64rpx;
+ text-align: center;
+ font-size: 28rpx;
+ margin-bottom: 40rpx;
+}
+
+.bwText {
+ width: 100%;
+ height: 60rpx;
+ background: #fff;
+ font-size: 20rpx;
+ color: rgba(153, 153, 153, 1);
+ display: flex;
+ align-items: center;
+ margin-bottom: 20rpx;
+}
+
+.bwText view {
+ margin-left: 30rpx;
+ box-sizing: border-box;
+}
+
+.introduce {
+ background: #fff;
+}
+
+.introduce .area {
+ margin: 0 30rpx;
+ box-sizing: border-box;
+ border-radius: 15rpx;
+}
+
+.introduce .area .mark {
+ width: 100%;
+ height: 300rpx;
+ background-color: rgba(248, 248, 248, 1);
+}
+
+.introduce .area textarea {
+ width: 100%;
+ background-color: rgba(248, 248, 248, 1);
+}
+
+.areaimgBox {
+ /* margin-top: 20rpx; */
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.areimage {
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 8rpx;
+ border: solid 1rpx rgba(153, 153, 153, 1);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-left: 20rpx;
+ margin-top: 20rpx;
+}
+
+.areaimgBox .dbox {
+ margin-left: 18rpx;
+ margin-top: 20rpx;
+}
+
+.dbox {
+ width: 120rpx;
+ height: 120rpx;
+ position: relative;
+}
+
+.icon-cel {
+ position: absolute;
+ top: -4rpx;
+ right: 0;
+ color: red;
+}
+
+.area text {
+ padding-top: 19rpx;
+ font-size: 20rpx;
+ color: rgba(153, 153, 153, 1);
+ box-sizing: border-box;
+}
+
+.statusSet {
+ background: #fff;
+ margin-bottom: 19rpx;
+}
+
+.statusBox {
+ margin: 0 57rpx 42rpx 30rpx;
+ box-sizing: border-box;
+}
+
+.statusTitle {
+ font-size: 24rpx;
+ color: rgba(51, 51, 51, 1);
+}
+
+.statusBox text {
+ color: red;
+}
+
+.staImg {
+ width: 641rpx;
+ height: 341rpx;
+ margin-left: 23rpx;
+ margin-top: 22rpx;
+}
+
+.staImg image {
+ width: 96%;
+ height: 97%;
+}
+
+.imaborder {
+ border: 1rpx solid rgba(153, 153, 153, 1);
+}
+
+.qitaTitle {
+ margin-left: 29rpx;
+ font-size: 24rpx;
+ color: #333;
+ margin-bottom: 22rpx;
+}
+
+.qitaimgbox {
+ margin-left: 54rpx;
+ margin-right: 57rpx;
+ padding-bottom: 39rpx;
+ box-sizing: border-box;
+ background: #fff;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.qitaimage {
+ width: 200rpx;
+ height: 200rpx;
+ border-radius: 8rpx;
+ border: solid 1rpx rgba(153, 153, 153, 1);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin: 5rpx 7rpx;
+ position: relative;
+}
+
+.qitaMin {
+ width: 76rpx;
+ height: 76rpx;
+}
+
+.qitaMax {
+ width: 98%;
+ height: 98%;
+ border-radius: 8rpx;
+}
+
+.textWork {
+ background: #fff;
+ padding-bottom: 45rpx;
+ box-sizing: border-box;
+}
+
+.textWork .area {
+ margin: 0 30rpx;
+ box-sizing: border-box;
+ border-radius: 15rpx;
+}
+
+.textWork .area .mark {
+ width: 100%;
+ height: 300rpx;
+ background-color: rgba(248, 248, 248, 1);
+}
+
+.textWork .area textarea {
+ width: 100%;
+ background-color: rgba(248, 248, 248, 1);
+ height: 450rpx;
+}
+
+/* kefu */
+.icon-close11 {
+ font-size: 18px;
+}
+
+.pop-content {
+ background-color: #fff;
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: center;
+ width: 100%;
+}
+
+.pop-content .pop-top .left {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ position: relative;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .line {
+ width: 1px;
+ height: 51rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.kefuxiaoxi {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ top: 0;
+ left: 0;
+}
+
+.msgbox {
+ line-height: 40rpx;
+ box-sizing: border-box;
+ padding: 20rpx;
+}
+
+/* ------------------ */
diff --git a/packageA/member/supplier/CommodityEditor/CommodityEditor.js b/packageA/member/supplier/CommodityEditor/CommodityEditor.js
new file mode 100644
index 0000000..504f784
--- /dev/null
+++ b/packageA/member/supplier/CommodityEditor/CommodityEditor.js
@@ -0,0 +1,790 @@
+// pages/member/CommodityEditor/CommodityEditor.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ store_id: '',
+ sectionOptions: [],
+ uploadUrl: '',
+ objectMultiArray: [],
+ multiIndex: [0, 0, 0],
+ regional: '请选择商品分类',
+ cargon_data: {
+ title: "",
+ sku: "",
+ thumb: "",
+ price: "",
+ market_price: "",
+ cost_price: "",
+ stock: "",
+ },
+ goods_id: '',
+ imageUrl: "",
+ fileList1: [],
+ fileList2: [],
+ upNumMax: 0,
+ selectedOptions3: [],
+ jumpState: true,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.store) {
+ this.setData({
+ store: options.store
+ });
+ }
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ if (options.goods_id) {
+ this.setData({
+ goods_id: options.goods_id
+ });
+ }
+ this._urlUp();
+ this._getClassifyJson();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //选择分类对接数据
+ _getClassifyJson() {
+ let that = this;
+ if (that.data.store == "store") {
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.goods-category.get-category-by-store-id");
+ urlStr += '&store_id=' + that.data.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let sectionOptionsData = [];
+ for (let i = 0; i < res.data.list.length; i++) {
+ sectionOptionsData.push({
+ id: res.data.list[i].id,
+ name: res.data.list[i].name,
+ children: []
+ });
+ for (let k = 0; k < res.data.list[i].childrens.length; k++) {
+ sectionOptionsData[i].children.push({
+ id: res.data.list[i].childrens[k].id,
+ name: res.data.list[i].childrens[k].name
+ });
+ }
+ }
+ that.setData({
+ sectionOptions: sectionOptionsData
+ });
+ that.goodsHandlefunction();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ that.getGoodsJson();
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ },
+ });
+ } else if (that.data.store == "supplier") {
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.goods.get-category");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let sectionOptionsData = [];
+ for (var i = 0; i < res.data.length; i++) {
+ sectionOptionsData.push({
+ id: res.data[i].id,
+ name: res.data[i].name,
+ children: []
+ });
+ if (!res.data[i].childrens || res.data[i].childrens.length < 1) {
+ // 判断是否有二级分类
+ } else {
+ // that.sectionOptions[i].children = [];
+ for (let k = 0; k < res.data[i].childrens.length; k++) {
+ sectionOptionsData[i].children.push({
+ id: res.data[i].childrens[k].id,
+ name: res.data[i].childrens[k].name,
+ children: []
+ });
+ if (!res.data[i].childrens[k].childrens || res.data[i].childrens[k].childrens.length < 1) {
+ // 判断是否有三级分类
+ } else {
+ for (var j = 0; j < res.data[i].childrens[k].childrens.length; j++) {
+ sectionOptionsData[i].children[k].children.push({
+ id: res.data[i].childrens[k].childrens[j].id,
+ name: res.data[i].childrens[k].childrens[j].name
+ });
+ }
+ }
+ }
+ }
+ }
+ that.setData({
+ sectionOptions: sectionOptionsData
+ });
+ that.goodsHandlefunction();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ that.getGoodsJson();
+ },
+ fail: function(res) {}
+ });
+ }
+ },
+ //商品图片上传
+ _urlUp() {
+ if (this.data.store == "store") {
+ this.setData({
+ uploadUrl: 'plugin.store-cashier.frontend.store.goods.upload'
+ });
+ } else if (this.data.store == "supplier") {
+ this.setData({
+ uploadUrl: 'plugin.supplier.frontend.goods.upload'
+ });
+ }
+ },
+ goodsHandlefunction() {
+ let sectionOptions = this.data.sectionOptions;
+ let arr_1 = [];
+ let arr_2 = [];
+ let arr_3 = [];
+ for (let i = 0; i < sectionOptions.length; i++) {
+ arr_1.push({
+
+ id: sectionOptions[i].id,
+ name: sectionOptions[i].name
+
+ });
+ }
+ if (sectionOptions[0].children.length > 0) {
+ for (let k = 0; k < sectionOptions[0].children.length; k++) {
+ arr_2.push({
+ id: sectionOptions[0].children[k].id,
+ name: sectionOptions[0].children[k].name
+ });
+ }
+ }
+ if ((sectionOptions[0].children && sectionOptions[0].children.length > 0) && (sectionOptions[0].children[0].children &&
+ sectionOptions[0].children[0].children.length > 0)) {
+ for (let j = 0; j < sectionOptions[0].children[0].children.length; j++) {
+ arr_3.push({
+ id: sectionOptions[0].children[0].children[j].id,
+ name: sectionOptions[0].children[0].children[j].name
+ });
+ }
+ }
+ this.setData({
+ 'objectMultiArray[0]': arr_1,
+ 'objectMultiArray[1]': arr_2,
+ 'objectMultiArray[2]': arr_3,
+ });
+ },
+ //获取数据
+ getGoodsJson() {
+ let that = this;
+ var urlStr = "";
+ var json = {};
+ if (that.data.store == "store") {
+ urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.goods.get-goods-detail");
+ json = {
+ goods_id: that.data.goods_id
+ };
+ } else if (that.data.store == "supplier") {
+ urlStr = app.getNetAddresss("plugin.supplier.frontend.goods.goods-detail");
+ json = {
+ goods_id: that.data.goods_id
+ };
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let selectedOptions3 = that.data.selectedOptions3;
+ if (res.data.category_ids.parentid) {
+ selectedOptions3.push(Number(res.data.category_ids.parentid));
+ }
+ if (res.data.category_ids.childid) {
+ selectedOptions3.push(Number(res.data.category_ids.childid));
+ }
+ if (res.data.category_ids.thirdid) {
+ selectedOptions3.push(Number(res.data.category_ids.thirdid));
+ }
+ that.setData({
+ selectedOptions3: selectedOptions3
+ });
+ if (
+ res.data.thumb_url != null &&
+ res.data.thumb_url != ""
+ ) {
+ let fileList1 = that.data.fileList1;
+ let fileList2 = that.data.fileList2;
+ for (var i = 0; i < res.data.thumb_url.length; i++) {
+ fileList1.push({
+ url: res.data.thumb_url[i]
+ });
+ fileList2.push({
+ url: res.data.thumb_url[i]
+ });
+ }
+ that.setData({
+ fileList1: fileList1,
+ fileList2: fileList2,
+ upNumMax: res.data.thumb_url.length
+ });
+ }
+ that.setData({
+ 'cargon_data.title': res.data.title,
+ 'cargon_data.sku': res.data.sku,
+ 'imageUrl': res.data.thumb,
+ 'cargon_data.thumb': res.data.thumb,
+ 'cargon_data.price': res.data.price,
+ 'cargon_data.market_price': res.data.market_price,
+ 'cargon_data.cost_price': res.data.cost_price,
+ 'cargon_data.stock': res.data.stock
+ });
+ //初始化分类选择
+ that.commodityInit();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {}
+ });
+ },
+ //商品名称值绑定
+ titleinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'cargon_data.title': val
+ });
+ },
+ //商品单位值绑定
+ skuinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'cargon_data.sku': val
+ });
+ },
+ //商品现价值绑定
+ priceinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'cargon_data.price': val
+ });
+ },
+ //商品原价值绑定
+ marketpriceinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'cargon_data.market_price': val
+ });
+ },
+ //商品成本值绑定
+ costPriceinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'cargon_data.cost_price': val
+ });
+ },
+ //商品库存值绑定
+ stockinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'cargon_data.stock': val
+ });
+ },
+ //选择图片
+ onRead_1() {
+ if (this.data.upNumMax == 4 || this.data.upNumMax >= 4) {
+ wx.showToast({
+ icon: 'none',
+ title: '图片数量已达到上限',
+ duration: 1500
+ });
+ return false;
+ }
+ let that = this;
+ let wx_token = wx.getStorageSync('wx_token');
+ let session = wx.getStorageSync('session');
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ urlStr += '&3rd_session=' + session;
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths[0]);
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ formData: {
+ attach: 'upload'
+ },
+ header:{
+ "Content-Type": "multipart/form-data",
+ Cookie: "PHPSESSID=" + wx_token,
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ let fileList1 = that.data.fileList1;
+ let fileList2 = that.data.fileList2;
+ fileList1.push({
+ url: res.data.img
+ });
+ fileList2.push({
+ url: photourl
+ });
+ that.setData({
+ upNumMax: that.data.upNumMax + 1,
+ fileList1: fileList1,
+ fileList2: fileList2
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ fail(e) {
+
+ },
+ complete(e) {
+
+ }
+ });
+ }
+ });
+ },
+ removeImg: function(e) {
+ let index = e.currentTarget.dataset.index;
+ let fileList1 = this.data.fileList1;
+ let fileList2 = this.data.fileList2;
+ fileList1.splice(index, 1);
+ fileList2.splice(index, 1);
+ this.setData({
+ fileList1: fileList1,
+ fileList2: fileList2
+ });
+ this.setData({
+ upNumMax: this.data.fileList1.length
+ });
+ },
+ commodityInit() {
+ let selectedOptions3 = this.data.selectedOptions3;
+ let sectionOptions = this.data.sectionOptions;
+ let arr_2 = [];
+ let arr_3 = [];
+ let str = '';
+ for (let i = 0; i < sectionOptions.length; i++) {
+ if (sectionOptions[i].id == selectedOptions3[0]) {
+ this.setData({
+ 'multiIndex[0]': i
+ });
+ str += sectionOptions[i].name;
+ break;
+ }
+ }
+ if (sectionOptions[this.data.multiIndex[0]].children.length > 0) {
+ for (let k = 0; k < sectionOptions[this.data.multiIndex[0]].children.length; k++) {
+ arr_2.push({
+ id: sectionOptions[this.data.multiIndex[0]].children[k].id,
+ name: sectionOptions[this.data.multiIndex[0]].children[k].name
+ });
+ }
+ }
+ this.setData({
+ 'objectMultiArray[1]': arr_2
+ });
+ if (sectionOptions[this.data.multiIndex[0]].children.length > 0) {
+ for (let k = 0; k < sectionOptions[this.data.multiIndex[0]].children.length; k++) {
+ if (sectionOptions[this.data.multiIndex[0]].children[k].id == selectedOptions3[1]) {
+ this.setData({
+ 'multiIndex[1]': k
+ });
+ str += '/' + sectionOptions[this.data.multiIndex[0]].children[k].name;
+ break;
+ }
+ }
+ }
+ if ((sectionOptions[this.data.multiIndex[0]].children && sectionOptions[this.data.multiIndex[0]].children.length >
+ 0) && (sectionOptions[this.data.multiIndex[0]].children[
+ this.data.multiIndex[1]].children && sectionOptions[this.data.multiIndex[0]].children[
+ this.data.multiIndex[1]].children.length > 0)) {
+ for (let j = 0; j < sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children.length; j++) {
+ arr_3.push({
+ id: sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children[j].id,
+ name: sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children[j].name
+ });
+ }
+ }
+ this.setData({
+ 'objectMultiArray[2]': arr_3
+ });
+ if ((sectionOptions[this.data.multiIndex[0]].children && sectionOptions[this.data.multiIndex[0]].children.length >
+ 0) && (sectionOptions[this.data.multiIndex[0]].children[
+ this.data.multiIndex[1]].children && sectionOptions[this.data.multiIndex[0]].children[
+ this.data.multiIndex[1]].children.length > 0)) {
+ for (let j = 0; j < sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children.length; j++) {
+ if (sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children[j].id == selectedOptions3[
+ 2]) {
+ this.setData({
+ 'multiIndex[1]': j
+ });
+ str += '/' + sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children[j].name;
+ break;
+ }
+ }
+ }
+ this.setData({
+ regional: str
+ });
+ },
+ commodityBtn(e) {
+ let column = e.detail.column;
+ let val = e.detail.value;
+ const data = {
+ multiArray: this.data.objectMultiArray,
+ };
+ this.setData({
+ ['multiIndex[' + column + ']']: val
+ });
+ switch (column) {
+ case 0:
+ this.selecommodity_0(val);
+ break;
+ case 1:
+ this.selecommodity_1(this.data.multiIndex[0], val);
+ break;
+ case 2:
+ break;
+ }
+ this.setData(data);
+ },
+ commodityconfirm(e) {
+ let sectionOptions = this.data.sectionOptions;
+ let indexArray = e.detail.value;
+ let index_0 = indexArray[0];
+ let index_1 = indexArray[1];
+ let index_2 = indexArray[2];
+ let idArray = [];
+ let strArray = [];
+ if (sectionOptions.length > 0) {
+ idArray.push(sectionOptions[index_0].id);
+ strArray.push(sectionOptions[index_0].name);
+ if (sectionOptions[index_0].children.length > 0) {
+ idArray.push(sectionOptions[index_0].children[index_1].id);
+ strArray.push(sectionOptions[index_0].children[index_1].name);
+ if (sectionOptions[index_0].children[index_1].children && sectionOptions[index_0].children[index_1].children.length >
+ 0) {
+ idArray.push(sectionOptions[index_0].children[index_1].children[index_2].id);
+ strArray.push(sectionOptions[index_0].children[index_1].children[index_2].name);
+ }
+ }
+ }
+ this.setData({
+ 'regional': strArray.join('/'),
+ selectedOptions3: idArray
+ });
+ },
+ selecommodity_0(index) {
+ let sectionOptions = this.data.sectionOptions;
+ let arr_2 = [];
+ let arr_3 = [];
+ if (sectionOptions[index].children.length > 0) {
+ for (let k = 0; k < sectionOptions[index].children.length; k++) {
+ arr_2.push({
+ id: sectionOptions[index].children[k].id,
+ name: sectionOptions[index].children[k].name
+ });
+ }
+ }
+ if ((sectionOptions[index].children && sectionOptions[index].children.length > 0) && (sectionOptions[index].children[
+ 0].children && sectionOptions[index].children[0].children.length > 0)) {
+ for (let j = 0; j < sectionOptions[index].children[0].children.length; j++) {
+ arr_3.push({
+ id: sectionOptions[index].children[0].children[j].id,
+ name: sectionOptions[index].children[0].children[j].name
+ });
+ }
+ }
+ this.setData({
+ 'objectMultiArray[1]': arr_2,
+ 'objectMultiArray[2]': arr_3,
+ 'multiIndex[1]': 0,
+ 'multiIndex[2]': 0
+ });
+ },
+ selecommodity_1(index_0, index_1) {
+ let sectionOptions = this.data.sectionOptions;
+ let arr_3 = [];
+ if ((sectionOptions[index_0].children && sectionOptions[index_0].children.length > 0) && (sectionOptions[index_0].children[
+ index_1].children && sectionOptions[index_0].children[index_1].children.length > 0)) {
+ for (let j = 0; j < sectionOptions[index_0].children[index_1].children.length; j++) {
+ arr_3.push({
+ id: sectionOptions[index_0].children[index_1].children[j].id,
+ name: sectionOptions[index_0].children[index_1].children[j].name
+ });
+ }
+ }
+ this.setData({
+ 'objectMultiArray[2]': arr_3,
+ 'multiIndex[2]': 0
+ });
+ },
+ //确认发布
+ confirmationEditor() {
+ var that = this;
+ that.jumpEvent();
+ if (that.data.jumpState == true) {
+ var newArr = [];
+ if (that.data.fileList1.length != 0) {
+ for (let i = 0; i < that.data.fileList1.length; i++) {
+ newArr.push(that.data.fileList1[i].url);
+ }
+ } else {
+ newArr = [];
+ }
+ let urlStr = "";
+ let json = {};
+ if (that.data.store == "store") {
+ urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.goods.edit-goods");
+ json = {
+ store_id: that.data.store_id,
+ goods_id: that.data.goods_id,
+ category_pid: that.data.selectedOptions3[0],
+ category_cid: that.data.selectedOptions3[1],
+ title: that.data.cargon_data.title,
+ thumb: that.data.cargon_data.thumb,
+ thumb_url: newArr,
+ cost_price: that.data.cargon_data.cost_price,
+ market_price: that.data.cargon_data.market_price,
+ price: that.data.cargon_data.price,
+ sku: that.data.cargon_data.sku,
+ stock: that.data.cargon_data.stock
+ };
+ } else if (that.data.store == "supplier") {
+ urlStr = app.getNetAddresss("plugin.supplier.frontend.goods.edit-goods");
+ json = {
+ title: that.data.cargon_data.title,
+ goods_id: that.data.goods_id,
+ thumb: that.data.cargon_data.thumb,
+ thumb_url: newArr,
+ cost_price: that.data.cargon_data.cost_price,
+ market_price: that.data.cargon_data.market_price,
+ price: that.data.cargon_data.price,
+ sku: that.data.cargon_data.sku,
+ stock: that.data.cargon_data.stock
+ };
+ if (that.data.selectedOptions3.length < 2) {
+ wx.showToast({
+ icon: 'none',
+ title: '必须选择二级分类',
+ duration: 1500
+ });
+ return;
+ } else if (that.data.selectedOptions3.length < 3) {
+ json.category_pid = that.data.selectedOptions3[0];
+ json.category_cid = that.data.selectedOptions3[1];
+ } else {
+ json.category_pid = that.data.selectedOptions3[0];
+ json.category_cid = that.data.selectedOptions3[1];
+ json.category_tid = that.data.selectedOptions3[2];
+ }
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: '上传商品成功',
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {}
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '商品信息不完整',
+ duration: 1500
+ });
+ }
+ },
+ //跳转测试
+ jumpEvent() {
+ this.setData({
+ jumpState: true
+ });
+ for (let item in this.data.cargon_data) {
+ if (this.data.cargon_data[item] == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ if (this.data.selectedOptions3.length == 0) {
+ this.setData({
+ jumpState: false
+ });
+ }
+ if (this.data.imageUrl == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ },
+ //选择图片
+ onRead() {
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ imageUrl: photourl,
+ 'cargon_data.thumb': res.data.img
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ fail(e) {
+
+ },
+ complete(e) {
+
+ }
+ });
+ }
+ });
+ },
+});
diff --git a/packageA/member/supplier/CommodityEditor/CommodityEditor.json b/packageA/member/supplier/CommodityEditor/CommodityEditor.json
new file mode 100644
index 0000000..b60b6e1
--- /dev/null
+++ b/packageA/member/supplier/CommodityEditor/CommodityEditor.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "商品编辑",
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index"
+ }
+}
diff --git a/packageA/member/supplier/CommodityEditor/CommodityEditor.wxml b/packageA/member/supplier/CommodityEditor/CommodityEditor.wxml
new file mode 100644
index 0000000..680171e
--- /dev/null
+++ b/packageA/member/supplier/CommodityEditor/CommodityEditor.wxml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+ 商品分类:
+
+
+
+
+ {{regional?regional:'请选择分类'}}
+
+
+
+
+
+
+
+ 商品图片:
+
+
+
+
+
+
+
+
+
+ 其他图片:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认发布
+
+
+
diff --git a/packageA/member/supplier/CommodityEditor/CommodityEditor.wxss b/packageA/member/supplier/CommodityEditor/CommodityEditor.wxss
new file mode 100644
index 0000000..a0d896a
--- /dev/null
+++ b/packageA/member/supplier/CommodityEditor/CommodityEditor.wxss
@@ -0,0 +1,134 @@
+/* pages/member/CommodityEditor/CommodityEditor.wxss */
+page {
+ background: #fff;
+}
+
+.goods-edit {
+ padding-bottom: 160rpx;
+}
+
+.goods-edit .commodity {
+ display: flex;
+ align-items: center;
+ font-size: 28rpx;
+ padding-left: 30rpx;
+ margin: 20rpx 0;
+}
+
+.goods-edit .commodity .button {
+ max-width: 480rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ border-radius: 10rpx;
+ color: rgb(31, 45, 61);
+ border: 2rpx solid rgb(191, 203, 217);
+ min-width: 160rpx;
+ margin-left: 30rpx;
+ text-align: center;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+}
+
+.goods-edit .edit-b {
+ display: flex;
+ align-items: center;
+ font-size: 28rpx;
+ padding-left: 30rpx;
+}
+
+.goods-edit .edit-b .photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ margin-left: 30rpx;
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.goods-edit .edit-b .photoshow image {
+ width: 100%;
+}
+
+.goods-edit .otherphoto {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.goods-edit .otherphoto .top {
+ font-size: 28rpx;
+ height: 100rpx;
+ text-align: left;
+ padding-left: 26rpx;
+ line-height: 100rpx;
+}
+
+.goods-edit .otherphoto .imgflex {
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.goods-edit .otherphoto .imgflex .photobox {
+ width: 190rpx;
+ height: 190rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+ overflow: hidden;
+}
+
+.goods-edit .otherphoto .imgflex .photobox image {
+ width: 100%;
+}
+
+.goods-edit .otherphoto .imgflex .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.goods-edit .otherphoto .imgflex .photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+}
+
+.goods-edit .otherphoto .imgflex .photoshow image {
+ width: 100%;
+}
+
+.goods-edit .btn {
+ background-color: #fff;
+ width: 100%;
+ position: fixed;
+ bottom: 0;
+ z-index: 100;
+ border-top: solid 2rpx #ebebeb;
+ padding: 0 28rpx;
+ margin-top: 40rpx;
+ box-sizing: border-box;
+}
+
+.goods-edit .btn .button {
+ height: 80rpx;
+ line-height: 80rpx;
+ border-radius: 6rpx;
+ margin: 12rpx 0;
+ width: 100%;
+ color: #fff;
+ font-size: 32rpx;
+ background-color: #f15353;
+ text-align: center;
+}
diff --git a/packageA/member/supplier/CommodityManagement/CommodityManagement.js b/packageA/member/supplier/CommodityManagement/CommodityManagement.js
new file mode 100644
index 0000000..9460132
--- /dev/null
+++ b/packageA/member/supplier/CommodityManagement/CommodityManagement.js
@@ -0,0 +1,470 @@
+// pages/member/CommodityManagement/CommodityManagement.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ store: '',
+ store_id: '',
+ commodity_data: [],
+ goods_length: '',
+ type: '',
+ // more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ goods_audit: 0,
+ goods_name:""
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.store) {
+ this.setData({
+ store: options.store,
+ type: options.store
+ });
+ }
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.initData();
+ this._getJson();
+ if (this.data.store == 'store') {
+ this.getGoodsAaudit();
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () { },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () { },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () { },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () { },
+ // 商品数据获取
+ _getJson() {
+ let that = this;
+ let urls = '';
+ let json = {};
+ if (this.data.store == 'store') {
+ urls = 'plugin.store-cashier.frontend.store.goods.get-goods-list';
+ json = {
+ store_id: this.data.store_id
+ };
+ } else if (this.data.store == 'supplier') {
+ urls = 'plugin.supplier.frontend.goods.get-goods-list';
+ json = {
+ sid: this.data.store_id
+ };
+ }
+ let urlStr = app.getNetAddresss(urls);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ commodity_data: []
+ });
+ if (that.data.store == 'store') {
+ for (let i = 0; i < res.data.goods_data.length; i++) {
+ res.data.goods_data[i].edit_active = false;
+ }
+ console.log(res.data, '数组的合并');
+
+ that.setData({
+ goods_length: res.data.count,
+ total_page: res.data.goods_data.last_page,
+ commodity_data: res.data.goods_data.data
+ });
+ if (app.data.host == 'https://dev3.yunzshop.com/') {
+ that.setData({
+ commodity_data: res.data.goods_data
+ });
+ }
+ } else if (that.data.store == 'supplier') {
+ for (let i = 0; i < res.data.list.length; i++) {
+ res.data.list[i].edit_active = false;
+ }
+ console.log(res.data, '数组的格式');
+
+ that.setData({
+ total_page: res.data.list.last_page,
+ goods_length: res.data.list.data.length,
+ commodity_data: res.data.list.data
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) { }
+ });
+ },
+ // 更多
+ moreEvent(e) {
+ let index = e.currentTarget.dataset.index;
+ if (this.data.commodity_data[index].edit_active == false) {
+ this.emptyEditActive();
+ this.setData({
+ ['commodity_data[' + index + '].edit_active']: true
+ });
+ } else {
+ this.emptyEditActive();
+ }
+ },
+ // 清空编辑删除状态
+ emptyEditActive() {
+ for (var i = 0; i < this.data.commodity_data.length; i++) {
+ this.setData({
+ ['commodity_data[' + i + '].edit_active']: false
+ });
+ }
+ },
+ // 路由跳转
+ routeTake() {
+ wx.navigateTo({
+ url: '/packageA/member/supplier/CommodityRelease/CommodityRelease?store_id=' + this.data.store_id + '&store=' +this.data.store
+ });
+ this.emptyEditActive();
+ },
+ // 商品删除
+ commodityDelete(e) {
+ let that = this;
+ let index = e.currentTarget.dataset.index;
+ this.emptyEditActive();
+ wx.showModal({
+ title: '提示',
+ content: '此操作将永久删除该商品, 是否继续?',
+ success(res) {
+ if (res.confirm) {
+ let urlStr = '';
+ let json = {};
+ if (that.data.store == 'store') {
+ urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.destroy-goods');
+ json = {
+ goods_id: that.data.commodity_data[index].id
+ };
+ } else if (that.data.store == 'supplier') {
+ urlStr = app.getNetAddresss('plugin.supplier.frontend.goods.del-goods');
+ json = {
+ goods_id: that.data.commodity_data[index].id
+ };
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: '商品删除成功',
+ duration: 1500
+ });
+ let commodity_data = that.data.commodity_data;
+ commodity_data.splice(index, 1);
+ that.setData({
+ commodity_data: commodity_data,
+ goods_length: Number(that.data.goods_length) - 1
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) { }
+ });
+ } else if (res.cancel) {
+ wx.showToast({
+ icon: 'none',
+ title: '已取消删除',
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ editJumpEvent(e) {
+ let index = e.currentTarget.dataset.index;
+ console.log(this.data.commodity_data[index].id, index, '11111222');
+ // return
+ wx.navigateTo({
+ url: '/packageA/member/supplier/CommodityRelease/CommodityRelease?store_id=' + this.data.store_id + '&goods_id=' +
+ this.data.commodity_data[index].id + '&store=' + this.data.store
+ });
+ },
+ // editJumpEvent(e) {
+ // let index = e.currentTarget.dataset.index
+ // wx.navigateTo({
+ // url: '/packageA/member/supplier/CommodityEditor/CommodityEditor?store_id=' + this.data.store_id + '&goods_id=' +
+ // this.data.commodity_data[index].id + '&store=' + this.data.store
+ // })
+ // },
+ initData() {
+ this.setData({
+ commodity_data: [],
+ goods_length: '',
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ goods_audit: 0
+ });
+ },
+ changeGoodsStatus(e) {
+ let item = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index;
+ if (this.data.store === 'supplier') {
+ return;
+ }
+ let status = 0;
+ if (item.status !== 1) {
+ status = 1;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.changeGoodsStatus');
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ goods_id: item.id,
+ status: status
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (status === 1) {
+ that.setData({
+ ['commodity_data[' + index + '].status']: 1
+ });
+ wx.showToast({
+ title: '上架成功',
+ icon: 'none',
+ duration: 1500
+ });
+ } else {
+ that.setData({
+ ['commodity_data[' + index + '].status']: 0
+ });
+ wx.showToast({
+ title: '下架成功',
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ } else {
+ if (status === 1) {
+ wx.showToast({
+ title: '上架失败',
+ icon: 'none',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ title: '下架失败',
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 获取更多数据
+ getMoreData() {
+ const that = this;
+ let urls = '';
+ let json = {};
+ if (that.data.store == 'store') {
+ urls = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.get-goods-list');
+ json = {
+ store_id: that.data.store_id
+ };
+ } else if (that.data.store == 'supplier') {
+ urls = app.getNetAddresss('plugin.supplier.frontend.goods.get-goods-list');
+ json = {
+ sid: that.data.store_id
+ };
+ }
+ that.setData({
+ isLoadMore: false
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: this.data.page + 1
+ });
+ json.page = that.data.page;
+ app._getNetWork({
+ url: urls,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.store == 'store') {
+ for (var i = 0; i < res.data.goods_data.data.length; i++) {
+ res.data.goods_data.data[i].edit_active = false;
+ }
+ that.setData({
+ commodity_data: that.data.commodity_data.concat(res.data.goods_data.data)
+ });
+ } else if (that.data.store == 'supplier') {
+ for (var j = 0; j < res.data.list.data.length; j++) {
+ res.data.list.data[j].edit_active = false;
+ }
+ that.setData({
+ commodity_data: that.data.commodity_data.concat(res.data.list.data)
+ });
+ }
+ that.setData({
+ isLoadMore: true
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ onCancel(){
+ this.setData({goods_name:""})
+ },
+ onChange(event){
+ console.log(event)
+ this.setData({
+ goods_name:event.detail
+ })
+ },
+ onSearch(){
+ let url = '';
+ let json = {}
+ if(this.data.store == 'supplier'){
+ url = 'plugin.supplier.frontend.goods.get-goods-list',
+ json = {
+ goods_name:this.data.goods_name,
+ sid: this.data.store_id
+ }
+ }else{
+ url = 'plugin.store-cashier.frontend.store.goods.get-goods-list'
+ json = {
+ goods_name:this.data.goods_name,
+ store_id: this.data.store_id
+ }
+ }
+ let urlr = app.getNetAddresss(url);
+ app._getNetWork({
+ url: urlr,
+ data: json,
+ success: (resdata)=> {
+ console.log(resdata)
+ if(resdata.data.result == 1){
+ if(this.data.store == 'supplier'){
+ this.setData({
+ commodity_data:resdata.data.data.list.data,
+ page:resdata.data.data.list.current_page,
+ total:resdata.data.data.list.last_page
+ })
+ }else{
+ this.setData({
+ commodity_data:resdata.data.data.goods_data.data,
+ page:resdata.data.data.goods_data.current_page,
+ total:resdata.data.data.goods_data.last_page
+ })
+
+ }
+ }else{
+ wx.showToast({
+ icon:"none",
+ title: resdata.data.msg,
+ })
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getGoodsAaudit() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.setting.get-goods-audit');
+ app._getNetWork({
+ url: urlStr,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goods_audit: res.data.goods_audit
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageA/member/supplier/CommodityManagement/CommodityManagement.json b/packageA/member/supplier/CommodityManagement/CommodityManagement.json
new file mode 100644
index 0000000..f454d7e
--- /dev/null
+++ b/packageA/member/supplier/CommodityManagement/CommodityManagement.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "商品管理",
+ "usingComponents": {
+ "van-search": "/dist/search/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/CommodityManagement/CommodityManagement.wxml b/packageA/member/supplier/CommodityManagement/CommodityManagement.wxml
new file mode 100644
index 0000000..8fe6836
--- /dev/null
+++ b/packageA/member/supplier/CommodityManagement/CommodityManagement.wxml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+ 商品数量:{{goods_length}}
+
+ 发布商品
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ 点击
+ {{item.status === 0 ?'上架':'下架'}}
+
+
+ {{item.status === 1 ?'上架':'下架'}}
+
+
+
+ 状态:{{item.status === 1 ?'上架':'下架'}}
+
+
+ {{language['money']}}
+ {{item.price}}
+
+
+ 库存:{{item.stock}}
+ 销量:{{item.virtual_sales+item.real_sales}}
+
+
+
+
+
+
+
+
+ 编辑
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/member/supplier/CommodityManagement/CommodityManagement.wxss b/packageA/member/supplier/CommodityManagement/CommodityManagement.wxss
new file mode 100644
index 0000000..5aa1b3e
--- /dev/null
+++ b/packageA/member/supplier/CommodityManagement/CommodityManagement.wxss
@@ -0,0 +1,176 @@
+/* pages/member/CommodityManagement/CommodityManagement.wxss */
+.goods-manage .release-goods {
+ background-color: #fff;
+ display: flex;
+ font-size: 32rpx;
+ position: relative;
+ height: 96rpx;
+ line-height: 96rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.goods-manage .release-goods .release-a {
+ width: 96rpx;
+ height: 96rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.goods-manage .release-goods .release-a icon {
+ font-size: 48rpx;
+ color: rgb(241, 83, 83);
+}
+
+.goods-manage .release-goods .release-b {
+ position: absolute;
+ right: 28rpx;
+ top: 22rpx;
+ font-size: 28rpx;
+ background-color: #f15353;
+ height: 52rpx;
+ line-height: 52rpx;
+ padding: 0 20rpx;
+ display: block;
+ border-radius: 26rpx;
+ color: #fff;
+}
+
+.goods-manage .goods-list .goods-list {
+ background-color: #fff;
+ padding-top: 20rpx;
+ padding-left: 20rpx;
+ padding-bottom: 20rpx;
+ display: flex;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.goods-manage .goods-list .goods-list .goods-a {
+ width: 160rpx;
+ height: 160rpx;
+ background-color: #ccc;
+ overflow: hidden;
+}
+
+.goods-manage .goods-list .goods-list .goods-a image {
+ width: 100%;
+ height: 100%;
+}
+
+.goods-manage .goods-list .goods-list .goods-b {
+ margin: 0 28rpx;
+ width: 514rpx;
+ text-align: left;
+ line-height: 40rpx;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .name {
+ height: 80rpx;
+ font-size: 28rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .title-box .p {
+ float: right;
+ padding: 4rpx 12rpx;
+ color: #fff;
+ font-size: 24rpx;
+ border-radius: 16rpx;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .title-box .red {
+ background: #f15353;
+ border: 2rpx solid #f15353;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .title-box .gray {
+ background: #8c8c8c;
+ border: 2rpx solid #8c8c8c;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .price {
+ color: #f15353;
+ font-size: 32rpx;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .price .span {
+ font-size: 24rpx;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .info {
+ position: relative;
+ color: #8c8c8c;
+ font-size: 24rpx;
+ overflow: visible;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .info .font {
+ margin-right: 40rpx;
+ display: inline-block;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .info .morebtn {
+ display: inline-block;
+ width: 32rpx;
+ height: 54rpx;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .info .icon-more {
+ position: absolute;
+ right: 0;
+ z-index: 2;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .info .more {
+ background: rgba(51, 51, 51, 0.9);
+ border-radius: 8rpx;
+ color: #f0f0f0;
+ width: 176rpx;
+ position: absolute;
+ right: 0;
+ top: -88rpx;
+ overflow: visible;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .info .more .ul {
+ display: flex;
+ justify-content: center;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .info .more .ul .li {
+ flex: 1;
+ text-align: center;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .info .more .ul .li icon {
+ display: block;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .info .more .icon {
+ position: absolute;
+ right: 0;
+ top: 72rpx;
+ overflow: hidden;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .info .more .icon icon {
+ color: rgba(51, 51, 51, 0.9);
+ font-size: 48rpx;
+}
+
+.goods-manage .goods-list .goods-list:last-child {
+ border: none;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .red {
+ color: #f15353;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .gray {
+ color: #8c8c8c;
+}
diff --git a/packageA/member/supplier/CommodityRelease/CommodityRelease.js b/packageA/member/supplier/CommodityRelease/CommodityRelease.js
new file mode 100644
index 0000000..8aeb4dc
--- /dev/null
+++ b/packageA/member/supplier/CommodityRelease/CommodityRelease.js
@@ -0,0 +1,424 @@
+// pages/member/CommodityRelease/CommodityRelease.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ DataInfo: [],
+ store: '',
+ store_id: '',
+ isQuesetOk: false, // 数据获取成功
+
+ postJson: {}, // 请求参数
+
+ titleTest: '商品发布',
+ isType: false, // 是否为商品发布
+ showCoverLayer: false, // 是否显示遮盖层
+
+ Signthree: 0,
+
+ // 选择分类
+ options: [],
+ selectedOptions3: [],
+ sectionOptions: [],
+ jumpState: true,
+ number: 1,
+
+ show1: false,
+ show2: false,
+ checkbox3: ['2'],
+ radio1: 1,
+ radio: '1',
+ list: ['a', 'b', 'c'], // 引用组件,
+ result: ['a', 'b'],
+ goods_id: '',
+ is_tap:false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.store) {
+ this.setData({
+ store: options.store
+ });
+ console.log(this.data.store, '详情参数');
+ }
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ if (options.goods_id) {
+ this.setData({
+ goods_id: options.goods_id
+ });
+ }
+ let isType = app._isTextEmpty(options.goods_id);
+ this.setData({
+ isType});
+ this._setTitle();
+
+ if(options.store=='store'){
+ this.tab_discount();
+ }
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ // 设置标题
+ _setTitle() {
+ if (!this.data.isType) {
+ wx.setNavigationBarTitle({
+ title: '商品编辑' // 修改title
+ });
+ } else {
+ wx.setNavigationBarTitle({
+ title: '商品发布' // 修改title
+ });
+ }
+ },
+ // 获取数据
+ getGoodsJson() {
+ var urlStr = '';
+ var json = {};
+ if (!this.data.isType) {
+ if (this.data.store == 'store') {
+ urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.get-goods-detail');
+ json = { goods_id: this.options.goods_id };
+ } else if (this.data.store == 'supplier') {
+ urlStr = app.getNetAddresss('plugin.supplier.frontend.goods.goods-detail');
+ json = { goods_id: this.options.goods_id };
+ }
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+
+ if (res.result == 1) {
+ this.setData({
+ DataInfo: res.data,
+ isQuesetOk: true
+ });
+ console.log(this.data.DataInfo, '传递的数据啊');
+
+ if (this.data.store == 'store') {
+ if (this.data.tab_discount) {
+ this.selectComponent('#componentId').getDataInfo();
+ }
+ if (this.data.tab_privilege) {
+ this.selectComponent('#mychildTwo').getDataInfo();
+ }
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ } else {
+ this.setData({
+ isQuesetOk: true
+ });
+ }
+ },
+ // 判断是否显示完成按钮
+ isCoverLayer(data) {
+ this.setData({
+ showCoverLayer: data.detail
+ });
+ },
+ // 判断是否开启折扣
+ tab_discount(e) {
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.get-store-goods-setting');
+ app._postNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res.data.goods_widgets.tab_discount, res.data.goods_widgets.tab_privilege, '权限', '折扣是否开启');
+ if (res.data.goods_widgets.tab_discount == 1) {
+ this.setData({
+ tab_discount: true
+ });
+ this.getGoodsJson();
+ }
+ if (res.data.goods_widgets.tab_privilege == 1) {
+ this.setData({
+ tab_privilege: true
+ });
+ this.getGoodsJson();
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getChildoneData(e) {
+ let postJson = e.detail;
+
+ this.setData({
+ postJson});
+ },
+ getChildoneDataFun(val) {
+ let postJson1 = val.detail;
+ this.setData({
+ postJson1});
+ },
+ getSignthree(a) {
+ this.setData({
+ Signthree: a.detail
+ });
+ },
+ getChildoneDatas(e) {
+ let postJson2 = e.detail;
+ this.setData({
+ postJson2});
+ },
+ // 确认发布/编辑按钮
+ publishEvent() {
+ let urls = '';
+ let json = {};
+ if (this.options.store == 'store' || this.data.store == 'store') {
+ if (this.data.tab_privilege) {
+ this.selectComponent('#mychildTwo').PermissionsJson();
+ }
+ if (this.data.tab_discount) {
+ this.selectComponent('#componentId').DiscountJson();
+ }
+ this.selectComponent('#dataChildDone').setJson();
+ } else if (this.options.store == 'supplier' || this.data.store == 'store') {
+ this.selectComponent('#dataChildDone').setJson();
+ }
+ json = Object.assign(this.data.postJson, this.data.postJson1, this.data.postJson2);
+ console.log(json, '总数据上面没有');
+
+ if (app._isTextEmpty(json.title)) {
+ wx.showToast({
+ title: '请填写商品名称',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(json.sku)) {
+ wx.showToast({
+ title: '请填写商品单位',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(json.category_cid)) {
+ wx.showToast({
+ title: '请填写商品分类',
+ icon: 'none'
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(json.thumb)) {
+ wx.showToast({
+ title: '请上传商品图片',
+ icon: 'none'
+ });
+ return;
+ }
+ if (this.data.isType) {
+ if (app._isTextEmpty(json.good_content) && app._isTextEmpty(json.content_text)) {
+ wx.showToast({
+ title: '请上传商品详情图片或商品详情文字',
+ icon: 'none'
+ });
+ return;
+ }
+ }
+ // if (app._isTextEmpty(json.thumb_url)) {
+ // wx.showToast({
+ // title: '请上传商品其他图片',
+ // icon: 'none'
+ // })
+ // return
+ // }
+ if (app._isTextEmpty(json.price)) {
+ wx.showToast({
+ title: '请填写商品现价',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(json.market_price)) {
+ wx.showToast({
+ title: '请填写商品原价',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(json.cost_price)) {
+ wx.showToast({
+ title: '请填写商品成本价',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(json.stock)) {
+ wx.showToast({
+ title: '请填写库存',
+ icon: 'none'
+ });
+ return;
+ }
+
+ if (this.data.store == 'store') {
+ if (this.data.tab_privilege) {
+ if (app._isTextEmpty(json.once_buy_limit)) {
+ wx.showToast({
+ title: '请输入每次限购数量',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(json.total_buy_limit)) {
+ wx.showToast({
+ title: '请输入会员限购总数',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(json.day_buy_limit)) {
+ wx.showToast({
+ title: '请输入会员每天限购总数',
+ icon: 'none'
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(json.week_buy_limit)) {
+ wx.showToast({
+ title: '请输入会员每周期限购数量',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(json.month_buy_limit)) {
+ wx.showToast({
+ title: '请输入会员每月限购数量',
+ icon: 'none'
+ });
+ return;
+ }
+ }
+
+ }
+ if(!this.data.is_tap){
+ this.setData({
+ is_tap:true
+ });
+ }else{
+ console.log('#############################出去不要重复点击');
+ return;
+ }
+ if (this.data.isType) {
+ // 商品发布的提交 GET
+ if (this.options.store == 'store') {
+ urls = 'plugin.store-cashier.frontend.store.goods.add-goods';
+ }else if (this.options.store == 'supplier') {
+ urls = 'plugin.supplier.frontend.goods.add-goods';
+ }
+ }else {
+ // 商品编辑的提交 POST
+ json.goods_id = this.data.goods_id;
+ if (this.data.store == 'store') {
+ urls = 'plugin.store-cashier.frontend.store.goods.edit-goods';
+ }else if (this.data.store == 'supplier') {
+ urls = 'plugin.supplier.frontend.goods.edit-goods';
+ }
+ }
+
+ console.log(json, '编辑的总数据');
+ var that = this;
+ let urlStr = app.getNetAddresss(urls);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ that.setData({
+ is_tap:false
+ });
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: that.data.isType?'上传商品成功':'编辑成功',
+ duration: 1500
+ });
+ setTimeout(() => {
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 2000);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ that.setData({
+ is_tap:false
+ });
+ }
+ });
+ }
+});
diff --git a/packageA/member/supplier/CommodityRelease/CommodityRelease.json b/packageA/member/supplier/CommodityRelease/CommodityRelease.json
new file mode 100644
index 0000000..c6c56ac
--- /dev/null
+++ b/packageA/member/supplier/CommodityRelease/CommodityRelease.json
@@ -0,0 +1,12 @@
+{
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index",
+ "BasicInformation": "../../../mycomponent/basicInformation/basicInformation",
+ "Permissions": "../../../mycomponent/Permissions/Permissions",
+ "discount": "../../../mycomponent/discount/discount",
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "van-toast": "../../../../dist/toast/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/CommodityRelease/CommodityRelease.wxml b/packageA/member/supplier/CommodityRelease/CommodityRelease.wxml
new file mode 100644
index 0000000..98e181b
--- /dev/null
+++ b/packageA/member/supplier/CommodityRelease/CommodityRelease.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认发布
+
+
\ No newline at end of file
diff --git a/packageA/member/supplier/CommodityRelease/CommodityRelease.wxss b/packageA/member/supplier/CommodityRelease/CommodityRelease.wxss
new file mode 100644
index 0000000..a7bcfef
--- /dev/null
+++ b/packageA/member/supplier/CommodityRelease/CommodityRelease.wxss
@@ -0,0 +1,28 @@
+/* pages/member/CommodityRelease/CommodityRelease.wxss */
+page {
+ background: #fff;
+}
+
+.goods-release .btn {
+ background-color: #fff;
+ width: 100%;
+ position: fixed;
+ bottom: 0;
+ z-index: 100;
+ border-top: solid 2rpx #ebebeb;
+ padding: 0 28rpx;
+ margin-top: 40rpx;
+ box-sizing: border-box;
+}
+
+.goods-release .btn .button {
+ height: 80rpx;
+ line-height: 80rpx;
+ border-radius: 6rpx;
+ margin: 12rpx 0;
+ width: 100%;
+ color: #fff;
+ font-size: 32rpx;
+ background-color: #f15353;
+ text-align: center;
+}
diff --git a/packageA/member/supplier/SupInfoManage/SupInfoManage.js b/packageA/member/supplier/SupInfoManage/SupInfoManage.js
new file mode 100644
index 0000000..0191702
--- /dev/null
+++ b/packageA/member/supplier/SupInfoManage/SupInfoManage.js
@@ -0,0 +1,510 @@
+// pages/member/supplier/SupInfoManage/SupInfoManage.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ member_id: '',
+ information: {
+ my_name: '',
+ phone_number: '',
+ store_name: '',
+ store_logo: '',
+ bank_account: '',
+ owner_name: '',
+ opening_bank: '',
+ opening_branch: '',
+ enterprise_alipay: '',
+ enterprise_alipay_user: '',
+ alipay: '',
+ alipay_username: '',
+ weChat_account: '',
+ category:'',
+ group:'',
+ imageList:''
+ },
+ imageUrl: '',
+ jumpState: true,
+ fill_set: '',
+ // imageList:[]
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.member_id) {
+ this.setData({
+ member_id: options.member_id
+ });
+ }
+ this._getFillSet();
+ this._getJson();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _getFillSet() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.info.getFillSet");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function(resdata) {
+ let res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ 'fill_set': res.data.fill_set ? res.data.fill_set : ''
+ });
+ console.log(that.data.fill_set);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ //获取数据
+ _getJson() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.info.index");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ member_id: that.data.member_id
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ console.log(resdata,'resdata');
+ if (res.result == 1) {
+ that.setData({
+ 'information.my_name': res.data.realname ? res.data.realname : '',
+ 'information.phone_number': res.data.mobile ? res.data.mobile : '',
+ 'information.store_name': res.data.store_name ? res.data.store_name : "",
+ 'information.store_logo': res.data.logo ? res.data.logo : '',
+ 'imageUrl': res.data.logo ? res.data.logo : '',
+ 'information.bank_account': res.data.company_bank ? res.data.company_bank : '',
+ 'information.owner_name': res.data.bank_username ? res.data.bank_username : '',
+ 'information.opening_bank': res.data.bank_of_accounts ? res.data.bank_of_accounts : '',
+ 'information.opening_branch': res.data.opening_branch ? res.data.opening_branch : '',
+ 'information.enterprise_alipay': res.data.company_ali ? res.data.company_ali : '',
+ 'information.enterprise_alipay_user': res.data.company_ali_username ? res.data.company_ali_username : '',
+ 'information.alipay': res.data.ali ? res.data.ali : '',
+ 'information.alipay_username': res.data.ali_username ? res.data.ali_username : '',
+ 'information.weChat_account': res.data.wechat ? res.data.wechat : '',
+ 'information.category': res.data.has_one_category ? res.data.has_one_category.title : '默认行业',
+ 'information.group': res.data.has_one_group ? res.data.has_one_group.title : '默认分组',
+ 'information.imageList':res.data.has_one_aptitude.aptitude ? res.data.has_one_aptitude.aptitude : '',
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {}
+ });
+ },
+ //真实姓名值绑定
+ myNameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.my_name': val
+ });
+ },
+ //手机号码值绑定
+ phoneNumberinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.phone_number': val
+ });
+ },
+ //店铺名称值绑定
+ storeNameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.store_name': val
+ });
+ },
+ //银行卡账号值绑定
+ bankAccountinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.bank_account': val
+ });
+ },
+ //开户人姓名值绑定
+ ownerNameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.owner_name': val
+ });
+ },
+ //开户银行值绑定
+ openingBankinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.opening_bank': val
+ });
+ },
+ //开户支行值绑定
+ openingBranchinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.opening_branch': val
+ });
+ },
+ //企业支付宝账号值绑定
+ enterpriseAlipayinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.enterprise_alipay': val
+ });
+ },
+ //企业支付宝用户名值绑定
+ enterpriseAlipayUserinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.enterprise_alipay_user': val
+ });
+ },
+ //支付宝账号值绑定
+ alipayinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.alipay': val
+ });
+ },
+ //支付宝用户名值绑定
+ alipayUsernameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.alipay_username': val
+ });
+ },
+ weChatAccountinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'information.weChat_account': val
+ });
+ },
+ //选择图片
+ onRead() {
+ let that = this;
+ let wx_token = wx.getStorageSync('wx_token');
+ let session = wx.getStorageSync('session');
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.info.upload");
+ urlStr += '&3rd_session=' + session;
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths[0]);
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ console.log('eee', e);
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ header:{
+ "Content-Type": "multipart/form-data",
+ Cookie: "PHPSESSID=" + wx_token,
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ imageUrl: photourl,
+ 'information.store_logo': res.data.img
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ fail(e) {
+
+ },
+ complete(e) {
+
+ }
+ });
+ }
+ });
+ },
+ //确认条件
+ jumpJudge() {
+ this.setData({
+ jumpState: true
+ });
+
+ if (!this.data.information.my_name || !this.data.information.phone_number || !this.data.information.store_name || !this.data.information.store_logo) {
+ this.setData({
+ jumpState: false
+ });
+ }
+
+ // for (let item in this.data.information) {
+ // if (this.data.information[item] == '') {
+ // this.setData({
+ // jumpState: false
+ // })
+ // }
+ // }
+
+ if (this.data.fill_set) {
+ if (this.data.fill_set.company_bank == "1") {
+ if (this.data.information.bank_account == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ if (this.data.fill_set.bank_username == "1") {
+ if (this.data.information.owner_name == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ if (this.data.fill_set.bank_of_accounts == "1") {
+ if (this.data.information.opening_bank == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ if (this.data.fill_set.opening_branch == "1") {
+ if (this.data.information.opening_branch == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ if (this.data.fill_set.company_ali == "1") {
+ if (this.data.information.enterprise_alipay == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ if (this.data.fill_set.company_ali_username == "1") {
+ if (this.data.information.enterprise_alipay_user == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ if (this.data.fill_set.ali == "1") {
+ if (this.data.information.alipay == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ if (this.data.fill_set.ali_username == "1") {
+ if (this.data.information.alipay_username == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ if (this.data.fill_set.wechat == "1") {
+ if (this.data.information.weChat_account == "") {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ }
+
+ if (this.data.imageUrl == '') {
+ this.setData({
+ jumpState: false
+ });
+ }
+ },
+ //确认修改
+ modifyInformation() {
+ var that = this;
+ that.jumpJudge();
+ if (that.data.jumpState) {
+ if (app._isMoblie(that.data.information.phone_number)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入正确的手机号',
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.fill_set.company_bank == '1') {
+ if (!/^[0-9]*$/.test(that.data.information.bank_account)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入正确的银行卡账号',
+ duration: 1500
+ });
+ return;
+ }
+ }
+
+ if (this.data.fill_set.company_ali == '1') {
+ if (!/^[a-zA-Z\d._-]*\@[a-zA-Z\d.-]{1,10}\.[a-zA-Z\d]{1,20}$/.test(that.data.information.enterprise_alipay)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入正确的企业支付宝账号',
+ duration: 1500
+ });
+ return;
+ }
+ }
+
+ if (this.data.fill_set.ali == '1') {
+ if (!/^(?:1[3-9]\d{9}|[a-zA-Z\d._-]*\@[a-zA-Z\d.-]{1,10}\.[a-zA-Z\d]{1,20})$/.test(that.data.information.alipay)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入正确的支付宝账号',
+ duration: 1500
+ });
+ return;
+ }
+ }
+
+ if (this.data.fill_set.wechat == '1') {
+ if (!/^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/.test(that.data.weChat_account)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入正确的微信号',
+ duration: 1500
+ });
+ return;
+ }
+ }
+
+ let json = {
+ realname: that.data.information.my_name,
+ mobile: that.data.information.phone_number,
+ store_name: that.data.information.store_name,
+ logo: that.data.information.store_logo,
+ company_bank: that.data.information.bank_account,
+ bank_username: that.data.information.owner_name,
+ bank_of_accounts: that.data.information.opening_bank,
+ opening_branch: that.data.information.opening_branch,
+ company_ali: that.data.information.enterprise_alipay,
+ company_ali_username: that.data.information.enterprise_alipay_user,
+ ali: that.data.information.alipay,
+ ali_username: that.data.information.alipay_username,
+ wechat: that.data.information.weChat_account,
+ };
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.info.edit");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: '修改成功',
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {}
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '填写信息不完整',
+ duration: 1500
+ });
+ }
+ },
+});
diff --git a/packageA/member/supplier/SupInfoManage/SupInfoManage.json b/packageA/member/supplier/SupInfoManage/SupInfoManage.json
new file mode 100644
index 0000000..25fa04d
--- /dev/null
+++ b/packageA/member/supplier/SupInfoManage/SupInfoManage.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "信息管理",
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index"
+ }
+}
diff --git a/packageA/member/supplier/SupInfoManage/SupInfoManage.wxml b/packageA/member/supplier/SupInfoManage/SupInfoManage.wxml
new file mode 100644
index 0000000..9160128
--- /dev/null
+++ b/packageA/member/supplier/SupInfoManage/SupInfoManage.wxml
@@ -0,0 +1,57 @@
+
+
+ 基本信息
+
+
+
+
+ 店铺信息
+
+
+
+
+
+
+ 店铺LOGO:
+
+
+
+
+
+
+ 供应商分组:{{information.group}}
+
+ 营业执照
+
+
+
+
+
+
+ 行业:{{information.category}}
+
+
+ 收款信息
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认修改
+
+
+
diff --git a/packageA/member/supplier/SupInfoManage/SupInfoManage.wxss b/packageA/member/supplier/SupInfoManage/SupInfoManage.wxss
new file mode 100644
index 0000000..b773986
--- /dev/null
+++ b/packageA/member/supplier/SupInfoManage/SupInfoManage.wxss
@@ -0,0 +1,80 @@
+/* pages/member/supplier/SupInfoManage/SupInfoManage.wxss */
+page {
+ background: #fff;
+}
+
+.supplier-center .h1 {
+ line-height: 72rpx;
+ color: #888;
+ padding: 0 28rpx;
+ font-size: 32rpx;
+ text-align: left;
+ background: #f5f5f5;
+}
+
+.supplier-center .top {
+ padding-left: 30rpx;
+}
+
+.supplier-center .top .span {
+ font-size: 28rpx;
+}
+
+.supplier-center .bottom {
+ width: 320rpx;
+ height: 330rpx;
+ border: 2rpx dashed #333;
+ padding: 30rpx;
+ margin: 0 auto;
+ margin-bottom: 30rpx;
+}
+
+.supplier-center .bottom .photoshow image {
+ width: 100%;
+ height: 100%;
+}
+
+.buttonGroup {
+ margin: 40rpx 0;
+ padding: 0 28rpx;
+ font-size: 32rpx;
+}
+
+.buttonGroup .button {
+ color: #fff;
+ background-color: #f15353;
+ height: 92rpx;
+ border-radius: 8rpx;
+ width: 100%;
+ text-align: center;
+ line-height: 92rpx;
+}
+
+.license_img {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 20rpx 0rpx 20rpx 40rpx;
+}
+
+.image_licence {
+ width: 45%;
+ margin: 0 20rpx 20rpx 0;
+}
+
+.licence {
+ font-size: 32rpx;
+ padding: 40rpx 0 20rpx 30rpx;
+ display: block;
+}
+
+.group {
+ font-size: 32rpx;
+ padding: 40rpx 0 0 30rpx;
+ display: block;
+}
+
+.industry {
+ font-size: 32rpx;
+ padding: 40rpx 0 20rpx 40rpx;
+ display: block;
+}
diff --git a/packageA/member/supplier/SupplierIndex/SupplierIndex.js b/packageA/member/supplier/SupplierIndex/SupplierIndex.js
new file mode 100644
index 0000000..0f74845
--- /dev/null
+++ b/packageA/member/supplier/SupplierIndex/SupplierIndex.js
@@ -0,0 +1,198 @@
+// packageA/member/supplier/SupplierIndex/SupplierIndex.js
+const app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ info: {},
+ keyword: '',
+ page: 1,
+ is_open:1
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ wx.setNavigationBarTitle({
+ title: '供应商列表',
+ });
+ this.getClass();
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ });
+ },
+ goUrl(e){
+ let link = e.currentTarget.dataset.url;
+ wx.navigateTo({
+ url: link,
+ });
+ },
+ goShop(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/member/supplier/SupplierShop/SupplierShop?id=' + id,
+ });
+ },
+ tabrshowbtn(e) {
+ let bol = e.detail;
+ if (bol) {
+ this.setData({
+ kFootshow: false
+ });
+ }
+ },
+ tapinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ keyword: val,
+ page: 1
+ });
+ },
+ tapConfirm(){
+ this.getClass();
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.current_page >= this.data.last_page) {
+ return;
+ } else {
+ this.setData({
+ page: this.data.page + 1
+ });
+ this.getClassMore();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ return{
+ path:'packageA/member/supplier/SupplierIndex/SupplierIndex'
+ };
+ },
+ onShareTimeline:function(){
+ return{
+ path:'packageA/member/supplier/SupplierIndex/SupplierIndex'
+ };
+ },
+ getClass() {
+ wx.showLoading({
+ title: '加载中',
+ });
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.getSupplierList");
+ let json = {
+ keyword: this.data.keyword,
+ page: this.data.page
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ var res = resdata.data;
+ if (res.result == 1) {
+ if(!res.data.is_open){
+ wx.showToast({
+ title:'插件未开启',
+ icon:'none',
+ duration:2000,
+ success:function(res){
+ setTimeout(() => {
+ wx.redirectTo({
+ url: '/packageG/index/index',
+ });
+ }, 2000);
+ }
+ });
+ }
+ this.setData({
+ is_open:res.data.is_open,
+ info: res.data,
+ listData: res.data.list.data,
+ current_page: res.data.list.current_page,
+ last_page: res.data.list.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ });
+ }
+ }
+ });
+ },
+ getClassMore() {
+ wx.showLoading({
+ title: '加载中',
+ });
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.getSupplierList");
+ let json = {
+ keyword: this.data.keyword,
+ page: this.data.page
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ listData: this.data.listData.concat(res.data.list.data),
+ current_page: res.data.list.current_page,
+ last_page: res.data.list.last_page
+ });
+ }else{
+ wx.showToast({
+ title: res.msg,
+ });
+ }
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/supplier/SupplierIndex/SupplierIndex.json b/packageA/member/supplier/SupplierIndex/SupplierIndex.json
new file mode 100644
index 0000000..0a59592
--- /dev/null
+++ b/packageA/member/supplier/SupplierIndex/SupplierIndex.json
@@ -0,0 +1,5 @@
+{
+ "usingComponents": {
+ "kFoot": "../../../mycomponent/foot/foot"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/SupplierIndex/SupplierIndex.wxml b/packageA/member/supplier/SupplierIndex/SupplierIndex.wxml
new file mode 100644
index 0000000..1a425b9
--- /dev/null
+++ b/packageA/member/supplier/SupplierIndex/SupplierIndex.wxml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.store_name ? item.store_name : ''}}
+ 热销 {{item.goods_count?item.goods_count:'0'}} 件
+
+
+ 进入店铺
+
+
+
+
+
+
+
+ {{datas.has_one_goods.title}}
+ {{language['money']}}{{datas.has_one_goods.min_price}}
+ {{language['money']}}{{datas.has_one_goods.price}}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/supplier/SupplierIndex/SupplierIndex.wxss b/packageA/member/supplier/SupplierIndex/SupplierIndex.wxss
new file mode 100644
index 0000000..a72b6b3
--- /dev/null
+++ b/packageA/member/supplier/SupplierIndex/SupplierIndex.wxss
@@ -0,0 +1,170 @@
+/* packageA/member/supplier/SupplierIndex/SupplierIndex.wxss */
+.searchBox {
+ background-color: #ffffff;
+ padding: 14rpx 30rpx;
+}
+
+.search {
+ width: 100%;
+ height: 60rpx;
+ background-color: #eff0f1;
+ border-radius: 30rpx;
+ padding-left: 32rpx;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+}
+
+.search icon {
+ color: #999999;
+ font-size: 28rpx;
+ margin-top: -10rpx;
+ margin-right: 13rpx;
+}
+
+.search input {
+ flex: 0.8;
+}
+
+.banner {
+ width: 100%;
+ height: 320rpx;
+ background-color: #ffffff;
+}
+
+#swiperBanner {
+ width: 100%;
+ height: 320rpx;
+}
+
+.banner image {
+ width: 100%;
+ height: 100%;
+}
+
+.viewbox {
+ padding: 0 20rpx;
+ padding-bottom: 40rpx;
+}
+
+.list {
+ padding: 0 20rpx;
+ box-sizing: border-box;
+ margin-top: 20rpx;
+ background-color: #fff;
+ overflow: hidden;
+ padding-bottom: 32rpx;
+}
+
+.list_top {
+ margin-top: 33rpx;
+}
+
+.list_top_left {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.list_top_left_icon {
+ display: flex;
+ align-items: center;
+}
+
+.list_top_left_icon .iconbox {
+ width: 60rpx;
+ height: 60rpx;
+ border-radius: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-right: 15rpx;
+}
+
+.list_top_left_icon .iconbox image {
+ width: 100%;
+ height: 100%;
+ border-radius: 100%;
+}
+
+.list_top_left_icon .iconbox .iconfont {
+ color: #fff;
+ margin-top: -10rpx;
+}
+
+.shop {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: flex-start;
+}
+
+.shop .shopName {
+ font-size: 28rpx;
+ color: #333333;
+}
+
+.shop .shopTotal {
+ font-size: 22rpx;
+ color: #333333;
+}
+
+.shop .shopTotal text {
+ color: #f14e4e;
+}
+
+.list_top_right_btn {
+ font-size: 24rpx;
+ color: #ffffff;
+ background-color: #f14e4e;
+ border-radius: 35rpx;
+ padding: 10rpx 22rpx;
+}
+
+.lis {
+ display: flex;
+ align-items: center;
+ margin-top: 29rpx;
+ display: flex;
+ align-items: center;
+ overflow-x: scroll;
+}
+
+.lis_shop {
+ width: 216rpx;
+ height: 289rpx;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+ margin-right: 20rpx;
+ flex-shrink: 0;
+}
+
+.lis_shop .img {
+ width: 100%;
+ height: 216rpx;
+ border-radius: 10rpx;
+}
+
+.lis_shop .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.lis_shop .title {
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ text-align: left;
+}
+
+.lis_shop .price {
+ font-size: 24rpx;
+ color: #f14e4e;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ text-align: left;
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/SupplierInfo/SupplierInfo.js b/packageA/member/supplier/SupplierInfo/SupplierInfo.js
new file mode 100644
index 0000000..7779e2b
--- /dev/null
+++ b/packageA/member/supplier/SupplierInfo/SupplierInfo.js
@@ -0,0 +1,152 @@
+// packageA/member/supplier/SupplierInfo/SupplierInfo.js
+const INDEX_URL = "plugin.supplier.frontend.shop.index.index";
+const SUPPLIER_INFO_URL = "plugin.supplier.frontend.shop.index.getSupplierInfo";
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ show1: false,
+ customer_open: true,
+ service_QRcode: '',
+ service_mobile: '',
+ indexData: {},
+ supplierInfo: {},
+ id: '',
+ infoData: {}
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.id) {
+ this.setData({
+ id: options.id
+ });
+ }
+ this.getIndexData();
+ this.getSupplierInfo();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ callPhone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.service_mobile,
+ });
+ },
+ showPop() {
+ console.log("点击");
+ if (this.data.customer_open) {
+ this.setData({
+ show1: true
+ });
+ }
+ },
+ closePop() {
+ this.setData({
+ show1: false
+ });
+ },
+ //首页
+ getIndexData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(INDEX_URL);
+ urlStr += '&sid=' + this.data.id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result != 1) return;
+ that.setData({
+ indexData: res.data,
+ supplierInfo: res.data.supplier,
+ customer_open: res.data.customer_open == '1' ? true : false,
+ service_QRcode: res.data.service_QRcode,
+ service_mobile: res.data.service_mobile,
+ });
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getSupplierInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(SUPPLIER_INFO_URL);
+ urlStr += '&sid=' + this.data.id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result != 1) return;
+ that.setData({
+ infoData: res.data
+ });
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ goToSupplierShop() {
+ let pages = getCurrentPages();
+ if (pages.length > 1) {
+ wx.navigateBack();
+ } else {
+ wx.navigateTo({
+ url: "/packageA/member/supplier/SupplierShop/SupplierShop?id=" + this.data.id
+ });
+ }
+
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/supplier/SupplierInfo/SupplierInfo.json b/packageA/member/supplier/SupplierInfo/SupplierInfo.json
new file mode 100644
index 0000000..55f4394
--- /dev/null
+++ b/packageA/member/supplier/SupplierInfo/SupplierInfo.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "店铺信息",
+ "usingComponents": {
+ "van-popup": "../../../../dist/popup/index",
+ "van-rate": "../../../../dist/rate/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/SupplierInfo/SupplierInfo.wxml b/packageA/member/supplier/SupplierInfo/SupplierInfo.wxml
new file mode 100644
index 0000000..ba73128
--- /dev/null
+++ b/packageA/member/supplier/SupplierInfo/SupplierInfo.wxml
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+ 基本信息
+
+
+ 店铺名称
+ {{infoData.store_name}}
+
+
+ 服务电话
+ {{infoData.mobile}}
+
+
+ 所在地
+ {{infoData.address}}
+
+
+ 开店时间
+ {{infoData.created_at}}
+
+
+
+
+
+ 进入店铺
+
+
+
+
+ 联系客服
+
+
+
+
+
+
+
+ 企业资质
+ 根据国家工商总局《网络交易管理办法》要求对网店营业执照等信息公示如下
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/member/supplier/SupplierInfo/SupplierInfo.wxss b/packageA/member/supplier/SupplierInfo/SupplierInfo.wxss
new file mode 100644
index 0000000..079b954
--- /dev/null
+++ b/packageA/member/supplier/SupplierInfo/SupplierInfo.wxss
@@ -0,0 +1,267 @@
+/* packageA/member/supplier/SupplierInfo/SupplierInfo.wxss */
+page { background-color: #fff; }
+
+.header {
+ padding-top: 40rpx;
+ padding-bottom: 50rpx;
+}
+
+.header .c1 {
+ display: flex;
+ padding-right: 54rpx;
+}
+
+.header .c1 .face {
+ padding-left: 30rpx;
+ padding-right: 37rpx;
+}
+
+.header .c1 .face image {
+ width: 128rpx;
+ height: 128rpx;
+ border-radius: 50%;
+}
+
+.header .c1 .info {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-around;
+ text-align: left;
+ height: 128rpx;
+}
+
+.header .c1 .info .desc {
+ font-size: 32rpx;
+ color: #000;
+ letter-spacing: 2rpx;
+ font-weight: bold;
+}
+
+.header .c1 .info .goods_num {
+ font-size: 28rpx;
+ letter-spacing: 1rpx;
+ color: #333;
+}
+
+.header .c2 {
+ margin-top: 28rpx;
+ padding-left: 25rpx;
+ padding-right: 20rpx;
+ text-align: left;
+}
+
+.header .c2 .evaluate {
+ display: flex;
+ align-items: flex-start;
+}
+
+.header .c2 .evaluate text {
+ font-size: 28rpx;
+ color: #333;
+ transform: translateY(-8rpx);
+}
+
+.header .c2 .evaluate .iconfont {
+ display: flex;
+ align-items: center;
+}
+
+.header .c2 .evaluate .icon-collect-active {
+ color: #d5d5d5;
+}
+
+.header .c2 .evaluate .active {
+ color: #ffba00;
+}
+
+.header .c2 .desc {
+ margin-top: 29rpx;
+ font-size: 24rpx;
+ color: #666;
+ line-height: 36rpx;
+}
+
+.cutting {
+ width: 750rpx;
+ height: 20rpx;
+ background-color: #f6f6f7;
+}
+
+.basicInfo {
+ text-align: left;
+ padding: 0 26rpx;
+}
+
+.basicInfo .name {
+ font-size: 32rpx;
+ color: #000;
+ height: 80rpx;
+ line-height: 80rpx;
+ padding-top: 10rpx;
+}
+
+.basicInfo .items {
+ padding-bottom: 20rpx;
+ border-bottom: 1rpx solid #dee2ee;
+}
+
+.basicInfo .items .item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 68rpx;
+}
+
+.basicInfo .items .item .c1 {
+ font-size: 28rpx;
+ color: #333;
+}
+
+.basicInfo .items .item .c2 {
+ font-size: 28rpx;
+ color: #000;
+}
+
+.basicInfo .btns {
+ display: flex;
+ height: 96rpx;
+ align-items: center;
+}
+
+.basicInfo .btns .btn {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.basicInfo .btns .btn .iconfont {
+ color: #f15353;
+}
+
+.basicInfo .btns .btn text {
+ font-size: 28rpx;
+ margin-left: 29rpx;
+ color: #000;
+}
+
+.qualifi {
+ padding: 24rpx;
+ padding-bottom: 60rpx;
+}
+
+.qualifi .name {
+ font-size: 32rpx;
+ color: #000;
+ height: 80rpx;
+ line-height: 80rpx;
+ padding-top: 10rpx;
+}
+
+.qualifi .desc {
+ font-size: 28rpx;
+ letter-spacing: 1rpx;
+ color: #333;
+ text-indent: 56rpx;
+}
+
+.qualifi .img {
+ margin-top: 30rpx;
+}
+
+.qualifi .img image {
+ width: 700rpx;
+}
+
+.pop-content {
+ background-color: #fff;
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: center;
+ width: 100%;
+}
+
+.pop-content .pop-top .left {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ position: relative;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .line {
+ width: 1px;
+ height: 51rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
diff --git a/packageA/member/supplier/SupplierSearch/SupplierSearch.js b/packageA/member/supplier/SupplierSearch/SupplierSearch.js
new file mode 100644
index 0000000..0540605
--- /dev/null
+++ b/packageA/member/supplier/SupplierSearch/SupplierSearch.js
@@ -0,0 +1,342 @@
+// packageA/member/supplier/hotSearch/hotSearch.js
+const app = getApp();
+// const GOOD_URL = "plugin.supplier.frontend.shop.index.search-goods";
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ showcccc: false,
+ inputs: '',
+ good_page: 1,
+ order_field: '',
+ order_by: '',
+ is_hot:0,
+ cid:'',
+ debtId:''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+
+ if (options.id) {
+ this.setData({
+ id: options.id
+ });
+ }
+ if(options.hot == 1){
+ this.setData({
+ is_hot:options.hot
+ });
+ }
+ if(options.cid){
+ this.setData({
+ cid:options.cid
+ });
+ wx.setNavigationBarTitle({
+ title: '供应商店铺',
+ });
+ }
+ if(options.debtCId){
+ this.setData({
+ debtCId:options.debtCId,
+ is_debt:true
+ })
+ wx.setNavigationBarTitle({
+ title: '分类',
+ });
+ }
+ if(options.debtId){
+ this.setData({
+ debtId:options.debtId
+ })
+ }
+ if(options.debtSearch){
+ this.setData({
+ is_debt:true
+ })
+ wx.setNavigationBarTitle({
+ title: '搜索',
+ });
+ }
+ console.log(options,'xxxxxxx')
+ this.getGoodsData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ },
+ goToDetail(e){
+ let id = e.currentTarget.dataset.id;
+ if(this.data.debtId){
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id='+id+'&debtId='+this.data.debtId,
+ })
+ }else{
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id='+id,
+ })
+ }
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if(this.data.current_page >= this.data.good_total_page){
+ return;
+ }else{
+ this.setData({
+ good_page : this.data.good_page + 1
+ });
+ this.nexTgetGoodsData();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ classifyBolbtn() {
+ if (this.data.showcccc) {
+ this.setData({
+ showcccc: false,
+ });
+ } else {
+ this.setData({
+ showcccc: true,
+ });
+ }
+ },
+ inpbtn(e) {
+ let val = e.detail.value;
+ this.setData({
+ inputs: val
+ });
+ },
+ search() {
+ this.setData({
+ good_page:1,
+ });
+ // 搜索
+ this.getGoodsData();
+ },
+ toggle(e) {
+ let idx = e.currentTarget.dataset.idx;
+ let order_field = '';
+ switch (idx) {
+ case 2:
+ this.setData({
+ hascolor: 2
+ });
+ if (this.data.colorshow == '2_2') {
+ this.setData({
+ colorshow: '2_1',
+ });
+ order_field = 'show_sales';
+ this.setData({
+ order_field: order_field,
+ order_by: 'asc'
+ });
+ } else {
+ this.setData({
+ colorshow: '2_2',
+ });
+ order_field = 'show_sales';
+ this.setData({
+ order_field: order_field,
+ order_by: 'desc'
+ });
+ }
+ break;
+ case 3:
+ this.setData({
+ hascolor: 3,
+ });
+ if (this.data.colorshow == '3_2') {
+ this.setData({
+ colorshow: '3_1'
+ });
+ order_field = 'price';
+ this.setData({
+ order_field: order_field,
+ order_by: 'asc'
+ });
+ } else {
+ this.setData({
+ colorshow: '3_2'
+ });
+ order_field = 'price';
+ this.setData({
+ order_field: order_field,
+ order_by: 'desc'
+ });
+ }
+ break;
+ case 5:
+ this.setData({
+ hascolor: 5,
+ });
+ if (this.data.colorshow == '5_2') {
+ this.setData({
+ colorshow: '5_1'
+ });
+ order_field = 'id';
+ this.setData({
+ order_field: order_field,
+ order_by: 'asc'
+ });
+ } else {
+ this.setData({
+ colorshow: '5_2'
+ });
+ order_field = 'id';
+ this.setData({
+ order_field: order_field,
+ order_by: 'desc'
+ });
+ }
+ break;
+ }
+ this.setData({
+ good_page:1
+ })
+ this.getGoodsData();
+ },
+ tapUpper() {
+ try {
+ wx.navigateBack({
+ delta: 1,
+ success: (res) => {},
+ fail: (res) => {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ },
+ complete: (res) => {},
+ });
+ } catch (error) {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ }
+ },
+ getGoodsData() {
+ let that = this;
+ let urlStr = '';
+ if(this.data.cid){
+ urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.search-goods");
+ urlStr += '&sid=' + this.data.id;
+ if(!app._isTextEmpty(this.data.cid)){
+ urlStr += `&category_id=`+this.data.cid;
+ }
+ }else if(this.data.is_debt){
+ urlStr = app.getNetAddresss("goods.goods.search-goods");
+ if(!app._isTextEmpty(this.data.debtCId)){
+ urlStr += `&search[category]=`+this.data.debtCId;
+ }
+ }
+ urlStr += '&page=' + this.data.good_page;
+ urlStr += '&order_field=' + this.data.order_field;
+ urlStr += '&order_by=' + this.data.order_by;
+ urlStr += `&search[keyword]=${this.data.inputs || ''}`;
+ if(this.data.is_hot == 1){
+ urlStr +=`&is_hot=1`;
+ }
+
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsArr: res.data.data,
+ good_total_page: res.data.last_page,
+ current_page: res.data.current_page
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ nexTgetGoodsData() {
+ let urlStr = '';
+ if(this.data.cid){
+ urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.search-goods");
+ urlStr += '&sid=' + this.data.id;
+ if(!app._isTextEmpty(this.data.cid)){
+ urlStr += `&category_id=`+this.data.cid;
+ }
+ }else if(this.data.is_debt){
+ urlStr = app.getNetAddresss("goods.goods.search-goods");
+ if(!app._isTextEmpty(this.data.debtCId)){
+ urlStr += `&search[category]=`+this.data.debtCId;
+ }
+ }
+ urlStr += '&page=' + this.data.good_page;
+ urlStr += '&order_field=' + this.data.order_field;
+ urlStr += '&order_by=' + this.data.order_by;
+ urlStr += `&search[keyword]=${this.data.inputs || ''}`;
+ if(this.data.is_hot == 1){
+ urlStr +=`&is_hot=1`;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: ((resdata)=>{
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ goodsArr: this.data.goodsArr.concat(res.data.data),
+ good_total_page: res.data.last_page,
+ current_page: res.data.current_page
+ });
+ }
+ }),
+ fail: ((res)=>{
+ wx.showToast({
+ title: res.msg,
+ });
+ })
+ });
+ }
+});
diff --git a/packageA/member/supplier/SupplierSearch/SupplierSearch.json b/packageA/member/supplier/SupplierSearch/SupplierSearch.json
new file mode 100644
index 0000000..746540c
--- /dev/null
+++ b/packageA/member/supplier/SupplierSearch/SupplierSearch.json
@@ -0,0 +1,5 @@
+{
+ "usingComponents": {
+ "van-icon":"/dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/SupplierSearch/SupplierSearch.wxml b/packageA/member/supplier/SupplierSearch/SupplierSearch.wxml
new file mode 100644
index 0000000..b316971
--- /dev/null
+++ b/packageA/member/supplier/SupplierSearch/SupplierSearch.wxml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 综合
+
+
+
+
+
+
+
+
+
+
+ 销量
+
+
+
+
+
+
+
+
+
+
+ 价格
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{language['money']}}{{item.has_option == 1 && item.min_price ? item.min_price :item.price}}
+
+
+ 会员价:{{language['money']}}{{item.vip_price}}
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+ {{language['money']}}{{item.has_option == 1 && item.min_price ? item.min_price :item.price}}
+
+
+ 会员价:{{language['money']}}{{item.vip_price}}
+
+
+
+
+
+
+
+
+
+ var inOf = function (val, bval) {
+ console.log('ssssssssssssss',number(val) , number(bval))
+ if (number(val) == number(bval)) {
+ return false
+ } else {
+ return true
+ }
+ };
+ module.exports.inOf = inOf;
+
\ No newline at end of file
diff --git a/packageA/member/supplier/SupplierSearch/SupplierSearch.wxss b/packageA/member/supplier/SupplierSearch/SupplierSearch.wxss
new file mode 100644
index 0000000..9e22426
--- /dev/null
+++ b/packageA/member/supplier/SupplierSearch/SupplierSearch.wxss
@@ -0,0 +1,287 @@
+/* packageA/member/supplier/hotSearch/hotSearch.wxss */
+.sort_box {
+ /* height: 80rpx; */
+ /* line-height: 80rpx; */
+ display: flex;
+ /* background: #fff; */
+ /* border-top: solid 2rpx #ebebeb; */
+ /* border-bottom: solid 2rpx #ebebeb; */
+ padding: 30rpx 70rpx 20rpx 70rpx;
+}
+
+.sort_box .ul {
+ display: flex;
+ justify-content: center;
+ position: relative;
+ font-size: 15px;
+ flex: 1;
+}
+
+.sort_box .sort_icon {
+ width: 80rpx;
+ height: 80rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.sort_box .sort_icon .photo_icon {
+ width: 48rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.sort_box .sort_icon .photo_icon icon {
+ font-size: 48rpx;
+}
+
+.sort_box .ul .li {
+ display: flex;
+}
+
+.sort_box .ul .li .left.sel {
+ color: #f15353;
+}
+
+.sort_box .ul .li .right {
+ display: flex;
+ flex-wrap: wrap;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ width: 22rpx;
+}
+
+.supplier .goods-box {
+ padding-bottom: 100rpx;
+}
+
+.supplier .goods-box .goods-list_1 {
+ display: -webkit-flex;
+ -webkit-flex-wrap: wrap;
+ padding: 20rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods {
+ width: 345rpx;
+ margin-bottom: 10rpx;
+ padding-top: 10rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods:nth-child(2n+1) {
+ margin-right: 20rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods .img {
+ height: 345rpx;
+ width: 345rpx;
+ margin: 0 auto;
+ overflow: hidden;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods .info {
+ text-align: left;
+ padding: 12rpx;
+ padding-left: 20rpx;
+ font-size: 28rpx;
+ background: #fff;
+ border-radius: 0rpx 0rpx 10rpx 10rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods .info .li:first-child {
+ line-height: 40rpx;
+ height: 80rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+}
+
+.supplier .goods-box .goods-list_1 .goods .info .li:last-child {
+ margin-top: 8rpx;
+ font-weight: bold;
+ line-height: 48rpx;
+ font-size: 32rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods .info .li:last-child .left {
+ color: #f15353;
+ margin-right: 20rpx;
+}
+
+.icon_up {
+ width: 0;
+ height: 0;
+ border-right: 8rpx solid transparent;
+ border-left: 8rpx solid transparent;
+ border-bottom: 8rpx solid #999;
+ margin-bottom: 2rpx;
+}
+
+.icon_up.sel {
+ border-bottom: 8rpx solid #f14e4e;
+}
+
+.icon_down {
+ margin-top: 2rpx;
+ width: 0;
+ height: 0;
+ border-right: 8rpx solid transparent;
+ border-left: 8rpx solid transparent;
+ border-top: 8rpx solid #999;
+}
+
+.icon_down.sel {
+ border-top: 8rpx solid #f15353;
+}
+
+.search {
+ overflow: hidden;
+ background: #fff;
+ border-bottom: 2rpx solid #f5f5f5;
+ width: 100%;
+ display: flex;
+ padding-bottom: 10rpx;
+}
+
+.noscroll {
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ position: fixed;
+ z-index: 0;
+}
+
+.search .searchBox {
+ position: relative;
+ font-size: 28rpx;
+ display: flex;
+ margin-left: 2%;
+ background: #f2f2f2 none;
+ border-radius: 30rpx;
+ width: 568rpx;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.search .searchBox .van-cell {
+ padding: 0;
+ background-color: inherit;
+ width: 500rpx;
+}
+
+.search .left {
+ margin-left: 30rpx;
+ display: flex;
+}
+
+.search .right {
+ margin-left: 50rpx;
+ display: flex;
+ text-align: center;
+ align-items: center;
+}
+
+.search .right icon {
+ font-size: 46rpx;
+}
+
+.search .searchBox input {
+ vertical-align: middle;
+ border: none;
+ outline: 0;
+ padding: 6rpx 20rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+ box-sizing: border-box;
+ flex: 1;
+}
+
+.search .searchBox .img-icon {
+ width: 60rpx;
+ height: 60rpx;
+ margin-left: 10rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.search .searchBox .img-icon .img-icon-btn {
+ width: 32rpx;
+ height: 32rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/search.png") no-repeat center center;
+ background-size: 80% 80%;
+}
+
+.goods-list_2 {
+ width: 100%;
+ overflow: hidden;
+ box-sizing: border-box;
+ display: -webkit-flex;
+ background: #fff;
+ border-bottom: solid 2rpx #ebebeb;
+ padding-top: 5rpx;
+ padding-bottom: 5rpx;
+ /* padding-left: 30rpx; */
+}
+
+.goods-list_2 .imgs {
+ width: 200rpx;
+ height: 200rpx;
+ box-sizing: border-box;
+ overflow: hidden;
+ border-radius: 10rpx;
+}
+
+.goods-list_2 .imgs image {
+ width: 100%;
+ height: 100%;
+}
+
+.goods-list_2 .shop_info {
+ display: flex;
+ flex-direction: column;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ text-align: left;
+ padding-left: 15rpx;
+}
+
+.goods-list_2 .shop_info ul {
+ flex: 1;
+ display: flex;
+ justify-content: space-between;
+ flex-direction: column;
+}
+
+.goods-list_2 .shop_info ul .top {}
+
+.goods-list_2 .shop_info .title {
+ padding: 10rpx;
+ font-size: 24rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+ height: 60rpx;
+ color: #333;
+}
+
+.goods-list_2 .shop_info .bottom .member {
+ font-size: 28rpx;
+ color: #fb4a4a;
+ line-height: 28rpx;
+ padding-bottom: 8rpx;
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/SupplierShop/SupplierShop.js b/packageA/member/supplier/SupplierShop/SupplierShop.js
new file mode 100644
index 0000000..1eaa821
--- /dev/null
+++ b/packageA/member/supplier/SupplierShop/SupplierShop.js
@@ -0,0 +1,565 @@
+// pages/SupplierShop/SupplierShop.js
+var app = getApp();
+const INDEX_URL = "plugin.supplier.frontend.shop.index.index";
+const GOOD_URL = "plugin.supplier.frontend.shop.index.search-goods";
+// const ACTIVITY_URL = "plugin.supplier.frontend.shop.index.goods-limit";
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ customer_open: true,
+ show1: false,
+ service_QRcode: '',
+ service_mobile: '',
+ cservice:'',
+ id: '', // 供应商id
+ order_id: '', // 订单id参数(从订单页面过来的时候带
+ //首页数据
+ tab: 0,
+ sliderShow: false,
+ indexData: {},
+ supplierInfo: {},
+ //商品数据
+ goodsArr: [],
+ good_loading: false,
+ good_allLoaded: false,
+ good_goload: true,
+ good_isLoadMore: true,
+ good_page: 1,
+ good_total_page: 0,
+ order_field: '',
+ order_by: '',
+ //活动数据
+ actGoodsArr: [],
+ act_loading: false,
+ act_allLoaded: false,
+ act_goload: true,
+ act_isLoadMore: true,
+ act_page: 1,
+ act_total_page: 0,
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ roomdataBol: false,
+ roomdata: [],
+ keyword: null,
+ categoryInfo:{}
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.init();
+ if (options.id) {
+ this.setData({
+ id: options.id
+ });
+ }
+ wx.setNavigationBarTitle({
+ title: '供应商店铺',
+ });
+ if (options.fromOrder == 1) {
+ this.setData({
+ id: '',
+ order_id: options.id
+ });
+ }
+ this.getIndexData();
+ },
+ onChange(e) {
+ this.data.roomBol = false;
+ this.setData({
+ tab: e.currentTarget.dataset.key,
+ });
+ if (e.currentTarget.dataset.title == "商品") {
+ this.setData({
+ good_page: 1
+ });
+ this.getGoodsData();
+ } else if (e.currentTarget.dataset.title == "活动") {
+ this.getActivityData();
+ } else if (e.currentTarget.dataset.title == "直播列表") {
+ this.data.roomBol = true;
+ this.getLiveList();
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en });
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+ getActivityData() {
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.goods-limit");
+ app._getNetWork({
+ url: urlStr,
+ data: { sid: this.data.id },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res.data.list.data);
+ this.setData({
+ actGoodsArr: res.data.list.data,
+ act_total_page: res.data.list.last_page
+ });
+ }
+ }
+ });
+ },
+ getActivityMoreData() {
+ this.data.act_isLoadMore = false;
+ if (this.data.act_page >= this.data.act_total_page) {
+ return;
+ } else {
+ this.data.act_page = this.data.act_page + 1;
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.goods-limit");
+ app._getNetWork({
+ url: urlStr,
+ data: { sid: this.data.id, page: this.data.act_page },
+ success: (resdata) => {
+ var res = resdata.data;
+ this.data.act_isLoadMore = true;
+ if (res.result == 1) {
+ let actGoodsArr = this.data.actGoodsArr.concat(res.data.list.data);//数组拼接
+ this.setData({
+ actGoodsArr
+ });
+ } else {
+ this.data.act_page = this.data.act_page - 1;
+ this.data.act_isLoadMore = false;
+ }
+ }
+ });
+ }
+ },
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.current_page >= this.data.good_total_page) {
+ wx.showToast({
+ title: '暂无更多',
+ icon: 'none',
+ duration: 1000
+ });
+ } else {
+ if (this.data.tab == 1) {
+ let is_page = this.data.good_page + 1;
+ this.setData({
+ good_page: is_page
+ });
+ this.nexTgetGoodsData();
+ } else if (this.data.tab == 2) {
+ this.getActivityMoreData();
+ }
+
+ }
+ if (this.data.roomBol && this.data.roomdataBol) {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ }
+ },
+ _getMoreData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.get-room");
+ that.data.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: this.data.page,
+ supplier_id: this.data.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ roomdata: that.data.roomdata.concat(res.data.data)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ }
+ },
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ init() {
+ this.setData({
+ customer_open: true,
+ show1: false,
+ service_QRcode: '',
+ service_mobile: '',
+ cservice:'',
+ });
+ },
+ callPhone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.service_mobile,
+
+ });
+ },
+ showPop() {
+ if (this.data.customer_open) {
+ this.setData({
+ show1: true
+ });
+ }
+ },
+ closePop() {
+ this.setData({
+ show1: false
+ });
+ },
+ //直播间跳转
+ gopage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 1) {
+ wx.navigateTo({
+ url: '/packageD/directSeeding/livePage/livePage?id=' + id + '&playerType=live'
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url: '/packageD/directSeeding/livePage/livePage?id=' + id + '&playerType=video' + '&backid=' + backid
+ });
+ } else if (status == 3) {
+ wx.navigateTo({
+ url: '/packageD/directSeeding/foreshow/foreshow?id=' + id
+ });
+ }
+ },
+ goToSuppliereInfo() {
+ wx.navigateTo({
+ url: "/packageA/member/supplier/SupplierInfo/SupplierInfo?id=" + this.data.id
+ });
+ },
+ gotoChat(evt){
+ let url = evt.currentTarget.dataset.cservice;
+ wx.navigateTo({
+ url: url,
+ fail:(err)=>{
+ app.tips("客服路由出错");
+ }
+ });
+ },
+ //首页
+ getIndexData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(INDEX_URL);
+ urlStr += '&sid=' + this.data.id;
+ urlStr += '&order_id=' + this.data.order_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ let res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.is_room && res.data.is_room == 1) {
+ that.setData({
+ roomdataBol: true
+ });
+ }
+ that.setData({
+ id: res.data.supplier.supplier_id,
+ });
+ for (let i = 0; i < res.data.list_is_recommand.length; i++) {
+ if (parseInt(Number(res.data.list_is_recommand[i].market_price == 0))) {
+ res.data.list_is_recommand[i].notMarket_price = 0;
+ } else {
+ res.data.list_is_recommand[i].notMarket_price = 1;
+ }
+ }
+ for (let i = 0; i < res.data.advs.length; i++) {
+ if (app._isTextEmpty(res.data.advs[i].img)) {
+ res.data.advs[i].imagShow = false;
+ } else {
+ res.data.advs[i].imagShow = true;
+ }
+ }
+ // console.log(res.data.list_is_recommand)
+ that.setData({
+ indexData: res.data,
+ supplierInfo: res.data.supplier,
+ customer_open: res.data.customer_open == '1' ? true : false,
+ service_QRcode: res.data.service_QRcode,
+ service_mobile: res.data.service_mobile,
+ cservice:res.data.cservice,
+ });
+ // console.log(that.data.indexData.advs)
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getLiveList() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.get-room");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: this.data.page,
+ supplier_id: this.data.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ total_page: res.data.last_page,
+ roomdata: res.data.data,
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ //商品
+ getGoodsData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(GOOD_URL);
+ urlStr += '&sid=' + this.data.id;
+ urlStr += '&page=' + this.data.good_page;
+ urlStr += '&order_field=' + this.data.order_field;
+ urlStr += '&order_by=' + this.data.order_by;
+ urlStr += `&search[keyword]=${this.data.keyword || ''}`;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsArr: res.data.data,
+ good_total_page: res.data.last_page,
+ current_page: res.data.current_page
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ nexTgetGoodsData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(GOOD_URL);
+ urlStr += '&sid=' + this.data.id;
+ urlStr += '&page=' + this.data.good_page;
+ urlStr += '&order_field=' + this.data.order_field;
+ urlStr += '&order_by=' + this.data.order_by;
+ urlStr += '&search[keyword]=';
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsArr: that.data.goodsArr.concat(res.data.data),
+ good_total_page: res.data.last_page,
+ current_page: res.data.current_page
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ toggle(e) {
+ let idx = e.currentTarget.dataset.idx;
+ let order_field = '';
+ switch (idx) {
+ case 2:
+ this.setData({
+ hascolor: 2
+ });
+ if (this.data.colorshow == '2_2') {
+ this.setData({
+ colorshow: '2_1',
+ });
+ order_field = 'show_sales';
+ this.setData({
+ order_field: order_field,
+ order_by: 'asc'
+ });
+ } else {
+ this.setData({
+ colorshow: '2_2',
+ });
+ order_field = 'show_sales';
+ this.setData({
+ order_field: order_field,
+ order_by: 'desc'
+ });
+ }
+ break;
+ case 3:
+ this.setData({
+ hascolor: 3,
+ });
+ if (this.data.colorshow == '3_2') {
+ this.setData({
+ colorshow: '3_1'
+ });
+ order_field = 'price';
+ this.setData({
+ order_field: order_field,
+ order_by: 'asc'
+ });
+ } else {
+ this.setData({
+ colorshow: '3_2'
+ });
+ order_field = 'price';
+ this.setData({
+ order_field: order_field,
+ order_by: 'desc'
+ });
+ }
+ break;
+ case 5:
+ this.setData({
+ hascolor: 5,
+ });
+ if (this.data.colorshow == '5_2') {
+ this.setData({
+ colorshow: '5_1'
+ });
+ order_field = 'id';
+ this.setData({
+ order_field: order_field,
+ order_by: 'asc'
+ });
+ } else {
+ this.setData({
+ colorshow: '5_2'
+ });
+ order_field = 'id';
+ this.setData({
+ order_field: order_field,
+ order_by: 'desc'
+ });
+ }
+ break;
+ }
+ this.getGoodsData();
+ },
+ //跳转搜素
+ goToSearch() {
+ //SupplierSearch sid:id
+ wx.navigateTo({
+ url: '/packageA/member/supplier/SupplierSearch/SupplierSearch?id='+this.data.id,
+ });
+ },
+ toggleSlide() {
+ this.setData({
+ sliderShow: !this.data.sliderShow
+ });
+ },
+ goToUrl(e) {
+ let type = e.currentTarget.dataset.type;
+ let url = e.currentTarget.dataset.url;
+ if (type == 'route' && url == 'home') {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ } else if (type == 'route' && url == 'orderlist') {
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2'
+ });
+ } else if (type == 'route' && url == 'member') {
+ wx.reLaunch({
+ url: '/packageG/member_v2/member_v2'
+ });
+ } else if (type == 'href') {
+ console.log(url);
+ }
+ },
+ goToDetail(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+ goToMoreHot(){
+ wx.navigateTo({
+ url: '/packageA/member/supplier/SupplierSearch/SupplierSearch?id='+this.data.id +'&hot=1',
+ });
+ },
+
+ /**
+ * 搜索本店商品输入框回车事件
+ */
+ searchConfirm() {
+ this.setData({
+ good_page: 1,
+ tab: 1,
+ goodsArr: []
+ }, () => {
+ this.getGoodsData();
+ });
+ }
+});
diff --git a/packageA/member/supplier/SupplierShop/SupplierShop.json b/packageA/member/supplier/SupplierShop/SupplierShop.json
new file mode 100644
index 0000000..f060e54
--- /dev/null
+++ b/packageA/member/supplier/SupplierShop/SupplierShop.json
@@ -0,0 +1,10 @@
+{
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-count-down":"/dist/count-down/index",
+ "classify_view":"../component/classify/classify",
+ "activity":"../component/activity/activity"
+ }
+}
diff --git a/packageA/member/supplier/SupplierShop/SupplierShop.wxml b/packageA/member/supplier/SupplierShop/SupplierShop.wxml
new file mode 100644
index 0000000..de6ffa9
--- /dev/null
+++ b/packageA/member/supplier/SupplierShop/SupplierShop.wxml
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{supplierInfo.store_name?supplierInfo.store_name:supplierInfo.username}}
+ 商品数量:{{indexData.list_count}}
+
+
+ 查看信息
+
+
+
+
+ 首页
+
+
+
+ 商品
+
+
+
+ 活动
+
+
+
+ 分类
+
+
+
+ 直播列表
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{language['money']}}{{
+ item.vip_level_status && item.vip_level_status.status == 1 ? item.vip_level_status.word : (item.has_option == 1 && item.min_price ? item.min_price : item.price)}}
+
+
+
+
+
+
+
+ 查看更多
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 到底了~
+
+
+
+
+
+
+
+
+
+ 综合
+
+
+
+
+
+
+
+
+
+
+ 销量
+
+
+
+
+
+
+
+
+
+
+ 价格
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/supplier/SupplierShop/SupplierShop.wxss b/packageA/member/supplier/SupplierShop/SupplierShop.wxss
new file mode 100644
index 0000000..99b7f27
--- /dev/null
+++ b/packageA/member/supplier/SupplierShop/SupplierShop.wxss
@@ -0,0 +1,1061 @@
+/* pages/SupplierShop/SupplierShop.wxss */
+.supplier .search-box {
+ position: relative;
+ display: flex;
+ align-items: center;
+ height: 88rpx;
+ background-color: #fff;
+ height: 90rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+/* kefu */
+.icon-close11 {
+ font-size: 18px;
+}
+
+.pop-content {
+ background-color: #fff;
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: center;
+ width: 100%;
+}
+
+.pop-content .pop-top .left {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ position: relative;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .line {
+ width: 1px;
+ height: 51rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.kefuxiaoxi {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ top: 0;
+ left: 0;
+}
+
+.msgbox {
+ line-height: 40rpx;
+ box-sizing: border-box;
+ padding: 20rpx;
+}
+
+/* ------------------ */
+.supplier .search-box .search {
+ display: flex;
+ padding-left: 32rpx;
+ height: 60rpx;
+ text-align: left;
+ width: 460rpx;
+ border-radius: 30rpx;
+ align-items: center;
+ margin-left: 89rpx;
+ background: #eff0f1;
+ box-sizing: border-box;
+}
+
+.supplier .search-box .icon-all_search_2 {
+ color: rgb(102, 102, 102);
+ margin-top: -10rpx;
+ color: #999999;
+}
+
+.supplier .search-box .search input {
+ margin-left: 12rpx;
+ border: none;
+}
+
+.supplier .search-box .icon-a {
+ /* width: 90rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ position: absolute;
+ right: 90rpx;
+ text-align: center; */
+ margin-left: 51rpx;
+}
+
+.supplier .search-box .icon-service {
+ font-size: 50rpx;
+ color: #6d6d6d;
+}
+
+.supplier .search-box .icon-b {
+ /* width: 90rpx;
+ height: 90rpx;
+ line-height: 90rpx; */
+ /* position: absolute;
+ right: 0; */
+ text-align: center;
+ margin-left: 31rpx;
+}
+
+.supplier .search-box .icon-more {
+ font-size: 50rpx;
+ color: #6d6d6d;
+}
+
+.supplier .menu {
+ padding: 0 20rpx;
+ position: absolute;
+ right: 12rpx;
+ z-index: 10;
+ background: rgba(51, 51, 51, 0.9);
+ color: #f0f0f0;
+ border-radius: 8rpx;
+ width: 240rpx;
+ opacity: 1;
+}
+
+.supplier .menu .spare {
+ position: absolute;
+ right: 20rpx;
+ top: -45rpx;
+}
+
+.supplier .menu .li {
+ display: flex;
+ font-size: 28rpx;
+ height: 72rpx;
+ border-bottom: solid 2rpx #d6d6d6;
+}
+
+.supplier .menu .spare .icon-spare {
+ font-size: 32rpx;
+ color: rgb(51, 51, 51);
+}
+
+.supplier .menu .li icon {
+ line-height: 72rpx;
+ margin-right: 12rpx;
+}
+
+.supplier .menu .li .span {
+ line-height: 72rpx;
+}
+
+.supplier .menu .li:last-child {
+ border: none;
+}
+
+.supplier .supplier-box {
+ background-color: #fff;
+}
+
+.supplier .supplier-box .supplier-info {
+ padding: 35rpx 30rpx 0 30rpx;
+ background-color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.supplier_info_user {
+ display: flex;
+ align-items: center;
+}
+
+.supplier .supplier-box .supplier-info .user-img {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 100%;
+ overflow: hidden;
+ background-color: #fadc5d;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.supplier .supplier-box .supplier-info .user-img image {
+ width: 100%;
+ height: 100%;
+}
+
+.supplier .supplier-box .supplier-info .user-img .icon-dianpu {
+ font-size: 35rpx;
+ color: #fff;
+}
+
+.supplier .supplier-box .supplier-info .user-name {
+ text-align: left;
+ margin-left: 20rpx;
+}
+
+.supplier .supplier-box .supplier-info .user-name .li:first-child {
+ font-size: 30rpx;
+ font-weight: bold;
+}
+
+.supplier .supplier-box .supplier-info .user-name .li:last-child {
+ color: #8c8c8c;
+ font-size: 22rpx;
+}
+
+.supplier .supplier-box .supplier-info .user-name .li:last-child .span {
+ color: #f15353;
+}
+
+.supplier .supplier-box .supplier-info .user-btn {
+ display: flex;
+ justify-content: center;
+ /* top: 1.3125rem;
+ position: absolute;
+ right: 0.75rem; */
+ background-color: #f15353;
+ height: 1.625rem;
+ line-height: 1.625rem;
+ width: 5rem;
+ text-align: center;
+ border-radius: 0.8125rem;
+ color: #fff;
+}
+
+.supplier .home-page .banner {
+ padding: 20rpx 0 0rpx 0;
+ margin-bottom: 20rpx;
+ background-color: #fff;
+}
+
+.supplier .home-page .banner image {
+ width: 100%;
+ height: 100%;
+}
+
+.supplier .home-page .hot {
+ background-color: #f6f6f6;
+ /* padding-top: 40rpx; */
+ margin-bottom: 43rpx;
+ box-sizing: border-box;
+}
+
+.supplier .home-page .hot .title {
+ height: 56rpx;
+ background-color: #f6f6f6;
+ display: flex;
+ justify-content: center;
+ /* padding-bottom: 35rpx; */
+}
+
+
+.supplier .home-page .hot .title image {
+ width: 423rpx;
+ height: 56rpx;
+ margin: 0 auto;
+}
+
+.supplier .home-page .hot .goods {
+ display: flex;
+ width: 260rpx;
+ height: 405rpx;
+ flex-direction: column;
+ background-color: #ffffff;
+ margin-right: 20rpx;
+}
+
+.goodsHotMore {
+ display: flex;
+ height: 405rpx;
+ width: 30rpx;
+ flex-direction: column;
+ padding-right: 30rpx;
+ padding-left: 30rpx;
+ flex-shrink: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: #ebebeb;
+ /* margin-right: 90rpx; */
+ border-radius: 0 24rpx 24rpx 0;
+}
+
+.ruleHot {
+ padding: 35rpx 0 27rpx 25rpx;
+ box-sizing: border-box;
+ overflow-x: scroll;
+ display: flex;
+ align-items: center;
+ margin-right: 20rpx;
+}
+
+.supplier .home-page .hot .goods .img {
+ /* margin: 12rpx; */
+ height: 260rpx;
+ width: 260rpx;
+ background-color: #ccc;
+ overflow: hidden;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.supplier .home-page .hot .goods .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.supplier .home-page .hot .goods .info {
+ padding: 20rpx 19rpx;
+ min-height: 145rpx;
+ box-sizing: border-box;
+}
+
+.supplier .home-page .hot .goods .info .li:first-child {
+ font-size: 24rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.supplier .home-page .hot .goods .info .li:last-child {
+ font-weight: bold;
+ font-size: 22rpx;
+}
+
+.supplier .home-page .hot .goods .info .li:last-child .left {
+ color: #f15353;
+ margin-right: 20rpx;
+}
+
+.supplier .home-page .hot .goods .info .li:last-child .right {
+ color: #8c8c8c;
+ text-decoration: line-through;
+ font-weight: normal;
+ font-size: 28rpx;
+}
+
+.supplier .home-page .hot .ul:last-child {
+ border-bottom: none;
+}
+
+.supplier .home-page .rec {
+ /* margin-top: 20rpx; */
+}
+
+.supplier .home-page .rec .title {
+ height: 56rpx;
+ background-color: #f6f6f6;
+ display: flex;
+ justify-content: center;
+ margin-bottom: 35rpx;
+}
+
+.dimg {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.dimg image {
+ width: 200rpx;
+ height: 200rpx;
+}
+
+/* .supplier .home-page .rec .title .h1 {
+ font-size: 32rpx;
+ color: #666;
+}
+
+.supplier .home-page .rec .title .icon {
+ width: 72rpx;
+ height: 72rpx;
+ overflow: hidden;
+} */
+
+.supplier .home-page .rec .title image {
+ width: 423rpx;
+ height: 56rpx;
+ margin: 0 auto;
+}
+
+.supplier .home-page .rec .goods-list {
+ display: -webkit-flex;
+ -webkit-flex-wrap: wrap;
+ padding: 20rpx;
+}
+
+.supplier .home-page .rec .goods-list .goods {
+ width: 345rpx;
+ margin-bottom: 10rpx;
+ padding-top: 10rpx;
+}
+
+.supplier .home-page .rec .goods-list .goods .img {
+ height: 345rpx;
+ width: 345rpx;
+ margin: 0 auto;
+ overflow: hidden;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.supplier .home-page .rec .goods-list .goods .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.supplier .home-page .rec .goods-list .goods .info {
+ text-align: left;
+ padding: 12rpx;
+ padding-left: 20rpx;
+ font-size: 28rpx;
+ background: #fff;
+ border-radius: 0rpx 0rpx 10rpx 10rpx;
+}
+
+.supplier .home-page .rec .goods-list .goods .info .li:first-child {
+ line-height: 40rpx;
+ height: 80rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.supplier .home-page .rec .goods-list .goods .info .li:last-child {
+ margin-top: 8rpx;
+ font-weight: bold;
+ line-height: 48rpx;
+ font-size: 32rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+.supplier .home-page .rec .goods-list .goods .info .li:last-child .left {
+ color: #f15353;
+ margin-right: 20rpx;
+}
+
+.supplier .home-page .rec .goods-list .goods .info .li:last-child .right {
+ color: #8c8c8c;
+ text-decoration: line-through;
+ font-weight: normal;
+ font-size: 28rpx;
+}
+
+.supplier .home-page .rec .goods-list .goods:nth-child(2n+1) {
+ margin-right: 20rpx;
+}
+
+.supplier .home-page .banner .ul {
+ padding: 0 20rpx;
+ margin-top: 14rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+.supplier .home-page .banner .ul .li {
+ width: 350rpx;
+ height: 172rpx;
+ overflow: hidden;
+}
+
+.supplier .home-page .banner .ul .li image {
+ width: 100%;
+}
+
+.sort_box {
+ /* height: 80rpx; */
+ /* line-height: 80rpx; */
+ display: flex;
+ /* background: #fff; */
+ /* border-top: solid 2rpx #ebebeb; */
+ /* border-bottom: solid 2rpx #ebebeb; */
+ padding: 30rpx 70rpx 20rpx 70rpx;
+}
+
+.sort_box .ul {
+ display: flex;
+ justify-content: center;
+ position: relative;
+ font-size: 15px;
+ flex: 1;
+}
+
+.sort_box .sort_icon {
+ width: 80rpx;
+ height: 80rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.sort_box .sort_icon .photo_icon {
+ width: 48rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.sort_box .sort_icon .photo_icon icon {
+ font-size: 48rpx;
+}
+
+.sort_box .ul .li {
+ display: flex;
+}
+
+.sort_box .ul .li .left.sel {
+ color: #f15353;
+}
+
+.sort_box .ul .li .right {
+ display: flex;
+ flex-wrap: wrap;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ width: 22rpx;
+}
+
+.icon_up {
+ width: 0;
+ height: 0;
+ border-right: 8rpx solid transparent;
+ border-left: 8rpx solid transparent;
+ border-bottom: 8rpx solid #999;
+ margin-bottom: 2rpx;
+}
+
+.icon_up.sel {
+ border-bottom: 8rpx solid #f14e4e;
+}
+
+.icon_down {
+ margin-top: 2rpx;
+ width: 0;
+ height: 0;
+ border-right: 8rpx solid transparent;
+ border-left: 8rpx solid transparent;
+ border-top: 8rpx solid #999;
+}
+
+.icon_down.sel {
+ border-top: 8rpx solid #f15353;
+}
+
+.supplier .goods-box {
+ padding-bottom: 100rpx;
+}
+
+.supplier .goods-box .goods-list_1 {
+ display: -webkit-flex;
+ -webkit-flex-wrap: wrap;
+ padding: 20rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods {
+ width: 345rpx;
+ margin-bottom: 10rpx;
+ padding-top: 10rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods:nth-child(2n+1) {
+ margin-right: 20rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods .img {
+ height: 345rpx;
+ width: 345rpx;
+ margin: 0 auto;
+ overflow: hidden;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods .info {
+ text-align: left;
+ padding: 12rpx;
+ padding-left: 20rpx;
+ font-size: 28rpx;
+ background: #fff;
+ border-radius: 0rpx 0rpx 10rpx 10rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods .info .li:first-child {
+ line-height: 40rpx;
+ height: 80rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+}
+
+.supplier .goods-box .goods-list_1 .goods .info .li:last-child {
+ margin-top: 8rpx;
+ font-weight: bold;
+ line-height: 48rpx;
+ font-size: 32rpx;
+}
+
+.supplier .goods-box .goods-list_1 .goods .info .li:last-child .left {
+ color: #f15353;
+ margin-right: 20rpx;
+}
+
+.supplier .active {
+ padding-bottom: 100rpx;
+}
+
+.supplier .active .goods-list_2 {
+ display: -webkit-flex;
+ -webkit-flex-wrap: wrap;
+ padding: 20rpx;
+}
+
+.supplier .active .goods-list_2 .goods {
+ width: 345rpx;
+ margin-bottom: 10rpx;
+ padding-top: 10rpx;
+}
+
+.supplier .active .goods-list_2 .goods .img {
+ height: 345rpx;
+ width: 345rpx;
+ margin: 0 auto;
+ overflow: hidden;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+ position: relative;
+}
+
+.timeSet {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 43rpx;
+ background-color: rgba(0, 0, 0, 0.3);
+ color: #ffffff;
+ padding-left: 20rpx;
+ display: flex;
+ align-items: center;
+ font-size: 22rpx;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+.timeSet van-count-down .van-count-down {
+ color: #fff;
+ font-size: 22rpx;
+}
+
+.timeSet .icon-dingshi {
+ margin-top: -10rpx;
+ margin-right: 15rpx;
+}
+
+.supplier .active .goods-list_2 .goods .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.supplier .active .goods-list_2 .goods .info {
+ text-align: left;
+ padding: 12rpx;
+ padding-left: 20rpx;
+ font-size: 28rpx;
+ background: #fff;
+ border-radius: 0rpx 0rpx 10rpx 10rpx;
+}
+
+.supplier .active .goods-list_2 .goods .info .li:first-child {
+ line-height: 40rpx;
+ height: 80rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.supplier .active .goods-list_2 .goods .info .li:last-child {
+ display: -webkit-flex;
+ justify-content: space-between;
+ margin-top: 8rpx;
+ font-weight: bold;
+ line-height: 48rpx;
+ font-size: 32rpx;
+}
+
+.supplier .active .goods-list_2 .goods .info .li:last-child .left {
+ color: #f15353;
+ margin-right: 20rpx;
+}
+
+.supplier .active .goods-list_2 .goods .info .li:last-child .right {
+ font-weight: normal;
+ display: inline-block;
+ background-color: #f15353;
+ border-radius: 6rpx;
+ padding: 2rpx 20rpx;
+ font-size: 24rpx;
+ color: #fff;
+}
+
+.supplier .active .goods-list_2 .goods:nth-child(2n+1) {
+ margin-right: 20rpx;
+}
+
+.living_content {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+ padding-top: 31rpx;
+ background-color: #fff;
+}
+
+.living_content .living {
+ width: 340rpx;
+ padding-bottom: 56rpx;
+ position: relative;
+ background-color: #fff;
+ border-radius: 25rpx;
+ margin-bottom: 13rpx;
+}
+
+.living_content .living .bg {
+ width: 340rpx;
+ height: 420rpx;
+ background-color: #fff;
+ border-radius: 25rpx;
+ position: relative;
+}
+
+.living_content .living .bg image {
+ width: 100%;
+ height: 100%;
+ border-radius: 25rpx;
+}
+
+.living_content .living .bg .content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+}
+
+.living_content .living .bg .content .live_top {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 19rpx;
+ padding-left: 10rpx;
+}
+
+.living_content .living .bg .content .live_top .live_top_left {
+ min-width: 206rpx;
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.living_content .living .bg .content .live_top .live_top_left .left {
+ width: 90rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.living_content .living .bg .content .live_top .live_top_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.living_content .living .bg .content .live_top .seeding_left {
+ min-width: 206rpx;
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.living_content .living .bg .content .live_top .seeding_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #999;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.living_content .living .bg .content .live_top .seeding_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.living_content .living .bg .content .live_top .advance_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.living_content .living .bg .content .live_top .live_top_right {
+ width: 59rpx;
+ position: relative;
+ margin-right: 7rpx;
+}
+
+.living_content .living .bg .content .live_top .live_top_right .little_icon {
+ width: 50rpx;
+ height: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.living_content .living .bg .content .live_top .live_top_right .little_icon .icon-zb_goods {
+ color: #ffa303;
+ font-size: 50rpx;
+}
+
+.living_content .living .bg .content .live_top .live_top_right .num {
+ min-width: 50rpx;
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+ height: 22rpx;
+ background-color: #fff;
+ border-radius: 9rpx;
+ position: absolute;
+ right: -2rpx;
+ top: 6rpx;
+ font-size: 20rpx;
+ line-height: 22rpx;
+ color: #f00;
+ text-align: center;
+ overflow: hidden;
+}
+
+.living_content .living .bg .live_bottom {
+ position: absolute;
+ height: 72rpx;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #fff;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+}
+
+.living_content .living .bootom {
+ position: absolute;
+ display: flex;
+ bottom: 10rpx;
+ left: 0;
+ right: 0;
+}
+
+.living_content .living .bootom .left {
+ width: 56rpx;
+ height: 56rpx;
+ background-color: #fff;
+ border: solid 4rpx #fff;
+ border-radius: 50%;
+ margin-right: 9rpx;
+ margin-left: 6rpx;
+}
+
+.living_content .living .bootom .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.living_content .living .bootom .right {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-top: 20rpx;
+ flex: 1;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.tabList {
+ padding-left: 42rpx;
+ width: 100%;
+ overflow: hidden;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ padding-top: 58rpx;
+ background-color: #fff;
+ height: 150rpx;
+ padding-bottom: 20rpx;
+}
+
+.tabList .tabs {
+ font-size: 26rpx;
+ font-weight: bold;
+ margin-right: 67rpx;
+ position: relative;
+ width: 70rpx;
+ text-align: center;
+ color: #7a7a7a;
+}
+
+.tabList .activeIn {
+ font-size: 32rpx;
+ font-weight: bold;
+ color: #f14e4e;
+
+}
+
+.tabList .tabs .line {
+ width: 70rpx;
+ height: 6rpx;
+ background-color: #f14e4e;
+ border-radius: 2.5rpx;
+ position: absolute;
+ bottom: -15rpx;
+}
+
+.banner_adv {
+ padding: 0 20rpx;
+ display: flex;
+ align-items: center;
+ background-color: #f6f6f6;
+}
+
+.banner_adv .li:first-child {
+ margin-right: 20rpx;
+}
+
+.banner_adv .li {
+ width: 345rpx;
+ height: 200rpx;
+ background-color: #ffffff;
+ border-radius: 10rpx;
+}
+
+.banner_adv .li image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.space {
+ font-size: 0.69rem;
+ color: #9a9a9a;
+ text-align: center;
+ width: 100%;
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/component/activity/activity.js b/packageA/member/supplier/component/activity/activity.js
new file mode 100644
index 0000000..4cd86c6
--- /dev/null
+++ b/packageA/member/supplier/component/activity/activity.js
@@ -0,0 +1,34 @@
+// packageA/member/supplier/component/activity/activity.js
+// const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ arr: {
+ type: null
+ },
+ showMask: {
+ type: Boolean
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ goToDetail(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/supplier/component/activity/activity.json b/packageA/member/supplier/component/activity/activity.json
new file mode 100644
index 0000000..7e37c03
--- /dev/null
+++ b/packageA/member/supplier/component/activity/activity.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/component/activity/activity.wxml b/packageA/member/supplier/component/activity/activity.wxml
new file mode 100644
index 0000000..a2f478b
--- /dev/null
+++ b/packageA/member/supplier/component/activity/activity.wxml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{language['money']}}
+ {{item.has_option == 1 && item.min_price ? item.min_price : item.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{language['money']}}
+ {{item.has_option == 1 && item.min_price ? item.min_price : item.price}}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/supplier/component/activity/activity.wxss b/packageA/member/supplier/component/activity/activity.wxss
new file mode 100644
index 0000000..71eab69
--- /dev/null
+++ b/packageA/member/supplier/component/activity/activity.wxss
@@ -0,0 +1,85 @@
+/* packageA/member/supplier/component/activity/activity.wxss */
+.goods-list_1 {
+ display: -webkit-flex;
+ -webkit-flex-wrap: wrap;
+}
+
+.goods-list_1 .goods {
+ width: 345rpx;
+ margin-bottom: 10rpx;
+ padding-top: 10rpx;
+}
+
+.goods-list_1 .goods:nth-child(2n + 1) {
+ margin-right: 20rpx;
+}
+
+.goods-list_1 .goods .img {
+ height: 345rpx;
+ width: 345rpx;
+ margin: 0 auto;
+ overflow: hidden;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.goods-list_1 .goods image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0rpx 0rpx;
+}
+
+.goods-list_1 .goods .info {
+ text-align: left;
+ padding: 12rpx;
+ padding-left: 20rpx;
+ font-size: 28rpx;
+ background: #fff;
+ border-radius: 0rpx 0rpx 10rpx 10rpx;
+}
+
+.goods-list_1 .goods .info .li:first-child {
+ line-height: 40rpx;
+ height: 80rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+}
+
+.goods-list_1 .goods .info .li:last-child {
+ margin-top: 8rpx;
+ font-weight: bold;
+ line-height: 48rpx;
+ font-size: 32rpx;
+}
+
+.goods-list_1 .goods .info .li:last-child .left {
+ color: #f15353;
+ margin-right: 20rpx;
+}
+
+.timeSet {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 43rpx;
+ background-color: rgba(0, 0, 0, 0.3);
+ color: #ffffff;
+ padding-left: 20rpx;
+ display: flex;
+ align-items: center;
+ font-size: 22rpx;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+.timeSet van-count-down .van-count-down {
+ color: #fff;
+ font-size: 22rpx;
+}
+
+.timeSet .icon-dingshi {
+ margin-top: -10rpx;
+ margin-right: 15rpx;
+}
diff --git a/packageA/member/supplier/component/classify/classify.js b/packageA/member/supplier/component/classify/classify.js
new file mode 100644
index 0000000..e136435
--- /dev/null
+++ b/packageA/member/supplier/component/classify/classify.js
@@ -0,0 +1,263 @@
+// packageA/member/supplier/component/classify/classify.js
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ sid: {
+ type: null
+ },
+ // cat_level: {
+ // type: null
+ // }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ // 所选一级
+ firstClass: 0,
+ // 所选二级
+ twoClass: 0,
+ // 一级分类
+ categoryInfo: [],
+ onePage: 1,
+ current_page_first: 1,
+ last_page_first: 1,
+ // 二级分类
+ categoryInfo_two: [],
+ twoPage: 1,
+ current_page_two: 1,
+ last_page_two: 1,
+
+ keyInto: '',
+ cat_level:'2'
+ // 防止多次点击
+
+ },
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.getClass();
+ },
+ moved() { },
+ detached() { },
+ },
+ observers: {
+ // 'sid': function (ea) {
+ // console.log(ea, 'sssssssss')
+ // }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ init() {
+ this.setData({
+ // categoryInfo: [],
+ onePage: 1,
+ current_page_first: 1,
+ last_page_first: 1,
+ // categoryInfo_two: [],
+ twoPage: 1,
+ current_page_two: 1,
+ last_page_two: 1,
+ twoClass: 0,
+ keyInto: ''
+ });
+ },
+ toSearch(e){
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/member/supplier/SupplierSearch/SupplierSearch?id='+this.data.sid + '&cid=' + id,
+ });
+ },
+ tapRightTwo(e) {
+ this.setData({
+ twoClass: e.currentTarget.dataset.id,
+ keyInto: `thr_id${e.currentTarget.dataset.kid}`
+ });
+ },
+ tapOneClass(e) {
+ let ind = e.currentTarget.dataset.ind;
+ this.setData({
+ firstClass: ind,
+ });
+ this.init();
+ this.getClass();
+ },
+ getClass(loadMore = false) {
+ wx.showLoading({
+ title: '加载中',
+ });
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.getParendCategory");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ sid: this.data.sid,
+ paginate: 100,
+ page: this.data.onePage
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ cat_level:res.data.cat_level
+ });
+ if (!loadMore) {
+ // 一级分类初始请求
+ this.setData({
+ categoryInfo: res.data.data,
+ current_page_first: res.data.current_page,
+ last_page_first: res.data.last_page
+ });
+ this.getClassTwo(this.data.categoryInfo[this.data.firstClass].id);
+ } else {
+ // 一级分类下滑触底加载更多
+ this.setData({
+ categoryInfo: this.data.categoryInfo.concat(res.data.data),
+ current_page_first: res.data.current_page,
+ last_page_first: res.data.last_page
+ });
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ });
+ wx.hideLoading({
+ success: (res) => { },
+ });
+ }
+ }
+ });
+ },
+ getClassTwo(child, loadMore = false, pageTwo) {
+ // 取二级分类
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.getChildrenCategory");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ sid: this.data.sid,
+ paginate: 15,
+ category_id: child,
+ page: this.data.twoPage
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (loadMore) {
+ // 加载更多
+ console.log('加载更多', res.data.category_2.data);
+ this.getClassThr(child, res.data.category_2.data[this.data.twoClass].level, true, pageTwo);
+ } else {
+ // 初始进入取二级分类只开了二级分类
+ if (this.data.cat_level == '2') {
+ this.setData({
+ categoryInfo_two: res.data.categorys.data,
+ current_page_two: res.data.categorys.current_page,
+ last_page_two: res.data.categorys.last_page
+ });
+ wx.hideLoading({
+ success: (res) => { },
+ });
+ // console.log('取二级', this.data.categoryInfo_two)
+ } else {
+ // 开启了三级分类
+ this.getClassThr(child, res.data.category_2.data[this.data.twoClass].level);
+ }
+ }
+
+ } else {
+ wx.showToast({
+ title: res.msg,
+ });
+ wx.hideLoading({
+ success: (res) => { },
+ });
+ }
+ },
+ fail: (err) => {
+ wx.hideLoading({
+ success: (res) => { },
+ });
+ }
+ });
+ },
+ getClassThr(child, leve, loadMore = false, pageTwo = null) {
+ if (loadMore && pageTwo) {
+ this.setData({
+ twoPage: pageTwo
+ });
+ }
+ // 取三级分类
+ let urlStr = app.getNetAddresss("plugin.supplier.frontend.shop.index.getChildrenCategory");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ sid: this.data.sid,
+ paginate: 15,
+ category_id: child,
+ page: this.data.twoPage,
+ level: leve
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ wx.hideLoading({
+ success: (res) => { },
+ });
+ if (res.result == 1) {
+ if (loadMore) {
+ console.log('加载更多取二级和三级', res);
+ this.setData({
+ categoryInfo_two: this.data.categoryInfo_two.concat(res.data.category_2.data),
+ current_page_two: res.data.category_2.current_page,
+ last_page_two: res.data.category_2.last_page
+ });
+ return;
+ }
+ console.log('取三级category_2里面新增category_3', this.data.categoryInfo_two);
+ this.setData({
+ categoryInfo_two: res.data.category_2.data,
+ current_page_two: res.data.category_2.current_page,
+ last_page_two: res.data.category_2.last_page
+ });
+ } else {
+ wx.hideLoading({
+ success: (res) => { },
+ });
+ wx.showToast({
+ title: res.msg,
+ });
+ }
+
+ },
+ fail: (err) => {
+ wx.hideLoading({
+ success: (res) => { },
+ });
+ }
+ });
+ },
+ getMoreCategoryNew(e) {
+ if (this.data.current_page_first >= this.data.last_page_first) {
+ console.log('没有更多一级分类');
+ return;
+ } else {
+ this.setData({
+ onePage: this.data.onePage + 1
+ });
+ }
+ this.getClass(true);
+ },
+ getMoreCategoryNew_two(e) {
+ if (this.data.current_page_two >= this.data.last_page_two) {
+ return;
+ } else {
+ let loadPage_two = this.data.twoPage + 1;
+ this.getClassTwo(this.data.categoryInfo[this.data.firstClass].id, true, loadPage_two);
+ }
+ }
+ }
+});
\ No newline at end of file
diff --git a/packageA/member/supplier/component/classify/classify.json b/packageA/member/supplier/component/classify/classify.json
new file mode 100644
index 0000000..7e37c03
--- /dev/null
+++ b/packageA/member/supplier/component/classify/classify.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/component/classify/classify.wxml b/packageA/member/supplier/component/classify/classify.wxml
new file mode 100644
index 0000000..37faca8
--- /dev/null
+++ b/packageA/member/supplier/component/classify/classify.wxml
@@ -0,0 +1,52 @@
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+ {{itemK.name}}
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/supplier/component/classify/classify.wxss b/packageA/member/supplier/component/classify/classify.wxss
new file mode 100644
index 0000000..e65f1e1
--- /dev/null
+++ b/packageA/member/supplier/component/classify/classify.wxss
@@ -0,0 +1,116 @@
+/* packageA/member/supplier/component/classify/classify.wxss */
+.box {
+ display: flex;
+ /* align-items: center; */
+ justify-content: space-between;
+}
+
+.leftBox {
+ width: 167rpx;
+ /* height: 60%; */
+ background-color: #ffffff;
+ padding-left: 23rpx;
+ /* padding-top: 44rpx; */
+ padding-right: 20rpx;
+ box-sizing: border-box;
+ padding-bottom: 90rpx;
+ /* overflow-y: scroll; */
+}
+
+.leftList {
+ text-align: left;
+ /* margin-bottom: 70rpx; */
+ padding: 35rpx 0 35rpx 0;
+ box-sizing: border-box;
+ color: #666666;
+ font-size: 28rpx;
+}
+
+/* .leftList:first-child {
+ padding-top: 0;
+ padding-bottom: 0;
+} */
+.leftList:last-child {
+ padding-bottom: 90rpx;
+}
+
+.rightBox {
+ flex: 1;
+ margin-left: 27rpx;
+ margin-top: 30rpx;
+ margin-right: 29rpx;
+ overflow: hidden;
+}
+
+.rightBox .twoClass {
+ display: flex;
+ align-items: center;
+ /* flex-wrap: wrap; */
+}
+
+.rightBox .twoClass .twoClass_li {
+ flex-shrink: 0;
+ padding: 10rpx 26rpx;
+ text-align: center;
+ border-radius: 12rpx;
+ font-size: 24rpx;
+ border: solid 4rpx #bfbfbf;
+}
+
+.rightBox .twoClass .twoClass_li:nth-child(1n) {
+ margin-right: 22rpx;
+ margin-bottom: 20rpx;
+}
+
+ .tapClassRd {
+ color: #f15353;
+ border: solid 4rpx #f15353 !important;
+ }
+
+.firtClassRd {
+ font-size: 30rpx;
+ color: #f15353;
+}
+
+.threeClass {
+ font-size: 30rpx;
+ color: #212121;
+ font-weight: bold;
+ margin-top: 19rpx;
+ margin-bottom: 20rpx;
+}
+
+.rightBox .ul {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.rightBox .ul .li:nth-child(3n) {
+ margin-right: 0;
+}
+
+.rightBox .ul .li {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ margin-right: 20rpx;
+ padding-bottom: 20rpx;
+}
+
+.rightBox .ul .li .liImg {
+ width: 162rpx;
+ height: 163rpx;
+ background-color: #ebebeb;
+ margin-bottom: 20rpx;
+}
+
+.rightBox .ul .li .liImg image {
+ width: 100%;
+ height: 100%;
+}
+
+.rightBox .ul .li .txt {
+ font-size: 26rpx;
+ color: #333333;
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/goods/goods.js b/packageA/member/supplier/goods/goods.js
new file mode 100644
index 0000000..9c0d31b
--- /dev/null
+++ b/packageA/member/supplier/goods/goods.js
@@ -0,0 +1,243 @@
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ options: {},
+ link: '',
+ // 分类信息列表
+ cate_list:{},
+ two_cate_list: {},
+ three_cate_list: {},
+ selected_one_cate: 0,
+ selected_two_cate: 0,
+ selected_three_cate: 0,
+ supplier_id: 0,
+ // 商品信息列表
+ list: [],
+ page: 0,
+ total_page: 0,
+ isLoadMore: true,
+ cate_id: 0,// 分类id 取最小级分类id
+ // 是否显示H5
+ is_show_h5: false,
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ // 参数获取
+ let page = getCurrentPages();
+ let params = options || page[page.length - 1].options; //获取加载的页面
+ this.setData({
+ options: params,
+ });
+ // 信息获取
+ this.getCateList();
+ this.getGoodsList();
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ let data = this.data;
+ // 判断是否没有下一页了
+ if (data.page >= data.total_page) console.log('没有更多页了');
+ else if(data.isLoadMore) this.getGoodsList();
+ else console.log('没有更多数据');
+ },
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ /****** 自定义方法 *****************************************************************/
+ // 获取分类列表
+ getCateList(){
+ let _this = this;
+ _this.loading(true,'正在加载中...');
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.supplier.api.controllers.goods.getCateList"),
+ success: function (res) {
+ _this.loading(false);
+ let data = res.data;
+ if (data.result === 1) {
+ _this.setData({
+ cate_list: data.data,
+ });
+ }
+ else {
+ wx.showToast({
+ icon: 'none',
+ title: data.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ _this.loading(false);
+ console.log(res);
+ }
+ });
+ },
+ // 点击切换分类
+ clickOneMenu(e){
+ // 参数获取
+ let _this = this;
+ _this.loading(true,'正在加载中...');
+ let item = e.currentTarget.dataset.item;
+ // 信息处理
+ let level = 1,id = 0;
+ let two_cate_list = {}, three_cate_list = {};
+ if(!item){
+ level = parseInt(e.currentTarget.dataset.level);
+ id = 0;
+ }else{
+ level = item.level;
+ id = item.id;
+ }
+ // 选中操作
+ switch (level) {
+ case 1:
+ if(item){
+ two_cate_list = item.has_many_children;
+ if(two_cate_list[0]) three_cate_list = two_cate_list[0].has_many_children;
+ }
+ _this.setData({
+ selected_one_cate: id,
+ selected_two_cate: 0,
+ selected_three_cate: 0,
+ two_cate_list: two_cate_list,
+ three_cate_list: three_cate_list,
+ cate_id: id,
+ });
+ break;
+ case 2:
+ if(item) three_cate_list = item.has_many_children;
+ _this.setData({
+ selected_two_cate: id,
+ selected_three_cate: 0,
+ three_cate_list: three_cate_list,
+ cate_id: id > 0 ? id : _this.data.selected_one_cate,
+ });
+ break;
+ case 3:
+ _this.setData({
+ selected_three_cate: id,
+ cate_id: id > 0 ? id : _this.data.selected_two_cate,
+ });
+ break;
+ }
+ // 重新获取数据
+ _this.setData({
+ isLoadMore: false,// 防止多次请求分页数据
+ page: 0,
+ list: []
+ });
+ _this.getGoodsList();
+ },
+ // 加载动画
+ loading(type = true,msg = '正在加载中...'){
+ if(type){
+ wx.showLoading({
+ title: msg,
+ mask: true
+ });
+ }else{
+ wx.hideLoading();
+ }
+ },
+ // 获取企业商品信息
+ getGoodsList(){
+ let _this = this;
+ let page = _this.data.page + 1;
+ let cate_id = _this.data.cate_id;
+ let supplier_id = _this.data.options.supplier_id;
+ // 判断是否存在企业id
+ if (!supplier_id) {
+ wx.showToast({
+ icon: 'none',
+ title: '参数错误,企业id不存在!',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500);
+ },
+ });
+ return false;
+ }
+ // 开始获取数据
+ _this.loading(true,'正在加载中...');
+ _this.setData({
+ isLoadMore: false,// 防止多次请求分页数据
+ page: page
+ });
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.supplier.api.controllers.goods.goodsList"),
+ data: { supplier_id: supplier_id, page: page, cate_id: cate_id },
+ success: function (res) {
+ _this.loading(false);
+ let data = res.data;
+ if (data.result === 1) {
+ _this.setData({
+ list: _this.data.list.concat(data.data.data),
+ total_page: data.data.last_page,
+ isLoadMore: true
+ });
+ }
+ else {
+ wx.showToast({
+ icon: 'none',
+ title: data.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ _this.loading(false);
+ console.log(res);
+ }
+ });
+ },
+ // 点击跳转商品详情(H5页面)
+ goToDetail(e){
+ // 参数获取
+ let goodsId = e.currentTarget.dataset.goods_id;
+ let domainName = app.data.host;
+ this.setData({
+ link: domainName+`/yhmobile/yun_shop/?menu#/goods/${goodsId}?i=1`,
+ is_show_h5: true
+ });
+ }
+
+
+
+
+
+
+
+
+});
\ No newline at end of file
diff --git a/packageA/member/supplier/goods/goods.json b/packageA/member/supplier/goods/goods.json
new file mode 100644
index 0000000..44320db
--- /dev/null
+++ b/packageA/member/supplier/goods/goods.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "商品列表",
+ "usingComponents": {
+
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/goods/goods.wxml b/packageA/member/supplier/goods/goods.wxml
new file mode 100644
index 0000000..d6bd2d8
--- /dev/null
+++ b/packageA/member/supplier/goods/goods.wxml
@@ -0,0 +1,51 @@
+
+
+
+
+
+ 全部
+ {{item.name}}
+
+
+
+
+ 全部
+ {{two_item.name}}
+
+
+
+
+ 全部
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ 原价 ¥{{ item.market_price }}
+ ¥{{ item.price }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/member/supplier/goods/goods.wxss b/packageA/member/supplier/goods/goods.wxss
new file mode 100644
index 0000000..2c7a2b8
--- /dev/null
+++ b/packageA/member/supplier/goods/goods.wxss
@@ -0,0 +1,114 @@
+::-webkit-scrollbar {
+ display: none;
+ width: 0;
+ height: 0;
+ color: transparent;
+}
+.tabs-content .tabs-list{
+ box-sizing: border-box;
+ display: inline-flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ align-items: center;
+ justify-content: flex-start;
+ overflow: auto;
+ width: 100vw;
+}
+.tabs-content .tabs-list .tabs-list-item{
+ flex: 0 0 auto!important;
+ padding: 20rpx 40rpx;
+ width: max-content;
+ font-weight: 500;
+ font-size: 30rpx;
+ position: relative;
+}
+.tabs-content .tabs-list .tabs-list-active::after{
+ content: "";
+ position: absolute;
+ bottom: 0;
+ left: calc(40rpx + 5%);
+ width: calc(100% - 80rpx - 10%);
+ background: #ee0a24;
+ height: 6rpx;
+}
+.tabs-content .tabs-children-list{
+ padding-left: 20rpx;
+}
+.tabs-content .tabs-children-list .tabs-list-item{
+ padding: 10rpx 20rpx;
+ font-weight: 300;
+ font-size: 26rpx;
+}
+.tabs-content .tabs-children-list .tabs-list-active::after{
+ content: "";
+ position: absolute;
+ bottom: 0;
+ left: calc(20rpx + 5%);
+ width: calc(100% - 40rpx - 10%);
+ background: #ee0a24;
+ height: 6rpx;
+}
+
+.goods-list{
+ width: calc(100vw - 40rpx);
+ padding: 20rpx;
+ display: inline-flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-items: stretch;
+ background: #f6f6f6;
+}
+.goods-list .block{
+ width: calc((100vw - 60rpx) / 2);
+ border-radius: 20rpx;
+ overflow: hidden;
+ margin-bottom: 20rpx;
+ background: #ffffff;
+}
+.goods-list .block .images{
+ width: calc((100vw - 60rpx) / 2);
+ height: calc((100vw - 60rpx) / 2);
+}
+.goods-list .block .images .image-img{
+ width: 100%;
+ height: 100%;
+}
+.goods-list .block .info{
+ padding: 10rpx 15rpx;
+}
+.goods-list .block .info .title{
+ font-weight: bold;
+ font-size: 30rpx;
+ overflow: hidden;
+ line-height: 40rpx;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical; /*设置对齐模式*/
+ -webkit-line-clamp: 2; /*设置多行的行数*/
+ height: 80rpx;
+}
+.goods-list .block .info .market-price{
+ width: 100%;
+ font-size: 26rpx;
+ color: #a3a3a3;
+ text-decoration:line-through;
+ height: 50rpx;
+ line-height: 50rpx;
+}
+.goods-list .block .info .price{
+ width: 100%;
+ height: 50rpx;
+ line-height: 41rpx;
+ font-size: 20rpx;
+ color: #e95156;
+ font-weight: bold;
+ display: inline-flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ align-items: flex-end;
+}
+.goods-list .block .info .price .money{
+ font-size: 36rpx;
+ line-height: 50rpx;
+}
\ No newline at end of file
diff --git a/packageA/member/supplier/supplier.js b/packageA/member/supplier/supplier.js
new file mode 100644
index 0000000..79eaf8e
--- /dev/null
+++ b/packageA/member/supplier/supplier.js
@@ -0,0 +1,1198 @@
+// pages/member/supplier/supplier.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ explainFlag: false,
+ agreement: false,
+ agreementText: '',
+ startDate: new Date('1900-01-01'),
+ msgText: 0,
+ pass_safe: 0,
+ showtips: true,
+ supplier_status: -2,
+ showAddress: false,
+ supplier_info: "",
+ isDiyForm: 0,
+ form_id: '',
+ types: {
+ "88": 'diyusername',
+ "99": 'diypassword',
+ "0": 'diyinput',
+ "1": 'diytextarea',
+ "3": 'diycheckbox',
+ "4": 'diyradio',
+ "2": 'diyselect',
+ "7": 'diydate',
+ "9": 'diycity',
+ "5": 'diyimage',
+ },
+ diydata: [],
+ applyModel: {
+ username: "",
+ password: "",
+ realname: "",
+ mobile: "",
+ product: "",
+ remark: "",
+ //省市区
+ province_name: "",
+ city_name: "",
+ district_name: "",
+ street_name: "",
+ group_id:'',
+ category_id:'',
+ aptitude:[],
+ identity: [],
+ },
+ setname: '',
+ uploadUrl: 'upload.uploadPic',
+ //地区
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ currentDate: new Date().getTime(),
+ showCity1: false,
+ isValidation: true,
+ select:false,
+ grouping_name:'请选择分组',
+ grouping: [],
+ up_aptitude:'',
+ is_identity: '', // 是否验证身份证
+ group_list:[],
+ select_ind:false,
+ industry_name:'请选择行业',
+ industry: [],
+ // imagesList: [],
+ is_open_category:'',
+ is_open_group:'',
+
+ isShowStreet: false,
+ districtVal: [],
+ streetShow: false,
+
+ // 身份证
+ imagefile1: "",
+ imagefile2: "",
+
+ //自定义图片
+ apply_page_banner:"",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ //加载地址数据初始化
+ this._initAddressInfo();
+ this._getData();
+ this.getApply();
+ },
+ bindGrouping() {
+ this.setData({
+ select: !this.data.select
+ });
+ },
+ /**
+ * 已选下拉框
+ */
+ selectGrouping(e) {
+ console.log(e);
+ var name = e.currentTarget.dataset.datalist.title;
+ this.data.applyModel.group_id = e.currentTarget.dataset.datalist.id;
+ this.setData({
+ group_list:e.currentTarget.dataset.datalist,
+ grouping_name: name,
+ select: false,
+ 'applyModel.aptitude':[],
+ up_aptitude: e.currentTarget.dataset.datalist.up_aptitude,
+ is_identity: e.currentTarget.dataset.datalist.is_identity
+ });
+ },
+ bindIndustry() {
+ this.setData({
+ select_ind: !this.data.select_ind
+ });
+ },
+ /**
+ * 已选下拉框
+ */
+ selectIndustry(e) {
+ console.log(e);
+ var name = e.currentTarget.dataset.datalist.title;
+ this.data.applyModel.category_id = e.currentTarget.dataset.datalist.id;
+ this.setData({
+ industry_name: name,
+ select_ind: false
+ });
+ },
+ del(e){
+ var index = parseInt(e.target.dataset.index);
+ let imagesList = this.data.applyModel.aptitude;
+ imagesList.splice(index, 1);
+ this.setData({
+ 'applyModel.aptitude':imagesList
+ });
+
+ },
+ async bindUpImage() {
+ let fileArray = await this.selectImage();
+ console.log(fileArray,'sssss');
+ let imagesList = this.data.applyModel.aptitude;
+ for (let i = 0; i < fileArray.length; i++) {
+ let data = await this.uploadImage(fileArray[i]);
+ console.log(data,'data');
+ imagesList.push(data.img_url);
+ this.setData({
+ 'applyModel.aptitude':imagesList,
+ });
+ }
+ },
+ selectImage() {
+ return new Promise((resolve, reject) => {
+ wx.chooseImage({
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ resolve(res.tempFilePaths);
+ },
+ });
+ });
+ },
+ uploadImage(tempFile) {
+ return new Promise((resolve, reject) => {
+ wx.showLoading({
+ title: "上传图片中",
+ });
+ let urlStr = app.getNetAddresss("upload.uploadPic");
+ wx.uploadFile({
+ url: urlStr,
+ filePath: tempFile,
+ name: "file",
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ resolve(res.data);
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ complete: () => {
+ wx.hideLoading();
+ },
+ });
+ });
+ },
+
+ // 获取申请数据
+ getApply(){
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.supplier.supplier.controllers.apply.supplier-apply.index");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ grouping: res.data.groups,
+ industry:res.data.categorys,
+ is_open_category:res.data.is_open_category,
+ is_open_group:res.data.is_open_group
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ changeAgreement(e) {
+ this.setData({ agreement: e.detail });
+ },
+ setExplainFlag() {
+ this.setData({
+ explainFlag: !this.data.explainFlag
+ });
+ },
+
+ //日期转化
+ timestampToTime(timestamp) {
+
+ var date = new Date(timestamp);
+ let Y = date.getFullYear() + '-';
+ let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+ let D = this.change(date.getDate()) + ' ';
+ return Y + M + D;
+ },
+ change(t) {
+ if (t < 10) {
+ return "0" + t;
+ } else {
+ return t;
+ }
+ },
+ birthdayconfirm(e, time) {
+ let that = this;
+ let index = e.currentTarget.dataset.idex;
+ let val = e.detail;
+ that.setData({
+ ["diydata[" + index + "].value"]: String(val).substring(0, 10),
+ shoTime: that.timestampToTime(val),
+ ["diydata[" + index + "].timeShow"]: false
+ });
+ },
+ dateClose(e) {
+ let index = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + index + "].timeShow"]: false
+ });
+ },
+ //获取数据
+ _getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.supplier.supplier.controllers.apply.supplier-apply");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ supplier_status: res.data.status,
+ pass_safe: res.data.safe,
+ agreementText: res.data.agreement,
+ apply_page_banner: res.data.apply_page_banner
+ });
+ if (that.data.supplier_status == 1) {
+ if (res.data.is_open_region == "1") {
+ that.setData({
+ showAddress: true
+ });
+ }
+ that.checkEnableDiyForm();
+ that.setData({
+ supplier_info: res.data.signature
+ });
+ return;
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //验证开启表单
+ checkEnableDiyForm() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.supplier.supplier.controllers.apply.supplier-apply.is-enable-diyform");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ supplier_status: 2,
+ isDiyForm: 1,
+ form_id: res.data.form_id,
+ });
+ that.getForm();
+ } else {
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // })
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //获取表单信息
+ getForm() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.diyform.api.diy-form.get-diy-form-by-id");
+ urlStr += '&form_id=' + this.data.form_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ diyform: res.data
+ });
+ let fields = that.data.diyform.fields;
+ let diydata = that.data.diydata;
+ let f = {};
+ for (var field in fields) {
+ console.log(fields[field].data_type);
+ if (that.data.types[fields[field].data_type] == 'diycheckbox') {
+ f = {
+ name: field,
+ data: fields[field],
+ value: [],
+ type: that.data.types[fields[field].data_type],
+ };
+ } else if (fields[field].data_type == '7') {
+ var timestamp = Date.parse(new Date());
+ var date = new Date(timestamp);
+ var Y = date.getFullYear();
+ var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
+ var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();//获取当日日期
+ console.log(Y + '-' + M + '-' + D);
+ var isdatae = Y + '-' + M + '-' + D;
+ f = {
+ name: field,
+ data: fields[field],
+ value: '',
+ type: that.data.types[fields[field].data_type],
+ shoTime: app._isTextEmpty(fields[field].default_time) ? isdatae : fields[field].default_time
+ };
+
+ } else if (that.data.types[fields[field].data_type] == 'diyselect') {
+ let tp_textArr = [];
+ for (let i = 0; i < fields[field].tp_text.length; i++) {
+ tp_textArr.push({
+ name: fields[field].tp_text[i]
+ });
+ }
+ f = {
+ name: field,
+ data: fields[field],
+ value: '',
+ type: that.data.types[fields[field].data_type],
+ diysishow: false,
+ sitem: tp_textArr
+ };
+ } else if (that.data.types[fields[field].data_type] == 'diycity') {
+ f = {
+ name: field,
+ data: fields[field],
+ value: '',
+ type: that.data.types[fields[field].data_type],
+ showAdd: false
+ };
+
+ } else if (that.data.types[fields[field].data_type] == 'diydate') {
+ f = {
+ name: field,
+ data: fields[field],
+ value: '',
+ type: that.data.types[fields[field].data_type],
+ timeShow: false,
+ currentDate: new Date().getTime()
+ };
+ } else if (that.data.types[fields[field].data_type] == 'diyimage') {
+ f = {
+ name: field,
+ data: fields[field],
+ imgUrls: [],
+ isPhoto: false,
+ type: that.data.types[fields[field].data_type],
+ };
+
+ } else {
+ f = {
+ name: field,
+ data: fields[field],
+ value: '',
+ type: that.data.types[fields[field].data_type],
+ };
+ }
+ diydata.push(f);
+ that.setData({
+ diydata: diydata
+ });
+ }
+
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //设置账号的值
+ usernameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "applyModel.username": val
+ });
+ },
+ //设置密码的值
+ passwordinp(e) {
+ let val = e.detail;
+ this.setData({
+ "applyModel.password": val
+ });
+
+ this.msgText = this.checkStrong(val);
+ if (this.msgText == 3) {
+ this.setData({
+ 'showtips': false
+ });
+ } else {
+ this.setData({
+ 'showtips': true
+ });
+ }
+ },
+ checkStrong(sValue) {
+ var modes = 0;
+ //正则表达式验证符合要求的
+ if (sValue.length < 1) return modes;
+ if (/\d/.test(sValue)) modes++; //数字
+ if (/[a-z]/.test(sValue)) modes++; //小写
+ if (/[A-Z]/.test(sValue)) modes++; //大写
+ // if (/\W/.test(sValue)) modes++; //特殊字符
+
+ //逻辑处理
+ // switch (modes) {
+ // case 1:
+ // return 1;
+ // break;
+ // case 2:
+ // return 2;
+ // break;
+ // case 3:
+ // return sValue.length < 8 ? 2 : 3;
+ // break;
+ // }
+ // return modes;
+ if (modes == 1) {
+ return 1;
+ } else if (modes == 2) {
+ return 2;
+ } else {
+ return sValue.length < 8 ? 2 : 3;
+ }
+ },
+ //真实姓名的值
+ realnameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "applyModel.realname": val
+ });
+ },
+ //手机号码的值
+ mobileinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "applyModel.mobile": val
+ });
+ },
+ //产品类型的值
+ productinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "applyModel.product": val
+ });
+ },
+ //备注的值
+ remarkinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "applyModel.remark": val
+ });
+ },
+ //自定义表单值绑定
+ tpnameinp(e) {
+ let val = e.detail.value;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val
+ });
+ },
+ onRead_1(e) {
+ let name = e.currentTarget.dataset.name;
+ this.setData({
+ setname: name
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths[0]);
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ formData: {
+ attach: that.data.setname
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ let diydata = that.data.diydata;
+ for (var i = 0; i < diydata.length; i++) {
+ if (diydata[i].name == res.data.attach) {
+ diydata[i].imgUrls.push(res.data.img_url);
+ }
+ }
+ that.setData({
+ diydata: diydata
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ fail(e) {
+
+ },
+ complete(e) {
+
+ }
+ });
+ }
+ });
+ },
+ upIdCard(evt) {
+ let index = evt.currentTarget.dataset.index;
+ let that = this;
+ let urlStr = app.getNetAddresss("upload.uploadPic");
+ wx.chooseImage({
+ count: 1,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ let photourl = tempFilePaths[0];
+ wx.showLoading({
+ title: "上传图片中",
+ });
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: "file",
+ success(resdata) {
+ wx.hideLoading();
+ var res = JSON.parse(resdata.data);
+ if (res.result != 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ return false;
+ }
+ let target = "imagefile" + index;
+ that.setData({
+ [target]: res.data.img_url,
+ });
+ },
+ fail () {
+ wx.hideLoading();
+ }
+ });
+ },
+ });
+ },
+ removeImg: function(e) {
+ let delIndex = e.currentTarget.dataset.indexc;
+ let index_1 = e.currentTarget.dataset.index;
+ let diydata = this.data.diydata;
+ diydata[index_1].imgUrls.splice(delIndex, 1);
+ this.setData({
+ diydata: diydata
+ });
+ },
+ diytextareainp(e) {
+ let val = e.detail.value;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val
+ });
+ },
+ checkboxinp(e) {
+ let val = e.detail;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val
+ });
+ },
+ diyselectBtn(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].diysishow"]: true
+ });
+ },
+ sitemClose(e){
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].diysishow"]: false
+ });
+ },
+ sitemSelectBtn(event){
+ let idx = event.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: event.detail.name,
+ ["diydata[" + idx + "].diysishow"]: false
+ });
+ },
+ raidinp(e) {
+ let val = e.detail;
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].value"]: val
+ });
+ },
+ //所在地选择显示
+ showAddBtn(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].showAdd"]: true
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].showAdd"]: false
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function() {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function(res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function(res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: 'provinceData',
+ data: province
+ });
+ wx.setStorage({
+ key: 'cityData',
+ data: city
+ });
+ wx.setStorage({
+ key: 'districtData',
+ data: district
+ });
+ that._initAddressInfo();
+ },
+ fail: function(res) {},
+ state: true
+ });
+ }
+ });
+ },
+ // 读取省key
+ _getProvinceData: function() {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data
+ });
+ that.setData({
+ "selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0]
+ });
+ that._getCityData();
+ }
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function() {
+ var _data = this.data.selectAddressData[0];
+ console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = 'cityData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1]
+ });
+ that._getDistrictData();
+ }
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ console.log("地区", "_data", _data);
+ console.log(_data);
+ var that = this;
+ var _keyName = 'districtData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json
+ });
+ console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2]
+ });
+ console.log("over", that.data.selectAddressData);
+ }
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2]
+ });
+ this._initAddressInfo();
+ },
+ //城市结果
+ resultAdd: function (e) {
+ let idx = e.currentTarget.dataset.idex;
+ let seleData = this.data.selectAddressData;
+ let retCity = seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name;
+ this.setData({
+ ["diydata[" + idx + "].value"]: retCity,
+ ["diydata[" + idx + "].showAdd"]: false
+ });
+ },
+ //自定义日期选择
+ openPicker(e) {
+ let idx = e.currentTarget.dataset.idex;
+ this.setData({
+ ["diydata[" + idx + "].timeShow"]: true
+ });
+ },
+ _closeDateLw_1() {
+ this.setData({
+ 'showCity1': false
+ });
+ },
+ resultAdd_1() {
+ let seleData = this.data.selectAddressData;
+ this.setData({
+ 'applyModel.province_name': seleData[0].name,
+ 'applyModel.city_name': seleData[1].name,
+ 'applyModel.district_name': seleData[2].name,
+ fullAddress: seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name,
+ 'showCity1': false,
+ 'applyModel.street_name': '',
+ districtVal: [],
+ });
+ this._getStreet(seleData[2].id);
+ },
+ //获取街道
+ _getStreet(param) {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.memberAddress.street");
+ urlStr += "&district_id=" + param;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ if (!app._isTextEmpty(res.data) && res.data.length > 0) {
+ that.setData({
+ districtVal: res.data,
+ isShowStreet: true,
+ });
+ } else {
+ that.setData({
+ isShowStreet: false,
+ });
+ }
+ } else {
+ that.setData({
+ isShowStreet: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ // 显示街道选择框
+ streetChoose() {
+ if (app._isTextEmpty(this.data.fullAddress)) {
+ wx.showToast({
+ icon: "none",
+ title: "请先选择所在地区",
+ duration: 1500,
+ });
+ } else {
+ this.setData({
+ streetShow: true,
+ opren: false,
+ });
+ }
+ },
+
+ //选择街道
+ streetConfirm(e) {
+ let strname = e.target.dataset.strname;
+ this.setData({
+ "applyModel.street_name": strname,
+ streetShow: false,
+ });
+ },
+ //关闭街道选择
+ streetClose(e) {
+ this.setData({
+ streetShow: false,
+ opren: true,
+ });
+ },
+ //提交数据
+ setApplyData() {
+ if (app._isTextEmpty(this.data.applyModel.username)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写账号',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.password)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写密码',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (this.data.msgText != 3 && this.data.pass_safe == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: '请正确填写密码',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.realname)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写真实姓名',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写手机号码',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isMoblie(this.data.applyModel.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入正确的手机号',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.applyModel.product)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写产品类型',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.applyModel.group_id) && this.data.is_open_group === "1") {
+ wx.showToast({
+ icon: 'none',
+ title: '请选择分组',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.applyModel.category_id) && this.data.is_open_category === "1") {
+ wx.showToast({
+ icon: 'none',
+ title: '请选择行业',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.applyModel.aptitude ) && this.data.up_aptitude === 1) {
+ wx.showToast({
+ icon: 'none',
+ title: '上传营业执照',
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.is_identity === 1 && app._isTextEmpty(this.data.imagefile1) && app._isTextEmpty(this.data.imagefile2)) {
+ wx.showToast({
+ icon: 'none',
+ title: '上传身份证',
+ duration: 1500
+ });
+ return;
+ }
+ if (!this.data.agreement) {
+ wx.showToast({
+ icon: 'none',
+ title: '请先阅读协议',
+ duration: 1500
+ });
+ return;
+ }
+ this.data.applyModel.identity[0] = this.data.imagefile1;
+ this.data.applyModel.identity[1] = this.data.imagefile2;
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.supplier.supplier.controllers.apply.supplier-apply.apply");
+ urlStr += '&apply=' + JSON.stringify(this.data.applyModel);
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ supplier_status: res.data.status
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ submit() {
+ this.validation();
+ if (!this.data.isValidation) {
+ return;
+ }
+ if (!this.data.agreement) {
+ wx.showToast({
+ icon: 'none',
+ title: '请先阅读协议',
+ duration: 1500
+ });
+ return;
+ }
+ this.submitForm();
+ },
+ validation() {
+ this.setData({
+ isValidation: true
+ });
+ this.data.diydata.forEach(item => {
+ if (item.data.tp_must == 1 && !item.value && item.type != 'diyimage') {
+ wx.showToast({
+ icon: 'none',
+ title: item.data.tp_name + '必须填写哦',
+ duration: 1500
+ });
+ this.setData({
+ isValidation: false
+ });
+ }
+ if (item.data.tp_must == 1 && item.type == 'diyimage') {
+ if (item.imgUrls.length < item.data.tp_max) {
+ wx.showToast({
+ icon: 'none',
+ title: item.data.tp_name + '必须上传' + item.data.tp_max + "张",
+ duration: 1500
+ });
+ this.setData({
+ isValidation: false
+ });
+ }
+ }
+ if (item.type == 'diycheckbox' && item.value.length == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: item.data.tp_name + '必须选择哦',
+ duration: 1500
+ });
+ this.setData({
+ isValidation: false
+ });
+ }
+ });
+ },
+ //自定义表单提交
+ submitForm() {
+ var that = this;
+ var formData = [];
+ var formObject = {};
+ this.data.diydata.forEach(item => {
+ //图片类型的直接提交图片base64的数组到后台,其它直接传值
+ if (item.type == 'diyimage') {
+ formObject[item.name] = item.imgUrls;
+ } else {
+ formObject[item.name] = item.value;
+ }
+ });
+ formData.push(formObject);
+ let json = {
+ form_id: this.data.form_id,
+ form_data: formData
+ };
+ let urlStr = app.getNetAddresss("plugin.diyform.api.diy-form.save-diy-form-data");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.submitApplyByForm(res.data.form_data_id);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) { }
+ });
+ },
+ submitApplyByForm(fromId) {
+ // let that = this;
+ let urlStr = app.getNetAddresss("plugin.supplier.supplier.controllers.apply.supplier-apply.apply");
+ urlStr += '&form_data_id=' + fromId;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ showCity1btn() {
+ this.setData({
+ showCity1: true
+ });
+ },
+ goHome() {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ },
+ // 预览
+ previewImage: function (e) {
+ // var current = e.target.dataset; // 这里获取到的是一张本地的图片
+ wx.previewImage({
+ current: e.target.dataset.src, // 需要预览的图片链接列表
+ urls: e.target.dataset.srcList // 当前显示图片的链接
+ });
+ },
+});
diff --git a/packageA/member/supplier/supplier.json b/packageA/member/supplier/supplier.json
new file mode 100644
index 0000000..dc07460
--- /dev/null
+++ b/packageA/member/supplier/supplier.json
@@ -0,0 +1,17 @@
+{
+ "navigationBarTitleText": "供应商申请",
+ "usingComponents": {
+ "van-field": "../../../dist/field/index",
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-action-sheet": "../../../dist/action-sheet/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "van-datetime-picker": "../../../dist/datetime-picker/index",
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageA/member/supplier/supplier.wxml b/packageA/member/supplier/supplier.wxml
new file mode 100644
index 0000000..0ab9132
--- /dev/null
+++ b/packageA/member/supplier/supplier.wxml
@@ -0,0 +1,347 @@
+
+
+
+
+
+
+
+
+
+
+ 请填写申请信息
+
+
+
+
+ 密码至少8-16个字符,至少1个大写字母,1个小写字母和1个数字,其他可以是任意字符
+
+
+
+
+
+
+
+
+
+
+ {{grouping_name}}
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+ {{industry_name}}
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+ 上传营业执照*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ 身份证人像面
+
+
+
+
+
+
+
+
+ *
+ 身份证国徽面
+
+
+
+
+
+
+
+
+ 申请
+
+
+ 阅读并同意《供应商协议》
+
+
+
+
+
+ 供应商说明
+
+
+ {{supplier_info}}
+
+
+
+
+
+ 请填写申请信息
+
+
+
+
+
+
+
+
+ {{item.data.tp_name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.data.tp_name}}
+
+
+
+
+
+
+
+
+
+ {{item.data.tp_name}}
+
+
+
+ {{ck}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.data.tp_name}}
+
+
+
+ {{ritem}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交申请
+
+
+
+ 阅读并同意《供应商协议》
+
+
+
+ 供应商说明
+
+
+ {{supplier_info}}
+
+
+
+
+
+
+
+
+ 您的申请已经提交,请等待审核!
+
+ 去商城逛逛
+
+
+
+
+
+
+ 您已通过审核
+
+ 去商城逛逛
+
+
+
+
+
+
+
+
+ 协议说明
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+ {{item.areaname}}
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+ {{item.areaname}}
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/member/supplier/supplier.wxss b/packageA/member/supplier/supplier.wxss
new file mode 100644
index 0000000..abf815e
--- /dev/null
+++ b/packageA/member/supplier/supplier.wxss
@@ -0,0 +1,476 @@
+/* pages/member/supplier/supplier.wxss */
+page {
+ background: #fff;
+}
+
+.supplier .banner image {
+ width: 100%;
+}
+
+.tips {
+ text-align: left;
+ color: #ff5d5c;
+ font-size: 12px;
+ padding-left: 12px;
+ background: #fff;
+}
+
+.main .welcome .text .p {
+ height: 100rpx;
+ line-height: 100rpx;
+ padding-left: 40rpx;
+ font-size: 28rpx;
+}
+
+.main .welcome .button {
+ width: 80%;
+ margin: 0 auto 20rpx;
+ border-radius: 20rpx;
+ background: #f15353;
+ color: #fff;
+ text-align: center;
+ line-height: 100rpx;
+ font-size: 28rpx;
+}
+
+.supplier .main .vip_main {
+ background: #fff;
+ margin: 30rpx 0;
+}
+
+.supplier .main .vip_main .title {
+ padding: 20rpx;
+ font-size: 24rpx;
+ border-bottom: 2rpx solid #eee;
+ text-align: center;
+}
+
+.supplier .main .vip_main .vip {
+ padding: 30rpx 20rpx;
+ overflow: hidden;
+ font-size: 24rpx;
+ color: #999;
+}
+
+.supplier .main .vip_main .vip .text .t1 {
+ font-size: 32rpx;
+ color: #333;
+ margin-bottom: 10rpx;
+ text-align: left;
+}
+
+.main .h1 {
+ height: 100rpx;
+ line-height: 100rpx;
+ padding-left: 40rpx;
+ font-size: 28rpx;
+}
+
+.image-list {
+ width: 100%;
+ height: 100%;
+ background-color: #fff;
+ padding: 24rpx 0;
+ margin-top: -20rpx;
+}
+
+.image-list .otherphoto .top {
+ height: 100rpx;
+ text-align: left;
+ padding-left: 26rpx;
+ line-height: 100rpx;
+}
+
+.image-list .otherphoto .top .span {
+ font-size: 30rpx;
+}
+
+.image-list .otherphoto .imgflex {
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.image-list .otherphoto .imgflex .photobox {
+ width: 190rpx;
+ height: 190rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+}
+
+.image-list .otherphoto .imgflex .photobox image {
+ width: 100%;
+}
+
+.image-list .otherphoto .imgflex .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.image-list .otherphoto .imgflex .photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+}
+
+.image-list .otherphoto .imgflex .photoshow image {
+ width: 100%;
+}
+
+.cell_box {
+ margin-bottom: 20rpx;
+}
+
+.cell_box .title {
+ padding: 5rpx 24rpx 10rpx;
+ font-size: 28rpx;
+ text-align: left;
+ color: #888;
+ position: relative;
+ z-index: 1;
+}
+
+.cell_box .van-radio {
+ margin-bottom: 10rpx;
+ margin-top: 10rpx;
+ margin-left: 10rpx;
+}
+
+.main .btn .button {
+ width: 80%;
+ margin: 0 auto 20rpx;
+ border-radius: 20rpx;
+ background: #f15353;
+ color: #fff;
+ text-align: center;
+ line-height: 100rpx;
+ font-size: 28rpx;
+}
+
+.supplier .success {
+ height: 400rpx;
+ padding-top: 130rpx;
+ background: #fff;
+}
+
+.supplier .success .text {
+ height: 32rpx;
+ margin-top: 60rpx;
+ color: #666;
+ line-height: 32rpx;
+ text-align: center;
+}
+
+.supplier .success .gohome {
+ height: 64rpx;
+ width: 80%;
+ background: #f55955;
+ margin: 40rpx auto;
+ border-radius: 10rpx;
+ color: #fff;
+ line-height: 64rpx;
+ text-align: center;
+ font-size: 28rpx;
+ margin-bottom: 40rpx;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* -------------------------------- */
+
+.cell_box .title {
+ padding: 5rpx 24rpx 10rpx;
+ font-size: 28rpx;
+ text-align: left;
+ color: #888;
+ position: relative;
+ z-index: 1;
+}
+
+.cell_box textarea {
+ min-height: 200rpx;
+}
+
+.cell_box .van-radio {
+ padding: 10rpx 0;
+ margin-left: 16rpx;
+}
+
+.cell_box .van-checkbox {
+ padding: 10rpx 0;
+ margin-left: 16rpx;
+}
+
+.success .ico {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.agreement {
+ padding: 1rem 0 0 1rem;
+}
+
+.explainWrapper {
+ width: 680rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ box-sizing: border-box;
+}
+
+.explainWrapper .explainTextWrapper {
+ width: 680rpx;
+ background: #fff;
+ border-radius: 18rpx;
+ box-sizing: border-box;
+ padding-bottom: 80rpx;
+}
+
+.explainWrapper .explainTextWrapper .explainTextTitle {
+ color: #000;
+ font-size: 32rpx;
+ padding-top: 26rpx;
+ text-align: center;
+ box-sizing: border-box;
+ padding-bottom: 20rpx;
+}
+
+.explainWrapper .explainTextWrapper .explainTextContent {
+ width: 680rpx;
+ color: #666;
+ max-height: 500rpx;
+ line-height: 48rpx;
+ letter-spacing: 2rpx;
+ font-size: 28rpx;
+ padding: 0rpx 40rpx 0rpx 40rpx;
+ box-sizing: border-box;
+ overflow-y: scroll;
+}
+
+.explainWrapper .close {
+ color: #fff;
+ font-size: 100rpx;
+ box-sizing: border-box;
+}
+
+.top {
+ /* width: 100vw; */
+ height: 80rpx;
+ line-height: 80rpx;
+ font-size: 34rpx;
+ margin: 0 40rpx 20rpx 40rpx;
+ border-radius: 10rpx;
+ color: #c8c9cc;
+}
+
+.top-text {
+ float: left;
+ margin-right: 10rpx;
+}
+
+/* 下拉框 */
+.top-selected {
+ /* width: 50%; */
+
+ /* display: flex;
+ float: right; */
+ align-items: center;
+ justify-content: space-between;
+ font-size: 30rpx;
+ position: relative;
+}
+
+.van_icon {
+ position: absolute;
+ bottom: 30%;
+ right: 0;
+}
+
+/* 下拉内容 */
+.select_box {
+ background-color: #fff;
+ padding: 0 20rpx;
+
+ /* width: 50%; */
+
+ /* float: right; */
+ position: relative;
+ right: 0;
+ z-index: 1;
+ text-align: left;
+ animation: myfirst 0.8s;
+ font-size: 30rpx;
+ border: 1px solid #c8c9cc;
+ height: 130rpx;
+ overflow: scroll;
+}
+
+.select_one {
+ padding-left: 20rpx;
+ width: 100%;
+ height: 60rpx;
+ position: relative;
+ line-height: 60rpx;
+}
+
+/* 下拉过度效果 */
+@keyframes myfirst {
+ from {
+ height: 0rpx;
+ }
+
+ to {
+ height: 130rpx;
+ }
+}
+
+.imgflex {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0 0.875rem;
+}
+
+.imgflex .photobox {
+ position: relative;
+ width: 4.938rem;
+ height: 4.938rem;
+ background-color: #fcfcfc;
+ border-radius: 0.156rem;
+ border: solid 0.031rem #ccc;
+ overflow: hidden;
+ margin-right: 0.25rem;
+ margin-bottom: 0.25rem;
+}
+
+.imgflex .photobox .icon_del {
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 60rpx;
+ height: 60rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ font-size: 40rpx;
+ border-radius: 0 0 0 50%;
+ background: rgba(0, 0, 0, 0.5);
+}
+
+.up_license {
+ margin: 0 0 20rpx 40rpx;
+ font-size: 30rpx;
+ color: #c8c9cc;
+ display: flex;
+}
+
+.start {
+ color: red;
+}
+
+.inputWrapper {
+ padding: 1.2rem 0.2rem;
+ border-bottom: 0.03rem solid #f2f2f2;
+}
+
+.inputWrapper:last-of-type {
+ border-bottom: none;
+}
+
+.inputWrapper .required {
+ color: #ee2e2b;
+ font-weight: bold;
+ padding-right: 0.3rem;
+}
+
+.inputWrapper .desc {
+ font-size: 0.938rem;
+ color: #333;
+ padding-right: 1rem;
+}
+
+.inputWrapper .input {
+ font-size: 0.938rem;
+ color: #999;
+ flex: 1;
+}
+
+.inputWrapper .input.right {
+ text-align: right;
+ padding-right: 1rem;
+}
+
+.staImg {
+ width: 641rpx;
+ height: 341rpx;
+ margin-left: 23rpx;
+ margin-top: 22rpx;
+}
+
+.staImg image {
+ width: 96%;
+ height: 97%;
+}
diff --git a/packageA/member/withdrawEditmobile/withdrawEditmobile.js b/packageA/member/withdrawEditmobile/withdrawEditmobile.js
new file mode 100644
index 0000000..2b88b0c
--- /dev/null
+++ b/packageA/member/withdrawEditmobile/withdrawEditmobile.js
@@ -0,0 +1,273 @@
+// pages/member/withdrawEditmobile/withdrawEditmobile.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ form: {
+ mobile: '',
+ //验证码
+ code: '',
+ captcha: ""
+ },
+ action_name: '绑定',
+ codetext: '获取短信验证码',
+ start1: false,
+ imgcode: ""
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //绑定图形验证码的值
+ captchainp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.captcha": val.trim()
+ });
+ },
+ //绑定手机号的值
+ mobileinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.mobile": val.trim()
+ });
+ },
+ //绑定验证码的值
+ codeinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.code": val.trim()
+ });
+ },
+ sendCode(e) {
+ if (this.data.start1) {
+ return false;
+ }
+ let time = 60;
+ let that = this;
+ that.setData({
+ "start1": true,
+ "codetext": "(" + time + ")秒后重新获取"
+ });
+ let set = setInterval(function() {
+ that.setData({
+ codetext: "(" + --time + ")秒后重新获取",
+ });
+ }, 1000);
+ setTimeout(function() {
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ }, 60000);
+ that.verificationCode(set);
+ },
+ // 获取验证码
+ verificationCode(set) {
+ let that = this;
+ if (app._isTextEmpty(this.data.form.captcha) && this.data.imgcode) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填图形验证码',
+ duration: 1500
+ });
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ } else if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写手机号',
+ duration: 1500
+ });
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ } else {
+ let urlStr = app.getNetAddresss("member.register.sendWithdrawCode");
+ urlStr += '&mobile=' + this.data.form.mobile;
+ urlStr += '&captcha=' + this.data.form.captcha;
+ urlStr += '&code=' + this.data.form.code;
+ //发送获取验证码的请求//旧的请求:member.register.sendCodeV2
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: '已发送',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ //刷新图形验证码
+ that.setData({
+ 'form.captcha': '',
+ });
+ that.getimgdata();
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ //获取图片验证码
+ getimgdata() {
+ let that = this;
+ let urlStr = app.getNetAddresss("home-page.index");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.captcha) {
+ that.setData({
+ imgcode: res.data.captcha.img
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //提交修改手机的请求
+ alterAction() {
+ var that = this;
+ //发送获取验证码的请求
+ if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '手机号码不能为空',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isMoblie(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入正确的手机号',
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.code)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写验证码',
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.imgcode) {
+ if (app._isTextEmpty(this.data.form.captcha)) {
+ wx.showToast({
+ icon: 'none',
+ title: '图形验证码不能为空',
+ duration: 1500
+ });
+ return;
+ }
+ }
+ let urlStr = app.getNetAddresss("member.member.bindWithdrawMobile");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: that.data.form,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {}
+ });
+ },
+});
diff --git a/packageA/member/withdrawEditmobile/withdrawEditmobile.json b/packageA/member/withdrawEditmobile/withdrawEditmobile.json
new file mode 100644
index 0000000..c235332
--- /dev/null
+++ b/packageA/member/withdrawEditmobile/withdrawEditmobile.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "绑定",
+ "usingComponents": {
+ "van-field": "../../../dist/field/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/withdrawEditmobile/withdrawEditmobile.wxml b/packageA/member/withdrawEditmobile/withdrawEditmobile.wxml
new file mode 100644
index 0000000..96843c8
--- /dev/null
+++ b/packageA/member/withdrawEditmobile/withdrawEditmobile.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{codetext}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{action_name}}
+
+
diff --git a/packageA/member/withdrawEditmobile/withdrawEditmobile.wxss b/packageA/member/withdrawEditmobile/withdrawEditmobile.wxss
new file mode 100644
index 0000000..f29352a
--- /dev/null
+++ b/packageA/member/withdrawEditmobile/withdrawEditmobile.wxss
@@ -0,0 +1,63 @@
+/* pages/member/withdrawEditmobile/withdrawEditmobile.wxss */
+page {
+ background: #fff;
+}
+
+.alterAddress .login_info .li {
+ display: flex;
+ font-size: 32rpx;
+ padding-top: 12rpx;
+ padding-bottom: 12rpx;
+ border-bottom: solid 2rpx #ccc;
+ position: relative;
+ margin-left: 30rpx;
+ margin-right: 30rpx;
+ align-items: center;
+}
+
+.alterAddress .login_info .captcha .right {
+ width: 150rpx;
+ padding-top: 15rpx;
+}
+
+.alterAddress .login_info .captcha .right image {
+ width: 100%;
+}
+
+.alterAddress .login_info .code {
+ display: flex;
+ align-items: center;
+}
+
+.alterAddress .login_info .code .right {
+ background-color: #ebebeb;
+ color: #f15353;
+ font-size: 24rpx;
+ border-radius: 60rpx;
+ padding: 0 20rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ width: 200rpx;
+}
+
+.alterAddress .login_info .code .right.disabled {
+ background-color: #ccc;
+ color: #f0f0f0;
+}
+
+.alterAddress .btn {
+ padding-top: 40rpx;
+}
+
+.alterAddress .btn .button {
+ width: 660rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ font-size: 32rpx;
+ border-radius: 60rpx;
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ text-align: center;
+ margin: 0 auto 40rpx;
+}
diff --git a/packageA/member/withdrawal/withdrawal.js b/packageA/member/withdrawal/withdrawal.js
new file mode 100644
index 0000000..44315a9
--- /dev/null
+++ b/packageA/member/withdrawal/withdrawal.js
@@ -0,0 +1,1637 @@
+// pages/member/withdrawal/withdrawal.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ Data: {},
+ language: '',
+ datasource: [],
+ //是否开启劳务税 手续费 单独费率
+ balance_special: false,
+ unAllCheckList: [],
+ allCheckList: [],
+ isCheckAll: false,
+ //alipay
+ isAlipay: false,
+ alipay: {},
+ //wechat
+ isWechat: false,
+ wechat: {},
+ //balance
+ isBalance: false,
+ balance: {},
+ //manual
+ isManual: false,
+ manual: {},
+ isHx: false,
+ huanxun: {},
+ isEup: false,
+ eup: {},
+ action: "",
+ msg: "",
+ notice: "",
+ //提现总金额
+ totalwithdrawal: 0.0,
+ //手续费
+ poundage: 0.0,
+ //劳务税
+ servicetax: 0.0,
+ //单独劳务费
+ independent_special: 0.0,
+ //单独手续费
+ independent_poundage: 0.0,
+ checkAll: false,
+ checkList: [],
+ show1: false,
+ pay_type: "",
+ clicktag: 0, //防止快速点击
+ //yop_pay
+ isyop_pay: false,
+ yop_pay: {},
+ // 汇聚需要的数据
+ converge_pay_json: {},
+ isHj: false,
+ show2: false, // 判断
+ show3: false, // 银行卡列表
+ withList: [], // 银行卡列表
+ checkObj: {}, // 选中的银行卡
+ poundage_hj: '', // 汇聚提现手续费
+ actual_amount: '', // 实际到账金额
+ special_service_tax_text: '',
+ income_name_text: '', // 收入自定义
+ service_switch: 0, //劳务税开关,
+ name_of_withdrawal: '',
+ poundage_name: '',
+ deduction_love: {}, //爱心值扣除
+ TeamDividendModel: false,
+
+ // 收入提现类型
+ income_type: null,
+ withTypeList: [],
+ bankdata: {
+ bankname: '',
+ Province: '',
+ city: '',
+ branchName: '',
+ card: '',
+ name: ''
+ },
+ posRightShow: false,
+ provinceData: [],
+ cityData: [],
+ showCityData: [],
+ ProvinceId: '',
+ addressShow_p: false,
+ addressShow_c: false,
+ pay_typeList: {},
+ stickStatus: false,
+ // 客服
+ customer_service: {},
+ // 规则说明
+ withdraw_rich_text: {},
+ // 客服显示
+ customer_show: false,
+ // 规则显示
+ withdraw_rich_show: false,
+ // 支付宝微信设置弹窗
+ setWX: false,
+ setAlipay: false,
+ setinWX: '',
+ setinAlipay: '',
+ setinAlipayName: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ },
+ stickChange(e) {
+ this.setData({
+ stickStatus: e.detail.isFixed
+ });
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this._intData();
+ this._getData();
+ // this._getWithdrawType();
+ this._initHxpay();
+ this.customizeIncome();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ setInput(e) {
+ let val = e.detail;
+ let key = e.currentTarget.dataset.key;
+ if (key == "wxuser") {
+ this.setData({
+ setinWX: val
+ });
+ } else if (key == "Alipay") {
+ this.setData({
+ setinAlipay: val
+ });
+ } else if (key == "AlipayName") {
+ this.setData({
+ setinAlipayName: val
+ });
+ }
+ },
+ bindSet(e) {
+ console.log(e);
+ let key = e.currentTarget.dataset.key;
+ let json = {};
+ if (key == 'wx') {
+ if (app._isTextEmpty(this.data.setinWX)) {
+ app.tips('请输入微信号');
+ return;
+ }
+ json.wx = this.data.setinWX;
+ } else {
+ if (app._isTextEmpty(this.data.setinAlipay)) {
+ app.tips('请输入支付宝账号');
+ return;
+ }
+ if (app._isTextEmpty(this.data.setinAlipayName)) {
+ app.tips('请输入支付宝账号姓名');
+ return;
+ }
+ json.alipay = this.data.setinAlipay;
+ json.alipay_name = this.data.setinAlipayName;
+ }
+ let urlStr = app.getNetAddresss("member.member.updateWxOrAli");
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ setAlipay:false,
+ setWX:false
+ });
+ app.tips(res.msg);
+ }else{
+ this.setData({
+ setAlipay:false,
+ setWX:false
+ });
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ _intData() {
+ this.setData({
+ income_type: null,
+ Data: {},
+ datasource: [],
+ //是否开启劳务税 手续费 单独费率
+ balance_special: false,
+ unAllCheckList: [],
+ allCheckList: [],
+ isCheckAll: false,
+ //alipay
+ isAlipay: false,
+ alipay: {},
+ //wechat
+ isWechat: false,
+ wechat: {},
+ //balance
+ isBalance: false,
+ balance: {},
+ //manual
+ isManual: false,
+ manual: {},
+ isHx: false,
+ isEup: false,
+ eup: {},
+ action: "",
+ msg: "",
+ notice: "",
+ //提现总金额
+ totalwithdrawal: 0.0,
+ //手续费
+ poundage: 0.0,
+ //劳务税
+ servicetax: 0.0,
+ //单独劳务费
+ independent_special: 0.0,
+ //单独手续费
+ independent_poundage: 0.0,
+ checkAll: false,
+ checkList: [],
+ show1: false,
+ pay_type: "",
+ clicktag: 0, //防止快速点击
+ //yop_pay
+ isyop_pay: false,
+ yop_pay: {},
+ // 右上角弹窗显隐
+ posRightShow: false
+ });
+ },
+ //初始化数据
+ _getData() {
+ let urlStr = app.getNetAddresss("finance.income-withdraw.get-withdraw");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ validate_page: 1
+ }, // validate_page 实名认证判断
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ balance_special: res.data.setting.balance_special,
+ datasource: res.data.data,
+ service_switch: res.data.setting.service_switch,
+ all_withdraw_income: res.data.all_withdraw_income ? res.data.all_withdraw_income.toFixed(2) : '',
+ customer_service: res.data.setting.customer_service,
+ withdraw_rich_text: res.data.setting.withdraw_rich_text
+ });
+ if (res.data.deduction_love) {
+ this.setData({
+ deduction_love: res.data.deduction_love
+ });
+ }
+ this.setData({
+ Data: res.data.data
+ });
+ if (this.data.Data.length > 0) {
+ this._allCheckListInit(res.data.data); // 初始化全选数据
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '暂无可提现金额',
+ duration: 1500
+ });
+ }
+
+ } else {
+ this.setData({
+ Data: []
+ });
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 判断汇聚提现按钮的显示
+ getGconverge_pay(val) {
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.converge-pay-bank-card.get-bank-card");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ show2: true,
+ show1: false
+ });
+ this.setData({
+ converge_pay_json: res.data
+ });
+ this.setData({
+ checkObj: res.data
+ });
+ let name = res.data.bankName + '(' + res.data.receiverAccountNoEnc.substring(res.data.receiverAccountNoEnc.length -
+ 4) + ')';
+ this.setData({
+ 'checkObj.bankName': name,
+
+ });
+ // 调用
+ this.getwithList();
+
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ setTimeout(() => {
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ }, 2000);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 获取银行卡列表
+ getwithList() {
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.converge-pay-bank-card.get-bank-card-list");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.length == 0) {
+ wx.showToast({
+ title: '请先去添加银行卡',
+ icon: 'none'
+ });
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ }
+ res.data.map(item => {
+ item.check = false;
+ if (item.receiverAccountNoEnc != '' && item.receiverAccountNoEnc != null) {
+ item.bankName += '(' + item.receiverAccountNoEnc.substring(item.receiverAccountNoEnc.length - 4) + ')';
+ }
+ });
+ this.setData({
+ withList: res.data
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ setTimeout(() => {
+
+ }, 2000);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ gotoList() {
+ console.log('22333121');
+
+ this.setData({
+ show3: true,
+ show2: false
+ });
+ },
+ //初始化全选数据
+ _allCheckListInit(data) {
+ //this.allCheckList = data;
+ for (let i = 0; i < data.length; i++) {
+ if (!data[i].can) {
+ let unAllCheckList = this.data.unAllCheckList;
+ unAllCheckList.push(i + "");
+ this.setData({
+ unAllCheckList: unAllCheckList
+ });
+ } else {
+ // 全选默认选中default的选项
+ if (data[i].income_type === 'default') {
+ let allCheckList = this.data.allCheckList;
+ allCheckList.push(i + "");
+ this.setData({
+ allCheckList: allCheckList
+ });
+ }
+ }
+ }
+ //判断全选状态
+ this.setData({
+ isCheckAll: !(this.data.unAllCheckList.length === this.data.datasource.length)
+ });
+ },
+
+ getMergeServicetax() {
+
+ if (!this.data.income_type) {
+ wx.showToast({
+ icon: 'none',
+ title: "请先选择提现类型",
+ duration: 1500
+ });
+ return;
+ }
+
+ let income_type = [];
+ let checkList = this.data.checkList;
+ for (let i = 0; i < checkList.length; i++) {
+ income_type.push(this.data.datasource[checkList[i]].key_name);
+ }
+ let urlStr = app.getNetAddresss("finance.income-withdraw.getMergeServicetax");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ income_type
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ totalwithdrawal: res.data.sum_amount,
+ poundage: res.data.poundage_amount,
+ servicetax: res.data.servicetax_amount
+ });
+ this.checkPayWay();
+ // this._getWithdrawType();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+
+ //获取提现方式
+ _getWithdrawType(key = true) {
+ let that = this;
+ // if(Object.keys(this.data.pay_typeList).length != 0){
+ // if(key){
+ // that.setData({
+ // show1: true
+ // });
+ // }
+ // that._initWithdrawType(this.data.pay_typeList);
+ // return
+ // }
+ let urlStr = app.getNetAddresss("finance.income-withdraw.get-income-withdraw-mode");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ income_type: that.data.income_type
+ },
+ success: function (resdata) {
+ let res = resdata.data;
+ if (res.result == 1) {
+ if (key) {
+ that.setData({
+ show1: true
+ });
+ }
+ that.setData({
+ pay_typeList: res.data
+ });
+ that._initWithdrawType(res.data);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ backGo() {
+ this.setData({
+ show2: true,
+ show1: false,
+ show3: false
+ });
+ },
+ backTap() {
+ this.setData({
+ show2: false,
+ show1: true,
+ show3: false
+ });
+ },
+ //初始化提现方式
+ _initWithdrawType(data) {
+ this.setData({
+ service_switch: data.service_switch
+ });
+ //支付宝
+ this._initAlipay(data);
+ //微信
+ this._initWechat(data);
+ //余额
+ this._initBalance(data);
+ //手动打款
+ this._initManual(data);
+ //eup支付
+ this._initEup(data);
+ //初始化易宝
+ this.inityop_pay(data);
+ console.log(data, '参数');
+ // 初始化汇聚提现
+ this.initConverge_pay(data);
+ },
+ //支付宝
+ _initAlipay(data) {
+ if (
+ data.alipay == null ||
+ data.alipay == undefined ||
+ data.alipay == ""
+ ) {
+ this.setData({
+ isAlipay: false
+ });
+ return;
+ }
+ this.setData({
+ isAlipay: true,
+ alipay: data.alipay
+ });
+ },
+ //微信
+ _initWechat(data) {
+ if (
+ data.wechat == null ||
+ data.wechat == undefined ||
+ data.wechat == ""
+ ) {
+ this.setData({
+ isWechat: false
+ });
+ return;
+ }
+ this.setData({
+ isWechat: true,
+ wechat: data.wechat
+ });
+ },
+ //余额
+ _initBalance(data) {
+ if (
+ data.balance == null ||
+ data.balance == undefined ||
+ data.balance == ""
+ ) {
+ this.setData({
+ isBalance: false
+ });
+ return;
+ }
+ this.setData({
+ isBalance: true,
+ balance: data.balance
+ });
+ },
+ //手动打款
+ _initManual(data) {
+ let that = this;
+ if (
+ data.manual == null ||
+ data.manual == undefined ||
+ data.manual == ""
+ ) {
+ that.setData({
+ isManual: false
+ });
+ return;
+ }
+ // let mailLanguage = JSON.parse(wx.getStorageSync('mailLanguage'));
+ // let name = this.data.name_of_withdrawal + mailLanguage.income.manual_withdrawal;
+ // data.manual.name = name;
+ that.setData({
+ isManual: true,
+ manual: data.manual
+ });
+ },
+ //eup支付
+ _initEup(data) {
+ let that = this;
+ if (
+ data.eup_pay == null ||
+ data.eup_pay == undefined ||
+ data.eup_pay == ""
+ ) {
+ that.setData({
+ isEup: false
+ });
+ return;
+ }
+ that.setData({
+ isEup: false,
+ eup: data.eup_pay
+ });
+ },
+ initConverge_pay(data) {
+ if (
+ data.converge_pay == null ||
+ data.converge_pay == undefined ||
+ data.converge_pay == ""
+ ) {
+ this.setData({
+ isHj: false
+ });
+ return;
+ }
+ this.setData({
+ isHj: true,
+ converge_pay: data.converge_pay
+ });
+ },
+ _initHxpay() {
+ this.setData({
+ action: "",
+ msg: "",
+ notice: ""
+ });
+ },
+ allSelect(e) {
+ let bol = !this.data.checkAll;
+ this.setData({
+ checkAll: bol,
+ });
+
+ // 监听全选变化
+ if (bol) {
+ this.setData({
+ income_type: 'default',
+ checkList: this.data.allCheckList
+ });
+ } else {
+ this.setData({
+ income_type: null,
+ checkList: []
+ });
+ }
+
+ //计算总价格
+ this._countTotalPrice();
+ },
+ //提现方式选择监听
+ SelectHandle(val) {
+ console.log(val, 'aaa');
+ this.setData({
+ show1: false,
+ pay_type: val.detail
+ });
+ this.dynamicTxt();
+ },
+ cardSplice(str) {
+ let str_a = str.substr(0, 4);
+ let str_b = str.substr(str.length - 4, str.length);
+ return `${str_a}****${str_b}`;
+ },
+ dynamicTxt() {
+ let list = this.data.pay_typeList;
+ console.log(this.data.pay_type);
+ switch (this.data.pay_type) {
+ case "balance":
+ this.setData({
+ withTypeTipsIcon: 'iconfont icon-fontclass-fanli',
+ withTypeTipsTitle: `${list.balance.name}`,
+ withTypeTips: `通过审核后将打款到系统${list.balance.other_name}!`
+ });
+ break;
+ case "wechat":
+ this.setData({
+ withTypeTipsIcon: 'iconfont icon-card_weixin',
+ withTypeTipsTitle: `${list.wechat.name}`,
+ withTypeTips: `通过审核后将打款到个人微信零钱!`
+ });
+ break;
+ case "manual":
+ let manual = this.data.manual;
+ let title = '';
+ let tips = '';
+ if (manual.manual_type == 1) {
+ title = `${manual.name}-银行卡`;
+ tips = `通过审核后将由工作人员将打款到您的银行卡!`;
+ } else if (manual.manual_type == 2) {
+ title = `${manual.name}-微信`;
+ tips = `通过审核后将由工作人员将打款到您的微信!`;
+ } else if (manual.manual_type == 3) {
+ title = `${manual.name}-支付宝`;
+ tips = `通过审核后将由工作人员将打款到您的支付宝!`;
+ }
+ console.log(title);
+ this.setData({
+ withTypeTipsIcon: 'iconfont icon-pay_otherpay',
+ withTypeTipsTitle: title,
+ withTypeTips: tips
+ });
+ break;
+ case "alipay":
+ this.setData({
+ withTypeTipsIcon: 'iconfont icon-all_alipay',
+ withTypeTipsTitle: `${list.alipay.name}`,
+ withTypeTips: `通过审核后将打款到个人支付宝!`
+ });
+ break;
+ case "converge_pay":
+ this.setData({
+ withTypeTipsIcon: 'iconfont icon-pay_otherpay',
+ withTypeTipsTitle: `${list.converge_pay.name}`,
+ withTypeTips: `通过审核后将打款到个人银行卡!`
+ });
+ break;
+ default:
+ // this.data.withTypeTipsIcon = 'iconfont icon-fontclass-fanli';
+ // this.withTypeTipsTitle='余额';
+ this.pay_type = '';
+ break;
+ }
+
+
+ },
+ allSelectHandle(e) {
+ let arrBol = e.detail;
+ let checkedCount = arrBol.length;
+
+ if (arrBol.length > 0) {
+ this.setData({
+ income_type: this.data.datasource[arrBol[0]].income_type
+ });
+ } else {
+ this.setData({
+ income_type: null
+ });
+ }
+ this.setData({
+ checkList: arrBol,
+ checkAll: checkedCount === this.data.allCheckList.length
+ });
+ //计算总价格
+ this._countTotalPrice();
+ },
+ //计算总价格
+ _countTotalPrice() {
+ let checkList = this.data.checkList;
+ this.setData({
+ totalwithdrawal: 0.0, //提现总金额
+ poundage: 0.0, //手续费
+ servicetax: 0.0, //劳务费手续费
+ independent_special: 0.0, //单独劳务税
+ independent_poundage: 0.0, //单独手续费
+ actual_amount: 0.0,
+ poundage_hj: 0.0
+ });
+ this.setData({
+ TeamDividendModel: false
+ });
+ for (let i = 0; i < checkList.length; i++) {
+ this.setData({
+ totalwithdrawal: this.floatAdd(
+ this.data.totalwithdrawal,
+ this.data.datasource[checkList[i]].income
+ ),
+
+ poundage: this.floatAdd(
+ this.data.poundage,
+ this.data.datasource[checkList[i]].poundage
+ ),
+ servicetax: this.floatAdd(
+ this.data.servicetax,
+ this.data.datasource[checkList[i]].servicetax
+ ),
+ actual_amount: this.floatAdd(
+ this.data.actual_amount,
+ this.data.datasource[checkList[i]].actual_amount
+ ),
+ poundage_hj: this.floatAdd(
+ this.data.poundage_hj,
+ this.data.datasource[checkList[i]].poundage
+ ),
+
+ });
+
+ if (this.data.datasource[checkList[i]].type.indexOf("\TeamDividendModel") >= 0) {
+ this.setData({
+ TeamDividendModel: true
+ });
+ }
+
+ //是否有单独余额劳务费
+ if (this.data.balance_special) {
+ this.setData({
+ independent_special: this.floatAdd(
+ this.data.independent_special,
+ this.data.datasource[checkList[i]].special_service_tax
+ ),
+ independent_poundage: this.floatAdd(
+ this.data.independent_poundage,
+ this.data.datasource[checkList[i]].special_poundage
+ )
+ });
+ }
+ }
+ this.setData({
+ totalwithdrawal: Number(this.data.totalwithdrawal.toString()).toFixed(2),
+ poundage: Number(this.data.poundage.toString()).toFixed(2),
+ servicetax: Number(this.data.servicetax.toString()).toFixed(2)
+ });
+ //是否有单独余额劳务费
+ if (this.data.balance_special) {
+ this.setData({
+ independent_special: Number(
+ this.data.independent_special.toString().match(/^\d+(?:\.\d{0,2})?/)
+ ),
+ independent_poundage: Number(
+ this.data.independent_poundage.toString().match(/^\d+(?:\.\d{0,2})?/)
+ )
+ });
+ }
+ },
+ //浮点数加法运算
+ floatAdd(arg1, arg2) {
+ var r1, r2, m;
+ try {
+ r1 = arg1.split(".")[1].length;
+ } catch (e) {
+ r1 = 0;
+ }
+ try {
+ r2 = arg2.split(".")[1].length;
+ } catch (e) {
+ r2 = 0;
+ }
+ m = Math.pow(10, Math.max(r1, r2));
+ return (arg1 * m + arg2 * m) / m;
+ },
+ withdrawToBalanceBtn(e) {
+ let typeData = e.currentTarget.dataset.dataval;
+ this.withdrawToBalance(typeData);
+ },
+ //提现网络操作
+ withdrawToBalance(type) {
+ //验证是否选择提现数据
+ if (!this._checkWithdrawToBalance()) {
+ return;
+ }
+ let checkList = this.data.checkList;
+ if (checkList.length > 0) {
+ let checkListData = [];
+ for (let i = 0; i < checkList.length; i++) {
+ checkListData.push(this.data.datasource[checkList[i]]);
+ }
+ let data = {
+ data: {
+ total: {
+ amounts: this.data.totalwithdrawal,
+ poundage: this.data.poundage,
+ pay_way: type
+ },
+ withdrawal: checkListData
+ }
+ };
+ let that = this;
+ //finance.Income-withdraw.save-withdraw
+ let urlStr = app.getNetAddresss("withdraw.apply.index");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: data,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ show1: false,
+ show2: false,
+ checkList: [],
+ totalwithdrawal: 0.0,
+ poundage: 0.0,
+ });
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: res.msg,
+ success(response) {
+ if (response.confirm) {
+ if (res.data.status == 1) {
+ wx.navigateTo({
+ url: "/packageA/member/info/info"
+ });
+ }
+ if (res.data.love == 1) {
+ wx.navigateTo({
+ url: "/packageB/member/love/Love_index/Love_index"
+ });
+ }
+ }
+ }
+ });
+ }
+ setTimeout(() => {
+ that.setData({
+ clicktag: 0
+ });
+ }, 1000);
+ },
+ fail: function (res) {
+ wx.showToast({
+ icon: 'none',
+ title: res,
+ duration: 1500
+ });
+ setTimeout(() => {
+ that.setData({
+ clicktag: 0
+ });
+ }, 1000);
+ }
+ });
+ } else {
+ wx.showToast({
+ icon: '提现数据不可为空',
+ title: res,
+ duration: 1500
+ });
+ that.setData({
+ clicktag: 0
+ });
+ }
+ },
+ //验证是否选择提现数据
+ _checkWithdrawToBalance() {
+ if (
+ parseFloat(this.data.totalwithdrawal) <= 0 ||
+ this.data.totalwithdrawal == null
+ ) {
+ wx.showToast({
+ icon: 'none',
+ title: "提现金额不能等于0",
+ duration: 1500
+ });
+ this.setData({
+ clicktag: 0
+ });
+ return false;
+ } else {
+ return true;
+ }
+ },
+ //验证手动打款的 设置 微信 支付 银行卡 是否完善
+ checkManual(type) {
+ let typeData = type;
+ //验证是否选择提现数据
+ console.log(this._checkWithdrawToBalance());
+ if (!this._checkWithdrawToBalance()) {
+ return;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss("finance.manual-type.is-can-submit");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.status) {
+ that.withdrawToBalance(typeData); //提现
+ } else {
+ that.setManualInfo(typeData, res.data.manual_type);
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function (res) {
+ wx.showToast({
+ icon: 'none',
+ title: res,
+ duration: 1500
+ });
+ }
+ });
+ },
+ setManualInfo(type, manual_type) {
+ let msg = "";
+ // let routerPath = "";
+ let that = this;
+ switch (manual_type) {
+ case "bank":
+ msg = "请先填写银行卡信息";
+ // routerPath = "/packageA/member/memberBank/memberBank";
+ break;
+ case "wechat":
+ msg = "请先填写微信信息";
+ // routerPath = "/packageA/member/info/info";
+ break;
+ case "alipay":
+ msg = "请先填写支付宝信息";
+ // routerPath = "/packageA/member/info/info";
+ break;
+ default:
+ break;
+ }
+ // let that = this;
+ wx.showModal({
+ title: '提示',
+ content: msg,
+ success(res) {
+ if (res.confirm) {
+ if (manual_type == 'bank') {
+ that.getBankCard();
+ } else if (manual_type == 'wechat') {
+ // 微信
+ that.setData({
+ setWX: true,
+ clicktag: 0
+ });
+ } else {
+ // 支付宝
+ that.setData({
+ setAlipay: true,
+ clicktag: 0
+ });
+ }
+ } else if (res.cancel) {
+ that.setData({
+ clicktag: 0
+ });
+ console.log('用户点击取消');
+ }
+ }
+ });
+ },
+ editUser() {
+ this.getBankCard();
+ },
+ onCancel() {
+ this.setData({
+ createCardShow: true,
+ addressShow_p: false,
+ addressShow_c: false
+ });
+ },
+ addressCallback(e) {
+ console.log(e);
+ this.setData({
+ 'bankdata.Province': e.detail.value.areaname,
+ ProvinceId: e.detail.value.id,
+ showCityData: [],
+ 'bankdata.city': '',
+ });
+ this.onCancel();
+ },
+ addressCallback_c(e) {
+ this.setData({
+ 'bankdata.city': e.detail.value.areaname,
+ });
+ this.onCancel();
+ },
+ // 选择市
+ addressShowCity() {
+ if (!this.data.ProvinceId) {
+ wx.showToast({
+ title: '请先选择省',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ for (let i = 0; i < this.data.cityData.length; i++) {
+ if (this.data.cityData[i].parentid == this.data.ProvinceId) {
+ this.setData({
+ showCityData: this.data.showCityData.concat(this.data.cityData[i]),
+ createCardShow: false,
+ addressShow_c: true
+ });
+ }
+ }
+ },
+ // 选择省
+ addressShowProvince() {
+ if (this.data.provinceData.length > 0) {
+ this.setData({
+ createCardShow: false,
+ addressShow_p: true
+ });
+ } else {
+ let urlStr = app.getNetAddresss("member.member-address.address");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: this.data.form,
+ success: ((resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ provinceData: res.data.province,
+ cityData: res.data.city,
+ createCardShow: false,
+ addressShow_p: true
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }),
+ fail: ((err) => {
+ console.log(err);
+ })
+ });
+ }
+ },
+ getBankCard() {
+ // let json = {};
+ let that = this;
+ let urlStr = app.getNetAddresss("member.bank-card.show");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: this.data.form,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ 'bankdata.bankname': res.data.bank_name,
+ 'bankdata.card': res.data.bank_card,
+ 'bankdata.name': res.data.member_name,
+ 'bankdata.Province': res.data.bank_province,
+ 'bankdata.city': res.data.bank_city,
+ 'bankdata.branchName': res.data.bank_branch,
+ createCardShow: true,
+ clicktag:0
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ tapinpbank(e) {
+ let key = e.currentTarget.dataset.key;
+ let value = e.detail;
+ this.setData({
+ ['bankdata.' + key]: value
+ });
+ },
+ bindCard() {
+ console.log(this.data.bankdata);
+ if (app._isTextEmpty(this.data.bankdata.bankname)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入开户行',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.bankdata.Province)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入开户行省份',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.bankdata.city)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入开户行城市',
+ duration: 1500
+ });
+ return;
+ }
+
+
+ if (app._isTextEmpty(this.data.bankdata.branchName)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入开户行支行',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.bankdata.card)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入账号',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.bankdata.name)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请输入姓名',
+ duration: 1500
+ });
+ return;
+ }
+ let json = {
+ 'bank_card': this.data.bankdata.card,
+ 'member_name': this.data.bankdata.name,
+ 'bank_name': this.data.bankdata.bankname,
+ "bank_province": this.data.bankdata.Province,
+ "bank_city": this.data.bankdata.city,
+ "bank_branch": this.data.bankdata.branchName
+ };
+ let urlStr = app.getNetAddresss("member.bank-card.edit");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: ((resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000,
+ success: ((ess) => {
+ this.setData({
+ createCardShow: false,
+ addressShow_c: false,
+ addressShow_p: false
+ });
+ console.log(ess, 'sssssssssss');
+ this._getWithdrawType(false);
+ }),
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ }),
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ //eup支付
+ checkEup(type) {
+ let typeData = type;
+ //验证是否选择提现数据
+ if (!this._checkWithdrawToBalance()) {
+ return;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.eup-pay.api.account.pi-account");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.bool == 1) {
+ that.withdrawToBalance(typeData); //提现
+ }
+ } else if (res.result == 0) {
+ if (res.data.bool == 0) {
+ let msg = res.msg;
+ wx.showModal({
+ title: '提示',
+ content: msg,
+ success(res) {
+ if (res.confirm) {
+ wx.navigateTo({
+ url: "/packageA/member/info/info"
+ });
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ }
+ }
+
+ },
+ fail: function (res) {
+ wx.showToast({
+ icon: 'none',
+ title: res,
+ duration: 1500
+ });
+ }
+ });
+ },
+ getToTitle() {
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.converge-pay-bank-card.set-bank-card");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ set: this.data.checkObj
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ //有资格提现
+ var type = "converge_pay";
+ this.withdrawToBalance(type);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 提现
+ withBalance() {
+ console.log(this.data.checkObj, '选择的对象');
+ this.getToTitle();
+ return;
+
+ },
+ onChange(e) {
+ console.log(e.detail, '改变啊啊啊');
+
+ },
+ checkOut(e) {
+ let item = e.target.dataset.item || e.currentTarget.dataset.item;
+ item.check = !item.check;
+ console.log(item, '当前对象');
+
+ let data = this.data.withList;
+ data.map(items => {
+ if (items.id == item.id) {
+ items.check = item.check;
+ } else {
+ items.check = false;
+ }
+ });
+ console.log(data, '数组');
+
+ if (item.check == true) {
+ this.setData({
+ show3: false,
+ show2: true,
+ checkObj: item,
+ withList: data
+ });
+ }
+ },
+ // 右上角弹窗
+ tapShow() {
+ this.setData({
+ posRightShow: !this.data.posRightShow
+ });
+ },
+ onClickLeft(e) {
+ this.setData({
+ withdraw_rich_show: false,
+ customer_show: false
+ });
+ },
+ //右上角弹窗点击跳转
+ toRecord(e) {
+ console.log(e);
+ let path = e.currentTarget.dataset.path;
+ if (path == "presentationRecord_v2") {
+ wx.navigateTo({
+ url: "/packageA/member/presentationRecord_v2/presentationRecord_v2?orderType=extension"
+ });
+ } else if (path == "fa_child") {
+ this.setData({
+ withdraw_rich_show: true
+ });
+ } else {
+ this.setData({
+ customer_show: true
+ });
+ }
+ this.setData({
+ posRightShow: false
+ });
+ },
+ submitbrank() {
+ app._postNetWork({
+ url: this.data.action,
+ showToastIn: false,
+ data: {
+ ipsRequest: this.data.msg
+ },
+ success: function (resdata) {
+ wx.navigateBack({
+ delta: 1
+ });
+ },
+ fail: function (res) {}
+ });
+ },
+ show1btn() {
+ this.setData({
+ show1: true
+ });
+ },
+ show1CloseBtn() {
+ this.setData({
+ show1: false,
+ show2: false,
+ show3: false,
+ setWX: false,
+ setAlipay: false
+ });
+ },
+ payTypebtn(e) {
+ let val = e.detail;
+ this.setData({
+ pay_type: val
+ });
+ },
+ checkPayWay() {
+ console.log(this.data.pay_type, this.data.clicktag);
+ if (!this.data.pay_type) {
+ wx.showToast({
+ icon: 'none',
+ title: '请选择提现方式'
+ });
+ return;
+ }
+ if (this.data.pay_type == 'converge_pay' && this.data.clicktag == 1) {
+ // 再次调用汇聚提现
+ this.getGconverge_pay(this.data.yop_pay);
+ }
+ if (this.data.clicktag === 0) {
+ this.setData({
+ clicktag: 1
+ });
+ switch (this.data.pay_type) {
+ case "balance":
+ this.withdrawToBalance(this.data.pay_type);
+ break;
+ case "wechat":
+ this.withdrawToBalance(this.data.pay_type);
+ break;
+ case "manual":
+ this.checkManual(this.data.pay_type);
+ break;
+ case "alipay":
+ this.withdrawToBalance(this.data.pay_type);
+ break;
+ case "eup":
+ this.checkEup(this.data.pay_type);
+ break;
+ case "yop_pay":
+ this.checkyop_pay(this.data.yop_pay);
+ break;
+ case "converge_pay":
+ this.getGconverge_pay(this.data.pay_type);
+ break;
+ default:
+ this.checkEup(this.pay_type);
+ break;
+ }
+ }
+ },
+ //易宝
+ inityop_pay(data) {
+ if (
+ data.yop_pay == null ||
+ data.wechat == undefined ||
+ data.yop_pay == ""
+ ) {
+ this.setData({
+ isyop_pay: false
+ });
+ return;
+ }
+ this.setData({
+ isyop_pay: true,
+ yop_pay: data.yop_pay
+ });
+ },
+ //验证易宝是否注册
+ checkyop_pay(type) {
+ //验证是否选择提现数据
+ if (!this._checkWithdrawToBalance()) {
+ return;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.yop-pay.api.yop-verification");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ //有资格提现
+ that.withdrawToBalance(type);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateTo({
+ url: "/packageA/member/info/info"
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //自定义提现收入语言
+ customizeIncome() {
+ try {
+ var value = wx.getStorageSync('mailLanguage');
+ if (value) {
+ let mailLanguage = JSON.parse(value);
+ this.setData({
+ special_service_tax_text: mailLanguage.income.special_service_tax,
+ income_name_text: mailLanguage.income.income_name,
+ name_of_withdrawal: mailLanguage.income.name_of_withdrawal,
+ poundage_name: mailLanguage.income.poundage_name
+ });
+ // wx.setNavigationBarTitle({
+ // title: mailLanguage.income.income_name + (this.data.name_of_withdrawal ? this.data.name_of_withdrawal : '提现')
+ // });
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+});
\ No newline at end of file
diff --git a/packageA/member/withdrawal/withdrawal.json b/packageA/member/withdrawal/withdrawal.json
new file mode 100644
index 0000000..3614255
--- /dev/null
+++ b/packageA/member/withdrawal/withdrawal.json
@@ -0,0 +1,17 @@
+{
+ "navigationBarTitleText": "",
+ "usingComponents": {
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-button": "../../../dist/button/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "van-icon": "../../../dist/icon/index",
+ "van-field":"/dist/field/index",
+ "van-picker":"/dist/picker/index",
+ "van-sticky":"/dist/sticky/index",
+ "mp-html":"/mycomponent/mp-html/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/member/withdrawal/withdrawal.wxml b/packageA/member/withdrawal/withdrawal.wxml
new file mode 100644
index 0000000..16bfce4
--- /dev/null
+++ b/packageA/member/withdrawal/withdrawal.wxml
@@ -0,0 +1,602 @@
+
+ var numberToFix = function (str) {
+ var str_a = str.slice(0, 4);
+ var str_b = str.slice(str.length - 4, str.length)
+ return str_a + '****' + str_b
+ }
+ module.exports.numberToFix = numberToFix;
+
+
+ var numberTo = function (str) {
+ return Number(str)
+ }
+ module.exports.numberTo = numberTo;
+
+
+ var numberToFix = function (str) {
+ if (!str) return '0.00'//判空
+ str = str.toString()
+ //如果没有小数 添加两位小数 '.00'
+ if (str.indexOf('.') === -1) {
+ str += '.00'
+ return str
+ } else {
+ //如果有判断是否小于11
+ var decimal = str.split('.');
+ if (decimal[0] <= 3) {
+ str = decimal[0] + '.' + decimal[1]
+ return str
+ }
+ }
+ //切割数组
+ //以.分隔为数组
+ var arr = str.split('.');
+ var left = arr[0];
+ //取第一项用正则判断,每隔3位加,
+ left = left.replace(getRegExp('\B(?=(\d{3})+$)', 'g'), ',')
+ return left + '.' + arr[1];
+ }
+ module.exports.numberToFix = numberToFix;
+
+
+
+
+
+
+ {{name_of_withdrawal}}记录
+ {{name_of_withdrawal}}规则说明
+ 联系客服
+
+
+
+
+
+
+ 可{{name_of_withdrawal}}总金额
+
+ {{language['money']}}
+ {{m2.numberToFix(all_withdraw_income)}}
+
+
+
+
+
+
+ {{ withTypeTipsTitle }}
+
+ (
+ {{ pay_typeList.manual.member_name }}
+ {{ m1.numberToFix(pay_typeList.manual.bank_card) }}
+ )
+
+ {{withTypeTips}}
+
+
+ 请选择{{name_of_withdrawal}}方式
+
+
+
+
+
+
+
+ {{income_name_text}}类型
+ 全选
+
+
+
+
+
+
+ {{ item.type_name }}
+ 最低{{ name_of_withdrawal }}额:{{ item.roll_out_limit }}
+
+
+
+ {{language['money']}}
+ {{ m2.numberToFix(item.income) }}
+
+
+
+ {{poundage_name?poundage_name:'手续费'}}:
+ {{language['money']}}{{ m2.numberToFix(item.special_poundage) }}
+
+
+
+
+ {{poundage_name?poundage_name:'手续费'}}:
+ {{language['money']}}{{ m2.numberToFix(item.poundage) }}
+
+
+
+
+
+
+
+
+
+ 合计
+
+
+ {{language['money']}}
+ {{ m2.numberToFix(totalwithdrawal) }}
+
+
+
+ {{poundage_name?poundage_name:'手续费'}}:{{language['money']}}{{ m2.numberToFix(independent_poundage) }}
+
+
+ {{special_service_tax_text?special_service_tax_text:' 劳务税'}}:{{language['money'] }}{{ m2.numberToFix(independent_special) }}
+
+
+
+
+ {{poundage_name?poundage_name:'手续费'}}:{{language['money']}}{{ m2.numberToFix(poundage) }}
+
+
+ {{special_service_tax_text?special_service_tax_text:' 劳务税'}}:{{language['money'] }}{{ m2.numberToFix(servicetax) }}
+
+
+
+ {{name_of_withdrawal}}
+
+
+
+
+
+ 填写微信号
+
+ 微信号:
+
+
+
+
+ 保存
+
+
+
+
+
+ 填写支付宝信息
+
+ 支付宝号:
+
+
+
+
+
+ 帐号姓名:
+
+
+
+
+ 保存
+
+
+
+
+
+
+ 选择{{name_of_withdrawal}}方式
+
+
+
+
+
+
+
+
+ {{pay_typeList.balance.other_name || pay_typeList.balance.name}}
+ 通过审核后将打款到系统{{ pay_typeList.balance.other_name || pay_typeList.balance.name }}!
+
+
+
+
+
+
+
+
+
+ {{pay_typeList.wechat.other_name}}
+ 通过审核后将打款到个人{{pay_typeList.wechat.other_name}}零钱!
+
+
+
+
+
+
+
+
+
+ {{ alipay.other_name }}
+ 通过审核后将打款到个人{{alipay.other_name}}!
+
+
+
+
+
+
+
+
+
+ {{ converge_pay.other_name }}
+ 通过审核后将由工作人员打款到您的银行卡
+
+
+
+
+
+
+
+
+
+ {{ manual.other_name }}-银行卡
+ {{ manual.other_name }}-微信
+ {{ manual.other_name }}-支付宝
+
+ 通过审核后将由工作人员打款到您的{{ manual.manual_type == 1 ? "银行卡" : manual.manual_type == 2 ? "微信" : "支付宝" }}!
+
+
+
+ {{ manual.member_name }} {{ manual.bank_card }}
+
+
+ 修改信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 填写银行卡
+
+
+
+ 开户行:
+
+
+
+
+
+ 所在省:
+
+ {{bankdata.Province}}
+
+
+
+
+ 所在市:
+
+ {{bankdata.city}}
+
+
+
+
+ 支行名称:
+
+
+
+
+
+ 卡号:
+
+
+
+
+
+ 姓名:
+
+
+
+
+ 保存
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{name_of_withdrawal?name_of_withdrawal:'提现'}}
+
+
+
+ {{ checkObj.bankName }}
+
+
+
+
+
+ {{name_of_withdrawal?name_of_withdrawal:'提现'}}金额({{language['元']}})
+
+ {{totalwithdrawal}}
+
+
+ {{(poundage_name?poundage_name:"手续费")}}({{language['元']}})
+ {{poundage_hj}}
+
+
+ 实际到账({{language['元']}})
+ {{actual_amount}}
+
+
+
+
+
+
+
+
+
+ 银行卡列表
+
+
+
+
+
+ {{ item.bankName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{customer_service.service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/member/withdrawal/withdrawal.wxss b/packageA/member/withdrawal/withdrawal.wxss
new file mode 100644
index 0000000..91bf1e0
--- /dev/null
+++ b/packageA/member/withdrawal/withdrawal.wxss
@@ -0,0 +1,833 @@
+/* pages/member/withdrawal/withdrawal.wxss */
+
+/* .withdrawal {
+ padding-bottom: 160rpx;
+}
+
+.withdrawal .blank {
+ text-align: center;
+ padding: 20rpx;
+}
+
+.withdrawal .tbbox {
+ display: flex;
+ background: #fff;
+ line-height: 80rpx;
+ text-align: center;
+}
+
+.withdrawal .tbbox .libg2 {
+ flex: 2;
+}
+
+.withdrawal .tbbox .libg2 .p {
+ line-height: 32rpx;
+ font-size: 24rpx;
+}
+
+.withdrawal .tbbox .libg {
+ flex: 2;
+ background: #eef1f6;
+ font-weight: bold;
+}
+
+.withdrawal .tbbox .ones {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.withdrawal .userinfo {
+ background-color: #fff;
+ padding: 32rpx 0;
+ margin-top: 20rpx;
+ display: flex;
+ text-align: center;
+}
+
+.withdrawal .userinfo .ul {
+ flex: 33.3%;
+ border-right: solid 2rpx #e2e2e2;
+}
+
+.withdrawal .userinfo .ul .top {
+ margin-bottom: 20rpx;
+ font-size: 34rpx;
+}
+
+.libtn {
+ padding: 10rpx 40rpx;
+}
+
+.withdrawal .bottom_btn {
+ width: 100%;
+ background: #fff;
+ padding: 20rpx 0;
+ position: fixed;
+ bottom: 0;
+ border-top: solid 2rpx #ebebeb;
+}
+
+.withdrawal .bottom_btn .btn {
+ width: 690rpx;
+ margin: 0 auto;
+ height: 92rpx;
+ font-size: 32rpx;
+ color: #fff;
+ background: #f15353;
+ border: none;
+ text-align: center;
+ line-height: 92rpx;
+ border-radius: 64rpx;
+}
+*/
+.withdrawal_box .h2 {
+ background: #fff;
+ line-height: 92rpx;
+ font-size: 32rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ z-index: 10;
+ text-align: center;
+}
+
+.withdrawal_box .h2 .icon-close11 {
+ width: 96rpx;
+ display: inline-block;
+ position: absolute;
+ right: 0;
+ font-size: 32rpx;
+ color: #666;
+}
+
+.withdrawal_box .deduction_value {
+ font-size: 28rpx;
+ margin-left: 40rpx;
+}
+
+.withdrawal_box .recharge_way {
+ background: #fff;
+}
+
+.withdrawal_box .recharge_way .van-radio__input {
+ position: absolute;
+ right: 32rpx;
+ margin-top: 38rpx;
+}
+
+.withdrawal_box .recharge_way .li {
+ position: relative;
+ display: flex;
+ align-items: center;
+ line-height: 112rpx;
+ font-size: 32rpx;
+ margin-left: 40rpx;
+ padding-right: 40rpx;
+}
+
+.withdrawal_box .recharge_way .li .iconfont {
+ font-size: 64rpx;
+ margin-right: 20rpx;
+}
+
+.withdrawal_box .recharge_way .li .iconfont_bg {
+ background: #f15353;
+ width: 72rpx;
+ height: 48rpx;
+ border-radius: 6rpx;
+ display: flex;
+ align-items: center;
+ margin-right: 20rpx;
+}
+
+.withdrawal_box .recharge_way .li .icon-balance_d {
+ color: #00908c;
+}
+
+.withdrawal_box .recharge_way .li .icon-balance_e {
+ color: #64b42e;
+}
+
+.withdrawal_box .recharge_way .li .icon-balance_f {
+ color: #fac337;
+}
+
+.withdrawal_box .recharge_way .li .icon-balance_g {
+ color: #00508e;
+}
+
+.withdrawal_box .recharge_way .li .icon-balance_h {
+ color: #fac337;
+}
+
+.withdrawal_box .recharge_way .li .icon-balance_i {
+ color: #64b42e;
+}
+
+.withdrawal_box .recharge_way .li .icon-balance_j {
+ color: #069ce7;
+}
+
+.withdrawal_box .recharge_way .li .icon-balance_z {
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/pay_e.png");
+}
+
+.withdrawal_box .btn {
+ width: 690rpx;
+ margin: 40rpx auto;
+ height: 92rpx;
+ font-size: 32rpx;
+ color: #fff;
+ background: #f15353;
+ border: none;
+ text-align: center;
+ line-height: 92rpx;
+ border-radius: 64rpx;
+}
+#withdrawal {
+ padding-bottom: 150rpx;
+ box-sizing: border-box;
+}
+
+#withdrawal .confirm {
+ width: 750.08rpx;
+ height: 150rpx;
+ background-color: #fff;
+ box-shadow: 0rpx -3.84rpx 8.96rpx 0rpx rgba(205, 205, 205, 0.4);
+ position: fixed;
+ bottom: 0;
+ display: flex;
+ justify-content: space-between;
+ padding: 0 30.08rpx;
+ align-items: center;
+ box-sizing: border-box;
+}
+
+#withdrawal .confirm .confirm_conten {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: flex-start;
+ margin-left: 16.96rpx;
+}
+
+#withdrawal .confirm .confirm_conten .total {
+ font-size: 32rpx;
+ color: #f96d20;
+ display: flex;
+ align-items: center;
+}
+
+#withdrawal .confirm .confirm_conten .total .no {
+ font-size: 24rpx;
+}
+
+#withdrawal .confirm .confirm_conten .btxt {
+ font-size: 22.08rpx;
+ color: #747474;
+ display: flex;
+ align-items: center;
+}
+
+.balance_special {
+ margin-left: 10rpx;
+}
+
+#withdrawal .confirm .confirmBtn {
+ width: 180.16rpx;
+ height: 80rpx;
+ background-color: #f96d20;
+ border-radius: 40rpx;
+ font-size: 30.08rpx;
+ color: #fff;
+ text-align: center;
+ line-height: 80rpx;
+ margin-left: 10rpx;
+}
+
+.navTop {
+ height: 40px;
+}
+
+#withdrawal .mtypeList .mtlis {
+ display: flex;
+ align-items: center;
+ padding-left: 32rpx;
+ padding-right: 30.08rpx;
+ height: 120rpx;
+ background: #fff;
+}
+
+#withdrawal .mtypeList .mtlis .mtlis_left {
+ height: 100%;
+ flex: 1;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+}
+
+#withdrawal .mtypeList .mtlis .mtlis_left .mtlis_left_bottom {
+ font-size: 22.08rpx;
+ color: #858585;
+ margin-top: 16.96rpx;
+}
+
+#withdrawal .mtypeList .mtlis .mtlis_conten {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+ margin-right: 44.16rpx;
+}
+
+#withdrawal .mtypeList .mtlis .mtlis_conten .price {
+ font-size: 30.08rpx;
+ color: #f96d20;
+ display: flex;
+}
+
+#withdrawal .mtypeList .mtlis .mtlis_conten .price .no {
+ font-size: 24rpx;
+}
+
+#withdrawal .mtypeList .mtlis .mtlis_conten .poundagetype {
+ color: #a3a3a3;
+ font-size: 24rpx;
+ margin-top: 10rpx;
+ display: flex;
+ align-items: center;
+}
+
+#withdrawal .mtype {
+ display: flex;
+ align-items: center;
+ height: 86.08rpx;
+ justify-content: space-between;
+ padding: 0 30.08rpx;
+ box-sizing: border-box;
+}
+
+#withdrawal .mtype .mtype_left {
+ font-size: 32rpx;
+ color: #f96d20;
+}
+
+#withdrawal .mtype .mtype_right {
+ width: 100.16rpx;
+ height: 46.08rpx;
+ background-color: #f96d20;
+ border-radius: 6.08rpx;
+ font-size: 24rpx;
+ line-height: 46.08rpx;
+ display: flex;
+ justify-content: center;
+ color: #fff;
+ position: relative;
+}
+
+#withdrawal .withdrawal_complete {
+ padding: 29.12rpx 29.12rpx 34.88rpx 31.04rpx;
+ box-sizing: border-box;
+ background: #fff;
+}
+
+#withdrawal .withdrawal_complete .elementsin {
+ width: 689.92rpx;
+ min-height: 289.92rpx;
+ background-image: linear-gradient(-50deg, #f96d20 0%, #fcab4f 100%);
+ box-shadow: 0rpx 9.92rpx 15.04rpx 0rpx rgba(250, 128, 46, 0.2);
+ border-radius: 24rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+#withdrawal .withdrawal_complete .elementsin .elementsin_bottom {
+ min-height: 93.12rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 5rpx 32rpx;
+ background-color: rgba(255, 255, 255, 0.2);
+ box-sizing: border-box;
+ color: #fff;
+}
+
+#withdrawal .withdrawal_complete .elementsin .elementsin_bottom .iconfont {
+ font-size: 41.6rpx;
+}
+
+#withdrawal .withdrawal_complete .elementsin .elementsin_bottom .elementsin_bottom_text {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ margin-left: 16.96rpx;
+}
+
+#withdrawal .withdrawal_complete .elementsin .elementsin_bottom .elementsin_bottom_text .elementsin_bottom_text_top {
+ font-size: 28.16rpx;
+}
+
+#withdrawal .withdrawal_complete .elementsin .elementsin_bottom .elementsin_bottom_text .span {
+ text-align: left;
+ font-size: 24rpx;
+}
+
+#withdrawal .withdrawal_complete .elementsin .elementsin_top {
+ flex: 1;
+ padding-top: 45.12rpx;
+ padding-left: 72rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+#withdrawal .withdrawal_complete .elementsin .elementsin_top .elementsin_top_txt {
+ font-size: 25.92rpx;
+ color: #fff;
+ text-align: left;
+}
+
+#withdrawal .withdrawal_complete .elementsin .elementsin_top .elementsin_top_money {
+ display: flex;
+ font-size: 54.08rpx;
+ color: #fff;
+}
+
+#withdrawal .withdrawal_complete .elementsin .elementsin_top .elementsin_top_money .amount_type {
+ line-height: 86.4rpx;
+ font-size: 30.08rpx;
+}
+
+/* 弹窗 */
+.withdrawal_box_no .h2 {
+ background: #fff;
+ line-height: 92rpx;
+ font-size: 18px;
+ text-align: center;
+ position: sticky;
+ top: 0;
+ left: 0;
+ z-index: 1;
+}
+
+.withdrawal_box_no .h2 .icon-close11 {
+ width: 96rpx;
+ display: inline-block;
+ position: absolute;
+ right: 0;
+ font-size: 32rpx;
+ color: #666;
+}
+
+.withdrawal_box_listBox {
+ padding-bottom: 90rpx;
+}
+
+.withdrawal_box_no .withdrawal_box_list {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 32rpx 31.04rpx 32rpx 36.16rpx;
+ box-sizing: border-box;
+}
+
+.withdrawal_box_no .withdrawal_box_list .iconfont {
+ color: #f96d20;
+ font-size: 48rpx;
+}
+
+.withdrawal_box_no .withdrawal_box_list .withdrawal_box_list_wrap {
+ flex: 1;
+ margin-left: 24rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ font-size: 25.92rpx;
+}
+
+.withdrawal_box_no .withdrawal_box_list .withdrawal_box_list_wrap .txt {
+ font-size: 30.08rpx;
+ font-weight: 600;
+}
+
+.withdrawal_box_no .withdrawal_box_list .withdrawal_box_list_wrap .txtTwo {
+ margin-top: 22rpx;
+}
+
+.withdrawal_box_no .withdrawal_box_list .withdrawal_box_list_wrap .userTxt {
+ display: flex;
+ align-items: center;
+}
+
+.withdrawal_box_no .withdrawal_box_list .withdrawal_box_list_wrap .modify {
+ margin-left: 29.12rpx;
+ color: #ee3131;
+}
+
+.withdrawal_box_no .withdrawal_box_list .withdrawal_box_list_check {
+ position: relative;
+}
+
+.bandBox .bandSave {
+ width: 640rpx;
+ height: 80rpx;
+ background-color: #f96d20;
+ border-radius: 40rpx;
+ font-size: 30.08rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 0 auto;
+ margin-top: 64rpx;
+}
+
+.bandBox .rule {
+ display: flex;
+ align-items: center;
+ padding: 0 30.08rpx;
+ margin-bottom: 44.16rpx;
+}
+
+.bandBox .rule .ruleLeftDist {
+ display: flex;
+ align-items: center;
+ font-size: 30.08rpx;
+}
+
+.bandBox .rule .rightDist {
+ height: 0.6875rem;
+ flex: 1;
+ display: flex;
+ justify-content: flex-end;
+ font-size: 30.08rpx;
+ align-items: center;
+}
+
+.bandBox .rule .rightDist span {
+ margin-right: 12.48rpx;
+}
+
+.bandBox .rule .rightDist i {
+ margin-top: 0.0938rem;
+}
+
+.bandBox .rule .ruleRighe {
+ flex: 1;
+}
+
+.bandBox .rule .ruleRighe ::-webkit-input-placeholder {
+ /* placeholder字体大小 */
+ font-size: 30.08rpx;
+}
+
+.bandBox .rule .ruleRighe .van-cell {
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+.bandBox .rule .ruleLeft {
+ display: flex;
+ align-items: center;
+ font-size: 30.08rpx;
+ margin-top: -0.1563rem;
+}
+
+.bandBox .h2 {
+ margin-bottom: 64rpx;
+ background: #fff;
+ line-height: 92rpx;
+ text-align: center;
+ font-size: 18px;
+ position: sticky;
+ top: 0;
+ left: 0;
+ z-index: 1;
+}
+
+.bandBox .h2 .icon-close11 {
+ width: 96rpx;
+ display: inline-block;
+ position: absolute;
+ right: 0;
+ font-size: 32rpx;
+ color: #666;
+}
+
+.posbox {
+ position: fixed;
+ right: 9.92rpx;
+ top: 75rpx;
+ z-index: 99999;
+ transition: 1s;
+}
+
+.showPosBox {
+ animation: ident 1s;
+}
+
+@keyframes ident {
+ 0% {
+ opacity: 0;
+ }
+
+ 50% {
+ opacity: 0.75;
+ }
+
+ 100% {
+ opacity: 1;
+ }
+}
+
+.toastBox {
+ /* width: 180.16rpx; */
+ height: 206.08rpx;
+ background: #fff;
+ box-shadow: 0rpx 1.92rpx 9.92rpx 0rpx rgba(158, 158, 158, 0.4);
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 15rpx 30rpx;
+}
+
+.toastBox .txt {
+ margin: 12.16rpx 0;
+ color: #3d3d3d;
+}
+
+.toastBox::after {
+ content: "";
+ width: 0;
+ height: 0;
+ position: absolute;
+ left: 43%;
+ top: -10rpx;
+ border-right: solid 0.375rem transparent;
+ border-left: solid 0.375rem transparent;
+
+ /* 黑色大三角形 */
+ border-bottom: solid 0.375rem #fff;
+ z-index: 99999;
+}
+
+.toastBox::before {
+ content: "";
+ width: 0;
+ height: 0;
+ position: absolute;
+ left: 45%;
+ top: -10rpx;
+ border-right: solid 0.3125rem transparent;
+ border-left: solid 0.3125rem transparent;
+
+ /* 黑色大三角形 */
+ border-bottom: solid 0.3125rem #9e9e9e;
+ z-index: 99999;
+}
+
+.cardBankpass {
+ display: flex;
+ align-items: center;
+}
+
+/* 客服 */
+
+/* kefu */
+.icon-close11 {
+ font-size: 18px;
+}
+
+.pop-content {
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+
+ /* flex-wrap: wrap; */
+}
+
+.pop-content .pop-top .left {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ position: relative;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap icon {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ font-size: 50rpx;
+ background-color: #02c777;
+ color: #fff;
+}
+
+.pop-content .pop-top .right .wrap .color2 {
+ background: #ff9329;
+}
+
+.pop-content .pop-top .right .wrap .color3 {
+ background: #2aa7fb;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .line {
+ width: 1px;
+ height: 51rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.kefuxiaoxi {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ top: 0;
+ left: 0;
+}
+
+.msgbox {
+ line-height: 40rpx;
+ box-sizing: border-box;
+ padding: 20rpx;
+}
+
+.freightPricing {
+ background: #fff;
+ margin-top: 20rpx;
+ text-align: left;
+ padding: 0 24rpx;
+}
+
+.freightPricing .title,
+.freightPricing .freightPricing_btn {
+ height: 76rpx;
+ line-height: 70rpx;
+ color: #000;
+ font-size: 28rpx;
+}
+
+.freightPricing .freightPricing_main {
+ overflow: hidden;
+ line-height: 40rpx;
+ transition: height 0.6s;
+ font-size: 24rpx;
+}
+
+.freightPricing_main.fold {
+ height: 80rpx;
+}
+
+.freightPricing_main.unfold {
+ height: auto;
+}
+
+.freightPricing .freightPricing_btn {
+ text-align: center;
+ color: #666;
+ line-height: 96rpx;
+}
+
+.freightPricing .rotate_box {
+ display: inline-block;
+}
+
+.freightPricing .freightPricing_btn.fold .rotate_box {
+ transform: rotate(0deg);
+}
+
+.freightPricing .freightPricing_btn.unfold .rotate_box {
+ transform: rotate(180deg);
+}
+
+.share_text {
+ margin-left: 4px !important;
+ font-size: 24rpx;
+ color: #9b9b9b;
+ padding: 0;
+ border: none;
+}
+
+/* ------------------ */
diff --git a/packageA/mycomponent/Permissions/Permissions.js b/packageA/mycomponent/Permissions/Permissions.js
new file mode 100644
index 0000000..1aea7f2
--- /dev/null
+++ b/packageA/mycomponent/Permissions/Permissions.js
@@ -0,0 +1,416 @@
+var app = getApp();
+Component({
+ properties: {
+ DataInfo: {
+ type: null
+ },
+ isType: {
+ type: null
+ }
+ },
+ data: {
+ show_levels_CheckedAll: false,
+ buy_levels_CheckedAll: false,
+ show_groups_CheckedAll: false,
+ buy_groups_CheckedAll: false,
+
+ // isType: false,
+ show1: false,
+ show2: false,
+ show3: false,
+ show4: false,
+
+ levelsList: [], // 会员等级,
+ buy_levels: [],
+ show_levels: [],
+ groupsList: [], // 会员分组,
+ show_groups: [],
+ buy_groups: [],
+
+ once_buy_limit: '0',
+ total_buy_limit: '0',
+ day_buy_limit: '0',
+ week_buy_limit: '0',
+ month_buy_limit: '0',
+
+ hyll_Model: [],
+ hygm_Model: [],
+ hyzll_Model: [],
+ hyzgm_Model: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() { },
+ moved() { },
+ detached() { },
+ ready() {
+ var isType = this.properties.isType;
+ this.setData({
+ isType
+ });
+ if (this.data.isType) {
+ this.getDataInfo();
+ }
+ }
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() { }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() { },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() { },
+ hide() { },
+ resize() { }
+ },
+
+ methods: {
+ getDataInfo() {
+ // 获取会员等级
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.get-store-goods-setting');
+ app._postNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ levelsList: res.data.member_level,
+ groupsList: res.data.member_group
+ });
+ if (!this.properties.isType) {
+ let data = this.properties.DataInfo.privilege;
+ console.log(data, '有值?');
+
+ if (app._isTextEmpty(data)) {
+ console.log('刚刚开启');
+ } else {
+ this.setData({
+ hyll_Model: data.show_levels,
+ hygm_Model: data.buy_levels,
+ show_levels: data.show_levels,
+ buy_levels: data.buy_levels
+ });
+ this.setData({
+ hyzll_Model: data.show_groups,
+ hyzgm_Model: data.buy_groups,
+ show_groups: data.show_groups,
+ buy_groups: data.buy_groups
+ });
+ this.setData({
+ once_buy_limit: String(data.once_buy_limit),
+ total_buy_limit: String(data.total_buy_limit),
+ day_buy_limit: String(data.day_buy_limit),
+ week_buy_limit: String(data.week_buy_limit),
+ month_buy_limit: String(data.month_buy_limit)
+ });
+ }
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg || '错误',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ // 弹窗相关------
+ change(value) {
+ this.setData({
+ show_levels: value.detail
+ });
+ if (this.data.show_levels.length == this.data.levelsList.length) {
+ this.setData({
+ show_levels_CheckedAll: true
+ });
+ } else {
+ this.setData({
+ show_levels_CheckedAll: false
+ });
+ }
+ },
+ listCheckAllChange(value) {
+ this.setData({
+ buy_levels: value.detail
+ });
+ if (this.data.buy_levels.length == this.data.levelsList.length) {
+ this.setData({
+ buy_levels_CheckedAll: true
+ });
+ } else {
+ this.setData({
+ buy_levels_CheckedAll: false
+ });
+ }
+ },
+ showGroupsChange(value) {
+ this.setData({
+ show_groups: value.detail
+ });
+ if (this.data.show_groups.length == this.data.groupsList.length) {
+ this.setData({
+ show_groups_CheckedAll: true
+ });
+ } else {
+ this.setData({
+ show_groups_CheckedAll: false
+ });
+ }
+ },
+ buyGroupsChange(value) {
+ this.setData({
+ buy_groups: value.detail
+ });
+ if (this.data.buy_groups.length == this.data.groupsList.length) {
+ this.setData({
+ buy_groups_CheckedAll: true
+ });
+ } else {
+ this.setData({
+ buy_groups_CheckedAll: false
+ });
+ }
+ },
+ // 全选 --------------------
+ checkAll(val) {
+ this.setData({
+ show_levels_CheckedAll: val.detail
+ });
+ if (this.data.show_levels_CheckedAll) {
+ let datas = this.data.levelsList;
+ let show_levels = [];
+ datas.forEach(item => {
+ show_levels.push(item.level_name);
+ });
+ this.setData({
+ show_levels
+ });
+ } else {
+ this.setData({
+ show_levels: []
+ });
+ }
+ },
+ checkAllBuyLevels(val) {
+ this.setData({
+ buy_levels_CheckedAll: val.detail
+ });
+ if (this.data.buy_levels_CheckedAll) {
+ let data = this.data.levelsList;
+ let buy_levels = [];
+ data.forEach(item => {
+ buy_levels.push(item.level_name);
+ });
+ this.setData({
+ buy_levels
+ });
+ } else {
+ this.setData({
+ buy_levels: []
+ });
+ }
+ },
+ checkAllShowGroups(val) {
+ this.setData({
+ show_groups_CheckedAll: val.detail
+ });
+ if (this.data.show_groups_CheckedAll) {
+ let arrs = this.data.groupsList;
+ let show_groups = [];
+ arrs.forEach(item => {
+ show_groups.push(item.group_name);
+ });
+ this.setData({
+ show_groups
+ });
+ } else {
+ this.setData({
+ show_groups: []
+ });
+ }
+ },
+ checkAllBuyGroups(val) {
+ this.setData({
+ buy_groups_CheckedAll: val.detail
+ });
+ if (this.data.buy_groups_CheckedAll) {
+ let arrss = this.data.groupsList;
+ let buy_groups = [];
+ arrss.forEach(item => {
+ buy_groups.push(item.group_name);
+ });
+ this.setData({
+ buy_groups
+ });
+ } else {
+ this.setData({
+ buy_groups: []
+ });
+ }
+ },
+ PermissionsJson() {
+ let json = {};
+ json = {
+ show_levels: this.data.show_levels,
+ buy_levels: this.data.buy_levels,
+ show_groups: this.data.show_groups,
+ buy_groups: this.data.buy_groups,
+ once_buy_limit: this.data.once_buy_limit,
+ total_buy_limit: this.data.total_buy_limit,
+ day_buy_limit: this.data.day_buy_limit,
+ week_buy_limit: this.data.week_buy_limit,
+ month_buy_limit: this.data.month_buy_limit
+ };
+ this.triggerEvent('getChildtwoData', json, { bubbles: false });
+ // }
+ },
+ showPopup(e) {
+ let index = parseInt(e.target.dataset.index || e.currentTarget.dataset.index);
+ this.triggerEvent('CoverLayer', true, { bubbles: false });
+ switch (index) {
+ case 1:
+ this.setData({
+ show1: true
+ });
+ if (!this.data.isType) {
+ this.setData({
+ show_levels: this.data.hyll_Model
+ });
+ if (this.data.show_levels.length == this.data.levelsList.length) {
+ this.setData({
+ show_levels_CheckedAll: true
+ });
+ } else {
+ this.setData({
+ show_levels_CheckedAll: false
+ });
+ }
+ }
+ break;
+ case 2:
+ this.setData({
+ show2: true
+ });
+ if (!this.data.isType) {
+ this.setData({
+ buy_levels: this.data.hygm_Model
+ });
+ if (this.data.buy_levels.length == this.data.levelsList.length) {
+ this.setData({
+ buy_levels_CheckedAll: true
+ });
+ } else {
+ this.setData({
+ buy_levels_CheckedAll: false
+ });
+ }
+ }
+ break;
+ case 3:
+ this.setData({
+ show3: true
+ });
+ if (!this.data.isType) {
+ this.setData({
+ show_groups: this.data.hyzll_Model
+ });
+ if (this.data.show_groups.length == this.data.groupsList.length) {
+ this.setData({
+ show_groups_CheckedAll: true
+ });
+ } else {
+ this.setData({
+ show_groups_CheckedAll: false
+ });
+ }
+ }
+ break;
+ case 4:
+ this.setData({
+ show4: true
+ });
+ if (!this.data.isType) {
+ this.setData({
+ buy_groups: this.data.hyzgm_Model
+ });
+ if (this.data.buy_groups.length == this.data.groupsList.length) {
+ this.setData({
+ buy_groups_CheckedAll: true
+ });
+ } else {
+ this.setData({
+ buy_groups_CheckedAll: false
+ });
+ }
+ }
+ break;
+ default:
+ {
+ this.setData({
+ show1: false,
+ show2: false,
+ show3: false,
+ show4: false
+ });
+ let hyll_Model = this.data.hyll_Model;
+ let hygm_Model = this.data.hygm_Model;
+ let hyzll_Model = this.data.hyzll_Model;
+ let hyzgm_Model = this.data.hyzgm_Model;
+ hygm_Model = this.data.buy_levels;
+ hyll_Model = this.data.show_levels;
+ hyzll_Model = this.data.show_groups;
+ hyzgm_Model = this.data.buy_groups;
+ this.setData({
+ hyll_Model,
+ hygm_Model,
+ hyzll_Model,
+ hyzgm_Model
+ });
+ this.triggerEvent('CoverLayer', false, { bubbles: false });
+ break;
+ }
+ }
+ },
+ isCoverLayer() {
+ this.setData({
+ show1: false,
+ show2: false,
+ show3: false,
+ show4: false
+ });
+ this.triggerEvent('CoverLayer', false, { bubbles: false });
+ },
+ // 输入框改变
+ onChangenum(val) {
+ this.setData({
+ once_buy_limit: val.detail.value
+ });
+ },
+ onChangetoaut(val) {
+ this.setData({
+ total_buy_limit: val.detail.value
+ });
+ },
+ onChangebuy(val) {
+ this.setData({
+ day_buy_limit: val.detail.value
+ });
+ },
+ onChangeweek(val) {
+ this.setData({
+ week_buy_limit: val.detail.value
+ });
+ },
+ onChangemonth(val) {
+ this.setData({
+ month_buy_limit: val.detail.value
+ });
+ }
+ }
+});
diff --git a/packageA/mycomponent/Permissions/Permissions.json b/packageA/mycomponent/Permissions/Permissions.json
new file mode 100644
index 0000000..3a5f0b4
--- /dev/null
+++ b/packageA/mycomponent/Permissions/Permissions.json
@@ -0,0 +1,12 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index",
+ "van-checkbox": "../../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../../dist/checkbox-group/index",
+ "van-icon": "../../../../dist/icon/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-cell": "../../../../dist/cell/index",
+ "van-cell-group": "../../../../dist/cell-group/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/Permissions/Permissions.wxml b/packageA/mycomponent/Permissions/Permissions.wxml
new file mode 100644
index 0000000..d815b4a
--- /dev/null
+++ b/packageA/mycomponent/Permissions/Permissions.wxml
@@ -0,0 +1,154 @@
+
+
+
+
+ 会员等级浏览权限:
+
+
+
+
+ 会员等级购买权限:
+
+
+
+
+ 会员组浏览权限:
+
+
+
+
+ 会员组购买权限:
+
+
+
+
+
+
+ 每次限购数量:
+
+
+
+ 会员限购总数:
+
+
+
+ 会员每天限购总数:
+
+
+
+ 会员每周期限购数量:
+
+
+
+ 会员每月限购数量:
+
+
+
+
+
+
+
+
+ 会员等级浏览权限
+
+
+
+
+
+
+
+
+
+
+ {{item.level_name}}
+
+
+
+ 暂无数据
+
+
+
+
+
+
+
+
+
+
+
+ 会员等级购买权限
+
+
+
+
+
+
+
+
+
+
+ {{item.level_name}}
+
+
+
+ 暂无数据
+
+
+
+
+
+
+
+
+
+
+ 会员组浏览权限
+
+
+
+
+
+
+
+
+
+
+ {{item.group_name}}
+
+
+
+ 暂无数据
+
+
+
+
+
+
+
+
+
+
+ 会员组购买权限
+
+
+
+
+
+
+
+
+
+
+ {{item.group_name}}
+
+
+
+ 暂无数据
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/Permissions/Permissions.wxss b/packageA/mycomponent/Permissions/Permissions.wxss
new file mode 100644
index 0000000..cb971bc
--- /dev/null
+++ b/packageA/mycomponent/Permissions/Permissions.wxss
@@ -0,0 +1,110 @@
+.Permissions {
+ /* width: 100%; */
+
+ /* padding-bottom: 108rpx; */
+
+ /* overflow: scroll; */
+
+ /* z-index: 9999; */
+}
+
+.Permissions .power_box .member_power,
+.Permissions .power_box .number_power {
+ margin-top: 20rpx;
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.Permissions .power_box .member_power .li,
+.Permissions .power_box .number_power .li {
+ display: flex;
+ align-items: center;
+ height: 80rpx;
+ position: relative;
+ font-size: 15px;
+}
+
+.Permissions .power_box .member_power .li .span,
+.Permissions .power_box .number_power .li .span {
+ width: 312rpx;
+}
+
+.Permissions .power_box .member_power .li input,
+.Permissions .power_box .number_power .li input {
+ border: none;
+ width: 360rpx;
+}
+
+.Permissions .power_box .member_power .li .fa,
+.Permissions .power_box .number_power .li .fa {
+ position: absolute;
+ right: 0;
+ font-size: 36rpx;
+ color: #c9c9c9;
+}
+
+.Permissions .power_box .member_power .list_box,
+.Permissions .power_box .number_power .list_box {
+ padding: 20rpx 28rpx;
+}
+
+.Permissions .select_box {
+ background: #fff;
+ width: 100%;
+ padding-top: 50px;
+ padding-bottom: 60px;
+}
+
+.Permissions .select_box .title {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100rpx;
+ line-height: 100rpx;
+ text-align: center;
+ font-size: 16px;
+ display: flex;
+ justify-content: center;
+ border-bottom: solid 2rpx #ebebeb;
+ z-index: 9999;
+ background-color: #fff;
+}
+
+.Permissions .select_box .title icon {
+ position: absolute;
+ right: 20rpx;
+ font-size: 32rpx;
+ color: #c9c9c9;
+}
+
+.Permissions .select_box .list {
+ padding: 20rpx 0 20rpx 28rpx;
+}
+
+.Permissions .select_box .list .van-checkbox {
+ line-height: 92rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ font-size: 15px;
+}
+
+.Permissions .select_box .select_btn {
+ position: fixed;
+ width: 100%;
+ padding: 12rpx 28rpx;
+ bottom: 0;
+ border-top: solid 2rpx #ebebeb;
+ z-index: 9999;
+ background-color: #fff;
+}
+
+.Permissions .select_box .select_btn button {
+ margin: 0 auto;
+ width: 100%;
+ height: 80rpx;
+ background: #f15353;
+ border-radius: 6rpx;
+ color: #fff;
+ border: none;
+ font-size: 16px;
+}
diff --git a/packageA/mycomponent/basicInformation/basicInformation.js b/packageA/mycomponent/basicInformation/basicInformation.js
new file mode 100644
index 0000000..962c6d6
--- /dev/null
+++ b/packageA/mycomponent/basicInformation/basicInformation.js
@@ -0,0 +1,941 @@
+var app = getApp();
+Component({
+ properties: {
+ DataInfo: {
+ type: null
+ },
+ store: {
+ type: null
+ },
+ store_id: {
+ type: null
+ },
+ goods_id: {
+ type: Number
+ },
+ isType: {
+ type: null
+ }
+ },
+ data: {
+ // store: '',
+ uploadUrl: '',
+ store_id: '',
+ sectionOptions: [],
+ objectMultiArray: [],
+ multiIndex: [0, 0, 0],
+ regional: '请选择商品分类',
+ cargon_data: {
+ title: '',
+ sku: '',
+ thumb: '',
+ price: '',
+ market_price: '',
+ cost_price: '',
+ stock: '',
+ thumb_url: ''
+ },
+ imageUrl: '',
+ fileList2: [],
+ fileList1: [],
+ upNumMax: 0,
+ upNumMaxOther: 0,
+ fileList3: [],
+ fileList4: [],
+ selectedOptions3: [],
+ jumpState: true,
+ shopText: ''//商品详情文字
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() { },
+ moved() { },
+ detached() { },
+ ready() {
+ console.log(this.properties.store);
+ if (this.properties.store) {
+ this.setData({
+ store: this.data.store
+ });
+ }
+ if (this.properties.store_id) {
+ this.setData({
+ store_id: this.data.store_id
+ });
+ this._getJson();
+ }
+ if (this.properties.goods_id) {
+ this.setData({
+ goods_id: this.properties.goods_id
+ });
+ this._getJson(true);
+
+ }
+ this._urlUp();
+ }
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() { }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() { },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() { },
+ hide() { },
+ resize() { }
+ },
+
+ methods: {
+ areaInp(e) {
+ console.log(e);
+ let txt = e.detail.value;
+ this.setData({
+ shopText: txt
+ });
+ },
+ // 商品图片上传
+ _urlUp() {
+ if (this.data.store == 'store') {
+ this.setData({
+ uploadUrl: 'upload.uploadPic'
+ });
+ } else if (this.data.store == 'supplier') {
+ this.setData({
+ uploadUrl: 'upload.uploadPic'
+ });
+ }
+ },
+ // 选择分类对接数据
+ _getJson(flag = false) {
+ let that = this;
+
+ if (that.data.store == 'store') {
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods-category.get-category-by-store-id');
+ urlStr += '&store_id=' + that.properties.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ let list = [];
+ res.data.list.map(item => {
+ list.push({
+ name: item.name,
+ id: item.id,
+ childrens: item.childrens
+ });
+ });
+
+ that.setData({
+ list
+ });
+ if (res.result == 1) {
+ let sectionOptionsData = [];
+
+ for (let i = 0; i < res.data.list.length; i++) {
+ sectionOptionsData.push({
+ id: res.data.list[i].id,
+ name: res.data.list[i].name,
+ children: []
+ });
+ for (let k = 0; k < res.data.list[i].childrens.length; k++) {
+ sectionOptionsData[i].children.push({
+ id: res.data.list[i].childrens[k].id,
+ name: res.data.list[i].childrens[k].name
+ });
+ }
+ }
+
+ that.setData({
+ sectionOptions: sectionOptionsData
+ });
+ console.log(sectionOptionsData);
+ that.goodsHandlefunction();
+ if (flag) that.getGoodsJson();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ } else if (that.data.store == 'supplier') {
+ let urlStr = app.getNetAddresss('plugin.supplier.frontend.goods.get-category');
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ let list = [];
+ res.data.map(item => {
+ list.push({
+ name: item.name,
+ id: item.id,
+ childrens: item.childrens
+ });
+ });
+
+ that.setData({
+ list
+ });
+ if (res.result == 1) {
+ let sectionOptionsData = [];
+ for (var i = 0; i < res.data.length; i++) {
+ sectionOptionsData.push({
+ id: res.data[i].id,
+ name: res.data[i].name,
+ children: []
+ });
+ if (!res.data[i].childrens || res.data[i].childrens.length < 1) {
+ // 判断是否有二级分类
+ } else {
+ // that.sectionOptions[i].children = []
+ for (let k = 0; k < res.data[i].childrens.length; k++) {
+ sectionOptionsData[i].children.push({
+ id: res.data[i].childrens[k].id,
+ name: res.data[i].childrens[k].name,
+ children: []
+ });
+ if (!res.data[i].childrens[k].childrens || res.data[i].childrens[k].childrens.length < 1) {
+ // 判断是否有三级分类
+ } else {
+ for (var j = 0; j < res.data[i].childrens[k].childrens.length; j++) {
+ sectionOptionsData[i].children[k].children.push({
+ id: res.data[i].childrens[k].childrens[j].id,
+ name: res.data[i].childrens[k].childrens[j].name
+ });
+ }
+ }
+ }
+ }
+ }
+ that.setData({
+ sectionOptions: sectionOptionsData
+ });
+ that.goodsHandlefunction();
+ if (flag) that.getGoodsJson();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) { }
+ });
+ }
+ },
+ commodityBtn(e) {
+ let column = e.detail.column;
+ let val = e.detail.value;
+ const data = {
+ multiArray: this.data.objectMultiArray
+ };
+ this.setData({
+ ['multiIndex[' + column + ']']: val
+ });
+ switch (column) {
+ case 0:
+ this.selecommodity_0(val);
+ break;
+ case 1:
+ this.selecommodity_1(this.data.multiIndex[0], val);
+ break;
+ case 2:
+ break;
+ }
+ this.setData(data);
+ },
+ goodsHandlefunction() {
+ let sectionOptions = this.data.sectionOptions;
+ let arr_1 = [];
+ let arr_2 = [];
+ let arr_3 = [];
+ for (let i = 0; i < sectionOptions.length; i++) {
+ arr_1.push({
+ id: sectionOptions[i].id,
+ name: sectionOptions[i].name
+
+ });
+ }
+ if (sectionOptions[0].children.length > 0) {
+ for (let k = 0; k < sectionOptions[0].children.length; k++) {
+ arr_2.push({
+ id: sectionOptions[0].children[k].id,
+ name: sectionOptions[0].children[k].name
+ });
+ }
+ }
+ if ((sectionOptions[0].children && sectionOptions[0].children.length > 0) && (sectionOptions[0].children[0].children &&
+ sectionOptions[0].children[0].children.length > 0)) {
+ for (let j = 0; j < sectionOptions[0].children[0].children.length; j++) {
+ arr_3.push({
+ id: sectionOptions[0].children[0].children[j].id,
+ name: sectionOptions[0].children[0].children[j].name
+ });
+ }
+ }
+ this.setData({
+ 'objectMultiArray[0]': arr_1,
+ 'objectMultiArray[1]': arr_2,
+ 'objectMultiArray[2]': arr_3
+ });
+ console.log(this.data.objectMultiArray);
+ },
+ selecommodity_0(index) {
+ let sectionOptions = this.data.sectionOptions;
+ let arr_2 = [];
+ let arr_3 = [];
+ if (sectionOptions[index].children.length > 0) {
+ for (let k = 0; k < sectionOptions[index].children.length; k++) {
+ arr_2.push({
+ id: sectionOptions[index].children[k].id,
+ name: sectionOptions[index].children[k].name
+ });
+ }
+ }
+ if ((sectionOptions[index].children && sectionOptions[index].children.length > 0) && (sectionOptions[index].children[0].children && sectionOptions[index].children[0].children.length > 0)) {
+ for (let j = 0; j < sectionOptions[index].children[0].children.length; j++) {
+ arr_3.push({
+ id: sectionOptions[index].children[0].children[j].id,
+ name: sectionOptions[index].children[0].children[j].name
+ });
+ }
+ }
+ this.setData({
+ 'objectMultiArray[1]': arr_2,
+ 'objectMultiArray[2]': arr_3,
+ 'multiIndex[1]': 0,
+ 'multiIndex[2]': 0
+ });
+ },
+ selecommodity_1(index_0, index_1) {
+ let sectionOptions = this.data.sectionOptions;
+ let arr_3 = [];
+ if ((sectionOptions[index_0].children && sectionOptions[index_0].children.length > 0) && (sectionOptions[index_0].children[index_1].children && sectionOptions[index_0].children[index_1].children.length > 0)) {
+ for (let j = 0; j < sectionOptions[index_0].children[index_1].children.length; j++) {
+ arr_3.push({
+ id: sectionOptions[index_0].children[index_1].children[j].id,
+ name: sectionOptions[index_0].children[index_1].children[j].name
+ });
+ }
+ }
+ this.setData({
+ 'objectMultiArray[2]': arr_3,
+ 'multiIndex[2]': 0
+ });
+ },
+ commodityconfirm(e) {
+ var i = e.detail.value[0];
+ if (this.data.list[i].childrens.length == 0) {
+ wx.showToast({
+ title: '至少要选择二级分类',
+ icon: 'none',
+ duration: 2000
+ });
+ return;
+ }
+ let sectionOptions = this.data.sectionOptions;
+ let indexArray = e.detail.value;
+ let index_0 = indexArray[0];
+ let index_1 = indexArray[1];
+ let index_2 = indexArray[2];
+ let idArray = [];
+ let strArray = [];
+ if (sectionOptions.length > 0) {
+ idArray.push(sectionOptions[index_0].id);
+ strArray.push(sectionOptions[index_0].name);
+ if (sectionOptions[index_0].children.length > 0) {
+ idArray.push(sectionOptions[index_0].children[index_1].id);
+ strArray.push(sectionOptions[index_0].children[index_1].name);
+ if (sectionOptions[index_0].children[index_1].children && sectionOptions[index_0].children[index_1].children.length >
+ 0) {
+ idArray.push(sectionOptions[index_0].children[index_1].children[index_2].id);
+ strArray.push(sectionOptions[index_0].children[index_1].children[index_2].name);
+ }
+ }
+ }
+ this.setData({
+ regional: strArray.join('/'),
+ selectedOptions3: idArray
+ });
+ },
+ // 选择图片
+ onRead() {
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ imageUrl: photourl,
+ 'cargon_data.thumb': res.data.img
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ fail(e) { },
+ complete(e) { }
+ });
+ }
+ });
+ },
+ // 选择图片
+ onRead_1() {
+ // if (this.data.upNumMax == 4 || this.data.upNumMax >= 4) {
+ // wx.showToast({
+ // icon: 'none',
+ // title: '图片数量已达到上限',
+ // duration: 1500
+ // })
+ // return false
+ // }
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ formData: {
+ attach: 'upload'
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ let fileList1 = that.data.fileList1;
+ let fileList2 = that.data.fileList2;
+ fileList1.push({
+ url: res.data.img
+ });
+ fileList2.push({
+ url: photourl
+ });
+ that.setData({
+ upNumMax: that.data.upNumMax + 1,
+ fileList1: fileList1,
+ fileList2: fileList2
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ fail(e) { },
+ complete(e) { }
+ });
+ }
+ });
+ },
+ removeImg: function (e) {
+ let index = e.currentTarget.dataset.index;
+ let fileList1 = this.data.fileList1;
+ let fileList2 = this.data.fileList2;
+ fileList1.splice(index, 1);
+ fileList2.splice(index, 1);
+ this.setData({
+ fileList1: fileList1,
+ fileList2: fileList2
+ });
+ this.setData({
+ upNumMax: this.data.fileList1.length
+ });
+ },
+ // 选择图片
+ onRead_2() {
+ // if (this.data.upNumMaxOther == 4 || this.data.upNumMaxOther >= 4) {
+ // wx.showToast({
+ // icon: 'none',
+ // title: '图片数量已达到上限',
+ // duration: 1500
+ // })
+ // return false
+ // }
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ formData: {
+ attach: 'upload'
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+
+ if (res.result == 1) {
+ let fileList3 = that.data.fileList3;
+
+ let fileList4 = that.data.fileList4;
+ fileList3.push({
+ url: res.data.img_url
+ });
+ fileList4.push({
+ url: photourl
+ });
+ that.setData({
+ upNumMaxOther: that.data.upNumMaxOther + 1,
+ fileList3: fileList3,
+ fileList4: fileList4
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ fail(e) { },
+ complete(e) { }
+ });
+ }
+ });
+ },
+ removeImg_1: function (e) {
+ let index = e.currentTarget.dataset.index;
+ let fileList3 = this.data.fileList3;
+ // let fileList4 = this.data.fileList4
+ let infoArr = this.data.infoArr;
+ // infoArr.splice(index, 1)
+
+ fileList3.splice(index, 1);
+ // fileList4.splice(index, 1)
+ this.setData({
+ fileList3: fileList3,
+ // fileList4: fileList4,
+ infoArr
+ });
+ this.setData({
+ upNumMaxOther: this.data.fileList3.length
+ });
+ },
+ // 商品名称值绑定
+ titleinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'cargon_data.title': val
+ });
+ },
+ // 商品单位值绑定
+ skuinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'cargon_data.sku': val
+ });
+ },
+ // 商品现价值绑定
+ priceinp(e) {
+ let val = e.detail.value;
+ if(val.indexOf(".")!==-1){
+ let index = val.indexOf(".");
+ val = val.replace(/[^\d]/g,"");
+ let newStr = val.slice(0,index) + '.' + val.slice(index);
+ this.setData({
+ 'cargon_data.price': newStr
+ });
+ }else{
+ this.setData({
+ 'cargon_data.price': val
+ });
+ }
+
+ },
+ // 商品原价值绑定
+ marketpriceinp(e) {
+ let val = e.detail.value;
+ if(val.indexOf(".")!==-1){
+ let index = val.indexOf(".");
+ val = val.replace(/[^\d]/g,"");
+ let newStr = val.slice(0,index) + '.' + val.slice(index);
+ this.setData({
+ 'cargon_data.market_price': newStr
+ });
+ }else{
+ this.setData({
+ 'cargon_data.market_price': val
+ });
+ }
+ },
+ // 商品成本值绑定
+ costPriceinp(e) {
+ let val = e.detail.value;
+ if(val.indexOf(".")!==-1){
+ let index = val.indexOf(".");
+ val = val.replace(/[^\d]/g,"");
+ let newStr = val.slice(0,index) + '.' + val.slice(index);
+ this.setData({
+ 'cargon_data.cost_price': newStr
+ });
+ }else{
+ this.setData({
+ 'cargon_data.cost_price': val
+ });
+ }
+
+ },
+ // 商品库存值绑定
+ stockinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'cargon_data.stock': val
+ });
+ },
+ // 搞数据
+ setJson() {
+ var that = this;
+ var newArr = [];
+
+ if (that.data.fileList1.length != 0) {
+ for (let i = 0; i < that.data.fileList1.length; i++) {
+ newArr.push(that.data.fileList1[i].url);
+ }
+ } else {
+ newArr = [];
+ }
+ var newArr2 = [];
+ if (that.data.fileList3.length != 0) {
+ for (let i = 0; i < that.data.fileList3.length; i++) {
+ newArr2.push(that.data.fileList3[i].url);
+ }
+ } else {
+ newArr2 = [];
+ }
+ let json = {};
+ if (!this.data.isType) {
+ if (app._isTextEmpty(this.data.infoArr)) {
+ this.setData({
+ infoArr: []
+ });
+ }
+ console.log(this.data.infoArr, this.data.fileList3, '两个链接的数组');
+ let newInfo = this.data.infoArr.concat(this.data.fileList3);
+ newArr2 = [];
+ if (newInfo.length != 0) {
+ for (let i = 0; i < newInfo.length; i++) {
+ if (newInfo[i].url.indexOf('wxfile') == '-1') {
+ newArr2.push(newInfo[i].url);
+ }
+ }
+ } else {
+ newArr2 = [];
+ }
+ }
+
+ if (this.data.store == 'store') {
+ json = {
+ store_id: this.data.store_id,
+ category_pid: this.data.selectedOptions3[0],
+ category_cid: this.data.selectedOptions3[1],
+ title: this.data.cargon_data.title,
+ thumb: this.data.cargon_data.thumb,
+ thumb_url: newArr2,
+ good_content: newArr,
+ cost_price: this.data.cargon_data.cost_price,
+ market_price: this.data.cargon_data.market_price,
+ price: this.data.cargon_data.price,
+ sku: this.data.cargon_data.sku,
+ stock: this.data.cargon_data.stock
+ };
+
+ if (!this.data.isType) {
+ json = {
+ store_id: this.data.store_id,
+ goods_id: this.data.goods_id,
+ category_pid: this.data.selectedOptions3[0],
+ category_cid: this.data.selectedOptions3[1],
+ title: this.data.cargon_data.title,
+ thumb: this.data.cargon_data.thumb,
+ thumb_url: newArr2,
+ // good_content: newArr,
+ cost_price: this.data.cargon_data.cost_price,
+ market_price: this.data.cargon_data.market_price,
+ price: this.data.cargon_data.price,
+ sku: this.data.cargon_data.sku,
+ stock: this.data.cargon_data.stock
+ };
+ }
+ } else if (this.data.store == 'supplier') {
+ json = {
+ title: this.data.cargon_data.title,
+ thumb: this.data.cargon_data.thumb,
+ thumb_url: newArr2,
+ good_content: newArr,
+ cost_price: this.data.cargon_data.cost_price,
+ market_price: this.data.cargon_data.market_price,
+ price: this.data.cargon_data.price,
+ sku: this.data.cargon_data.sku,
+ stock: this.data.cargon_data.stock,
+ content_text: this.data.shopText
+ };
+ if (!this.data.isType) {
+ json = {
+ title: this.data.cargon_data.title,
+ thumb: this.data.cargon_data.thumb,
+ thumb_url: newArr2,
+ cost_price: this.data.cargon_data.cost_price,
+ market_price: this.data.cargon_data.market_price,
+ price: this.data.cargon_data.price,
+ sku: this.data.cargon_data.sku,
+ stock: this.data.cargon_data.stock
+ };
+ }
+ if (this.data.selectedOptions3.length < 3) {
+ json.category_pid = this.data.selectedOptions3[0];
+ json.category_cid = this.data.selectedOptions3[1];
+ } else {
+ json.category_pid = this.data.selectedOptions3[0];
+ json.category_cid = this.data.selectedOptions3[1];
+ json.category_tid = this.data.selectedOptions3[2];
+ }
+ }
+ this.triggerEvent('getChildoneData', json, { bubbles: false });
+ },
+ // 跳转测试
+ jumpEvent() {
+ this.setData({
+ jumpState: true
+ });
+ for (let item in this.data.cargon_data) {
+ if (this.data.cargon_data[item] == '') {
+ this.setData({
+ jumpState: false
+ });
+ }
+ }
+ if (this.data.selectedOptions3.length == 0) {
+ this.setData({
+ jumpState: false
+ });
+ }
+ if (this.data.imageUrl == '') {
+ this.setData({
+ jumpState: false
+ });
+ }
+ },
+ // 获取数据
+ getGoodsJson() {
+ let that = this;
+ var urlStr = '';
+ var json = {};
+ if (that.data.store == 'store') {
+ urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.get-goods-detail');
+ json = {
+ goods_id: that.data.goods_id
+ };
+ } else if (that.data.store == 'supplier') {
+ urlStr = app.getNetAddresss('plugin.supplier.frontend.goods.goods-detail');
+ json = {
+ goods_id: that.data.goods_id
+ };
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let selectedOptions3 = that.data.selectedOptions3;
+ if (res.data.category_ids.parentid) {
+ selectedOptions3.push(Number(res.data.category_ids.parentid));
+ }
+ if (res.data.category_ids.childid) {
+ selectedOptions3.push(Number(res.data.category_ids.childid));
+ }
+ if (res.data.category_ids.thirdid) {
+ selectedOptions3.push(Number(res.data.category_ids.thirdid));
+ }
+ that.setData({
+ selectedOptions3: selectedOptions3
+ });
+
+ if (
+ res.data.thumb_url != null &&
+ res.data.thumb_url != ''
+ ) {
+ // let fileList1 = that.data.fileList1
+ // let fileList2 = that.data.fileList2
+
+ // for (var i = 0; i < res.data.thumb_url.length; i++) {
+ // fileList1.push({
+ // url: res.data.thumb_url[i]
+ // })
+ // fileList2.push({
+ // url: res.data.thumb
+ // })
+ // }
+ // that.setData({
+ // fileList4: fileList1,
+ // infoArr: fileList1,
+ // fileList2: fileList2,
+ // upNumMax: res.data.thumb_url.length
+ // })
+ let fileList3 = that.data.fileList3;
+ for (var i = 0; i < res.data.thumb_url.length; i++) {
+ fileList3.push({
+ url: res.data.thumb_url[i]
+ });
+ }
+ console.log(that.data);
+ console.log(fileList3);
+ that.setData({
+ fileList3: fileList3,
+ infoArr: [],
+ // fileList4: fileList3,
+ upNumMax: res.data.thumb_url.length
+ });
+ }
+ that.setData({
+ 'cargon_data.title': res.data.title,
+ 'cargon_data.sku': res.data.sku,
+ 'imageUrl': res.data.thumb,
+ 'cargon_data.thumb': res.data.thumb,
+ 'cargon_data.price': res.data.price,
+ 'cargon_data.market_price': res.data.market_price,
+ 'cargon_data.cost_price': res.data.cost_price,
+ 'cargon_data.stock': res.data.stock,
+ 'cargon_data.thumb_url': res.data.thumb_url
+ });
+ // 初始化分类选择
+ that.commodityInit();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) { }
+ });
+ },
+ commodityInit() {
+ let selectedOptions3 = this.data.selectedOptions3;
+ let sectionOptions = this.data.sectionOptions;
+ let arr_2 = [];
+ let arr_3 = [];
+ let str = '';
+ for (let i = 0; i < sectionOptions.length; i++) {
+ if (sectionOptions[i].id == selectedOptions3[0]) {
+ this.setData({
+ 'multiIndex[0]': i
+ });
+ str += sectionOptions[i].name;
+ break;
+ }
+ }
+ console.log(this.data.multiIndex, '分类的数组');
+ console.log(sectionOptions, '选中的项');
+
+ if (sectionOptions[this.data.multiIndex[0]].children.length > 0) {
+ for (let k = 0; k < sectionOptions[this.data.multiIndex[0]].children.length; k++) {
+ arr_2.push({
+ id: sectionOptions[this.data.multiIndex[0]].children[k].id,
+ name: sectionOptions[this.data.multiIndex[0]].children[k].name
+ });
+ }
+ }
+ this.setData({
+ 'objectMultiArray[1]': arr_2
+ });
+ if (sectionOptions[this.data.multiIndex[0]].children.length > 0) {
+ for (let k = 0; k < sectionOptions[this.data.multiIndex[0]].children.length; k++) {
+ if (sectionOptions[this.data.multiIndex[0]].children[k].id == selectedOptions3[1]) {
+ this.setData({
+ 'multiIndex[1]': k
+ });
+ str += '/' + sectionOptions[this.data.multiIndex[0]].children[k].name;
+ break;
+ }
+ }
+ }
+ if ((sectionOptions[this.data.multiIndex[0]].children && sectionOptions[this.data.multiIndex[0]].children.length >
+ 0) && (sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children && sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children.length > 0)) {
+ for (let j = 0; j < sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children.length; j++) {
+ arr_3.push({
+ id: sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children[j].id,
+ name: sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children[j].name
+ });
+ }
+ }
+ this.setData({
+ 'objectMultiArray[2]': arr_3
+ });
+ if ((sectionOptions[this.data.multiIndex[0]].children && sectionOptions[this.data.multiIndex[0]].children.length >
+ 0) && (sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children && sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children.length > 0)) {
+ for (let j = 0; j < sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children.length; j++) {
+ if (sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children[j].id == selectedOptions3[2]) {
+ this.setData({
+ 'multiIndex[1]': j
+ });
+ str += '/' + sectionOptions[this.data.multiIndex[0]].children[this.data.multiIndex[1]].children[j].name;
+ break;
+ }
+ }
+ }
+ this.setData({
+ regional: str
+ });
+ }
+ }
+});
diff --git a/packageA/mycomponent/basicInformation/basicInformation.json b/packageA/mycomponent/basicInformation/basicInformation.json
new file mode 100644
index 0000000..06b5637
--- /dev/null
+++ b/packageA/mycomponent/basicInformation/basicInformation.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../../../dist/field/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/basicInformation/basicInformation.wxml b/packageA/mycomponent/basicInformation/basicInformation.wxml
new file mode 100644
index 0000000..cff26eb
--- /dev/null
+++ b/packageA/mycomponent/basicInformation/basicInformation.wxml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+ 商品分类:
+
+
+
+ {{regional}}
+
+
+
+
+
+
+ 商品图片:
+
+
+
+
+
+
+
+
+
+ 商品详情:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 其他图片(非必填):
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/basicInformation/basicInformation.wxss b/packageA/mycomponent/basicInformation/basicInformation.wxss
new file mode 100644
index 0000000..1742c6e
--- /dev/null
+++ b/packageA/mycomponent/basicInformation/basicInformation.wxss
@@ -0,0 +1,145 @@
+/* pages/member/CommodityRelease/CommodityRelease.wxss */
+.goods-release {
+ background: #fff;
+}
+
+.goods-release {
+ padding-bottom: 160rpx;
+}
+
+.goods-release .commodity {
+ display: flex;
+ align-items: center;
+ font-size: 28rpx;
+ padding-left: 30rpx;
+ margin: 20rpx 0;
+}
+
+.goods-release .commodity .button {
+ max-width: 480rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ border-radius: 10rpx;
+ color: rgb(31, 45, 61);
+ border: 2rpx solid rgb(191, 203, 217);
+ min-width: 160rpx;
+ margin-left: 30rpx;
+ text-align: center;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+}
+
+.goods-release .edit-b {
+ display: flex;
+ align-items: center;
+ font-size: 28rpx;
+ padding-left: 30rpx;
+}
+
+.goods-release .edit-b .photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ margin-left: 30rpx;
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.goods-release .edit-b .photoshow image {
+ width: 100%;
+}
+
+.goods-release .otherphoto {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.goods-release .otherphoto .top {
+ font-size: 28rpx;
+ height: 100rpx;
+ text-align: left;
+ padding-left: 26rpx;
+ line-height: 100rpx;
+}
+
+.goods-release .otherphoto .imgflex {
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.goods-release .otherphoto .imgflex .photobox {
+ width: 190rpx;
+ height: 190rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+}
+
+.goods-release .otherphoto .imgflex .photobox image {
+ width: 100%;
+}
+
+.goods-release .otherphoto .imgflex .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.goods-release .otherphoto .imgflex .photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+}
+
+.goods-release .otherphoto .imgflex .photoshow image {
+ width: 100%;
+}
+
+.goods-release .btn {
+ background-color: #fff;
+ width: 100%;
+ position: fixed;
+ bottom: 0;
+ z-index: 100;
+ border-top: solid 2rpx #ebebeb;
+ padding: 0 28rpx;
+ margin-top: 40rpx;
+ box-sizing: border-box;
+}
+
+.goods-release .btn .button {
+ height: 80rpx;
+ line-height: 80rpx;
+ border-radius: 6rpx;
+ margin: 12rpx 0;
+ width: 100%;
+ color: #fff;
+ font-size: 32rpx;
+ background-color: #f15353;
+ text-align: center;
+}
+
+.areaConten {
+ margin: 0 26rpx;
+}
+
+.areaConten textarea {
+ width: 100%;
+ height: 120rpx;
+ border-bottom: 1rpx solid #ebebeb;
+ margin-bottom: 30rpx;
+}
diff --git a/packageA/mycomponent/count/count.js b/packageA/mycomponent/count/count.js
new file mode 100644
index 0000000..41abe26
--- /dev/null
+++ b/packageA/mycomponent/count/count.js
@@ -0,0 +1,166 @@
+var app = getApp();
+
+Component({
+ // 目前组件,只接受时间戳,其他的没有做
+ // 现在的时间,和结束时间,都必须从后台获取,因为客户端时间不一致
+ properties: {
+ nowTime: {
+ type: Number
+ },
+ overTime: {
+ type: Number
+ },
+ getTime: {
+ type: Number
+ }
+ },
+ data: {
+ time: null,
+ timer: null,
+ content: '',
+ flag: true,
+ text: ['天', '时', '分', '秒'],
+ newtime: null,
+ timers: null,
+ newcontent: '',
+ newflag: true
+ },
+ ready() {
+ if (!app._isTextEmpty(this.properties.getTime)) {
+ this.timer();
+ this.setData({
+ flag: false
+ });
+ } else {
+ this.setData({
+ newflag: false
+ });
+ this.time();
+ }
+ },
+ detached() {
+ // 页面被被销毁的时候,清除定时器
+ clearInterval(this.data.timer);
+ },
+ methods: {
+ time() {
+ this.data.timer = setInterval(() => {
+ this.countDown();
+ let time = this.data.time;
+ time = time - 1;
+ this.setData({
+ time: time
+ });
+ }, 1000);
+ },
+ countDown() {
+ // 解构赋值
+ let {
+ overTime,
+ nowTime,
+ timer
+ } = this.data;
+ let time;
+
+ if (overTime < nowTime) {
+ clearInterval(timer);
+ this.setData({
+ flag: false
+ });
+ return true;
+ } else {
+ // 只有在第一次赋值
+ if (!this.data.time) {
+ let temporary = overTime - nowTime;
+ this.setData({
+ time: temporary
+ });
+ }
+ time = this.data.time;
+ if (time === 0) {
+ clearInterval(timer);
+ this.setData({
+ flag: false
+ });
+ return true;
+ }
+ let day, hour, minute, second, content = '';
+ // 计算、天、时、分、秒
+ day = Math.floor(time / (60 * 60 * 24));
+ hour = Math.floor((time % (60 * 60 * 24)) / (60 * 60));
+ minute = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) / 60);
+ second = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) % 60);
+ let array = [day, hour, minute, second];
+ // 处理数据,如果、天、时、分、秒小于10,则拼接成09这种形式
+ let timeList = array.map((item, index) => item < 10 ? `0${item}` : item);
+ // 输出,进行字符拼接
+ timeList.forEach((item, index) => {
+ content += `${item}${this.data.text[index]}`;
+ });
+ this.setData({
+ content: content
+ });
+ }
+ },
+ timer() {
+ this.setData({
+ timers: setInterval(() => {
+ this.countStartDown();
+ let time = this.data.newtime;
+ time = time - 1;
+ this.setData({
+ newtime: time
+ });
+ }, 1000)
+ });
+ },
+ countStartDown() {
+ // 解构赋值
+ let {
+ getTime,
+ nowTime,
+ timers
+ } = this.data;
+ let time;
+ if (getTime < nowTime) {
+ clearInterval(timers);
+ this.setData({
+ newflag: false
+ });
+ return true;
+ } else {
+ // 只有在第一次赋值
+ if (!this.data.newtime) {
+ let temporary = getTime - nowTime;
+ this.setData({
+ newtime: temporary
+ });
+ }
+ time = this.data.newtime;
+ if (time === 0) {
+ clearInterval(timers);
+ this.setData({
+ newflag: false
+ });
+ return true;
+ }
+ let day, hour, minute, second, content = '';
+ // 计算、天、时、分、秒
+ day = Math.floor(time / (60 * 60 * 24));
+ hour = Math.floor((time % (60 * 60 * 24)) / (60 * 60));
+ minute = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) / 60);
+ second = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) % 60);
+ let array = [day, hour, minute, second];
+ // 处理数据,如果、天、时、分、秒小于10,则拼接成09这种形式
+ let timeList = array.map((item, index) => item < 10 ? `0${item}` : item);
+ // 输出,进行字符拼接
+ timeList.forEach((item, index) => {
+ content += `${item}${this.data.text[index]}`;
+ });
+ this.setData({
+ newcontent: content
+ });
+ }
+ }
+ }
+});
diff --git a/packageA/mycomponent/count/count.json b/packageA/mycomponent/count/count.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageA/mycomponent/count/count.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/count/count.wxml b/packageA/mycomponent/count/count.wxml
new file mode 100644
index 0000000..c25b6df
--- /dev/null
+++ b/packageA/mycomponent/count/count.wxml
@@ -0,0 +1,2 @@
+{{content}}
+{{newcontent}}
\ No newline at end of file
diff --git a/packageA/mycomponent/count/count.wxss b/packageA/mycomponent/count/count.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/packageA/mycomponent/coupon_item/coupon_item.js b/packageA/mycomponent/coupon_item/coupon_item.js
new file mode 100644
index 0000000..6ace66b
--- /dev/null
+++ b/packageA/mycomponent/coupon_item/coupon_item.js
@@ -0,0 +1,90 @@
+// packageA/mycomponent/coupon_item/coupon_item.js
+// var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ item: {
+ type: Object,
+ value: {}
+ },
+ bottomIndex: {
+ type: Number,
+ value: 0
+ },
+ ind: {
+ type: null
+ },
+ inds: {
+ type: null
+ },
+ combine:{
+ type:null,
+ }
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ colors: ['#fbbd5c', '#ff8383', '#a291ff', '#f095ed', '#6dccf8', '#fb946c', '#cecece'],
+ },
+ lifetimes: {
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ tapGo(e){
+ // let info = JSON.stringify(e.currentTarget.dataset.info);
+ let info = e.currentTarget.dataset.info;
+ // let mun;
+ console.log();
+ if(info.num){
+ console.log(info);
+ wx.navigateTo({
+ url: '/packageA/member/coupon_v2_detail/coupon_v2_detail?info='+JSON.stringify(info)+'&combine='+this.data.combine,
+ });
+ }else{
+ info.num = '1';
+ wx.navigateTo({
+ url: '/packageA/member/coupon_v2_detail/coupon_v2_detail?info='+JSON.stringify(info)+'&combine='+this.data.combine,
+ });
+ }
+
+ },
+ setBottonIndex(e){
+ let tapind = e.currentTarget.dataset.index;
+ this.triggerEvent('showButton',tapind);
+ },
+ goBuyOnce(e){
+ console.log(e);
+ let info ={};
+ info.item = e.currentTarget.dataset.item;
+ info.ind = e.currentTarget.dataset.ind;
+
+ this.triggerEvent('goBuyOnce',info);
+ },
+ presenterOnce(e){
+ let info ={};
+ info.item = e.currentTarget.dataset.item;
+ info.ind = e.currentTarget.dataset.ind;
+
+ this.triggerEvent('presenterOnce',info);
+ },
+ delteteItem(e){
+ console.log(e);
+ let item = e.currentTarget.dataset.item;
+ let ind = e.currentTarget.dataset.ind;
+ this.triggerEvent('delteteItem',{item,ind});
+ }
+ },
+
+
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/coupon_item/coupon_item.json b/packageA/mycomponent/coupon_item/coupon_item.json
new file mode 100644
index 0000000..dd99c31
--- /dev/null
+++ b/packageA/mycomponent/coupon_item/coupon_item.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-swipe-cell": "../../../dist/swipe-cell/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-dialog": "../../../dist/dialog/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/coupon_item/coupon_item.wxml b/packageA/mycomponent/coupon_item/coupon_item.wxml
new file mode 100644
index 0000000..86720c5
--- /dev/null
+++ b/packageA/mycomponent/coupon_item/coupon_item.wxml
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{item.belongs_to_coupon.discount}}折
+ 满{{item.belongs_to_coupon.enough}}可用
+
+
+ {{language['money']}}{{item.belongs_to_coupon.deduct}}
+ 满{{item.belongs_to_coupon.enough}}立减
+
+
+
+
+ 快过期
+
+ {{item.belongs_to_coupon.coupon_type_name}}
+ {{item.num}}张
+
+
+ {{item.belongs_to_coupon.name}}
+
+ 有效期:{{item.time_start}}-{{item.time_end}}
+
+
+ {{item.api_limit}}
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+ {{item.belongs_to_coupon.discount}}折
+ 满{{item.belongs_to_coupon.enough}}可用
+
+
+ {{language['money']}}{{item.belongs_to_coupon.deduct}}
+ 满{{item.belongs_to_coupon.enough}}立减
+
+
+
+
+ 已过期
+
+ {{item.belongs_to_coupon.coupon_type_name}}
+
+
+
+ {{item.belongs_to_coupon.name}}
+
+ 有效期:{{item.time_start}}-{{item.time_end}}
+
+
+ {{item.api_limit}}
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+ {{item.belongs_to_coupon.discount}}折
+ 满{{item.belongs_to_coupon.enough}}可用
+
+
+ {{language['money']}}{{item.belongs_to_coupon.deduct}}
+ 满{{item.belongs_to_coupon.enough}}立减
+
+
+
+
+ 已使用
+
+ {{item.belongs_to_coupon.coupon_type_name}}
+
+
+ {{item.belongs_to_coupon.name}}
+
+ 有效期:{{item.time_start}}-{{item.time_end}}
+
+
+ {{item.api_limit}}
+
+ 删除
+
+
+
+
+ 提示
+
+ 请输入用户ID
+
+ 昵称:{{memberInfo}}
+
+
+
diff --git a/packageA/mycomponent/coupon_item/coupon_item.wxss b/packageA/mycomponent/coupon_item/coupon_item.wxss
new file mode 100644
index 0000000..d58c2ba
--- /dev/null
+++ b/packageA/mycomponent/coupon_item/coupon_item.wxss
@@ -0,0 +1,289 @@
+/* packageA/mycomponent/coupon_item/coupon_item.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+view,
+text,
+icon {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+}
+
+.coupon_voucher {
+ width: 704rpx;
+ margin: 0 auto;
+ margin-bottom: 40rpx;
+ margin-top: 24rpx;
+ display: flex;
+ flex-direction: column;
+ filter: drop-shadow(0rpx 5rpx 18rpx rgba(81, 81, 81, 0.52));
+ transform: translateX(0rpx);
+}
+
+.coupon_voucher .coupon_voucher_wrapper {
+ display: flex;
+}
+
+.coupon_voucher .coupon_voucher_left {
+ width: 245rpx;
+ height: 215rpx;
+ margin-left: 20rpx;
+ position: relative;
+}
+
+.coupon_voucher .coupon_voucher_left .bg_icon {
+ width: 265rpx;
+ height: 215rpx;
+ position: absolute;
+ top: 0;
+ left: -20rpx;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 245rpx;
+ height: 215rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding-top: 15rpx;
+ justify-content: center;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper .discount {
+ letter-spacing: 1rpx;
+ color: #fff;
+ font-size: 52rpx;
+ padding: 0 10rpx;
+ border-bottom: 2rpx dashed #f5f5f5;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper .discount_none {
+ letter-spacing: 1rpx;
+ color: #fff;
+ font-size: 39rpx;
+ padding: 0 10rpx;
+ border-bottom: 2rpx dashed #f5f5f5;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper .limit {
+ letter-spacing: 1rpx;
+ color: #fff;
+ font-size: 22rpx;
+ margin-top: 5rpx;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper .btn {
+ width: 148rpx;
+ height: 42rpx;
+ background-color: #fff;
+ border-radius: 14rpx;
+ letter-spacing: 3rpx;
+ color: #fba560;
+ font-size: 25rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-top: 15rpx;
+}
+
+.coupon_voucher .coupon_voucher_right {
+ width: 446rpx;
+ height: 215rpx;
+ padding: 18rpx 18rpx 22rpx 22rpx;
+ position: relative;
+ overflow: hidden;
+ background-color: #fff;
+}
+
+.coupon_voucher .coupon_voucher_right .status {
+ background-color: rgb(66, 163, 84);
+ font-style: normal;
+ position: absolute;
+ top: 18rpx;
+ right: -28rpx;
+ width: 120rpx;
+ display: block;
+ height: 32rpx;
+ font-size: 20rpx;
+ text-align: center;
+ color: #fff;
+ transform: rotate(45deg);
+}
+
+.coupon_voucher .coupon_voucher_right .status.black {
+ color: #fff;
+ height: 42rpx;
+ line-height: 42rpx;
+ font-size: 24rpx;
+ width: 150rpx;
+ right: -35rpx;
+ background-color: rgb(206, 206, 206);
+}
+
+.coupon_voucher .coupon_voucher_right .c1 {
+ display: flex;
+ align-items: center;
+}
+
+.coupon_voucher .coupon_voucher_right .c1 .label {
+ background-color: #fbbd5c;
+ border-radius: 7rpx;
+ color: #fff;
+ font-size: 26rpx;
+ padding: 7rpx 18rpx 7rpx 14rpx;
+}
+
+.coupon_voucher .coupon_voucher_right .c1 .title {
+ height: 40rpx;
+ border-radius: 7rpx;
+ border: solid 2rpx #ff5d5d;
+ padding: 0 10rpx;
+ margin-left: 20rpx;
+ color: #ff5d5d;
+ font-size: 26rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.coupon_voucher .coupon_voucher_right .c2 {
+ margin-top: 21rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-end;
+ font-size: 28rpx;
+ letter-spacing: 1rpx;
+ font-weight: 600;
+
+ /* overflow: hidden;
+ text-overflow:ellipsis;
+ white-space: nowrap; */
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+.coupon_voucher_right .time {
+ font-size: 19rpx;
+ color: #9c9c9c;
+}
+
+/* .coupon_voucher
+.coupon_voucher .coupon_voucher_right .c2 .btn {
+ width: 106rpx;
+ height: 38rpx;
+ background-color: #ffffff;
+ border-radius: 14rpx;
+ border: solid 1rpx #ff8383;
+ font-size: 25rpx;
+ letter-spacing: 4rpx;
+ color: #ff8383;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+} */
+
+.coupon_voucher .coupon_voucher_right .hr {
+ margin-top: 18rpx;
+ width: 408rpx;
+ height: 0rpx;
+ border-bottom: dashed 3rpx #9c9c9c;
+}
+
+.coupon_voucher .coupon_voucher_right .c3 {
+ margin-top: 15rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.coupon_voucher .coupon_voucher_right .c3 .text {
+ font-size: 24rpx;
+ letter-spacing: 5rpx;
+ color: #9c9c9c;
+}
+
+.coupon_voucher .coupon_voucher_right .c3 .downIcon {
+ width: 30rpx;
+ height: 30rpx;
+ background-color: #9c9c9c;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ transition: 0.5s;
+ transform-origin: center;
+}
+
+.coupon_voucher .coupon_voucher_right .c3 .downIcon.open {
+ transform: rotate(180deg);
+}
+
+.coupon_voucher .coupon_voucher_right .c3 .downIcon .iconfont {
+ display: flex;
+ font-size: 24rpx;
+ color: #fff;
+ align-items: center;
+ justify-content: center;
+ transform: translateX(1.4rpx) translateY(3.6rpx);
+}
+
+.coupon_voucher_btm {
+ margin-left: 20rpx;
+ display: block;
+ position: relative;
+ box-sizing: border-box;
+ padding: 16rpx 20rpx;
+ background-color: #fff;
+ border-bottom-left-radius: 6rpx;
+ border-bottom-right-radius: 6rpx;
+}
+
+.van-swipe-cell__right {
+ width: 65px;
+ height: 100%;
+ font-size: 15px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ background-color: #ee0a24;
+}
+
+.usercontent {
+ display: flex;
+
+ /* align-items: center; */
+ padding: 10rpx 6rpx 10rpx 6rpx;
+ flex-direction: column;
+}
+
+.usercontent .left {
+ font-size: 28rpx;
+ text-align: center;
+ height: 40rpx;
+ line-height: 40rpx;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+ color: #999;
+}
+
+.usercontent .right {
+ /* flex: 1; */
+
+ /* margin-left: 10rpx; */
+ margin: 30rpx 40rpx;
+ border: 1rpx solid #999;
+ border-radius: 10rpx;
+ padding: 10rpx;
+}
+
+.usercontent .right input {
+ width: 100%;
+ height: 40rpx;
+ line-height: 40rpx;
+}
diff --git a/packageA/mycomponent/course_goods/course_goods.js b/packageA/mycomponent/course_goods/course_goods.js
new file mode 100644
index 0000000..39a7682
--- /dev/null
+++ b/packageA/mycomponent/course_goods/course_goods.js
@@ -0,0 +1,1052 @@
+// pages/member/course/CourseDetail/CourseDetail.js
+import Dialog from "../../../dist/dialog/dialog";
+import polyvLive from "../../../utils/polyvlive.js";
+var CryptoJS = require("../../../utils/CryptoJS.js");
+var yz_pay = require('../../../mycomponent/yz_pay/yz_pay');
+var app = getApp();
+Component({
+ behaviors: [yz_pay],
+ properties: {
+ // 属性值可以在组件使用时指定
+ prop_goods_info: {
+ type: Object, //父组件的商品详情数据
+ value: {},
+ },
+ goodsId: {
+ type: Number,
+ },
+ goodsType: {
+ type: String,
+ },
+ mark: {
+ type: String,
+ },
+ mark_id: {
+ type: String,
+ },
+ ipnonexbol: {
+ type: null,
+ },
+ is_open: {
+ type: null,
+ },
+ },
+ observers: {
+ is_open: function (num) {
+ this.setData({
+ questionnaire_is_open: num == "close" ? false : "",
+ });
+ },
+ },
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ is_try_time: null,
+ is_questionnaire_time: null,
+ // 问卷调查
+ questionnaire_is_open: false,
+ language: "",
+ goods_id: "",
+ is_show: true,
+ is_vshow: false,
+ isVideo: true,
+ isLook: true,
+ is_update: false,
+ is_buy: false,
+ showPopup: false,
+ rewardMoneyBtn: false,
+ actionSheetShow: false,
+ rewardBtnShow: false,
+ // 打赏金额
+ rewardMoney: "",
+ goodTit: "",
+ goodPrice: "",
+ chapterNum: "",
+ teacherImg: "",
+ teacherName: "",
+ goodsContent: "",
+ chapterList: [],
+ article_content: "",
+ courseShare: {},
+ courseData: {},
+ codeUrl: "",
+ vedioSrc: "",
+ coverImg: "",
+ active: "",
+ // 章节id
+ chapter_id: "",
+ // 课程id
+ courseId: "",
+ pushGoodList: [],
+ // pushGoodList: [{
+ // "id": 93,
+ // "goods_id": 206,
+ // "lecturer_id": 3,
+ // "title": "3333",
+ // "thumb": "https://dev5.yunzshop.com/attachment/images/2/2018/08/L8Ia553RrZH83rEiLocYIY3L9o5885.jpg",
+ // "price": "100.00",
+ // "has_one_lecturer": {
+ // "id": 3,
+ // "real_name": "\u6d4b\u8bd5",
+ // "mobile": "13800138000"
+ // },
+ // "course_chapter_num": 1
+ // }],
+ actionSheetItems: [],
+ isLoding: false,
+ activeNames: ["1"],
+ //章节列表
+ chapterdigList: [],
+ // 价格权限
+ vip_level_status: {},
+ islive: false,
+ video_err: false,
+ is_playLive: false,
+ live: false,
+ videoErr: true,
+ // islive:false,
+ ios_virtual_pay: false,
+
+ point_goods: "",
+ integral: "积分",
+ show1: false,
+
+ posterShow: false,
+ styleSetOptions: {}, //后台基础设置-样式设置
+ countDownTime: null,
+ timeData: {},
+ iscCountDownFinish: false, //课程有效期是否到了
+ HasBuyPermissions: false //是否有购买权限,true则不可以下单
+ },
+
+ lifetimes: {
+ attached(e) {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en
+ });
+ // 在组件实例进入页面节点树时执行
+ this.setData({
+ goods_id: this.data.goodsId,
+ });
+ // this.getQrCode()
+ this._getData();
+ this.footSet();
+ try {
+ var value = wx.getStorageSync("ios_virtual_pay");
+ if (value) {
+ this.setData({
+ ios_virtual_pay: value,
+ });
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ try {
+ let name = wx.getStorageSync("yz_basic_info");
+ this.setData({
+ shopName: name.home.mailInfo.name,
+ });
+ } catch (err) {
+ console.log(err);
+ }
+
+ if (this.data.prop_goods_info.plugin && this.data.prop_goods_info.plugin.point_goods) {
+ this.setData({
+ point_goods: this.data.prop_goods_info.plugin.point_goods,
+ });
+ }
+ // console.log(this.data.point_goods, "point_goods");
+ wx.setStorageSync("GoddsShareImg", this.data.prop_goods_info.get_goods.thumb);
+ const integral = wx.getStorageSync("integral");
+ if (integral) {
+ this.setData({
+ integral: integral,
+ });
+ }
+ },
+ detached() {
+ this.data.is_try_time = null;
+ this.data.is_questionnaire_time = null;
+ clearTimeout(this.data.is_try_time);
+ clearTimeout(this.data.is_questionnaire_time);
+ // 在组件实例被从页面节点树移除时执行
+ },
+ },
+ pageLifetimes: {
+ hide: function () {
+ this.data.is_try_time = null;
+ this.data.is_questionnaire_time = null;
+ clearTimeout(this.data.is_try_time);
+ clearTimeout(this.data.is_questionnaire_time);
+ },
+ },
+
+ methods: {
+ handleContact(e){
+ let _url = e.currentTarget.dataset.url;
+ if(_url){
+ wx.navigateTo({
+ url: _url,
+ fail:function(err){
+ app.tips('客服路径错误');
+ }
+ });
+ }
+ },
+ tapkefu() {
+ this.setData({
+ show1: true,
+ });
+ },
+ callPhone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.service_mobile,
+ });
+ },
+ closePop() {
+ this.setData({
+ show1: false,
+ });
+ },
+ changeLoading() {
+ this.setData({
+ isLoding: true,
+ });
+ },
+ setPosterShow() {
+ this.setData({
+ posterShow: !this.data.posterShow
+ });
+ },
+ videoErr() {
+ wx.showToast({
+ title: "视频加载出错了!",
+ icon: "none",
+ duration: 2000,
+ });
+ this.setData({
+ videoErr: false,
+ // is_vshow:false,
+ });
+ },
+ getQrCode() {
+ var that = this;
+ app._getNetWork({
+ url: app.getNetAddresss("member.member.getArticleQr"),
+ success: function (res) {
+ if (res.data.result == 1 && !app._isTextEmpty(res.data.data)) {
+ let _data = res.data.data;
+ that.setData({
+ codeUrl: _data,
+ });
+ } else {
+ console.error(res);
+ }
+ },
+ fail: function (res) {
+ console.error(res);
+ },
+ });
+ },
+ secret(string, code, operation) {
+ code = CryptoJS.MD5(code).toString();
+ var iv = CryptoJS.enc.Utf8.parse(code.substring(0, 16));
+ var key = CryptoJS.enc.Utf8.parse(code.substring(16));
+ if (operation) {
+ return CryptoJS.AES.decrypt(string, key, {
+ iv: iv,
+ padding: CryptoJS.pad.Pkcs7
+ }).toString(CryptoJS.enc.Utf8);
+ }
+ return CryptoJS.AES.encrypt(string, key, {
+ iv: iv,
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7
+ }).toString();
+ },
+ // 点击直播请求
+ addzhibo() {
+ var that = this;
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.video-demand.api.video-course-goods.get-live-info"),
+ data: {
+ goods_id: that.data.goods_id,
+ },
+ success: function (res) {
+ if (res.data.result == 1) {
+ if (that.data.islive == true) {
+ wx.showToast({
+ title: "正在直播",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ let info = JSON.parse(that.secret(res.data.data, "zoQUA@257ggflNmMppKzcU7QgYyp!tU&h54VNN3u!PAU$8FxBW", true));
+ that.is_onlive(info.userId, info.channelId);
+ that.setData({
+ islive: true,
+ });
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ that.setData({
+ is_update: true,
+ is_buy: true,
+ });
+ }
+ },
+ fail: function (res) {
+ console.error(res);
+ },
+ });
+ },
+ // 唤起直播
+ is_onlive(liveUid, liveVid) {
+ wx.showLoading({
+ title: "加载直播中",
+ icon: "none",
+ });
+ const liveVideoContext = wx.createLivePlayerContext("polyvLiveVideo");
+ this.setData({
+ islive: true,
+ });
+ polyvLive.getVideo({
+ uid: liveUid,
+ vid: liveVid,
+ videoContext: liveVideoContext,
+ success: (videoInfo) => {
+ // set video src and poster
+ console.log(videoInfo);
+ this.setPlayerSrc(videoInfo);
+ },
+ error: (res) => {
+ console.log(res.error);
+ },
+ onStartLive: () => {
+ console.log("start live");
+ wx.hideLoading();
+ // set latest video src
+ this.setNewPlayerSrc();
+ },
+ onApiStatus: (status) => {
+ console.log(status);
+ if (status == "end") {
+ this.setData({
+ is_playLive: false,
+ islive: false,
+ videoErr: true,
+ is_vshow: true,
+ });
+ wx.hideLoading();
+ wx.showToast({
+ title: "当前无直播",
+ icon: "none",
+ duration: 1000,
+ });
+ polyvLive.destroy();
+ } else if (status == "live") {
+ this.setData({
+ is_playLive: true,
+ });
+ }
+ },
+ });
+ },
+ // 直播赋值
+ setPlayerSrc(videoInfo) {
+ this.setData({
+ video: {
+ src: videoInfo.src, // 如果播放组件为video,只能用videoInfo.src(m3u8地址),如果为live-player则用videoInfo.flvSrc
+ poster: videoInfo.poster,
+ },
+ is_bisrc: videoInfo.src,
+ });
+ console.log(videoInfo.src);
+ },
+ setNewPlayerSrc() {
+ polyvLive.getNewVideo((videoInfo) => {
+ this.setPlayerSrc(videoInfo);
+ });
+ },
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function (res) {
+ var value = wx.getStorageSync("yz_uid");
+ var path = "";
+ if (value) {
+ path = value;
+ }
+
+ let _title = app._isTextEmpty(this.data.courseShare.share_title) ? this.data.goodTit : this.data.courseShare.share_title;
+
+ let _link = "/packageA/detail_v2/detail_v2?id=" + this.data.chapter_id + "&mid=" + path;
+
+ let _imgUrl = app._isTextEmpty(this.data.courseShare.share_thumb) ? this.data.courseData.has_one_goods.thumb : this.data.courseShare.share_thumb;
+
+ let _desc = this.data.courseShare.share_desc;
+
+ return {
+ title: _title,
+ desc: _desc,
+ imageUrl: _imgUrl,
+ path: _link,
+ success: function (shareTickets) {
+ console.info(shareTickets + "成功");
+ // 转发成功
+ },
+ fail: function (res) {
+ console.log(res + "失败");
+ // 转发失败
+ },
+ complete: function (res) {
+ // 不管成功失败都会执行
+ },
+ };
+ },
+ goSurvey() {
+ wx.navigateTo({
+ url: "/packageE/questionnaire/questions/questions?goods_id=" + this.data.goods_id + "&tag=video",
+ });
+ },
+ _getData() {
+ var that = this;
+ // 初次获取数据
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.video-demand.api.video-course-goods.get-course-goods-detail"),
+ data: {
+ goods_id: that.data.goods_id,
+ },
+ success: function (res) {
+ if (res.data.result === 1) {
+ let _data = res.data.data;
+
+ if (app._isTextEmpty(_data.has_many_dig_chapter) || _data.has_many_dig_chapter.length == 0) {
+ Dialog.alert({
+ title: "提示",
+ message: "课程已下架!",
+ context: that,
+ }).then(() => {
+ // on close
+ wx.navigateBack({
+ delta: 1,
+ });
+ });
+ return;
+ } else {
+ that.setData({
+ chapterdigList: _data.has_many_dig_chapter,
+ });
+ }
+
+ _data.has_one_goods.content = _data.has_one_goods.content.replace(/
0 && that.data.chapter_id) {
+ for (let i = 0; i < has_many_dig_chapter[j].has_many_chapter.length; i++) {
+ if (has_many_dig_chapter[j].has_many_chapter[i].id === Number(that.data.chapter_id)) {
+ playCourse = has_many_dig_chapter[j].has_many_chapter[i];
+ playActive = i;
+ }
+ }
+ } else {
+ playActive = 0;
+ playCourse = has_many_dig_chapter[0].has_many_chapter[0];
+ }
+ }
+
+ let goodPrice = "";
+ if (that.data.point_goods) {
+ goodPrice = that.data.point_goods.point;
+ } else {
+ goodPrice = _data.has_one_goods.price;
+ }
+ let countDownTime = _data.course_expiration_time?app.getTimeDifference(_data.course_expiration_time):null;
+ that.setData({
+ courseData: _data,
+ rewardBtnShow: _data.is_reward,
+ goodTit: _data.has_one_goods.title,
+ goodPrice: goodPrice,
+ vip_level_status: _data.has_one_goods.vip_level_status,
+ chapterNum: _data.course_chapter_num,
+ teacherImg: _data.has_one_lecturer && _data.has_one_lecturer.has_one_member ? _data.has_one_lecturer.has_one_member.avatar : '',
+ teacherName: _data.has_one_lecturer && _data.has_one_lecturer.real_name||'',
+ goodsContent: _data.has_one_goods.content,
+ chapter_id: playCourse && playCourse.id || 0,
+ isLook: playCourse && playCourse.is_audition || true,
+ courseId: _data.id,
+ pushGoodList: _data.pushGoods,
+ courseShare: _data.has_one_goods.has_one_share,
+ live: _data.live,
+ live_title: _data.live_title,
+ questionnaire_time: _data.questionnaire_time,
+ service_QRcode: _data.shopSet.service_QRcode,
+ service_mobile: _data.shopSet.service_mobile,
+ shopSet: _data.shopSet,
+ plugin_point_name: _data.plugin_point_name ? _data.plugin_point_name : '',
+ styleSetOptions: _data.styleSet,
+ countDownTime: countDownTime,
+ HasBuyPermissions: _data.buyPermissions||false
+ });
+ let sec = _data.questionnaire_time * 1000;
+ if (_data.questionnaire_is_open) {
+ if (that.data.is_opens == "close") {
+ console.log(that.data.is_opens);
+ } else {
+ that.data.is_questionnaire_time = setTimeout(() => {
+ if (!that.data.is_questionnaire_time) {
+ return;
+ }
+ that.setData({
+ questionnaire_is_open: _data.questionnaire_is_open,
+ });
+ }, sec);
+ }
+ }
+ switch (_data.watch) {
+ case 0:
+ // Dialog.alert({
+ // title: '提示',
+ // message: '请升级会员或者购买课程',
+ // context: that
+ // }).then(() => {
+ // // on close
+ // })
+ that.setData({
+ is_update: false,
+ is_buy: false,
+ });
+ that.videoInit(playActive, playCourse);
+ break;
+ case 1:
+ // 判断是否免费章节
+ if (playCourse.is_audition == 1) {
+ that.setData({
+ is_update: false,
+ is_buy: false,
+ is_show: false,
+ is_vshow: true,
+ });
+ that.videoInit(playActive, playCourse);
+ break;
+ } else if (playCourse.is_audition == 0) {
+ Dialog.alert({
+ title: "提示",
+ message: "请升级会员或者购买课程",
+ context: that,
+ }).then(() => {
+ // on close
+ });
+ that.setData({
+ is_update: true,
+ is_buy: true,
+ });
+ break;
+ } else {
+ break;
+ }
+ case 2:
+ that.setData({
+ is_update: false,
+ is_buy: false,
+ });
+ that.videoInit(playActive, playCourse);
+ break;
+ case 3:
+ case 4:
+ that.setData({
+ is_update: false,
+ is_buy: false,
+ });
+ that.videoInit(playActive, playCourse);
+ break;
+ default:
+ break;
+ }
+
+ wx.setStorageSync("orderErrReturnUrl", _data.mini_not_permit_link);//无权限购买时,下单弹出框确认按钮跳转路径
+ } else {
+ wx.showToast({
+ title: "视频加载出错",
+ icon: "none",
+ duration: 1500,
+ });
+ console.error(res);
+ }
+ },
+ fail: function (res) {
+ console.error(res);
+ },
+ });
+ },
+ videoInit(index, item) {
+ // if(!item) return;
+ this.setData({
+ is_show: false,
+ is_vshow: true,
+ active: item.id,
+ });
+ this.viewPermission(item.id, index, item.course_id, item.is_audition);
+ this.isMp4(this.data.vedioSrc);
+ },
+ viewPermissionBtn(e) {
+ let dataset = e.currentTarget.dataset;
+ let id = dataset.item.id;
+ let index = dataset.index;
+ let course_id = dataset.item.course_id;
+ let audition = dataset.item.is_audition;
+ this.viewPermission(id, index, course_id, audition);
+ },
+ // 根据观看权限
+ viewPermission(id, index, course_id, audition) {
+ // id, index, address, course_id, audition
+ let that = this;
+ this.setData({
+ is_show: true,
+ is_vshow: false,
+ islive: false,
+ });
+ this.setData({
+ chapter_id: id,
+ active: id,
+ });
+
+ let param = {
+ goods_id: this.data.goods_id,
+ chapter_id: id,
+ };
+ let url = app.getNetAddresss("plugin.video-demand.api.video-course-goods.get-video-address");
+ app._getNetWork({
+ url: url,
+ data: param,
+ success: function (res) {
+ if (res.data.result == 1) {
+ let _data = res.data.data;
+ that.viewType(_data.watch, index, _data.video_address, course_id, id, audition, _data.video_cover_address, _data.is_try, _data.try_time);
+ } else {
+ console.error(res);
+ }
+ },
+ fail: function (res) {
+ console.error(res);
+ },
+ });
+ },
+ viewType(type, index, address, course_id, id, audition, coverSrc, is_try, try_time) {
+ if (is_try == 1 && type == 1 && audition == 1) {
+ console.log("执行1");
+ this.setData({
+ coverImg: coverSrc,
+ is_update: false,
+ is_buy: false,
+ isLook: true,
+ is_vshow: true,
+ is_show: false,
+ });
+ this.videoPlay(index, address, course_id, id, coverSrc);
+ return;
+ } else if (type != 2 && type != 3 && type != 4 && is_try == 1 && try_time > 0) {
+ console.log("执行2");
+ this.setData({
+ is_update: false,
+ is_buy: false,
+ isLook: true,
+ });
+ this.videoPlay(index, address, course_id, id, coverSrc);
+ if (!this.data.is_try_time) {
+ // 防止重复设置定时器
+ this.data.is_try_time = setTimeout(() => {
+ this.setData({
+ islive: false,
+ is_show: true,
+ is_vshow: false
+ });
+ this.isNoPlay();
+ }, try_time * 1000);
+ }
+ return;
+ } else {
+ console.log("执行3");
+ this.setData({
+ vedioSrc: address,
+ coverImg: coverSrc,
+ });
+ this.isMp4(this.data.vedioSrc);
+ }
+ switch (type) {
+ case 0:
+ this.setData({
+ is_vshow: false,
+ is_show: true,
+ });
+ this.isNoPlay();
+ break;
+ case 1:
+ if (audition == 1) {
+ this.setData({
+ is_update: false,
+ is_buy: false,
+ isLook: true,
+ is_vshow: true,
+ is_show: false,
+ });
+ this.videoPlay(index, address, course_id, id, coverSrc);
+ break;
+ } else if (audition == 0) {
+ this.isNoPlay();
+ break;
+ } else {
+ break;
+ }
+ case 2:
+ this.setData({
+ is_update: false,
+ is_buy: false,
+ isLook: true,
+ });
+ this.videoPlay(index, address, course_id, id, coverSrc);
+ break;
+ case 3:
+ case 4:
+ this.setData({
+ is_update: false,
+ is_buy: false,
+ isLook: true,
+ });
+ this.videoPlay(index, address, course_id, id, coverSrc);
+ break;
+ default:
+ break;
+ }
+ },
+ isNoPlay() {
+ this.setData({
+ is_update: true,
+ is_buy: true,
+ isLook: false,
+ });
+ if (!this.data.styleSetOptions.buy_now_button) return;
+ this.openBuyDialog();
+ },
+ openBuyDialog(){
+ Dialog.alert({
+ title: "提示",
+ message: "请升级会员或者购买课程",
+ context: this,
+ }).then(() => {
+ // on close
+ });
+ },
+ // 观看视频
+ videoPlay(index, src, course_id, id, coverSrc) {
+ this.setData({
+ is_show: false,
+ is_vshow: true,
+ active: id,
+ vedioSrc: src,
+ coverImg: coverSrc,
+ });
+
+ // 判断当前路径
+ this.isMp4(this.data.vedioSrc);
+
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.video-demand.api.video-demand-member.set-watch-history"),
+ data: {
+ course_id: course_id,
+ chapter_id: id,
+ },
+ success: function (res) {},
+ });
+ },
+ // 判断是否MP4
+ isMp4(src) {
+ if (src == "") return;
+ if (src.endsWith(".mp4") || src.endsWith(".MP4")) {
+ this.setData({
+ isVideo: true,
+ is_show: false,
+ });
+ } else {
+ this.setData({
+ isVideo: false,
+ is_show: false,
+ });
+ }
+ },
+ study() {
+ this.setData({
+ is_show: false,
+ is_vshow: true,
+ });
+ },
+ // 升级会员
+ update() {
+ if (this.data.ios_virtual_pay) {
+ wx.showModal({
+ title: "提示",
+ content: "十分抱歉,由于相关规定,你暂时无法在这里充值!",
+ confirmText: "知道了",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ console.log(res);
+ }
+ },
+ });
+ return false;
+ }
+ wx.navigateTo({
+ url: "/packageA/member/course/CourseMemberUpdate/CourseMemberUpdate?goods_id=" + this.data.goods_id,
+ });
+ },
+ // 立即购买
+ buy() {
+ if(this.data.HasBuyPermissions){
+ wx.showModal({
+ title: "提示",
+ content: this.data.HasBuyPermissions,
+ confirmText: "确定",
+ showCancel: false,
+ success(res) {},
+ });
+ return false;
+ }
+ if (this.data.ios_virtual_pay) {
+ wx.showModal({
+ title: "提示",
+ content: "十分抱歉,由于相关规定,你暂时无法在这里充值!",
+ confirmText: "知道了",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ console.log(res);
+ }
+ },
+ });
+ return false;
+ }
+ //价格权限
+ if (this.data.vip_level_status && this.data.vip_level_status.status == 1) {
+ wx.showToast({
+ title: this.data.vip_level_status.tips,
+ icon: "none",
+ duration: 1500,
+ });
+ return false;
+ }
+
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&total=1&optionsId=&goodsId=" + this.data.goods_id,
+ });
+ },
+ // 跳转至我的课程
+ toMyCourse() {
+ wx.navigateTo({
+ url: "/packageA/member/course/CourseMy/CourseMy",
+ });
+ },
+ // 推荐商品跳转
+ pushGoodGoto(val) {
+ let item = val.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + item.id,
+ });
+ },
+ // 选择打赏金额
+ chooseMoney(e) {
+ let money = e.currentTarget.dataset.money;
+ this.setData({
+ rewardMoney: money,
+ });
+ },
+ moneyInput(e) {
+ this.setData({
+ rewardMoney: e.detail,
+ });
+ },
+ // 确定打赏
+ confirmReward() {
+ console.log(this.data.rewardMoney);
+ if (app._isTextEmpty(this.data.rewardMoney)) {
+ wx.showToast({
+ title: "请输入或选择打赏金额",
+ icon: "none",
+ duration: 1500,
+ });
+ return;
+ }
+
+ if (this.data.rewardMoney <= 0) {
+ wx.showToast({
+ title: "打赏金额必须大于0",
+ icon: "none",
+ duration: 1500,
+ });
+ return;
+ }
+
+ this.getPayData();
+ },
+ // 获取支付类型参数
+ getPayData() {
+ var that = this;
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.video-demand.api.lecturer-reward.pay-type"),
+ success: function (res) {
+ if (res.data.result === 1) {
+ let btnData = res.data.data.buttons;
+ that.setData({
+ showPopup: false,
+ btnData: btnData,
+ rewardPayshow: true,
+ });
+ } else {
+ console.error(res);
+ }
+ },
+ fail: function (res) {
+ console.error(res);
+ },
+ });
+ },
+ // 支付
+ payPost(e) {
+ this.setData({
+ rewardPayshow: false,
+ });
+ let type, name, btn = null;
+ if (e.currentTarget) {
+ type = e.currentTarget.dataset.info.value;
+ name = e.currentTarget.dataset.info.name;
+ btn = e.currentTarget.dataset.info;
+ } else {
+ type = e.value;
+ name = e.name;
+ btn = e;
+ }
+ let dataJson = {
+ pay_method: type,
+ amount: this.data.rewardMoney,
+ pay_name: name,
+ goods_id: this.data.goodsId,
+ trick_id: this.data.stickid,
+ client_type: "2",
+ };
+
+ app._getNetWork({
+ url: app.getNetAddresss("plugin.video-demand.api.lecturer-reward.run-reward-pay"),
+ data: dataJson,
+ success: (res) => {
+ if (res.data.result === 1) {
+ this.handleOtherPay(btn, type, res.data.data);
+ this.onClose();
+ } else {
+ Dialog.alert({
+ title: "提示",
+ message: res.data.msg,
+ context: this,
+ }).then(() => {
+ // on close
+ });
+ }
+ },
+ fail: (res) => {
+ console.error(res);
+ },
+ });
+ },
+ moneyShow() {
+ this.setData({
+ showPopup: true,
+ });
+ },
+ openInputReward() {
+ this.setData({
+ showPopup: false,
+ rewardMoneyBtn: true,
+ });
+ },
+ onClose() {
+ this.setData({
+ showPopup: false,
+ rewardMoneyBtn: false,
+ actionSheetShow: false,
+ questionnaire_is_open: false,
+ });
+ },
+ openActionSheet() {
+ this.setData({
+ showPopup: false,
+ actionSheetShow: true,
+ });
+ },
+ previewImage: function (e) {
+ var current = e.target.dataset.src; // 这里获取到的是一张本地的图片
+ wx.previewImage({
+ current: current, // 需要预览的图片链接列表
+ urls: [current], // 当前显示图片的链接
+ });
+ },
+ // 足迹记录
+ footSet() {
+ if (!this.data.isGoods) {
+ return;
+ }
+ let urlStr = app.getNetAddresss("member.member-history.store");
+ urlStr += "&goods_id=" + this.properties.goodsId + "&mark=" + this.properties.mark + "&mark_id=" + this.properties.mark_id;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ onChange(event) {
+ this.setData({
+ activeNames: event.detail,
+ });
+ },
+ rewardPayshowClose() {
+ this.setData({
+ rewardPayshow: false,
+ });
+ },
+ rewardPayCancelBtn() {
+ this.setData({
+ rewardPayshow: false,
+ });
+ },
+ onChangecountDown(e) {
+ this.setData({
+ timeData: e.detail,
+ });
+ },
+ countDownFinish(){
+ this.setData({
+ iscCountDownFinish: true
+ });
+ }
+ },
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/course_goods/course_goods.json b/packageA/mycomponent/course_goods/course_goods.json
new file mode 100644
index 0000000..af3bb86
--- /dev/null
+++ b/packageA/mycomponent/course_goods/course_goods.json
@@ -0,0 +1,21 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-action-sheet": "../../../dist/action-sheet/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-field": "../../../dist/field/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-dialog": "../../../dist/dialog/index",
+ "van-loading": "../../../dist/loading/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-collapse": "../../../dist/collapse/index",
+ "van-collapse-item": "../../../dist/collapse-item/index",
+ "van-icon": "../../../dist/icon/index",
+ "van-count-down": "../../../dist/count-down/index",
+ "goods-qrcode":"/mycomponent/temp/goods_qrcode/goods_qrcode",
+ "pay-keyboard":"/mycomponent/payKeyboard/payKeyboard"
+ }
+}
diff --git a/packageA/mycomponent/course_goods/course_goods.wxml b/packageA/mycomponent/course_goods/course_goods.wxml
new file mode 100644
index 0000000..26ec93c
--- /dev/null
+++ b/packageA/mycomponent/course_goods/course_goods.wxml
@@ -0,0 +1,255 @@
+
+
+
+
+ {{goodTit}}
+ 售价:{{ vip_level_status && vip_level_status.status == 1 ? vip_level_status.word : goodPrice }}{{integral}}
+ 售价:{{language['money']}}{{ vip_level_status && vip_level_status.status == 1 ?vip_level_status.word : goodPrice }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 本视频不是mp4等视频格式,需要到web版观看
+
+
+
+
+
+
+
+
+ {{countDownTime?'有效期':'已失效'}}:
+
+ {{ timeData.days }}
+ 天
+ {{ timeData.hours }} :
+ {{ timeData.minutes }} :
+ {{ timeData.seconds }}
+
+
+
+
+
+ 讲师:{{ teacherName}}
+
+
+
+ 打赏
+
+
+ {{goodTit}}
+
+ 共{{chapterNum}}节
+ {{ goodPrice }}{{integral}}
+ {{language['money']}}{{goodPrice}}
+
+
+
+ {{live_title}}
+
+ 进入直播
+
+
+
+
+
+
+
+ 课程介绍
+
+
+
+
+
+
+
+
+
+ 目录
+
+
+
+
+
+
+
+ 第{{ index + 1 }}节 {{ item.chapter_name }}
+ 【免费试听】
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 课程名称:{{item.title}}
+
+ {{language['money']}} {{ item.vip_level_status && item.vip_level_status.status == 1 ?item.vip_level_status.word : item.price }}
+
+
+
+
+
+ 【二维码】
+
+
+
+
+
+
+
+
+
+ 我的
+
+
+
+
+
+
+
+
+
+ 客服
+
+
+
+ 升级会员
+ {{ styleSetOptions.single_buy_button_name || "单次购买" }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{shopName}}
+ 请您填写有奖问卷
+ 参与问卷调查,获得{{plugin_point_name}}奖励!
+
+ 放弃
+ 接受邀请
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/mycomponent/course_goods/course_goods.wxss b/packageA/mycomponent/course_goods/course_goods.wxss
new file mode 100644
index 0000000..c53097a
--- /dev/null
+++ b/packageA/mycomponent/course_goods/course_goods.wxss
@@ -0,0 +1,908 @@
+/* pages/course_goods/course_goods.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.course_tabs {
+ width: 100%;
+}
+
+.CourseDetail {
+ padding-bottom: 100rpx;
+ width: 100%;
+ overflow: hidden;
+ background-color: #fff;
+}
+
+.loading {
+ position: absolute;
+ z-index: 9999;
+ top: 20%;
+ left: 50%;
+ transform: translateX(-50%);
+}
+
+.noDetail {
+ width: 100%;
+ height: 380rpx;
+ color: #fff;
+ font-size: 28rpx;
+ background-color: green;
+ padding-top: 16rpx;
+}
+
+.title {
+ text-align: center;
+ margin-top: 30rpx;
+}
+
+.tips {
+ margin-top: 150rpx;
+ text-align: center;
+}
+
+.yellow_btn {
+ width: 50%;
+ height: 60rpx;
+ line-height: 60rpx;
+ font-size: 28rpx;
+ margin: 30rpx auto;
+ border-radius: 10rpx;
+ color: #fff;
+ background: orange;
+}
+
+.Detail {
+ width: 100%;
+ position: fixed;
+ top: 0;
+ z-index: 1000;
+}
+
+/* 动态的top */
+.course_people_top {
+ margin-top: 450rpx;
+}
+
+/* 取消动态top */
+.none_top {
+ margin-top: 0;
+}
+
+.myVideo {
+ width: 100%;
+}
+
+.course_title {
+ width: 90%;
+ height: 50rpx;
+ margin-left: 30rpx;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.bold_title {
+ font-weight: bold;
+ font-size: 28rpx;
+}
+
+.nobold_title {
+ color: #8c8c8c;
+}
+
+.course_people {
+ /* width: 100%; */
+ background-color: white;
+ padding: 24rpx 12rpx 24rpx 12rpx;
+ margin-top: 10rpx;
+ display: flex;
+}
+
+.left {
+ flex: 0 0 75%;
+ display: flex;
+}
+
+.people_pic {
+ width: 100rpx;
+ height: 100rpx;
+ background-color: #333;
+ border-radius: 50rpx;
+ margin-right: 20rpx;
+}
+
+.people_title {
+ height: 100rpx;
+ font-size: 30rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.up {
+ line-height: 50rpx;
+ color: #ff3824;
+}
+
+.down {
+ font-size: 28rpx;
+}
+
+.right {
+ width: 150rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: center;
+ background-color: #ff3824;
+ border-radius: 15rpx;
+ margin-top: 6px;
+ margin-right: -20px;
+ color: #fff;
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+}
+
+.icon-giftfill {
+ margin: -5rpx 10rpx 0 0;
+ color: rgb(255, 205, 0);
+ font-size: 38rpx;
+}
+
+.icon-giftfill::before {
+ content: "\e68f";
+}
+
+.course_list {
+ padding: 15rpx;
+ color: #333;
+}
+
+.choose {
+ color: #ff9600;
+}
+
+.icon-bofang {
+ margin: -10rpx 10rpx 0 0;
+ font-size: 36rpx;
+}
+
+.icon-bofang::before {
+ content: "\e60e";
+}
+
+.course_list_test {
+ color: green;
+}
+
+.course {
+ border-bottom: solid 1rpx #ebebeb;
+ text-align: left;
+ width: 100%;
+ background-color: #fff;
+ padding: 20rpx;
+}
+
+.course-content {
+ display: flex;
+}
+
+.course-img {
+ width: 160rpx;
+ height: 160rpx;
+ overflow: hidden;
+}
+
+.course-img image {
+ width: 100%;
+ height: 100%;
+}
+
+.course-text {
+ flex: 0 0 55%;
+ display: flex;
+ flex-direction: column;
+ margin-left: 24rpx;
+ padding: 10rpx;
+}
+
+.course-text .name {
+ font-size: 28rpx;
+}
+
+.money {
+ width: 20%;
+ line-height: 150rpx;
+ color: #f15353;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+}
+
+.qrCode {
+ margin-top: 20rpx;
+ padding-bottom: 40rpx;
+}
+
+.qr {
+ height: 8rpx;
+ line-height: 80rpx;
+ font-size: 32rpx;
+ text-align: left;
+ padding: 0 28rpx;
+ font-weight: bold;
+}
+
+.code-content {
+ text-align: center;
+ color: #8c8c8c;
+}
+
+.codeUrl {
+ width: 240rpx;
+ height: 240rpx;
+ overflow: hidden;
+ background: #f5f5f5;
+ margin: 20rpx auto;
+}
+
+.bottom_box {
+ background: #fff;
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ margin-top: 15rpx;
+ display: flex;
+ text-align: center;
+}
+
+.box_item {
+ flex: 2;
+ display: flex;
+ flex-direction: column;
+}
+
+.icon-gerenzhongxin {
+ color: #ff9500;
+}
+
+.icon-gerenzhongxin::before {
+ content: "\e698";
+}
+
+.box_btn {
+ flex: 4;
+ height: 100rpx;
+ line-height: 100rpx;
+ background-color: #ff9500;
+ color: #fff;
+}
+
+.reward_btn_list {
+ margin-top: 20rpx;
+ display: flex;
+}
+
+.reward_btn {
+ background-color: #fff;
+ border: solid 1rpx #dd2727;
+ font-size: 28rpx;
+}
+
+.red {
+ background-color: #dd2727;
+ color: #fff;
+}
+
+.reward_sure_btn {
+ margin-top: 20rpx;
+ background: #04be02;
+ color: #fff;
+ border-radius: 0;
+}
+
+.live {
+ height: 89rpx;
+ padding-left: 33rpx;
+ padding-right: 27rpx;
+ background: #f5f5f5;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.live van-icon {
+ margin-top: 10rpx;
+}
+
+.acr_left {
+ width: 476rpx;
+ font-size: 24rpx;
+ line-height: 36rpx;
+ letter-spacing: 1rpx;
+ color: #000;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.act_right {
+ width: 140rpx;
+ height: 48rpx;
+ background-color: #ff9719;
+ border-radius: 24rpx;
+ color: #fff;
+ text-align: center;
+ font-size: 24rpx;
+ line-height: 48rpx;
+}
+
+.vp-v {
+ width: 100%;
+}
+
+.newlsit_course {
+ /* width: 100%; */
+ background: #fff;
+ /* padding: 25rpx 0; */
+}
+
+.newlsit_course .newlist_master {
+ width: 700rpx;
+ height: 90rpx;
+ background-color: #fff;
+ box-shadow:
+ 0rpx 0rpx 7rpx 0rpx
+ rgba(133, 133, 133, 0.2);
+ border-radius: 10rpx;
+ margin: 25rpx auto 0;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.newlist_left {
+ display: flex;
+ align-items: center;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 1rpx;
+ color: #999;
+}
+
+.newlist_right {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 1rpx;
+ color: #e20606;
+ max-width: 200rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.newlsit_course .newlist_master .master_photo {
+ width: 56rpx;
+ height: 56rpx;
+ margin-left: 21rpx;
+ border-radius: 50%;
+ box-shadow:
+ 4rpx 5rpx 7rpx 0rpx
+ rgba(133, 133, 133, 0.2);
+}
+
+.newlsit_course .newlist_master .master_photo image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.newlsit_course .newlist_master .master_name {
+ font-size: 28rpx;
+ color: #000;
+ line-height: 36rpx;
+ margin-left: 14rpx;
+ max-width: 300rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.newlsit_course .newlist_master .master_like {
+ width: 120rpx;
+ height: 50rpx;
+ border-radius: 25rpx;
+ border: solid 2rpx #ff9d27;
+ float: right;
+ right: 24rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-right: 24rpx;
+ color: #ff9d27;
+}
+
+.newlsit_course .newlist_master .master_like icon {
+ margin-top: -5rpx;
+ margin-right: 10rpx;
+}
+
+.newlsit_course .class_title {
+ padding-top: 30rpx;
+ margin: 0 43rpx 0 35rpx;
+ font-size: 28rpx;
+ line-height: 40rpx;
+ letter-spacing: 1rpx;
+ color: #000;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.newlsit_course .newlist_bottom {
+ margin: 62rpx 43rpx 0 35rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.spanbiew {
+ width: 100%;
+ height: 20rpx;
+ background: #f2f2f7;
+}
+
+.class_one {
+ font-size: 32rpx;
+ display: flex;
+ color: #000;
+ align-items: center;
+ margin-top: 42rpx;
+ margin-bottom: 29rpx;
+}
+
+.class_one icon {
+ color: #ad65ff;
+ margin-right: 23rpx;
+}
+
+.class_two {
+ font-size: 32rpx;
+ display: flex;
+ color: #000;
+ align-items: center;
+ margin-top: 42rpx;
+ margin-bottom: 29rpx;
+}
+
+.class_two icon {
+ color: #ff6000;
+ margin-right: 23rpx;
+}
+
+/* 调查弹窗 */
+.surveyBox {
+ width: 583rpx;
+
+ /* background-color: #ffffff ; */
+}
+
+.centen {
+ background-color: #fff;
+ height: 450rpx;
+ width: 100%;
+ margin-top: -10rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.centen text:nth-child(1) {
+ margin-top: 60rpx;
+ font-size: 48rpx;
+}
+
+.centen text:nth-child(2) {
+ font-size: 48rpx;
+}
+
+.centen text:nth-child(3) {
+ font-size: 28rpx;
+ color: #666;
+ letter-spacing: 3rpx;
+ line-height: 60rpx;
+}
+
+.btn {
+ width: 100%;
+ display: flex;
+ justify-content: space-around;
+ margin-top: 55rpx;
+}
+
+.btn view:nth-child(1) {
+ width: 253rpx;
+ height: 76rpx;
+ border-radius: 4rpx;
+ border: solid 1rpx #2672ff;
+ font-size: 32rpx;
+ color: #2672ff;
+ text-align: center;
+ line-height: 76rpx;
+}
+
+.btn view:nth-child(2) {
+ width: 253rpx;
+ height: 76rpx;
+ background-color: #2672ff;
+ border-radius: 4rpx;
+ font-size: 32rpx;
+ color: #fff;
+ text-align: center;
+ line-height: 76rpx;
+}
+
+.pay-psw-info {
+ overflow-y: scroll;
+ width: 100vw;
+ height: auto;
+ background: #fff;
+ max-height: 80vh;
+ padding-top: 20rpx;
+}
+
+.pay_content_title {
+ text-align: center;
+ width: 100vw;
+ height: 60rpx;
+ line-height: 60rpx;
+ margin-bottom: 20rpx;
+ font-size: 36rpx;
+}
+
+.pay_content {
+ width: 100vw;
+ height: 100rpx;
+ margin-bottom: 20rpx;
+}
+
+.pay_content_view {
+ width: 100vw;
+ height: 100rpx;
+ border-bottom: 2rpx solid #ddd;
+ border-top: 2rpx solid #ddd;
+ border-right: 2rpx solid #ddd;
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+.ipt_pay {
+ width: 16.27%;
+ height: 100rpx;
+ text-align: center;
+ border-left: 2rpx solid #ddd;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.ipt_pay_p {
+ line-height: 50rpx;
+ height: 50rpx;
+ font-size: 40rpx;
+}
+
+.footer {
+ width: 100vw;
+ font-weight: 600;
+}
+
+.pay_btn {
+ border-top: 2rpx solid #ddd;
+ width: 100vw;
+ height: auto;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.pay_btn .li {
+ width: 33%;
+ height: 96rpx;
+ line-height: 96rpx;
+ text-align: center;
+ background: #fff;
+ font-size: 28rpx;
+ border-right: 2rpx solid #ddd;
+ border-bottom: 2rpx solid #ddd;
+}
+
+.pay_btn .li.b9:active {
+ background: #fff;
+}
+
+.pay_btn .li.b9 {
+ background: #c2c2c2;
+}
+
+.rewardPay {
+ background-color: #f2f2f2;
+}
+
+.rewardPay .content {
+ background-color: #fff;
+ text-align: left;
+ padding: 19.2rpx;
+ min-height: 110.08rpx;
+ font-size: 25.6rpx;
+ line-height: 32rpx;
+ width: 100%;
+ white-space: normal;
+ word-break: break-all;
+ word-wrap: break-word;
+}
+
+.rewardPay .content .span {
+ color: #1c96fe;
+}
+
+.rewardPay .payMode .ul .li {
+ background-color: #fff;
+ height: 110.08rpx;
+ border-bottom: 1.92rpx solid #eee;
+ font-size: 32rpx;
+ color: #333;
+ line-height: 110.08rpx;
+ text-align: center;
+}
+
+.rewardPay .payMode .ul .li:last-of-type {
+ border-bottom: none;
+ margin-bottom: 22.08rpx;
+}
+
+.rewardPay .cancel {
+ text-align: center;
+ background-color: #fff;
+ height: 110.08rpx;
+ border-bottom: 1.92rpx solid #eee;
+ font-size: 32rpx;
+ color: #333;
+ line-height: 110.08rpx;
+}
+
+.addfav {
+ position: relative;
+ color: #666;
+ height: 100rpx;
+ text-align: center;
+ flex: 1.5;
+ font-size: 24rpx;
+ background-color: #fff;
+}
+
+.addfav .ul .li {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+/* kefu */
+.icon-close11 {
+ font-size: 18px;
+}
+
+.pop-content {
+ background-color: #fff;
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: center;
+ width: 100%;
+
+ /* flex-wrap: wrap; */
+}
+
+.pop-content .pop-top .pop-left {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ position: relative;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .pop-left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .pop-left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .pop-left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .pop-right {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .pop-right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .pop-right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .pop-right .wrap icon {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ font-size: 50rpx;
+ background-color: #02c777;
+ color: #fff;
+}
+
+.pop-content .pop-top .pop-right .wrap .color2 {
+ background: #ff9329;
+}
+
+.pop-content .pop-top .pop-right .wrap .color3 {
+ background: #2aa7fb;
+}
+
+.pop-content .pop-top .pop-right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .line {
+ width: 1px;
+ height: 130rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin: 0 0 30rpx 0;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.kefuxiaoxi {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ top: 0;
+ left: 0;
+}
+
+.fixed-box {
+ position: fixed;
+ top: 450px;
+ right: 5px;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ z-index: 2;
+}
+
+.fixed-box image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.video-cover-main {
+ background-color: #000;
+ padding: 0;
+}
+
+.video-cover-main .video-cover-bg {
+ position: relative;
+ height: 100%;
+}
+
+.video-cover-main .video-cover-bg .video-cover-img {
+ height: 100%;
+ width: 100%;
+ margin: 0 auto;
+ display: block;
+ object-fit: contain;
+}
+
+.video-cover-main .video-cover-bg .video-cover-play-btn {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ font-size: 60px;
+}
+
+.course_countDown {
+ padding: 0 28rpx;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ height: 76rpx;
+ color: #000000;
+ /* background: #dd2727; */
+}
+
+.course_countDown .van-count-down{
+ color: #fff;
+}
+
+.course_countDown .colon {
+ display: inline-block;
+ margin: 0 4px;
+ color: #000;
+}
+.course_countDown .item {
+ display: inline-block;
+ /* padding: 0 4px; */
+ box-sizing: border-box;
+ color: #000;
+ font-size: 12px;
+ text-align: center;
+ /* background-color: #fff; */
+ border-radius: 4px;
+}
+
+.course_countDown-finish {
+ background: #b2b2b2;
+ opacity: 0.5;
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/discount/discount.js b/packageA/mycomponent/discount/discount.js
new file mode 100644
index 0000000..000c35b
--- /dev/null
+++ b/packageA/mycomponent/discount/discount.js
@@ -0,0 +1,114 @@
+var app = getApp();
+Component({
+ properties: {
+ DataInfo: {
+ type: null
+ },
+ isType: {
+ type: Boolean
+ }
+ },
+ data: {
+ levelsList: [],
+ discount_value: {},
+ level_discount_type: true,
+ discount_method: '1'
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {},
+ ready() {
+ if (this.properties.isType) {
+ this.getDataInfo();
+ }
+ },
+ moved() {},
+ detached() {}
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {}
+ },
+
+ methods: {
+ getDataInfo() {
+ // 获取会员等级
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.get-store-goods-setting');
+ app._postNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ levelsList: res.data.member_level
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ if (this.properties.isType) {
+ // 发布
+ }else {
+ // 编辑
+ // 判断传递过来数据不为空的时候
+ if (app._isTextEmpty(this.data.DataInfo)) {
+ console.log('刚刚开启');
+ } else {
+ let level_discount_type = Boolean(this.data.DataInfo.discount.level_discount_type);
+ try{
+ var discount_method = this.data.DataInfo.discount.discount_method.toString();
+ }catch(err){console.log(err);}
+ let discount_value = this.data.DataInfo.discount.discount_value;
+ this.setData({
+ discount_method,
+ level_discount_type,
+ discount_value});
+ }
+ }
+ },
+ DiscountJson() {
+ let json = {};
+ json = {
+ level_discount_type: this.data.level_discount_type ? 1 : 0,
+ discount_method: this.data.discount_method == '1' ? 1 : 2,
+ discount_value: this.data.discount_value
+ };
+ this.triggerEvent('getChildthreeData', json, { bubbles: false });
+ this.triggerEvent('getSignthree', this.data.levelsList.length, {bubbles: false});
+ },
+ onChange(val) {
+ let id = val.target.dataset.id || val.currentTarget.dataset.id;
+ let discount_value = this.data.discount_value;
+ discount_value[id] = val.detail.value;
+ this.setData({
+ discount_value});
+ },
+ onChangeRadio(val) {
+ this.setData({
+ discount_method: val.detail
+ });
+ },
+ checkAll(val) {
+ this.setData({
+ level_discount_type: val.detail
+ });
+ }
+
+ }
+});
diff --git a/packageA/mycomponent/discount/discount.json b/packageA/mycomponent/discount/discount.json
new file mode 100644
index 0000000..3d83f89
--- /dev/null
+++ b/packageA/mycomponent/discount/discount.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index",
+ "van-checkbox": "../../../../dist/checkbox/index",
+ "van-radio": "../../../../dist/radio/index",
+ "van-radio-group": "../../../../dist/radio-group/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/discount/discount.wxml b/packageA/mycomponent/discount/discount.wxml
new file mode 100644
index 0000000..1a5f27d
--- /dev/null
+++ b/packageA/mycomponent/discount/discount.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+ 折扣类型:
+
+ 会员等级
+
+
+
+ 折扣方式:
+
+
+ 折扣
+ 固定金额
+
+
+
+
+
+
+ {{item.level_name}}
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/discount/discount.wxss b/packageA/mycomponent/discount/discount.wxss
new file mode 100644
index 0000000..9fee6b3
--- /dev/null
+++ b/packageA/mycomponent/discount/discount.wxss
@@ -0,0 +1,45 @@
+.discount .rebate_box .type,
+.discount .rebate_box .member_number {
+ margin-top: 20rpx;
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.discount .rebate_box .type .li,
+.discount .rebate_box .member_number .li {
+ display: flex;
+ align-items: center;
+ height: 80rpx;
+ position: relative;
+ font-size: 15px;
+}
+
+.discount .rebate_box .type .li .span,
+.discount .rebate_box .member_number .li .span {
+ width: 220rpx;
+ text-align: center;
+}
+
+.discount .rebate_box .type .li input,
+.discount .rebate_box .member_number .li input {
+ border: none;
+ width: 360rpx;
+}
+
+.discount .rebate_box .type .li .fa,
+.discount .rebate_box .member_number .li .fa {
+ position: absolute;
+ right: 0;
+ font-size: 36rpx;
+ color: #c9c9c9;
+}
+
+.discount .rebate_box .type .list_box,
+.discount .rebate_box .member_number .list_box {
+ padding: 20rpx 28rpx;
+}
+
+van-radio-group {
+ width: 420rpx !important;
+ display: flex;
+}
diff --git a/packageA/mycomponent/floatOrder/floatOrder.js b/packageA/mycomponent/floatOrder/floatOrder.js
new file mode 100644
index 0000000..94dd5ea
--- /dev/null
+++ b/packageA/mycomponent/floatOrder/floatOrder.js
@@ -0,0 +1,76 @@
+// packageA/mycomponent/floatOrder/floatOrder.js
+const app = getApp();
+Component({
+ options: {
+ styleIsolation: "isolated",
+ },
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ broadcast_data: {
+ type: null,
+ },
+ goodsType: {
+ type: null,
+ },
+ },
+ observers: {},
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ page: 1,
+ morePage: null,
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ bindChange(e) {
+ if (e.detail.source == "autoplay") {
+ let ind = e.detail.current;
+ if (ind == this.data.broadcast_data.data.length - 8) {
+ if (this.data.broadcast_data.current_page >= this.data.broadcast_data.last_page) {
+ console.log("没有更多");
+ return;
+ } else {
+ this.setData({
+ page: this.data.page + 1,
+ });
+ this.zhpBroadcast();
+ }
+ }
+ }
+ },
+ // 飘窗
+ zhpBroadcast() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.zhp-group-lottery.frontend.goods.get-window-list");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ activity_id: this.data.broadcast_data.goodsId,
+ page: this.data.page,
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let darr = that.data.broadcast_data.data.concat(res.data.data);
+ that.setData({
+ morePage: res.data.last_page,
+ ["broadcast_data.data"]: darr,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ },
+});
diff --git a/packageA/mycomponent/floatOrder/floatOrder.json b/packageA/mycomponent/floatOrder/floatOrder.json
new file mode 100644
index 0000000..05cf15c
--- /dev/null
+++ b/packageA/mycomponent/floatOrder/floatOrder.json
@@ -0,0 +1,5 @@
+{
+ "component": true,
+ "styleIsolation": "isolated",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/floatOrder/floatOrder.wxml b/packageA/mycomponent/floatOrder/floatOrder.wxml
new file mode 100644
index 0000000..4b40ce5
--- /dev/null
+++ b/packageA/mycomponent/floatOrder/floatOrder.wxml
@@ -0,0 +1,40 @@
+
+
+ var toNumber = function(val) { if (val) {return Number(val) }};
+ module.exports.toNumber = toNumber;
+
+
+
+
+
+
+
+
+
+ 恭喜{{item.nickname}}拼中
+ 恭喜{{item.nickname}}获得{{item.numerical}}{{broadcast_data.integral_name}}, {{item.credit}}{{item.credit_plugin_name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.content}}
+
+
+
+
+
+
+
+
diff --git a/packageA/mycomponent/floatOrder/floatOrder.wxss b/packageA/mycomponent/floatOrder/floatOrder.wxss
new file mode 100644
index 0000000..18e003f
--- /dev/null
+++ b/packageA/mycomponent/floatOrder/floatOrder.wxss
@@ -0,0 +1,62 @@
+/* packageA/mycomponent/floatOrder/floatOrder.wxss */
+view,
+text {
+ box-sizing: border-box;
+}
+
+.float {
+ position: absolute;
+ top: 3.575rem;
+ left: 0.938rem;
+}
+
+.swiperContainer {
+ width: 544.992px;
+ height: 60rpx !important;
+}
+
+.swiperContainer .swiperItem {
+ width: 544.992px;
+ height: 64px;
+ display: flex;
+ align-items: center;
+}
+
+.wrapper {
+ max-width: 544.992rpx;
+ height: 40rpx;
+ display: flex;
+ padding-right: 16rpx;
+ padding-left: 3.2rpx;
+ align-items: center;
+ background-color: #000;
+ border-radius: 19.488rpx;
+ opacity: 0.7;
+ overflow: hidden;
+}
+
+.wrapper .image {
+ width: 34.016rpx;
+ height: 34.016rpx !important;
+ display: flex;
+ align-items: center;
+ border-radius: 50%;
+}
+
+.wrapper .image image {
+ width: 34.016rpx;
+ height: 34.016rpx !important;
+ border-radius: 50%;
+}
+
+.wrapper .text {
+ font-size: 24rpx;
+ padding-left: 16rpx;
+ max-width: 496rpx;
+ color: #fff;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+}
diff --git a/packageA/mycomponent/goodsComponent/backup/backup.js b/packageA/mycomponent/goodsComponent/backup/backup.js
new file mode 100644
index 0000000..4bfe049
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/backup/backup.js
@@ -0,0 +1,58 @@
+// packageE/backup/backup.js
+Component({
+ properties: {
+ datas: {
+ type: null,
+ },
+ poster: {
+ type: null,
+ },
+ component_id: {
+ type: null,
+ },
+ },
+ // 私有数据,可用于模板渲染
+ data: {
+ emptyImage: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/backtotop@2x.png",
+ clientWidth: "375",
+ },
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {},
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {},
+ // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ this.setData({
+ clientWidth: wx.getSystemInfoSync().windowWidth,
+ });
+ },
+
+ methods: {
+ //回到顶部
+ backup(e) {
+ if (this.data.poster == 1) {
+ // 商品详情页=> 海报
+ this.triggerEvent('posterClick');
+ return;
+ }
+
+ // 一键回到顶部
+ if (wx.pageScrollTo) {
+ wx.pageScrollTo({
+ scrollTop: 0,
+ });
+ } else {
+ wx.showModal({
+ title: "提示",
+ content: "当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。",
+ });
+ }
+ },
+ },
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/backup/backup.json b/packageA/mycomponent/goodsComponent/backup/backup.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/backup/backup.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageA/mycomponent/goodsComponent/backup/backup.wxml b/packageA/mycomponent/goodsComponent/backup/backup.wxml
new file mode 100644
index 0000000..1de06ae
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/backup/backup.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/backup/backup.wxss b/packageA/mycomponent/goodsComponent/backup/backup.wxss
new file mode 100644
index 0000000..80b2df7
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/backup/backup.wxss
@@ -0,0 +1,31 @@
+/* packageE/backup/backup.wxss */
+.component-wrapper {
+ display: flex;
+ justify-content: center;
+ width: 100vw;
+}
+
+.fixed-box {
+ position: fixed;
+ top: 114px;
+ z-index: 2;
+}
+
+.fixed-box .btn {
+ width: 50px;
+ height: 50px;
+ border-radius: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: absolute;
+ right: 0;
+ flex-direction: column;
+ font-size: 13px;
+}
+
+.fixed-box .btn .img {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
diff --git a/packageA/mycomponent/goodsComponent/buyNow/buyNow.js b/packageA/mycomponent/goodsComponent/buyNow/buyNow.js
new file mode 100644
index 0000000..9bf641b
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/buyNow/buyNow.js
@@ -0,0 +1,1374 @@
+// packageA/mycomponent/goodsComponent/buyNow/buyNow.js
+const app = getApp();
+// var level_id = "";
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ // 详情数据
+ goodsInfo: {
+ type: null,
+ },
+ goods_plugin: {
+ type: null,
+ },
+ // 租赁商品
+ isRent: {
+ type: null,
+ },
+ //商品id
+ goodsId: {
+ type: null,
+ },
+ // 商品类型
+ goodsType: {
+ type: null,
+ },
+ mark: {
+ type: null,
+ },
+ mode: {
+ type: null
+ },
+ vieText: {
+ type: null,
+ },
+ fromStock: {
+ // 云库存商品
+ type: String || Number,
+ },
+ store_id: {
+ // 门店拼团
+ type: String || Number,
+ },
+ coid:{
+ type:null
+ // 默认规格id
+ },
+ debtId:{
+ type:null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ showSkuImages: false,
+ skuImages: false,
+ activeSkuIndex: 0,
+ activeSkuIndex_1: null, //用于关闭时保存点击预览前的序号,在预览关闭时重新设置预览起始位置
+ activeSkuIndex_2: null,
+ integral: "积分",
+ popupSpecs: false,
+ SUBMIT_ACTION_CART: "-1", //添加到购物车
+ SUBMIT_ACTION_BUY: "-2", //立即购买
+ groupModel: "",
+ specsManage: [],
+ optionsId: "", //选择后的 规格ID
+ goodsCount: 1,
+ goodsDescription: "",
+ // 库存
+ popStock: 0,
+ // 价格
+ popPrice: 0,
+ popThumb: "", // 商品图片
+ optionsMaxCount: 1,
+ submitActionTag: "-2",
+ gooddatas: [],
+ activityId: "",
+ isAward: "",
+ language: "",
+ buyType: 0, //新零售购物下单方式,1代理套餐下单,2立即购买
+ levelModel: 0,
+ give_integral_count:'', //送积分数量
+ isMultiSpecs: false, //多规格商品是否显示会员价
+ specsVIPPrc: null //规格商品会员价
+ },
+ observers: {
+ "popupSpecs,goodsInfo,goodsType": function (popupSpecs, Info, type) {
+ if (type == "grabGroup") {
+ this.setData({
+ gooddatas: Info,
+ });
+ }
+ if (popupSpecs) {
+ //有规格的弹窗
+ console.log("有没有规格id", this.data.optionsId);
+ if (!this.data.optionsId) {
+ this.firstArr();
+ }
+ }
+ },
+ },
+ lifetimes: {
+ attached() {
+ let language = wx.getStorageSync("langIndex");
+ let yz_basic_info = wx.getStorageSync('yz_basic_info');
+ this.setData({
+ language: language.en,
+ vip_show:yz_basic_info.globalParameter.vip_show?yz_basic_info.globalParameter.vip_show:false
+ });
+ const value = wx.getStorageSync("integral");
+ if (value) {
+ this.setData({
+ integral: value,
+ });
+ }
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ setMrSpec(){
+ return new Promise((resolve, reject)=>{
+ for(let i = 0;i {
+ let _thumb = val.thumb != "" ? val.thumb : this.data.goodsInfo.thumb;
+ _optionArr.push(_thumb);
+ });
+ this.setData({
+ skuImages: _optionArr,
+ });
+ } else {
+ let __optionArr2 = [];
+ __optionArr2.push(this.data.goodsInfo.thumb);
+
+ if (this.data.goods_plugin.point_goods) {
+ popPrice = this.data.goods_plugin.point_goods.point; //设置默认价格
+ } else {
+ popPrice = this.data.goodsInfo.price; //设置默认价格
+ }
+ this.setData({
+ popThumb: this.data.goodsInfo.thumb, //设置默认图片
+ popStock: this.data.goodsInfo.stock, //设置默认库存
+ popPrice: popPrice, //设置默认价格
+ goodsDescription: "",
+ optionsMaxCount: this.data.goodsInfo.stock,
+ skuImages: __optionArr2,
+ });
+ }
+ },
+ //新处理立即购买
+ buyNowNew() {
+ if(this.data.submitActionTag == this.data.SUBMIT_ACTION_CART){
+ //购物车网络处理
+ this.setData({
+ popupSpecs: false,
+ });
+ this.triggerEvent("popupModeshowChild", true);
+ this.addCartRequest(this.data.goodsId, this.data.optionsId, this.data.goodsCount);
+ this.hidePopView2();
+ return;
+ }
+ this.hidePopView2();
+ //处理参数
+ // console.log(this.data.goodsId, this.data.optionsId, this.data.goodsCount);
+ // console.log(this.data.goodsType);
+ if (this.data.goodsType == "retailGood") {
+ this.buyNowRequestRetailGood(this.data.goodsId, this.data.optionsId, this.data.goodsCount);
+ } else if (this.data.goodsType == "zhpGroup") {
+ this.buyNowRequestZhpGroup(this.data.goodsId, this.data.optionsId, this.data.goodsCount);
+ } else {
+ this.buyNowRequest(this.data.goodsId, this.data.optionsId, this.data.goodsCount);
+ }
+ },
+ hidePopView2() {
+ // this.triggerEvent('popupModeshowChild', true) 传给父组件取消遮罩
+ this.triggerEvent("popupModeshowChild", true);
+ this.setData({
+ popupSpecs2: false,
+ });
+ },
+ //立即购买网络操作 no
+ buyNowRequest(_goodsId, _optionsId, _total) {
+ //库存不足
+ if (this.data.optionsMaxCount == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "商品库存不足",
+ duration: 2500,
+ });
+ return;
+ }
+ if (_total <= 0) {
+ wx.showToast({
+ icon: "none",
+ title: "请选择商品数量",
+ duration: 2500,
+ });
+ return;
+ }
+ if (this.data.goodsInfo.has_option == 1 && app._isTextEmpty(_optionsId)) {
+ wx.showToast({
+ icon: "none",
+ title: "请选择规格!",
+ duration: 2500,
+ });
+ return;
+ }
+ let that = this;
+ let goods = [];
+ goods.push(_goodsId);
+ let urlStr = app.getNetAddresss("from.div-from.isDisplay");
+ urlStr += "&goods_ids=" + JSON.stringify(goods);
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ // var _data = res.data;
+ if (res.data.status && !res.data.member_status) {
+ wx.showModal({
+ title: "提示",
+ content: "购买此商品,请补充您的个人信息",
+ success(res) {
+ if (res.confirm) {
+ //保税真实信息添加
+ wx.navigateTo({
+ url: "/packageB/member/address/myinfo/myinfo?tag=delta",
+ });
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ } else {
+ let url = "/packageD/buy/myOrder_v2/myOrder_v2?goodsId=" + _goodsId + "&optionsId=" + _optionsId + "&total=" + _total + '&tag=';
+ if (that.data.activityid) {
+ wx.navigateTo({
+ url: url + that.data.submitActionTag + "&activity_id=" + that.data.activityid,
+ });
+ return;
+ }
+ if(!app._isTextEmpty(that.data.debtId)){
+ // 有债务人店铺id就加上
+ wx.navigateTo({
+ url: url + "&debtId=" + that.data.debtId,
+ });
+ return;
+ }
+ if (that.data.goodsType == "appointment_goods") {
+ wx.navigateTo({
+ url: url + "appointment_goods",
+ });
+ return;
+ }
+ if (that.data.goodsType == "yunqian_api") {
+ wx.navigateTo({
+ url: url + "yunqian_api",
+ });
+ return;
+ }
+ if (that.data.goodsType == "store_projects_goods") {
+ //* 门店核销
+ wx.navigateTo({
+ url: url + "store_projects_goods",
+ });
+ return;
+ }
+ if (!that.data.isCup) {
+ if (that.data.isRent) {
+ wx.navigateTo({
+ url: url + "rentBuy" + "&mark=" + that.data.mark,
+ });
+ } else {
+ url = url + that.data.submitActionTag + "&mark=" + that.data.mark + "&fromStock=" + that.data.fromStock;
+ wx.navigateTo({
+ url: url,
+ });
+ }
+ } else if (that.data.vieText == "POrder") {
+ wx.navigateTo({
+ url: url + "POrder",
+ });
+ } else {
+ wx.navigateTo({
+ url: url + that.data.submitActionTag + "&fromStock=" + that.data.fromStock,
+ });
+ }
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ //提交确认
+ submitAction() {
+ let specsManage = this.data.specsManage;
+ if (specsManage.length < this.data.goodsInfo.has_many_specs.length) {
+ this.setData({
+ popupSpecs: false,
+ });
+ this.triggerEvent("popupModeshowChild", true);
+ wx.showToast({
+ icon: "none",
+ title: this.data.goodsDescription,
+ duration: 2500,
+ });
+ return;
+ }
+ if (this.data.submitActionTag == this.data.SUBMIT_ACTION_CART) {
+ //购物车网络处理
+ this.setData({
+ popupSpecs: false,
+ });
+ this.triggerEvent("popupModeshowChild", true);
+ this.addCartRequest(this.data.goodsId, this.data.optionsId, this.data.goodsCount);
+ } else if (this.data.submitActionTag == this.data.SUBMIT_ACTION_BUY) {
+ //立即购买处理
+ this.setData({
+ popupSpecs: false,
+ });
+ this.triggerEvent("popupModeshowChild", true);
+ if(this.data.submitTag == 'design'){
+ this.triggerEvent('paramsOptionsId',{'option':this.data.optionsId,'goodsCount':this.data.goodsCount});
+ return;
+ }
+ this.buyNowRequest(this.data.goodsId, this.data.optionsId, this.data.goodsCount);
+ }
+ },
+ // 输入数量
+ inputGoodsNum: function (e) {
+ var num = parseInt(e.detail.value);
+ var lastgoodsCount = this.data.goodsCount;
+ if (e.detail.keyCode == 8) {
+ if (app._isTextEmpty(e.detail.value)) {
+ this.setData({
+ goodsCount: "",
+ });
+ return;
+ }
+ }
+ if (num) {
+ this.setData({
+ goodsCount: num,
+ });
+ } else {
+ this.setData({
+ goodsCount: lastgoodsCount,
+ });
+ }
+ },
+ //============================= 规格操作处理 ==============================
+ //界面选择规格触发事件
+ selectSpecs(e, str, i) {
+ let data = {};
+ let specsIdex = 0;
+ if (str == "first") {
+ specsIdex = i;
+ data = e;
+ } else if (str == "sku_swiper") {
+ data = e;
+ } else {
+ specsIdex = e.currentTarget.dataset.specsidex;
+ data = e.currentTarget.dataset.specitem;
+ }
+
+ if (data.c) {
+ return false;
+ }
+ this.setData({
+ ["goodsInfo.has_many_specs[" + specsIdex + "].description"]: data.id,
+ });
+ this.isShowMultiSpecsMemPrice(); //是否需要显示多规格会员价
+ // let specid = data.specid; //对其他数据筛选 不筛选同级
+ //处理选择池
+ this.manageSpecs(data);
+ //处理规格组合选择状态
+ this.setGoodsSpecs(data);
+ //设置选择规格后的 价格、照片、库存
+ this.setGoodsSpecsChangeInfo();
+ //判断当前购买总量与库存的关系
+ this.getMaxCount();
+ this.triggerEvent('paramsOptionsId',{'option':this.data.optionsId,'goodsCount':this.data.goodsCount});
+ },
+ isShowMultiSpecsMemPrice() {
+ //判断是否需要显示多规格会员价【#70785】
+ let arr = ["groupBuy", "grabGroup", "grabGroup", "group_goods",'retailGood','starGroup','zhpGroup']; //拼团类(独立的金额设置没有关联商城商品规格价)、积分商品不需要显示会员价
+ if (arr.indexOf(this.data.goodsType) != -1) {
+ this.setData({
+ isMultiSpecs: false
+ });
+ return;
+ }
+ this.setData({
+ isMultiSpecs: this.data.vip_show
+ });
+ //注释代码 this.goodsInfo.is_open_micro && Number(this.goodsInfo.is_open_micro) == 1
+ //注释原因:二开会员价 #87399 去掉原插件判断
+ // let _is_open_micro = 0;
+ // if (this.data.goods_plugin) _is_open_micro = this.data.goods_plugin?.member_price?.is_open_micro || 0;
+ // if (Number(_is_open_micro) == 1 && this.data.goodsInfo.has_option == 1) {
+ // this.setData({
+ // isMultiSpecs: true
+ // });
+ // } else {
+ // this.setData({
+ // isMultiSpecs: false
+ // });
+ // }
+ },
+ //处理选择池
+ manageSpecs(data) {
+ let specsObject = new Object();
+ let specsManage = this.data.specsManage;
+ specsObject.id = data.id;
+ specsObject.specid = data.specid;
+ specsObject.title = data.title;
+
+ if (specsManage.length > 0) {
+ for (let i = 0; i < specsManage.length; i++) {
+ if (specsManage[i].specid == specsObject.specid) {
+ specsManage.splice(i, 1);
+ }
+ }
+ specsManage.push(specsObject);
+ } else {
+ specsManage.push(specsObject);
+ }
+
+ //排序
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ var newSpecsManage = [];
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.goodsInfo.has_many_specs[i].id == specsManage[j].specid) {
+ newSpecsManage.push(specsManage[j]);
+ break;
+ }
+ }
+ }
+ specsManage = newSpecsManage;
+ }
+ this.setData({
+ specsManage: specsManage,
+ });
+ this.setGoodsDescription();
+ },
+ //处理goodsDescription 数据
+ setGoodsDescription() {
+ let description = "";
+ let specsManage = this.data.specsManage;
+ //相等代表全选了 体现语句
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ description = "已选择 ";
+ for (let i = 0; i < specsManage.length; i++) {
+ description += specsManage[i].title + " ";
+ }
+ this.setData({
+ goodsDescription: description,
+ });
+ } else {
+ description = "请选择 ";
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.goodsInfo.has_many_specs[i].id != specsManage[j].specid) {
+ description += this.data.goodsInfo.has_many_specs[i].title + " ";
+ break;
+ }
+ }
+ }
+ this.setData({
+ goodsDescription: description,
+ });
+ }
+ },
+ //处理规格组合选择状态 过滤数据
+ setGoodsSpecs(specs) {
+ // let goodsInfo = this.data.goodsInfo;
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ if (specs.specid != this.data.goodsInfo.has_many_specs[i].id) {
+ // let specitem = this.setGoodsSpecsStatus(this.data.goodsInfo.has_many_specs[i].specitem, specs.id);
+ // this.setData({
+ // ["goodsInfo.has_many_specs[" + i + "].specitem"]: specitem
+ // })
+ }
+ }
+ },
+ //设置选择规格后的 价格、照片、库存
+ setGoodsSpecsChangeInfo() {
+ let specsManage = this.data.specsManage;
+ let popPrice = "";
+ //根据ID 排序 specsManage.sort();
+ specsManage.sort(function (a, b) {
+ return a.id - b.id;
+ });
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ let goodsSpecs = "";
+ for (let j = 0; j < specsManage.length; j++) {
+ goodsSpecs += specsManage[j].id + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+ for (let i = 0; i < this.data.goodsInfo.has_many_options.length; i++) {
+ if (goodsSpecs == this.setGoodsSpecsBySort(this.data.goodsInfo.has_many_options[i].specs)) {
+ if (this.data.goods_plugin.point_goods) {
+ popPrice = this.data.goods_plugin.point_goods.point_option[i].goods_point; //设置默认价格
+ } else {
+ popPrice = this.data.goodsInfo.has_many_options[i].product_price; //设置默认价格
+ }
+ this.setData({
+ activeSkuIndex: i,
+ popPrice: popPrice, //设置价格
+ popThumb: app._isTextEmpty(this.data.goodsInfo.has_many_options[i].thumb) ? this.data.goodsInfo.thumb : this.data.goodsInfo.has_many_options[i].thumb, //设置图片
+ popStock: this.data.goodsInfo.has_many_options[i].stock, //设置库存
+ optionsId: this.data.goodsInfo.has_many_options[i].id, //设置规格ID,用于生成订单
+ give_integral_count:this.data.goodsInfo.has_many_options[i].points
+ });
+ this.data.optionsMaxCount = this.data.goodsInfo.has_many_options[i].stock; //库存最大数 用于切换更改买家购买数量
+ if (this.data.optionsMaxCount > 0) {
+ this.setData({
+ goodsCount: 1,
+ });
+ }
+ if (this.data.isMultiSpecs) this.getMemberPrice(this.data.optionsId);
+
+ if (this.data.goodsType == "group_goods") {
+ console.log(this.data.goodsType, 'group_goods');
+ this.setGroupInfo(this.data.optionsId); // 设置选择后规格对应的层级 过滤数据
+ } else {
+ this.setZhpGroupInfo(this.data.optionsId);
+ }
+ break;
+ }
+ }
+ }
+
+ this.setData({
+ specsManage: specsManage,
+ });
+ },
+ //处理商品goodsSpecs 并排序 新方法
+ setGoodsSpecsBySort(specs) {
+ let _specs = specs.split("_"); //先变成数组
+ //_specs.sort();//排序
+ _specs.sort(function (a, b) {
+ return a - b;
+ });
+ // 在组装回去
+ let goodsSpecs = "";
+ for (let j = 0; j < _specs.length; j++) {
+ goodsSpecs += _specs[j] + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+ return goodsSpecs;
+ },
+ //判断当前购买总量与库存的关系
+ getMaxCount() {
+ let specsManage = this.data.specsManage;
+ let optionsMaxCount = this.data.optionsMaxCount;
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ if (optionsMaxCount == 0) {
+ //库存不足
+ this.setData({
+ goodsCount: 0,
+ });
+ }
+ if (this.data.goodsCount > optionsMaxCount) {
+ this.setData({
+ goodsCount: optionsMaxCount,
+ });
+ }
+ }
+ },
+ // ================================= end ============================
+ getMemberPrice(_optionsId) {
+ if (!_optionsId) return;
+ let specsVIPPrc = 0;
+ this.setData({specsVIPPrc});
+ let urlStr = app.getNetAddresss("goods.other-info.option-vpi-price");
+ urlStr += "&option_id=" + _optionsId;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ specsVIPPrc = res.data.vip_price || null;
+ } else {
+ specsVIPPrc = null;
+ }
+ this.setData({specsVIPPrc});
+ },
+ fail: function (res) {
+ specsVIPPrc = null;
+ this.setData({specsVIPPrc});
+ },
+ });
+
+ },
+ //******************** 加入购物车网络操作 ***************
+ addCartRequest(_goodsId, _optionsId, _total) {
+ //库存不足
+ if (this.data.optionsMaxCount == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "商品库存不足",
+ duration: 2500,
+ });
+ return;
+ }
+ if (_total <= 0) {
+ this.setData({
+ popupSpecs: false,
+ popupModeshow: true,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "请选择商品数量",
+ duration: 2500,
+ });
+ return;
+ }
+
+ let that = this;
+ let goods = [];
+ goods.push(_goodsId);
+ let urlStr = app.getNetAddresss("from.div-from.isDisplay");
+ urlStr += "&goods_ids=" + JSON.stringify(goods);
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ // var _data = res.data;
+ if (res.data.status && !res.data.member_status) {
+ wx.showModal({
+ title: "提示",
+ content: "购买此商品,请补充您的个人信息",
+ success(res) {
+ if (res.confirm) {
+ //保税真实信息添加
+ wx.navigateTo({
+ url: "/packageB/member/address/myinfo/myinfo?tag=delta",
+ });
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ } else {
+ that.addCartReq(_goodsId, _optionsId, _total);
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ addCartReq(_goodsId, _optionsId, _total) {
+ // let that = this;
+ let urlStr = app.getNetAddresss("member.member-cart.store");
+ urlStr += "&goods_id=" + _goodsId;
+ urlStr += "&total=" + _total;
+ urlStr += "&option_id=" + _optionsId;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ app.globalData.cart_num = res.data.cart_num;
+ this.triggerEvent('changeCartNumber', res.data.cart_num);
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ // *********************** 加入购物车网络操作end ****************
+ // *********************** 拼团 Start ****************
+ selectGroup(e) {
+ if (e) {
+ let item = e.target.dataset.item || e.currentTarget.dataset.item;
+ this.setData({
+ groupModel: item.id
+ });
+ }
+ if(!this.data.groupModel){
+ this.setData({
+ groupModel: this.data.gooddatas.has_many_level[0].id
+ });
+ }
+ let selectGroupLever = [];
+ if (!app._isTextEmpty(this.data.groupModel)) {
+ if (this.data.goodsInfo.has_option == 1) {
+ // 有规格
+ if (app._isTextEmpty(this.data.optionsId) || this.data.optionsId == 0) {
+ wx.showToast({
+ title: "请选择商品规格!",
+ icon: "none",
+ duration:2500
+ });
+ this.setData({
+ groupModel: "",
+ });
+ return;
+ } else {
+ selectGroupLever = this.data.selectGroupInfo.filter( (v)=> {
+ if (v.level_id == this.data.groupModel) {
+ return v.group_price;
+ }
+ });
+ this.setData({
+ popPrice: selectGroupLever[0].group_price,
+ });
+ this.setData({
+ option_level_id: selectGroupLever[0].id,
+ });
+ }
+ } else {
+ // 无规格
+ this.setData({
+ selectGroupInfo: this.data.gooddatas.has_many_options[0].has_many_option_level,
+ optionsMaxCount: this.data.gooddatas.has_many_options[0].buy_limit == 0 ? this.data.gooddatas.has_many_options[0].stock : this.data.gooddatas.has_many_options[0].buy_limit // 当前组合的购买限制数, 为0 时为无限制购买
+ });
+
+ selectGroupLever = this.data.selectGroupInfo.filter( (v)=> {
+ if (v.level_id == this.data.groupModel) {
+ return v.group_price;
+ }
+ });
+ this.setData({
+ option_level_id: selectGroupLever[0].id,
+ popPrice: selectGroupLever[0].group_price,
+ });
+ }
+ }
+ },
+ openTeam() {
+ let that = this;
+ // popStock
+ if (this.data.popStock == 0||this.data.goodsCount > this.data.popStock) {
+ wx.showToast({
+ title: "库存不足",
+ icon: "none",
+ duration:2500
+ });
+ this.setData({
+ goodsCount: this.data.popStock,
+ });
+ return;
+ }
+ if (this.data.optionsMaxCount != 0 && this.data.goodsCount > this.data.optionsMaxCount) {
+ wx.showToast({
+ title: `抱歉,该商品限购${this.data.optionsMaxCount}件`,
+ icon: "none",
+ duration:2500
+ });
+ this.setData({
+ goodsCount: this.data.optionsMaxCount,
+ });
+ return;
+ }
+ if (this.data.goodsCount < 0) {
+ wx.showToast({
+ title: "商品数量不能小于0",
+ icon: "none",
+ duration:2500
+ });
+ this.setData({
+ goodsCount: 1,
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.groupModel)) {
+ wx.showToast({
+ title: "请选择开团点",
+ icon: "none",
+ duration:2500
+ });
+ return;
+ }
+ let goods = [];
+ goods.push(that.data.goodsId);
+ let urlStr = app.getNetAddresss("from.div-from.isDisplay");
+ urlStr += "&goods_ids=" + JSON.stringify(goods);
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var _data = res.data;
+ console.log("xxxx", _data);
+ if (res.data.status && !res.data.member_status) {
+ wx.showModal({
+ title: "提示",
+ content: "购买此商品,请补充您的个人信息",
+ success(res) {
+ if (res.confirm) {
+ //保税真实信息添加
+ wx.navigateTo({
+ url: "/packageB/member/address/myinfo/myinfo?tag=group" + "&activityId=" + that.data.activityId,
+ });
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ } else {
+ let storeid = 0;
+ if (that.properties.store_id && that.properties.store_id != undefined && that.properties.store_id != 0) {
+ storeid = that.properties.store_id;
+ }
+ console.log(that.data,555)
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2" +
+ "&goodsId=" +
+ that.data.goodsId +
+ "&optionsId=" +
+ that.data.optionsId +
+ "&total=" +
+ that.data.goodsCount +
+ "&level_id=" +
+ that.data.groupModel +
+ "&option_level_id=" +
+ that.data.option_level_id +
+ "&groupStoreID=" +
+ storeid,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ // 设置拼团层级的选择状态 过滤数据
+ setGroupInfo(_id) {
+ let that = this;
+ if(this.data.gooddatas && this.data.gooddatas.has_many_options){
+ for (let i = 0; i < this.data.gooddatas.has_many_options.length; i++) {
+ let _optionSpecs = this.data.gooddatas.has_many_options[i].option_id;
+ if (_optionSpecs == this.data.optionsId) {
+ that.setData({
+ selectGroupInfo: this.data.gooddatas.has_many_options[i].has_many_option_level,
+ });
+ this.data.optionsMaxCount = this.data.gooddatas.has_many_options[i].buy_limit == 0 ? this.data.gooddatas.has_many_options[0].stock : this.data.gooddatas.has_many_options[0].buy_limit; // 当前组合的购买限制数, 为0 时为无限制购买
+ this.setData({
+ popStock:this.data.gooddatas.has_many_options[i].stock,
+ });
+
+ this.selectGroup();
+ return;
+ }
+ }
+ }
+ },
+ // 抢团
+ checkActivity() {
+ let that = this;
+ let urlStr = null;
+ if (this.data.popPrice == 0) {
+ wx.showModal({
+ title: "提示",
+ showCancel: false,
+ content: "开团/参团金额不正确,不能为0",
+ success(res) {},
+ });
+ return;
+ }
+ urlStr = app.getNetAddresss("plugin.snatch-regiment.api.index.getSnatchData");
+ urlStr += "&at_id=" + this.data.activityId + "&art=inspectOverrun" + "&option_id=" + this.data.optionsId + "&goods_id=" + this.data.goodsId + "&total=" + this.data.goodsCount;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ isCheckActivity: true,
+ });
+ console.log(this.data.isAward, "456");
+ if (this.data.goodsType == "grabGroup" && this.data.isAward == 1) {
+ console.log("团长开团不参与中奖");
+ //团长开团不参与中奖
+ wx.showModal({
+ title: "提示",
+ content: "开团后不参与中奖?",
+ success(res) {
+ if (res.confirm) {
+ that.popupSpecsbtn();
+ that.OpenLeader();
+ } else if (res.cancel) {
+ wx.showToast({
+ icon: "none",
+ title: "已取消",
+ duration: 2500,
+ });
+ }
+ },
+ });
+ } else if (this.data.goodsType == "grabGroup" && this.data.isAward == 2) {
+ //团长开团参与中奖
+ this.submitActionQt();
+ }
+ } else {
+ this.setData({
+ isCheckActivity: false,
+ });
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ });
+ },
+ OpenLeader() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.snatch-regiment.api.team.OpenLeader");
+ urlStr += "&at_id=" + that.data.activityId + "&goods_id=" + that.data.goodsId;
+
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "开团成功!",
+ duration: 2500,
+ });
+ wx.navigateTo({
+ url: "/packageE/grab_group/grab_group_my/grab_group_my",
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ });
+ },
+ submitActionQt() {
+ let _goodsId = this.data.goodsId;
+ let _optionsId = this.data.optionsId;
+ let _total = this.data.goodsCount;
+ //库存不足
+ if (this.data.optionsMaxCount == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "商品库存不足",
+ duration: 2500,
+ });
+ return;
+ }
+ if (_total <= 0) {
+ wx.showToast({
+ icon: "none",
+ title: "请选择商品数量",
+ duration: 2500,
+ });
+ return;
+ }
+ let that = this;
+ let goods = [];
+ goods.push(_goodsId);
+ let urlStr = app.getNetAddresss("from.div-from.isDisplay");
+ urlStr += "&goods_ids=" + JSON.stringify(goods);
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ // var _data = res.data;
+ if (res.data.status && !res.data.member_status) {
+ wx.showModal({
+ title: "提示",
+ content: "购买此商品,请补充您的个人信息",
+ success(res) {
+ if (res.confirm) {
+ //保税真实信息添加
+ wx.navigateTo({
+ url: "/packageB/member/address/myinfo/myinfo?tag=delta",
+ });
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2" + "&optionsId=" + _optionsId + "&goodsId=" + _goodsId + "&total=" + _total + "&type=grabGroup_open" + "&at_id=" + that.data.activityId,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ // ================================== 新零售 --- 购买流程 ============================
+ buyNowRequestRetailGood(_goodsId, _optionsId, _total) {
+ if (this.data.optionsMaxCount == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "商品库存不足",
+ duration: 2500,
+ });
+ return;
+ }
+ if (_total <= 0) {
+ wx.showToast({
+ icon: "none",
+ title: "请选择商品数量",
+ duration: 2500,
+ });
+ return;
+ }
+ if (this.data.goodsInfo.has_option == 1 && app._isTextEmpty(_optionsId)) {
+ wx.showToast({
+ icon: "none",
+ title: "请选择规格!",
+ duration: 2500,
+ });
+ return;
+ }
+
+ if (this.data.popPrice == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "价格设置有误,请联系客服!",
+ duration: 2500,
+ });
+ return;
+ }
+ if (this.data.mode == 2 && this.data.levelModel == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "请选择等级套餐!",
+ duration: 2500,
+ });
+ return;
+ }
+
+ let url = "/packageD/buy/myOrder_v2/myOrder_v2?tag=newRetail";
+ //自主进货下单:相当于不需要配送方式的虚拟商品
+ //retail_state: 0-自由零售 1-成为代理商订单 2-自由发货 3-线上零售 4-进货订单 5-销售代理套餐订单
+ let retail_state = null;
+ console.log(this.data.buyType, "asdasd");
+ if (this.data.mode == 3 && this.data.buyType == 2) {
+ //自由进货
+ retail_state = 4;
+ } else if (this.data.mode == 2 && this.data.buyType == 2) {
+ //代理套餐 的 立即购买
+ retail_state = 1;
+ wx.navigateTo({
+ url: url + "&goodsId=" + _goodsId + "&optionsId=" + _optionsId + "&total=" + _total + "&retailState=" + retail_state + "&NRLevelId=" + this.data.levelModel,
+ });
+ return;
+ } else if (this.data.mode == 1 && this.data.buyType == 2) {
+ //自由零售
+ retail_state = 0;
+ } else if (this.data.mode == 2 && this.data.buyType == 1) {
+ //代理套餐 的代理销售。跳转二维码页面
+ retail_state = 5;
+ this.agentSales(_optionsId, _total);
+ return;
+ }
+
+ wx.navigateTo({
+ url: url + "&goodsId=" + _goodsId + "&optionsId=" + _optionsId + "&total=" + _total + "&retailState=" + retail_state,
+ });
+ },
+ agentSales(_optionsId, goodsCount) {
+ // let that = this;
+ let urlStr = app.getNetAddresss("plugin.new-retail.frontend.index.agentSales");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ goods_id: this.data.goodsId,
+ goods_option: _optionsId,
+ goods_num: goodsCount,
+ level_id: this.data.levelModel,
+ goods_name: this.data.goodsInfo.title,
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ this.popupSpecsbtn();
+ if (res.result == 1) {
+ wx.navigateTo({
+ url: "/packageH/newRetail/newRetail_agencyPackage/newRetail_agencyPackage?id=" + res.data.id,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ duration: 2500,
+ icon: "none",
+ });
+ }
+ },
+ fail: function (res) {
+ wx.hideLoading();
+ console.log(res.msg);
+ },
+ });
+ },
+ clickLevelModel(e) {
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ popPrice: item.level_unit_total_price,
+ goodsCount: item.level_num,
+ levelModel: item.level_id,
+ });
+ },
+ // -------------------------------------------- 珍惠拼 拼团 -----------------------------------------------------
+ buyNowRequestZhpGroup(_goodsId, _optionsId, _total) {
+ this.hidePopView2();
+ let submitActionTag = 'zhpGroup';
+ let activity_id = this.data.gooddatas.id;
+ let url = "/packageD/buy/myOrder_v2/myOrder_v2?tag=";
+ this.triggerEvent("popupModeshowChild", true);
+ if (_optionsId == 0 || _optionsId == '') {
+ this.setData({
+ popupSpecs2: false
+ });
+ } else {
+ this.setData({
+ popupSpecs: false
+ });
+ }
+ wx.navigateTo({
+ url: url + submitActionTag + "&goodsId=" + _goodsId + "&optionsId=" + _optionsId + "&total=" + _total + "&activity_id=" + activity_id,
+ });
+ },
+ // 设置 珍惠拼 拼团层级的选择状态 过滤数据
+ setZhpGroupInfo(_id) {
+ // let that = this;
+ if(this.data.gooddatas && this.data.gooddatas.has_many_options){
+ for (let i = 0; i < this.data.gooddatas.has_many_options.length; i++) {
+ let _optionSpecs = this.data.gooddatas.has_many_options[i].option_id;
+ if (_optionSpecs == this.data.optionsId) {
+ this.data.optionsMaxCount = this.data.gooddatas.has_many_options[i].buy_limit == 0 ? this.data.gooddatas.has_many_options[0].stock : this.data.gooddatas.has_many_options[0].buy_limit; // 当前组合的购买限制数, 为0 时为无限制购买
+ this.setData({
+ popStock: this.data.gooddatas.has_many_options[i].stock,
+ popPrice: this.data.gooddatas.has_many_options[i].group_price
+ });
+ }
+ }
+ }
+ }
+ },
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/buyNow/buyNow.json b/packageA/mycomponent/goodsComponent/buyNow/buyNow.json
new file mode 100644
index 0000000..86cc1f2
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/buyNow/buyNow.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-rate": "../../../../dist/rate/index",
+ "van-icon": "../../../../dist/icon/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-cell": "../../../../dist/cell/index",
+ "van-loading": "../../../../dist/loading/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/buyNow/buyNow.wxml b/packageA/mycomponent/goodsComponent/buyNow/buyNow.wxml
new file mode 100644
index 0000000..afb67a3
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/buyNow/buyNow.wxml
@@ -0,0 +1,215 @@
+
+
+ var getRatio = function (num) {
+ return Number(num).toFixed(2)
+ };
+ var propotion = function (string){
+ return string.indexOf("%");
+ }
+ var fiexd = function(string){
+ return string.toFixed(2);
+ }
+ module.exports.getRatio = getRatio;
+ module.exports.propotion = propotion;
+ module.exports.fiexd = fiexd;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ goodsInfo.has_option == 1 ?
+ (goods_plugin.point_goods.min_point == goods_plugin.point_goods.max_point ? goods_plugin.point_goods.min_point :
+ goods_plugin.point_goods.min_point + "-" + goods_plugin.point_goods.max_point) : goodsInfo.point
+ }}{{integral}}
+
+
+ {{language['money']}}{{goodsInfo.has_many_options[activeSkuIndex].product_price}}
+ {{language['money']}}{{goodsInfo.price}}
+ {{activeSkuIndex+1}}/{{skuImages.length}}
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/buyNow/buyNow.wxss b/packageA/mycomponent/goodsComponent/buyNow/buyNow.wxss
new file mode 100644
index 0000000..046e037
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/buyNow/buyNow.wxss
@@ -0,0 +1,376 @@
+/* packageA/mycomponent/goodsComponent/buyNow/buyNow.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+.price_Vip{
+ color: #FD7B0C;
+ text-align: left;
+ font-size: 22rpx;
+}
+.shadeMode_2 {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 2001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode .specifications {
+ display: none;
+ overflow: visible;
+ position: relative;
+ width: 100%;
+ padding-top: 20rpx;
+}
+
+/* 有规格样式 */
+
+.shadeMode {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 1001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+/* 有规格样式end */
+
+.shadeMode_2 .specifications {
+ overflow: visible;
+ position: relative;
+ width: 100%;
+ padding-top: 20rpx;
+}
+
+.shadeModeShow {
+ bottom: 0;
+}
+
+.shadeModeShow .specifications {
+ display: block;
+}
+
+.specifications .icon_close {
+ position: absolute;
+ top: -40rpx;
+ right: 0;
+ width: 80rpx;
+ height: 100rpx;
+}
+
+.specifications .icon_close .guanbi_icon {
+ position: absolute;
+ left: 25%;
+ top: 50%;
+ width: 40rpx;
+}
+
+.specifications .shopimg {
+ display: flex;
+ overflow: visible;
+}
+
+.specifications .shopimg .chooser_img {
+ position: relative;
+ width: 180rpx;
+ height: 180rpx;
+ overflow: visible;
+}
+
+.specifications .shopimg .chooser_img image {
+ position: absolute;
+ top: -70rpx;
+ left: 20rpx;
+ width: 100%;
+ height: 180rpx;
+ border-radius: 4rpx;
+ border: 2rpx solid #f0f1f3;
+}
+
+.specifications .shopimg .right {
+ margin-left: 60rpx;
+}
+
+.specifications .shopimg .price {
+ color: #f15353;
+ font-size: 32rpx;
+ line-height: 60rpx;
+ height: 60rpx;
+ overflow: hidden;
+}
+
+.specifications .shopimg .price text {
+ font-size: 36rpx;
+}
+
+.specifications .shopimg .price .member-price {
+ font-size: 12px;
+ color: #fdbc2e;
+}
+
+.specifications .shopimg .price .m-l-w6 {
+ margin-left: 6px;
+ display: inline-block;
+}
+
+.specifications .shopimg .option {
+ color: #999;
+ font-size: 20rpx;
+ line-height: 32rpx;
+ height: 32rpx;
+ overflow: hidden;
+}
+
+.specifications .goodsnum {
+ border-top: solid 2rpx #f2f2f2;
+ border-bottom: solid 2rpx #f2f2f2;
+ margin: 40rpx 28rpx;
+ padding: 0;
+ font-size: 28rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+.specifications .goodsnum .num {
+ height: 120rpx;
+ line-height: 120rpx;
+}
+
+.specifications .goodsnum .calculation {
+ display: flex;
+ margin-top: 32rpx;
+ border-radius: 4rpx;
+ background-color: #fff;
+}
+
+.specifications .goodsnum .calculation .leftnav {
+ height: 56rpx;
+ width: 56rpx;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 4rpx;
+ line-height: 56rpx;
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.specifications .goodsnum .calculation .shownum {
+ height: 56rpx;
+ width: 56rpx;
+ border: 0;
+ margin: 0px 8px;
+ padding: 0;
+ text-align: center;
+ color: #333;
+}
+
+.specifications .goodsnum .calculation .rightnav {
+ height: 56rpx;
+ width: 56rpx;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 4rpx;
+ line-height: 56rpx;
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.specifications .shopinfoContent {
+ overflow-y: auto;
+ max-height: 500rpx;
+}
+
+.specifications .shopinfo {
+ text-align: left;
+ padding-left: 20rpx;
+ margin: 20rpx 0;
+
+ /* max-height: 200rpx;
+ overflow: scroll; */
+}
+
+.specifications .shopinfo .dl .dt {
+ margin-bottom: 10rpx;
+}
+
+.specifications .shopinfo .dl .dd {
+ margin-bottom: 10rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.specifications .shopinfo .dl .dd .spec {
+ border: 1px solid #bfcbd9;
+ padding: 10rpx;
+ min-width: 50rpx;
+ border-radius: 6rpx;
+ margin-right: 10rpx;
+ margin-bottom: 10rpx;
+ text-align: center;
+}
+
+.specifications .shopinfo .dl .dd .spec.sele {
+ background-color: #f15353;
+ border-color: #f15353;
+ color: #fff;
+}
+
+.specifications .shopinfo .dl .dd .spec.disab {
+ opacity: 0.5;
+}
+
+.specifications .subbtn {
+ line-height: 100rpx;
+ width: 100%;
+ text-align: center;
+ background: #e64340;
+ color: #fff;
+ font-size: 30rpx;
+}
+
+/* 点击图片放大 */
+
+.sku_swiper {
+ position: relative;
+
+ /* top: 50%;
+ left: 0; */
+ width: 100vw;
+ height: 760rpx;
+
+ /* transform: translateY(-50%) */
+}
+
+.sku_swiper_child {
+ width: 100%;
+ height: 760rpx !important;
+ display: flex;
+ align-items: center;
+}
+
+.sku_swiper_child image {
+ width: 100%;
+}
+
+.sku_other {
+ margin-top: 12rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+}
+
+.sku_title {
+ flex: 1;
+ font-size: 32rpx;
+ text-align: center;
+}
+
+.swiper_num {
+ width: 80rpx;
+ display: block;
+ text-align: center;
+}
+
+
+/* end */
+
+/* 拼团 */
+.select_box .select {
+ /* border-top: solid 2rpx #ebebeb; */
+
+ display: flex;
+ flex-wrap: wrap;
+ padding: 28rpx 0;
+ font-size: 14px;
+}
+
+.select_box .select .li {
+ width: 215rpx;
+ padding: 20rpx 0;
+ border: solid 2rpx #ebebeb;
+ border-radius: 8rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.select_box .select .li .span {
+ display: block;
+ font-size: 14px;
+}
+
+.select_box .select .li .span .font {
+ font-size: 18px;
+}
+
+.select_box .select .li:nth-child(3n) {
+ margin-right: 0;
+}
+
+.select_box .select .current {
+ border: solid 2rpx #f15353;
+ color: #f15353;
+}
+
+.select_box {
+ display: flex;
+ padding: 28rpx 28rpx 0 28rpx;
+}
+
+.vantRadioshow {
+ background-color: #f15353;
+ border-color: #f15353;
+ color: #fff;
+
+ /* box-shadow: #f15353 -1px 0px 0px 0px; */
+}
+
+.specifications .shopinfoContent {
+ overflow-y: auto;
+ max-height: 500rpx;
+}
+
+.give_integral_wrapper {
+ position: relative;
+ display: flex;
+ width: 62vw;
+ text-align: left;
+ align-self: flex-end;
+}
+
+.give_integral_wrapper .give_integral_text {
+ position: absolute;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 35rpx !important;
+ height: 35rpx !important;
+ font-size: 22rpx;
+ color: #fff;
+ background-color: #ec544a;
+ border-radius: 50%;
+}
+
+.give_integral_wrapper .give_integral_num {
+ display: inline-flex;
+ align-items: center;
+ height: 35rpx !important;
+ padding: 6rpx 16rpx 6rpx 42rpx;
+ box-sizing: border-box;
+ font-size: 22rpx;
+ color: #ec544a;
+ background-color: #fff5f4;
+ border-radius: 15%;
+}
diff --git a/packageA/mycomponent/goodsComponent/foot/foot.js b/packageA/mycomponent/goodsComponent/foot/foot.js
new file mode 100644
index 0000000..5a0b40f
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/foot/foot.js
@@ -0,0 +1,704 @@
+// packageA/mycomponent/goodsComponent/foot/foot.js
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ ipnonexbol: {
+ type: null,
+ },
+ goodsType: {
+ type: null,
+ },
+ goods_plugin: {
+ type: null,
+ },
+ activityid: {
+ type: null,
+ },
+ isBegTime: {
+ type: null,
+ },
+ isRent: {
+ type: null,
+ },
+ isTime: {
+ type: null,
+ },
+ beginDownObj: {
+ type: null,
+ },
+ goodsId: {
+ type: Number,
+ },
+ enterAt: {
+ type: Object,
+ },
+ goodsInfo: {
+ type: null,
+ },
+ isTimeEnd: {
+ type: null,
+ },
+ leader_partake: {
+ type: null,
+ },
+ leader_not_join_invalid: {
+ type: null,
+ },
+ mode: {
+ type: null,
+ },
+ cart_num: {
+ // 购物车数量
+ type: null,
+ },
+ debtId:{
+ // 置换亿栈店铺id
+ type:null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ // 拼团
+ group_price: "",
+ // 客服
+ service_mobile: "",
+ service_QRcode: "",
+ customer_open: false,
+ show1: false,
+ isAddCart: false,
+ SUBMIT_ACTION_CART: "-1", //添加到购物车
+ SUBMIT_ACTION_BUY: "-2", //立即购买
+ specsManage: [],
+ goodsCount: 1,
+ language: "",
+ beginDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ is_yz_supplyGoods: false,
+ gooddatas: [],
+ //是否显示购物车
+ nocart: false,
+ //限时购开关
+ isBuy: false,
+ goods_info: [],
+ timestamp: Date.parse(new Date()) / 1000,
+ checkSetTimeOut: '',
+ isShowShop: true,//是否显示首页or店铺入口
+ isOpenGroup:false,
+ isbuyGroup:false,
+ },
+ observers: {
+ "goodsInfo,goodsType": function (info, type) {
+ if (type != "group_goods" && type != "grabGroup") {
+ this.setIsAddCart();
+ if (type == "hotelGoods") {
+ this.isFavorite();
+ }
+ if (info?.plugin_id == 140) {
+ this.setSupplyGoodsData();
+ }
+ if (info.supplier&&Number(info.supplier.is_open)==0) {
+ this.setData({
+ isShowShop: false
+ });
+ }
+ }
+ },
+ "isRent": function (rent) {
+ // console.log(rent, '12');
+ },
+ "gooddatas": function (info) {
+ console.log(info);
+ this.setData({
+ isOpenGroup: !info.display_team.leader_info.code,
+ isbuyGroup: !info.my_teaminfo.code
+ });
+ console.log(info, '121');
+ }
+ },
+ lifetimes: {
+ attached() {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ });
+ this.setSupplyGoodsData();
+ },
+ ready() {
+ if (this.data.goodsType == 'zhpGroup') {
+ this.checkSet();
+ }
+ },
+ detached() {
+ if (this.data.goodsType == 'zhpGroup') {
+ clearInterval(this.data.checkSetTimeOut);
+ }
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ setSupplyGoodsData() {
+ let plugin_setting = wx.getStorageSync("yz_basic_info").plugin_setting;
+ if (plugin_setting && plugin_setting.yz_supply_camilo_resources && (plugin_setting.yz_supply_camilo_resources.is_ios_sell === 1 || plugin_setting.yz_supply_camilo_resources.is_ios_sell === '1')) {
+ let res = wx.getSystemInfoSync();
+ if (res.platform == 'ios' && this.data.goodsInfo?.plugin_id == 140) {
+ this.setData({
+ is_yz_supplyGoods: true
+ });
+ }
+ }
+ },
+ originalPriceTo(e){
+ let gid = e.currentTarget.dataset.gid;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id='+gid,
+ });
+ },
+ gotoChat(evt) {
+ let url = evt.currentTarget.dataset.cservice + "&goods_id=" + this.data.goodsId;
+ wx.navigateTo({
+ url: url,
+ fail: (err) => {
+ app.tips("客服路由出错");
+ }
+ });
+ },
+ gotoCart1() {
+ wx.reLaunch({
+ url: "/packageG/pages/buy/cart_v2/cart_v2",
+ });
+ },
+ gotoindex() {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ },
+ tapkefu() {
+ this.setData({
+ kefu: true,
+ });
+ },
+ closePop() {
+ this.setData({
+ show1: false,
+ });
+ },
+ showPop() {
+ let setServicePlugin = app._isTextEmpty(this.data.service_mobile) && app._isTextEmpty(this.data.service_QRcode);
+ if (app._isTextEmpty(this.data.cservice) && setServicePlugin) {
+ return app.tips("抱歉,暂未设置客服信息");
+ }
+ if (!app._isTextEmpty(this.data.cservice) && setServicePlugin) {
+ this.gotoChat({currentTarget:{dataset:{cservice: this.data.cservice}}}) //只设置了客服链接,直接跳转
+ return;
+ }
+ this.setData({
+ show1: true,
+ });
+ },
+ callPhone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.service_mobile,
+ });
+ },
+ //判断是否能加入购物车
+ setIsAddCart() {
+ //为空是老数据默认值问题
+ if (app._isTextEmpty(this.data.goodsInfo.buy_way) || this.data.goodsInfo.buy_way == "0") {
+ this.setData({
+ isAddCart: true,
+ });
+ }
+ //不能加入 金币产品
+ if (this.data.goodsInfo.buy_way == 1) {
+ this.setData({
+ isAddCart: false,
+ });
+ }
+ },
+ // 加入购物车
+ addCart() {
+ // this.triggerEvent('addCartFoot')
+ let that = this;
+ if (!this.data.isAddCart) {
+ return;
+ }
+ //价格权限
+ if (this.data.goodsInfo.vip_level_status && this.data.goodsInfo.vip_level_status.status == 1) {
+ wx.showToast({
+ icon: "none",
+ title: this.data.goodsInfo.vip_level_status.tips,
+ duration: 2500,
+ });
+ return;
+ }
+ let urlStr = app.getNetAddresss("member.member.isValidatePageGoods");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.goodsInfo.has_one_invite_page && that.data.goodsInfo.has_one_invite_page.status === 1 && res.data.is_invite === 0) {
+ wx.navigateTo({
+ url: "/packageC/member/visit/Inviter/Inviter?fromGood=" + 1,
+ });
+ return;
+ }
+ that.setData({
+ submitActionTag: that.data.SUBMIT_ACTION_CART,
+ });
+ that.triggerEvent("popupModeshowChild", {
+ submitActionTag: that.data.SUBMIT_ACTION_CART,
+ });
+ //判断是否有规格
+ if (that.data.goodsInfo.has_option == 1) {
+ console.log("1111111111111111111", that.data.optionsId);
+ that.triggerEvent("popupModeshowChild", {
+ popupSpecs: true,
+ popupModeshow: false,
+ submitActionTag: that.data.SUBMIT_ACTION_CART,
+ });
+ } else {
+ console.log("1111111111111111111加入购物车操作,无规格");
+ //处理参数 无规格
+ that.setData({
+ optionsId: "",
+ });
+ if (that.data.isAddCart) {
+ console.log(that.data.SUBMIT_ACTION_CART);
+ that.triggerEvent("popupModeshowChild", {
+ popupSpecs2: true,
+ popupModeshow: false,
+ submitActionTag: that.data.SUBMIT_ACTION_CART,
+ isAddCart: that.data.isAddCart
+ });
+ }
+
+ // that.addCartRequest(that.data.goodsId, that.data.optionsId, that.data.goodsCount);
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ });
+ },
+
+ //******************** 加入购物车网络操作 ***************
+ addCartRequest(_goodsId, _optionsId, _total) {
+ //库存不足
+ if (this.data.optionsMaxCount == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "商品库存不足",
+ duration: 2500,
+ });
+ return;
+ }
+ if (_total <= 0) {
+ this.setData({
+ popupSpecs: false,
+ popupModeshow: true,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "请选择商品数量",
+ duration: 2500,
+ });
+ return;
+ }
+
+ let that = this;
+ let goods = [];
+ goods.push(_goodsId);
+ let urlStr = app.getNetAddresss("from.div-from.isDisplay");
+ urlStr += "&goods_ids=" + JSON.stringify(goods);
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ // var _data = res.data;
+ if (res.data.status && !res.data.member_status) {
+ wx.showModal({
+ title: "提示",
+ content: "购买此商品,请补充您的个人信息",
+ success(res) {
+ if (res.confirm) {
+ //保税真实信息添加
+ wx.navigateTo({
+ url: "/packageB/member/address/myinfo/myinfo?tag=delta",
+ });
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ } else {
+ that.addCartReq(_goodsId, _optionsId, _total);
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ addCartReq(_goodsId, _optionsId, _total) {
+ // let that = this;
+ let urlStr = app.getNetAddresss("member.member-cart.store");
+ urlStr += "&goods_id=" + _goodsId;
+ urlStr += "&total=" + _total;
+ urlStr += "&option_id=" + _optionsId;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ app.globalData.cart_num = res.data.cart_num;
+ this.triggerEvent('changeCartNumber', res.data.cart_num);
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ // *********************** 加入购物车网络操作end ****************
+ toWarning() {
+ wx.showModal({
+ title: '提示',
+ content: '因平台规则限制,IOS端不支持购买虚拟商品;如需帮助,请联系客服。',
+ confirmText: "联系客服",
+ success: (res) => {
+ if (res.confirm) {
+ this.showPop();
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ },
+ // 立即购买
+ buyNow(e) {
+ console.log(this.data);
+ if (this.data.is_yz_supplyGoods) {
+ this.toWarning();
+ return;
+ }
+ // this.triggerEvent(' ');
+ let key = e ? e : false;
+ let that = this;
+ if (this.data.isBuy && this.data.isBegTime) {
+ wx.showToast({
+ icon: "none",
+ title: "该商品还没到购买时间",
+ duration: 2500,
+ });
+ return false;
+ }
+ //价格权限
+ if (this.data.goodsInfo.vip_level_status && this.data.goodsInfo.vip_level_status.status == 1) {
+ wx.showToast({
+ icon: "none",
+ title: this.data.goodsInfo.vip_level_status.tips,
+ duration: 2500,
+ });
+ return;
+ }
+ let urlStr = app.getNetAddresss("member.member.isValidatePageGoods");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.goodsInfo.has_one_invite_page && that.data.goodsInfo.has_one_invite_page.status === 1 && res.data.is_invite === 0) {
+ wx.navigateTo({
+ url: "/packageC/member/visit/Inviter/Inviter?fromGood=" + 1,
+ });
+ return;
+ }
+ that.setData({
+ submitActionTag: that.data.SUBMIT_ACTION_BUY,
+ });
+ console.log(that.data.SUBMIT_ACTION_BUY,222);
+ that.triggerEvent("buyNowFoot", {
+ submitActionTag: that.data.SUBMIT_ACTION_BUY,
+ submitTag: key
+ });
+ if (that.data.goodsInfo.has_option == 1) {
+ //有规格 但是还未选择
+ that.setData({
+ popupSpecs: true,
+ popupModeshow: false,
+ });
+ that.triggerEvent("buyNowFoot", {
+ popupSpecs: true,
+ popupModeshow: false,
+ submitActionTag: that.data.SUBMIT_ACTION_BUY,
+ submitTag: key
+ });
+ } else if (that.data.goodsInfo.has_option == 0) {
+ that.showPopView2();
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ });
+ },
+ showPopView(e) {
+ let isa = e.currentTarget.dataset.type;
+ this.triggerEvent("buyNowFoot", {
+ isAward: isa,
+ popupSpecs: true,
+ popupModeshow: false,
+ });
+ },
+ showPopView2(buyType) {
+ this.triggerEvent("buyNowFoot", {
+ popupSpecs2: true,
+ popupModeshow: false,
+ submitActionTag: this.data.SUBMIT_ACTION_BUY,
+ });
+ },
+ // *************************酒店*******************
+ onFavorite(e) {
+ let favorite = e.currentTarget.dataset.fadata;
+ favorite ? this.removeFavorite() : this.addFavorite();
+ },
+ //判断是否收藏
+ isFavorite() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member-favorite.isFavorite");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ favorite: res.data.status == 1 ? true : false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //移除收藏
+ removeFavorite() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member-favorite.destroy");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ favorite: false,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "操作成功",
+ duration: 2500,
+ });
+ } // else {
+
+ //}
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //添加收藏
+ addFavorite() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member-favorite.store");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ favorite: true,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "操作成功",
+ duration: 2500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ // 酒店下单
+ order() {
+ let gid = this.data.goods_info.get_hotel_info.goods.hotel_id;
+ let end = this.data.enterAt ? this.data.enterAt.end : "";
+ let start = this.data.enterAt ? this.data.enterAt.start : "";
+ wx.navigateTo({
+ url: "/packageA/hotel/HotelGoodsOrder/HotelGoodsOrder?end=" + end + "&start=" + start + "&id=" + gid + "&goods_id=" + this.data.goodsId,
+ });
+ },
+ // ************************* 酒店end *******************
+
+ // ****************************** 拼团 ******************************
+ // 跳转主页
+ gotoHome(e) {
+ let str = e.currentTarget.dataset.str;
+ if (str == 'zhplis') {
+ console.log('珍惠拼 拼团列表');
+ wx.navigateTo({
+ url: '/packageB/member/group/MyGroups/MyGroups?types=zhpGroup'
+ });
+ return;
+ }
+ if (str == 'supplier' && this.data.goodsInfo.supplier) {
+ wx.navigateTo({
+ url: "/packageA/member/supplier/SupplierShop/SupplierShop?id=" + this.data.goodsInfo.supplier.id,
+ });
+ return;
+ }
+
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ },
+ showGroupMore() {
+ this.triggerEvent("showGroupMoreChild");
+ },
+ tapshowOne() {
+ this.triggerEvent("buyNowFoot", {
+ popupSpecs: true,
+ popupModeshow: false,
+ });
+ },
+ // 新零售
+ buyNowRetail(e) {
+ let that = this;
+ let buyType = e.currentTarget.dataset.buytype;
+ if (that.data.goodsInfo.has_option == 1) {
+ //有规格 但是还未选择
+ that.setData({
+ popupSpecs: true,
+ popupModeshow: false,
+ });
+ that.triggerEvent("buyNowRetail", {
+ popupSpecs: true,
+ popupModeshow: false,
+ buyType: buyType,
+ });
+ } else if (that.data.goodsInfo.has_option == 0) {
+ that.showPopVie(buyType);
+ }
+ },
+ showPopVie(buyType) {
+ this.triggerEvent("buyNowRetail", {
+ popupSpecs2: true,
+ popupModeshow: false,
+ buyType: buyType
+ });
+ },
+
+ // 珍惠拼 拼团
+ zhpGroupTap(e) {
+ console.log(e);
+ if (e.currentTarget.dataset.buytype == 'zhpyh') {
+ wx.navigateTo({
+ url: '/packageB/member/group/MyGroups/MyGroups?tag=1&types=zhpGroup'
+ });
+ return;
+ }
+ let that = this;
+ if (that.data.goodsInfo.has_option == 1) {
+ //有规格 但是还未选择
+ that.setData({
+ popupSpecs: true,
+ popupModeshow: false,
+ });
+ that.triggerEvent("buyNowFoot", {
+ popupSpecs: true,
+ popupModeshow: false,
+ submitActionTag: that.data.SUBMIT_ACTION_BUY,
+ optionsId: that.data.gooddatas.has_many_options[0].option_id
+ });
+ } else if (that.data.goodsInfo.has_option == 0) {
+ that.showPopView2();
+ }
+ },
+ checkSet(num) {
+ let that = this;
+ let timestamp = this.data.timestamp;
+ that.setData({
+ timeset: false
+ });
+ this.data.checkSetTimeOut = setInterval(() => {
+ // timestamp = timestamp + 1;
+ // console.log(timestamp , that.data.gooddatas.start_time)
+ if (this.data.gooddatas.status == 2) {
+ that.setData({
+ timeset: true
+ });
+ clearInterval(this.data.checkSetTimeOut);
+ }
+ if (timestamp <= that.data.gooddatas.start_time) {
+ // 小于等于开始时间 活动未开始
+ that.setData({
+ timeset: true
+ });
+ } else if (timestamp <= that.data.gooddatas.end_time) {
+ // 小于等于结束时间 活动进行中
+ that.setData({
+ timeset: false
+ });
+ clearInterval(this.data.checkSetTimeOut);
+ }
+ }, 1000);
+ }
+ },
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/foot/foot.json b/packageA/mycomponent/goodsComponent/foot/foot.json
new file mode 100644
index 0000000..98b2339
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/foot/foot.json
@@ -0,0 +1,16 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-rate": "../../../../dist/rate/index",
+ "van-icon": "../../../../dist/icon/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-cell": "../../../../dist/cell/index",
+ "van-goods-action": "../../../../dist/goods-action/index",
+ "van-goods-action-icon": "../../../../dist/goods-action-icon/index",
+ "van-goods-action-button": "../../../../dist/goods-action-button/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/foot/foot.wxml b/packageA/mycomponent/goodsComponent/foot/foot.wxml
new file mode 100644
index 0000000..aac6174
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/foot/foot.wxml
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/foot/foot.wxss b/packageA/mycomponent/goodsComponent/foot/foot.wxss
new file mode 100644
index 0000000..b0eb241
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/foot/foot.wxss
@@ -0,0 +1,487 @@
+/* packageA/mycomponent/goodsComponent/foot/foot.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.foot {
+ position: fixed;
+ bottom: 200rpx;
+ width: 100%;
+ border-top: 0 solid #e2e2e2;
+ z-index: 2;
+ padding: 0;
+ height: 102rpx;
+ display: flex;
+ align-items: center;
+ background: #fff;
+}
+
+.foot .addfav {
+ position: relative;
+ border-top: solid 2rpx #ebebeb;
+ color: #666;
+ height: 100rpx;
+ text-align: center;
+ flex: 1.5;
+ font-size: 24rpx;
+ background-color: #fff;
+}
+
+.foot .addfav .ul .li {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+/* .foot .addfav .ul .li:nth-of-type(1) {
+ padding: 8rpx 0;
+} */
+
+.foot .addfav .ul .li .goods_collect {
+ width: 44rpx;
+ padding-top: 10rpx;
+}
+
+.foot .addfav .ul .li .collect-active {
+ width: 44rpx;
+ padding-top: 10rpx;
+}
+
+.foot .addfav .ul .li .goods_car {
+ width: 44rpx;
+ padding-top: 10rpx;
+}
+
+.foot .addfav .ul .li .goods_kefu {
+ width: 44rpx;
+ padding-top: 10rpx;
+}
+
+.foot .addfav.nocar {
+ background: #fff;
+}
+
+.foot .cart.cell {
+ background: #ff9500;
+ height: 100rpx;
+ text-align: center;
+ border: none;
+ color: #fff;
+ flex: 3;
+ font-size: 30rpx;
+ line-height: 100rpx;
+}
+
+.foot .cart.cell.nocar {
+ background: #ccc;
+}
+
+.foot .buy.cell {
+ background: #dd2727;
+ height: 100rpx;
+ text-align: center;
+ border: none;
+ color: #fff;
+ flex: 3;
+ font-size: 30rpx;
+ line-height: 100rpx;
+}
+
+.foot .buy.cell.nocar {
+ background: #ccc;
+}
+
+/* 客服 */
+
+/* kefu */
+.icon-close11 {
+ font-size: 18px;
+}
+
+.pop-content {
+ background-color: #fff;
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+
+ /* flex-wrap: wrap; */
+}
+
+.pop-content .pop-top .left {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ position: relative;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap icon {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ font-size: 50rpx;
+ background-color: #02c777;
+ color: #fff;
+}
+
+.pop-content .pop-top .right .wrap .color2 {
+ background: #ff9329;
+}
+
+.pop-content .pop-top .right .wrap .color3 {
+ background: #2aa7fb;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .line {
+ width: 1px;
+ height: 51rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.kefuxiaoxi {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ top: 0;
+ left: 0;
+}
+
+.msgbox {
+ line-height: 40rpx;
+ box-sizing: border-box;
+ padding: 20rpx;
+}
+
+.freightPricing {
+ background: #fff;
+ margin-top: 20rpx;
+ text-align: left;
+ padding: 0 24rpx;
+}
+
+.freightPricing .title,
+.freightPricing .freightPricing_btn {
+ height: 76rpx;
+ line-height: 70rpx;
+ color: #000;
+ font-size: 28rpx;
+}
+
+.freightPricing .freightPricing_main {
+ overflow: hidden;
+ line-height: 40rpx;
+ transition: height 0.6s;
+ font-size: 24rpx;
+}
+
+.freightPricing_main.fold {
+ height: 80rpx;
+}
+
+.freightPricing_main.unfold {
+ height: auto;
+}
+
+.freightPricing .freightPricing_btn {
+ text-align: center;
+ color: #666;
+ line-height: 96rpx;
+}
+
+.freightPricing .rotate_box {
+ display: inline-block;
+}
+
+.freightPricing .freightPricing_btn.fold .rotate_box {
+ transform: rotate(0deg);
+}
+
+.freightPricing .freightPricing_btn.unfold .rotate_box {
+ transform: rotate(180deg);
+}
+
+.share_text {
+ margin-left: 4px !important;
+ font-size: 24rpx;
+ color: #9b9b9b;
+ padding: 0;
+ border: none;
+}
+
+/* ------------------ */
+
+/* 酒店start */
+.goods_foot {
+ background: #fff;
+ display: flex;
+ position: fixed;
+ bottom: 200rpx;
+ width: 100%;
+ z-index: 999;
+}
+
+.goods_foot .foot_a {
+ width: 25%;
+}
+
+.goods_foot .foot_a .li {
+ border-top: solid 2rpx #ebebeb;
+}
+
+.goods_foot .foot_a .li .top {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 45rpx;
+}
+
+.goods_foot .foot_a .li icon {
+ font-size: 44rpx;
+ color: #666;
+}
+
+.goods_foot .foot_a .li .bottom {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.goods_foot .foot_a .li .span {
+ display: block;
+ font-size: 24rpx;
+ color: #666;
+}
+
+.goods_foot .button {
+ width: 50%;
+ background: #f15353;
+ color: #fff;
+ font-size: 32rpx;
+ border: none;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+/* 酒店end */
+
+/* 底部导航 start */
+.groupCanin {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.group_btn {
+ position: fixed;
+ bottom: 200rpx;
+ width: 100%;
+ height: 100rpx;
+ background: #fff;
+ border-top: solid 2rpx #ebebeb;
+ z-index: 3;
+}
+
+.group_btn .item {
+ height: 100rpx;
+ display: flex;
+}
+
+.group_btn .item .item_a {
+ width: 120rpx;
+ padding: 6rpx 0;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+}
+
+.group_btn .item .item_a .icon-box {
+ height: 24px;
+ margin-top: -6px;
+}
+
+.group_btn .item .item_a .iconfont {
+ color: #666;
+ font-size: 36rpx;
+ height: 30px;
+}
+
+.group_btn .item .item_a .span {
+ color: #666;
+ font-size: 12px;
+}
+
+.group_btn .item .item_b {
+ width: 315.0016rpx;
+
+ /* padding: 6rpx 0; */
+ background: rgba(241, 83, 83, 0.6);
+ color: #fff;
+ font-size: 14px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+}
+
+.group_btn .item .item_b .span {
+ display: block;
+}
+
+.group_btn .item .item_b .font {
+ font-size: 13px;
+}
+
+.group_btn .item .item_c {
+ /* padding: 6rpx 0; */
+ background: #f15353;
+ color: #fff;
+ font-size: 14px;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+}
+
+.group_btn .item .item_c .span {
+ display: block;
+ color: #fff;
+}
+
+.group_btn .item .item_c .font {
+ font-size: 12px;
+ color: #fff;
+}
+
+/* end */
+.footGoods {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: calc(100rpx + calc(env(safe-area-inset-bottom) / 2));
+ background-color: #fff;
+ box-sizing: border-box;
+ z-index: 10;
+}
+
+.groupFoot {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: calc(100rpx + calc(env(safe-area-inset-bottom) / 2));
+ background-color: #fff;
+ box-sizing: border-box;
+ z-index: 10;
+}
+
+.hotelFoot {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 140rpx;
+ height: calc(100rpx + calc(env(safe-area-inset-bottom) / 2));
+ background-color: #fff;
+ box-sizing: border-box;
+ z-index: 10;
+}
+
+.vanbuttonClass {
+ border-radius: 0 !important;
+ background-color: #2aa7fb;
+}
+
+.hotelFoot .iconfont {
+ font-size: 45rpx;
+ margin-top: -10rpx;
+ margin-bottom: 5rpx;
+}
+
+.footGoods .iconfont {
+ font-size: 45rpx;
+ margin-top: -10rpx;
+ margin-bottom: 5rpx;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.js b/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.js
new file mode 100644
index 0000000..bc25250
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.js
@@ -0,0 +1,124 @@
+// packageA/mycomponent/goodsComponent/plugin/appointment/appointment.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsId: {
+ type: null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ projects: [],
+ appointmentLang: ''
+ },
+ lifetimes: {
+ attached() {
+ this.getProject();
+ try {
+ let info = wx.getStorageSync("yz_basic_info");
+ if (info) {
+ this.setData({
+ appointmentLang: info.lang.appointment,
+ });
+ }
+ } catch (err) {
+ console.log(err);
+ }
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ // 预约项目请求
+ getProject() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.appointment.frontend.project.get-list-by-goods-id");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ goods_id: that.data.goodsId
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ projects: res.data,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ });
+ console.log(res.msg);
+ }
+ },
+ });
+ },
+ // 预约项目
+ goProjectDetails(e) {
+ let that = this;
+ let id = e.currentTarget.dataset.key;
+ let point = wx.getStorageSync('address-point');
+ if (!point) {
+ wx.getLocation({
+ type: "gcj02",
+ success(res) {
+ const latitude = res.latitude;
+ const longitude = res.longitude;
+ point = that._setaddressData({
+ lat: latitude,
+ lng: longitude,
+ }, id);
+ },
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageE/appointment/ProjectDetails/ProjectDetails?project_id=" + id + '&point=' + JSON.stringify(point),
+ });
+ }
+
+ },
+ // 预约项目 获取经纬度
+ _setaddressData(e, id) {
+ let that = this;
+ app.getReverseGeocoder(e.lat, e.lng).then(function (res) {
+ that.setData({
+ 'point.lat': e.lat,
+ 'point.lng': e.lng
+ });
+ let mapdata = res;
+ let recommend = mapdata.formatted_addresses.recommend;
+ that.setData({
+ address: mapdata.address,
+ title: recommend,
+ city: !app._isTextEmpty(mapdata.address_component.city) ? mapdata.address_component.city : mapdata.address_component
+ .province
+ });
+ wx.navigateTo({
+ url: "/packageE/appointment/ProjectDetails/ProjectDetails?project_id=" + id + '&point=' + JSON.stringify(that.data.point),
+ });
+ }).catch(function (err) {
+ console.log(err);
+ });
+ },
+ // 预约项目查看更多
+ gotoProjects() {
+ this.setData({
+ showProjects: true,
+ });
+ },
+ // 预约项目弹窗关闭
+ ProjectsClose(e) {
+ this.setData({
+ showProjects: false,
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.json b/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.json
new file mode 100644
index 0000000..096b491
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../../../dist/popup/index",
+ "van-icon": "../../../../../dist/icon/index",
+ "van-nav-bar": "../../../../../dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.wxml b/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.wxml
new file mode 100644
index 0000000..088edf4
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.wxml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.project_title }}
+ {{ item.service_count }}次
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.wxss b/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.wxss
new file mode 100644
index 0000000..453effe
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/appointment/appointment.wxss
@@ -0,0 +1,150 @@
+/* packageA/mycomponent/goodsComponent/plugin/appointment/appointment.wxss */
+
+/* 预约相关项目 */
+.isComment {
+ margin: 20rpx;
+ border-radius: 20rpx;
+ padding: 20rpx;
+ background: #fff;
+}
+
+.isComment .evaTop {
+ padding: 0 24rpx;
+ height: 76rpx;
+ line-height: 76rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.isComment .evaTop .evaTo {
+ display: flex;
+ align-items: center;
+}
+
+.isComment .evaTop .evaTo icon {
+ margin-top: -13rpx;
+ margin-left: 10rpx;
+}
+
+.isComment .ecaBottom .evaLoop {
+ text-align: left;
+}
+
+.isComment .ecaBottom .evaLoop .evaLoopmain {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 28rpx 20rpx;
+ width: 400rpx;
+ height: 200rpx;
+ overflow: hidden;
+ margin: 28rpx;
+ margin-top: 16rpx;
+ -moz-box-shadow: 0 3.0016px 15.0016px #e6e6e6;
+ -webkit-box-shadow: 0 3.0016px 15.0016px #e6e6e6;
+ box-shadow: 0 3.0016px 15.0016px #e6e6e6;
+ border-radius: 12rpx;
+}
+
+.isComment .ecaBottom .evaLoop .evaLoopmain .imgPro {
+ width: 60rpx;
+ height: 60rpx;
+ border-radius: 100%;
+ margin-right: 16rpx;
+}
+
+.isComment .ecaBottom .evaLoop .evaLoopmain .user {
+ flex: 8;
+}
+
+.isComment .ecaBottom .evaLoop .evaLoopmain .user .username {
+ width: 160rpx;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+.isComment .ecaBottom .evaLoop .evaLoopmain .text {
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ line-height: 40rpx;
+}
+
+/* .isComment .ecaBottom .evaLoop .projects {
+ height: 100rpx;
+} */
+
+.isComment .ecaBottom .evaLoop .projects .imgPro {
+ width: 64rpx;
+ height: 64rpx;
+ border-radius: 100%;
+ margin-right: 16rpx;
+}
+
+.projects1 {
+ display: flex;
+ text-align: left;
+ padding: 0 32rpx;
+ margin-bottom: 16rpx;
+}
+
+.projects1 image {
+ width: 160rpx;
+ height: 160rpx;
+ border-radius: 30rpx;
+ margin-right: 16rpx;
+}
+
+.projects1 .user {
+ flex: 1;
+}
+
+.projects1 .text {
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ line-height: 40rpx;
+}
+
+.goods-dicount {
+ height: 48rpx;
+ background-color: #ffe6e3;
+ border-radius: 4rpx;
+ color: #ff3203;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-left: 24rpx;
+ padding: 0 16rpx;
+}
+
+.pub-price {
+ width: 197.0016rpx;
+ height: 40rpx;
+ border-radius: 4rpx;
+ border: solid 2rpx #f15353;
+ color: #f15353;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-left: 23.0016rpx;
+}
+
+.evaTitle {
+ font-size: 28rpx;
+}
+
+/* ***************************** */
diff --git a/packageA/mycomponent/goodsComponent/plugin/comment/comment.js b/packageA/mycomponent/goodsComponent/plugin/comment/comment.js
new file mode 100644
index 0000000..e04e04e
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/comment/comment.js
@@ -0,0 +1,135 @@
+// packageA/mycomponent/goodsComponent/plugin/comment/comment.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsInfo: {
+ type: null,
+ observer: function (newValue) {
+ this.setData({
+ goodsInfo: newValue,
+ });
+ if (newValue.get_comment) {
+ let getComment = newValue.get_comment;
+ this.setData({
+ commentLimit: getComment.data ? getComment.data.slice(0, 5) : [],
+ is_show_default_praise: getComment.is_show_good_reputation_text
+ })
+ }
+ }
+ },
+ goodsId: {
+ type: null
+ },
+ commentPage: {
+ type: null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ commentLimit: [], //设置最新5条评论
+ streetShow: false,
+ is_show_default_praise: 0,
+ },
+ lifetimes: {
+ attached(e) {
+ // let data = this.data.goodsInfo;
+ // if (data.get_comment) {
+ // this.setData({
+ // commentLimit: data.get_comment.data ? data.get_comment.data.slice(0, 5) : [],
+ // });
+ // }
+
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ goKb() {
+ wx.navigateTo({
+ url: '/packageA/others/GoodsComment/GoodsComment?gid=' + this.data.goodsId + '&istype=comment',
+ });
+ },
+ //跳转评论详情
+ toContentInfo(e) {
+ let jsondata = e.currentTarget.dataset.jsondata;
+ wx.navigateTo({
+ url: "/packageD/member/CommentDetails/CommentDetails?order_id=" + jsondata.order_id + "&goods_id=" + jsondata.goods_id + "&uid=" + jsondata.uid + "&comment_id=" + jsondata.id,
+ });
+ },
+ //查看大图
+ seePicture(evt) {
+ let pics = evt.currentTarget.dataset.pics;
+ let index = evt.currentTarget.dataset.index;
+ wx.previewImage({
+ current: pics[index], // 当前显示图片的http链接
+ urls: pics, // 需要预览的图片http链接列表
+ });
+ },
+ streetClose() {
+ this.setData({
+ streetShow: false,
+ });
+ },
+ //获取评论数据
+ getCommentData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("goods.comment.get-comment");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ urlStr += "&page=" + this.data.commentPage;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.data.length < 20) {
+ that.setData({
+ noMoreComment: true,
+ });
+ }
+ that.setData({
+ commentPage: that.data.commentPage + 1,
+ });
+ if (!that.data.third_content) {
+ that.setData({
+ third_content: [],
+ });
+ }
+ that.setData({
+ third_content: [...that.data.third_content, ...res.data.data],
+ streetShow: true
+ });
+ if (app._isTextEmpty(that.data.third_content)) {
+ // console.log("空没评论");
+ that.setData({
+ thirKong: false,
+ });
+ } else {
+ // console.log("不空");
+ that.setData({
+ thirKong: true,
+ });
+ }
+ } else {
+ that.setData({
+ is_third_content: false,
+ });
+ }
+ },
+ fail: function (res) {
+ that.setData({
+ is_third_content: false,
+ });
+ console.log(res);
+ },
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/comment/comment.json b/packageA/mycomponent/goodsComponent/plugin/comment/comment.json
new file mode 100644
index 0000000..3df0d73
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/comment/comment.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../../../dist/popup/index",
+ "van-icon": "../../../../../dist/icon/index",
+ "van-nav-bar": "../../../../../dist/nav-bar/index",
+ "van-rate": "../../../../../dist/rate/index"
+ }
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/comment/comment.wxml b/packageA/mycomponent/goodsComponent/plugin/comment/comment.wxml
new file mode 100644
index 0000000..9aab071
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/comment/comment.wxml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 精选口碑 ({{goodsInfo.get_comment.total_summary}})
+
+
+
+ 好评率 {{goodsInfo.favorable_rate?goodsInfo.favorable_rate:'100%'}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nick_name }}
+ {{ item.level_name }}
+
+ {{ item.created_at }}
+
+
+
+
+
+
+
+
+
+ 默认好评已隐藏~
+
+
+ 抱歉,暂无评论 ~
+
+
+
+
+
+
+
+
+
+
+
+
+ {{n.nick_name}}
+ {{n.created_at}}
+
+
+ {{n.content}}
+
+ 晒图:
+
+
+
+
+
+
+
+
+ 追评
+ {{n.append.created_at}}
+
+ {{n.append.content}}
+
+
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/plugin/comment/comment.wxss b/packageA/mycomponent/goodsComponent/plugin/comment/comment.wxss
new file mode 100644
index 0000000..9d37e51
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/comment/comment.wxss
@@ -0,0 +1,290 @@
+/* packageA/mycomponent/goodsComponent/plugin/comment/comment.wxss */
+.sift {
+ /* height: 332rpx; */
+ background: #fff;
+ margin-top: 20rpx;
+ padding: 0 24rpx;
+ overflow: hidden;
+}
+
+.sift-title {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ font-size: 28rpx;
+ margin-top: 20rpx;
+}
+
+.tit_a {
+ margin-left: 24rpx;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.tit_a text {
+ font-size: 28rpx;
+ color: #ed0606;
+}
+
+.sift-right {
+ display: flex;
+ align-items: center;
+ color: #ed0606;
+ font-size: 28rpx;
+ flex: 1;
+ justify-content: flex-end;
+}
+
+.sift-right van-icon {
+ margin-top: 10rpx;
+}
+
+.swiper-kb {
+ box-shadow: 0 3px 15px #e6e6e6;
+ margin-top: 20rpx;
+ margin-left: 20rpx;
+}
+
+.swiper-kb .figure {
+ display: flex;
+}
+
+.swiper-kb .figure image {
+ width: 60rpx;
+ height: 60rpx;
+ margin-right: 20rpx;
+ margin-left: 21rpx;
+ margin-top: 30rpx;
+ border-radius: 100%;
+}
+
+.swiper-kb .figure .figtxt {
+ margin-top: 25rpx;
+ flex: 1;
+}
+
+.swiper-kb .figure .figtxt text {
+ height: 17px;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ margin-right: 10rpx;
+}
+
+.figure_right {
+ padding: 0 24rpx;
+ margin-top: 10rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+/* 弹窗 */
+.shopInfo {
+ height: 92vh;
+ overflow-y: scroll;
+}
+
+.shopInfo .pj {
+ background: #fff;
+ padding: 0 20rpx 80rpx;
+ margin-bottom: 10rpx;
+}
+
+.shopInfo .pj .user {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ padding-top: 10rpx;
+ padding-bottom: 10rpx;
+}
+
+.shopInfo .pj .user .imageshow {
+ width: 8%;
+ height: 80rpx;
+ position: relative;
+ overflow: hidden;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.shopInfo .pj .user .imageshow image {
+ height: 100%;
+ border-radius: 50%;
+}
+
+.shopInfo .pj .user .name {
+ flex: 5;
+ text-align: left;
+}
+
+.shopInfo .pj .user .time {
+ color: #908a8a;
+ font-size: 24rpx;
+ padding-right: 20rpx;
+}
+
+.shopInfo .pj .p {
+ text-align: left;
+ margin: 0;
+ padding-bottom: 20rpx;
+}
+
+.shopInfo .pj .comment {
+ display: flex;
+ justify-content: flex-end;
+}
+
+.shopInfo .pj .comment text {
+ display: block;
+ width: 150rpx;
+ height: 40rpx;
+ line-height: 36rpx;
+ border-radius: 16rpx;
+ border: 2rpx solid #aaa;
+ color: #666;
+ font-size: 24rpx;
+ text-align: center;
+}
+
+.shopInfo .moreBtn {
+ text-align: center;
+}
+
+.shopInfo .moreBtn .btn_1 {
+ padding: 20rpx 0;
+}
+
+.shopInfo .parameter {
+ background: #fff;
+ padding: 20rpx 20rpx 0 20rpx;
+ text-align: left;
+ font-size: 28rpx;
+ display: flex;
+}
+
+.shopInfo .parameter .par-info {
+ display: flex;
+ width: 100%;
+ padding-bottom: 20rpx;
+ border-bottom: 2rpx solid #f1f1f1;
+}
+
+.shopInfo .parameter .par-info .name {
+ color: #999;
+ width: 25%;
+ padding-right: 20rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.shopInfo .parameter .par-info .value {
+ color: #333;
+ width: 75%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.reputation-box {
+ margin: 20rpx;
+ border-radius: 20rpx;
+ background-color: #fff;
+ padding: 20rpx;
+}
+
+.reputation-box .reputation-title-box {
+ display: flex;
+ align-items: center;
+}
+
+.reputation-box .reputation-title-box .name {
+ flex: 1;
+ font-size: 14px;
+ font-weight: bold;
+}
+
+.reputation-box .reputation-title-box .praise {
+ text-align: left;
+ padding-left: 24rpx;
+ font-size: 14px;
+ color: #a0a0a0;
+}
+
+.reputation-box .reputation-title-box .all {
+ font-size: 12px;
+ font-weight: bold;
+ color: #f14e4e;
+}
+
+.reputation-box .reputation-title-box .icon-advertise-next {
+ color: #f14e4e;
+}
+
+.reputation-box .reputation-items .reputaion-item {
+ margin-top: 32rpx;
+}
+
+.reputaion-item:not(:last-child) {
+ border-bottom: 1px solid #f2f2f2;
+}
+
+.reputation-box .reputation-items .reputaion-item .reputaion-face {
+ margin-right: 6rpx;
+ display: flex;
+ align-items: center;
+}
+
+.reputaion-face .face-right {
+ margin-left: 0.5rem;
+}
+
+.reputaion-face .username {
+ font-size: 10px;
+ color: #7b7b7b;
+}
+
+.reputaion-face .time {
+ font-size: 10px;
+ color: #7b7b7b;
+ margin-top: 8rpx;
+}
+
+.reputation-box .reputation-items .reputaion-item .reputaion-face image {
+ width: 56rpx;
+ height: 56rpx;
+}
+
+.reputation-box .reputation-items .reputaion-item .reputation-content {
+ text-align: left;
+ margin-left: 75rpx;
+}
+
+.reputation-content .comment {
+ margin-top: 10rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+}
+
+.reputation-box .reputation-items .reputaion-item .reputation-content .commentImg image {
+ margin: 6rpx;
+ width: 140rpx;
+ height: 140rpx;
+}
+
+.reputation-box .reputation-items .default-praise {
+ padding: 0.5rem;
+ color: rgb(153, 153, 153);
+ text-align: center;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.js b/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.js
new file mode 100644
index 0000000..dcccb95
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.js
@@ -0,0 +1,53 @@
+// packageA/mycomponent/goodsComponent/plugin/fixedPrice.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goods_plugin: {
+ type:null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ hasActivity:false
+ },
+ observers:{
+ 'goods_plugin':function(plugin){
+ if(plugin){
+ this.init(plugin);
+ }
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ init(data){
+ if (data.hasOwnProperty("pack_fixed_price") == true && data.pack_fixed_price != {}) {
+ console.log(data.pack_fixed_price.pack_price, '一口价');
+ this.setData({
+ pack_price: data.pack_fixed_price.pack_price ? data.pack_fixed_price.pack_price : '',
+ goods_count: data.pack_fixed_price.goods_count ? data.pack_fixed_price.goods_count : '',
+ fixId: data.pack_fixed_price.id ? data.pack_fixed_price.id : '',
+ hasActivity: true,
+ });
+ }
+ if (data.hasOwnProperty("pack_fixed_price") == true && data.pack_fixed_price.length != undefined) {
+ //商品未参加一口价
+ this.setData({
+ hasActivity: false,
+ });
+ }
+ },
+ // 一口价
+ toFixedPrice() {
+ wx.navigateTo({
+ url: "/packageE/others/fixedPrice/fixedPrice?id=" + this.data.fixId,
+ });
+ },
+ }
+});
diff --git a/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.json b/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.wxml b/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.wxml
new file mode 100644
index 0000000..d9b9586
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.wxml
@@ -0,0 +1,5 @@
+
+
+ {{pack_price}}元任选{{goods_count}}件
+ 去凑单
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.wxss b/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.wxss
new file mode 100644
index 0000000..c51d9f8
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/fixedPrice/fixedPrice.wxss
@@ -0,0 +1,29 @@
+/* packageA/mycomponent/goodsComponent/plugin/fixedPrice.wxss */
+.optional {
+ margin-top: 15.0016rpx;
+ padding: 0 24rpx;
+ width: 100%;
+ height: 70rpx;
+ line-height: 70rpx;
+ background-color: #fff5ed;
+}
+
+.optional .three-count {
+ float: left;
+ font-size: 30rpx;
+ color: #202020;
+}
+
+.optional .go-group {
+ float: right;
+ font-size: 26rpx;
+ color: #de272a;
+ vertical-align: middle;
+}
+
+.optional .icon-arrow {
+ font-size: 32rpx;
+ font-weight: 700;
+ color: #999;
+ vertical-align: middle;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.js b/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.js
new file mode 100644
index 0000000..0e6ef18
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.js
@@ -0,0 +1,42 @@
+// packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsInfo: {
+ type: null
+ },
+ broadcast_data: {
+ type: null
+ },
+ is_goodsType: {
+ type: null
+ }
+ },
+ observers: {
+ // "broadcast_data,is_goodsType": function (_data,type) {
+ // console.log(_data,type, "broad11111111111");
+ // },
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ previewImg(e){
+ let ind;
+ ind = e.currentTarget.dataset.key;
+ wx.previewImage({
+ current: ind?this.data.goodsInfo.thumb_url[ind]:this.data.goodsInfo.thumb_url, // 当前显示图片的http链接
+ urls: this.data.goodsInfo.thumb_url // 需要预览的图片http链接列表
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.json b/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.json
new file mode 100644
index 0000000..f56bf48
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "float-order":"../../../floatOrder/floatOrder"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.wxml b/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.wxml
new file mode 100644
index 0000000..1a27f36
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+ {{index + 1}} / {{goodsInfo.thumb_url.length}}
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.wxss b/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.wxss
new file mode 100644
index 0000000..114d772
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.wxss
@@ -0,0 +1,24 @@
+/* packageA/mycomponent/goodsComponent/plugin/goodSwipe/goodSwipe.wxss */
+.ithumb {
+ position: relative;
+ overflow: hidden;
+}
+
+.ithumb swiper {
+ height: 750rpx;
+}
+
+.ithumb image {
+ width: 100%;
+}
+
+.number-box {
+ position: absolute;
+ right: 15px;
+ bottom: 10px;
+ font-size: 12px;
+ padding: 4px 15px;
+ color: #fff;
+ border-radius: 12px;
+ background-color: rgba(0, 0, 0, 0.4);
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.js b/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.js
new file mode 100644
index 0000000..e29597f
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.js
@@ -0,0 +1,183 @@
+// packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.js
+var yz_pay = require("../../../../../mycomponent/yz_pay/yz_pay");
+const app = getApp();
+Component({
+ behaviors: [yz_pay],
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ gooddatas: {
+ type: Object,
+ }
+ },
+ observers: {},
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached: function () {
+ this.initDisabled();
+ }
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ goods: {},
+ showSpecs: false,
+ groupLevel: [],
+ groupModel: null,
+ groupWork_disabled: false, //当前发起拼团按钮是否禁用
+
+ Payshow: false,
+ btnData: [], //支付方式集合,
+ payKeyboardShow: false, //键盘显示
+ isPlaying: false //防止重复支付
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ initDisabled() {
+ //是否禁用,活动未开始、已结束
+ let status = false;
+ if (!this.data.gooddatas.end_time || this.data.gooddatas.end_time == "") {
+ //不限时
+ status = false;
+ } else if (app.getTimeDifference(this.data.gooddatas.end_time) == 0) {
+ //已结束
+ status = true;
+ } else if (app.getTimeDifference(this.data.gooddatas.start_time) > 0) {
+ //未开始
+ status = true;
+ }
+ this.setData({
+ groupWork_disabled: status,
+ showSpecs: false,
+ Payshow: false,
+ payKeyboardShow: false,
+ isPlaying: false
+ });
+ },
+ selectGroup(e) {
+ const {
+ item
+ } = e.currentTarget.dataset;
+ if (item.status != 2) {
+ let text = item.status == 3 ? "已结束" : "未开始";
+ wx.showToast({
+ title: text,
+ duration: 1000,
+ icon: "none",
+ });
+ return;
+ }
+ this.setData({
+ groupModel: item.id,
+ });
+ this.selectComponent('#yzSpecs').setData({
+ popPrice: item.min_price,
+ popDescription: `${item.person}人团`
+ });
+ },
+ rewardPayCancelBtn() {
+ this.setData({
+ Payshow: false
+ });
+ },
+ showSpecsPop() {
+ if (Number(this.data.gooddatas.surplus) === 0) {
+ //没次数
+ wx.showToast({
+ title: '开团次数已用完,请升级等级',
+ duration: 1000,
+ icon: "none",
+ });
+ return;
+ }
+ let goods = {};
+ goods['id'] = this.data.gooddatas.goods_id;
+ goods['thumb'] = this.data.gooddatas.goods_info.thumb;
+ goods['stock'] = this.data.gooddatas.stock;
+ goods['price'] = this.data.gooddatas.min_price + ' 起';
+ this.setData({
+ goods: goods,
+ showSpecs: true
+ });
+ },
+ //获取支付类型参数
+ getPayData() {
+ if (!this.data.groupModel) {
+ wx.showToast({
+ title: '请选择开团层级!',
+ duration: 1000,
+ icon: "none",
+ });
+ return;
+ }
+ app._postNetWork({
+ url: app.getNetAddresss("plugin.group-work.frontend.modules.alliance.controllers.pay.button"),
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ btnData: res.data.buttons,
+ showSpecs: false,
+ Payshow: true
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ duration: 1000,
+ icon: "none",
+ });
+ }
+ },
+ });
+ },
+ async payPost(e) {
+ if (this.data.isPlaying) {
+ return;
+ }
+ let _data = e.currentTarget.dataset.info;
+ let json = {
+ pay_type: _data.value,
+ spec_id: this.data.groupModel,
+ alliance_id: 0,
+ client_type: 2
+ };
+
+ if (_data.need_password) {
+ let pass = await this.getPayKeyboardPassword(); //开启支付密码验证
+ json.password = pass;
+ }
+ this.data.isPlaying = true;
+ app._getNetWork({
+ url: app.getNetAddresss('plugin.group-work.frontend.modules.alliance.controllers.apply.index'),
+ data: json,
+ success: (res) => {
+ this.data.isPlaying = false;
+ if (res.data.result === 1) {
+ this.handleOtherPay(_data, _data.value, res.data, "groupWork");
+ this.setData({
+ Payshow: false,
+ popupSpecs: false,
+ showSpecs: false
+ });
+ } else {
+ wx.showModal({
+ title: '提示',
+ showCancel: false,
+ content: res.data.msg,
+ success(res) {}
+ });
+ console.error(res);
+ }
+ },
+ fail: (res) => {
+ console.error(res);
+ }
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.json b/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.json
new file mode 100644
index 0000000..5ffbef4
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.json
@@ -0,0 +1,11 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../../../dist/popup/index",
+ "van-button": "../../../../../dist/button/index",
+ "van-radio": "../../../../../dist/radio/index",
+ "van-radio-group": "../../../../../dist/radio-group/index",
+ "yz_specs": "/mycomponent/yz_specsV2/yz_specs",
+ "pay-keyboard":"/mycomponent/payKeyboard/payKeyboard"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.wxml b/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.wxml
new file mode 100644
index 0000000..08a96ce
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.wxml
@@ -0,0 +1,54 @@
+
+
+
+
+ 参与拼团
+ 该活动您还剩余 {{ gooddatas.surplus }} 次开团机会
+
+ 发起拼团
+
+
+
+
+
+
+ 请选择层级
+
+
+
+
+
+
+ ¥{{ item.min_price }} 起
+ {{ item.person }}人团
+
+
+
+
+
+
+
+ 0.1元开/参团金
+ 该金额为支付开/参团费用,非商品金额
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+ 取消
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.wxss b/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.wxss
new file mode 100644
index 0000000..96ed1b8
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.wxss
@@ -0,0 +1,144 @@
+/* packageA/mycomponent/goodsComponent/plugin/groupWork/groupWork.wxss */
+.u_groupWork .u_groupWork-box {
+ height: 110rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20rpx;
+ background: #fff;
+ margin-top: 20rpx;
+ box-sizing: border-box;
+}
+
+.u_groupWork .u_groupWork-box .u_groupWork-left {
+ flex: 1;
+ text-align: left;
+}
+
+.u_groupWork .u_groupWork-box .u_groupWork-left .u_groupWork_num {
+ font-size: 12px;
+ color: #f14e4e;
+ padding-top: 4rpx;
+}
+
+.u_groupWork .select_box {
+ padding: 28px 28px 0 28px;
+}
+
+.u_groupWork .select_box .select {
+ border-top: solid 1rpx #ebebeb;
+ display: flex;
+ flex-wrap: wrap;
+ padding: 28rpx 0;
+}
+
+.u_groupWork .select_box .select li {
+ width: 216rpx;
+ padding: 20rpx 0;
+ border: solid 1rpx #ebebeb;
+ border-radius: 8rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.u_groupWork .select_box .radio-style {
+ border: 1rpx solid #bfcbd9;
+ margin-right: 10rpx;
+ margin-bottom: 10rpx;
+ border-radius: 8rpx;
+}
+
+.u_groupWork .select_box .disabled-style {
+ /* border: 1rpx solid #999; */
+}
+
+.u_groupWork .select_box .select li view {
+ display: block;
+ font-size: 14px;
+}
+
+.u_groupWork .select_box .select li view font {
+ font-size: 18px;
+}
+
+.u_groupWork .select_box .select li:nth-child(3n) {
+ margin-right: 0;
+}
+
+.u_groupWork .select_box .select .current {
+ border: solid 1rpx #f15353;
+ color: #f15353;
+}
+
+.u_groupWork .select_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.u_groupWork .select_box .van-radio {
+ margin-right: 30rpx;
+ margin-bottom: 10rpx;
+ background: #fff;
+ border: 1rpx solid #bfcbd9;
+ text-align: center;
+ box-sizing: border-box;
+ border-radius: 8rpx;
+}
+
+.u_groupWork .select_box .vantRadioshow {
+ background-color: #f15353;
+ border-color: #f15353;
+ box-shadow: #f15353 -1rpx 0 0 0;
+ color: #fff;
+ margin-right: 14rpx;
+}
+
+.u_groupWork .select_box .vantRadioshow .vantRadioshow-color {
+ color: #fff;
+}
+
+.rewardPay {
+ background-color: #f2f2f2;
+}
+
+.rewardPay .content {
+ background-color: #fff;
+ text-align: left;
+ padding: 19.2rpx;
+ min-height: 110.08rpx;
+ font-size: 25.6rpx;
+ line-height: 32rpx;
+ width: 100%;
+ white-space: normal;
+ word-break: break-all;
+ word-wrap: break-word;
+}
+
+.rewardPay .content .span {
+ color: #1c96fe;
+}
+
+.rewardPay .payMode .ul .li {
+ background-color: #fff;
+ height: 110.08rpx;
+ border-bottom: 1.92rpx solid #eee;
+ font-size: 32rpx;
+ color: #333;
+ line-height: 110.08rpx;
+ text-align: center;
+}
+
+.rewardPay .payMode .ul .li:last-of-type {
+ border-bottom: none;
+ margin-bottom: 22.08rpx;
+}
+
+.rewardPay .cancel {
+ text-align: center;
+ background-color: #fff;
+ height: 110.08rpx;
+ border-bottom: 1.92rpx solid #eee;
+ font-size: 32rpx;
+ color: #333;
+ line-height: 110.08rpx;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.js b/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.js
new file mode 100644
index 0000000..c155b73
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.js
@@ -0,0 +1,66 @@
+// packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsInfo: {
+ type: null
+ },
+ activityid: {
+ type: null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ currentIndex: 0,
+ good_list: [],
+ vip_level_status: {}
+ },
+ observers: {
+ goodsInfo(goodsInfo) {
+ if (goodsInfo) {
+ let list = [];
+ if(goodsInfo.show_push){
+ for (let i = 0; i < goodsInfo.show_push.length;) {
+ list.push(goodsInfo.show_push.slice(i, i + 6));
+ i += 6;
+ }
+ }
+
+ this.setData({
+ good_list: list,
+ vip_level_status: goodsInfo.vip_level_status || {}
+ });
+ }
+ }
+ },
+ lifetimes: {
+ attached() {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en
+ });
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ swiperChange(e) {
+ this.setData({
+ currentIndex: e.detail.current
+ });
+ },
+ //推广商品跳转
+ pushGoodGoto(e) {
+ let itemdata = e.currentTarget.dataset.itemdata;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + itemdata.id,
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.json b/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.wxml b/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.wxml
new file mode 100644
index 0000000..fb65518
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.wxml
@@ -0,0 +1,21 @@
+
+
+
+ 猜你喜欢
+
+
+
+
+ {{item.title}}
+ {{language['money']}}{{ vip_level_status.word }}
+ {{language['money']}}{{ item.price }}
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.wxss b/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.wxss
new file mode 100644
index 0000000..de2e117
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.wxss
@@ -0,0 +1,85 @@
+/* packageA/mycomponent/goodsComponent/plugin/guessLike/guessLike.wxss */
+
+/* 自定义轮播指示点样式 */
+.indication {
+ width: 400rpx;
+ height: 36rpx;
+ position: absolute;
+ bottom: 0;
+ left: 50%;
+ transform: translateX(-50%);
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+}
+
+/* 未选中指示点样式 */
+
+.spot {
+ width: 12rpx;
+ height: 10rpx;
+ border-radius: 50%;
+ margin-right: 26rpx;
+ background-color: #c2c2c2;
+}
+
+/* 选中指示样式 */
+
+.spot.active {
+ width: 22rpx;
+ height: 10rpx;
+ border-radius: 6rpx;
+ background-color: #f14e4e;
+}
+
+.text-overHide {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.guess-like {
+ margin: 20rpx;
+ border-radius: 20rpx;
+ background-color: #fff;
+ padding: 20rpx;
+ position: relative;
+}
+
+.guess-like .guess-like-title {
+ text-align: left;
+ font-size: 14px;
+ font-weight: bold;
+ margin: 14rpx 0;
+}
+
+.guess-like .guess-like-goods-swiper .wx-swiper-dots .wx-swiper-dots-horizontal {
+ margin-bottom: 2rpx;
+}
+
+.guess-like .guess-like-goods {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.guess-like .guess-like-goods .guess-like-goods-item {
+ width: 200rpx;
+ height: 200rpx;
+ margin: 10rpx;
+}
+
+.guess-like .guess-like-goods .guess-like-goods-item image {
+ width: 100%;
+ height: 100%;
+}
+
+.guess-like .guess-like-goods .guess-like-goods-item .guess-like-goods-title {
+ width: 100%;
+ text-align: left;
+}
+
+.guess-like .guess-like-goods .guess-like-goods-item .guess-like-goods-price {
+ text-align: left;
+ color: #f14e4e;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.js b/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.js
new file mode 100644
index 0000000..009aef1
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.js
@@ -0,0 +1,101 @@
+// packageA/mycomponent/invitation/invitation.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ prop_goods_info: {
+ type: null
+ },
+ tabList: {
+ type: null
+ },
+ min_micro: {
+ type: null
+ },
+ roomdata: {
+ type: null
+ },
+ },
+ lifetimes: {
+ attached() {
+ this.setData({
+ showPop: false,
+ });
+ }
+ },
+ observers: {
+ tabList(tabList) {
+ if (tabList.length > 0) {
+ console.log(tabList);
+ this.setData({
+ isPost: tabList[0].id
+ });
+ }
+ }
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ isPost: 1,
+ currentIndex: 0,
+
+ showPop: false,
+ micro_communities: [],
+ page: 1,
+ last_page: 1,
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ changeTab(e) {
+ this.setData({
+ currentIndex: 0,
+ isPost: e.detail.name
+ });
+ },
+ swiperChange(e) {
+ this.setData({
+ currentIndex: e.detail.current
+ });
+ },
+ //直播间跳转
+ gopage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 1) {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/livePage/livePage?id=" + id + "&playerType=live",
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/livePage/livePage?id=" + id + "&playerType=video" + "&backid=" + backid,
+ });
+ } else if (status == 3) {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/foreshow/foreshow?id=" + id,
+ });
+ }
+ },
+ tapShow() {
+ wx.navigateTo({
+ url: '/packageA/others/GoodsComment/GoodsComment?gid=' + this.data.prop_goods_info.get_goods.id + '&istype=micro',
+ });
+ },
+ goMicro(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageC/micro_communities/microCommentDetails/microCommentDetails?stickId=' + id,
+ });
+ },
+ closeShow() {
+ this.setData({
+ showPop: false
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.json b/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.json
new file mode 100644
index 0000000..88e8158
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.json
@@ -0,0 +1,11 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../../../dist/popup/index",
+ "van-nav-bar": "../../../../../dist/nav-bar/index",
+ "van-icon": "../../../../../dist/icon/index",
+ "van-rate": "../../../../../dist/rate/index",
+ "van-tab": "../../../../../dist/tab/index",
+ "van-tabs": "../../../../../dist/tabs/index"
+ }
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.wxml b/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.wxml
new file mode 100644
index 0000000..42879b0
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.wxml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.play_type == 1?'直播中':'回放'}}
+ 预告
+ {{item.view_num}}观看
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看全部
+
+
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.wxss b/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.wxss
new file mode 100644
index 0000000..7c8a51b
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/invitationAndLive/invitationAndLive.wxss
@@ -0,0 +1,367 @@
+/* packageA/mycomponent/invitation/invitation.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.list-post {
+ width: 100%;
+ padding: 0 0 40rpx;
+ z-index: 9999;
+ height: 92.5vh;
+ overflow-y: scroll;
+ background-color: #f5f5f5;
+}
+
+.list-post .item {
+ padding: 20rpx 30rpx;
+ box-sizing: border-box;
+ margin-bottom: 20rpx;
+ background-color: #fff;
+}
+
+.list-post .item .userInfo {
+ display: flex;
+ align-items: center;
+}
+
+.list-post .item .avatar {
+ width: 50rpx;
+ height: 50rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ background-color: #c8c8c8;
+}
+
+.list-post .item .avatar image {
+ width: 100%;
+ height: 100%;
+}
+
+.list-post .item .nickname {
+ font-size: 14px;
+ max-width: 300rpx;
+ margin-left: 20rpx;
+}
+
+.list-post .item .evaluate {
+ margin-top: 25rpx;
+}
+
+.list-post .item .evaluate .message {
+ font-size: 13px;
+ margin-left: 5rpx;
+ color: #3c3c3c;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ overflow: hidden;
+ -webkit-line-clamp: 5;
+ -webkit-box-orient: vertical;
+}
+
+.list-post .item .evaluate .album .img {
+ display: inline-block;
+ width: 206rpx;
+ height: 206rpx;
+ margin: 10rpx;
+ background-color: #ececec;
+ border-radius: 10rpx;
+}
+
+.list-post .item .bottom {
+ display: flex;
+ justify-content: flex-end;
+ font-size: 14px;
+}
+
+.list-post .item .bottom .iconfont {
+ display: inherit;
+}
+
+.list-post .item .comment,
+.link {
+ display: flex;
+ align-items: center;
+}
+
+.comment {
+ color: #929292;
+}
+
+.link {
+ margin-left: 50rpx;
+ color: #ff9600;
+}
+
+.moreText {
+ width: 100%;
+ text-align: center;
+ font-size: 27rpx;
+ color: #6666;
+ margin: 20rpx 0;
+}
+
+/* 新样式 */
+.panel {
+ margin: 20rpx;
+ border-radius: 20rpx;
+ background-color: #fff;
+}
+
+.posts-live {
+ padding: 0 20rpx;
+}
+
+.posts-live .posts-live-tabs {
+ width: 500rpx;
+ padding-bottom: 22rpx;
+}
+
+.posts-live .posts-live-tabs .van-tabs__line {
+ bottom: 5px;
+}
+
+.posts-live .posts-live-tabs .tabs-item {
+ font-size: 14px;
+ font-weight: bold;
+ color: #aaa;
+}
+
+.posts-live .posts-live-tabs .tabs-item.active {
+ position: relative;
+ color: #484848;
+}
+
+.posts-live .posts-live-tabs .tabs-item.active::before {
+ content: "";
+ position: absolute;
+ left: 50%;
+ bottom: -15rpx;
+ transform: translateX(-50%);
+ display: block;
+ width: 66rpx;
+ height: 8rpx;
+ background-color: #f14e4e;
+ border-radius: 4rpx;
+}
+
+.posts-live .posts-box {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ column-gap: 12rpx;
+ row-gap: 12rpx;
+}
+
+.posts-live .posts-box .posts-item {
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: center;
+}
+
+.posts-box-out,
+.live-room {
+ position: relative;
+ margin-top: 10rpx;
+}
+
+.live-room .my-swipe {
+ width: 100%;
+ height: 520rpx;
+}
+
+.live-room .my-swipe-item {
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ padding-bottom: 30rpx;
+}
+
+.text-overHide {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+/* 自定义轮播指示点样式 */
+.indication {
+ width: 400rpx;
+ height: 36rpx;
+ position: absolute;
+ bottom: 0;
+ left: 50%;
+ transform: translateX(-50%);
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+}
+
+/* 未选中指示点样式 */
+
+.spot {
+ width: 12rpx;
+ height: 10rpx;
+ border-radius: 50%;
+ margin-right: 26rpx;
+ background-color: #c2c2c2;
+}
+
+/* 选中指示样式 */
+
+.spot.active {
+ width: 22rpx;
+ height: 10rpx;
+ border-radius: 6rpx;
+ background-color: #f14e4e;
+}
+
+.live-room .live-room-item {
+ position: relative;
+ width: 48%;
+ height: 100%;
+ overflow: hidden;
+}
+
+.live-room .live-room-item .live-bg {
+ width: 100%;
+ height: 420rpx;
+ position: relative;
+ border-radius: 25rpx;
+ overflow: hidden;
+}
+
+.live-room .live-room-item .live-bg .live-bg-img {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ border-radius: 26rpx;
+ width: 100%;
+ height: 100%;
+}
+
+.live-room .live-room-item .live-bg .live-top {
+ position: absolute;
+ top: 20rpx;
+ left: 10rpx;
+ display: flex;
+}
+
+.live-room .live-room-item .live-bg .live-top .living {
+ width: 68rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ font-size: 22rpx;
+ text-align: center;
+ background-color: #ff2c29;
+ border-radius: 8rpx;
+ color: #fff;
+}
+
+.live-room .live-room-item .live-bg .live-top .isBack {
+ width: 68rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ font-size: 22rpx;
+ text-align: center;
+ background-color: #999;
+ border-radius: 8rpx;
+ color: #fff;
+}
+
+.live-room .live-room-item .live-bg .live-top .live-num {
+ width: 122rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ font-size: 22rpx;
+ text-align: center;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 8rpx;
+ color: #fff;
+}
+
+.live-room .live-room-item .live-bg .live-top .goods_icon {
+ font-size: 12px;
+ height: 40rpx;
+ line-height: 40rpx;
+ position: relative;
+ margin-left: 40rpx;
+}
+
+.live-bg .live-top .goods_icon .icon-customform_list_2 {
+ margin-top: -9px;
+ font-size: 40rpx;
+ color: #ffa303;
+}
+
+.live-bg .live-top .goods_icon .num {
+ position: absolute;
+ background-color: #fff;
+ border-radius: 10rpx;
+ color: #f00;
+ top: 0;
+ right: -18rpx;
+ height: 28rpx;
+ line-height: 28rpx;
+ font-size: 20rpx;
+ padding: 0 6rpx;
+}
+
+.live-room .live-room-item .live-bg .live-title {
+ position: absolute;
+ bottom: 30rpx;
+ left: 10rpx;
+ font-size: 28rpx;
+ text-align: left;
+ margin-right: 14rpx;
+ color: #fff;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ overflow: hidden;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.live-room .live-room-item .user {
+ /* position: absolute;
+ bottom: -36rpx; */
+ transform: translateY(-16rpx);
+ display: flex;
+ align-items: flex-end;
+ margin-left: 12rpx;
+}
+
+.live-room .live-room-item .user .user-photo {
+ width: 56rpx;
+ height: 56rpx;
+}
+
+.live-room .live-room-item .user .user-photo image {
+ border: solid 2px #fff;
+ border-radius: 50%;
+ width: 100%;
+ height: 100%;
+}
+
+.live-room .live-room-item .user .user-name {
+ margin-left: 4rpx;
+ font-size: 24rpx;
+}
+
+.posts-live .posts-live-all {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 20rpx 20rpx 10rpx 20rpx;
+}
+
+.posts-live .posts-live-all .text {
+ font-size: 13px;
+ font-weight: bold;
+ color: #5e5e5e;
+}
+
+.posts-live .posts-live-all .icon-advertise-next {
+ color: #616161;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/market/market.js b/packageA/mycomponent/goodsComponent/plugin/market/market.js
new file mode 100644
index 0000000..79da03b
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/market/market.js
@@ -0,0 +1,62 @@
+// packageA/mycomponent/goodsComponent/plugin/market/market.js
+var app = getApp();
+
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ data: {
+ type: null,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ is_market:false,
+ prdocut_market_name:'',
+ prdocut_market_name_apps:'',
+ marketShow:false,
+ prdocut_market:{}
+ },
+ observers: {
+ data: function (plugin) {
+ if (plugin) {
+ this.init(plugin);
+ }
+ },
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ init(data) {
+ // 应用市场
+ if(data.plugin){
+ if (!app._isTextEmpty(data.plugin.prdocut_market)) {
+ this.setData({
+ is_market: true,
+ prdocut_market: data.plugin.prdocut_market,
+ prdocut_market_name: data.plugin.prdocut_market.plugin,
+ prdocut_market_name_apps: data.plugin.prdocut_market.apps,
+ });
+ }
+ }
+
+ },
+ // 应用市场
+ marketShowTap(e) {
+ this.setData({
+ marketShow: true,
+ });
+ },
+ closeMarketShow() {
+ this.setData({
+ marketShow: false,
+ });
+ },
+ },
+});
diff --git a/packageA/mycomponent/goodsComponent/plugin/market/market.json b/packageA/mycomponent/goodsComponent/plugin/market/market.json
new file mode 100644
index 0000000..844e965
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/market/market.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../../../dist/popup/index",
+ "van-icon": "../../../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/market/market.wxml b/packageA/mycomponent/goodsComponent/plugin/market/market.wxml
new file mode 100644
index 0000000..c96f06e
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/market/market.wxml
@@ -0,0 +1,33 @@
+
+
+
+ 应用
+
+ {{prdocut_market_name_apps || ""}}
+
+
+
+
+
+ 插件
+
+
+ 赠送售后服务时长 {{prdocut_market.service_time}}天
+ (剩余售后服务时长730天封顶,大于则不再增加)
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/market/market.wxss b/packageA/mycomponent/goodsComponent/plugin/market/market.wxss
new file mode 100644
index 0000000..f29bf54
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/market/market.wxss
@@ -0,0 +1,83 @@
+/* packageA/mycomponent/goodsComponent/plugin/market/market.wxss */
+.popup-title {
+ padding: 32rpx;
+ font-size: 18px;
+ font-weight: bold;
+ text-align: center;
+ position: relative;
+}
+
+.closs_icon {
+ position: absolute;
+ top: 26rpx;
+ right: 25rpx;
+ color: #888787;
+}
+
+.popup-box {
+ height: 90%;
+ overflow-y: scroll;
+}
+
+.popup-box .popup-item {
+ margin: 0 30rpx;
+ padding: 25rpx 0;
+ border-bottom: 1rpx solid #f2f2f2;
+ text-align: center;
+ font-size: 28rpx;
+}
+
+.act_in {
+ display: flex;
+ height: 88rpx;
+
+ /* margin-right: 24rpx; */
+
+ /* margin-left: 24rpx; */
+ align-items: center;
+
+ /* border-bottom: solid 2rpx #e2e2e2; */
+ padding: 0 24rpx;
+ background-color: #fff;
+ margin-top: 20rpx;
+}
+
+.act_in .act1 {
+ margin-right: 40rpx;
+}
+
+.act_in .act2 text {
+ border: solid 2rpx #f15353;
+ color: #f15353;
+ padding: 4rpx 20rpx;
+ border-radius: 6rpx;
+ font-size: 24rpx;
+}
+
+.act_in .act3 {
+ flex: 2.5;
+ margin-left: 20rpx;
+ font-size: 24rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.act_in .ang_right {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+}
+
+.act-box .act .ang_right .ang_right_icon {
+ width: 32rpx;
+ padding-top: 10rpx;
+}
+
+.service-box {
+ padding: 0 24rpx 16rpx;
+ text-align: left;
+ color: #5a5a5a;
+ font-size: 13px;
+ background: #fff;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/member/member.js b/packageA/mycomponent/goodsComponent/plugin/member/member.js
new file mode 100644
index 0000000..82b7995
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/member/member.js
@@ -0,0 +1,56 @@
+// packageA/mycomponent/goodsComponent/plugin/member/member.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsInfo: {
+ type: null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ show: false,
+ openVip: 2,
+
+ },
+ lifetimes: {
+ attached(e) {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ });
+ this.init();
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ init() {
+ if (this.data.goodsInfo.member_discount) {
+ if (app._isTextEmpty(this.data.goodsInfo.member_discount.discount)) {
+ this.setData({
+ openVip: 1,
+ });
+ } else {
+ this.setData({
+ openVip: this.data.goodsInfo.member_discount.discount,
+ });
+ }
+ }
+ },
+ gotoMemberGradeList(e) {
+ let tag = e.currentTarget.dataset.o;
+ if (tag == "1") {
+ wx.navigateTo({
+ url: "/packageB/member/MemberGradeList/MemberGradeList",
+ });
+ }
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/member/member.json b/packageA/mycomponent/goodsComponent/plugin/member/member.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/member/member.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/member/member.wxml b/packageA/mycomponent/goodsComponent/plugin/member/member.wxml
new file mode 100644
index 0000000..1242bda
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/member/member.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ {{goodsInfo.member_discount.level_name}}专享价{{language['money']}}{{goodsInfo.member_discount.discount_value}}
+
+
+ 加入{{ goodsInfo.member_discount.next_level_name }}专享价{{language['money']}}{{
+ goodsInfo.member_discount.next_level_price }}
+ /天
+
+
+ 立即开通
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/member/member.wxss b/packageA/mycomponent/goodsComponent/plugin/member/member.wxss
new file mode 100644
index 0000000..2216ee7
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/member/member.wxss
@@ -0,0 +1,40 @@
+/* packageA/mycomponent/goodsComponent/plugin/member/member.wxss */
+.member_b {
+ height: 80rpx;
+ background-color: #fffbe1;
+ padding: 0 24rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.member_b .img {
+ width: 122rpx;
+ height: 44rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/goods/member@2x.png") no-repeat;
+ background-size: 122rpx 44rpx;
+}
+
+.member_b .vipBox {
+ flex: 1;
+ padding-left: 24rpx;
+ color: #000;
+ overflow: hidden;
+}
+
+.member_b .vipBox_btn {
+ display: flex;
+ justify-content: center;
+ width: 134rpx;
+ height: 44rpx;
+ line-height: 44rpx;
+ border-radius: 8rpx;
+ background: #363635;
+ color: #fee5a3;
+ overflow: hidden;
+ font-size: 24rpx;
+}
+
+.member_b .arrow {
+ padding-top: 4rpx;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/producer/producer.js b/packageA/mycomponent/goodsComponent/plugin/producer/producer.js
new file mode 100644
index 0000000..19f3fd0
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/producer/producer.js
@@ -0,0 +1,30 @@
+// packageA/mycomponent/goodsComponent/plugin/producer/producer.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ producer_info: {
+ type: null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ tapManage(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageE/managementIndex/managementIndex?producer_id=" + id,
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/producer/producer.json b/packageA/mycomponent/goodsComponent/plugin/producer/producer.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/producer/producer.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/producer/producer.wxml b/packageA/mycomponent/goodsComponent/plugin/producer/producer.wxml
new file mode 100644
index 0000000..720d9fc
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/producer/producer.wxml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+ {{producer_info.producer_name}}
+ 热销{{producer_info.sell_total}}件
+
+
+ 进入店铺
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/producer/producer.wxss b/packageA/mycomponent/goodsComponent/plugin/producer/producer.wxss
new file mode 100644
index 0000000..b952d17
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/producer/producer.wxss
@@ -0,0 +1,58 @@
+/* packageA/mycomponent/goodsComponent/plugin/producer/producer.wxss */
+.management {
+ margin: 20rpx;
+ border-radius: 20rpx;
+ height: 152rpx;
+ background: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 38.08rpx 30.08rpx 30.08rpx 33.92rpx;
+}
+
+.mana_o {
+ width: 80rpx;
+ height: 80rpx;
+ background-color: #f5c041;
+ border-radius: 50%;
+ margin-right: 22.08rpx;
+}
+
+.management .mana_o image {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 50%;
+}
+
+.management .nameMana {
+ display: flex;
+ flex-direction: column;
+}
+
+.management .nameMana .nameMana_a {
+ font-size: 33.92rpx;
+ color: #333;
+ text-align: left;
+ margin-bottom: 16rpx;
+}
+
+.management .nameMana .nameMana_b {
+ font-size: 24rpx;
+ text-align: left;
+ color: #333;
+}
+
+.management .nameMana .nameMana_b text {
+ color: #f14e4e;
+}
+
+.management .tapMana {
+ background-color: #f14e4e;
+ border-radius: 26.88rpx;
+ width: 150.08rpx;
+ height: 54.08rpx;
+ font-size: 24rpx;
+ color: #fff;
+ text-align: center;
+ line-height: 54.08rpx;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.js b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.js
new file mode 100644
index 0000000..089a45c
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.js
@@ -0,0 +1,39 @@
+// packageH/project_verification/components/projectCard/projectCard.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ data: {
+ type: Object,
+ value: {},
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ ProjectNameLang: "项目",
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ openMap() {
+ wx.openLocation({
+ latitude: parseFloat(this.data.data.store_latitude),
+ longitude: parseFloat(this.data.data.store_longitude),
+ });
+ },
+ getProjectNameLang() {
+ const basicInfo = wx.getStorageSync("yz_basic_info");
+ if (basicInfo.lang?.store_projects?.project) {
+ this.setData({
+ ProjectNameLang: basicInfo.lang.store_projects.project,
+ });
+ }
+ },
+ },
+});
diff --git a/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.json b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.wxml b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.wxml
new file mode 100644
index 0000000..8d61226
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.wxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+ 适用门店
+
+
+
+
+
+
+ {{ data.store_full_address }}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.wxss b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.wxss
new file mode 100644
index 0000000..3acd52f
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCard/projectCard.wxss
@@ -0,0 +1,149 @@
+/* packageH/project_verification/components/projectCard/projectCard.wxss */
+@import "/mycss/iconfont.wxss";
+
+.project-card {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ background-color: white;
+ border-radius: 15rpx;
+ overflow: hidden;
+ height: 100%;
+}
+
+.project-header {
+ display: flex;
+ padding: 20rpx;
+ background-image: linear-gradient(90deg, #ffebd2 0%, #fbc889 100%);
+}
+
+.project-cover {
+ flex-shrink: 0;
+ display: inline-block;
+ width: 70rpx;
+ height: 70rpx;
+ border-radius: 8rpx;
+}
+
+.project-info {
+ display: inline-block;
+ vertical-align: top;
+ margin-left: 12rpx;
+ line-height: 38rpx;
+ width: 456rpx;
+ font-size: 26rpx;
+ color: #3c2504;
+}
+
+.project-name {
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+.project-expire {
+ margin-top: 6rpx;
+ line-height: 22rpx;
+ color: #874e02;
+ font-size: 22rpx;
+}
+
+.project-header_right {
+ width: 132rpx;
+ text-align: right;
+}
+
+.project-header_right view.iconfont {
+ font-size: 24rpx;
+}
+
+.project-rest {
+ display: inline-flex;
+ justify-content: flex-end;
+ align-items: center;
+ vertical-align: top;
+
+ /* height: 66rpx; */
+ line-height: 36rpx;
+ color: #874e02;
+ font-size: 36rpx;
+
+ /* text-overflow: ellipsis; */
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+.project-rest > view {
+ margin-left: 4rpx;
+ font-size: 22rpx;
+}
+
+.project_stores {
+ flex-grow: 1;
+ padding: 20rpx;
+}
+
+.project_store-title {
+ line-height: 22rpx;
+ font: size 22rpx;
+ color: #874e02;
+}
+
+.project_store-list {
+ margin-top: 22rpx;
+}
+
+.project_store-header {
+ display: flex;
+}
+
+.project_store-cover {
+ flex-shrink: 0;
+ display: inline-block;
+ width: 64rpx;
+ height: 64rpx;
+ border-radius: 8rpx;
+}
+
+.project_store-info {
+ flex-grow: 1;
+ display: inline-block;
+ vertical-align: top;
+ margin-left: 12rpx;
+ line-height: 26rpx;
+ font-size: 26rpx;
+ overflow: hidden;
+}
+
+.project_store-name {
+ font-weight: bold;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+
+.project_store_business-hours {
+ display: flex;
+ justify-content: space-between;
+ margin-top: 18rpx;
+ font-size: 20rpx;
+}
+
+.project_store-disance {
+ color: #ce811d;
+}
+
+.project_store-address {
+ margin-top: 27rpx;
+ color: #333;
+ font-size: 20rpx;
+ white-space: normal;
+}
+
+.project-footer {
+ margin: 0 20rpx 20rpx;
+ padding-top: 20rpx;
+ text-align: center;
+ color: #874e02;
+ border-top: 1px solid #f5f5f5;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.js b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.js
new file mode 100644
index 0000000..685ef40
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.js
@@ -0,0 +1,63 @@
+// packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.js
+const App = getApp();
+const GetProjectsByGoodsIdUrl = App.getNetAddresss("plugin.store-projects.frontend.project.get-list-by-goods-id");
+var location = require("../../../../../mybehaviors/location/location");
+let Location = null;
+Component({
+ /**
+ * 组件的属性列表
+ */
+ behaviors: [location],
+ properties: {
+ goodsId: {
+ type: Number,
+ value: null,
+ },
+ },
+ lifetimes: {
+ attached() {
+ this._getLocation((res,point) => {
+ Location = { point: point };
+ this.getProjects();
+ });
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ projects: [],
+ ProjectNameLang: "项目",
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ getProjects() {
+ let point = App.qqMapTransBMap(parseFloat(Location.point.lng), parseFloat(Location.point.lat));
+ App._getNetWork({
+ url: GetProjectsByGoodsIdUrl,
+ data: {
+ goods_id: this.data.goodsId,
+ lng: point.lng,
+ lat: point.lat,
+ },
+ success: ({ data: { data } }) => {
+ this.setData({
+ projects: data,
+ });
+ },
+ });
+ },
+ getProjectNameLang() {
+ const basicInfo = wx.getStorageSync("yz_basic_info");
+ if (basicInfo.lang?.store_projects?.project) {
+ this.setData({
+ ProjectNameLang: basicInfo.lang.store_projects.project,
+ });
+ }
+ },
+ },
+});
diff --git a/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.json b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.json
new file mode 100644
index 0000000..575d9b4
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "project-card":"./projectCard/projectCard"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.wxml b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.wxml
new file mode 100644
index 0000000..c18b5f8
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.wxml
@@ -0,0 +1,10 @@
+
+
+
+ 套餐包含{{ ProjectNameLang }}
+ 购买后可直接获得{{ ProjectNameLang }}服务次数,可直接到店核销!
+
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.wxss b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.wxss
new file mode 100644
index 0000000..cf302fa
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.wxss
@@ -0,0 +1,35 @@
+/* packageA/mycomponent/goodsComponent/plugin/projectCardModule/projectCardModule.wxss */
+
+/* 多项目核销 */
+.multi-project-box {
+ margin: 20rpx;
+ border-radius: 20rpx;
+ background-color: #fff;
+ padding: 20rpx;
+}
+
+.multi-project-title {
+ padding: 12rpx 24rpx;
+ font-size: 24rpx;
+ background-color: white;
+}
+
+.multi-project_main-title {
+ margin-bottom: 10rpx;
+ font-size: 28rpx;
+}
+
+.multi-project-list {
+ display: grid;
+ margin: 14rpx 0;
+ white-space: nowrap;
+ overflow: scroll hidden;
+}
+
+.multi-project-item {
+ display: inline-block;
+ vertical-align: top;
+ margin: 0 14rpx;
+ width: calc(100vw - 120rpx);
+ height: 100%;
+}
diff --git a/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.js b/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.js
new file mode 100644
index 0000000..ffb166a
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.js
@@ -0,0 +1,46 @@
+// packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsInfo: {
+ type: null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ supplierData: []
+ },
+ observers: {
+ goodsInfo: function (info) {
+ if (info.supplier) {
+ this.setData({
+ supplierData: info.supplier
+ });
+ }
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ //推广商品跳转
+ pushGoodGoto(e) {
+ let itemdata = e.currentTarget.dataset.itemdata;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + itemdata.id,
+ });
+ },
+ // 供应商
+ gotoSupplier() {
+ wx.navigateTo({
+ url: "/packageA/member/supplier/SupplierShop/SupplierShop?id=" + this.data.supplierData.id,
+ });
+ },
+
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.json b/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.json
new file mode 100644
index 0000000..844e965
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../../../dist/popup/index",
+ "van-icon": "../../../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.wxml b/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.wxml
new file mode 100644
index 0000000..15082a2
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+ {{supplierData.store_name?supplierData.store_name:supplierData.username}}
+
+
+ 热销{{goodsInfo.supplier_goods_count}}件
+
+
+
+
+ 进入店铺
+
+
+
+
+
+ {{item.title}}
+ ¥{{item.vip_level_status && item.vip_level_status.status == 1
+ ? item.vip_level_status.word
+ : item.price}}
+ ¥{{item.max_price == item.min_price ? item.min_price : item.min_price + '-' +item.max_price }}
+
+
+
+ 更多商品
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.wxss b/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.wxss
new file mode 100644
index 0000000..4ca1a1a
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.wxss
@@ -0,0 +1,115 @@
+/* packageA/mycomponent/goodsComponent/plugin/supplierModel/supplierModel.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.supplier-box {
+ margin: 20rpx;
+ border-radius: 20rpx;
+ background-color: #fff;
+}
+
+.store {
+ padding-right: 5px;
+}
+
+.store .store-head {
+ padding: 10rpx 30rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 10rpx;
+}
+
+.store .store-head .store-head-left {
+ display: flex;
+ align-items: center;
+}
+
+.store .store-head .store-head-left .left-img image {
+ width: 60rpx;
+ height: 60rpx;
+ margin: 10rpx 12rpx 0 0;
+ border-radius: 50%;
+ overflow: hidden;
+}
+
+.store .store-head .store-head-left .left-title {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ align-items: flex-start;
+}
+
+.left-title .title-name {
+ font-size: 16px;
+ font-weight: 700;
+}
+
+.left-title .title-hot {
+ font-size: 10px;
+}
+
+.left-title .title-hot .red-text {
+ color: #f14e4e;
+}
+
+.store .store-head .store-head-right .right-enter {
+ width: 156rpx;
+ height: 50rpx;
+ text-align: center;
+ line-height: 50rpx;
+ background-color: #f14e4e;
+ border-radius: 26rpx;
+ color: #fff;
+ font-size: 12px;
+}
+
+.store .store-main {
+ display: flex;
+ padding-right: 20rpx;
+}
+
+.store .store-main .store-main-item {
+ width: 216rpx;
+ margin: 0 0 20rpx 20rpx;
+}
+
+.store .store-main .store-main-item image {
+ width: 216rpx;
+ height: 216rpx;
+}
+
+.store .store-main .store-main-item .store-main-title {
+ width: 216rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ text-align: left;
+}
+
+.store .store-main .store-main-item .store-main-price {
+ text-align: left;
+ color: #f14e4e;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.store .store-main .more-goods {
+ display: flex;
+ height: 216rpx;
+ margin: 0 0 20rpx 20rpx;
+ flex-direction: column;
+ justify-content: center;
+ padding: 0 58rpx;
+ background-color: #f6f6f6;
+}
+
+.store .store-main .more-goods .icon-fontclass-yingyongshichang1 {
+ color: #d3d3d3;
+ font-size: 50px;
+}
+
+.store .store-main .more-goods .more-goods-text {
+ color: #6d6d6d;
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.js b/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.js
new file mode 100644
index 0000000..b8d6dd0
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.js
@@ -0,0 +1,165 @@
+// packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goods_plugin:{
+ type:Object,
+ value:{}
+ },
+ goodsInfo:{
+ type:Object,
+ value:{}
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ personnel:[],
+ radio:0,
+ personnel_obj:{},
+
+ dateArr: [],
+ day_index:0,
+ time_index:null,
+ day_obj:{},
+ time_obj:{},
+
+ service_text:"服务",
+ reserve_obj_text:"预约人员"
+
+ },
+ lifetimes:{
+ attached(){
+ // let dateArr = this.GetDateStr(14);
+ // this.setData({dateArr});
+ wx.getStorage({
+ key: "yz_basic_info",
+ success: (res)=> {
+ this.setData({
+ service_text:res.data.lang.reserve_simple.service||'服务',
+ reserve_obj_text:res.data.lang.reserve_simple.reserve_obj||'预约人员',
+ });
+ },
+ });
+
+ if(this.data.goods_plugin && this.data.goods_plugin.reserve_simple_goods && this.data.goods_plugin.reserve_simple_goods.objs){
+ let personnel = this.data.goods_plugin.reserve_simple_goods.objs;
+ let changeData={personnel};
+ if(personnel.length>0){
+ changeData.radio = personnel[0].id;
+ changeData.personnel_obj = personnel[0];
+ }
+ this.setData(changeData);
+ if(personnel.length>0){
+ this.getWorkTime(personnel[0].id);
+ }
+
+ }
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ getWeek(dateString) {
+ let dateArray = dateString.split("-");
+ let date = new Date(dateArray[0], parseInt(dateArray[1] - 1), dateArray[2]);
+ return "周" + "日一二三四五六".charAt(date.getDay());
+ },
+ onChangeRadio(event) {
+ this.setData({
+ radio: event.detail,
+ });
+ let obj = this.data.personnel.find((item)=>{
+ return item.id==event.detail;
+ });
+ this.setData({personnel_obj:obj});
+ this.getWorkTime(event.detail);
+ },
+ setDayIndex(evt){
+ let {item,index} = evt.currentTarget.dataset;
+ if(item.status==0) return;
+ this.setData({
+ day_index:index,
+ day_obj:item,
+ time_index:null
+ });
+ },
+ setTimeIndex(evt){
+ let {item,index} = evt.currentTarget.dataset;
+ if(item.status==0) return;
+ this.setData({
+ time_index:index,
+ time_obj:item
+ });
+ },
+ gotoOrder(){
+ if(this.data.time_index==null) return app.tips("请选择预约时间");
+ let {service_id,id,goods_option_id,name} = this.data.personnel_obj;
+ let begin_time = this.data.dateArr[this.data.day_index].work_date+" "+this.data.dateArr[this.data.day_index].periods[this.data.time_index].period_time_start_str;
+ let reserve_order = {service_id,obj_id:id,begin_time,name};
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&total=1&optionsId="+goods_option_id+"&goodsId=" + this.data.goodsInfo.id + "&reserve_order=" + JSON.stringify(reserve_order)
+ });
+ },
+ gotoUserDe(evt){
+ let id = evt.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageF/timeAppointment/AppointmentUserDe/AppointmentUserDe?id='+id,
+ });
+ },
+ getWorkTime(id){
+ let obj = this.data.personnel.find((item)=>{
+ return item.id==id;
+ });
+ console.log(obj);
+ if(!obj) return;
+ let urlStr = app.getNetAddresss("plugin.reserve-simple.frontend.work-time.get-service-obj-periods");
+ app._getNetWork({
+ url: urlStr,
+ data:{
+ obj_id:obj.id,
+ service_id:obj.service_id
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result != 1) return app.tips(res.msg);
+
+ let list = res.data;
+ list.forEach((item)=>{
+ item.week = this.getWeek(item.work_date);
+ item.day = item.work_date.substr(-2,2);
+ item.month = item.work_date.substr(-5,5);
+ });
+ console.log(list);
+ this.setData({
+ dateArr:list,
+ day_obj:list[0]
+ });
+ }
+ });
+ },
+ GetDateStr(AddDayCount) {
+ let dateArr = [];
+ for (let i = 0; i < AddDayCount; i++) {
+ var dd = new Date();
+ dd.setDate(dd.getDate() + i); //获取AddDayCount天后的日期
+ var y = dd.getFullYear();
+ var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1; //获取当前月份的日期,不足10补0
+ var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate(); //获取当前几号,不足10补0
+ let weekStr = this.getWeek(y + "-" + m + "-" + d);
+ let str = {
+ day: d,
+ week: weekStr
+ };
+ dateArr.push(str);
+ }
+ return dateArr;
+ }
+ }
+});
diff --git a/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.json b/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.json
new file mode 100644
index 0000000..1dd0e58
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-radio": "/dist/radio/index",
+ "van-radio-group": "/dist/radio-group/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.wxml b/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.wxml
new file mode 100644
index 0000000..e0ac8c9
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.wxml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+ 选择{{reserve_obj_text}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+ {{item.description}}
+
+ {{service_text}}费:
+ ¥{{item.price}}
+
+
+
+
+
+
+
+
+
+
+ 选择预约时间
+
+
+
+
+ {{ index == 0 ? "今天" : item.week }}
+ {{ item.day }}
+
+
+
+ {{item.period_time_start_str}}
+
+
+ 暂无可预约时间
+
+
+
+
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.wxss b/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.wxss
new file mode 100644
index 0000000..0b1fa94
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.wxss
@@ -0,0 +1,231 @@
+/* packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.wxss */
+
+
+@import "/mycss/iconfont.wxss";
+view,text{
+ box-sizing: border-box;
+}
+.timeSelectCon {
+ width: 710rpx;
+ background-color: #ffffff;
+ border-radius: 20rpx;
+ margin: 0 auto;
+ box-sizing: border-box;
+ padding: 32rpx 21rpx 30rpx 24rpx;
+ margin-top: 20rpx;
+}
+.timeSelectCon .calendar {
+ padding:0 6rpx;
+ margin-top: 34rpx;
+}
+.timeSelectCon .calendar .timelist {
+ margin-top: 34rpx;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ max-height: 250rpx;
+ overflow: auto;
+}
+.timeSelectCon .calendar .timelist .timeSelect:nth-child(n+6) {
+ margin-top: 35rpx;
+}
+.timeSelectCon .calendar .timelist .timeSelect:nth-child(5n) {
+ margin-right: 0;
+}
+.timeSelectCon .calendar .timelist .timeSelect {
+ width: 16.3%;
+ height: 52rpx;
+ border-radius: 4rpx;
+ border: solid 2rpx #c2c2c2;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 26rpx;
+ margin-right: 28rpx;
+}
+.timeSelectCon .calendar .timelist .timeSelect.timeActive{
+ color: #ffffff;
+ border-color: #f42a26;
+ background-color: #f42a26;
+}
+.timeSelectCon .calendar .timelist .timeSelect.timeDisabled{
+ color: #c4c4c4;
+ border-color: #e8e8e8;
+}
+.timeSelectCon .calendar .weekDate {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-bottom: 20rpx;
+ box-sizing: border-box;
+ border-bottom: 1rpx #f0f0f0 solid;
+ overflow: auto;
+}
+.timeSelectCon .calendar .weekDate .weekDateIn {
+ width: 100rpx;
+ display: flex;
+ flex-shrink: 0;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+.timeSelectCon .calendar .weekDate .weekDateIn .spanTop {
+ margin-bottom: 10rpx;
+ font-size: 28rpx;
+ font-weight: bold;
+}
+.timeSelectCon .calendar .weekDate .weekDateIn .spanDay{
+ color: #424242;
+}
+.timeSelectCon .calendar .weekDate .weekDateIn .spanDisabled{
+ color: #c4c4c4;
+}
+.timeSelectCon .calendar .weekDate .weekDateIn.active .spanTop{
+ color: #f42a26;
+}
+.timeSelectCon .calendar .weekDate .weekDateIn.active .spanActive{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 46rpx;
+ height: 46rpx;
+ font-size: 26rpx;
+ color: #fff;
+ background-color: #f42a26;
+ border-radius: 50%;
+}
+
+.timeAppointmentUser {
+ width: 710rpx;
+ background-color: #ffffff;
+ border-radius: 20rpx;
+ margin: 0 auto;
+ box-sizing: border-box;
+ padding: 32rpx 21rpx 30rpx 24rpx;
+}
+.timeAppointmentUser .checkList {
+ display: flex;
+ flex-direction: column;
+}
+.timeAppointmentUser .checkList .lis {
+ display: flex;
+ justify-content: space-between;
+ margin-top: 25rpx;
+}
+.timeAppointmentUser .checkList .lis .lisRight {
+ width: 609rpx;
+ height: 198rpx;
+ background-color: #ffffff;
+ border-radius: 10rpx;
+ border: solid 1rpx #d0d0d0;
+ padding: 24rpx 20rpx 18rpx 24rpx;
+ box-sizing: border-box;
+ display: flex;
+}
+.timeAppointmentUser .checkList .lis .lisRight .rightBox {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: space-between;
+}
+.timeAppointmentUser .checkList .lis .lisRight .rightBox .priceTxt {
+ font-size: 24rpx;
+ color: #4f4f4f;
+ font-weight: bold;
+}
+.timeAppointmentUser .checkList .lis .lisRight .rightBox .priceTxt .price {
+ color: #f14e4e;
+}
+.timeAppointmentUser .checkList .lis .lisRight .rightBox .name {
+ font-size: 28rpx;
+ color: #4f4f4f;
+ font-weight: bold;
+}
+.timeAppointmentUser .checkList .lis .lisRight .rightBox .intro {
+ font-size: 24rpx;
+ color: #666666;
+ text-align: left;
+ text-overflow: -o-ellipsis-lastline;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+.timeAppointmentUser .checkList .lis .lisRight .leftImg {
+ flex-shrink: 0;
+ width: 90rpx;
+ height: 90rpx;
+ border-radius: 100%;
+ margin-right: 24rpx;
+}
+.timeAppointmentUser .checkList .lis .lisRight .leftImg image {
+ width: 100%;
+ height: 100%;
+ border-radius: 100%;
+}
+
+.headTop {
+ display: flex;
+ margin-bottom: 6rpx;
+ margin-right: 11rpx;
+}
+.headTop .title {
+ display: flex;
+ align-items: center;
+ font-size: 34rpx;
+ color: #353434;
+ font-weight: bold;
+ margin-left: 12rpx;
+}
+.headTop .iconfont {
+ font-size: 48rpx;
+ color: #fc8200;
+}
+
+
+.footer{
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ display: flex;
+ align-items: center;
+ padding: 0 30rpx;
+ height: calc(100rpx + env(safe-area-inset-bottom));
+ padding-bottom: env(safe-area-inset-bottom);
+ background-color: #ffffff;
+ box-shadow: 0rpx -2rpx 7rpx 0rpx
+ rgba(185, 185, 185, 0.45);
+ z-index: 99;
+}
+.footer .left{
+ flex: 1;
+}
+.footer .left .notText{
+ font-size: 24rpx;
+ color: #f42a26;
+}
+.footer .left .text{
+ font-size: 24rpx;
+ color: #3e3e3e;
+}
+.footer .btn{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ width: 170rpx;
+ height: 66rpx;
+ color: #fff;
+ font-size: 24rpx;
+ background-color: #f42a26;
+ border-radius: 33rpx;
+}
+.footer .btn .small{
+ height: 28rpx;
+ font-size: 22rpx;
+ color: #ffffff;
+}
+
diff --git a/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.js b/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.js
new file mode 100644
index 0000000..3b4808d
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.js
@@ -0,0 +1,305 @@
+// packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.js
+var app = getApp();
+
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ plugin: {
+ type: Object,
+ },
+ isRent: {
+ type: null,
+ },
+ favorite: {
+ type: null,
+ },
+ activityid: {
+ type: null,
+ },
+ prop_goods_info: {
+ type: null,
+ },
+ isBuy: {
+ type: null,
+ },
+ isBegTime: {
+ type: null,
+ },
+ goodsType: {
+ type: null,
+ },
+ // enterAt提示选择入住时间
+ enterAt: {
+ type: null,
+ },
+ gooddatas: {
+ type: null,
+ },
+ fromStock:{
+ type: null,
+ }
+ },
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show: function () {
+ //72554
+ if (this.data.goodsType == "hotelGoods") {
+ this.hotelGetData(this.data.prop_goods_info);
+ }
+ },
+ },
+ observers: {
+ "prop_goods_info,goodsType": function (info, type) {
+ if (type == "hotelGoods") {
+ this.hotelGetData(info);
+ }
+ },
+ 'gooddatas,goodsType,plugin': function (data, type, object) {
+ if (data) {
+ //* 限时购,宣传语显示
+ let goodsInfo = data.get_goods;
+ if (goodsInfo) {
+ goodsInfo['with_slogan'] = Boolean(goodsInfo.has_one_goods_advertising && goodsInfo.has_one_goods_advertising.is_open == 1);
+ if (goodsInfo['with_slogan']) {
+ data.get_goods['slogan'] = goodsInfo.has_one_goods_advertising.copywriting;
+ }
+
+ if (goodsInfo.member_discount) {
+ if (app._isTextEmpty(goodsInfo.member_discount.discount)) {
+ this.setData({
+ openVip: 1,
+ });
+ } else {
+ this.setData({
+ openVip: goodsInfo.member_discount.discount,
+ });
+ }
+ }
+
+ if (goodsInfo.available_coupon) {
+ this.setData({
+ available_coupon: goodsInfo.available_coupon || [],
+ });
+ }
+ }
+
+ if (type != 'hotelGoods' && type != 'group_goods' && type != 'grabGroup' && type != 'retailGood') {
+ this.init(this.data.gooddatas);
+ }
+ if (type == 'retailGood') {
+ this.setData({
+ goodsInfo: data
+ });
+ } else {
+ if (type != 'grabGroup') {
+ let otherGet = ['group_goods', 'groupwork'];
+ this.setData({
+ goodsInfo: otherGet.includes(type) ? data.goods_info : data.get_goods
+ });
+ }
+ }
+
+ }
+ if (object) {
+ this.setData({
+ goods_plugin: object,
+ });
+ this.setIsLove();
+ }
+ }
+ },
+ lifetimes: {
+ attached(e) {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ });
+ },
+ ready() {
+ if (Number(this.data.goodsInfo.market_price) == 0) {
+ this.data.goodsInfo.notMarket_price = 0;
+ } else {
+ this.data.goodsInfo.notMarket_price = 1;
+ }
+ let price_text = wx.getStorageSync("yz_basic_info").lang.goods && wx.getStorageSync("yz_basic_info").lang.goods.price ? wx.getStorageSync("yz_basic_info").lang.goods.price : "现价";
+ let market_price_text =
+ wx.getStorageSync("yz_basic_info").lang.goods && wx.getStorageSync("yz_basic_info").lang.goods.market_price ? wx.getStorageSync("yz_basic_info").lang.goods.market_price : "原价";
+ const value = wx.getStorageSync("integral");
+
+ this.setData({
+ integral: value || '积分',
+ getMarketPrice: market_price_text,
+ getprice: price_text,
+ goods_plugin: this.data.plugin,
+ goodsInfo: this.data.goodsInfo
+ });
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ goods_plugin: {},
+ isGoodsLove: false,
+ language: "",
+ is_o2o: false,
+ goodsInfo: [],
+ // 是否开启好物圈插件
+ wechatcircle_open: 0,
+ wx_video_link: 0, //视频号扩展插件
+ getMarketPrice: "",
+ getprice: "",
+ integral: "积分",
+ showmoreTitle: false,
+ openVip: 2,
+ available_coupon: [], //优惠券
+
+ riseFansPopup:false, //让利涨粉弹窗
+ riseFansQrCode:''
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ init(data) {
+ if (!app._isTextEmpty(data.plugin)) {
+ if (data.plugin.wechatcircle_open && data.plugin.wechatcircle_open == 1) {
+ this.setData({
+ wechatcircle_open: 1,
+ });
+ }
+ }
+
+ if (data.plugin && data.plugin.wx_video_link) {
+ this.setData({
+ wx_video_link: data.plugin.wx_video_link,
+ });
+ }
+ },
+ setTitleState(e) {
+ this.setData({
+ showmoreTitle: !this.data.showmoreTitle
+ });
+ },
+ goAdvtState() {
+ if (this.data.goodsInfo.has_one_goods_advertising.min_link) {
+ wx.navigateTo({
+ url: this.data.goodsInfo.has_one_goods_advertising.min_link
+ });
+ }
+ },
+ gotoMemberGradeList(e) {
+ let tag = e.currentTarget.dataset.flag;
+ if (tag == "1") {
+ wx.navigateTo({
+ url: "/packageB/member/MemberGradeList/MemberGradeList",
+ });
+ }
+ },
+ //是否有爱心值
+ setIsLove() {
+ if (this.data.goods_plugin.goods_love) {
+ let love_cash = Number(this.data.goodsInfo.price) - Number(this.data.goods_plugin.goods_love.amountOfMoney);
+ this.setData({
+ isGoodsLove: true,
+ goods_love_cash: Number(love_cash.toString().match(/^\d+(?:\.\d{0,2})?/)),
+ goods_love_deduction: this.data.goods_plugin.goods_love.amountOfCoin,
+ goods_love_name: this.data.goods_plugin.goods_love.name,
+ });
+ } else {
+ this.setData({
+ isGoodsLove: false,
+ });
+ }
+ },
+ gotoCoupon() {
+ if (this.data.goodsType == 'hotelGoods') {
+ console.log(this.data.goods_info.hotel_id);
+ wx.navigateTo({
+ url: "/packageC/hotel/hotelCoupon/hotelCoupon?id=" + this.data.goods_info.hotel_id,
+ });
+ return;
+ }
+ wx.navigateTo({
+ url: "/packageD/coupon/coupon_store",
+ });
+ },
+ postShow() {
+ this.triggerEvent("tapPostShow");
+ },
+ openShare() {
+ this.triggerEvent("tapOpenShare");
+ },
+ onFavorite() {
+ this.triggerEvent("onFavorite");
+ },
+ // 酒店
+ callhotelphone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.hotel_info.hotel_mobile,
+ });
+ },
+ hotelGetData(info) {
+ if (this.data.enterAt) console.log(info.get_goods, info.get_hotel_info);
+ let goods_info = {
+ ...info.get_goods,
+ ...info.get_hotel_info.goods,
+ };
+ if (!this.data.enterAt) {
+ wx.showModal({
+ title: "提示",
+ content: "选择入住酒店的时间?",
+ success(data) {
+ if (data.confirm) {
+ if (info.get_hotel_info.goods.hotel_id) {
+ wx.navigateTo({
+ url: "/packageC/hotel/HotelHome/HotelHome" + "?id=" + info.get_hotel_info.goods.hotel_id,
+ });
+ }
+ console.log("用户点击确定");
+ } else if (data.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ }
+ this.setData({
+ goods_info: goods_info,
+ hotel_info: info.get_hotel_info.hotel,
+ isGoods: true,
+ });
+ },
+ setRiseFansPop(){
+ this.setData({
+ riseFansPopup:!this.data.riseFansPopup
+ })
+ },
+ //获取让利涨粉二维码
+ getFriendQrCode(){
+ if(this.data.riseFansQrCode!=''){
+ this.setRiseFansPop();
+ return;
+ }
+ let urlStr = app.getNetAddresss("plugin.discount-harvest-fans.frontend.controller.AddFriends.getFriendQrCode");
+ app._getNetWork({
+ url: urlStr,
+ data:{goods_id:this.data.goodsInfo.id},
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result != 1) {
+ return app.tips(res.msg);;
+ }
+ this.setData({
+ riseFansPopup:true,
+ riseFansQrCode:res.data.qr_code
+ })
+
+ }
+ });
+ },
+ },
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.json b/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.json
new file mode 100644
index 0000000..9389d6a
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup":"/dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.wxml b/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.wxml
new file mode 100644
index 0000000..2f31be4
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.wxml
@@ -0,0 +1,386 @@
+
+
+ var isBigger = function (market_price, price) { return Number(market_price) > Number(price) };
+ module.exports.isBigger = isBigger;
+
+ var couponText = function (coupon) { return coupon.coupon_method == 1 ? '满'+coupon.enough + '减' + coupon.deduct: '满'+coupon.enough+'打'+coupon.discount + '折' };
+ module.exports.couponText = couponText;
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ goodsInfo.has_option == 1 ? (goods_plugin.point_goods.min_point == goods_plugin.point_goods.max_point ?
+ goods_plugin.point_goods.min_point : goods_plugin.point_goods.min_point + "-" + goods_plugin.point_goods.max_point) : goods_plugin.point_goods.point
+ }}
+
+ {{integral}}
+ /天
+
+
+
+
+
+
+
+ {{getprice}}:
+ 券后价:
+
+ {{language['money']}}
+ {{
+ goodsInfo.vip_level_status.word }}
+ {{goodsInfo.coupon.deduct_price }}
+
+ {{ goodsInfo.has_option == 1 ? goodsInfo.min_price == goodsInfo.max_price ? goodsInfo.min_price :
+ goodsInfo.min_price + "-" + goodsInfo.max_price : goodsInfo.price }} /天
+
+
+ {{plugin.pass_price.name}}:{{plugin.pass_price.price}}
+
+ {{getMarketPrice}}:{{language['money']}}{{goodsInfo.market_price}}
+
+
+
+
+
+
+ 分享
+
+
+
+ 分享
+
+
+
+
+
+
+ 收藏
+
+
+
+
+
+ 会员
+
+ {{goodsInfo.member_discount.level_name}}专享价{{language['money']}}
+ {{ goodsInfo.vip_level_status && goodsInfo.vip_level_status.status == 1 ? '暂无权限' : goodsInfo.member_discount.discount_value}}
+
+ 加入{{ goodsInfo.member_discount.next_level_name }}专享价{{language['money']}}
+ {{ goodsInfo.vip_level_status && goodsInfo.vip_level_status.status == 1 ? '暂无权限' : goodsInfo.member_discount.next_level_price }}
+
+
+ 立即开通
+
+
+
+
+
+
+
+ {{ util.couponText(coupon)}}
+
+ 领券
+
+
+
+
+
+
+ 天天兑价
+ {{language['money']}}{{goods_love_cash+" + "+goods_love_deduction}}
+ {{goods_love_name}}
+
+
+
+
+ 购买奖励:
+ {{ goods_plugin.love_shoppin_gift }}
+
+
+
+
+ 推广赚:
+ {{language['money']}}{{ goods_plugin.team_sales_first }}
+
+
+
+
+
+ {{ item.name }}:
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+ 加好友
+
+
+ 下单满{{goods_plugin.discountHarvestFans.order_amount}}元{{goods_plugin.discountHarvestFans.type=='numerical_type' ? '立减' : '优惠'}}
+ {{goods_plugin.discountHarvestFans.discount_amount}}元
+ {{goods_plugin.discountHarvestFans.discount_amount}}%
+
+
+ 去添加
+
+
+
+
+
+
+
+
+
+
+ {{goodsInfo.slogan}} 查看>
+
+
+
+
+
+
+
+ {{goodsInfo.title}}
+
+
+ {{labelItem.name}}
+
+
+
+
+ 库存 {{goodsInfo.show_stock ? goodsInfo.show_stock : goods_info.stock ? goods_info.stock : goodsInfo.stock}}
+ {{isRent?"月租次数":"月销量"}}:{{goodsInfo.month_sales ? goodsInfo.month_sales : 0}}
+
+ {{isRent?"租赁次数":(goodsInfo.is_month_sales == 1?"总销量":"销量")}}:
+ {{ goodsInfo.show_sales + ( goodsInfo.virtual_sales ? goodsInfo.virtual_sales : 0 ) }}
+
+
+
+
+
+
+
+
+
+
+
+ 天天兑价
+
+
+ {{language['money']}}{{goods_love_cash+" + "+goods_love_deduction+goods_love_name}}
+
+
+
+
+ {{gooddatas.title}}
+
+
+
+
+
+
+
+ 分享
+
+
+
+
+
+ 分享
+
+
+
+
+
+
+
+
+
+
+ 优惠券{{language['money']}}:{{goodsInfo.coupon.deduct}}
+
+ 折扣:{{goodsInfo.coupon.discount}}折
+
+ 推广赚{{language['money']}}:{{goods_plugin.team_sales_first}}
+
+
+
+
+
+
+
+ {{goodsInfo.slogan}}
+
+
+
+ {{goodsInfo.title}}
+
+ 领券
+
+
+
+
+
+
+
+ {{goods_plugin.love_shoppin_gift}}
+
+
+
+
+
+
+
+ 库存:{{goodsInfo.show_stock ? goodsInfo.show_stock : goodsInfo.stock}}
+
+ {{isRent?"租赁次数":"销量"}}:{{ goodsInfo.show_sales + ( goodsInfo.virtual_sales ? goodsInfo.virtual_sales : 0 ) }}
+
+
+
+
+
+
+
+
+
+
+
+ {{gooddatas.title}}
+
+
+
+
+
+
+
+
+
+ 分享
+
+
+
+
+
+ 库存{{gooddatas.stock}}
+ 销量{{goodsInfo.show_sales + goodsInfo.virtual_sales}}件
+
+
+
+
+
+
+
+
+
+ {{language['money']}}{{ goods_info.price }}
+ 房价以当天价格为准
+
+
+
+
+
+
+
+
+ 分享
+
+
+
+
+
+ {{ goods_info.title}}
+
+ 领券
+
+
+
+
+
+
+
+
+
+
+ {{ hotel_info.hotel_name }}
+
+
+
+
+
+
+
+ 联系{{ PageNameList.hotels }}:{{ hotel_info.hotel_mobile }}
+
+
+
+
+
+
+
+
+ {{gooddatas.title}}
+
+
+ {{language['money']}}{{gooddatas.price}}{{getMarketPrice}}:{{language['money']}}{{gooddatas.market_price}}
+
+
+ 未拼中得
+ {{gooddatas.transport_reward}}红包
+
+
+
+
+
+
+
+
+
+ 分享
+
+
+
+
+
+ 库存: {{gooddatas.stock}}
+ 销量: {{gooddatas.show_sales}}件
+
+
+
+
+
+
+
+
+
+
+ 添加好友
+
+
+
+ 长按识别添加
+ 添加后您将获得专属优惠!
+
+
+
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.wxss b/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.wxss
new file mode 100644
index 0000000..7209cbd
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.wxss
@@ -0,0 +1,951 @@
+/* packageA/mycomponent/goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.pass_price{
+ color:#867E7E;
+}
+/* 价格start */
+.inof_box {
+ background: #fff;
+ color: #666;
+ padding-top: 28rpx;
+ padding-left: 24rpx;
+ padding-right: 24rpx;
+}
+
+.loveprice {
+ font-size: 24rpx;
+ color: #f15353;
+ margin-bottom: 10rpx;
+ display: inline-flex;
+ padding: 0 0 0 6rpx;
+ background: #f15353;
+ border: 2rpx solid #f15353;
+ border-radius: 6rpx;
+ overflow: hidden;
+}
+
+.loveprice .left {
+ background: #f15353;
+ padding: 4rpx 8rpx;
+ color: #fff;
+ border-radius: 6rpx;
+}
+
+.loveprice .right {
+ padding: 0 10rpx;
+ background: #fff;
+}
+
+.loveprice .right .pic_top {
+ font-size: 26rpx;
+ font-weight: 600;
+}
+
+.loveprice .right .pic_bottom {
+ font-size: 26rpx;
+ color: #8c8c8c;
+}
+
+.title-box,
+.top-box {
+ display: flex;
+ align-items: center;
+}
+
+.top-box .h1 {
+ flex: 1;
+ text-align: left;
+ color: #333;
+ font-size: 32rpx;
+ font-weight: normal;
+ line-height: 48rpx;
+ overflow: hidden;
+}
+
+.top-box .right {
+ position: relative;
+ margin-left: 20rpx;
+}
+
+.top-box icon {
+ font-size: 36rpx;
+ color: #666;
+}
+
+.change {
+ display: flex;
+ align-items: center;
+}
+
+.point-good-price {
+ color: #ff9500;
+}
+
+.point-good-price .point-text {
+ font-size: 22rpx;
+ display: inline-block;
+ background: #ff9500;
+ color: #fff;
+ padding: 2rpx 6rpx;
+ border-radius: 5px;
+ margin-left: 5px;
+ vertical-align: middle;
+}
+
+.show_price_box {
+ display: flex;
+ flex-direction: column;
+ font-size: 13px;
+}
+
+.show_price_box .show_price {
+ margin-bottom: 3px;
+}
+
+.show_price_box .other_price {
+ display: inline-block;
+ padding: 1px 4px;
+}
+
+.show_price_box .red_white {
+ color: #fff;
+ background: #ff2c29;
+}
+
+.show_price_box .white_red {
+ color: #ff2c29;
+ border: solid #ff2c29 1px;
+ background: #fff;
+}
+
+.inof_box .h2 {
+ font-size: 48rpx;
+ color: #f15353;
+ text-align: left;
+ font-weight: bold;
+ flex: 1;
+}
+
+.inof_box .h2 .pic_icon {
+ font-size: 24rpx;
+}
+
+.inof_box .h2 .price-num1 {
+ background: #f15353;
+ color: white;
+ padding: 6.4rpx 16rpx;
+ border-top-left-radius: 32rpx;
+ border-bottom-right-radius: 32rpx;
+ margin-bottom: 10rpx;
+}
+
+.inof_box .h2 .original-price {
+ display: inline-block;
+ font-size: 24rpx;
+ margin-left: 24rpx;
+ color: #8c8c8c;
+}
+
+.inof_box .h2 .original_icon {
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #8c8c8c;
+ text-decoration: line-through;
+ margin-left: 10rpx;
+}
+
+.share_text {
+ margin-left: 4px !important;
+ font-size: 24rpx;
+ color: #9b9b9b;
+ padding: 0;
+ border: none;
+}
+
+/* 价格end */
+
+/* 优惠券 折扣 推广赚 start */
+
+.goods-dicount {
+ height: 48rpx;
+ background-color: #ffe6e3;
+ border-radius: 4rpx;
+ color: #ff3203;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-left: 24rpx;
+ padding: 0 16rpx;
+}
+
+.pub-price {
+ width: 197.0016rpx;
+ height: 40rpx;
+ border-radius: 4rpx;
+ border: solid 2rpx #f15353;
+ color: #f15353;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-left: 23.0016rpx;
+}
+
+/* 优惠券 折扣 推广赚 end */
+
+/* 领券start */
+.title-box,
+.top-box {
+ display: flex;
+ align-items: center;
+}
+
+.title-box {
+ padding: 24rpx 0 12rpx 24rpx;
+ background: #fff;
+}
+
+.title-box .h1 {
+ flex: 1;
+ text-align: left;
+ color: #333;
+ font-size: 32rpx;
+ line-height: 48rpx;
+ overflow: hidden;
+ padding-right: 30rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 3;
+ font-weight: bold;
+}
+
+/* 限时购 新增 */
+
+/* .title-box_with-slogan.title-box {
+ justify-content: space-between;
+} */
+.goods-slogan .h1 {
+ white-space: pre-line;
+ -webkit-line-clamp: unset;
+}
+
+.title-box_with-slogan {
+ padding-top: 0;
+}
+
+.title-box_with-slogan .h1 {
+ font-size: 24rpx;
+ font-weight: normal;
+}
+
+.title-box .Coupon_b {
+ width: 127rpx;
+ height: 54rpx;
+ line-height: 54rpx;
+ text-align: center;
+ background: #feebeb;
+ color: #ed0606;
+ border-top-left-radius: 2em;
+ border-bottom-left-radius: 2em;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 28rpx;
+}
+
+.title-box .Coupon_b .arrow {
+ display: flex;
+ align-items: center;
+}
+
+/* 领券end */
+
+.rowContent {
+ padding-left: 24rpx;
+ padding-right: 24rpx;
+ background: #fff;
+ color: #666;
+}
+
+.loveprice {
+ font-size: 24rpx;
+ color: #f15353;
+ margin-bottom: 10rpx;
+ display: inline-flex;
+ padding: 0 0 0 6rpx;
+ background: #f15353;
+ border: 2rpx solid #f15353;
+ border-radius: 6rpx;
+ overflow: hidden;
+}
+
+.loveprice_b {
+ background: #fff;
+ font-size: 24rpx;
+ color: #f15353;
+ margin-bottom: 10rpx;
+ display: inline-flex;
+ padding: 0 0 0 6rpx;
+ overflow: hidden;
+}
+
+/* 销量 库存 */
+.rowContent {
+ padding-left: 24rpx;
+ padding-right: 24rpx;
+ background: #fff;
+ color: #666;
+}
+
+.stockcontainer {
+ background: #fff;
+
+ /* padding: 28rpx 24rpx; */
+ font-size: 24rpx;
+ color: #999;
+ text-align: left;
+ line-height: 52rpx;
+ display: flex;
+ justify-content: space-around;
+}
+
+.stockcontainer .left {
+ flex: 1;
+}
+
+.stockcontainer .right {
+ flex: 1;
+ text-align: right;
+}
+
+/* 酒店 */
+.info_a {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.info_a .title-box {
+ display: flex;
+}
+
+.info_a .title-box .h1 {
+ flex: 1;
+ text-align: left;
+ color: #333;
+ font-size: 24rpx;
+ font-weight: normal;
+ line-height: 48rpx;
+ overflow: hidden;
+}
+
+.info_a .title-box .right {
+ position: relative;
+ margin-left: 20rpx;
+}
+
+.info_a .title-box icon {
+ font-size: 36rpx;
+ color: #666;
+}
+
+.info_a .price {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.info_a .price .li {
+ font-size: 32rpx;
+ color: #000;
+ text-align: left;
+ margin-top: 20rpx;
+ display: flex;
+ align-items: center;
+ font-weight: bold;
+ width: 80%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.info_a .price .Coupon_b {
+ width: 127rpx;
+ height: 54rpx;
+ line-height: 54rpx;
+ text-align: center;
+ background: #feebeb;
+ color: #ed0606;
+ border-top-left-radius: 2em;
+ border-bottom-left-radius: 2em;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 28rpx;
+ margin-right: -28rpx;
+}
+
+.info_a .price .Coupon_b .arrow {
+ display: flex;
+ align-items: center;
+}
+
+.info_a .title-box .h1 {
+ color: #f15353;
+ margin-right: 20rpx;
+ font-weight: bold;
+}
+
+.info_a .title-box .h1 .font {
+ font-size: 40rpx;
+}
+
+.info_b {
+ background: #fff;
+ padding-left: 28rpx;
+ margin-top: 20rpx;
+}
+
+.info_b .li {
+ height: 88rpx;
+ line-height: 88rpx;
+ padding-right: 28rpx;
+ display: flex;
+}
+
+.info_b .li .left {
+ margin-right: 20rpx;
+}
+
+.info_b .li icon {
+ font-size: 48rpx;
+ color: #666;
+}
+
+.info_b .left .li .span {
+ font-size: 32rpx;
+}
+
+/* 拼团 */
+.title_number {
+ background: #fff;
+ padding: 28rpx;
+}
+
+.title_number .title_Main {
+ display: flex;
+}
+
+.pt .good_title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 3;
+}
+
+.title_number .title_Main .h1 {
+ flex: 3;
+ font-size: 16px;
+ text-align: left;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.title_number .title_Main icon {
+ font-size: 36rpx;
+ color: #666;
+ margin-left: 32rpx;
+ line-height: 48rpx;
+}
+
+.title_number .number {
+ margin-top: 16rpx;
+}
+
+.title_number .number .li {
+ display: flex;
+ justify-content: space-between;
+}
+
+.title_number .number .li .span {
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.title_number .share_text {
+ margin-left: 4px !important;
+ font-size: 24rpx;
+ color: #9b9b9b;
+ padding: 0;
+ border: none;
+ display: flex;
+ width: 56rpx;
+ position: relative;
+}
+
+/* 抢团 */
+.group_good .title_number {
+ background: #fff;
+ padding: 28rpx;
+}
+
+.group_good .title_number .title_Main {
+ display: flex;
+}
+
+.good_title .good_title {
+ color: #ed0606;
+ font-size: 48rpx;
+}
+
+.good_title text {
+ font-size: 28rpx;
+}
+
+.market-price {
+ font-size: 20rpx;
+ margin-left: 10rpx;
+ color: #999;
+ text-decoration: line-through;
+}
+
+.group_good .title_number .title_Main .h1 {
+ flex: 3;
+ font-size: 16px;
+ text-align: left;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.group_good .title_number .title_Main icon {
+ font-size: 36rpx;
+ color: #666;
+ margin-left: 32rpx;
+ line-height: 48rpx;
+}
+
+.group_good .title_number .number {
+ margin-top: 16rpx;
+}
+
+.group_good .title_number .number .li {
+ display: flex;
+}
+
+.group_good .title_number .number .li .span {
+ font-size: 12px;
+ color: #8c8c8c;
+ margin-right: 40rpx;
+}
+
+.group_good .title_number .grab-group-box {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ width: 100rpx;
+ height: 70rpx;
+ margin-right: 25rpx;
+ background-color: #fff0e6;
+ border-radius: 4rpx;
+}
+
+.group_good .title_number .grab-group-box .cc {
+ font-size: 20rpx;
+}
+
+.group_good .title_number .grab-group-box .c1 {
+ color: #a09083;
+}
+
+.group_good .title_number .grab-group-box .c2 {
+ color: #ff4848;
+}
+
+.good_title_one {
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ text-align: left;
+ font-size: 28rpx;
+ line-height: 40rpx;
+ margin-bottom: 16rpx;
+ font-weight: bold;
+ color: #000;
+}
+
+/* 普通商品新样式 */
+.panel {
+ margin: 20rpx;
+ border-radius: 20rpx;
+ background-color: #fff;
+}
+
+.displayBlock {
+ display: block !important;
+}
+
+.goods-price .goods-price-info {
+ display: flex;
+ min-height: 120rpx;
+ align-items: center;
+ padding: 0 20rpx;
+ text-align: left;
+}
+
+.goods-price-info .goods-price-box {
+ flex: 1;
+ font-size: 12px;
+ font-weight: bold;
+ color: #2e2e2e;
+}
+
+.goods-price-info .goods-price-box .goods-price-num {
+ color: #f14e4e;
+ font-weight: bold;
+ margin-right: 20rpx;
+}
+
+.goods-price-info .goods-price-box .goods-original-price {
+ display: inline-block;
+ word-break: keep-all;
+ text-decoration: line-through;
+}
+
+.goods-price-info .goods-price-box .goods-price-num .goods-price-num-style-1 {
+ font-size: 12px;
+}
+
+.goods-price-info .goods-price-box .goods-price-num .goods-price-num-style-2 {
+ font-size: 22px;
+}
+
+.goods-price-info .goods-price-shareButton {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ position: relative;
+}
+
+.goods-price-info .goods-price-shareButton .iconfont {
+ color: #2b2b2b;
+ line-height: 100%;
+ padding-bottom: 6rpx;
+}
+
+.goods-price-info .goods-price-collectionButton {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-left: 60rpx;
+}
+
+.goods-price-info .goods-price-collectionButton .iconfont {
+ font-size: 24px;
+ line-height: 100%;
+ color: #2b2b2b;
+}
+
+.goods-price-info .goods-price-collectionButton .iconfont.icon-zb_all_like {
+ color: #f14e4e;
+}
+
+.goods-price .goods-member-level {
+ padding: 0 20rpx;
+}
+
+.goods-member-level .container {
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: 17rpx 20rpx;
+ color: #fff;
+ background-color: #493f41;
+ border-radius: 10rpx;
+}
+
+.goods-member-level .container .icon-huiyuanguanli-copy {
+ font-size: 18px;
+}
+
+.goods-member-level .container .level-name {
+ margin-left: 10rpx;
+ font-size: 13px;
+ font-weight: bold;
+}
+
+.goods-member-level .container .level-list {
+ flex: 1;
+ margin-left: 34rpx;
+ text-align: left;
+}
+
+.goods-member-level .container .level-list .level-item {
+ font-size: 24rpx;
+ font-weight: bold;
+}
+
+.goods-member-level .container .level-list .level-item.level-item-style-1 {
+ color: #e4c5a5;
+}
+
+.goods-member-level .container .level-list .level-item.level-item-style-2 {
+ color: #cca86e;
+}
+
+.goods-member-level .container .level-button {
+ line-height: 1.2;
+ font-size: 13px;
+ font-weight: bold;
+}
+
+.goods-member-level .container .icon-advertise-next {
+ margin-left: 4rpx;
+}
+
+.goods-price .goods-coupon {
+ display: flex;
+ align-items: center;
+ padding: 20rpx;
+ font-size: 11px;
+}
+
+.goods-coupon .goods-coupon-list {
+ display: flex;
+ flex: 1;
+ overflow: scroll;
+ margin-right: 6rpx;
+}
+
+.goods-coupon .goods-coupon-list::-webkit-scrollbar {
+ display: none; /* Chrome Safari */
+}
+
+.goods-coupon .goods-coupon-list .goods-coupon-label {
+ flex-shrink: 0;
+ color: #f69036;
+ padding: 7rpx 10rpx;
+ margin-right: 12rpx;
+ background: rgba(246, 144, 54, 0.1);
+ border-radius: 4rpx;
+}
+
+.goods-coupon .goods-coupon-button {
+ font-weight: bold;
+ color: #f69036;
+ margin-left: 10rpx;
+}
+
+.goods-coupon .icon-advertise-next {
+ color: #f69036;
+}
+
+.love-reward {
+ padding: 20rpx;
+ font-size: 12px;
+}
+
+.love-reward .daily-price {
+ display: flex;
+ align-items: center;
+ margin: 10rpx 0;
+}
+
+.love-reward .daily-price .daily-price-text {
+ font-weight: bold;
+ color: #f69036;
+}
+
+.love-reward .daily-price .daily-price-num {
+ margin-left: 20rpx;
+ font-size: 14px;
+ font-weight: bold;
+ color: #f14e4e;
+}
+
+.love-reward .daily-price .daily-price-company {
+ font-weight: bold;
+ color: #565656;
+ margin-left: 0.5rem;
+}
+
+.love-reward .love-reward-items {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.love-reward .love-reward-items .love-reward-item {
+ display: flex;
+ margin-right: 20rpx;
+}
+
+.love-reward .love-reward-items .love-reward-item .love-reward-item-name {
+ font-weight: bold;
+ color: #565656;
+}
+
+.love-reward .love-reward-items .love-reward-item .love-reward-item-proportion {
+ font-weight: bold;
+ font-size: 13px;
+ color: #f14e4e;
+}
+
+.goods-title-box {
+ text-align: left;
+ padding: 20rpx;
+}
+
+.goods-title-box .goods-title-wrapper .goods-title-text {
+ font-size: 16px;
+ font-weight: bold;
+ color: #323232;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ overflow: hidden;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+}
+
+.goods-title-box .goods-title-wrapper .goods-label-box {
+ margin-top: 8rpx;
+ font-size: 24rpx;
+ line-height: 30rpx;
+ color: #565656;
+}
+
+.goods-title-box .goods-title-wrapper .goods-label-box .goods-label-text {
+ margin-right: 14rpx;
+}
+
+.goods-title-box .goods-advertisement {
+ margin-bottom: 20rpx;
+}
+
+.goods-title-box .goods-advertisement .goods-advertisement-wrapper .goods-advertisement-text {
+ font-size: 13px;
+ color: #797979;
+ text-align: center;
+}
+
+.goods-title-box .goods-advertisement .goods-advertisement-wrapper .advertisement-text {
+ text-align: left;
+ display: block;
+}
+
+.advertisement-text .icon-advertise-next {
+ margin-top: -6px;
+ color: #f14e4e;
+}
+
+.goods-title-box .goods-advertisement .goods-advertisement-wrapper .more-advertisement {
+ color: #f14e4e;
+ display: inline-flex;
+}
+
+.goods-title-box .goods-desc-info {
+ display: flex;
+ justify-content: space-between;
+ margin-top: 20rpx;
+ font-size: 12px;
+ font-weight: bold;
+ color: #565656;
+}
+
+/* 普通商品新样式end */
+
+
+/** 让利涨粉 */
+.rise-fans {
+ display: flex;
+ align-items: center;
+ height: 100rpx;
+ margin: 10px;
+ background-image: linear-gradient(90deg, #ffdcb0 0%, #fdc98b 100%);
+ border-radius: 20rpx;
+}
+.rise-fans .rise-fans-icons {
+ display: flex;
+ flex-direction: column;
+ padding-left: 29rpx;
+ padding-right: 23rpx;
+ color: #874e02;
+ font-size: 24rpx;
+ font-weight: bold;
+}
+.rise-fans .rise-fans-icons .iconfont{
+ display: flex;
+ justify-content: center;
+ height: 40rpx;
+}
+.rise-fans .rise-fans-texts {
+ flex: 1;
+ text-align: left;
+ color: #874f02;
+ font-size: 26rpx;
+ font-weight: bold;
+}
+.rise-fans .rise-fans-btn {
+ display: flex;
+ align-items: center;
+ padding-right: 20rpx;
+ font-size: 22rpx;
+ font-weight: bold;
+ color: #f14e4e;
+}
+
+/**让利涨粉弹窗 */
+.riseFansWrapper{
+ height: 615rpx;
+ text-align: center;
+}
+.riseFansWrapper .riseFansContainer {
+ width: 430rpx;
+ height: 460rpx;
+ background-color: #ffffff;
+ border-radius: 10rpx;
+}
+.riseFansWrapper .riseFansContainer .text {
+ padding-top: 40rpx;
+ padding-bottom: 28rpx;
+ font-size: 30rpx;
+ color: #1a1a1a;
+ font-weight: bold;
+}
+.riseFansWrapper .riseFansContainer .img {
+ display: flex;
+ justify-content: center;
+ height: 211rpx;
+}
+.riseFansWrapper .riseFansContainer .img image {
+ width: 211rpx;
+ height: 211rpx;
+}
+.riseFansWrapper .riseFansContainer .small-text {
+ margin-top: 8rpx;
+ font-size: 24rpx;
+ font-weight: bold;
+ color: #1a1a1a;
+}
+.riseFansWrapper .close {
+ height: 128rpx;
+ display: flex;
+ align-items: flex-end;
+ justify-content: center;
+}
+.riseFansWrapper .close .icon-adsystem_icon_cancle {
+ font-size: 96rpx;
+ color: #fff;
+ width: 96rpx;
+ height: 96rpx;
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.js b/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.js
new file mode 100644
index 0000000..cf35ef7
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.js
@@ -0,0 +1,577 @@
+// packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.js
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ // 详情数据
+ goods_info: {
+ type: null,
+ },
+ // 拼团结束时间
+ end_time_team: {
+ type: null,
+ },
+ gooddatas: {
+ type: null,
+ },
+ // 商品类型
+ goodsType: {
+ type: null,
+ },
+ // 门店id
+ store_id: {
+ type: null,
+ },
+ // 活动id
+ activityId: {
+ type: null,
+ },
+ fight_groups: {
+ type: null,
+ },
+ // 是不是门店拼团
+ is_o2o: {
+ type: null,
+ },
+ // 抢团
+ team: {
+ type: null,
+ },
+ },
+ lifetimes: {
+ attached(e) {
+ let start_time = new Date().getTime() / 1000;
+ this.setData({
+ nowTime: start_time,
+ });
+ },
+ },
+ observers: {
+ "gooddatas.fight_groups_number_show":function(show){
+ if(show == '1'){
+ this.totalGetTeamList();
+ }
+ },
+ "goods_info,goodsType": function (datas, type) {
+ this.setData({
+ goodsInfo: type == "group_goods" ? datas : datas.get_goods,
+ goods_plugin: datas.plugin,
+ });
+ // 自购省
+ if (datas.plugin) {
+ if (datas.plugin.selfbuy_discount) {
+ this.setData({
+ selfbuy_discount: datas.plugin.selfbuy_discount,
+ });
+ }
+ if (datas.plugin.pack_fixed_price && datas.plugin.pack_fixed_price.id) {
+ this.setData({
+ pack_price: datas.plugin.pack_fixed_price.pack_price ? datas.plugin.pack_fixed_price.pack_price : '',
+ goods_count: datas.plugin.pack_fixed_price.goods_count ? datas.plugin.pack_fixed_price.goods_count : '',
+ fixId: datas.plugin.pack_fixed_price.id ? datas.plugin.pack_fixed_price.id : '',
+ hasActivity: true,
+ });
+ }
+ if (datas.plugin.prdocut_market) {
+ this.setData({
+ is_market: true,
+ prdocut_market: datas.plugin.prdocut_market,
+ prdocut_market_name: datas.plugin.prdocut_market.plugin,
+ prdocut_market_name_apps: datas.plugin.prdocut_market.apps,
+ });
+ }
+ }
+ if (datas.get_goods) {
+ this.init(datas.get_goods);
+ }
+ if(this.data.goodsType == 'group_goods'){
+ this.getTeamList();
+ }
+ },
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ // 抢团team
+ teamLis: [],
+ //自购省数据
+ selfbuy_discount: null,
+ //商城活动默认第一个
+ firstActivityBtn: "",
+ //商城活动默认第一个内容
+ firstActivityCon: "",
+ //商城活动数组
+ activityArr: [],
+ goods_plugin: [],
+ //设置数据
+ goodsInfo: [],
+ //设置拼团数据
+ gooddatas: [],
+ // 当前时间
+ nowTime: "",
+ //活动显示隐藏
+ activityShow: false,
+ popupModeshow: true,
+ show2: false,
+ show3: false,
+ teamInfo: {
+ newword: false,
+ totalPage: 0,
+ count: 0,
+ page: 1,
+ listData: []
+ },
+ uid: wx.getStorageSync("yz_uid"),
+
+ hasActivity: false, //一口价
+ marketShow: false, // 应用市场
+ // 新增规格#79514
+ optionObj:{
+ title:'',
+ total:''
+ },
+ // 拼团人数字段 groupTotal
+ groupTotal:{
+ page:1,
+ last_page:1,
+ listData:[]
+ },
+ // 拼团次数弹窗
+ showTotal:false,
+ success_team_number:0,
+ open_team_number:0,
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ init(data) {
+ if (data.goods_sale && data.goods_sale.sale_count != 0) {
+ for (let i = 0; i < data.goods_sale.sale.length; i++) {
+ if (data.goods_sale.sale[i].type == "array" && data.goods_sale.sale[i].value && data.goods_sale.sale[i].value.constructor === Array) {
+ data.goods_sale.sale[i].value = data.goods_sale.sale[i].value.join(';');
+ }
+ }
+ this.setData({
+ activitySwitch: true,
+ activityArr: data.goods_sale.sale,
+ });
+ } else {
+ this.setData({
+ activitySwitch: false,
+ });
+ }
+ },
+ // 活动事件
+ activityShowFun() {
+ this.triggerEvent("showCanSelf", false);
+ this.setData({
+ activityShow: true,
+ });
+ },
+ // 活动显示
+ activityShowBtn() {
+ this.triggerEvent("showCanSelf", true);
+ this.setData({
+ activityShow: false,
+ });
+ },
+ gotoList() {
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + this.data.goodsInfo.store_goods.store_id,
+ });
+ },
+ gotohuiyuan() {
+ if (this.data.selfbuy_discount && this.data.selfbuy_discount.link_to_level_page && this.data.selfbuy_discount.link_to_level_page.show == 1) {
+ wx.navigateTo({
+ url: "/packageB/member/MemberGradeList/MemberGradeList",
+ });
+ }
+ },
+ // 一口价
+ toFixedPrice() {
+ wx.navigateTo({
+ url: "/packageE/others/fixedPrice/fixedPrice?id=" + this.data.fixId,
+ });
+ },
+ // 应用市场
+ marketShowTap(e) {
+ this.setData({
+ marketShow: true,
+ });
+ },
+ closeMarketShow() {
+ this.setData({
+ marketShow: false,
+ });
+ },
+ // 服务标签
+ toLink(e) {
+ let item = e.currentTarget.dataset.item;
+ if (item.min_link) {
+ wx.navigateTo({
+ url: item.min_link
+ });
+ }
+ },
+ showCan() {
+ this.setData({
+ showCs: true,
+ second_content: this.data.goodsInfo.has_many_params,
+ });
+ },
+ closeCs() {
+ this.setData({
+ showCs: false,
+ });
+ },
+ // 拼团 start
+ // 显示去参团列表弹层
+ showGroupMore() {
+ if (this.data.goodsInfo && this.data.goodsInfo.vip_level_status && this.data.goodsInfo.vip_level_status.status == 1) {
+ wx.showToast({
+ icon: "none",
+ title: this.data.goodsInfo.vip_level_status.tips,
+ duration: 1500,
+ });
+ return false;
+ }
+
+ let activityStatus = ['0', '1', '2']; //activityStatus当前活动状态,顺序为未开始,进行中,已结束
+ let list = this.data.teamInfo.listData;
+ if (this.data.goodsType == "groupwork") {
+ list = this.data.gooddatas.alliance;
+ activityStatus = ['1', '2', '3'];
+ }
+
+ if (this.data.goodsType == "grabGroup") {
+ if (this.data.team.length == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "抱歉,暂无更多可参与的团!",
+ duration: 2500,
+ });
+ return;
+ }
+ this.setData({
+ show3: true,
+ });
+ return;
+ }
+
+ if (this.data.gooddatas.status == activityStatus[1]) {
+ // 活动已开启
+ if (this.data.goodsType == "groupwork") {
+ if (list.length == 0) {
+ wx.showToast({
+ title: "暂无更多可参与的团",
+ icon: "none",
+ duration:2500
+ });
+ return;
+ }
+ this.setData({
+ show4: true,
+ });
+ return;
+ }
+
+ if (this.data.teamInfo.newword == false) {
+ this.data.teamInfo.newword = true;
+ if (this.data.teamInfo.listData.length > 0) {
+ this.setData({
+ show2: true,
+ });
+ } else {
+ wx.showToast({
+ title: "暂无更多可参与的团",
+ icon: "none",
+ });
+ }
+ } else if (this.data.teamInfo.newword == true && this.data.teamInfo.listData.length == 0) {
+ wx.showToast({
+ title: "暂无更多可参与的团",
+ icon: "none",
+ duration:2500
+ });
+ } else {
+ this.setData({
+ show2: true,
+ });
+ }
+ } else if (this.data.gooddatas.status == activityStatus[0]) {
+ wx.showToast({
+ title: "活动未开始",
+ icon: "none",
+ duration:2500
+ });
+ } else if (this.data.gooddatas.status == activityStatus[2]) {
+ wx.showToast({
+ title: "活动已结束",
+ icon: "none",
+ duration:2500
+ });
+ }
+
+
+ },
+ groupTotalTap(e){
+ if(e.currentTarget.dataset.key == 'close'){
+ this.setData({
+ showTotal:false
+ })
+ return
+ }
+ this.setData({
+ showTotal:true
+ })
+ },
+ totalGetTeamList(more = false){
+ if(more){
+ this.setData({
+ page:this.data.page + 1
+ })
+ }
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.controllers.fight-groups-goods.all-join-team-number");
+ let json = {
+ id:this.data.gooddatas.id,
+ page:this.data.page
+ };
+ app._getNetWork({
+ url: urlStr,
+ data:json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result != 1) {
+ return;
+ }
+ if(!more){
+ this.setData({
+ success_team_number:res.data.success_team_number,
+ open_team_number:res.data.open_team_number,
+ "groupTotal.last_page": res.data.team_member.last_page,
+ "groupTotal.listData": res.data.team_member.data,
+ });
+ }else{
+ // 加载更多
+ this.setData({
+ "groupTotal.last_page": res.data.team_member.last_page,
+ "groupTotal.listData": this.data.groupTotal.listData.concat(res.data.team_member.data),
+ });
+ }
+ },
+ });
+ },
+ getTeamList() {
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.controllers.fight-groups-goods.all-team");
+ let store_id = this.data.store_id;
+ if (store_id && store_id != 0 && store_id != "undefined") {
+ urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.frontend-fight-groups-goods.all-team");
+ urlStr += "&store_id=" + store_id;
+ }
+ if (this.data.fight_groups != "undefined") {
+ urlStr += "&id=" + this.data.activityId;
+ urlStr += "&fight_groups_goods_id=" + this.data.fight_groups;
+ } else {
+ urlStr += "&id=" + this.data.activityId;
+ }
+
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result != 1) {
+ return;
+ }
+ if (!app._isTextEmpty(res.data.data)) {
+ res.data.data.map((val) => {
+ val.nowTime = new Date().getTime() / 1000;
+ if (!app._isTextEmpty(val.end_time)) {
+ val.overTime = val.end_time;
+ }
+ });
+ }
+ this.setData({
+ "teamInfo.totalPage": res.data.last_page,
+ "teamInfo.total": res.data.total,
+ "teamInfo.listData": res.data.data,
+ });
+ },
+ });
+ },
+ tapOverlay() {
+ if (this.data.goodsType == 'groupwork') {
+ this.setData({
+ show4: false,
+ posterShow: false,
+ showOpenGroup: false,
+ });
+ return;
+ }
+ if (this.data.goodsType == "grabGroup") {
+ this.setData({
+ show3: false,
+ posterShow: false,
+ showOpenGroup: false,
+ });
+ return;
+ }
+ this.setData({
+ show2: false,
+ posterShow: false,
+ showOpenGroup: false,
+ });
+ },
+ // 加入该团按钮
+ clickAdd(e) {
+ let _id = e.target.dataset.id || e.currentTarget.dataset.id;
+ if (this.data.goodsType == "groupwork") {
+ wx.navigateTo({
+ url: '/packageI/groupWork/groupWorkDetail/groupWorkDetail?allianceid=' + _id + '&id=' + this.data.gooddatas.id
+ });
+ } else if (this.data.goodsType == "grabGroup") {
+ if (e.currentTarget.dataset.oneself == '1') {
+ return;
+ }
+
+ if (this.data.goodsType == "grabGroup") {
+ wx.navigateTo({
+ url: "/packageE/grab_group/grab_group_detail/grab_group_detail?" + "&id=" + _id,
+ });
+ }
+ return;
+ } else {
+ let status = e.target.dataset.item || e.currentTarget.dataset.item;
+ let _team_id = e.target.dataset.id || e.currentTarget.dataset.id;
+
+ if (this.data.goodsInfo.vip_level_status && this.data.goodsInfo.vip_level_status.status == 1) {
+ wx.showToast({
+ icon: "none",
+ title: this.data.goodsInfo.vip_level_status.tips,
+ duration: 2500,
+ });
+ return false;
+ }
+
+ if (status == "1") {
+ // wx.showToast({
+ // title: '请点击右上角分享给好友吧',
+ // icon: 'none'
+ // })
+ return;
+ } else {
+ let that = this;
+ let goods = [];
+ goods.push(that.data.goodsId);
+ let urlStr = app.getNetAddresss("from.div-from.isDisplay");
+ urlStr += "&goods_ids=" + JSON.stringify(goods);
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ // var _data = res.data;
+ if (res.data.status && !res.data.member_status) {
+ wx.showModal({
+ title: "提示",
+ content: "购买此商品,请补充您的个人信息",
+ success(res) {
+ if (res.confirm) {
+ //保税真实信息添加
+ wx.navigateTo({
+ url: "/packageB/member/address/myinfo/myinfo?tag=group" + "&activityId=" + that.data.activityId,
+ });
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageB/member/group/GroupDetail/GroupDetail?id=" + _team_id + "&store_id=" + that.properties.store_id,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 2500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ }
+ }
+ },
+ showPop(e) {
+ this.triggerEvent('showPop', true);
+ },
+ gophone(e) {
+ let mobile = e.currentTarget.dataset.mobile;
+ wx.makePhoneCall({
+ phoneNumber: mobile,
+ });
+ },
+ goToAdress() {
+ let latitude = this.data.gooddatas.store.store.latitude;
+ let longitude = this.data.gooddatas.store.store.longitude;
+ let store_name = this.data.gooddatas.store.store.store_name;
+ let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name,
+ });
+ },
+ getMoreTeamList() {
+ let urlStr = app.getNetAddresss('plugin.fight-groups.frontend.controllers.fight-groups-goods.all-team');
+ if (this.properties.store_id && this.properties.store_id != 0 && this.properties.store_id != 'undefined') {
+ urlStr = app.getNetAddresss('plugin.fight-groups.frontend.store.frontend-fight-groups-goods.all-team');
+ urlStr += '&store_id=' + this.properties.store_id;
+ }
+ if (this.data.fight_groups != 'undefined') {
+ urlStr += '&id=' + this.data.activityId;
+ urlStr += '&fight_groups_goods_id=' + this.data.fight_groups;
+ } else {
+ urlStr += '&id=' + this.data.activityId;
+ }
+ this.data.teamInfo.page++;
+ urlStr += '&page=' + this.data.teamInfo.page;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result != 1) {
+ return;
+ }
+ var nextPageData = res.data.data;
+ if (!app._isTextEmpty(nextPageData)) {
+ nextPageData.map(val => {
+ val.nowTime = new Date().getTime() / 1000;
+ if (!app._isTextEmpty(val.end_time)) {
+ val.overTime = val.end_time;
+ }
+ });
+ }
+ let listData = this.data.teamInfo.listData.concat(nextPageData);
+ this.setData({
+ 'teamInfo.listData': listData
+ });
+ }
+ });
+
+ },
+ // 拼团 end
+ // 添加购物车
+ getBuyNow(){
+ this.triggerEvent('contorBuyNow_good',true);
+ }
+ },
+});
diff --git a/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.json b/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.json
new file mode 100644
index 0000000..4250b98
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.json
@@ -0,0 +1,15 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-rate": "../../../../dist/rate/index",
+ "van-icon": "../../../../dist/icon/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-cell": "../../../../dist/cell/index",
+ "count":"../../count/count",
+ "mp-html":"/mycomponent/mp-html/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.wxml b/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.wxml
new file mode 100644
index 0000000..595c6a8
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.wxml
@@ -0,0 +1,517 @@
+
+
+
+
+ 拼团玩法
+
+
+ 1
+ 选择商品付款开团/参团
+
+
+ 2
+ 邀请并等好友支付参团
+
+
+ 3
+ 达到人数顺利成团
+
+
+
+
+
+ 拼团人数
+ {{gooddatas.join_team_number}}人
+
+
+
+
+
+
+
+
+
+
+ {{item.has_one_member.nickname}}
+
+ {{item.has_one_member.mobile}}
+
+
+
+
+
+
+
+
+ {{gooddatas.join_number_custom_text}}
+ {{gooddatas.winning_number_custom_text}}
+
+
+
+
+
+
+ {{gooddatas.lottery_title}}
+
+
+
+
+
+
+
+
+ 门店名称
+
+ {{ gooddatas.store.store.store_name }}
+
+
+
+
+
+ 联系商家
+
+
+
+
+ 客服
+
+
+
+
+
+
+
+ 以下小伙伴拼团中,可直接参与
+
+ 查看更多
+
+
+
+
+
+
+
+
+
+
+
+ {{gooddatas.display_team.has_one_leader.username}} 开{{gooddatas.display_team.has_one_level.member_num}}人团
+
+
+ 剩余
+
+ 结束,仅差
+ {{gooddatas.display_team.has_one_level.member_num - gooddatas.display_team.has_many_success_member_count}} 人
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 抢团玩法
+
+
+ 1
+ 选择商品付款开团/参团
+
+
+ 2
+ 邀请并等好友支付参团
+
+
+ 3
+ 达到人数顺利抢团
+
+
+
+
+
+
+
+
+
+
+
+ 参与抢团
+
+ {{gooddatas.limit_num}}人成团
+
+
+
+
+
+
+
+
+
+
+
+ {{gooddatas.limit_num-1}}人未中退款
+
+ 1人拼中发货
+
+
+
+
+
+
+
+
+
+
+
+ 未拼中获得奖励
+
+ {{gooddatas.transport_reward}}红包
+
+
+
+
+ 团长奖励
+ 交易成功团长可获得
+ {{language['money']}} {{gooddatas.profit}}
+
+
+ 以下小伙伴{{goodType == 'groupBuy'?'拼购':'抢团'}}中,可直接参与
+
+ 查看更多
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+ 还差{{item.surplus_member}}人成团
+
+
+
+ 剩余
+
+
+ {{gooddatas.limit_num}}人团
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 规格
+ 已选:{{optionObj.title}} x{{optionObj.total}}
+
+
+
+
+
+
+
+
+
+ 凑单
+ {{pack_price}}元任选{{goods_count}}件
+ 去凑单>
+
+
+
+
+ 应用
+ {{prdocut_market_name_apps || ""}}
+ 插件>
+
+ 赠送售后服务时长 {{prdocut_market.service_time}}天
+ (剩余售后服务时长730天封顶,大于则不再增加)
+
+
+
+
+ 自省购
+
+ {{selfbuy_discount.this_level_discount_price.content}}
+ {{selfbuy_discount.next_level_discount_price.content}}
+
+ 去升级>
+
+
+
+
+ 活动
+
+
+ {{activitem.name}}
+ {{activitem.value}}
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{activitem.name}}
+
+ {{activitem.value}}
+
+
+
+ {{activitem.desc}}
+
+
+
+
+
+
+
+
+
+
+ 标签
+
+
+
+
+
+
+
+
+ 以下小伙伴拼团中,可直接参与
+
+
+
+
+
+
+
+
+
+
+ {{item.has_one_leader.username}} 开{{item.has_one_level.member_num}}人团
+
+
+
+ 剩余
+
+ 结束,仅差{{item.has_one_level.member_num-item.has_many_success_member_count}}人
+
+
+
+
+
+
+ 加载更多
+
+
+
+
+
+
+
+
+
+
+ 以下小伙伴{{goodType == 'groupBuy'?'拼购':'抢团'}}中,可直接参与
+
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}{{item.leader_id}}
+ 还差{{item.surplus_member}}人成团
+
+
+
+ 剩余
+
+
+ {{goodType == 'groupBuy'?item.buy_number:gooddatas.limit_num}}人团
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 以下小伙伴拼团中,可直接参与
+
+ 查看更多
+
+
+
+
+
+
+
+
+ {{gooddatas.alliance[0].nickname}} 开{{gooddatas.alliance[0].person}}人团
+
+
+ 剩余
+
+ 结束,仅差
+ {{gooddatas.alliance[0].disparity}} 人
+
+
+
+
+
+
+
+
+
+ 以下小伙伴拼团中,可直接参与
+
+
+
+
+
+
+
+
+
+
+ {{item.nickname}} 开{{item.person}}人团
+
+
+
+ 剩余
+
+ 结束,仅差{{item.disparity}}人
+
+
+
+
+
+
+
+
+
+
+
+
+ 已成团:{{success_team_number}}
+ 已开团:{{open_team_number}}
+
+ 参团者信息:
+
+
+
+
+
+ {{item.has_one_member.nickname}}
+ {{item.has_one_member.mobile}}
+
+
+ 没有更多了~
+ 点击加载更多
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.wxss b/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.wxss
new file mode 100644
index 0000000..4558dff
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.wxss
@@ -0,0 +1,1271 @@
+/* packageA/mycomponent/goodsComponent/selfParameterServicetag/selfParameterServicetag.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.act-box {
+ background-color: #fff;
+ margin: 20rpx;
+ border-radius: 20rpx;
+}
+
+.act-box .coupon {
+ display: flex;
+ height: 88rpx;
+ padding-right: 24rpx;
+ margin-left: 24rpx;
+
+ /* border-bottom: solid 2rpx #e2e2e2; */
+ align-items: center;
+}
+
+.act-box .coupon .li_1 {
+ margin-right: 40rpx;
+}
+
+.act-box .coupon .li_2 .span {
+ background-color: #f15353;
+ color: #fff;
+ padding: 4rpx 20rpx;
+ border-radius: 8rpx;
+ font-size: 24rpx;
+ margin-right: 20rpx;
+ border: solid 2rpx #f15353;
+ flex: 2;
+}
+
+.act-box .coupon .ang_right {
+ display: flex;
+ justify-content: flex-end;
+ flex: 7;
+ align-items: center;
+}
+
+.act-box .coupon .ang_right .ang_right_icon {
+ width: 32rpx;
+ padding-top: 10rpx;
+}
+
+.act-box .vip {
+ display: flex;
+ height: 88rpx;
+ padding-right: 24rpx;
+ margin-left: 24rpx;
+ align-items: center;
+ border-bottom: solid 2rpx #e2e2e2;
+}
+
+.act-box .vip .li_1 {
+ margin-right: 40rpx;
+}
+
+.act-box .vip .grade text {
+ border: solid 2rpx #f15353;
+ padding: 4rpx 20rpx;
+ color: #f15353;
+ margin-right: 20rpx;
+ border-radius: 6rpx;
+ font-size: 24rpx;
+}
+
+.act-box .vip .li_3 text {
+ color: #f15353;
+}
+
+.canTxt {
+ font-size: 24rpx;
+}
+
+.act-box .act {
+ display: flex;
+ height: 88rpx;
+ margin-right: 24rpx;
+ margin-left: 24rpx;
+ align-items: center;
+
+ /* border-bottom: solid 2rpx #e2e2e2; */
+}
+
+.act-box .act_bq {
+ display: flex;
+ margin-right: 24rpx;
+ margin-left: 24rpx;
+ align-items: center;
+
+ /* border-bottom: solid 2rpx #e2e2e2; */
+ justify-content: flex-start;
+ flex-wrap: wrap;
+}
+
+.act_bq_Box {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin: 10rpx 5rpx;
+}
+
+.act_bq_Box image {
+ width: 24rpx;
+ height: 24rpx;
+ margin-left: 6rpx;
+}
+
+.act-box .act .act1 {
+ margin-right: 40rpx;
+}
+
+.act-box .act .act2 text {
+ border: solid 2rpx #f15353;
+ color: #f15353;
+ padding: 4rpx 20rpx;
+ border-radius: 6rpx;
+ font-size: 24rpx;
+}
+
+.act-box .act .act3 {
+ flex: 2.5;
+ margin-left: 20rpx;
+ font-size: 24rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.act-box .act .ang_right {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+}
+
+/* 活动弹窗 */
+.shadeMode_1 {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 2001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.activitycontent .header {
+ display: flex;
+ height: 90rpx;
+ font-size: 32rpx;
+ color: #333;
+ align-items: center;
+}
+
+.activitycontent .header .left {
+ flex: 2;
+}
+
+.activitycontent .header .center {
+ flex: 6;
+ text-align: center;
+}
+
+.activitycontent .header .right {
+ flex: 2;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.activitycontent .header .right .close {
+ width: 40rpx;
+ padding-top: 10rpx;
+}
+
+.activitybot {
+ padding-bottom: 50rpx;
+ height: 800rpx;
+ overflow-y: scroll;
+}
+
+.activitycontent .activicell {
+ position: relative;
+ z-index: 5;
+ background-color: #fff;
+ padding: 15rpx 0;
+ display: flex;
+ flex-direction: column;
+}
+
+.activitycontent .activicell .left {
+ color: #f15353;
+ font-weight: bold;
+ font-size: 13px;
+ margin-left: 30rpx;
+ max-height: 40rpx;
+ margin-bottom: 10rpx;
+}
+
+.activitycontent .activicell .right {
+ margin-left: 30rpx;
+}
+
+/* end */
+
+/* 参数弹窗 */
+.canshu {
+ width: 100%;
+}
+
+.canshu .showTitle {
+ width: 100%;
+ text-align: center;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 18px;
+}
+
+.canshu .parameter {
+ height: 800rpx;
+ overflow-y: scroll;
+}
+
+.canshu .parameter .par-info {
+ display: flex;
+ justify-content: space-between;
+ margin: 0 20rpx;
+ padding: 24rpx 0;
+ align-items: center;
+ border-bottom: 2rpx solid #e4e4e4;
+ box-sizing: border-box;
+}
+
+.canshu .parameter .par-info .name {
+ text-align: left;
+ padding-right: 40rpx;
+ box-sizing: border-box;
+}
+
+.canshu .parameter .par-info .value {
+ text-align: left;
+ flex: 0 0 70%;
+ color: #5d5d5d;
+}
+
+.server-popup-item {
+ display: flex;
+ padding: 20rpx;
+}
+
+.server-popup-left {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+
+.server-popup-top {
+ display: flex;
+ align-items: center;
+ margin-bottom: 0.3rem;
+}
+
+.server-icon {
+ width: 30rpx;
+ height: 30rpx;
+}
+
+.server-popup-top .name {
+ margin: 0 0 0.2rem 0.5rem;
+ font-size: 14px;
+ color: #f14e4e;
+ font-weight: bold;
+}
+
+.desc {
+ font-size: 12px;
+ color: #3a3a3a;
+}
+
+.server-popup-right {
+ flex: 0 0 20px;
+}
+
+/* end */
+
+.shadeModeShow {
+ bottom: 0;
+ height: 75vh;
+}
+
+.shadeModeShow .specifications {
+ display: block;
+}
+
+.popupModeShow {
+ opacity: 0;
+ transition: 0.6s ease-out;
+}
+
+/* 拼团玩法 */
+.group_play {
+ margin-top: 20rpx;
+ background: #fff;
+ padding: 28rpx;
+}
+
+.group_play .h2 {
+ font-weight: normal;
+ font-size: 15px;
+ margin-bottom: 20rpx;
+ text-align: left;
+}
+
+.group_play .play {
+ background: #fafafa;
+ display: flex;
+ padding: 12rpx;
+}
+
+.group_play .play .li {
+ width: 33.3%;
+ margin-right: 8rpx;
+ color: #8c8c8c;
+ text-align: left;
+ display: flex;
+ align-items: center;
+}
+
+.group_play .play .li .span:first-child {
+ display: inline-table;
+ width: 32rpx;
+ height: 32rpx;
+ color: #fff;
+ font-size: 12px;
+ border-radius: 32rpx;
+ background: #8c8c8c;
+ text-align: center;
+ margin-right: 12rpx;
+}
+
+.group_play .play .li .span:last-child {
+ width: 180rpx;
+}
+
+.group_play .play .li:last-child {
+ margin: 0;
+}
+
+/* 抢团结果步骤样式 */
+.grab-result {
+ display: flex;
+ justify-content: space-evenly;
+ width: 100%;
+ height: 190rpx;
+ margin-top: 20rpx;
+ background-color: #fff;
+}
+
+.grab-result .stepItem {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.grab-result .stepItem .img {
+ width: 72rpx;
+ height: 72rpx;
+}
+
+.grab-result .stepItem .img image {
+ width: 72rpx;
+ height: 72rpx;
+}
+
+.grab-result .stepItem .text {
+ font-size: 22rpx;
+ color: #424141;
+}
+
+.grab-result .stepItem .red {
+ color: #ff4848;
+}
+
+.grab-result .stepItem .c1 {
+ margin-top: 12rpx;
+}
+
+.grab-result .stepItem .c2 {
+ margin-top: 6rpx;
+}
+
+.grab-result .block {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ width: 1.2rem;
+}
+
+.grab-result .block view {
+ width: 0.156rem;
+ height: 0.156rem;
+ background-color: #b0b0b0;
+ border-radius: 50%;
+}
+
+.group_into {
+ background: #fff;
+ margin: 20rpx 0;
+ padding: 28rpx;
+ position: relative;
+}
+
+.group_into .h2 {
+ font-weight: normal;
+ font-size: 15px;
+ margin-bottom: 20rpx;
+ text-align: left;
+}
+
+.group_into .more {
+ position: absolute;
+ top: 28rpx;
+ right: 28rpx;
+ display: flex;
+ color: #8c8c8c;
+ font-size: 12px;
+}
+
+.group_into .more .fa {
+ font-size: 32rpx;
+ margin-left: 12rpx;
+}
+
+.group_into .into_user {
+ display: flex;
+ align-items: center;
+}
+
+.group_into .into_user .user {
+ width: 72rpx;
+ height: 72rpx;
+ background: #f2f2f2;
+ border-radius: 64rpx;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.group_into .into_user .user image {
+ width: 100%;
+ height: 100%;
+}
+
+.group_into .into_user .time {
+ /* width: 458rpx; */
+ flex: 1;
+ text-align: left;
+}
+
+.group_into .into_user .time .time_a {
+ font-size: 14px;
+}
+
+.group_into .into_user .time .time_b {
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.group_into .into_user .time .time_b .span {
+ color: #f15353;
+}
+
+.group_into .into_user button {
+ border: none;
+ background: #f15353;
+ color: #fff;
+ width: 100%;
+ height: 100%;
+ border-radius: 8rpx;
+ font-size: 12px;
+}
+
+.explain {
+ margin-top: 20rpx;
+ background: #fff;
+ padding: 28rpx;
+}
+
+.explain .title {
+ font-weight: normal;
+ font-size: 15px;
+ margin-bottom: 20rpx;
+ text-align: left;
+}
+
+.explain .content {
+ text-align: center;
+ background: #fafafa;
+ /* display: flex; */
+ padding: 12rpx;
+ font-size: 14px;
+}
+
+.store-position {
+ margin-top: 20rpx;
+ font-size: 28rpx;
+ background: #fff;
+}
+
+.store-position .store-box {
+ display: flex;
+ justify-content: space-between;
+ height: 80rpx;
+ line-height: 80rpx;
+ border-bottom: solid 2rpx #e8e8e8;
+ margin-left: 28rpx;
+ padding-right: 28rpx;
+}
+
+.store-position .store-box .store-name {
+ display: flex;
+ align-items: center;
+}
+
+.store-position .store-box .store-name van-icon {
+ margin-right: 12rpx;
+}
+
+.store-position .store-box .o2oName {
+ color: rgb(140, 140, 140);
+}
+
+.store-position van-icon {
+ display: flex;
+ align-items: center;
+}
+
+.store-position .contact-box {
+ background: #fff;
+ height: 80rpx;
+ line-height: 80rpx;
+ display: flex;
+ justify-content: space-between;
+ margin-left: 28rpx;
+ padding-right: 28rpx;
+}
+
+.store-position .contact-box .o2oPhone {
+ display: flex;
+ align-items: center;
+}
+
+.store-position .contact-box .o2oPhone van-icon {
+ margin-right: 12rpx;
+}
+
+.store-position .contact-box .position {
+ display: flex;
+ align-items: center;
+}
+
+/* 拼团 */
+
+
+/* 拼团中弹窗 */
+.open_group {
+ background: #fff;
+ padding: 20rpx;
+ border-radius: 16rpx;
+}
+
+.open_group .p {
+ font-size: 14px;
+ margin-bottom: 20rpx;
+}
+
+.open_group .icon_close {
+ position: absolute;
+ top: 8rpx;
+ right: 0;
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.open_group .iconfont {
+ line-height: 80rpx;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.open_group .into_user {
+ display: flex;
+ align-items: center;
+ border-bottom: solid 2rpx #ebebeb;
+ padding: 20rpx 0;
+}
+
+.open_group .into_user .user {
+ width: 72rpx;
+ height: 72rpx;
+ background: #f2f2f2;
+ border-radius: 64rpx;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.open_group .into_user .time {
+ width: 368rpx;
+ text-align: left;
+}
+
+.open_group .into_user .time .time_a {
+ font-size: 14px;
+}
+
+.open_group .into_user .time .time_b {
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.open_group .into_user .time .time_b .span {
+ color: #f15353;
+}
+
+.open_group .into_user .user image {
+ width: 100%;
+ height: 100%;
+}
+
+.open_group .into_user button {
+ border: none;
+ background: #f15353;
+ color: #fff;
+ width: 155rpx;
+ height: 52rpx;
+ border-radius: 8rpx;
+ font-size: 12px;
+}
+
+/* 拼团中弹窗end */
+
+/* 抢团 */
+.group_good .group_play {
+ margin-top: 20rpx;
+ background: #fff;
+ padding: 28rpx;
+}
+
+.group_good .group_play .h2 {
+ font-weight: normal;
+ font-size: 15px;
+ margin-bottom: 20rpx;
+ text-align: left;
+}
+
+.group_good .group_play .play {
+ display: flex;
+ padding: 12rpx;
+}
+
+.group_good .group_play .play .li {
+ width: 33.3%;
+ margin-right: 8rpx;
+ color: #8c8c8c;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ position: relative;
+}
+
+.group_good .group_play .play .li .span:first-child {
+ display: block;
+ width: 32rpx;
+ height: 32rpx;
+ line-height: 32rpx;
+ color: #ff6333;
+ font-size: 12px;
+ border-radius: 32rpx;
+ background: rgba(255, 96, 0, 0.1);
+ text-align: center;
+ margin-bottom: 12rpx;
+}
+
+.group_good .group_play .play .li .span:last-child {
+ width: 160rpx;
+ color: #333;
+}
+
+.group_good .group_play .play .border_lr::before,
+.group_good .group_play .play .border_lr::after {
+ content: '';
+ position: absolute; /* 定位背景横线的位置 */
+ top: 0.5rem;
+ background: #ccced0; /* 背景横线颜色 */
+ width: 70%; /* 单侧横线的长度 */
+ height: 1px;
+}
+
+.group_good .group_play .play .border_lr::before {
+ left: -40%; /* 调整背景横线的左右距离 */
+}
+
+.group_good .group_play .play .border_lr::after {
+ right: -40%;
+}
+
+.group_good .group_play .play .li:last-child {
+ margin: 0;
+}
+
+.group_good .group_into {
+ background: #fff;
+ margin: 20rpx 0;
+ padding: 28rpx;
+ position: relative;
+}
+
+.group_good .group_into .h2 {
+ font-weight: normal;
+ font-size: 15px;
+ margin-bottom: 20rpx;
+ text-align: left;
+}
+
+.group_good .group_into .more {
+ position: absolute;
+ top: 28rpx;
+ right: 28rpx;
+ display: flex;
+ color: #8c8c8c;
+ font-size: 12px;
+}
+
+.group_good .group_into .more .fa {
+ font-size: 32rpx;
+ margin-left: 12rpx;
+}
+
+.group_good .group_into .into_user {
+ display: flex;
+ align-items: center;
+ margin-bottom: 10rpx;
+}
+
+.group_good .group_into .into_user .user {
+ width: 72rpx;
+ height: 72rpx;
+ background: #f2f2f2;
+ border-radius: 64rpx;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.group_good .group_into .into_user .user image {
+ width: 100%;
+ height: 100%;
+}
+
+.group_good .group_into .into_user .time {
+ /* width: 458rpx; */
+ flex: 1;
+ text-align: left;
+}
+
+.group_good .group_into .into_user .time .time_a {
+ font-size: 14px;
+}
+
+.group_good .group_into .into_user .time .time_a .name {
+ font-size: 14px;
+ overflow: hidden;/* 超出部分隐藏 */
+ text-overflow: ellipsis;/* 超出部分显示省略号 */
+ white-space: nowrap;/* 规定段落中的文本不进行换行 */
+}
+
+.group_good .group_into .into_user .time .time_b {
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.group_good .group_into .into_user .time .time_b .span {
+ color: #f15353;
+}
+
+.group_good .group_into .into_user button {
+ border: none;
+ background: #f15353;
+ color: #fff;
+ width: 100%;
+ height: 100%;
+ border-radius: 8rpx;
+ font-size: 12px;
+}
+
+.group_good .into_bg_color {
+ background-color: #f5f5f5;
+ border-radius: 4rpx;
+ padding: 12rpx;
+ max-height: 18rem;
+ overflow-y: scroll;
+}
+
+.member-reward {
+ display: flex;
+ align-items: center;
+ padding: 0 28rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ background: #fff;
+ margin-top: 20rpx;
+ font-size: 24rpx;
+}
+
+.member-reward .member-reward-btn {
+ height: 48rpx;
+ line-height: 48rpx;
+ background-color: rgba(255, 93, 0, 0.1);
+ border-radius: 24rpx;
+ padding: 0 16rpx;
+ margin-right: 20rpx;
+ color: #ff6000;
+}
+
+.member-reward .member-reward-price {
+ color: #ff2c29;
+ margin-left: 16rpx;
+}
+
+.group_good .into_user {
+ display: flex;
+ align-items: center;
+ padding: 20rpx;
+ background: #fff;
+}
+
+.group_good .into_user .user {
+ width: 72rpx;
+ height: 72rpx;
+ background: #f2f2f2;
+ border-radius: 64rpx;
+ overflow: hidden;
+}
+
+.group_good .into_user .user image {
+ width: 100%;
+ height: 100%;
+}
+
+.group_good .into_user .time {
+ width: 368rpx;
+ text-align: left;
+ margin: 0 20rpx;
+}
+
+.group_good .into_user .time .li {
+ display: flex;
+ justify-content: space-between;
+}
+
+.group_good .into_user .time .time_a {
+ font-size: 14px;
+}
+
+.group_good .into_user .time .time_a .name {
+ font-size: 14px;
+ overflow: hidden;/* 超出部分隐藏 */
+ text-overflow: ellipsis;/* 超出部分显示省略号 */
+ white-space: nowrap;/* 规定段落中的文本不进行换行 */
+ flex: 1;
+}
+
+.group_good .into_user .time .time_b {
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.group_good .into_user .time .time_b .span {
+ color: #f15353;
+}
+
+.group_good .into_user button {
+ border: none;
+ color: #fff;
+ width: 114rpx;
+ height: 50rpx;
+ border-radius: 25rpx !important;
+ font-size: 24rpx;
+ background: #ff6000 !important;
+ padding-left: 0;
+ padding-right: 0;
+ line-height: 50rpx;
+}
+
+.group_good .into_user button::after {
+ border: none;
+}
+
+/* 抢团 弹窗 */
+.group_good .open_group {
+ background: #fff;
+ padding: 20rpx;
+ border-radius: 16rpx;
+}
+
+.group_good .open_group .p {
+ font-size: 14px;
+ margin-bottom: 20rpx;
+}
+
+.group_good .open_group .icon_close {
+ position: absolute;
+ top: 8rpx;
+ right: 0;
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.group_good .open_group .iconfont {
+ line-height: 80rpx;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.group_good .into_bg_color {
+ background-color: #f5f5f5;
+ border-radius: 4rpx;
+ padding: 12rpx;
+ max-height: 18rem;
+ overflow-y: scroll;
+}
+
+
+/* 参与历史 */
+.history-box {
+ margin-top: 0.625rem;
+ background: #fff;
+ padding: 0.875rem;
+}
+
+.history-box .containe {
+ background-image: linear-gradient(90deg, #fff6e2 0%, #fffae2 100%), linear-gradient(#fffae2, #fffae2);
+ border-radius: 2rpx;
+ padding: 0.5rem;
+ display: flex;
+ justify-content: space-between;
+ color: #ec6565;
+ text-align: left;
+}
+
+.history-box .containe .count {
+ font-weight: bolder;
+ font-size: 1rem;
+}
+
+.history-box .containe .total {
+ margin-top: 0.5rem;
+ font-size: 0.8rem;
+}
+
+.history-box .containe .num {
+ color: #ff7100;
+}
+
+.history-box .money-img {
+ width: 4.19rem;
+ height: 3.03rem;
+ margin: 0;
+}
+
+/* 新样式 */
+.panel {
+ background-color: #fff;
+ margin: 20rpx;
+ border-radius: 20rpx;
+}
+
+.goods-additional-info {
+ text-align: left;
+ font-size: 12px;
+
+ /* padding-top: 15rpx; */
+}
+
+.goods-additional-info .goods-additional-text {
+ width: 100rpx;
+ font-size: 13px;
+ color: #9c9c9c;
+}
+
+.goods-additional-info .goods-additional-content {
+ flex: 1;
+ font-size: 13px;
+ font-weight: bold;
+ color: #565656;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.goods-additional-info .goods-additional-button {
+ font-weight: bold;
+ color: #f14e4e;
+}
+
+.goods-additional-info .iconfont-button {
+ color: #f14e4e;
+}
+
+.goods-additional-info .collect-order {
+ display: flex;
+ align-items: center;
+ padding: 15rpx 20rpx;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+.goods-additional-info .selfbuy-discount {
+ display: flex;
+ padding: 15rpx 20rpx;
+}
+
+.goods-additional-info .selfbuy-discount .selfbuy-discount-items {
+ flex: 1;
+ overflow: hidden;
+}
+
+.goods-additional-info .selfbuy-discount .selfbuy-discount-items .goods-additional-content:not(:first-child) {
+ margin-top: 25rpx;
+}
+
+.goods-additional-info .goods-activity {
+ display: flex;
+ padding: 15rpx 20rpx;
+}
+
+.goods-additional-info .goods-activity .goods-activity-items {
+ flex: 1;
+ overflow: hidden;
+}
+
+.goods-additional-info .goods-activity .goods-activity-items .goods-activity-item:not(:first-child) {
+ margin-top: 24rpx;
+}
+
+.goods-additional-info .goods-activity .goods-activity-items .goods-activity-item {
+ display: flex;
+ align-items: center;
+}
+
+.goods-additional-info .goods-activity .goods-activity-items .goods-activity-item .goods-activity-item-label {
+ padding: 2rpx 14rpx;
+ color: #f14e4e;
+ background: rgba(241, 78, 78, 0.1);
+ border-radius: 16rpx;
+}
+
+.goods-additional-info .goods-activity .goods-activity-items .goods-activity-item .goods-additional-content {
+ margin-left: 12rpx;
+}
+
+.goods-additional-info .server-tag-box {
+ display: flex;
+ flex-wrap: wrap;
+ margin-top: 15rpx;
+ padding: 20rpx;
+ border-radius: 20rpx;
+ background: rgba(246, 144, 54, 0.1);
+}
+
+.goods-additional-info .server-tag-box .server-tag-item {
+ display: flex;
+ align-items: center;
+ margin: 8rpx;
+}
+
+.goods-additional-info .server-tag-box .server-tag-item .server-tag-icon {
+ width: 30rpx;
+ height: 30rpx;
+ border-radius: 4rpx;
+}
+
+.goods-additional-info .server-tag-box .server-tag-item .server-tag-icon .img {
+ width: 30rpx;
+ height: 30rpx;
+ border-radius: 4rpx;
+}
+
+.goods-additional-info .server-tag-box .server-tag-item .server-tab-text {
+ margin-left: 10rpx;
+ font-size: 12px;
+ font-weight: bold;
+ color: #f69036;
+}
+
+/* 应用市场弹窗 */
+.popup-title {
+ padding: 32rpx;
+ font-size: 18px;
+ font-weight: bold;
+ text-align: center;
+ position: relative;
+}
+
+.closs_icon {
+ position: absolute;
+ top: 26rpx;
+ right: 25rpx;
+ color: #888787;
+}
+
+.popup-box {
+ height: 90%;
+ overflow-y: scroll;
+}
+
+.popup-box .popup-item {
+ margin: 0 30rpx;
+ padding: 25rpx 0;
+ border-bottom: 1rpx solid #f2f2f2;
+ text-align: center;
+ font-size: 28rpx;
+}
+
+
+
+ .icon-customform_add {
+ color: #fff;
+ font-size: 48rpx;
+}
+
+ .groupLIstBox {
+ padding: 0 34.88rpx 30.08rpx 34.88rpx;
+ border-radius: 9.92rpx;
+ background-color: #ffffff;
+ width: 560rpx;
+ height: 671.04rpx;
+ margin-bottom: 54.08rpx;
+ overflow-y: scroll;
+}
+ .groupLIstBox .groupList:last-child {
+ border-bottom: none;
+}
+ .groupLIstBox .groupList:first-child {
+ border-bottom: none;
+}
+ .groupLIstBox .isnone {
+ text-align: center;
+ color: #666666;
+ font-size: 28.8rpx;
+ margin-top: 20rpx;
+}
+ .groupLIstBox .groupList {
+ display: flex;
+ align-items: center;
+ padding: 30.08rpx 0;
+ border-bottom: 1.0016rpx solid #eaeaea;
+}
+ .groupLIstBox .groupList .userinfo {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ overflow: hidden;
+}
+ .groupLIstBox .groupList .userinfo .name {
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 28.16rpx;
+ color: #1f1f1f;
+ font-weight: bold;
+ margin-bottom: 9.6rpx;
+ text-align: left;
+}
+ .groupLIstBox .groupList .userinfo .intro {
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 24rpx;
+ color: #666666;
+ text-align: left;
+}
+ .groupLIstBox .groupList .imgaeBox {
+ flex-shrink: 0;
+ width: 70.08rpx;
+ height: 70.08rpx;
+ background-color: #b9b9b9;
+ border-radius: 100%;
+ margin-right: 22.08rpx;
+}
+ .groupLIstBox .groupList .imgaeBox image {
+ border-radius: 100%;
+ width: 100%;
+ height: 100%;
+}
+ .groupLIstBox .txtT {
+ text-align: left;
+ font-size: 24rpx;
+ color: #666666;
+ margin-top: 29.12rpx;
+ margin-bottom: 29.12rpx;
+}
+ .groupLIstBox .topHead {
+ position: sticky;
+ top: 0;
+ left: 0;
+ z-index: 22;
+ background: #fff;
+ border-bottom: 1.0016rpx solid #eaeaea;
+ height: 89.92rpx;
+ display: flex;
+ align-items: center;
+}
+ .groupLIstBox .topHead .txt {
+ text-align: left;
+ font-size: 25.92rpx;
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ flex: 1;
+}
+ .groupLIstBox .topHead .txt span {
+ color: #f91515;
+}
+
+.groupTotal .user {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 28rpx;
+ box-sizing: border-box;
+}
+.groupTotal .user .left {
+ display: flex;
+ align-content: center;
+}
+.groupTotal .user .left .userName {
+ line-height: 60.16rpx;
+ margin-left: 21.76rpx;
+}
+.groupTotal .user .left .image {
+ width: 60.16rpx;
+ height: 60.16rpx;
+ border-radius: 100%;
+ background: #ebebeb;
+}
+.groupTotal .user .left .image image{
+ width: 60.16rpx;
+ height: 60.16rpx;
+ border-radius: 100%;
+ background: #ebebeb;
+}
+
+ .headTop {
+ padding: 28rpx;
+ display: flex;
+ justify-content: space-between;
+ border-bottom: 1.0016rpx solid #eaeaea;
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.js b/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.js
new file mode 100644
index 0000000..af8e4c7
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.js
@@ -0,0 +1,233 @@
+// packageA/mycomponent/goodsComponent/timeLimit/timeLimit.js
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsInfo: {
+ type: null,
+ },
+ goodsType: {
+ type: null,
+ },
+ popPrice: {
+ type: null,
+ },
+ gooddatas: {
+ type: null
+ },
+ start_time: {
+ type: null
+ },
+ end_time: {
+ type: null
+ },
+ isendTime: {
+ type: null
+ },
+ group_price: {
+ type: String,
+ value: '0'
+ },
+ },
+ observers: {
+ goodsInfo: function (arr) {
+ this.startBuy(arr);
+ },
+ 'isendTime,gooddatas,start_time,end_time': function (isendTime, gooddatas, start_time, end_time) {
+ // console.log(isendTime, gooddatas.status, start_time, 'time')
+ }
+ },
+ lifetimes: {
+ attached(e) {
+ let start_time = new Date().getTime() / 1000;
+ this.setData({
+ nowTime: start_time
+ });
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ });
+ //* 限时购自定义名称
+ if(this.data.goodsInfo.has_one_goods_limit_buy&&this.data.goodsInfo.has_one_goods_limit_buy.status&&this.data.goodsInfo.has_one_goods_limit_buy.display_name){
+ this.setData({
+ limitedTimeCustomName:this.data.goodsInfo.has_one_goods_limit_buy.display_name
+ });
+ }
+ }
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ isBuy: false,
+ isTime: false,
+ isBegTime: false,
+ begTimeStr: "",
+ //计算后的倒计时
+ countDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ //限时购开始时间
+ beginTime: 0,
+ //显示购结束时间
+ endTime: 0,
+ group_price: "",
+ nowTime:"",
+ timestamp:Date.parse(new Date()) / 1000,
+ limitedTimeCustomName:"限时购" //* 自定义限时购名称
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ startBuy(data) {
+ console.log(this.data.goodsType,'36');
+ if(this.data.goodsType == 'grabGroup'){
+ if(!app._isTextEmpty(data.start_time)){
+ this.data.beginTime = this.data.start_time;
+ this.data.endTime = this.data.end_time;
+ //判断倒计时模块是否开启
+ this._timeCompare(this.data.beginTime);
+ }
+ }else{
+ if (!app._isTextEmpty(data.has_one_goods_limit_buy)) {
+ this.setData({
+ isBuy: data.has_one_goods_limit_buy.status == 1 ? true : false,
+ });
+ this.triggerEvent("onBuy", {
+ isBuy: this.data.isBuy
+ });
+ this.data.beginTime = data.has_one_goods_limit_buy.start_time;
+ this.data.endTime = data.has_one_goods_limit_buy.end_time * 1000;
+ //判断倒计时模块是否开启
+ this._timeCompare(this.data.beginTime);
+ }
+ }
+ },
+ //获取时间-限时购
+ _timeCompare(begin) {
+ let beginTime = new Date(parseInt(begin) * 1000);
+ let now = new Date();
+ if (now >= beginTime) {
+ this.setData({
+ isTime: true,
+ });
+ //开启倒计时
+ this._countDown();
+ } else {
+ this.setData({
+ isTime: false,
+ isBegTime: true,
+ begTimeStr: begin * 1000,
+ });
+ //开启距离开始倒计时
+ this.beginDown();
+ }
+ },
+ //倒计时
+ _countDown: function () {
+ let newTime = new Date().getTime();
+ let endTime = this.data.endTime;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt((time % (60 * 60 * 24)) / 3600);
+ let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
+ let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec),
+ };
+ } else {
+ //活动已结束,全部设置为'00'
+ obj = {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ };
+ }
+ this.setData({
+ countDownObj: obj,
+ });
+ if (endTime - newTime < 0) {
+ this.setData({
+ countDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ });
+ } else {
+ setTimeout(this._countDown.bind(this), 1000);
+ }
+ },
+ //倒计时
+ beginDown: function () {
+ let newTime = new Date().getTime();
+ let endTime = this.data.begTimeStr;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt((time % (60 * 60 * 24)) / 3600);
+ let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
+ let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec),
+ };
+ } else {
+ //活动已结束,全部设置为'00'
+ this.setData({
+ isTime: true,
+ isBegTime: false,
+ });
+ obj = {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ };
+ }
+ this.setData({
+ beginDownObj: obj,
+ });
+ if (endTime - newTime < 0) {
+ this.setData({
+ isTime: true,
+ isBegTime: false,
+ });
+ this.setData({
+ beginDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ });
+ } else {
+ setTimeout(this.beginDown.bind(this), 1000);
+ }
+ },
+ //小于10的格式化函数
+ _timeFormat(param) {
+ //小于10的格式化函数
+ return param < 10 ? "0" + param : param;
+ },
+ },
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.json b/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.json
new file mode 100644
index 0000000..7f07fcf
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "count":"../../count/count"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.wxml b/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.wxml
new file mode 100644
index 0000000..29b4308
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.wxml
@@ -0,0 +1,112 @@
+
+
+
+ {{ limitedTimeCustomName }}
+
+
+ 距离结束时间
+
+
+ {{countDownObj.day}} 天
+ {{countDownObj.hou}}
+ :
+ {{countDownObj.min}}
+ :
+ {{countDownObj.sec}}
+
+
+
+
+ 距开始还剩
+
+
+ {{beginDownObj.day}} 天
+ {{beginDownObj.hou}}
+ :
+ {{beginDownObj.min}}
+ :
+ {{beginDownObj.sec}}
+
+
+
+
+
+
+
+
+
+ 超值
+
+ 开团
+
+
+
+ {{language['money']}}{{goodsInfo.vip_level_status&&goodsInfo.vip_level_status.status==1?goodsInfo.vip_level_status.word:group_price}}起
+
+
+
+
+ 截止倒计时:
+
+
+
+ 距开始:
+
+
+
+ 已结束
+
+
+
+
+ 截止倒计时:
+
+
+
+
+ 距离活动开始时间:
+
+
+
+
+ 已结束
+
+
+
+
+
+
+
+
+
+ {{isTime?'活动截止倒计时':'活动开始倒计时'}}
+
+
+
+
+
+ {{countDownObj.day}}
+ 天
+ {{countDownObj.hou}}
+ :
+ {{countDownObj.min}}
+ :
+ {{countDownObj.sec}}
+
+
+
+
+
+
+ {{beginDownObj.day}}
+ 天
+ {{beginDownObj.hou}}
+ :
+ {{beginDownObj.min}}
+ :
+ {{beginDownObj.sec}}
+
+
+
+
+
diff --git a/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.wxss b/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.wxss
new file mode 100644
index 0000000..89815fd
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/timeLimit/timeLimit.wxss
@@ -0,0 +1,232 @@
+/* packageA/mycomponent/goodsComponent/timeLimit/timeLimit.wxss */
+
+/* 旧的 */
+.rob-time {
+ display: flex;
+ height: 88rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/goods/time_buy_bg@2x.png") no-repeat center;
+ background-size: 100%;
+}
+
+.rob-time .img {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.rob-time .img image {
+ width: 60%;
+}
+
+.rob-time .price {
+ display: flex;
+ text-align: left;
+ color: #fff;
+ justify-content: center;
+ align-items: center;
+ width: 30%;
+}
+
+.rob-time .price .text {
+ font-size: 40rpx;
+ font-weight: bold;
+}
+
+.rob-time .time {
+ display: flex;
+ justify-content: flex-end;
+ flex: 1;
+ text-align: left;
+ line-height: 98rpx;
+ padding-right: 1.25rem;
+ font-size: 28rpx;
+}
+
+.rob-time .time .left {
+ color: #fff;
+}
+
+.rob-time .time .right .date {
+ background-color: #fff;
+ line-height: 34rpx;
+ padding: 6rpx;
+ margin: 0 4rpx;
+ border-radius: 6rpx;
+}
+
+.rob-time .time .right .mes {
+ color: #fff;
+}
+
+.rob-time .time .right .content {
+ display: flex;
+ align-items: center;
+}
+
+/* 新的 */
+.time-buy {
+ padding: 20rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com//hot-bg.png");
+ background-size: 100% 100%;
+}
+
+.time-buy .buy-left {
+ font-size: 20px;
+ color: #fff;
+ word-break: break-all;
+ width: 50%;
+ text-align: left;
+}
+
+.time-buy .buy-right .right-end {
+ font-size: 12px;
+ color: #f32e02;
+ text-align: center;
+ margin-bottom: 0.3rem;
+}
+
+.buy-right .span {
+ font-size: 12px;
+ line-height: 1.2rem;
+}
+
+.buy-right .span:not(:first-child) {
+ margin: 0 0.3rem;
+ display: block;
+ padding: 1px 4px;
+ background-color: #fc4a04;
+ color: #fff;
+}
+
+.time-buy .bottom_time {
+ display: flex;
+ color: #f32e02;
+}
+
+/* 拼团倒计时 */
+
+.price_time {
+ width: 100%;
+ height: 100rpx;
+ background: #f15353;
+
+ /* position: absolute; */
+ top: 210rpx;
+ display: flex;
+ align-items: center;
+}
+
+.price_time .img {
+ width: 10%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.price_time .img image {
+ width: 60%;
+ height: 70%;
+}
+
+.price_time .text {
+ width: 76rpx;
+ color: #fff;
+ font-size: 28rpx;
+}
+
+.price_time .price {
+ width: 40%;
+ font-size: 14px;
+ color: #fff;
+ padding-left: 28rpx;
+ text-align: left;
+}
+
+.price_time .price .font {
+ font-size: 22px;
+}
+
+.price_time .time {
+ width: 50%;
+}
+
+.price_time .time .span {
+ color: #fff;
+ font-size: 12px;
+ display: inline-block;
+ margin-bottom: 8rpx;
+}
+
+.price_time .time .em {
+ background-color: #fff;
+ color: #333;
+}
+
+/* end */
+
+/* 抢团 */
+.grabGroup .rob-time {
+ display: flex;
+ justify-content: space-between;
+ height: 88rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/goods/time_buy_bg@2x.png") no-repeat center;
+ background-size: 100%;
+}
+
+.grabGroup .rob-time .img {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.grabGroup .rob-time .img image {
+ width: 60%;
+}
+
+.grabGroup .rob-time .price {
+ display: flex;
+ text-align: left;
+ color: #fff;
+ justify-content: center;
+ align-items: center;
+ width: 30%;
+}
+
+.grabGroup .rob-time .price .text {
+ font-size: 28rpx;
+}
+
+.grabGroup .rob-time .time {
+ line-height: 98rpx;
+ padding-right: 40rpx;
+ font-size: 28rpx;
+}
+
+.grabGroup .rob-time .time .right .date {
+ background-color: #fff;
+ height: 34rpx;
+ line-height: 34rpx;
+ padding: 6rpx;
+ margin: 0 4rpx;
+ border-radius: 6rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.grabGroup .rob-time .time .right .mes {
+ color: #fff;
+}
+
+.grabGroup .rob-time .time .right .content {
+ display: flex;
+ align-items: center;
+}
+
+/* 抢团 end */
diff --git a/packageA/mycomponent/goodsComponent/zhpGroup/zhplist.js b/packageA/mycomponent/goodsComponent/zhpGroup/zhplist.js
new file mode 100644
index 0000000..15c9592
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/zhpGroup/zhplist.js
@@ -0,0 +1,66 @@
+// packageA/mycomponent/goodsComponent/zhpGroup/zhplist.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ gooddatas: {
+ type: null,
+ },
+ },
+ observers: {
+ gooddatas: function (datas) {
+ if(datas){
+ if (datas.description) {
+ let des = datas.description.replace(/
+
+
+
+ {{gooddatas.member_count}}
+ 名小伙伴正在排队参与
+
+
+ 点击查看
+
+
+
+
+
+
+ 该商品还差{{gooddatas.my_surplus_count}}次获得奖励
+
+
+
+
+
+ 珍惠拼规则
+
+ 点击查看
+
+
+
+ 参与条件:每日签到或积分商品中获取积分参与
+
+
+
+ 规则说明
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goodsComponent/zhpGroup/zhplist.wxss b/packageA/mycomponent/goodsComponent/zhpGroup/zhplist.wxss
new file mode 100644
index 0000000..d55aebe
--- /dev/null
+++ b/packageA/mycomponent/goodsComponent/zhpGroup/zhplist.wxss
@@ -0,0 +1,63 @@
+/* packageA/mycomponent/goodsComponent/zhpGroup/zhplist.wxss */
+.zhpBox {
+ padding: 30rpx 30rpx;
+ background-color: #fff;
+ margin-top: 20rpx;
+}
+
+.lis {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 28rpx;
+}
+
+.lis .left {
+ display: flex;
+ align-items: flex-start;
+ flex-direction: column;
+}
+
+.cotext {
+ color: #f15353;
+}
+
+.lis .right {
+ display: flex;
+ align-items: center;
+ color: #f15353;
+}
+
+.rightBtn {
+ background-color: #f15353;
+ border-radius: 35rpx;
+ padding: 15rpx 18rpx;
+ box-sizing: border-box;
+ color: #fff;
+}
+
+.rule {
+ padding: 30rpx;
+ background-color: #fff;
+ margin-top: 20rpx;
+}
+
+.rulebox {
+ text-align: left;
+ margin-top: 30rpx;
+ font-size: 28rpx;
+}
+
+/* 规则弹窗 */
+.showBox {
+ width: 550rpx;
+ height: 800rpx;
+ background-color: #fff;
+ border-radius: 30rpx;
+}
+
+.showBox .title {
+ display: flex;
+ justify-content: center;
+ padding: 30rpx 0;
+}
diff --git a/packageA/mycomponent/goods_Electricity/goods_Electricity.js b/packageA/mycomponent/goods_Electricity/goods_Electricity.js
new file mode 100644
index 0000000..623459f
--- /dev/null
+++ b/packageA/mycomponent/goods_Electricity/goods_Electricity.js
@@ -0,0 +1,540 @@
+// packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ prop_goods_info: {
+ type: null, //父组件的商品详情数据
+ },
+ goodsId: {
+ type: Number,
+ },
+ goodsType: {
+ type: String,
+ },
+ hoet: {
+ type: null,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ goodsInfo: {},
+
+ rechargeType: {},
+ rechargeItem: {},
+ rechargeSpecId: 0,
+
+ displayOptions: [],
+ optionsId: 0,
+
+ show1: false,
+ service_QRcode: "",
+ service_mobile: "",
+ cservice: "",
+
+ //猜你喜欢
+ likeArr: [],
+ swipeIndex: 0,
+
+ mobile: "",
+
+ bannerUrl: "",
+
+ posterShow: false,
+
+ tapSelect: false,
+
+ AccountList: [],
+ currentAccount: null,
+ editUserShow: false,
+
+ form_account_name: "",
+ form_account_number: "",
+ form_charge_type: 1,
+
+ addressShow_p: false,
+
+ form_province: "",
+ form_city: "",
+
+ selectUserShow: false,
+ radioAccount: "1",
+
+ tipsShow: false,
+
+ desc_text: "",
+ codeArr: [{
+ value: '',
+ focusa: true
+ },
+ {
+ value: '',
+ focusa: false
+ },
+ {
+ value: '',
+ focusa: false
+ },
+ {
+ value: '',
+ focusa: false
+ },
+ {
+ value: '',
+ focusa: false
+ },
+ {
+ value: '',
+ focusa: false
+ }
+ ],
+ codeValue: '',
+ isProvinceShow: false
+ },
+ ready() {
+ console.log(this.properties.prop_goods_info);
+ let prop_goods_info = this.properties.prop_goods_info;
+ let changeData = {};
+ let goodsInfo = this.data.goodsInfo = prop_goods_info.get_goods;
+ let rechargeType = goodsInfo.has_many_specs[0];
+ this._handClickSpecs(rechargeType.specitem[0]);
+ changeData.goodsInfo = goodsInfo;
+ changeData.rechargeType = rechargeType;
+ //轮播图
+ if (prop_goods_info && prop_goods_info.plugin && prop_goods_info.plugin.electricityBillPro) {
+ changeData.bannerUrl = prop_goods_info.plugin.electricityBillPro.banner;
+ }
+
+ //客服相关
+ if (prop_goods_info.customer_service) {
+ // 客服
+ changeData.service_QRcode = prop_goods_info.customer_service.service_QRcode;
+ changeData.service_mobile = prop_goods_info.customer_service.service_mobile;
+ changeData.cservice = prop_goods_info.customer_service.cservice;
+ }
+
+ changeData.desc_text = prop_goods_info.plugin.electricityBillPro.desc;
+
+ //猜你喜欢
+ let show_push = goodsInfo.show_push.slice(0, 30);
+ let likeArr = [];
+ show_push.forEach(function (item, index) {
+ var num = Math.floor(index / 6); //
+ if (!likeArr[num]) {
+ likeArr[num] = [];
+ }
+ likeArr[num].push(item); //将数据添加到数组里
+ });
+ changeData.likeArr = likeArr;
+ this.setData(changeData);
+ this.getDataAccountList();
+ this.getAddressProvince();
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ // handClickSpecs(evt) {
+ // let item = evt.currentTarget.dataset.item;
+ // this._handClickSpecs(item);
+ // },
+ setEditUserShow() {
+ this.setData({
+ editUserShow: !this.data.editUserShow
+ });
+ },
+ setSelectUserShow() {
+ this.setData({
+ selectUserShow: !this.data.selectUserShow
+ });
+ },
+ setTipsShow() {
+ this.setData({
+ tipsShow: !this.data.tipsShow
+ });
+ },
+ _handClickSpecs(item) {
+ if (this.data.rechargeSpecId == item.id) return;
+ let has_many_options = this.data.goodsInfo.has_many_options;
+ let arr = [];
+ for (let i = 0; i < has_many_options.length; i++) {
+ //if (has_many_options[i].specs.indexOf(item.id) >= 0) {
+ arr.push(has_many_options[i]);
+ // }
+ }
+ this.setData({
+ // rechargeSpecId: item.id,
+ // rechargeItem: item,
+ displayOptions: arr,
+ optionsId: 0
+ });
+ },
+
+ handClickOptions(evt) {
+ let item = evt.currentTarget.dataset.item;
+ this.setData({
+ optionsId: item.id
+ });
+ },
+
+ onChangeSwipeIndex(evt) {
+ let index = evt.detail.current;
+ this.setData({
+ swipeIndex: index
+ });
+ },
+ gotoDetailV2(evt) {
+ let id = evt.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id,
+ });
+ },
+ gotoChat(evt) {
+ let url = evt.currentTarget.dataset.cservice + "&goods_id=" + this.data.goodsId;
+ wx.navigateTo({
+ url: url,
+ fail: (err) => {
+ app.tips("客服路由出错");
+ }
+ });
+ },
+
+ setCserviceFlag() {
+ this.setData({
+ show1: !this.data.show1
+ });
+ },
+
+ gotoOrderList() {
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2',
+ });
+ },
+
+ gotoIndex() {
+ wx.reLaunch({
+ url: '/packageG/index/index',
+ });
+ },
+
+ setPosterShow() {
+ this.setData({
+ posterShow: true
+ });
+ },
+ setTopping() {
+ wx.pageScrollTo({
+ scrollTop: 0
+ });
+ },
+
+ sendRecharge() {
+ // 手机慢充
+ let {
+ goodsId,
+ optionsId
+ } = this.data;
+ // if (!mobile) {
+ // app.tips("请输入充值手机号码!");
+ // return false;
+ // } else {
+ // let reg_txt = /^[1][0-9]{10}$/;
+ // if (!reg_txt.test(mobile)) {
+ // app.tips("请输入正确的充值手机号码!");
+ // return false;
+ // }
+ // }
+ if (!this.data.currentAccount) return app.tips("请先添加户号");
+ if (optionsId <= 0) return app.tips("请选择充值金额");
+
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&total=1&&goodsId=" + goodsId + "&optionsId=" + optionsId + "&account_id=" + this.data.currentAccount.id + "&electricity=electricity"
+ });
+ //this.$router.push(this.fun.getUrl("goodsorder", {}, json_data));
+ },
+
+ tapSelect_btn() {
+ this.setData({
+ tapSelect: !this.data.tapSelect
+ });
+ },
+ checkProvince(key) {
+ let pro = key || this.data.form_province;
+ if (pro == "广东省") {
+ return true;
+ } else if (pro == "广西壮族自治区") {
+ return true;
+ } else if (pro == "云南省") {
+ return true;
+ } else if (pro == "贵州省") {
+ return true;
+ } else if (pro == "海南省") {
+ return true;
+ } else if (pro == "澳门特别行政区") {
+ return true;
+ } else if (pro == "香港特别行政区") {
+ return true;
+ } else {
+ return false;
+ }
+ },
+ saveBox() {
+ if (app._isTextEmpty(this.data.form_account_name)) return app.tips("填写户名");
+ if (app._isTextEmpty(this.data.form_account_number)) return app.tips("请输入缴费户号");
+ if (app._isTextEmpty(this.data.form_province) || app._isTextEmpty(this.data.form_city)) return app.tips("请选择所在省市");
+ let check = this.checkProvince();
+ if (check) {
+ if (app._isTextEmpty(this.data.codeValue)) {
+ wx.showModal({
+ title: '',
+ content: '请输入身份证/营业执照/机构代码后6位',
+ showCancel:false
+ })
+ return
+ } else if (this.data.codeValue.length < 6) {
+ wx.showModal({
+ title: '',
+ content: '请输入身份证/营业执照/机构代码后6位',
+ showCancel:false
+ })
+ return
+ }
+ }
+ let urlStr = app.getNetAddresss("plugin.electricity-bill-pro.frontend.accountUser.saveAccount");
+ let form = {
+ account_name: this.data.form_account_name,
+ account_number: this.data.form_account_number,
+ province: this.data.form_province,
+ city: this.data.form_city,
+ charge_type: this.data.form_charge_type
+ };
+ if (check) {
+ form.code = this.data.codeValue;
+ }
+ let json = {
+ form
+ };
+ if (this.data.AccountID) {
+ json.id = this.data.AccountID;
+ }
+
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ app.tips(res.msg);
+ if (res.result == 1) {
+ this.setData({
+ AccountID: "",
+ editUserShow: false
+ });
+ this.getDataAccountList();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ newCreate() {
+ this.setData({
+ form_account_name: "",
+ form_account_number: "",
+ form_province: "",
+ form_city: "",
+ form_charge_type: 1,
+ AccountID: "",
+ editUserShow: true,
+ isProvinceShow:false,
+ codeValue:''
+ });
+ },
+
+ onChangeCurrentAccount(evt) {
+ let id = evt.detail;
+ for (let i = 0; i < this.data.AccountList.length; i++) {
+ if (this.data.AccountList[i].id == id) {
+ this.setData({
+ currentAccount: this.data.AccountList[i],
+ radioAccount: id,
+ selectUserShow: false
+ });
+
+ }
+ }
+ },
+
+ async delIcon(evt) {
+ let item = evt.currentTarget.dataset.item;
+ let confirmFlag = await app.confirm("确定删除吗?");
+ if (!confirmFlag) return;
+ let urlStr = app.getNetAddresss("plugin.electricity-bill-pro.frontend.accountUser.delAccount");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: item.id
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ app.tips(res.msg);
+ if (res.result == 1) {
+ if (item.id == this.data.currentAccount.id) {
+ this.setData({
+ currentAccount: null
+ });
+ }
+ this.getDataAccountList();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ // 编辑
+ editIcon(evt) {
+ let item = evt.currentTarget.dataset.item;
+ let check = this.checkProvince(item.province);
+ if(check){
+ if(item.code){
+ this.setData({
+ isProvinceShow:true,
+ codeValue:item.code
+ })
+ }else{
+ this.setData({
+ isProvinceShow:true,
+ codeValue:""
+ })
+ }
+ }else{
+ this.setData({
+ isProvinceShow:false
+ })
+ }
+
+ this.setData({
+ selectUserShow: false,
+ editUserShow: true,
+ form_account_name: item.account_name,
+ form_account_number: item.account_number,
+ form_province: item.province,
+ form_city: item.city,
+ form_charge_type: item.charge_type,
+ AccountID: item.id
+ });
+ },
+
+ getDataAccountList() {
+ let urlStr = app.getNetAddresss("plugin.electricity-bill-pro.frontend.accountUser.getAccountList");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ AccountList: res.data,
+ radioAccount: res.data[0] ? res.data[0].id : 0
+ });
+ // if (!this.data.currentAccount) {
+ this.setData({
+ currentAccount: res.data[0] ? res.data[0] : null,
+ });
+ // }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ getAddressProvince() {
+ let urlStr = app.getNetAddresss("plugin.electricity-bill-pro.frontend.accountUser.getRegion");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let list = res.data;
+ this.setData({
+ provinceData: [{
+ values: list,
+ className: "columnl"
+ }, {
+ values: list[0].children,
+ className: "column2"
+ }]
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ onChangeChargeType(event) {
+ this.setData({
+ form_charge_type: event.detail,
+ });
+ },
+
+ setAddressShow_p() {
+ this.setData({
+ addressShow_p: !this.data.addressShow_p
+ });
+ },
+
+ onChangeAddress(event) {
+ const {
+ picker,
+ value
+ } = event.detail;
+ console.log(value);
+ picker.setColumnValues(1, value[0].children);
+ },
+
+ addressCallback(evt) {
+ let {
+ value
+ } = evt.detail;
+ // if (value[1].is_open != "1") return app.tips("该地区不支持电费充值");
+ this.setData({
+ form_province: value[0].text,
+ form_city: value[1].text,
+ addressShow_p: false
+ });
+ let check = this.checkProvince();
+ if (check == true) {
+ this.setData({
+ isProvinceShow: true
+ })
+ }else{
+ this.setData({
+ isProvinceShow: false
+ })
+ }
+ // if (this.provinceData[ind[0]].children[ind[1]].is_open == 0) {
+ // this.$dialog.alert({ message: "该地区不支持电费充值" });
+ // } else {
+ // this.form.province = e[0];
+ // this.form.city = e[1];
+ // this.addressShow_p = false;
+ // }
+ },
+
+
+
+
+
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goods_Electricity/goods_Electricity.json b/packageA/mycomponent/goods_Electricity/goods_Electricity.json
new file mode 100644
index 0000000..02d95e2
--- /dev/null
+++ b/packageA/mycomponent/goods_Electricity/goods_Electricity.json
@@ -0,0 +1,15 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index",
+ "van-nav-bar": "/dist/nav-bar/index",
+ "van-radio": "/dist/radio/index",
+ "van-radio-group": "/dist/radio-group/index",
+ "van-icon": "/dist/icon/index",
+ "van-cell-group": "/dist/cell-group/index",
+ "van-cell": "/dist/cell/index",
+ "goods-qrcode":"/mycomponent/temp/goods_qrcode/goods_qrcode",
+ "mp-html":"/mycomponent/mp-html/index",
+ "van-picker": "/dist/picker/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goods_Electricity/goods_Electricity.wxml b/packageA/mycomponent/goods_Electricity/goods_Electricity.wxml
new file mode 100644
index 0000000..7604de1
--- /dev/null
+++ b/packageA/mycomponent/goods_Electricity/goods_Electricity.wxml
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+
+
+ 选择户名
+
+
+
+
+ 添加户名
+
+
+ {{currentAccount.charge_type == '1'?'住':(currentAccount.charge_type == '2'?'店':'企')}}
+ {{currentAccount.account_number}}
+
+
+
+ {{currentAccount.account_name}}
+
+
+
+
+ {{desc_text}}
+ 充值金额
+
+
+ 立减{{ item.diff_price }}元
+ ¥{{ item.face_value }}
+ 优惠价¥{{ item.product_price }}
+
+
+
+
+
+
+ 猜你喜欢
+
+
+
+
+
+
+
+ {{ item.title }}
+ ¥{{ item.price }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 商品详情
+
+
+
+ 暂无该商品详情 ~
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.charge_type == '1'?'住':(item.charge_type == '2'?'店':'企')}}
+
+
+ {{item.account_name}}
+
+ |
+
+
+ {{item.account_number}}
+
+
+
+
+
+
+
+
+ 新增户号
+
+
+
+
+
+
+
+
+
+ 户名:
+
+
+
+
+
+ 户号:
+
+
+
+
+ 如何获取户号?
+
+ 所在省市:
+
+ {{form_province}} {{form_city}}
+
+
+
+
+ 身份证/营业执照/机构代码后6位:
+
+
+
+
+
+ 账户类型:
+
+ {{form_charge_type == 1?'住宅':(form_charge_type == 2?'商铺':'企事业')}}
+
+
+
+
+
+
+
+ 住宅
+
+
+
+
+
+ 商铺
+
+
+
+
+
+ 企事业
+
+
+
+
+
+
+ 保存
+
+
+
+
+
+
+
+
+
+ 电话查询
+
+
+
+ 拨打国家电网客户电话 95598,提供住址、身份证号即可拨打
+
+
+
+
+ 检查计费表
+
+
+
+ 拨打国家电网客户电话 95598,提供住址、身份证号即可拨打
+
+
+
+
+ 查询通知短信
+
+
+
+ 拨打国家电网客户电话 95598,提供住址、身份证号即可拨打
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goods_Electricity/goods_Electricity.wxss b/packageA/mycomponent/goods_Electricity/goods_Electricity.wxss
new file mode 100644
index 0000000..4969547
--- /dev/null
+++ b/packageA/mycomponent/goods_Electricity/goods_Electricity.wxss
@@ -0,0 +1,712 @@
+/* packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.wxss */
+
+@import "/mycss/iconfont.wxss";
+
+view,
+text,
+input {
+ box-sizing: border-box;
+}
+
+.banner {
+ width: 100%;
+ min-height: 74rpx;
+}
+
+.banner image {
+ width: 100%;
+ height: auto;
+}
+
+.recharge {
+ width: 690rpx;
+ margin: -70rpx auto 0;
+ background-color: #fff;
+ border-radius: 15rpx;
+ overflow: hidden;
+}
+
+/* .recharge .recharge-title{
+ height: 90rpx;
+ padding-left: 47rpx;
+ padding-top:25rpx;
+ font-size: 26rpx;
+ color: #242424;
+ background-color: #fff;
+} */
+
+.recharge .tabs {
+ display: flex;
+ height: 70rpx;
+}
+
+.recharge .tabs .tabs-item {
+ flex: 1;
+ padding-left: 47rpx;
+ padding-top: 25rpx;
+ font-size: 26rpx;
+ color: #242424;
+ background-color: #fff;
+}
+
+.recharge .recharge-box {
+ padding: 42rpx 32rpx 26rpx;
+ text-align: left;
+}
+
+.recharge .recharge-box .input-box {
+ border-bottom: 1rpx solid #d4d4d4;
+ padding-bottom: 14rpx;
+}
+
+.recharge .recharge-box .inpInfoBox {
+ display: flex;
+ align-items: center;
+ text-align: left;
+}
+
+.recharge .recharge-box .inpInfoBox .left {
+ display: flex;
+ align-items: center;
+}
+
+.recharge .recharge-box .inpInfoBox .left .leftIcon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 34rpx;
+ height: 34rpx;
+ font-size: 20rpx;
+ color: #fff;
+ background-color: #fe6402;
+ border-radius: 50%;
+}
+
+.recharge .recharge-box .inpInfoBox .left .leftTxt {
+ margin-left: 12rpx;
+ font-size: 36rpx;
+ color: #202020;
+}
+
+.recharge .recharge-box .inpInfoBox .line {
+ width: 1rpx;
+ height: 24rpx;
+ margin-left: 24rpx;
+ margin-right: 19rpx;
+ background-color: #d0d0d0;
+}
+
+.recharge .recharge-box .inpInfoBox .right {
+ display: flex;
+ align-items: center;
+ flex: 1;
+ font-size: 20rpx;
+ color: #9a9a9a;
+}
+
+.recharge .recharge-box .inpInfoBox .right .txt {
+ flex: 1;
+}
+
+.recharge .recharge-box .desc {
+ padding-left: 15rpx;
+ padding-top: 9rpx;
+ font-size: 22rpx;
+ color: #6c6c6c;
+}
+
+.recharge .recharge-box .recharge-title {
+ margin-top: 46rpx;
+ font-size: 26rpx;
+ color: #242424;
+}
+
+.recharge .recharge-box .recharge-items {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-column-gap: 20rpx;
+ padding-top: 22rpx;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 193rpx;
+ height: 200rpx;
+ padding-top: 40rpx;
+ margin-bottom: 32rpx;
+ border-radius: 10rpx;
+ border: solid 1rpx #acacac;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-activity {
+ position: absolute;
+ left: 0;
+ top: 0;
+ font-size: 22rpx;
+ color: #fff;
+ padding: 4rpx 11rpx 5rpx 14rpx;
+ background-image: linear-gradient(90deg, #fe3b42 0%, #fe6355 100%);
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-price {
+ font-size: 60rpx;
+ color: #3b3b3b;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-price text {
+ font-size: 28rpx;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-discount {
+ margin-top: 8rpx;
+ font-size: 22rpx;
+ color: #8c5a04;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item.active {
+ border: none;
+ background-color: rgba(245, 154, 31, 0.4);
+ box-shadow: 0rpx 4rpx 11.7rpx 1.3rpx rgba(201, 129, 30, 0.76);
+}
+
+.recharge .recharge-box .recharge-items .recharge-item.active .recharge-price {
+ color: #fe6402;
+}
+
+.like-box {
+ width: 690rpx;
+ margin: 20rpx auto 0;
+ padding: 22rpx 21rpx;
+ text-align: left;
+ background-color: #fff;
+ border-radius: 15rpx;
+}
+
+.like-box .like-box-title {
+ font-size: 30rpx;
+ font-weight: bold;
+ color: #5f5e5e;
+}
+
+.like-box .like-box-goods {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-column-gap: 20rpx;
+ grid-row-gap: 20rpx;
+ padding-top: 28rpx;
+}
+
+.like-box .like-box-goods .like-box-good {
+ overflow: hidden;
+}
+
+.like-box .like-box-goods .like-box-good .good-face {
+ width: 202rpx;
+ height: 202rpx;
+ border-radius: 6rpx;
+}
+
+.like-box .like-box-goods .like-box-good .good-face image {
+ width: 202rpx;
+ height: 202rpx;
+ border-radius: 6rpx;
+}
+
+.like-box .like-box-goods .like-box-good .good-name {
+ padding-top: 16rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 22rpx;
+ font-weight: bold;
+ color: #3e3e3e;
+}
+
+.like-box .like-box-goods .like-box-good .good-price {
+ padding-top: 10rpx;
+ font-size: 24rpx;
+ font-weight: bold;
+ color: #f14e4e;
+}
+
+.like-box .van-indicator {
+ display: flex;
+ justify-content: center;
+ padding-top: 38rpx;
+ padding-bottom: 19rpx;
+}
+
+.like-box .van-indicator .li {
+ width: 8rpx;
+ height: 8rpx;
+ margin-right: 13rpx;
+ background-color: #c2c2c2;
+}
+
+.like-box .van-indicator .li.active {
+ width: 15rpx;
+ height: 8rpx;
+ background-color: #f14e4e;
+ border-radius: 4rpx;
+}
+
+.goods-details {
+ margin-top: 20rpx;
+ padding-bottom: 20rpx;
+ background-color: #fff;
+}
+
+.goods-details .goods-details-title {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 100rpx;
+ color: #999;
+}
+
+.goods-details .goods-details-title .line {
+ width: 128rpx;
+ height: 4rpx;
+ border-radius: 2rpx;
+ background: rgb(213, 214, 216);
+}
+
+.goods-details .goods-details-title .text {
+ padding: 0 16rpx;
+}
+
+.add-account-wrapper {
+ padding: 0 30rpx;
+}
+
+.add-account-wrapper .lineTitle {
+ display: flex;
+ align-items: center;
+ height: 90rpx;
+ padding-top: 15rpx;
+}
+
+.add-account-wrapper .lineTitle .lineTxt {
+ font-size: 30rpx;
+ color: #353535;
+}
+
+.add-account-wrapper .lineTitle .lineInp {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ height: 100%;
+ padding-left: 15rpx;
+ margin-left: 30rpx;
+ border-bottom: 1rpx solid #e8e8e8;
+}
+
+.add-account-wrapper .lineTitle .lineInp input {
+ color: #c1bfbf;
+}
+
+.lineboxCard {
+ display: flex;
+ flex-direction: column;
+ padding: 18rpx 0rpx;
+ justify-content: flex-start;
+}
+
+.lineboxCard .lineTxt {
+ text-align: left;
+ margin-bottom: 18rpx;
+ font-size: 30rpx;
+}
+
+.lineboxCard .lineInp{
+ padding-bottom: 20rpx;
+ border-bottom: 1px solid #e8e8e8;
+}
+
+.inpBox {
+ display: flex;
+}
+
+.inpBoxR {
+ margin-right: 10rpx;
+ width: 100%;
+ height: 83rpx;
+ /* background: #f2f2f2; */
+ border: 1rpx solid #f2f2f2;
+ padding-left: 20rpx;
+ overflow: hidden;
+}
+
+.inpBoxR input {
+ border: none;
+ width: 100%;
+ height: 100%;
+ text-align: left;
+}
+
+.add-account-wrapper .linebox {
+ display: flex;
+ align-items: center;
+ height: 70rpx;
+}
+
+.add-account-wrapper .linebox .lineTxt {
+ flex: 1;
+ font-size: 30rpx;
+ color: #353535;
+}
+
+.add-account-wrapper .linebox .lineSelect {
+ font-size: 30rpx;
+ color: #272727;
+}
+
+.add-account-wrapper .accountType {
+ height: 190rpx;
+ padding: 8rpx 25rpx;
+ background-color: #f7f7f7;
+}
+
+.add-account-wrapper .accountType .groupList {
+ display: flex;
+ align-items: center;
+ height: 58rpx;
+}
+
+.add-account-wrapper .accountType .groupList .txt {
+ flex: 1;
+ font-size: 26rpx;
+ color: #272727;
+}
+
+.add-account-wrapper .accountType .groupList .iconfont {
+ font-size: 26rpx;
+ color: #b2b2b2;
+}
+
+.saveBox {
+ width: 640rpx;
+ height: 80rpx;
+ background-color: #f14e4e;
+ border-radius: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ margin-left: 7.3%;
+ margin-top: 40rpx;
+}
+
+.choice-account-wrapper {
+ padding: 0 30rpx;
+}
+
+.choice-account-wrapper .account-list {
+ max-height: 480rpx;
+ overflow: auto;
+}
+
+.choice-account-wrapper .account-item {
+ display: flex;
+ align-items: center;
+ height: 120rpx;
+ border-bottom: 1rpx solid #e8e8e8;
+}
+
+.choice-account-wrapper .account-item .icon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 40rpx;
+ height: 40rpx;
+ font-size: 24rpx;
+ color: #fff;
+ background-color: #fe6402;
+ border-radius: 50%;
+}
+
+.choice-account-wrapper .account-item .content {
+ flex: 1;
+ margin-left: 20rpx;
+}
+
+.choice-account-wrapper .account-item .content .name-info {
+ display: flex;
+ align-items: center;
+}
+
+.choice-account-wrapper .account-item .content .name-info .name {
+ margin-right: 23rpx;
+ font-size: 30rpx;
+ color: #353535;
+}
+
+.choice-account-wrapper .account-item .content .name-info .iconfont {
+ height: 32rpx;
+ font-size: 26rpx;
+ color: #fe0202;
+}
+
+.choice-account-wrapper .account-item .content .name-info .txt {
+ margin: 0 20rpx;
+ color: #c1c0c0;
+}
+
+.choice-account-wrapper .account-item .content .number {
+ font-size: 24rpx;
+ color: #737272;
+}
+
+.choice-account-wrapper .account-item .icon-all_select_active {
+ color: #b2b2b2;
+}
+
+.how-account-wrapper {
+ padding: 0 30rpx;
+}
+
+.how-account-wrapper .cell-title {
+ display: flex;
+ align-items: center;
+}
+
+.how-account-wrapper .cell-title .icon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 32rpx;
+ height: 32rpx;
+ background-color: #fe6402;
+ border-radius: 50%;
+}
+
+.how-account-wrapper .cell-title .icon .iconfont {
+ color: #fff;
+ font-size: 20rpx;
+}
+
+.how-account-wrapper .cell-title .txt {
+ margin-left: 14rpx;
+ font-size: 30rpx;
+ color: #353535;
+}
+
+.how-account-wrapper .cell-content {
+ margin-top: 21rpx;
+ margin-bottom: 30rpx;
+ padding: 29rpx 21rpx;
+ font-size: 24rpx;
+ color: #606060;
+ background-color: #f3f3f3;
+ border-radius: 6rpx;
+}
+
+.fixed-qrcode {
+ position: fixed;
+ right: 16rpx;
+ bottom: calc(320rpx + env(safe-area-inset-bottom));
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 60rpx;
+ height: 60rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 50%;
+}
+
+.fixed-qrcode .iconfont {
+ font-size: 40rpx;
+ color: #fff;
+}
+
+.fixed-topping {
+ position: fixed;
+ right: 16rpx;
+ bottom: calc(224rpx + env(safe-area-inset-bottom));
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 60rpx;
+ height: 60rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 50%;
+}
+
+.fixed-topping .iconfont {
+ font-size: 44rpx;
+ color: #fff;
+}
+
+.footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ display: flex;
+ height: calc(90rpx + env(safe-area-inset-bottom));
+ padding-bottom: env(safe-area-inset-bottom);
+ background-color: #fff;
+}
+
+.footer .footer-left {
+ display: flex;
+ justify-content: space-evenly;
+ width: 350rpx;
+ background-color: #fff;
+}
+
+.footer .footer-left .footer-left-item {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ color: #8c8c8c;
+ font-size: 20rpx;
+ font-weight: bold;
+}
+
+.footer .footer-left .footer-left-item .iconfont {
+ color: #3c3c3c;
+}
+
+.footer .footer-left .footer-left-item .icon-fontclass-kefu {
+ font-size: 36rpx;
+ height: 50rpx;
+}
+
+.footer .footer-right {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 34rpx;
+ color: #8c5a04;
+ background-color: #e6c36a;
+}
+
+/* kefu */
+.icon-close11 {
+ font-size: 36rpx;
+}
+
+.pop-content {
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+}
+
+.pop-content .pop-top .left {
+ width: 50%;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ position: relative;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ width: 50%;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ margin: 0;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right .wrap icon {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ font-size: 50rpx;
+ background-color: #02c777;
+ color: #fff;
+}
+
+.pop-content .pop-top .right .wrap .color2 {
+ background: #ff9329;
+}
+
+.pop-content .pop-top .right .wrap .color3 {
+ background: #2aa7fb;
+}
+
+.pop-content .line {
+ width: 2rpx;
+ height: 51rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goods_new/goods_new.js b/packageA/mycomponent/goods_new/goods_new.js
new file mode 100644
index 0000000..05c8c6a
--- /dev/null
+++ b/packageA/mycomponent/goods_new/goods_new.js
@@ -0,0 +1,2171 @@
+var app = getApp();
+var WxParse = require("../../../wxParse/wxParse.js");
+let isclick = true;
+var optionsMaxCount = 1;
+Component({
+ properties: {
+ prop_goods_info: {
+ type: null, //父组件的商品详情数据
+ },
+ producerId: {
+ // 厂家商品
+ type: Number,
+ },
+ // 属性值可以在组件使用时指定
+ goodsId: {
+ type: Number,
+ },
+ goodsType: {
+ type: String,
+ },
+ mark: {
+ type: String,
+ },
+ hoet: {
+ type: null,
+ },
+ markId: {
+ type: null,
+ },
+ showIn: {
+ type: null,
+ },
+ vieText: {
+ type: null,
+ },
+ boxHeight: {
+ type: Number,
+ },
+ xqBoxShow: {
+ type: null,
+ },
+ ipnonexbol: {
+ type: null,
+ },
+ activityid: {
+ type: null,
+ },
+ fromStock: {
+ // 云库存商品
+ type: String || Number,
+ },
+ enterAt: {
+ type: Object,
+ },
+ // 拼团store_id
+ store_id: {
+ type: null,
+ },
+ // 拼团
+ fight_groups: {
+ type: null,
+ },
+ mode: {
+ // 新零售 mode==2为代理套餐,购买数量不可修改 底部导航显示
+ type: null,
+ },
+ coid:{
+ // 默认规格id
+ type:null
+ },
+ debtId:{
+ // 置换亿栈债务人店铺id
+ type:null
+ }
+ },
+ data: {
+ goods_plugin: {}, //插件plugin的数据
+ goods_info: {}, //data全部的数据或者get_goods的数据
+ goodsInfo: "", //get_goods的数据或者goods_info的数据
+ gooddatas: "", // data全部的数据
+ // 应用市场开关
+ is_market: false,
+ marketShow: "",
+ getMarketPrice: "",
+ getprice: "",
+ language: "",
+ // xqBoxShow: false,
+ // 图片域名
+ imagUrl: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/",
+ // 这是参数弹窗
+ showCs: false,
+ // 这是tab
+ current: 1,
+ //动态模糊框
+ popupModeshow: true,
+ //限时购开关
+ isBuy: false,
+ isTime: false,
+ //限时购开始时间
+ beginTime: 0,
+ //显示购结束时间
+ endTime: 0,
+ //计算后的倒计时
+ countDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ //是否显示爱心值
+ isGoodsLove: false,
+ //爱心值 现金
+ goods_love_cash: 0,
+ //爱心值抵扣
+ goods_love_deduction: 0,
+ //爱心值title
+ goods_love_name: "",
+ //是否租赁商品
+ isRent: false,
+ isRight: false,
+ //立即购买
+ isRentBuyShow: false,
+ isGoods: false,
+ SUBMIT_ACTION_CART: "-1", //添加到购物车
+ SUBMIT_ACTION_BUY: "-2", //立即购买
+ submitActionTag: "",
+ optionsId: "", //选择后的 规格ID
+ popupSpecs: false,
+ goodsCount: 1,
+ optionsMaxCount: 1,
+ popupSpecs2: false, //无规格选择商品数量
+ popThumb: "",
+ popStock: 0,
+ popPrice: 0,
+ specsManage: [], //选择池 用于排序
+ goodsDescription: "",
+ //是否门店拼团
+ is_o2o: false,
+ favorite: false,
+ isAddCart: false,
+ activeName: 0,
+ //商品详情
+ currentTabIndex: "0",
+ first_content: "",
+ second_content: "",
+ third_content: [],
+ //标记防止重复加载
+ is_first_content: false,
+ is_second_content: false,
+ is_third_content: false,
+ // 初始评论页数
+ commentPage: 1,
+ // 是否有更多评论
+ noMoreComment: false,
+ //海报显隐
+ posterShow: false,
+ posterImg: "",
+ timestart: 0,
+ timeend: 0,
+ //限时购据开始时间开关
+ isBegTime: false,
+ begTimeStr: "",
+ //限时购据开始时间倒计时
+ beginDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ replyBol: false,
+ get_guidepage_info: {},
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ roomdataBol: false,
+ roomdata: [],
+ min_micro: [],
+ tabList: [], //微贴和直播
+ customer_open: true,
+ show1: false,
+ iPnoneBottomBol: false,
+
+ skuImages: [],
+ showSkuImages: false,
+ activeSkuIndex: 0,
+ activeSkuIndex_1: null, //用于关闭时保存点击预览前的序号,在预览关闭时重新设置预览起始位置
+ activeSkuIndex_2: null,
+
+ luck_draw: {}, //新抽奖抽奖luck-draw悬浮按钮
+ btnData: {
+ over_top: 500,
+ icon_url: "https://www.yunzmall.com//min_img/icon-fontclass-zhiding.png"
+ },
+ // 海报按钮
+ btnData2: {
+ over_top: 450,
+ icon_url: "https://www.yunzmall.com//min_img/bc_eweima.png"
+ },
+ showMoreParams: false, //商品参数展示
+
+ //打开分享弹窗
+ showSahre: false,
+ // 是否开启好物圈插件
+ wechatcircle_open: 0,
+ //运费说明
+ freight_pricing: {},
+ freightPricing_main_heigth: null,
+ freightPricing_main_heigth_var: null,
+ isfold: false, //运费说明展开收起状态
+ nocart: false, //是否显示购物车
+
+ broadcast_data: [], //飘窗订单数据
+ selfbuy_discount: null, //自购省数据
+ wx_video_link: 0, //视频号扩展插件
+ showVideoLink: false,
+ article_url: null, // 视频号扩展链接
+
+ integral: "积分",
+ //活动是否结束
+ isTimeEnd: false,
+ ispt: false,
+ cart_num: '', //购物车数量
+ // 会员中心按钮是否显示
+ is_member_enter:true,
+ },
+ observers:{
+ 'prop_goods_info':function(info){
+ this.setData({
+ is_member_enter:info.get_goods && info.get_goods.is_member_enter == 1?true:false
+ });
+ }
+ },
+ lifetimes: {
+ attached(e) {
+ // 海报设置 start
+ let selfPoster = ['grabGroup','group_goods','zhpGroup','groupwork'];
+ this.setData({
+ ispt: selfPoster.includes(this.data.goodsType) ? this.data.goodsType: false
+ });
+ if(this.properties.activityid){
+ this.setData({
+ activityId: this.properties.activityid
+ });
+ }
+ if (this.data.goodsType == "zhpGroup") {
+ this.setData({
+ activityId: this.properties.goodsId
+ });
+ }
+ // 海报设置 end
+
+ isclick = true;
+ this.getiPnoneBottom();
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ cart_num: app.globalData.cart_num
+ });
+ // 客服初始化
+ this.init();
+ if (this.data.producerId) {
+ this.getManage();
+ }
+ if (!this.data.producerId) {
+ // key: this.goods_type
+ // value: 对应调用的Methob
+ let pluginMethob = new Map([
+ ["group_goods", "groupGetData"],
+ ["grabGroup", "grabGroupData"],
+ ["retailGood", "retailPage"],
+ ["zhpGroup", "zhpGroupData"],
+ ["groupwork", "groupWorkData"]
+ ]);
+ let handleType = pluginMethob.has(this.data.goodsType)?pluginMethob.get(this.data.goodsType): 'getGoodsPage';
+
+ if (this.data.goodsType == "group_goods") {
+ this.setData({
+ activityid: this.properties.goodsId,
+ goodsInfo: {},
+ });
+ this.data.specsManage = [];
+ this.getCommentData();
+ }
+ this[handleType]();//调用对应的方法
+ }
+ // 赋值给foot组件
+ let footChild = this.selectComponent("#footChild");
+ if (this.data.fromStock == 1 || this.data.fromStock == 2) {
+ footChild.setData({
+ nocart: true,
+ });
+ }
+
+ wx.createSelectorQuery()
+ .in(this)
+ .select(".goodsdetail")
+ .boundingClientRect()
+ .exec((rect = []) => {
+ // 解决个别屏幕比较长时,goodsdetail元素的高度不够上拉【项目编号:#61673】
+ if (rect[0].height < wx.getSystemInfoSync().windowHeight) {
+ this.setData({
+ xqBoxShow: true,
+ });
+ }
+ });
+ },
+ detached() {
+ // 在组件实例被从页面节点树移除时执行
+ },
+ ready() {
+ let that = this;
+
+ // 获取原价和现价的自定义名称
+ let price_text = wx.getStorageSync("yz_basic_info").lang.goods && wx.getStorageSync("yz_basic_info").lang.goods.price ? wx.getStorageSync("yz_basic_info").lang.goods.price : "现价";
+ let market_price_text =
+ wx.getStorageSync("yz_basic_info").lang.goods && wx.getStorageSync("yz_basic_info").lang.goods.market_price ? wx.getStorageSync("yz_basic_info").lang.goods.market_price : "原价";
+
+ that.setData({
+ getMarketPrice: market_price_text,
+ getprice: price_text,
+ });
+
+ this.createSelectorQuery()
+ .select(".sift")
+ .boundingClientRect(function (rect) {
+ that.setData({
+ pjtop: rect.top - 80,
+ });
+ })
+ .exec();
+ this.createSelectorQuery()
+ .select(".foShowBox")
+ .boundingClientRect(function (rect) {
+ that.setData({
+ xqtop: rect.top - 100,
+ });
+ })
+ .exec();
+
+ const value = wx.getStorageSync("integral");
+ if (value) {
+ this.setData({
+ integral: value,
+ });
+ }
+ },
+ },
+ methods: {
+ contorBuyNow(){
+ if(this.data.goodsType == 'goods' || this.data.goodsType == 'supplierGoods'){
+ let foot = this.selectComponent('#footChild');
+ foot.buyNow('design');
+ }
+ },
+ getOptionsId(e){
+ if(this.data.goodsType == 'goods' || this.data.goodsType == 'supplierGoods'){
+ let arr = this.data.gooddatas.get_goods.has_many_options;
+ let self = this.selectComponent('#Tag');
+ let title ='';
+ for(let i = 0;i= now);
+ if (now >= beginTime) {
+ this.setData({
+ isTime: true,
+ });
+ //开启倒计时
+ this._countDown();
+ } else {
+ this.setData({
+ isTime: false,
+ isBegTime: true,
+ isTimeEnd: false,
+ begTimeStr: begin * 1000,
+ });
+ //开启距离开始倒计时
+ this.beginDown();
+ }
+ },
+ //倒计时
+ _countDown: function () {
+ let newTime = new Date().getTime();
+ let endTime = this.data.endTime;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt((time % (60 * 60 * 24)) / 3600);
+ let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
+ let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec),
+ };
+ } else {
+ //活动已结束,全部设置为'00'
+ obj = {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ };
+ }
+ this.setData({
+ countDownObj: obj,
+ });
+ if (endTime - newTime < 0) {
+ this.setData({
+ countDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ isTimeEnd: true,
+ });
+ } else {
+ setTimeout(this._countDown.bind(this), 1000);
+ }
+ },
+ //倒计时
+ beginDown: function () {
+ let newTime = new Date().getTime();
+ let endTime = this.data.begTimeStr;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt((time % (60 * 60 * 24)) / 3600);
+ let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
+ let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec),
+ };
+ } else {
+ //活动已结束,全部设置为'00'
+ this.setData({
+ isTime: true,
+ isBegTime: false,
+ isTimeEnd: true,
+ });
+ obj = {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ };
+ }
+ this.setData({
+ beginDownObj: obj,
+ });
+ if (endTime - newTime < 0) {
+ this.setData({
+ isTime: true,
+ isBegTime: false,
+ isTimeEnd: true,
+ });
+ this.setData({
+ beginDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ });
+ } else {
+ setTimeout(this.beginDown.bind(this), 1000);
+ }
+ },
+ //小于10的格式化函数
+ _timeFormat(param) {
+ //小于10的格式化函数
+ return param < 10 ? "0" + param : param;
+ },
+ //品牌跳转
+ toBrandDetail(e) {
+ var brandval = e.currentTarget.dataset.brandval;
+ wx.navigateTo({
+ url: "/packageB/member/goods/GoodsBrand/GoodsBrand?id=" + brandval,
+ });
+ },
+ // foot子组件接受方法
+ addCart(e) {
+ let buyNowChild = this.selectComponent("#buyNowChild");
+ buyNowChild.setData({
+ popupSpecs: e.detail.popupSpecs,
+ popupSpecs2: e.detail.popupSpecs2,
+ submitActionTag: e.detail.submitActionTag,
+ });
+ if (e.detail.popupModeshow || !e.detail.popupModeshow) {
+ this.setData({
+ popupModeshow: e.detail.popupModeshow,
+ });
+ }
+ if (e.detail.popupSpecs || !e.detail.popupSpecs) {
+ this.setData({
+ popupSpecs: e.detail.popupSpecs,
+ });
+ }
+ },
+ // 立即购买
+ buyNow() {
+ let foot = this.selectComponent("#footChild");
+ foot.buyNow();
+ },
+ // 新零售
+ buyNowRetail(e) {
+ let buyNowChild = this.selectComponent("#buyNowChild");
+ buyNowChild.setData({
+ popupSpecs: e.detail.popupSpecs,
+ popupSpecs2: e.detail.popupSpecs2,
+ submitActionTag: e.detail.submitActionTag,
+ isAward: e.detail.isAward ? e.detail.isAward : "",
+ buyType: e.detail.buyType,
+ });
+ if (e.detail.popupModeshow || !e.detail.popupModeshow) {
+ this.setData({
+ popupModeshow: e.detail.popupModeshow,
+ });
+ }
+ },
+ buyNowFoot(e) {
+ // if (this.data.gooddatas.join_status === false && this.data.goodsType === "group_goods"|| this.data.gooddatas.my_teaminfo.code==false) {
+ // wx.showToast({
+ // title: '今日该活动已达到参与次数',
+ // icon: "none",
+ // duration: 3000
+ // });
+ // return;
+ // }
+ console.log(this.data.gooddatas,this.data.goodsType,777);
+ if (this.data.goodsType === "group_goods"&&this.data.gooddatas.display_team.is_team_leader == 1 && this.data.gooddatas.display_team.leader_info.code == false) {
+ wx.showToast({
+ title: '活动已达到开团次数',
+ icon: "none",
+ duration: 3000
+ });
+ return;
+ }
+ let buyNowChild = this.selectComponent("#buyNowChild");
+ buyNowChild.setData({
+ popupSpecs: e.detail.popupSpecs,
+ popupSpecs2: e.detail.popupSpecs2,
+ submitActionTag: e.detail.submitActionTag,
+ isAward: e.detail.isAward ? e.detail.isAward : "",
+ submitTag:e.detail.submitTag
+ });
+ if (e.detail.popupModeshow || !e.detail.popupModeshow) {
+ this.setData({
+ popupModeshow: e.detail.popupModeshow,
+ });
+ }
+ },
+ //初始化弹窗view
+ initPopView() {
+ let buyNowChild = this.selectComponent("#buyNowChild");
+ if (this.data.goodsType == "group_goods" || this.data.goodsType == 'zhpGroup') {
+ // 拼团的初始化
+ buyNowChild.setData({
+ // 设置默认价格
+ popPrice: this.data.gooddatas.min_price + "起",
+ });
+ if (this.data.goodsInfo.has_option == 1) {
+ this.setData({
+ popStock: this.data.gooddatas.stock,
+ // 设置默认库存
+ goodsDescription: "选择",
+ });
+
+ let _optionArr = [];
+ this.data.goodsInfo.has_many_options.forEach((val, index) => {
+ let _thumb = val.thumb ? val.thumb : this.data.goodsInfo.thumb;
+ _optionArr.push(_thumb);
+ });
+ // 传给buyNow子组件的
+ buyNowChild.setData({
+ popStock: this.data.popStock,
+ goodsDescription: "选择",
+ skuImages: _optionArr,
+ });
+ } else {
+ let __optionArr2 = [];
+ __optionArr2.push(this.data.goodsInfo.thumb);
+ if (this.data.goodsType == 'group_goods') {
+ optionsMaxCount = this.data.gooddatas.has_many_options[0].buy_limit == 0 ? this.data.gooddatas.has_many_options[0].stock : this.data.gooddatas.has_many_options[0].buy_limit; // 当前购买限制数, 为0 时为无限制购买
+ } else {
+ optionsMaxCount = this.data.gooddatas.has_many_options[0].stock;
+ }
+ this.setData({
+ popStock: this.data.gooddatas.stock, // 当前库存
+ groupStock: this.data.gooddatas.has_many_options[0].stock, // 当前库存
+ skuImages: __optionArr2,
+ optionsMaxCount: optionsMaxCount
+ });
+ // 传给buyNow子组件的
+ buyNowChild.setData({
+ popStock: this.data.popStock,
+ groupStock: this.data.gooddatas.has_many_options[0].stock,
+ skuImages: __optionArr2,
+ });
+ }
+ } else if (this.data.goodsType == "grabGroup") {
+ // 抢团的初始化
+ try {
+ this.setData({
+ "gooddatas.has_option": this.data.gooddatas.has_many_specs.length > 0 ? 1 : 0,
+ });
+ } catch (error) {
+ this.setData({
+ "gooddatas.has_option": 0,
+ });
+ }
+
+ let _optionArr = [];
+ this.data.gooddatas.has_many_options.forEach((val, index) => {
+ let _thumb = val.thumb != null ? val.thumb : this.data.gooddatas.thumb;
+ _optionArr.push(_thumb);
+ });
+ this.setData({
+ _optionArr: _optionArr,
+ });
+
+ if (this.data.gooddatas.has_option == 1) {
+ this.setData({
+ popPrice: this.data.gooddatas.min_price + "-" + this.data.gooddatas.max_price, //设置默认价格
+ popThumb: this.data.gooddatas.thumb, //设置默认图片
+ popStock: this.data.gooddatas.stock, //设置默认库存
+ goodsDescription: "选择",
+ });
+ for (let i = 0; i < this.data.gooddatas.has_many_specs.length; i++) {
+ this.setData({
+ goodsDescription: this.data.goodsDescription + " " + this.data.gooddatas.has_many_specs[i].title,
+ });
+ }
+ } else {
+ this.setData({
+ popThumb: this.data.gooddatas.thumb, //设置默认图片
+ popStock: this.data.gooddatas.stock, //设置默认库存
+ popPrice: this.data.gooddatas.price, //设置默认价格
+ goodsDescription: "",
+ optionsMaxCount: this.data.gooddatas.stock,
+ });
+ }
+ } else {
+ let popPrice = "";
+ if (this.data.goodsInfo.has_option == 1) {
+ if (this.data.goods_plugin.point_goods) {
+ popPrice = this.data.goods_plugin.point_goods.min_point + "-" + this.data.goods_plugin.point_goods.max_point; //设置默认价格
+ } else {
+ popPrice = this.data.goodsInfo.min_price + "-" + this.data.goodsInfo.max_price; //设置默认价格
+ }
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.setData({
+ goodsDescription: this.data.goodsDescription + " " + this.data.goodsInfo.has_many_specs[i].title,
+ });
+ }
+ let _optionArr = [];
+ this.data.goodsInfo.has_many_options.forEach((val, index) => {
+ let _thumb = val.thumb != "" ? val.thumb : this.data.goodsInfo.thumb;
+ _optionArr.push(_thumb);
+ });
+ // 传给buyNow子组件的
+ buyNowChild.setData({
+ popStock: this.data.goodsInfo.stock,
+ popThumb: this.data.goodsInfo.thumb,
+ popPrice: popPrice,
+ goodsDescription: "选择",
+ optionsMaxCount: this.data.goodsInfo.stock,
+ skuImages: _optionArr,
+ });
+ } else {
+ let __optionArr2 = [];
+ __optionArr2.push(this.data.goodsInfo.thumb);
+
+ if (this.data.goods_plugin.point_goods) {
+ popPrice = this.data.goods_plugin.point_goods.point; //设置默认价格
+ } else {
+ popPrice = this.data.goodsInfo.price; //设置默认价格
+ }
+ // 传给buyNow子组件的
+ buyNowChild.setData({
+ popStock: this.data.goodsInfo.stock,
+ popThumb: this.data.goodsInfo.thumb,
+ popPrice: popPrice,
+ goodsDescription: "",
+ optionsMaxCount: this.data.goodsInfo.stock,
+ skuImages: __optionArr2,
+ });
+ }
+ }
+ },
+ // 关闭购买弹窗
+ showSkuImages_Methob_child(e) {
+ this.setData({
+ popupModeshow: e.detail,
+ });
+ },
+ //租赁立即购买
+ toRentBuy(e) {
+ let immedid = e.currentTarget.dataset.immedid;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + immedid,
+ });
+ },
+ //设置选择后的数据
+ setDataByTabIndex() {
+ if (this.data.currentTabIndex == "0" && !this.data.is_first_content) {
+ this.data.is_first_content = true;
+ this.setData({
+ first_content: this.data.goodsInfo.content,
+ });
+ // let article = this.data.first_content;
+ /**
+ * WxParse.wxParse(bindName , type, data, target,imagePadding)
+ * 1.bindName绑定的数据名(必填)
+ * 2.type可以为html或者md(必填)
+ * 3.data为传入的具体数据(必填)
+ * 4.target为Page对象,一般为this(必填)
+ * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
+ */
+ // try {
+ // if (article.indexOf("") <= -1) {
+ // WxParse.wxParse("article", "html", article, this);
+ // }
+ // } catch (e) {
+ // //TODO handle the exception
+ // }
+ } else if (this.data.currentTabIndex == "1" && !this.data.is_second_content) {
+ this.setData({
+ is_second_content: true,
+ second_content: this.data.goodsInfo.has_many_params,
+ });
+ } else if (this.data.currentTabIndex == "2" && !this.data.is_third_content) {
+ this.setData({
+ is_third_content: true,
+ });
+ //获取评论
+ this.getCommentData();
+ }
+ },
+ //获取评论数据
+ getCommentData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("goods.comment.get-comment");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ urlStr += "&page=" + this.data.commentPage;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.data.length < 20) {
+ that.setData({
+ noMoreComment: true,
+ });
+ }
+ that.setData({
+ commentPage: that.data.commentPage + 1,
+ });
+ if (!that.data.third_content) {
+ that.setData({
+ third_content: [],
+ });
+ }
+ that.setData({
+ third_content: [...that.data.third_content, ...res.data.data],
+ });
+
+ if (app._isTextEmpty(that.data.third_content)) {
+ console.log("空没评论");
+ that.setData({
+ thirKong: false,
+ });
+ } else {
+ console.log("不空");
+ that.setData({
+ thirKong: true,
+ });
+ }
+ } else {
+ that.setData({
+ is_third_content: false,
+ });
+ }
+ },
+ fail: function (res) {
+ that.setData({
+ is_third_content: false,
+ });
+ console.log(res);
+ },
+ });
+ },
+ hidePopView2() {
+ this.setData({
+ popupSpecs2: false,
+ popupModeshow: true,
+ });
+ },
+ gotoindex() {
+ wx.navigateTo({
+ url: '/packageG/index/index'
+ });
+ },
+ //海报生成
+ postShow(e) {
+ console.log(e);
+ this.setData({
+ posterShow: true,
+ showSahre: false,
+ });
+ },
+ posterClose() {
+ this.setData({
+ posterShow: false,
+ });
+ },
+ //点击开始时的时间
+ timestart: function (e) {
+ var _this = this;
+ _this.setData({
+ timestart: e.timeStamp,
+ });
+ },
+
+ //点击结束的时间
+ timeend: function (e) {
+ var _this = this;
+ _this.setData({
+ timeend: e.timeStamp,
+ });
+ },
+ saveImg() {
+ wx.getSetting({
+ success(res) {
+ if (!res.authSetting["scope.writePhotosAlbum"]) {
+ wx.authorize({
+ scope: "scope.writePhotosAlbum",
+ success() {
+ console.log("授权成功");
+ },
+ });
+ }
+ },
+ });
+ var imgSrc = this.data.posterImg.image_url;
+ wx.downloadFile({
+ url: imgSrc,
+ success: function (res) {
+ console.log(res);
+ //图片保存到本地
+ wx.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success: function (data) {
+ wx.showToast({
+ title: "保存成功",
+ icon: "none",
+ duration: 3000,
+ });
+ },
+ fail: function (err) {
+ console.log(err);
+ if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
+ console.log("当初用户拒绝,再次发起授权");
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting["scope.writePhotosAlbum"]) {
+ wx.showToast({
+ icon: "none",
+ title: "获取权限成功,再次长按保存图片",
+ duration: 3000,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: "获取权限失败,保存图片需要用户授权",
+ duration: 3000,
+ });
+ }
+ },
+ });
+ }
+ },
+ complete(res) {
+ console.log(res);
+ },
+ });
+ },
+ });
+ },
+ gotoMember() {
+ wx.reLaunch({
+ url: "/packageG/member_v2/member_v2",
+ });
+ },
+ //直播间跳转
+ gopage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 1) {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/livePage/livePage?id=" + id + "&playerType=live",
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/livePage/livePage?id=" + id + "&playerType=video" + "&backid=" + backid,
+ });
+ } else if (status == 3) {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/foreshow/foreshow?id=" + id,
+ });
+ }
+ },
+ // 获取直播间列表
+ getLiveList() {
+ let urlStr = app.getNetAddresss("goods.goods.get-room");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: this.data.page,
+ goods_id: this.data.goodsId,
+ },
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let list = [];
+ for(let i=0;i 0) {
+ this.setData({
+ tabList: this.data.tabList.concat([{id: 2,name: '直播间'}])
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 3000,
+ });
+ }
+ },
+ fail: (res)=> {
+ console.log(res.msg);
+ },
+ });
+ },
+ _getMoreData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("goods.goods.get-room");
+ that.data.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: this.data.page,
+ goods_id: this.data.goodsId,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ roomdata: that.data.roomdata.concat(res.data.data),
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ // 获取直播间列表end
+ reachBottom() {
+ if (this.data.roomdataBol) {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log("没有更多数据");
+ }
+ }
+ },
+ // 厂家商品请求
+ getManage() {
+ let that = this;
+ let footChild = this.selectComponent("#footChild");
+ let buyNowChild = this.selectComponent("#buyNowChild");
+ let urlStr = app.getNetAddresss("plugin.producer.frontend.goods.getGoodsPage");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.goodsId,
+ producer_id: this.data.producerId,
+ mark: this.data.mark,
+ mark_id: this.data.markId,
+ url: "",
+ },
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.wechatcircle_open && res.data.wechatcircle_open == 1) {
+ that.setData({
+ wechatcircle_open: 1,
+ });
+ }
+ that.getData(res.data.get_goods);
+
+ that.setData({
+ broadcast_data: res.data.broadcast_data,
+ favorite: res.data.is_favorite ? (res.data.is_favorite.status == 1 ? true : false) : false,
+ customer_open: res.data.customer_open == "1" ? true : false,
+ service_QRcode: res.data.service_QRcode,
+ service_mobile: res.data.service_mobile,
+ freight_pricing: res.data.plugin && res.data.plugin.freight_pricing ? res.data.plugin.freight_pricing : {},
+ producer_info: res.data.producer_info,
+ goodsType: res.data.goods_type.goods_type,
+ goods_info: res.data.get_goods,
+ gooddatas: res.data,
+ });
+ // foot子组件赋值
+ footChild.setData({
+ goodsInfo: that.data.goods_info,
+ service_QRcode: res.data.service_QRcode,
+ service_mobile: res.data.service_mobile,
+ customer_open: res.data.customer_open,
+ });
+ // buynow子组件赋值
+ buyNowChild.setData({
+ gooddatas: that.data.prop_goods_info.plugin || {},
+ });
+ // console.log(that.data.prop_goods_info);
+ if (res.data.plugin && res.data.plugin.wx_video_link) {
+ that.setData({
+ wx_video_link: res.data.plugin.wx_video_link,
+ });
+ }
+
+ //运费说明
+ let Shipping = that.data.freight_pricing.content;
+ try {
+ if (Shipping && Shipping.indexOf("") <= -1) {
+ WxParse.wxParse("Shipping", "html", Shipping, that);
+ }
+ } catch (e) {
+ //TODO handle the exception
+ }
+
+ if (res.data.get_guidepage_info) {
+ that.setData({
+ get_guidepage_info: res.data.get_guidepage_info,
+ });
+ }
+ } else {
+ wx.showModal({
+ title: "提示",
+ content: res.msg,
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.navigateBack({
+ delta: 2,
+ fail() {
+ wx.reLaunch({
+ url: '/packageG/index/index',
+ });
+ },
+ });
+ }
+ },
+ });
+ // 赋值给foot组件
+ let footChild = this.selectComponent("#footChild");
+ footChild.setData({
+ isGoods: false,
+ });
+ that.setData({
+ isGoods: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+
+ retailPage() {
+ let data = this.data.prop_goods_info;
+ this.getData(data);
+ this.setData({
+ goods_info: data,
+ goods_plugin: data.plugin || {},
+ gooddatas: data,
+ });
+ },
+ getYZSupplier() {
+ let urlStr = app.getNetAddresss("plugin.yz-supply.frontend.goods.option");
+ //芸众供应链的商品 根据用户默认地址判断是否有库存可购买,如果没库存不满足购买条件可提示或下单按钮灰色。
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ goods_id: this.data.goodsId,
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ let options_address = res.data;
+ this.getArrEqual(options_address, this.data.goodsInfo.has_many_options);
+ }
+ },
+ });
+ },
+ getJHSupplier() {
+ let urlStr = app.getNetAddresss("plugin.jd-supply.frontend.goods.option");
+ //聚合供应链的商品 根据用户默认地址判断是否有库存可购买,如果没库存不满足购买条件可提示或下单按钮灰色。
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ goods_id: this.data.goodsId,
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ let options_address = res.data;
+ this.getArrEqual(options_address, this.data.goodsInfo.has_many_options);
+ }
+ },
+ });
+ },
+ getArrEqual(arr1, arr2) {
+ //聚合供应链的商品,plugin.jd-supply.frontend.goods.option接口返回为1的才去取库存,返回为0的就库存直接是0
+ for (let i = 0; i < arr2.length; i++) {
+ if (arr1[arr2[i].id] == 0) {
+ this.data.goodsInfo.has_many_options[i].stock = 0;
+ }
+ }
+ this.data.goodsInfo.stock = this.data.goodsInfo.has_many_options[0].stock; //设置库存
+ this.setData({
+ goodsInfo: this.data.goodsInfo
+ });
+ },
+ handleMicro(index, maxLength, micro_communities) {
+ let img_list = [];
+ for(let i=0;i 0) {
+ this.data.tabList.push({id: 1,name: '关联微贴'});
+ }
+
+ this.setData({
+ min_micro: list,
+ tabList: this.data.tabList
+ });
+ }
+ if (data.plugin.is_room && data.plugin.is_room == 1) {
+ this.getLiveList();
+ }
+ if (data.plugin.wechatcircle_open && data.plugin.wechatcircle_open == 1) {
+ this.setData({
+ wechatcircle_open: 1,
+ });
+ }
+
+ }
+
+ this.setData({
+ broadcast_data: data.plugin.broadcast_data?data.plugin.broadcast_data:[],
+ favorite: data.is_favorite ? (data.is_favorite.status == 1 ? true : false) : false,
+ freight_pricing: data.plugin.freight_pricing ? data.plugin.freight_pricing : {},
+ luck_draw: data.plugin.luck_draw ? data.plugin.luck_draw : {},
+ goods_plugin: data.plugin || {},
+ goods_info: data,
+ gooddatas: data,
+ });
+ // foot子组件赋值
+ footChild.setData({
+ goods_info: data, //酒店需要用到最外层的数据
+ goodsInfo: data.get_goods,
+ service_QRcode: data.customer_service.service_QRcode,
+ service_mobile: data.customer_service.service_mobile,
+ cservice: data.customer_service.cservice,
+ customer_open: data.customer_service.customer_open,
+ });
+ // buynow子组件赋值
+ buyNowChild.setData({
+ goods_plugin: data.plugin || {},
+ });
+ this.getData(data.get_goods);
+ if (data.plugin && data.plugin.wx_video_link) {
+ this.setData({
+ wx_video_link: data.plugin.wx_video_link,
+ });
+ }
+ //运费说明
+ let Shipping = this.data.freight_pricing.content;
+ try {
+ if (Shipping && Shipping.indexOf("") <= -1) {
+ WxParse.wxParse("Shipping", "html", Shipping, this);
+ }
+ } catch (e) {
+ console.log(e);
+ }
+
+ if (data.plugin.get_guidepage_info) {
+ this.setData({
+ get_guidepage_info: data.plugin.get_guidepage_info,
+ });
+ }
+
+ // 租赁商品
+ if (!app._isTextEmpty(data.plugin.lease_toy)) {
+ this.setData({
+ isRent: data.plugin.lease_toy.is_lease == 1 ? true : false,
+ isRentBuyShow: data.plugin.lease_toy.immed_goods_id == 0 ? false : true,
+ });
+ if (!app._isTextEmpty(data.plugin.lease_toy.is_rights)) {
+ this.setData({
+ isRight: data.plugin.lease_toy.is_rights == 1 ? true : false,
+ });
+ }
+ }
+
+ // 自购省
+ if (data.plugin.selfbuy_discount) {
+ this.setData({
+ selfbuy_discount: data.plugin.selfbuy_discount,
+ });
+ }
+
+ if(data.get_goods.plugin_id == 44) {
+ this.getJHSupplier();
+ }
+
+ if(data.get_goods.plugin_id == 120) {
+ this.getYZSupplier();
+ }
+ },
+ //获取数据
+ getData(data) {
+ // console.log(data,'get_goods数据')
+ // get_goods数据
+ if (Number(data.market_price) == 0) {
+ data.notMarket_price = 0;
+ } else {
+ data.notMarket_price = 1;
+ }
+ this.setData({
+ goodsInfo: data,
+ xqBoxShow:data.detail_show?true:false
+ });
+ // 分享的自定义图片
+ wx.setStorageSync("GoddsShareImg", data.thumb);
+ if (this.data.goodsInfo.member_discount) {
+ if (app._isTextEmpty(this.data.goodsInfo.member_discount.discount)) {
+ this.setData({
+ openVip: 1,
+ });
+ } else {
+ this.setData({
+ openVip: this.data.goodsInfo.member_discount.discount,
+ });
+ }
+ }
+
+ this.initPopView(); //初始化弹窗view
+ this.setDataByTabIndex(); //设置商品详情
+ // this.setIsLove(); 判断是否有爱心值 移到priceTitleRepertorySales组件 // this.setIsAddCart(); 判断是否能加入购物车 移到foot组件
+ // 赋值给foot组件
+ let footChild = this.selectComponent("#footChild");
+ footChild.setData({
+ isGoods: true,
+ });
+ this.setData({
+ isGoods: true,
+ });
+ //限时购
+ if (!app._isTextEmpty(data.has_one_goods_limit_buy)) {
+ this.setData({
+ isBuy: data.has_one_goods_limit_buy.status == 1 ? true : false,
+ });
+ footChild.setData({
+ isBuy: data.has_one_goods_limit_buy.status == 1 ? true : false,
+ });
+ this.data.beginTime = data.has_one_goods_limit_buy.start_time;
+ this.data.endTime = data.has_one_goods_limit_buy.end_time * 1000;
+ //判断倒计时模块是否开启
+ this._timeCompare(this.data.beginTime);
+ }
+ },
+ // 运费说明
+ changeFold() {
+ let _isfold = !this.data.isfold;
+ let _heigth = this.data.freightPricing_main_heigth_var;
+ let that = this;
+ if (!this.data.isfold) {
+ if (!_heigth) {
+ this.createSelectorQuery()
+ .select(".freightPricing_main_heigth")
+ .boundingClientRect(function (rect) {
+ _heigth = rect.height;
+ that.setData({
+ freightPricing_main_heigth_var: _heigth * 2,
+ freightPricing_main_heigth: _heigth * 2,
+ isfold: _isfold,
+ });
+ })
+ .exec();
+ } else {
+ this.setData({
+ freightPricing_main_heigth: _heigth,
+ isfold: _isfold,
+ });
+ }
+ } else {
+ this.setData({
+ freightPricing_main_heigth: 80,
+ isfold: _isfold,
+ });
+ }
+ },
+ // 视频拓展链接
+ getVideoLink() {
+ wx.showLoading({
+ title: "正在生成中...",
+ });
+ // 生成视频号链接
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.wx-video-link.frontend.index.index");
+ urlStr += "&id=" + this.properties.goodsId;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.article_url == "" || res.data.article_url == null || res.data.article_url == undefined) {
+ setTimeout(() => {
+ that.getVideoLink();
+ }, 3000);
+ } else {
+ that.setData({
+ article_url: res.data.article_url,
+ showVideoLink: true,
+ showSahre: false,
+ });
+ setTimeout(function () {
+ wx.hideLoading();
+ }, 800);
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 3000,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ // 复制链接
+ onCopy() {
+ wx.setClipboardData({
+ data: this.data.article_url,
+ success(res) {
+ wx.showToast({
+ title: "复制成功",
+ icon: "none",
+ duration: 3000,
+ });
+ },
+ fail() {
+ wx.showToast({
+ title: "复制失败",
+ icon: "none",
+ duration: 3000,
+ });
+ },
+ });
+ this.setData({
+ showVideoLink: false,
+ article_url: "",
+ });
+ },
+ // ********************************* 拼团 ******************************************
+ // 获取数据
+ groupGetData() {
+ let footChild = this.selectComponent("#footChild");
+ let buyNowChild = this.selectComponent("#buyNowChild");
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.controllers.fight-groups-goods.get-goods");
+ let storeId = this.properties.store_id;
+ if (storeId && storeId != 0 && storeId != "undefined") {
+ this.setData({
+ is_o2o: true,
+ });
+ footChild.setData({
+ is_o2o: true,
+ });
+ urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.frontend-fight-groups-goods.get-goods");
+ urlStr += "&store_id=" + storeId;
+ }
+ if (this.data.fight_groups != "undefined") {
+ urlStr += "&fight_groups_goods_id=" + this.data.fight_groups;
+ }
+ urlStr += "&id=" + this.data.activityid;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ res.data.lottery_desc = res.data.lottery_desc.split("\n");
+ if (res.data.goods_info.favorable_rate) {
+ this.setData({
+ thirKong: true,
+ third_content: res.data.goods_info.get_comment.data,
+ });
+ } else {
+ this.setData({
+ thirKong: false,
+ noMoreComment: true,
+ third_content: [],
+ });
+ }
+ this.setData({
+ gooddatas: res.data,
+ goodsInfo: res.data.goods_info,
+ goods_info: res.data.goods_info,
+ group_price: res.data.min_price,
+ popStock: res.data.goods_info.stock,
+ goodsId: res.data.goods_id,
+ // 时间
+ end_time: res.data.end_time,
+ start_time: res.data.start_time,
+ // 0没有珍珠,1有珍珠
+ is_pearl: res.data.is_pearl,
+ // 消费积分插件是否开启0没有珍珠,1有珍珠
+ is_integral: res.data.is_integral,
+ // 参与人数
+ member_count: res.data.member_count,
+ // 活动当前轮次
+ present_bout: res.data.present_bout,
+ // 当前会员拼中次数
+ my_win_count: res.data.my_win_count,
+ activityId: res.data.id,
+ });
+ footChild.setData({
+ group_price: res.data.min_price,
+ gooddatas: res.data,
+ });
+ buyNowChild.setData({
+ gooddatas: res.data,
+ });
+ // 分享的自定义图片
+ wx.setStorageSync("GoddsShareImg", res.data.goods_info.thumb);
+ if (app._isTextEmpty(this.data.group_price)) {
+ this.setData({
+ group_price: "",
+ });
+ }
+
+ if (!app._isTextEmpty(res.data.display_team.end_time)) {
+ this.setData({
+ end_time_team: res.data.display_team.end_time, // 队伍时间
+ });
+ }
+ if (!app._isTextEmpty(this.data.end_time)) {
+ this.setData({
+ isendTime: true,
+ });
+ } else {
+ this.setData({
+ isendTime: false,
+ });
+ }
+
+ this.setData({
+ first_content: res.data.goods_info.content,
+ });
+
+ // let article = this.data.first_content;
+ // try {
+ // if (article.indexOf("") <= -1) {
+ // WxParse.wxParse("article", "html", article, this);
+ // }
+ // } catch (e) {
+ // //TODO handle the exception
+ // }
+ // WxParse.wxParse('article', 'html', article, this)
+ let data = this.data.gooddatas.has_many_level;
+ data.map((item, index) => {
+ if (index == 0) {
+ item.bool = true;
+ } else {
+ item.bool = false;
+ }
+ });
+ this.setData({
+ has_many_level: data,
+ });
+ this.initPopView();
+ this.triggerEvent("parentEvent", [res.data.title]);
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 3000,
+ });
+ }
+ },
+ });
+ },
+
+ // 显示去参团列表弹层
+ showGroupMoreChild() {
+ if (this.data.gooddatas.join_status === false && this.data.goodsType === "group_goods" || this.data.gooddatas.my_teaminfo.code==false ) {
+ wx.showToast({
+ title: '今日该活动已达到参与次数',
+ icon: "none",
+ duration: 3000
+ });
+ return;
+ }
+ let selfChild = this.selectComponent("#Tag");
+ selfChild.showGroupMore();
+ },
+
+ // 控制海报显示
+ selfShowPop(e) {
+ let status = e.detail;
+ let footChild = this.selectComponent("#footChild");
+ footChild.setData({
+ show1: status,
+ service_QRcode: this.data.gooddatas.store.service_QRcode,
+ service_mobile: this.data.gooddatas.store.service_mobile,
+ customer_open:1,
+ cservice: this.data.gooddatas.store.cservice,
+ });
+ },
+ // ********************************* 拼团 end ******************************************
+
+ // ********************************* 抢团 start ******************************************
+ grabGroupData() {
+ let that = this;
+ let urlStr = null;
+ let tagChild = this.selectComponent("#Tag");
+ urlStr = app.getNetAddresss("plugin.snatch-regiment.api.index.getSnatchData");
+ urlStr += "&goods_id=" + this.data.goodsId + "&art=goodsDetail";
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let thumb = [];
+ let team = res.data.goodsDetail.team;
+ tagChild.setData({
+ teamLis: team,
+ });
+ let length = Math.ceil(team.length / 2);
+ let splitTeam = [];
+ if (team.length > 0) {
+ for (let index = 0; index < length; index++) {
+ splitTeam.push(team.splice(0, 2));
+ }
+ }
+ thumb.push(res.data.goodsDetail.goods.thumb);
+ that.setData({
+ gooddatas: res.data.goodsDetail.goods,
+ popStock: res.data.goodsDetail.goods.stock,
+ team: splitTeam,
+ third_content: res.data.goodsDetail.comment.data,
+ "gooddatas.thumb": thumb,
+ "gooddatas.price": res.data.goodsDetail.goods.price_num,
+ first_content: res.data.goodsDetail.goods.content,
+ end_time: res.data.goodsDetail.goods.end_time * 1000,
+ start_time: res.data.goodsDetail.goods.start_time,
+ leader_partake: res.data.goodsDetail.leader_partake,
+ leader_not_join_invalid: res.data.goodsDetail.leader_not_join_invalid||0,
+ activityId: res.data.goodsDetail.goods.activity_id,
+ });
+ that.initPopView(); //初始化弹窗view
+ that._timeCompare(res.data.goodsDetail.goods.start_time);
+ // 改成组件需要的数据字段 foot buyNow
+ that.setData({
+ goodsInfo: that.data.gooddatas,
+ });
+ // 传给buyNow子组件的
+ let buyNowChild = this.selectComponent("#buyNowChild");
+ buyNowChild.setData({
+ popStock: res.data.goodsDetail.goods.stock,
+ popThumb: this.data.popThumb,
+ popPrice: this.data.popPrice,
+ goodsDescription: this.data.goodsDescription,
+ optionsMaxCount: this.data.optionsMaxCount,
+ activityId: this.data.activityId,
+ skuImages: this.data._optionArr,
+ });
+ // 分享的自定义图片
+ wx.setStorageSync("GoddsShareImg", thumb[0]);
+ that.triggerEvent("parentEvent", [that.data.gooddatas.title]);
+ let start_time = new Date().getTime() / 1000;
+ that.setData({
+ nowTime: start_time,
+ });
+ let _team = that.data.team;
+ for (let i = _team.length - 1; i >= 0; i--) {
+ if (_team[i].end_time <= start_time) {
+ _team.splice(i, 1); //删除下标为i的元素
+ }
+ }
+ that.setData({
+ team: _team,
+ });
+ // let article = that.data.first_content;
+ // try {
+ // if (article.indexOf("") <= -1) {
+ // WxParse.wxParse("article", "html", article, this);
+ // }
+ // } catch (e) {
+ // //TODO handle the exception
+ // }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 3000,
+ });
+ }
+ },
+ });
+ },
+
+ // ********************************* 抢团 end ******************************************
+ // *********************************** 拼团二开 珍惠拼 /********************************** */
+ zhpGroupData() {
+ let urlStr = null;
+ let that = this;
+ let footChild = this.selectComponent("#footChild");
+ let buyNowChild = this.selectComponent("#buyNowChild");
+ urlStr = app.getNetAddresss("plugin.zhp-group-lottery.frontend.goods.get-goods");
+ urlStr += "&id=" + this.data.goodsId;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ gooddatas: res.data,
+ goodsInfo: res.data.get_goods,
+ goods_info: res.data.get_goods,
+ group_price: res.data.min_price,
+ popStock: res.data.get_goods.stock,
+ goodsId: res.data.goods_id,
+ // 时间
+ end_time: res.data.end_time,
+ start_time: res.data.start_time,
+ first_content: res.data.get_goods.content
+ });
+ that.initPopView(); //初始化弹窗view
+ footChild.setData({
+ group_price: res.data.min_price,
+ gooddatas: res.data,
+ });
+ buyNowChild.setData({
+ gooddatas: res.data,
+ });
+ this.triggerEvent("parentEvent", ['', '']);
+ wx.setNavigationBarTitle({
+ title: '拼团活动详情',
+ });
+ // let article = this.data.first_content;
+ // try {
+ // if (article.indexOf("") <= -1) {
+ // WxParse.wxParse("article", "html", article, this);
+ // }
+ // } catch (e) {
+ // //TODO handle the exception
+ // }
+ // 分享的自定义图片
+ wx.setStorageSync("GoddsShareImg", res.data.get_goods.thumb);
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ this.triggerEvent("parentEvent", [res.data.title, res.data.share_content]);
+ that._timeCompare(res.data.start_time);
+ this.zhpBroadcast();
+ } else {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 3000,
+ });
+ }
+ },
+ });
+ },
+ // 飘窗
+ zhpBroadcast() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.zhp-group-lottery.frontend.goods.get-window-list");
+ wx.showLoading({
+ title: '加载中',
+ });
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ activity_id: this.data.activityId
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ res.data.goodsId = this.data.goodsId;
+ res.data.integral_name = that.data.gooddatas.love_plugin_name;
+ that.setData({
+ broadcast_data: res.data
+ });
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ } else {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 3000,
+ });
+ }
+ },
+ });
+ },
+ // *********************************** 0.1元拼二开 group-work /********************************** */
+ groupWorkData() {
+ let urlStr = null;
+ urlStr = app.getNetAddresss("plugin.group-work.frontend.modules.goods.controllers.detail.index");
+ urlStr += "&record_id=" + this.properties.activityid;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ gooddatas: res.data,
+ goodsInfo: res.data.goods_info,
+ goods_info: res.data.goods_info,
+ popStock: res.data.stock,
+ goodsId: res.data.goods_id,
+ group_price: res.data.min_price,
+ // 时间
+ isendTime: true,
+ end_time: res.data.end_time,
+ start_time: res.data.start_time,
+ first_content: res.data.goods_info.content,
+ customer_open: res.data.customer_service.customer_open == "1" ? true : false,
+ service_QRcode: res.data.customer_service.service_QRcode,
+ service_mobile: res.data.customer_service.service_mobile,
+ });
+ let footChild = this.selectComponent("#footChild");
+ // foot子组件赋值
+ footChild.setData({
+ service_QRcode: res.data.customer_service.service_QRcode,
+ service_mobile: res.data.customer_service.service_mobile,
+ cservice: res.data.customer_service.cservice,
+ customer_open: res.data.customer_service.customer_open,
+ });
+ this.initPopView(); //初始化弹窗view
+ wx.setNavigationBarTitle({
+ title: '拼团活动详情',
+ });
+ // let article = this.data.first_content;
+ // try {
+ // if (article.indexOf("") <= -1) {
+ // WxParse.wxParse("article", "html", article, this);
+ // }
+ // } catch (e) {
+ // //TODO handle the exception
+ // }
+ // 分享的自定义图片
+ wx.setStorageSync("GoddsShareImg", res.data.goods_info.thumb);
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ this.triggerEvent("parentEvent", [res.data.share_title, res.data.share_content]);
+ this._timeCompare(res.data.start_time);
+ } else {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 3000,
+ });
+ }
+ },
+ });
+ },
+ pushCart(e){
+ let item = e.currentTarget.dataset.item;
+ let urlStr = app.getNetAddresss("member.member-cart.store");
+ wx.showLoading({
+ title: '加载中',
+ });
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ goods_id: item.goods_id,
+ total:'1',
+ option_id:item.goods_option_id
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ },
+ });
+ },
+ },
+});
diff --git a/packageA/mycomponent/goods_new/goods_new.json b/packageA/mycomponent/goods_new/goods_new.json
new file mode 100644
index 0000000..a641f7d
--- /dev/null
+++ b/packageA/mycomponent/goods_new/goods_new.json
@@ -0,0 +1,33 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-rate": "../../../dist/rate/index",
+ "van-icon": "../../../dist/icon/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-cell": "../../../dist/cell/index",
+ "goods-qrcode":"/mycomponent/temp/goods_qrcode/goods_qrcode",
+ "selfParameterServicetag":"../goodsComponent/selfParameterServicetag/selfParameterServicetag",
+ "goodFoot":"../goodsComponent/foot/foot",
+ "buyNow":"../goodsComponent/buyNow/buyNow",
+ "timeLimit":"../goodsComponent/timeLimit/timeLimit",
+ "priceTitleRepertorySales":"../goodsComponent/priceTitleRepertorySales/priceTitleRepertorySales",
+ "fixedPrice": "../goodsComponent/plugin/fixedPrice/fixedPrice",
+ "backup":"../goodsComponent/backup/backup",
+ "appointment": "../goodsComponent/plugin/appointment/appointment",
+ "comment":"../goodsComponent/plugin/comment/comment",
+ "producer": "../goodsComponent/plugin/producer/producer",
+ "goodSwipe": "../goodsComponent/plugin/goodSwipe/goodSwipe",
+ "supplierModel": "../goodsComponent/plugin/supplierModel/supplierModel",
+ "guessLike": "../goodsComponent/plugin/guessLike/guessLike",
+ "project-card-module":"../goodsComponent/plugin/projectCardModule/projectCardModule",
+ "zhplist":"../goodsComponent/zhpGroup/zhplist",
+ "invitationAndLive":"../goodsComponent/plugin/invitationAndLive/invitationAndLive",
+ "group-work":"../goodsComponent/plugin/groupWork/groupWork",
+ "mp-html":"/mycomponent/mp-html/index",
+ "timeAppointment":"../goodsComponent/plugin/timeAppointment/timeAppointment"
+ }
+}
diff --git a/packageA/mycomponent/goods_new/goods_new.wxml b/packageA/mycomponent/goods_new/goods_new.wxml
new file mode 100644
index 0000000..3fa2059
--- /dev/null
+++ b/packageA/mycomponent/goods_new/goods_new.wxml
@@ -0,0 +1,479 @@
+
+
+
+
+
+
+
+ {{goodsType == 'reserve_simple_goods' ? '服务' : '商品'}}
+ 评论
+ 详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{goods_plugin.group_code.code_title}}邀请您添加专属福利群!
+ {{goods_plugin.group_code.citation_copy}}
+
+ 去加群
+
+
+
+
+
+
+
+ {{ freight_pricing.freight_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ isfold ? '收起' : '展开' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{goodsInfo.has_one_brand.name}}
+ 品牌介绍
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 商品参数
+
+
+
+ {{ item.title }}
+ {{ item.value }}
+
+
+
+
+ {{ item.title }}
+ {{ item.value }}
+
+
+
+ {{!showMoreParams ? '展开' : '收起'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{datas.content}}
+
+
+
+ 购物车+
+
+
+
+
+
+
+
+
+
+
+
+ {{goods_plugin.paid_content.title}}
+
+
+ {{goods_plugin.paid_content.remind}}
+
+
+
+
+
+
+
+
+
+ 上拉查看商品详情
+
+
+
+ 商品详情
+
+
+ {{first_content==''&&article.nodes==''?'暂无':''}}
+
+
+ {{goods_plugin.paid_content.title}}
+
+
+ {{goods_plugin.paid_content.remind}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{goodsInfo.price_desc_title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 立即
+ 购买
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{get_guidepage_info.alert_title.alert_title?get_guidepage_info.alert_title.alert_title:''}}
+
+
+ {{get_guidepage_info.alert_sidehead.alert_sidehead?get_guidepage_info.alert_sidehead.alert_sidehead:''}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 分享
+
+
+
+
+
+
+
+ 分享好友
+
+
+
+
+
+
+
+
+
+
+ 分享海报
+
+
+
+
+
+
+
+
+
+ 分享到好物圈
+
+
+
+
+
+
+
+
+
+ 视频号链接
+
+
+
+
+
+
+
+
+
+
+ 一键复制
+ 复制链接,
视频号发布视频粘贴扩展链接
+
+
+
+
+
diff --git a/packageA/mycomponent/goods_new/goods_new.wxss b/packageA/mycomponent/goods_new/goods_new.wxss
new file mode 100644
index 0000000..46f91f5
--- /dev/null
+++ b/packageA/mycomponent/goods_new/goods_new.wxss
@@ -0,0 +1,864 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+page {
+ background-color: #f5f5f5;
+}
+
+.panel {
+ margin: 20rpx;
+ border-radius: 20rpx;
+ background-color: #fff;
+}
+
+/* 引导加群 */
+.guide {
+ background: #fff;
+ margin: 20rpx;
+ padding: 20rpx;
+ height: 4rem;
+ border-radius: 0.5rem;
+ box-shadow: 1px 3px 5px #cec8c8;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.guide .guideLeft {
+ display: flex;
+ align-items: center;
+}
+
+.guide .guideLeft .img {
+ width: 75rpx;
+ height: 75rpx;
+}
+
+.guide .guideLeft .right {
+ padding-left: 20rpx;
+}
+
+.guide .guideLeft .right .name {
+ line-height: 34rpx;
+}
+
+.guide .guideLeft .right .describe {
+ font-size: 24rpx;
+ line-height: 38rpx;
+ color: #9f9f9f;
+}
+
+.guide .guideRight {
+ width: 85rpx;
+ line-height: 40rpx;
+ height: 40rpx;
+ text-align: center;
+ color: #fff;
+ background-color: #02c777;
+ border-radius: 0.2rem;
+}
+
+.guide .guideLeft .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.reply {
+ width: 442rpx;
+ height: 464rpx;
+}
+
+.reply .top {
+ background: #4cb36b;
+ height: 215rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.reply .bottom {
+ padding-top: 13rpx;
+}
+
+.reply .bottom .message {
+ line-height: 63rpx;
+ text-align: center;
+ font-size: 30rpx;
+}
+
+.reply .bottom .replymessage {
+ line-height: 80rpx;
+ text-align: center;
+}
+
+.reply .bottom .replyBtn {
+ background: #fff;
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: center;
+ color: #38ad5b;
+ font-size: 29rpx;
+ border-top: 1px solid #ebebf6;
+}
+
+/* 引导加群end */
+
+/* 顶部导航 */
+.showicon {
+ display: flex;
+ justify-content: flex-end;
+ position: fixed;
+ z-index: 2;
+ box-sizing: content-box;
+ padding: 10rpx;
+ width: 100%;
+}
+
+.showicon.hoet {
+ transition: 0.1s;
+ background: white;
+ width: 100%;
+}
+
+.showicon .member {
+ margin-right: 24rpx;
+}
+
+.showicon .cart {
+ margin-right: 24rpx;
+}
+
+.showicon .back {
+ width: 50rpx;
+ height: 50rpx;
+ border-radius: 100%;
+ color: #fff;
+ background-color: rgba(0, 0, 0, 0.4);
+ text-indent: 0;
+ line-height: 54rpx;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.showicon.hoet .back {
+ margin-top: 5px;
+ transition: 0.1s;
+ background-color: rgba(237, 237, 237, 0);
+}
+
+.showicon.hoet .back icon {
+ color: black;
+}
+
+.show_b {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ margin-right: 95rpx;
+ font-size: 14px;
+}
+
+.show_b view {
+ padding: 8rpx 30rpx;
+}
+
+.curr {
+ border-bottom: 6rpx solid #f15353;
+}
+
+/* 顶部导航end */
+
+/* 底部 全局 */
+.popupMode {
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ opacity: 0.5;
+ background: #000;
+ z-index: 999;
+ transition: 0.6s ease-out;
+}
+
+.popupModeShow {
+ opacity: 0;
+ transition: 0.6s ease-out;
+}
+
+.goodsdetail {
+ padding-bottom: 100rpx;
+}
+
+.goodsdetail .ithumb {
+ position: relative;
+ overflow: hidden;
+}
+
+.goodsdetail .ithumb swiper {
+ height: 750rpx;
+}
+
+.goodsdetail .ithumb image {
+ width: 100%;
+}
+
+/* 底部 全局end */
+
+/* 品牌 */
+.brandBox {
+ margin: 20rpx;
+ border-radius: 20rpx;
+ overflow: hidden;
+}
+
+.brand {
+ background-color: #fff;
+ padding-left: 28rpx;
+ height: 100rpx;
+ display: flex;
+ align-items: center;
+}
+
+.brand .logo {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding-right: 28rpx;
+}
+
+.brand .logo image {
+ width: 60rpx;
+ height: 60rpx;
+ border-radius: 5px;
+}
+
+.brand .logo .logoText {
+ color: #333;
+ width: 400rpx;
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: flex;
+ align-items: center;
+ margin-left: 5px;
+}
+
+.intro {
+ width: 160rpx;
+ height: 48rpx;
+ border-radius: 64rpx;
+ background: #ff9600;
+ color: #fff;
+ text-align: center;
+ line-height: 48rpx;
+ margin-left: 20rpx;
+}
+
+.brand .logo .pinpai {
+ display: flex;
+ align-items: center;
+}
+
+.brand .logo .pinpai .pinpai_icon {
+ width: 32rpx;
+ padding-top: 10rpx;
+ margin-right: 4rpx;
+}
+
+.brand .logo .pinpai text {
+ font-size: 24rpx;
+ color: #999;
+ line-height: 72rpx;
+}
+
+.brand .logo .return {
+ display: flex;
+ align-items: center;
+}
+
+.brand .logo .return .return_icon {
+ width: 32rpx;
+ padding-top: 10rpx;
+}
+
+/* 品牌end */
+
+/* 详情 */
+.foShowBox {
+ transition: 1s;
+}
+
+.foShowBox .actives video {
+ width: 100%;
+}
+
+.detail_content {
+ padding: 0 20rpx;
+}
+.detail_content mp-html image{
+ margin-top: -0.5rpx;
+}
+
+.pullBox {
+ width: 100%;
+ height: 80rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.pullBox image {
+ width: 32rpx;
+ height: 32rpx;
+ margin-right: 20rpx;
+}
+
+.actives {
+ animation: mymove 0.5s;
+ background: #fff;
+}
+
+@keyframes mymove {
+ from {
+ transform: translateY(-400rpx) scale(0.5) rotateY(90deg);
+ }
+
+ to {
+ transform: translateY(0) scale(1) rotateY(0);
+ }
+}
+
+.noneBox {
+ display: none;
+}
+
+.rotateImg {
+ transform: rotate(180deg);
+ -webkit-transform: rotate(180deg);
+ transition: transform 0.5s;
+}
+
+.normalImg {
+ transform: rotate(0deg);
+ -webkit-transform: rotate(0deg);
+ transition: transform 0.5s;
+}
+
+.rotadh {
+ animation-delay: 2s;
+ transition: 2s;
+}
+
+.nondh {
+ transition: 2s;
+ display: none;
+ animation-delay: mymove 2s;
+}
+
+.title-text {
+ display: block;
+ /* 设置为块级元素会独占一行形成上下居中的效果 */
+ position: relative;
+ /* 定位横线(当横线的父元素) */
+ color: #999;
+ /* 居中文字的颜色 */
+ text-align: center;
+ background: #fff;
+ width: 100%;
+ height: 100rpx;
+ line-height: 100rpx;
+}
+
+.title-text::before,
+.title-text::after {
+ content: "";
+ position: absolute;
+ /* 定位背景横线的位置 */
+ top: 50%;
+ background: #ccced0;
+ /* 背景横线颜色 */
+ width: 20%;
+ /* 单侧横线的长度 */
+ height: 1px;
+}
+
+.title-text::before {
+ left: 15%;
+ /* 调整背景横线的左右距离 */
+}
+
+.title-text::after {
+ right: 15%;
+}
+
+/* 详情end */
+
+/* 价格说明 */
+
+.price-desc {
+ background-color: #fff;
+ padding: 20rpx 25rpx;
+ margin: 20rpx;
+ border-radius: 20rpx;
+}
+
+.price-desc .price-desc-title {
+ text-align: left;
+ font-weight: bold;
+ font-size: 14px;
+ color: #1f1f1f;
+ margin-bottom: 20rpx;
+}
+
+/* 价格说明 */
+
+/* 租赁按钮 */
+.but {
+ z-index: 9;
+ position: fixed;
+ top: 350px;
+ right: 5px;
+ font-size: 11px;
+}
+
+.but .button {
+ width: 40px;
+ height: 40px;
+ border-radius: 50%;
+ background-color: #f15353;
+ border: none;
+ text-align: center;
+ color: #fff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-wrap: wrap;
+ flex-direction: column;
+}
+
+.but .button .p {
+ width: 100%;
+}
+
+/* 租赁按钮end */
+
+/* 客服 */
+.icon-close11 {
+ font-size: 18px;
+}
+
+.pop-content {
+ background-color: #fff;
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+}
+
+.pop-content .pop-top .left {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ position: relative;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap icon {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ font-size: 50rpx;
+ background-color: #02c777;
+ color: #fff;
+}
+
+.pop-content .pop-top .right .wrap .color2 {
+ background: #ff9329;
+}
+
+.pop-content .pop-top .right .wrap .color3 {
+ background: #2aa7fb;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .line {
+ width: 1px;
+ height: 51rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
+
+/* 客服end */
+
+/* 运费说明 */
+.freightPricing {
+ background: #fff;
+ margin: 20rpx;
+ border-radius: 20rpx;
+ text-align: left;
+ padding: 20rpx;
+}
+
+.freightPricing .title,
+.freightPricing .freightPricing_btn {
+ height: 76rpx;
+ line-height: 70rpx;
+ color: #000;
+ font-size: 28rpx;
+}
+
+.freightPricing .freightPricing_main {
+ overflow: hidden;
+ line-height: 40rpx;
+ transition: height 0.6s;
+ font-size: 24rpx;
+}
+
+.freightPricing_main.fold {
+ height: 80rpx;
+}
+
+.freightPricing_main.unfold {
+ height: auto;
+}
+
+.freightPricing .freightPricing_btn {
+ text-align: center;
+ color: #666;
+ line-height: 96rpx;
+}
+
+.freightPricing .rotate_box {
+ display: inline-block;
+}
+
+.freightPricing .freightPricing_btn.fold .rotate_box {
+ transform: rotate(0deg);
+}
+
+.freightPricing .freightPricing_btn.unfold .rotate_box {
+ transform: rotate(180deg);
+}
+
+/* 运费说明end */
+
+/* 群活码 */
+.group-code {
+ display: flex;
+ align-items: center;
+ text-align: left;
+ padding: 20rpx;
+}
+
+.group-code .group-code-face {
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.group-code .group-code-face image {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 50%;
+}
+
+.group-code .group-code-content {
+ flex: 1;
+ padding-right: 32rpx;
+ padding-left: 16rpx;
+ line-height: 36rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.group-code .group-code-content .group-code-name {
+ font-size: 13px;
+ font-weight: bold;
+ color: #353535;
+}
+
+.group-code .group-code-content .group-code-desc {
+ font-size: 11px;
+ color: #6c6c6c;
+}
+
+.group-code .group-code-button {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 120rpx;
+ height: 46rpx;
+ color: #fff;
+ font-size: 12px;
+ font-weight: bold;
+ background-color: #ff9600;
+ border-radius: 24rpx;
+}
+
+/* 群活码end */
+
+/* 商品参数 */
+.goods-param {
+ padding: 20rpx 25rpx;
+}
+
+.goods-param .goods-param-title {
+ text-align: left;
+ font-weight: bold;
+ font-size: 14px;
+ color: #1f1f1f;
+ margin-bottom: 20rpx;
+}
+
+.goods-param .goods-more-param {
+ max-height: 0;
+ overflow: hidden;
+ transition: max-height 0.3s ease-in;
+}
+
+.goods-param .show-more-param {
+ max-height: 900rpx;
+ /* 真是内容等于设置的最大高度会出现问题 */
+}
+
+.goods-param .goods-param-conent .con {
+ display: flex;
+ justify-content: space-between;
+}
+
+.goods-param .goods-param-conent .con .con-left {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 160rpx;
+ margin: 10rpx 10rpx 0 0;
+ padding: 10rpx 0;
+ background-color: #f3f3f3;
+}
+
+.goods-param .goods-param-conent .con .con-right {
+ flex: 1;
+ padding: 10rpx;
+ text-align: left;
+ margin: 10rpx 10rpx 0 0;
+ background-color: #f9f9fb;
+}
+
+.goods-param .goods-param-more {
+ text-align: center;
+ margin-top: 30rpx;
+}
+
+.goods-param .goods-param-more .down {
+ transform: rotate(-90deg);
+}
+
+/* 商品参数 */
+
+/* 视频号复制弹窗 */
+.video-link-copy {
+ width: 577rpx;
+ padding: 96rpx 32rpx 32rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.video-link-copy .video-link-copy-btn {
+ height: 64rpx;
+ line-height: 64rpx;
+ padding: 0 48rpx;
+ color: #fff;
+ border-radius: 32rpx;
+ background: #f15353;
+}
+
+.video-link-copy .video-link-copy-text {
+ font-size: 12px;
+ padding: 0.875rem 0;
+}
+
+.video-link-copy .video-link-copy-img {
+ width: 90%;
+}
+
+/* 视频号复制弹窗end */
+
+/* 抽奖按钮 */
+.luck-draw-btn {
+ position: fixed;
+ top: 400px;
+ right: 5px;
+ width: 40px;
+ height: 40px;
+ border-radius: 50%;
+ overflow: hidden;
+ background: #bfcbd9;
+ z-index: 9;
+}
+
+.luck-draw-btn image {
+ width: 100%;
+ height: 100%;
+ object-fit: contain;
+}
+
+/* 抽奖按钮end */
+
+/* 规格信息 */
+.spec_box {
+ margin-top: 20.16rpx;
+ margin-bottom: 20.16rpx;
+ padding: 0 20.16rpx;
+}
+
+.spec_box .spec_list {
+ background: #fff;
+ border-radius: 20.16rpx;
+ padding: 20.16rpx;
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 20rpx;
+}
+
+.spec_box .spec_list:last-child {
+ margin-bottom: 0;
+}
+
+.spec_box .spec_list .spec_right {
+ display: flex;
+ align-items: flex-end;
+}
+
+.spec_box .spec_list .spec_right .spec_right_btn {
+ padding: 7.04rpx;
+ background-color: #f14e4e;
+ border-radius: 20rpx;
+ font-size: 20.16rpx;
+ color: #fff;
+}
+
+.spec_box .spec_list .spec_conten {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ flex: 1;
+}
+
+.spec_box .spec_list .spec_left {
+ width: 220.16rpx;
+ height: 220.16rpx;
+ background-color: #cacaca;
+ border-radius: 9.92rpx;
+ margin-right: 20.16rpx;
+}
+
+.spec_box .spec_list .spec_left .spec_left_img {
+ width: 220.16rpx;
+ height: 220.16rpx;
+ border-radius: 9.92rpx;
+}
+
+/* 规格信息end */
+/* 付费内容 */
+.payIntro {
+ margin: 0 20rpx;
+ margin-bottom: 16rpx;
+ border-radius: 10rpx;
+ background: #fff;
+ padding-bottom: 64rpx;
+}
+
+.payIntro .txt {
+ color: #999999;
+ padding: 0 48rpx;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ align-items: center;
+}
+
+.payIntro .title-text {
+ border-radius: 10rpx;
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.js b/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.js
new file mode 100644
index 0000000..6e34373
--- /dev/null
+++ b/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.js
@@ -0,0 +1,223 @@
+// packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.js
+var app = getApp();
+var timeout = false;
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ prop_goods_info: {
+ type: null, //父组件的商品详情数据
+ },
+ goodsId: {
+ type: Number,
+ },
+ goodsType: {
+ type: String,
+ },
+ hoet: {
+ type: null,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ goodsInfo: {},
+
+ rechargeType: {},
+ rechargeItem: {},
+ rechargeSpecId: 0,
+
+ displayOptions: [],
+ optionsId: 0,
+
+ show1: false,
+ service_QRcode: "",
+ service_mobile: "",
+ cservice: "",
+
+ //猜你喜欢
+ likeArr: [],
+ swipeIndex: 0,
+
+ mobile: "",
+
+ bannerUrl: "",
+
+ posterShow: false,
+ mobileCity: ""
+
+ },
+ ready() {
+ let prop_goods_info = this.properties.prop_goods_info;
+ let changeData = {};
+ let goodsInfo = this.data.goodsInfo = prop_goods_info.get_goods;
+ let rechargeType = goodsInfo.has_many_specs[0];
+ this._handClickSpecs(rechargeType.specitem[0]);
+ changeData.goodsInfo = goodsInfo;
+ changeData.rechargeType = rechargeType;
+ //轮播图
+ if (prop_goods_info && prop_goods_info.plugin && prop_goods_info.plugin.phoneBillPro) {
+ changeData.bannerUrl = prop_goods_info.plugin.phoneBillPro.banner;
+ }
+
+ //客服相关
+ if (prop_goods_info.customer_service) {
+ // 客服
+ changeData.service_QRcode = prop_goods_info.customer_service.service_QRcode;
+ changeData.service_mobile = prop_goods_info.customer_service.service_mobile;
+ changeData.cservice = prop_goods_info.customer_service.cservice;
+ }
+
+ //猜你喜欢
+ let show_push = goodsInfo.show_push.slice(0, 30);
+ let likeArr = [];
+ show_push.forEach(function (item, index) {
+ var num = Math.floor(index / 6); //
+ if (!likeArr[num]) {
+ likeArr[num] = [];
+ }
+ likeArr[num].push(item); //将数据添加到数组里
+ });
+ changeData.likeArr = likeArr;
+ this.setData(changeData);
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ tapInpC(){
+ if(this.data.mobile.length == 11){
+ let urlStr = app.getNetAddresss("plugin.phone-bill-pro.frontend.controller.phone-query.get-phone-info");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ mobile: this.data.mobile
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ timeout = false
+ if (res.result == 1) {
+ this.setData({
+ mobileCity:`${res.data.city} ${res.data.isp}`
+ })
+ }
+ },
+ fail:()=>{
+ timeout = false
+ }
+ });
+ }else{
+ this.setData({
+ mobileCity:""
+ })
+ }
+ },
+ handClickSpecs(evt) {
+ let item = evt.currentTarget.dataset.item;
+ this._handClickSpecs(item);
+ },
+ _handClickSpecs(item) {
+ if (this.data.rechargeSpecId == item.id) return;
+ let has_many_options = this.data.goodsInfo.has_many_options;
+ let arr = [];
+ for (let i = 0; i < has_many_options.length; i++) {
+ if (has_many_options[i].specs.indexOf(item.id) >= 0) {
+ arr.push(has_many_options[i]);
+ }
+ }
+ this.setData({
+ rechargeSpecId: item.id,
+ rechargeItem: item,
+ displayOptions: arr,
+ optionsId: 0
+ });
+ },
+
+ handClickOptions(evt) {
+ let item = evt.currentTarget.dataset.item;
+ this.setData({
+ optionsId: item.id
+ });
+ },
+
+ onChangeSwipeIndex(evt) {
+ let index = evt.detail.current;
+ this.setData({
+ swipeIndex: index
+ });
+ },
+ gotoDetailV2(evt){
+ let id = evt.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id='+id,
+ });
+ },
+ gotoChat(evt) {
+ let url = evt.currentTarget.dataset.cservice + "&goods_id=" + this.data.goodsId;
+ wx.navigateTo({
+ url: url,
+ fail: (err) => {
+ app.tips("客服路由出错");
+ }
+ });
+ },
+
+ setCserviceFlag(){
+ this.setData({
+ show1:!this.data.show1
+ });
+ },
+
+ gotoOrderList(){
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2',
+ });
+ },
+
+ gotoIndex(){
+ wx.reLaunch({
+ url: '/packageG/index/index',
+ });
+ },
+
+ setPosterShow(){
+ this.setData({
+ posterShow:true
+ });
+ },
+ setTopping() {
+ wx.pageScrollTo({
+ scrollTop: 0
+ });
+ },
+
+ sendRecharge() {
+ // 手机慢充
+ let {mobile,goodsId,optionsId} = this.data;
+ if (!mobile) {
+ app.tips("请输入充值手机号码!");
+ return false;
+ } else {
+ let reg_txt = /^[1][0-9]{10}$/;
+ if (!reg_txt.test(mobile)) {
+ app.tips("请输入正确的充值手机号码!");
+ return false;
+ }
+ }
+ if (optionsId <= 0) return app.tips("请选择规格ID");
+
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&total=1&&goodsId=" + goodsId + "&optionsId=" + optionsId + "&mobile=" + mobile,
+ });
+ //this.$router.push(this.fun.getUrl("goodsorder", {}, json_data));
+ },
+
+
+
+
+
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.json b/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.json
new file mode 100644
index 0000000..7a3b61d
--- /dev/null
+++ b/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "goods-qrcode":"/mycomponent/temp/goods_qrcode/goods_qrcode",
+ "mp-html":"/mycomponent/mp-html/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.wxml b/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.wxml
new file mode 100644
index 0000000..d030694
--- /dev/null
+++ b/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.wxml
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{ mobileCity }}
+
+ {{rechargeItem.desc_text}}
+ 充值金额
+
+
+ 立减{{ item.diff_price }}元
+ ¥{{ item.face_value }}
+ 优惠价¥{{ item.product_price }}
+
+
+
+
+
+
+ 猜你喜欢
+
+
+
+
+
+
+
+ {{ item.title }}
+ ¥{{ item.price }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 商品详情
+
+
+
+ 暂无该商品详情 ~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.wxss b/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.wxss
new file mode 100644
index 0000000..37f105b
--- /dev/null
+++ b/packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.wxss
@@ -0,0 +1,446 @@
+/* packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.wxss */
+
+@import "/mycss/iconfont.wxss";
+
+view,
+text,
+input {
+ box-sizing: border-box;
+}
+
+.banner {
+ width: 100%;
+ min-height: 74rpx;
+}
+
+.banner image {
+ width: 100%;
+ height: auto;
+}
+
+.recharge {
+ width: 690rpx;
+ margin: -70rpx auto 0;
+ background-color: #fff;
+ border-radius: 15rpx;
+ overflow: hidden;
+}
+
+.recharge .tabs {
+ display: flex;
+ height: 90rpx;
+}
+
+.recharge .tabs .tabs-item {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ font-size: 32rpx;
+ color: #646464;
+ background-color: #f3f3f3;
+}
+
+.recharge .tabs .tabs-item.active {
+ color: #8c5a04;
+ background-color: #e6c36a;
+}
+
+.recharge .recharge-box {
+ padding: 42rpx 32rpx 26rpx;
+ text-align: left;
+}
+
+.recharge .recharge-box .input-box {
+ border-bottom: 1rpx solid #d4d4d4;
+ padding-bottom: 14rpx;
+ padding-left: 15rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+.recharge .recharge-box .input-box .mobileC{
+ color: #AE7F06;
+}
+.recharge .recharge-box .input-box input {
+ font-size: 36rpx;
+ color: #d5d5d5;
+ border: none;
+}
+
+.recharge .recharge-box .desc {
+ padding-left: 15rpx;
+ padding-top: 9rpx;
+ font-size: 22rpx;
+ color: #6c6c6c;
+}
+
+.recharge .recharge-box .recharge-title {
+ margin-top: 46rpx;
+ font-size: 26rpx;
+ color: #242424;
+}
+
+.recharge .recharge-box .recharge-items {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-column-gap: 20rpx;
+ padding-top: 22rpx;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 193rpx;
+ height: 200rpx;
+ padding-top: 40rpx;
+ border-radius: 10rpx;
+ border: solid 1rpx #acacac;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-activity {
+ position: absolute;
+ left: 0;
+ top: 0;
+ font-size: 22rpx;
+ color: #fff;
+ padding: 4rpx 11rpx 5rpx 14rpx;
+ background-image: linear-gradient(90deg, #fe3b42 0%, #fe6355 100%);
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-price {
+ font-size: 60rpx;
+ color: #3b3b3b;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-price text {
+ font-size: 28rpx;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-discount {
+ margin-top: 8rpx;
+ font-size: 22rpx;
+ color: #8c5a04;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item.active {
+ border: none;
+ background-color: rgba(245, 154, 31, 0.4);
+ box-shadow: 0rpx 4rpx 11.7rpx 1.3rpx rgba(201, 129, 30, 0.76);
+}
+
+.recharge .recharge-box .recharge-items .recharge-item.active .recharge-price {
+ color: #fe6402;
+}
+
+.like-box {
+ width: 690rpx;
+ margin: 20rpx auto 0;
+ padding: 22rpx 21rpx;
+ text-align: left;
+ background-color: #fff;
+ border-radius: 15rpx;
+}
+
+.like-box .like-box-title {
+ font-size: 30rpx;
+ font-weight: bold;
+ color: #5f5e5e;
+}
+
+.like-box .like-box-goods {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-column-gap: 20rpx;
+ grid-row-gap: 20rpx;
+ padding-top: 28rpx;
+}
+
+.like-box .like-box-goods .like-box-good {
+ overflow: hidden;
+}
+
+.like-box .like-box-goods .like-box-good .good-face {
+ width: 202rpx;
+ height: 202rpx;
+ border-radius: 6rpx;
+}
+
+.like-box .like-box-goods .like-box-good .good-face image {
+ width: 202rpx;
+ height: 202rpx;
+ border-radius: 6rpx;
+}
+
+.like-box .like-box-goods .like-box-good .good-name {
+ padding-top: 16rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 22rpx;
+ font-weight: bold;
+ color: #3e3e3e;
+}
+
+.like-box .like-box-goods .like-box-good .good-price {
+ padding-top: 10rpx;
+ font-size: 24rpx;
+ font-weight: bold;
+ color: #f14e4e;
+}
+
+.like-box .van-indicator {
+ display: flex;
+ justify-content: center;
+ padding-top: 38rpx;
+ padding-bottom: 19rpx;
+}
+
+.like-box .van-indicator .li {
+ width: 8rpx;
+ height: 8rpx;
+ margin-right: 13rpx;
+ background-color: #c2c2c2;
+}
+
+.like-box .van-indicator .li.active {
+ width: 15rpx;
+ height: 8rpx;
+ background-color: #f14e4e;
+ border-radius: 4rpx;
+}
+
+.goods-details {
+ margin-top: 20rpx;
+ padding-bottom: 20rpx;
+ background-color: #fff;
+}
+
+.goods-details .goods-details-title {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 100rpx;
+ color: #999;
+}
+
+.goods-details .goods-details-title .line {
+ width: 128rpx;
+ height: 4rpx;
+ border-radius: 2rpx;
+ background: rgb(213, 214, 216);
+}
+
+.goods-details .goods-details-title .text {
+ padding: 0 16rpx;
+}
+
+.fixed-qrcode {
+ position: fixed;
+ right: 16rpx;
+ bottom: calc(320rpx + env(safe-area-inset-bottom));
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 60rpx;
+ height: 60rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 50%;
+}
+
+.fixed-qrcode .iconfont {
+ font-size: 40rpx;
+ color: #fff;
+}
+
+.fixed-topping {
+ position: fixed;
+ right: 16rpx;
+ bottom: calc(224rpx + env(safe-area-inset-bottom));
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 60rpx;
+ height: 60rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 50%;
+}
+
+.fixed-topping .iconfont {
+ font-size: 44rpx;
+ color: #fff;
+}
+
+.footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ display: flex;
+ height: calc(90rpx + env(safe-area-inset-bottom));
+ padding-bottom: env(safe-area-inset-bottom);
+ background-color: #fff;
+}
+
+.footer .footer-left {
+ display: flex;
+ justify-content: space-evenly;
+ width: 350rpx;
+ background-color: #fff;
+}
+
+.footer .footer-left .footer-left-item {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ color: #8c8c8c;
+ font-size: 20rpx;
+ font-weight: bold;
+}
+
+.footer .footer-left .footer-left-item .iconfont {
+ color: #3c3c3c;
+}
+
+.footer .footer-left .footer-left-item .icon-fontclass-kefu {
+ font-size: 36rpx;
+ height: 50rpx;
+}
+
+.footer .footer-right {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 34rpx;
+ color: #8c5a04;
+ background-color: #e6c36a;
+}
+
+/* kefu */
+.icon-close11 {
+ font-size: 36rpx;
+}
+
+.pop-content {
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+}
+
+.pop-content .pop-top .left {
+ width: 50%;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ position: relative;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ width: 50%;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ margin: 0;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right .wrap icon {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ font-size: 50rpx;
+ background-color: #02c777;
+ color: #fff;
+}
+
+.pop-content .pop-top .right .wrap .color2 {
+ background: #ff9329;
+}
+
+.pop-content .pop-top .right .wrap .color3 {
+ background: #2aa7fb;
+}
+
+.pop-content .line {
+ width: 2rpx;
+ height: 51rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
diff --git a/packageA/mycomponent/group_buy/group_buy.js b/packageA/mycomponent/group_buy/group_buy.js
new file mode 100644
index 0000000..364cebd
--- /dev/null
+++ b/packageA/mycomponent/group_buy/group_buy.js
@@ -0,0 +1,66 @@
+// packageA/mycomponent/group_buy/group_buy.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/group_buy/group_buy.json b/packageA/mycomponent/group_buy/group_buy.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageA/mycomponent/group_buy/group_buy.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/group_buy/group_buy.wxml b/packageA/mycomponent/group_buy/group_buy.wxml
new file mode 100644
index 0000000..7d614d5
--- /dev/null
+++ b/packageA/mycomponent/group_buy/group_buy.wxml
@@ -0,0 +1,2 @@
+
+packageA/mycomponent/group_buy/group_buy.wxml
diff --git a/packageA/mycomponent/group_buy/group_buy.wxss b/packageA/mycomponent/group_buy/group_buy.wxss
new file mode 100644
index 0000000..1e9d64b
--- /dev/null
+++ b/packageA/mycomponent/group_buy/group_buy.wxss
@@ -0,0 +1 @@
+/* packageA/mycomponent/group_buy/group_buy.wxss */
diff --git a/packageA/mycomponent/invitation/invitation.js b/packageA/mycomponent/invitation/invitation.js
new file mode 100644
index 0000000..ff524a7
--- /dev/null
+++ b/packageA/mycomponent/invitation/invitation.js
@@ -0,0 +1,116 @@
+// packageA/mycomponent/invitation/invitation.js
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goods_plugin: {
+ type: null
+ }
+ },
+ lifetimes: {
+ attached() {
+ this.setData({
+ show: false,
+ boxShow: false
+ });
+ if (this.data.goods_plugin.plugin && this.data.goods_plugin.plugin.micro_communities) {
+ this.setData({
+ boxShow: true,
+ micro_communities: this.data.goods_plugin.plugin.micro_communities,
+ min_micr: this.data.goods_plugin.plugin.micro_communities.list.slice(0, 2)
+ });
+ }
+ }
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ show: false,
+ boxShow: false,
+ micro_communities: [],
+ min_micr: [],
+ page: 1
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ tapShow() {
+ this.setData({
+ show: true,
+ page:1
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.micro-communities.api.goods.index");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: this.data.page,
+ goods_id: this.data.goods_plugin.get_goods.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ ['micro_communities.list']: res.data.data,
+ last_page: res.data.last_page
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getMore() {
+ this.setData({
+ page: this.data.page + 1
+ });
+ wx.showLoading({
+ title: '加载中',
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.micro-communities.api.goods.index");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: this.data.page,
+ goods_id: this.data.goods_plugin.get_goods.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ ['micro_communities.list']: that.data.micro_communities.list.concat(res.data.data),
+ last_page: res.data.last_page
+ });
+ }
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ errorImg(err){
+ console.log(err);
+ },
+ closeShow() {
+ this.setData({
+ show: false
+ });
+ },
+ goMicro(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageC/micro_communities/microCommentDetails/microCommentDetails?stickId=' + id,
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/invitation/invitation.json b/packageA/mycomponent/invitation/invitation.json
new file mode 100644
index 0000000..61f2b59
--- /dev/null
+++ b/packageA/mycomponent/invitation/invitation.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "van-nav-bar": "../../../dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/invitation/invitation.wxml b/packageA/mycomponent/invitation/invitation.wxml
new file mode 100644
index 0000000..2b69e6b
--- /dev/null
+++ b/packageA/mycomponent/invitation/invitation.wxml
@@ -0,0 +1,71 @@
+
+
+
+ 关联的微贴
+
+ 查看更多({{ micro_communities.num }})
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+ {{ item.has_one_stick_user.nickname }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+ {{ item.has_one_stick_user.nickname }}
+
+
+
+ 点击加载更多
+ 暂无更多
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/invitation/invitation.wxss b/packageA/mycomponent/invitation/invitation.wxss
new file mode 100644
index 0000000..5943f90
--- /dev/null
+++ b/packageA/mycomponent/invitation/invitation.wxss
@@ -0,0 +1,144 @@
+/* packageA/mycomponent/invitation/invitation.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.listBox {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0 29.12rpx;
+ padding-top: 20.16rpx;
+ padding-bottom: 40rpx;
+ justify-content: space-between;
+ background-color: #fff;
+ z-index: 9999;
+}
+
+.listBox .leftbox {
+ margin-bottom: 20.16rpx;
+}
+
+.leftbox {
+ width: 335.04rpx;
+}
+
+.leftbox .likeComment {
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 13.44rpx;
+}
+
+.leftbox .likeComment .comment {
+ display: flex;
+ align-items: center;
+ color: #666;
+}
+
+.leftbox .likeComment .comment .colorMr {
+ color: #afafaf;
+ margin-right: 8.96rpx;
+}
+
+.leftbox .likeComment .like {
+ margin-right: 36.16rpx;
+ color: #666;
+ display: flex;
+ align-items: center;
+}
+
+.leftbox .likeComment .like .colorMr {
+ color: #afafaf;
+ margin-right: 8.96rpx;
+ margin-top: -10rpx;
+}
+
+.leftbox .member {
+ display: flex;
+ align-items: center;
+}
+
+.leftbox .member .userName {
+ font-size: 22.08rpx;
+ color: #202020;
+}
+
+.leftbox .member .userimg {
+ width: 34.88rpx;
+ height: 34.88rpx;
+ background-color: #c1c1c1;
+ border-radius: 50%;
+ margin-right: 12.16rpx;
+}
+
+.leftbox .member .userimg image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.leftbox .img {
+ width: 335.04rpx;
+ height: 335.04rpx;
+ border-radius: 9.92rpx;
+ margin-bottom: 24rpx;
+}
+
+.leftbox .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 9.92rpx;
+}
+
+.leftbox .leftTitle {
+ width: 100%;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+ font-size: 28.16rpx;
+ color: #333;
+ margin-bottom: 29.12rpx;
+ text-align: left;
+}
+
+.invitation {
+ background: #fff;
+ margin-top: 32rpx;
+}
+
+.invitation .boxConten {
+ height: 578.88rpx;
+ width: 100%;
+ padding: 18.88rpx 30.08rpx 24.96rpx 30.08rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+.invitation .title {
+ display: flex;
+ padding: 25.92rpx 30.08rpx;
+ font-size: 30.08rpx;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.invitation .title .titleRight {
+ font-size: 24rpx;
+ color: #f14e4e;
+ display: flex;
+ align-items: center;
+}
+
+.invitation .title .titleRight icon {
+ font-size: 32rpx;
+ margin-top: -15rpx;
+ margin-left: 10rpx;
+}
+
+.moreText {
+ width: 100%;
+ text-align: center;
+ font-size: 27rpx;
+ color: #6666;
+ margin: 20rpx 0;
+}
diff --git a/packageA/mycomponent/offline_order/offline_order.js b/packageA/mycomponent/offline_order/offline_order.js
new file mode 100644
index 0000000..340674c
--- /dev/null
+++ b/packageA/mycomponent/offline_order/offline_order.js
@@ -0,0 +1,78 @@
+// packageA/mycomponent/offline_order/offline_order.js
+Component({
+ properties: {
+ order_data: {
+ type: Object
+ }
+ },
+ data: {
+ language: "",
+ showMore: false
+ },
+
+ lifetimes: {
+ attached () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ }
+ },
+
+ methods: {
+ toggle () {
+ this.setData({
+ showMore: !this.data.showMore
+ })
+ },
+ //跳转商品详情页面
+ toGoodsDetail(e) {
+ let goods = e.currentTarget.dataset.good;
+ if(this.data.order_data.deposit_ladder && this.data.order_data.deposit_ladder.activity_id || this.data.order_data.deposit_ladder_dj && this.data.order_data.deposit_ladder_dj.activity_id){
+ let activity_id = this.data.order_data.deposit_ladder && this.data.order_data.deposit_ladder.activity_id ? this.data.order_data.deposit_ladder.activity_id : this.data.order_data.deposit_ladder_dj.activity_id;
+ //尾款商品跳转详情
+ wx.navigateTo({
+ url: "/packageH/deposit_group/activity_index/activity_index?id=" + activity_id,
+ });
+ return;
+ }
+ if (this.data.order_data.plugin_id == 54) {
+ let store_id = null;
+ if (goods.store_id && goods.store_id != 0 && goods.store_id != "undefined") {
+ store_id = "/" + goods.store_id;
+ }
+
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=0" + store_id + "&name=group&fight_groups=" + goods.goods_id,
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + goods.goods_id,
+ });
+ }
+ },
+
+ // 评价,追评,查看评价按钮
+ evaluateOpration(e) {
+ let btn = e.target.dataset.btn;
+ let item = e.target.dataset.goods;
+ let order_id = e.target.dataset.order.id;
+ //value-0评价 value-1追加评价 value-2查看评价详情
+ if (btn.value == 0) {
+ wx.navigateTo({
+ url: '/packageD/member/evaluate/evaluate?order_id=' + order_id + '&id=' + item.id
+ });
+ } else if (btn.value == 1) {
+ wx.navigateTo({
+ url: '/packageD/member/addevaluate/addevaluate?order_id=' + order_id + '&item=' + JSON.stringify(item)
+ });
+ } else if (btn.value == 2) {
+ let options = "?order_id=" + order_id;
+ options = options + '&goods_id=' + item.has_one_comment.goods_id;
+ options = options + '&comment_id=' + item.has_one_comment.id;
+ options = options + '&order_goods_id=' + item.id;
+ wx.navigateTo({
+ url: '/packageD/member/CommentDetails/CommentDetails' + options
+ });
+ }
+ },
+ }
+})
diff --git a/packageA/mycomponent/offline_order/offline_order.json b/packageA/mycomponent/offline_order/offline_order.json
new file mode 100644
index 0000000..718752f
--- /dev/null
+++ b/packageA/mycomponent/offline_order/offline_order.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/offline_order/offline_order.wxml b/packageA/mycomponent/offline_order/offline_order.wxml
new file mode 100644
index 0000000..7551935
--- /dev/null
+++ b/packageA/mycomponent/offline_order/offline_order.wxml
@@ -0,0 +1,47 @@
+
+
+
+
+ 订单号:{{ order_data.order_sn }}
+
+
+
+
+
+
+ {{ good.title }}
+ x{{ good.total }}
+
+ {{language['money']}}{{ good.price }}
+
+
+
+
+
+
+
+
+ 展开
+
+
+
+
+
+ 应收:{{language['money']}}{{order_data.order_goods_price}}
+ 实收:{{language['money']}}{{order_data.price}}
+
+
+
diff --git a/packageA/mycomponent/offline_order/offline_order.wxss b/packageA/mycomponent/offline_order/offline_order.wxss
new file mode 100644
index 0000000..c8e7624
--- /dev/null
+++ b/packageA/mycomponent/offline_order/offline_order.wxss
@@ -0,0 +1,112 @@
+/* packageA/mycomponent/offline_order/offline_order.wxss */
+.offline-order-detail {
+ background: #fff;
+ margin: 20rpx;
+ padding-bottom: 32rpx;
+ }
+
+ .offline-order-detail .overflow-2 {
+ word-break: break-all;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-flex: 2;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+ }
+
+ .offline-order-detail .goods-box {
+ padding: 26rpx;
+ border-radius: 10rpx;
+ text-align: left;
+ }
+
+ .offline-order-detail .goods-box .order-num {
+ font-size: 12px;
+ color: #666666;
+ }
+
+ .offline-order-detail .goods-box .goods {
+ display: flex;
+ align-items: center;
+ margin-top: 24rpx;
+ }
+
+ .offline-order-detail .goods-box .left-img {
+ width: 140rpx;
+ height: 140rpx;
+ margin-right: 16rpx;
+ border-radius: 6rpx;
+ overflow: hidden;
+ }
+
+ .offline-order-detail .goods-box .left-img image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .offline-order-detail .goods-box .goods-title {
+ font-size: 14px;
+ color: #333333;
+ }
+
+ .offline-order-detail .goods-box .goods-option {
+ color: #666666;
+ margin: 16rpx 0;
+ }
+
+ .offline-order-detail .goods-box .bottom-box {
+ display: flex;
+ justify-content: space-between;
+ }
+
+ .offline-order-detail .goods-box .comment-btn {
+ display: inline-block;
+ margin-left: 16rpx;
+ color: #f14e4e;
+ font-size: 12px;
+ padding: 5rpx 34rpx;
+ border-radius: 32rpx;
+ border: solid 1rpx #f14e4e;
+ }
+
+ .offline-order-detail .goods-box .view-comment-btn {
+ display: inline-block;
+ margin-left: 16rpx;
+ color: #565656;
+ border-radius: 15px;
+ padding: 5rpx 10rpx;
+ border: 1rpx solid #9f9c9c;
+ }
+
+ .offline-order-detail .goods-box .extend-more {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 14px;
+ color: #898989;
+ }
+
+ .offline-order-detail .goods-box .goods-info {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 16rpx;
+ margin: 30rpx;
+ padding: 30rpx;
+ font-size: 14px;
+ border-radius: 5rpx;
+ background-color: #f7f7f7;
+ text-align: left;
+ white-space: break-spaces;
+ word-break: break-all;
+ }
+
+ .offline-order-detail .goods-box .pay-amount {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ margin-top: 30rpx;
+ color: #1e1e1e;
+ font-size: 14px;
+ }
+
\ No newline at end of file
diff --git a/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.js b/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.js
new file mode 100644
index 0000000..bd10183
--- /dev/null
+++ b/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.js
@@ -0,0 +1,209 @@
+// packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.js
+var app = getApp();
+let cache_account = "";
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ prop_goods_info: {
+ type: null, //父组件的商品详情数据
+ },
+ goodsId: {
+ type: Number,
+ },
+ goodsType: {
+ type: String,
+ },
+ hoet: {
+ type: null,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ goodsInfo: {},
+
+ rechargeType: {},
+ rechargeItem: {},
+ rechargeSpecId: 0,
+
+ displayOptions: [],
+ optionsId: 0,
+
+ show1: false,
+ service_QRcode: "",
+ service_mobile: "",
+ cservice: "",
+
+ mobile: "",
+ account:"",
+ mobile_disabled:false,
+
+ bannerUrl: "",
+
+ posterShow: false,
+
+ },
+ ready() {
+ cache_account = "";
+ let prop_goods_info = this.properties.prop_goods_info;
+ let changeData = {};
+ let goodsInfo = this.data.goodsInfo = prop_goods_info.get_goods;
+ let rechargeType = goodsInfo.has_many_specs[0];
+ this._handClickSpecs(rechargeType.specitem[0]);
+ changeData.goodsInfo = goodsInfo;
+ changeData.rechargeType = rechargeType;
+ //轮播图
+ if (prop_goods_info && prop_goods_info.plugin && prop_goods_info.plugin.oilRechargeGoods) {
+ changeData.bannerUrl = prop_goods_info.plugin.oilRechargeGoods.banner;
+ }
+
+ //客服相关
+ if (prop_goods_info.customer_service) {
+ // 客服
+ changeData.service_QRcode = prop_goods_info.customer_service.service_QRcode;
+ changeData.service_mobile = prop_goods_info.customer_service.service_mobile;
+ changeData.cservice = prop_goods_info.customer_service.cservice;
+ }
+
+ this.setData(changeData);
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ handClickSpecs(evt) {
+ let item = evt.currentTarget.dataset.item;
+ this._handClickSpecs(item);
+ },
+ _handClickSpecs(item) {
+ if (this.data.rechargeSpecId == item.id) return;
+ let has_many_options = this.data.goodsInfo.has_many_options;
+ let arr = [];
+ for (let i = 0; i < has_many_options.length; i++) {
+ if (has_many_options[i].specs.indexOf(item.id) >= 0) {
+ arr.push(has_many_options[i]);
+ }
+ }
+ this.setData({
+ rechargeSpecId: item.id,
+ rechargeItem: item,
+ displayOptions: arr,
+ optionsId: 0
+ });
+ },
+
+ handClickOptions(evt) {
+ let item = evt.currentTarget.dataset.item;
+ this.setData({
+ optionsId: item.id
+ });
+ },
+ gotoDetailV2(evt){
+ let id = evt.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id='+id,
+ });
+ },
+ gotoChat(evt) {
+ let url = evt.currentTarget.dataset.cservice + "&goods_id=" + this.data.goodsId;
+ wx.navigateTo({
+ url: url,
+ fail: (err) => {
+ app.tips("客服路由出错");
+ }
+ });
+ },
+
+ setCserviceFlag(){
+ this.setData({
+ show1:!this.data.show1
+ });
+ },
+
+ gotoOrderList(){
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2',
+ });
+ },
+
+ gotoIndex(){
+ wx.reLaunch({
+ url: '/packageG/index/index',
+ });
+ },
+
+ setPosterShow(){
+ this.setData({
+ posterShow:true
+ });
+ },
+ setTopping() {
+ wx.pageScrollTo({
+ scrollTop: 0
+ });
+ },
+
+ getMobileByAccount(type){
+ if(cache_account == this.data.account){
+ if(type === 1){
+ this.gotoGoodsOrder();
+ }
+ return;
+ }
+ let urlStr = app.getNetAddresss('plugin.oil-recharge.frontend.index.getMobileByAccount');
+ app._postNetWork({
+ url: urlStr,
+ data:{account:this.data.account},
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result != 1) return app.tips(res.msg);
+ let mobile = res.data.mobile;
+ if (mobile == "") {
+ this.setData({mobile_disabled:false})
+ } else {
+ this.setData({mobile_disabled:true,mobile})
+ }
+ cache_account = this.data.account;
+ if(type === 1){
+ this.gotoGoodsOrder();
+ }
+ }
+ });
+
+ },
+
+ sendRecharge() {
+ // 手机慢充
+ let {mobile,goodsId,optionsId} = this.data;
+ if (!mobile) {
+ app.tips("请输入充值手机号码!");
+ return false;
+ } else {
+ let reg_txt = /^[1][0-9]{10}$/;
+ if (!reg_txt.test(mobile)) {
+ app.tips("请输入正确的充值手机号码!");
+ return false;
+ }
+ }
+ if (optionsId <= 0) return app.tips("请选择规格ID");
+
+ this.getMobileByAccount(1);
+ },
+
+ gotoGoodsOrder(){
+ let {mobile,goodsId,optionsId,account} = this.data;
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&total=1&&goodsId=" + goodsId + "&optionsId=" + optionsId + "&oil_mobile=" + mobile + "&oil_account=" + account,
+ });
+ }
+
+
+
+
+
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.json b/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.json
new file mode 100644
index 0000000..7a3b61d
--- /dev/null
+++ b/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "goods-qrcode":"/mycomponent/temp/goods_qrcode/goods_qrcode",
+ "mp-html":"/mycomponent/mp-html/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.wxml b/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.wxml
new file mode 100644
index 0000000..e47fece
--- /dev/null
+++ b/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.wxml
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+ 注意:请输入油卡绑定的手机号,暂不支持未实名绑定手机号的油卡,一卡一号,如油卡充值使用其他手机号会造成锁卡操作
+ {{rechargeItem.desc_text}}
+ 充值金额
+
+
+ 立减{{ item.diff_price }}元
+ ¥{{ item.face_value }}
+ 优惠价¥{{ item.product_price }}
+
+
+
+
+
+
+
+
+ 商品详情
+
+
+
+ 暂无该商品详情 ~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.wxss b/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.wxss
new file mode 100644
index 0000000..cfc9534
--- /dev/null
+++ b/packageA/mycomponent/oil_recharge_goods/oil_recharge_goods.wxss
@@ -0,0 +1,459 @@
+/* packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.wxss */
+
+@import "/mycss/iconfont.wxss";
+
+view,
+text,
+input {
+ box-sizing: border-box;
+}
+
+.banner {
+ width: 100%;
+ min-height: 74rpx;
+}
+
+.banner image {
+ width: 100%;
+ height: auto;
+}
+
+.recharge {
+ width: 690rpx;
+ margin: -70rpx auto 0;
+ background-color: #fff;
+ border-radius: 15rpx;
+ overflow: hidden;
+}
+
+.recharge .tabs {
+ display: flex;
+ height: 90rpx;
+}
+
+.recharge .tabs .tabs-item {
+ position: relative;
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ font-size: 30rpx;
+ color: #242424;
+ background-color: #fff;
+}
+
+.recharge .tabs .tabs-item.active {
+ font-size: 34rpx;
+ font-weight: bold;
+ color: #8c5a04;
+}
+.recharge .tabs .tabs-item.active::after{
+ content:'';
+ position: absolute;
+ bottom: 0;
+ width: 91rpx;
+ height: 7rpx;
+ background-color: #8c5a04;
+ border-radius: 3.5rpx;
+}
+
+.recharge .recharge-box {
+ padding: 42rpx 32rpx 26rpx;
+ text-align: left;
+}
+
+.recharge .recharge-box .input-box {
+ border-bottom: 1rpx solid #d4d4d4;
+ padding-bottom: 14rpx;
+ padding-left: 15rpx;
+}
+
+.recharge .recharge-box .input-box input {
+ font-size: 28rpx;
+ color: #282828;
+ border: none;
+}
+
+.recharge .recharge-box .warning{
+ padding-left: 15rpx;
+ padding-top: 9rpx;
+ font-size: 22rpx;
+ color: #fe3d43;
+}
+
+.recharge .recharge-box .desc {
+ padding-left: 15rpx;
+ padding-top: 9rpx;
+ font-size: 22rpx;
+ color: #6c6c6c;
+}
+
+.recharge .recharge-box .recharge-title {
+ margin-top: 46rpx;
+ font-size: 26rpx;
+ color: #242424;
+}
+
+.recharge .recharge-box .recharge-items {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-column-gap: 20rpx;
+ padding-top: 22rpx;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 193rpx;
+ height: 200rpx;
+ padding-top: 40rpx;
+ border-radius: 10rpx;
+ border: solid 1rpx #acacac;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-activity {
+ position: absolute;
+ left: 0;
+ top: 0;
+ font-size: 22rpx;
+ color: #fff;
+ padding: 4rpx 11rpx 5rpx 14rpx;
+ background-image: linear-gradient(90deg, #fe3b42 0%, #fe6355 100%);
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-price {
+ font-size: 60rpx;
+ color: #3b3b3b;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-price text {
+ font-size: 28rpx;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item .recharge-discount {
+ margin-top: 8rpx;
+ font-size: 22rpx;
+ color: #8c5a04;
+}
+
+.recharge .recharge-box .recharge-items .recharge-item.active {
+ border: none;
+ background-color: rgba(245, 154, 31, 0.4);
+ box-shadow: 0rpx 4rpx 11.7rpx 1.3rpx rgba(201, 129, 30, 0.76);
+}
+
+.recharge .recharge-box .recharge-items .recharge-item.active .recharge-price {
+ color: #fe6402;
+}
+
+.like-box {
+ width: 690rpx;
+ margin: 20rpx auto 0;
+ padding: 22rpx 21rpx;
+ text-align: left;
+ background-color: #fff;
+ border-radius: 15rpx;
+}
+
+.like-box .like-box-title {
+ font-size: 30rpx;
+ font-weight: bold;
+ color: #5f5e5e;
+}
+
+.like-box .like-box-goods {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-column-gap: 20rpx;
+ grid-row-gap: 20rpx;
+ padding-top: 28rpx;
+}
+
+.like-box .like-box-goods .like-box-good {
+ overflow: hidden;
+}
+
+.like-box .like-box-goods .like-box-good .good-face {
+ width: 202rpx;
+ height: 202rpx;
+ border-radius: 6rpx;
+}
+
+.like-box .like-box-goods .like-box-good .good-face image {
+ width: 202rpx;
+ height: 202rpx;
+ border-radius: 6rpx;
+}
+
+.like-box .like-box-goods .like-box-good .good-name {
+ padding-top: 16rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 22rpx;
+ font-weight: bold;
+ color: #3e3e3e;
+}
+
+.like-box .like-box-goods .like-box-good .good-price {
+ padding-top: 10rpx;
+ font-size: 24rpx;
+ font-weight: bold;
+ color: #f14e4e;
+}
+
+.like-box .van-indicator {
+ display: flex;
+ justify-content: center;
+ padding-top: 38rpx;
+ padding-bottom: 19rpx;
+}
+
+.like-box .van-indicator .li {
+ width: 8rpx;
+ height: 8rpx;
+ margin-right: 13rpx;
+ background-color: #c2c2c2;
+}
+
+.like-box .van-indicator .li.active {
+ width: 15rpx;
+ height: 8rpx;
+ background-color: #f14e4e;
+ border-radius: 4rpx;
+}
+
+.goods-details {
+ margin-top: 20rpx;
+ padding-bottom: 20rpx;
+ background-color: #fff;
+}
+
+.goods-details .goods-details-title {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 100rpx;
+ color: #999;
+}
+
+.goods-details .goods-details-title .line {
+ width: 128rpx;
+ height: 4rpx;
+ border-radius: 2rpx;
+ background: rgb(213, 214, 216);
+}
+
+.goods-details .goods-details-title .text {
+ padding: 0 16rpx;
+}
+
+.fixed-qrcode {
+ position: fixed;
+ right: 16rpx;
+ bottom: calc(320rpx + env(safe-area-inset-bottom));
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 60rpx;
+ height: 60rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 50%;
+}
+
+.fixed-qrcode .iconfont {
+ font-size: 40rpx;
+ color: #fff;
+}
+
+.fixed-topping {
+ position: fixed;
+ right: 16rpx;
+ bottom: calc(224rpx + env(safe-area-inset-bottom));
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 60rpx;
+ height: 60rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 50%;
+}
+
+.fixed-topping .iconfont {
+ font-size: 44rpx;
+ color: #fff;
+}
+
+.footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ display: flex;
+ height: calc(90rpx + env(safe-area-inset-bottom));
+ padding-bottom: env(safe-area-inset-bottom);
+ background-color: #fff;
+}
+
+.footer .footer-left {
+ display: flex;
+ justify-content: space-evenly;
+ width: 350rpx;
+ background-color: #fff;
+}
+
+.footer .footer-left .footer-left-item {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ color: #8c8c8c;
+ font-size: 20rpx;
+ font-weight: bold;
+}
+
+.footer .footer-left .footer-left-item .iconfont {
+ color: #3c3c3c;
+}
+
+.footer .footer-left .footer-left-item .icon-fontclass-kefu {
+ font-size: 36rpx;
+ height: 50rpx;
+}
+
+.footer .footer-right {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 34rpx;
+ color: #8c5a04;
+ background-color: #e6c36a;
+}
+
+/* kefu */
+.icon-close11 {
+ font-size: 36rpx;
+}
+
+.pop-content {
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+}
+
+.pop-content .pop-top .left {
+ width: 50%;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ position: relative;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ width: 50%;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ margin: 0;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right .wrap icon {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ font-size: 50rpx;
+ background-color: #02c777;
+ color: #fff;
+}
+
+.pop-content .pop-top .right .wrap .color2 {
+ background: #ff9329;
+}
+
+.pop-content .pop-top .right .wrap .color3 {
+ background: #2aa7fb;
+}
+
+.pop-content .line {
+ width: 2rpx;
+ height: 51rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
diff --git a/packageA/mycomponent/orderList/orderList.js b/packageA/mycomponent/orderList/orderList.js
new file mode 100644
index 0000000..52cacf0
--- /dev/null
+++ b/packageA/mycomponent/orderList/orderList.js
@@ -0,0 +1,1325 @@
+var app = getApp();
+// import Dialog from "../../../dist/dialog/dialog";
+Component({
+ properties: {
+ // 属性值可以在组件使用时指定
+ datasource: {
+ type: Array,
+ },
+ orderType: {
+ type: String,
+ },
+ detailUrl: {
+ type: String,
+ },
+ status: {
+ type: Number,
+ },
+ consolidated:{
+ type: Boolean,
+ value: false
+ },
+ custom_receipt_confirmation_html:{
+ type:String,
+ value:""
+ },
+ member_type:{
+ type:null,
+ value:''
+ }
+ },
+ data: {
+ language: "",
+ regional: "请选择快递公司",
+ dateshow_1: false,
+ columns: [],
+ checkList: [],
+ options: [],
+ //确认发货
+ dialogVisible: false,
+ expressName: "",
+ numberName: "",
+ addresseeInfo: {},
+ showQrcode: false,
+ qrcode_url: "",
+ // 上拉菜单弹出层
+ sendGoogsFail: {
+ show: false,
+ msg: "",
+ },
+
+ showID: "",
+ jurisdiction_set: 0,
+
+ showBarter: false,
+ showBarter_value: null,
+ filterExpressCompanys: [],
+ inputExpressCompanyName: "",
+ orderPayId: null,
+ blindBoxInfo: {
+ show: false,
+ goods: [],
+ //盲盒相关数据
+ },
+ refundShow: false, //退款原因
+ refundText: "",
+
+ custom_receipt_confirmation_show:false, //自定义确认收货弹窗
+ custom_receipt_confirmation_btn:{}, //自定义确认收货弹窗按钮
+ custom_receipt_confirmation_item:{},//自定义确认收货弹窗item
+ //S 申请存货弹窗
+ inventoryApplyPopup: false, //存货申请弹窗
+ inventoryApplyList: [], //仓库列表
+ inventoryApplyRadio: null
+ //E 申请存货弹窗
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync("langIndex");
+ let yz_basic_info = wx.getStorageSync('yz_basic_info');
+ this.setData({
+ language: language.en,
+ vip_show:yz_basic_info.globalParameter.vip_show?yz_basic_info.globalParameter.vip_show:false
+ });
+ // this.getTemplate()
+ // 在组件实例进入页面节点树时执行
+ },
+ moved() {},
+ detached() {
+ // 在组件实例被从页面节点树移除时执行
+ },
+ },
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ filterExpressCompany(event) {
+ let input = event.detail;
+ const columns = this.data.columns;
+ this.setData({
+ filterExpressCompanys: columns.filter((val) => {
+ return val.indexOf(input) !== -1;
+ }),
+ inputExpressCompanyName: input,
+ });
+ },
+ toStore(e) {
+ let order = e.currentTarget.dataset.order;
+ if (order.plugin_id == 92) {
+ wx.navigateTo({
+ url: "/packageA/member/supplier/SupplierShop/SupplierShop?id=" + order.id + "&fromOrder=1",
+ });
+ } else if (order.plugin_id == 31 || order.plugin_id == 32) {
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + order.id + "&fromOrder=1",
+ });
+ } else if (order.plugin_id == 54 && order.has_one_team_member.store_id) {
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + order.has_one_team_member.store_id + "&fromHome=1",
+ });
+ } else if (order.plugin_id == 0) {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ }
+ },
+ showMore(e) {
+ let order_sn = e.currentTarget.dataset.order.order_sn;
+ if (this.data.showID == order_sn) {
+ this.setData({
+ showID: "",
+ });
+ } else {
+ this.setData({
+ showID: order_sn,
+ });
+ }
+ },
+ //获取模板id
+ getTemplate(order, btn) {
+ let urlStr = app.getNetAddresss("member.member.getMiniTemplateCorrespond");
+ let that = this;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ small_type: 2,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let array = [];
+ for (let i = 0; i < res.data.length; i++) {
+ array.push(res.data[i].template_id);
+ }
+ that.setData({
+ TemplateArray: array,
+ });
+ wx.requestSubscribeMessage({
+ tmplIds: that.data.TemplateArray,
+ success(res) {
+ that._toRefund(order, btn);
+ },
+ fail() {
+ that._toRefund(order, btn);
+ },
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ multiplePayChange(event) {
+ this.setData({
+ checkList: event.detail,
+ });
+ this.triggerEvent("MultiplePayNotification", this.data.checkList);
+ },
+ //跳转到对应的订单详情
+ goOrderdetail(e) {
+ let orderType = this.data.orderType;
+ let orderid = e.currentTarget.dataset.orderid;
+ if(this.data.member_type == 2 || this.data.member_type == 4){
+ wx.navigateTo({
+ url: "/packageA/member/orderdetail/orderdetail?order_id=" + orderid + "&orderType=" + orderType + "&debt_shop_member_type=" + this.data.member_type,
+ });
+ return
+ }
+ wx.navigateTo({
+ url: "/packageA/member/orderdetail/orderdetail?order_id=" + orderid + "&orderType=" + orderType,
+ });
+ },
+ //根据按钮值判断用途
+ operation(e) {
+ let btn = e.currentTarget.dataset.item;
+ let order = e.currentTarget.dataset.order;
+ let orderidx = e.currentTarget.dataset.orderidx;
+ this.setData({
+ orderPayId: order.id,
+ });
+ if (!btn.api) {
+ if (btn.value == "expediting_delivery") {
+ wx.showToast({
+ icon: "none",
+ title: "已提醒过商家",
+ duration: 1000,
+ });
+ } else {
+ //接口没有返回按钮点击请求的地址
+ wx.showToast({
+ icon: "none",
+ title: "error:错误4008820",
+ duration: 1000,
+ });
+ }
+ return;
+ }
+
+ console.log(btn);
+ if (btn.value == 8 || btn.value == "snatch_regiment_express") {
+ //查看物流
+ this._checklogistics(order, btn);
+ } else if (btn.value == 12) {
+ //删除订单
+ this._deleteOrder(order, btn, orderidx);
+ } else if (btn.value == 51) {
+ //聚合cps
+ if (order.plugin_id == "71") {
+ wx.navigateTo({
+ url: "/packageH/cpsPwd/cpsPwd?id=" + order.id,
+ });
+ }
+ } else if (btn.value == 10) {
+ //评价订单
+ this._comment(order, btn);
+ } else if (btn.value == 1 || btn.value == "snatch_regiment_pay") {
+ //订单支付
+ this._toPay(order, btn);
+ } else if (btn.value == 13 || btn.value == "snatch_regiment_refund" || btn.value == '54') {
+ //退款
+ let that = this;
+ that.getTemplate(order, btn);
+ } else if (btn.value == 9) {
+ //取消订单
+ this._cancleOrder(order, btn, orderidx);
+ } else if (btn.value == 5) {
+ //确认订单
+ this._confirmOrder(order, btn);
+ } else if (btn.value == 18) {
+ //退款中
+ this._toRefundDetail(order, btn);
+ } else if (btn.value == "cashierPay") {
+ //订单已付款
+ this._cashPayOrder(order, btn);
+ } else if (btn.value == "verification_code") {
+ this._verification(order, btn);
+ } else if (btn.value == 20) {
+ this._verificationCash(order, btn);
+ } else if (btn.value == 21) {
+ //跳到OrderRecord
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/order_record/order_record?order_id=" + item.id,
+ });
+ } else if (btn.value == 22) {
+ // 确认支付
+ this._payMoney(order, btn);
+ } else if (btn.value == 101) {
+ let _url = "/packageE/pickUpCard/pickUpCardReimburse/pickUpCardReimburse?orderid=" + order.id;
+ if(this.data.orderType == "picking-card-one") _url = _url + '&plugin=one';
+ wx.navigateTo({
+ url: _url
+ });
+ } else if (btn.value == "coupon") {
+ console.log(order.id);
+ wx.navigateTo({
+ url: "/packageD/coupon_share/coupon_share?orderid=" + order.id,
+ });
+ } else if (btn.value == 23 || btn.value == 60) {
+ // 确认发货
+ if (order.dispatch_type_id == 3) {
+ this.sendGoogs();
+ } else {
+ this._getCompany();
+ this.setData({
+ dialogVisible: true,
+ });
+ }
+
+ this.triggerEvent("stoprefresh", true);
+ this.setData({
+ expressName: "",
+ numberName: "",
+ });
+ } else if (btn.value == 24 || btn.value == 61) {
+ //取消发货
+ this._deliverGoodsCancel(order, btn);
+ } else if (btn.value == 25) {
+ //确认收货
+ this._collectGoods(order, btn);
+ } else if (btn.value == 26) {
+ //关闭订单
+ this._closeOrderPay(order, btn);
+ } else if (btn.value == 30) {
+ //退款关闭订单
+ this._closeOrderPay(order, btn,'确定退款关闭订单?');
+ } else if (btn.value == 27) {
+ this._evaluate(order, btn);
+ } else if (btn.value == 28) {
+ //卡密
+ this._truckList(btn, order);
+ } else if (btn.value == 41) {
+ //398售后
+ wx.navigateTo({
+ url: btn.api,
+ });
+ } else if (btn.value == 50) {
+ //查看发票
+ this._checkInvoice(btn, order);
+ } else if (btn.value == 11) {
+ //酒店确认下单
+ this.confirmHotelOrder(btn.api, order.id);
+ } else if (btn.value == "lease_toy_refund" || btn.value == "package_deliver_clerk") {
+ console.log("申请归还");
+ this.getRuruen(btn, order); //进行归还请求
+ } else if (btn.value == "lease_toy_apply_adopt") {
+ console.log("填写归还");
+ wx.navigateTo({
+ url: "/packageB/member/OrderReturn/OrderReturn?id=" + order.id,
+ });
+ } else if (btn.value == "lease_toy_return_info") {
+ console.log("归还详情");
+ wx.navigateTo({
+ url: "/packageA/others/order_ruturn_info/order_ruturn_info?id=" + order.id,
+ });
+ } else if (btn.value == "package_deliver" || btn.value == "package_delivery_confirm_code" || btn.value == "store_package_deliver" || btn.value == "reserve_simple") {
+ console.log("自提点核销");
+ console.log(btn.api);
+ this.getQrImg(btn, order);
+ } else if (btn.value == "expediting_delivery") {
+ this.publicMessage(btn, order, "提醒商家发货");
+ } else if (btn.value == "snatch_regiment_barter") {
+ // 抢团易货兑换
+ this.setData({
+ showBarter: true,
+ showBarter_value: order.barter,
+ });
+ } else if(btn.value == 53){
+ this.getBlindBoxGoods(order.id);
+ } else if(btn.value == 56){
+ wx.navigateTo({
+ url:"/packageH/project_verification/MyProject/MyProject"
+ });
+ } else if (btn.value == "close_reason") {
+ this.setData({
+ refundShow: true,
+ refundText: order.close_reason
+ });
+ } else if (btn.value == 140){
+ wx.navigateTo({
+ url:"/packageI/brand_resources/cardVoucherInfo/cardVoucherInfo?id="+order.id
+ });
+ } else if(btn.value == "city_delivery_detail"){
+ wx.navigateTo({
+ url:"/packageA/member/order/orderLogisticsDetails/orderLogisticsDetails?id="+order.id
+ });
+ } else if (btn.value == "inventory_apply") {
+ this.getWarehouseList_CH(); //获取仓库列表(申请存货)
+ } else {
+ this.publicMessage(btn, order, btn.name);
+ }
+ },
+ getBlindBoxGoods(id){
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.blind-box.api.index.blind-box-goods');
+ urlStr += '&order_id=' + this.data.orderPayId;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ ['blindBoxInfo.show']:true,
+ ['blindBoxInfo.goods']:res.data.order
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1200
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ blindBoxInfoTap(){
+ this.setData({
+ ['blindBoxInfo.show']:false,
+ });
+ },
+ goOrderList(item){
+ console.log(item);
+ let id = item.currentTarget.dataset.item.id;
+ let orderType = this.data.orderType;
+ wx.navigateTo({
+ url: '/packageA/member/orderdetail/orderdetail?order_id=' + id + '&orderType=' + orderType
+ });
+ },
+ confirmBarter() {
+ let urlStr = app.getNetAddresss("plugin.snatch-regiment.api.order.barter");
+ urlStr += "&order_id=" + this.data.orderPayId;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: `易货兑换成功`,
+ icon: "success",
+ duration: 1500,
+ success: function () {},
+ });
+ that.getdata();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1200,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ cancelBarter() {
+ this.setData({
+ showBarter: false,
+ showBarter_value: null,
+ });
+ },
+ // 自提点确认核销
+ getQrImg(btn, order) {
+ let urlStr = app.getNetAddresss(btn.api);
+ if (btn.value == "package_deliver"||btn.value == "store_package_deliver") {
+ urlStr += "&order_id=" + order.id;
+ } else if(btn.value == "package_delivery_confirm_code"){
+ urlStr += "&order_id=" + order.id;
+ } else if(btn.value == "reserve_simple"){
+ urlStr += "&id=" + order.id;
+ } else {
+ urlStr += "&order_pay_id=" + order.id;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ showQrcode: true,
+ qrcode_url: res.data.qr_code_url,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ publicMessage(btn, order, text) {
+ let that = this;
+ if (!btn.api) {
+ return;
+ }
+ wx.showModal({
+ title: "提示",
+ content: `确定${text}?`,
+ success(res) {
+ if (res.confirm) {
+ let urlStr = "";
+ urlStr += app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + that.data.orderPayId;
+ app._getNetWork({
+ url: urlStr,
+ success: function (res) {
+ var resdata = res.data;
+ if (resdata.result == 1) {
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ if(btn.value == 'inventory_cancel'){
+ wx.showModal({
+ content:'申请成功,请到待发货列表查询此订单',
+ });
+ } else{
+ wx.showToast({
+ icon: "success",
+ title: `${text}成功`,
+ duration: 1000,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: resdata.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (resdata) {
+ console.log(resdata);
+ },
+ });
+ }
+ },
+ });
+ },
+ onClose() {
+ this.setData({
+ showQrcode: false,
+ });
+ },
+ //查看物流
+ _checklogistics(item, btn) {
+ //logistics
+ console.log(item, btn);
+ if (item.is_all_send_goods == 0) {
+ wx.navigateTo({
+ url: "/packageA/member/order/logistics/logistics?id=" + item.id + "&api=" + btn.api,
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageE/multiplePackages/multiplePackages?id=" + item.id + "&api=" + btn.api,
+ });
+ }
+ },
+ // 申请归还
+ getRuruen(btn, order) {
+ let urlStr = app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + order.id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ this.triggerEvent("ConfrimOrderNotification");
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //删除订单
+ _deleteOrder(item, btn, orderidx) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定删除此订单?",
+ success(res) {
+ if (res.confirm) {
+ //删除当前选中的地址
+ let datasource = that.data.datasource;
+ datasource.splice(orderidx, 1);
+ that.setData({
+ datasource: datasource,
+ });
+ that._sentRequest(btn.api, "&order_id=" + item.id, false);
+ }
+ },
+ });
+ },
+ _sentRequest(action, params, isIndicator) {
+ let urlStr = app.getNetAddresss(action);
+ urlStr += params;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //评价订单
+ _comment(item, btn) {
+ wx.navigateTo({
+ url: "/packageB/comment/comment?order=" + JSON.stringify(item ? item : {}),
+ });
+ // 跳到评价订单
+ //comment
+ },
+ _toPay(item, btn) {
+ if(item.plugin_id == '107'){
+ wx.navigateTo({
+ url: '/packageD/buy/orderPay/orderPay?order_id=' + item.id + '&status=1'+ '&api=' + btn.api+'&name=bilndBox'
+ });
+ return;
+ }
+ //status-2合并支付 type-1订单支付
+ wx.navigateTo({
+ url: "/packageD/buy/orderPay/orderPay?order_id=" + item.id + "&status=1" + "&api=" + btn.api,
+ });
+ },
+ //退款中
+ _toRefundDetail(item, btn) {
+ //aftersales
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/Aftersales/Aftersales?refund_id=" + item.refund_id,
+ });
+ },
+ //退款
+ _toRefund(item, btn) {
+ //refund
+ if(item.plugin_id == '107'){
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/refund/refund?order_id=" + item.id + "&type=1"+'&value='+btn.value,
+ });
+ return;
+ }
+ if (btn.value == "snatch_regiment_refund") {
+ //抢团
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/refund/refund?order_id=" + item.id + "&type=3",
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/refund/refund?order_id=" + item.id + "&type=1",
+ });
+ }
+ },
+ //取消订单
+ _cancleOrder(item, btn, orderidx) {
+ var that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定取消此订单?",
+ success(res) {
+ if (res.confirm) {
+ //取消当前选中的地址
+ let datasource = that.data.datasource;
+ datasource.splice(orderidx, 1);
+ that.setData({
+ datasource: datasource,
+ });
+ that._sentRequest(btn.api, "&order_id=" + item.id, false);
+ }
+ },
+ });
+ },
+ //确认收货
+ _confirmOrder(item, btn) {
+ console.log(item,this.data.custom_receipt_confirmation_html);
+ if((item.plugin_id==0 || item.plugin_id==44) && this.data.custom_receipt_confirmation_html!==''){
+ this.setData({
+ custom_receipt_confirmation_btn:btn,
+ custom_receipt_confirmation_item:item,
+ custom_receipt_confirmation_show:true
+ });
+ return;
+ }
+ wx.showModal({
+ title: "提示",
+ content: "您确定收到货物?",
+ success:(resqu)=> {
+ if (resqu.confirm) {
+ this._confirmOrder_request(item,btn);
+ }
+ },
+ });
+ },
+ CustomReceiptConfirmationSend(){
+ this._confirmOrder_request(this.data.custom_receipt_confirmation_item,this.data.custom_receipt_confirmation_btn);
+ },
+ _confirmOrder_request(item,btn){
+ let urlStr = app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + item.id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.triggerEvent("ConfrimOrderNotification", item.id);
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ _cashPayOrder(item, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定此订单已付款?",
+ success(res) {
+ if (res.confirm) {
+ that._sentRequest(btn.api, "&order_id=" + item.id + "&order_pay_id=" + that.data.order_pay_id, false);
+ }
+ },
+ });
+ },
+ _verification(item, btn) {
+ //订单核销
+ //orderVerification
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/orderVerification/orderVerification?order_id=" + item.id + "&api=" + btn.api,
+ });
+ },
+ _verificationCash(item, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定此订单已付款?",
+ success(res) {
+ if (res.confirm) {
+ that._sentRequest(btn.api, "&order_id=" + item.id + "&order_pay_id=" + that.data.order_pay_id, false);
+ }
+ },
+ });
+ },
+ //确认支付
+ _payMoney(item, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确认支付该订单?",
+ success(res) {
+ if (res.confirm) {
+ let urlStr = "";
+ if (that.data.orderType == "supplier" || that.data.orderType == "subsidiary" || that.data.orderType == "storeMang") {
+ urlStr += app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + that.data.orderPayId;
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.order-operation.pay");
+ urlStr += "&order_id=" + that.data.orderPayId;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ wx.showToast({
+ icon: "success",
+ title: "支付成功",
+ duration: 1000,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ });
+ },
+ //获取快递公司
+ _getCompany() {
+ let that = this;
+ let urlStr = "";
+ if (that.data.orderType == "supplier") {
+ urlStr += app.getNetAddresss("plugin.supplier.frontend.order.express-company");
+ } else if (that.data.orderType == "subsidiary") {
+ urlStr += app.getNetAddresss("plugin.subsidiary.frontend.order.express-company");
+ } else if (that.data.orderType == "storeMang") {
+ urlStr += app.getNetAddresss("plugin.shop-assistant.frontend.order.expressCompanies");
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.sendOrder");
+ }
+ urlStr += "&order_id=" + that.data.orderPayId;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ options: res.data.express_companies,
+ });
+ var arrayOfSquares = that.data.options.map(function (item) {
+ return item.name;
+ });
+ if (!app._isTextEmpty(res.data.jurisdiction_set)) {
+ that.setData({
+ jurisdiction_set: res.data.jurisdiction_set,
+ });
+ }
+ that.setData({
+ columns: arrayOfSquares,
+ addresseeInfo: res.data.address,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //取消发货
+ _deliverGoodsCancel(order, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定取消发货?",
+ success(res) {
+ if (res.confirm) {
+ let urlStr = "";
+ if (that.data.orderType == "supplier" || that.data.orderType == "subsidiary" || that.data.orderType == "storeMang") {
+ urlStr += app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + that.data.orderPayId;
+ } else if (that.data.orderType == "auction") {
+ urlStr += app.getNetAddresss("plugin.auction.api.order-operation.cancel-send");
+ urlStr += "&order_id=" + that.data.orderPayId;
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.order-operation.cancel-send");
+ urlStr += "&order_id=" + that.data.orderPayId;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ wx.showToast({
+ icon: "success",
+ title: "取消发货成功",
+ duration: 1000,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ });
+ },
+ //确认收货
+ _collectGoods(order, btn) {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: "确认收货?",
+ success(res) {
+ if (res.confirm) {
+ let urlStr = "";
+ if (that.data.orderType == "supplier" || that.data.orderType == "subsidiary" || that.data.orderType == "pickup_card"|| that.data.orderType == "picking-card-one" || that.data.orderType == "storeMang") {
+ urlStr += app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + that.data.orderPayId;
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.order-operation.receive");
+ urlStr += "&order_id=" + that.data.orderPayId;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ wx.showToast({
+ icon: "success",
+ title: "收货成功",
+ duration: 1000,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ });
+ },
+ //关闭订单
+ _closeOrderPay(order, btn,msg='') {
+ let that = this;
+ wx.showModal({
+ title: "提示",
+ content: !msg?'确定关闭订单?':msg,
+ success(res) {
+ if (res.confirm) {
+ let urlStr = "";
+ if (that.data.orderType == "supplier" || that.data.orderType == "subsidiary" || that.data.orderType == "storeMang") {
+ urlStr += app.getNetAddresss(btn.api);
+ urlStr += "&order_id=" + that.data.orderPayId;
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.order-operation.close");
+ urlStr += "&order_id=" + that.data.orderPayId;
+ urlStr += "&shop_id=" + null;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (res) {
+ var resdata = res.data;
+ if (resdata.result == 1) {
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ wx.showToast({
+ icon: "success",
+ title: "关闭订单成功",
+ duration: 1000,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: resdata.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (resdata) {
+ console.log(resdata);
+ },
+ });
+ }
+ },
+ });
+ },
+ // 评价
+ _evaluate(order, btn) {
+ //抢单评价
+ //DeliveryEvaluate
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate?order_id=" + order.order_id + "&api=" + btn.api + "&name=distributor",
+ });
+ },
+ //卡密
+ _truckList(btn, order) {
+ //TruckList
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/truckList/truckList?order_id=" + order.id,
+ });
+ },
+ //查看发票
+ _checkInvoice(btn, order) {
+ //Invoice
+ wx.navigateTo({
+ url: "/packageD/member/myOrder/invoice/invoice?order_id=" + order.id,
+ });
+ },
+ //快递单号输入值绑定
+ numberNamebtn(e) {
+ let val = e.detail.value;
+ this.setData({
+ numberName: val,
+ });
+ },
+ //确认发货
+ sendGoogs(event) {
+ if (!event || event.detail === "confirm") {
+ let that = this;
+ // 发货失败上拉弹出菜单函数
+ const sendGoogsFail = (msg) => {
+ this.setData({
+ sendGoogsFail: {
+ show: true,
+ msg,
+ },
+ dialogVisible: false,
+ });
+ };
+ if (this.data.orderType == "supplier") {
+ let urlStr = "";
+ urlStr += app.getNetAddresss("plugin.supplier.frontend.order.send");
+ let json = {
+ order_id: that.data.orderPayId,
+ express_code: that.data.expressName.value,
+ express_company_name: that.data.expressName.name,
+ express_sn: that.data.numberName,
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log("msg=", res);
+ if (res.result == 1) {
+ that.setData({
+ dialogVisible: false,
+ });
+ that.triggerEvent("stoprefresh", false);
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ wx.showToast({
+ icon: "success",
+ title: "发货成功",
+ duration: 1000,
+ });
+ } else {
+ sendGoogsFail(res.msg);
+ }
+ },
+ fail: function (res) {},
+ });
+ } else if (this.data.orderType == "subsidiary") {
+ let urlStr = "";
+ urlStr += app.getNetAddresss("plugin.subsidiary.frontend.order.send");
+ let json = {
+ order_id: that.data.orderPayId,
+ express_code: that.data.expressName.value,
+ express_company_name: that.data.expressName.name,
+ express_sn: that.data.numberName,
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ dialogVisible: false,
+ });
+ that.triggerEvent("stoprefresh", false);
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ wx.showToast({
+ icon: "success",
+ title: "发货成功",
+ duration: 1000,
+ });
+ } else {
+ sendGoogsFail(res.msg);
+ }
+ },
+ fail: function (res) {},
+ });
+ } else if (this.data.orderType == "auction" || this.data.orderType=='storeMang') {
+ let urlStr = "";
+ urlStr = app.getNetAddresss("plugin.auction.api.order-operation.send");
+ if(this.data.orderType=='storeMang'){
+ urlStr += app.getNetAddresss("plugin.shop-assistant.frontend.order.send");
+ }
+ let json = {
+ order_id: that.data.orderPayId,
+ express_code: that.data.expressName.value,
+ express_company_name: that.data.expressName.name,
+ express_sn: that.data.numberName,
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ dialogVisible: false,
+ });
+ that.triggerEvent("stoprefresh", false);
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ wx.showToast({
+ icon: "success",
+ title: "发货成功",
+ duration: 1000,
+ });
+ } else {
+ sendGoogsFail(res.msg);
+ }
+ },
+ fail: function (res) {},
+ });
+ } else {
+ let urlStr = "";
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.store.center.order-operation.send");
+ urlStr += "&order_id=" + that.data.orderPayId;
+ urlStr += "&express_code=" + that.data.expressName.value;
+ urlStr += "&express_company_name=" + that.data.expressName.name;
+ urlStr += "&express_sn=" + that.data.numberName;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log("result=", res.result);
+ that.triggerEvent("ConfrimOrderNotification", "pay");
+ wx.showToast({
+ icon: "success",
+ title: "发货成功",
+ duration: 1000,
+ });
+ that.setData({
+ dialogVisible: false,
+ });
+ } else {
+ sendGoogsFail(res.msg);
+ }
+ },
+ fail: function (res) {},
+ });
+ }
+ } else {
+ this.setData({
+ dialogVisible: false,
+ });
+ this.triggerEvent("stoprefresh", false);
+ }
+ },
+ // 关闭上拉弹出
+ colseSendGoogsFailPopup() {
+ this.setData({
+ "sendGoogsFail.show": false,
+ });
+ },
+ //快递选择
+ seleRegional: function () {
+ this.setData({
+ dateshow_1: true,
+ });
+ },
+ onCancelbtn: function () {
+ this.setData({
+ dateshow_1: false,
+ inputExpressCompanyName: "",
+ filterExpressCompanys: [],
+ });
+ },
+ onConfirmbtn: function (e) {
+ let index = e.detail.index;
+ let val = e.detail.value;
+ let array = this.data.options.filter((item) => {
+ return item.name.indexOf(this.data.inputExpressCompanyName) !== -1;
+ });
+ this.setData({
+ dateshow_1: false,
+ regional: val,
+ expressName: array[index],
+ inputExpressCompanyName: "",
+ filterExpressCompanys: [],
+ });
+ },
+ // for prevent touchmove
+ noop: function noop() {},
+ //value 11 酒店确认下单
+ confirmHotelOrder(api, id) {
+ let urlStr = "";
+ urlStr += app.getNetAddresss(api);
+ urlStr += "&order_id=" + id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ copyorderbtn(e) {
+ let copydata = e.currentTarget.dataset.copydata;
+ wx.setClipboardData({
+ data: copydata ? copydata : "",
+ success(res) {
+ wx.showToast({
+ icon: "none",
+ title: "复制成功",
+ duration: 1000,
+ });
+ },
+ });
+ },
+ onCloseRefundShow(){
+ this.setData({
+ refundShow: false
+ });
+ },
+
+ // 评价,追评,查看评价按钮
+ evaluateOpration(e) {
+ let btn = e.target.dataset.btn;
+ let item = e.target.dataset.goods;
+ let order_id = e.target.dataset.order.id;
+ //value-0评价 value-1追加评价 value-2查看评价详情
+ if (btn.value == 0) {
+ wx.navigateTo({
+ url: '/packageD/member/evaluate/evaluate?order_id=' + order_id + '&id=' + item.id
+ });
+ } else if (btn.value == 1) {
+ wx.navigateTo({
+ url: '/packageD/member/addevaluate/addevaluate?order_id=' + order_id + '&item=' + JSON.stringify(item)
+ });
+ } else if (btn.value == 2) {
+ let options = "?order_id=" + order_id;
+ options = options + '&goods_id=' + item.has_one_comment.goods_id;
+ options = options + '&comment_id=' + item.has_one_comment.id;
+ options = options + '&order_goods_id=' + item.id;
+ wx.navigateTo({
+ url: '/packageD/member/CommentDetails/CommentDetails' + options
+ });
+ }
+ },
+
+ onChangeInventoryApplyRadio(event){
+ this.setData({
+ inventoryApplyRadio: event.detail,
+ });
+ },
+ getWarehouseList_CH() {
+ let urlStr = app.getNetAddresss("plugin.order-inventory.frontend.index.warehouse-list");
+ app._postNetWork({
+ url: urlStr,
+ data: {},
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ inventoryApplyList: res.data.list, //仓库列表
+ inventoryApplyRadio: res.data.list[0].id,
+ inventoryApplyPopup: true //存货申请弹窗
+ })
+ } else {
+ app.tips(res.msg)
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ confirmInventoryApply() {
+ let urlStr = app.getNetAddresss("plugin.order-inventory.frontend.index.inventory-apply");
+ app._postNetWork({
+ url: urlStr,
+ data: { warehouse_id: this.data.inventoryApplyRadio, order_id: this.data.orderPayId },
+ success: (resdata) => {
+ let res = resdata.data;
+ app.tips(res.msg)
+ if (res.result == 1) {
+ this.triggerEvent("ConfrimOrderNotification", "pay");
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ },
+});
diff --git a/packageA/mycomponent/orderList/orderList.json b/packageA/mycomponent/orderList/orderList.json
new file mode 100644
index 0000000..b1406a8
--- /dev/null
+++ b/packageA/mycomponent/orderList/orderList.json
@@ -0,0 +1,17 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-dialog": "../../../dist/dialog/index",
+ "van-button": "../../../dist/button/index",
+ "van-field": "../../../dist/field/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-picker": "../../../dist/picker/index",
+ "van-overlay":"../../../dist/overlay/index",
+ "van-search": "../../../dist/search/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "mp-html":"/mycomponent/mp-html/index"
+ }
+}
diff --git a/packageA/mycomponent/orderList/orderList.wxml b/packageA/mycomponent/orderList/orderList.wxml
new file mode 100644
index 0000000..0d77c53
--- /dev/null
+++ b/packageA/mycomponent/orderList/orderList.wxml
@@ -0,0 +1,282 @@
+
+ var getDays = function (strDateStart, strDateEnd) {
+ let start = strDateStart.split(' ')
+ let end = strDateEnd.split(' ')
+ let strSeparator = '-' //日期分隔符
+ let oDate1, oDate2, iDays
+ oDate1 = start[0].split(strSeparator)
+ oDate2 = end[0].split(strSeparator)
+ let strDateS = new Date(oDate1[0], oDate1[1] - 1, oDate1[2])
+ let strDateE = new Date(oDate2[0], oDate2[1] - 1, oDate2[2])
+ iDays = parseInt(Math.abs(strDateS - strDateE) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数
+ console.log(iDays)
+ return iDays
+ };
+ var substr = function (val,num){
+ return val.slice(0,num);
+ }
+ module.exports.inOf = getDays;
+ module.exports.substr = substr;
+
+
+
+
+
+
+
+
+ 订单号:{{order.order_sn}}
+
+ {{order.dispatch_type_name}}
+
+
+
+ {{util.substr(order.status_name,-4)}}
+ {{order.status_name}}
+ (锁定)
+
+
+
+
+
+ {{order.shop_name}}
+
+
+
+
+
+
+
+ {{order.has_one_team_member.has_one_store.store_name}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{good.title}}
+ {{ order.deposit_ladder.activity_name }}
+
+ 规格: {{good.goods_option_title}}
+ ×{{good.total}}
+ {{ util.getDays(order.hotel_order.enter_at, order.hotel_order.leave_at) }}晚{{ good.total }}间
+
+ 预约日期:{{ order.store_reserve }}
+
+
+
+
+
+ 定金
+ 尾款
+ {{language['money']}}
+ {{orderType=='lease_toy'?good.price/order.has_one_lease_toy_order.return_days/good.total:good.price}}
+ /天
+
+ 会员价:
+ {{language['money']}}
+ {{good.vip_price}}
+
+
+
+
+
+
+
+ 租赁到期日期:
+ {{order.has_one_lease_toy_order.end_time}}
+
+
+ {{order.address.realname}} ({{order.address.mobile}})
+ 预约时间 {{order.reserve_simple.begin_time}}
+ {{order.address.address}}
+
+
+
+ 共 {{order.goods_total}} {{ detailUrl == 'HotelOrderDetail' ? '个房间' : '件商品' }} 实付:{{language['money']}}
+ {{order.price}}
+
+
+
+ 慈善基金捐赠总额{{order.charity_fund_money}}元
+
+
+
+ {{ order.status == 3 ? "已换货" : "换货中" }},点击查看原订单
+
+
+
+
+
+ 卡券信息
+
+
+
+
+ {{item.name}}
+
+
+
+
+ {{item.name}}
+
+
+
+
+ 更多
+
+
+
+
+ {{btn.name}}
+
+
+
+
+
+
+
+ {{order.inventory_time}}
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+ 确认发货
+
+ 收件人信息:
+
+
+ 收件人:{{addresseeInfo.realname}}
+ ({{addresseeInfo.mobile}})
+
+ 收货地址:{{addresseeInfo.address}}
+
+
+
+ 快递公司:
+
+ {{regional}}
+
+
+
+ 快递单号:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提示
+ {{ sendGoogsFail.msg }}
+ 确认
+
+
+
+
+
+
+ 请核销员扫码核销
+
+
+
+
+ 没有更多了
+
+
+ 是否确认易货兑换
+ 该商品可兑换易货值为{{ showBarter_value }}
+
+
+
+
+
+
+ 盲盒商品
+
+
+
+
+ {{item.order_sn}}
+ {{item.status_name}}
+
+
+
+
+
+
+ {{item1.title}}
+ {{item1.goods_option_title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/mycomponent/orderList/orderList.wxss b/packageA/mycomponent/orderList/orderList.wxss
new file mode 100644
index 0000000..a142387
--- /dev/null
+++ b/packageA/mycomponent/orderList/orderList.wxss
@@ -0,0 +1,667 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.shop {
+ background: #fff;
+ border-bottom: 2rpx solid #ebebeb;
+ border-top: 2rpx solid #ebebeb;
+ margin: 20rpx;
+ border-radius: 10px;
+}
+
+.shop .title {
+ padding: 20rpx 28rpx;
+ display: flex;
+ align-items: center;
+}
+
+/* .shop .title van-checkbox{ */
+
+/* margin-right: 10rpx; */
+
+/* } */
+
+.shop .title .h4 {
+ text-align: left;
+ font-weight: normal;
+ /* line-height: 72rpx; */
+ flex: 1;
+ font-size: 14px;
+ margin-left: 5px;
+ color: #666;
+ display: flex;
+ align-items: center;
+ word-break: keep-all;
+}
+
+.shop .title .span {
+ color: #f15353;
+ text-align: right;
+ margin-right: 2rpx;
+ font-size: 28rpx;
+ white-space: nowrap;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.shop .title .tags-box {
+ text-align: left;
+ margin-left: 5px;
+ align-self: center;
+}
+
+.shop .title .tags {
+ display: flex;
+ word-break: normal;
+ font-size: 12px;
+ background-color: #fcbc07;
+ color: #fff;
+ border-radius: 8px;
+ padding: 1px 5px;
+ max-width: 130rpx;
+ text-overflow: -o-ellipsis-lastline;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+/* .shop .goods { */
+
+/* display: flex; */
+
+/* background: #fafafa; */
+
+/* } */
+
+.shop .goods .goods-box {
+ display: flex;
+}
+
+.shop .goods .img {
+ padding: 20rpx 20rpx 0 20rpx;
+ width: 30vw;
+}
+
+.shop .goods .img image {
+ width: 100%;
+}
+
+.shop .goods .warp {
+ width: 69vw;
+ padding: 20rpx 32rpx 0 0;
+ display: flex;
+}
+
+.shop .goods .warp .inner {
+ width: 59vw;
+ text-align: left;
+}
+.shop .goods .warp .reserveClass {
+ font-size: 26rpx;
+ color: #f15353;
+ margin-top: 16rpx;
+}
+
+.shop .goods .warp .inner .name {
+ font-size: 28rpx;
+ text-align: left;
+ color: #333;
+ margin-bottom: 20rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.shop .goods .warp .inner .num {
+ font-size: 14px;
+ color: #333;
+ width: 36%;
+}
+
+.shop .goods .price {
+ font-size: 26rpx;
+ align-items: center;
+ text-align: right;
+ color: #333;
+ padding: 0 20rpx 20rpx 20rpx;
+}
+
+.shop .goods .price .small {
+ font-size: 24rpx;
+}
+
+.shop .goods .warp .price .money {
+ margin-bottom: 20rpx;
+}
+
+.shop .goods .comment-box{
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ font-size: 12px;
+}
+
+.shop .goods .comment-box .view-comment-btn {
+ color: #565656;
+ border-radius: 15px;
+ padding: 0.25rem 0.625rem;
+ border: 0.0625rem solid #9f9c9c;
+}
+
+.shop .goods .comment-box .comment-btn {
+ color: #f15353;
+ margin-left: 0.625rem;
+ border-radius: 15px;
+ padding: 0.25rem 1.25rem;
+ border: 0.0625rem solid #f15353;
+}
+
+.shop .goods .option {
+ color: #888;
+ font-size: 24rpx;
+ display: flex;
+ line-height: 14px;
+}
+
+.shop .title .h4 .b {
+ font-size: 36rpx;
+ font-weight: bold;
+ color: #101010;
+}
+
+.shop .title .h4.textright {
+ text-align: right;
+ justify-content: flex-end;
+}
+
+.shop .shop-box {
+ display: flex;
+ padding: 0.3rem 0.9rem;
+ line-height: 28px;
+}
+
+.shop .shop-box .shop-box-left {
+ display: flex;
+ width: 90%;
+}
+
+.shop .shop-box .shop-box-left .p {
+ font-size: 16px;
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.shop .shop-box .icon-fontclass-dianpu {
+ font-size: 26px;
+ color: #f15353;
+}
+
+.shop .shop-box .icon-advertise-next {
+ font-size: 26px;
+ color: #bdbdbd;
+ flex: 0 0 30px;
+}
+
+.shop .address-box {
+ padding: 0.3rem 0.875rem;
+ text-align: left;
+ color: #909090;
+}
+.allbtStock{
+ position: relative;
+ border-top: 2rpx solid #ebebeb;
+ padding-right: 28rpx;
+ padding-left: 28rpx;
+ padding-top: 16rpx;
+ padding-bottom: 16rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+.allbtStock .rightAll{
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ flex-wrap: wrap;
+ position: relative;
+}
+
+.allbtStock .span {
+ min-width: 65px;
+ border-radius: 15px;
+ border: 2rpx solid #666;
+ margin-left: 20rpx;
+ padding: 8rpx 10px;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.allbtStock .red-button {
+ border: 0.0625rem solid #f14e4e;
+ background-color: #f14e4e;
+ color: #fff;
+}
+
+.allbtStock .noClickBG {
+ border: 0.0625rem solid #e8e8e8;
+ background: #e8e8e8;
+ color: #999;
+}
+
+.allbtStock .trans {
+ position: absolute;
+ right: 1.875rem;
+ bottom: 2.5rem;
+ width: 0;
+ height: 0;
+ border-width: 0.8rem 0.8rem 0;
+ border-style: solid;
+ border-color: #f5f5f5 transparent transparent;
+}
+
+.allbtStock .more-button {
+ position: absolute;
+ border: solid 1px #e2e2e2;
+ width: 70px;
+ border-radius: 5px;
+ background: #fff;
+ right: 0.875rem;
+ bottom: 3.2rem;
+}
+
+.allbtStock .more-button .p {
+ text-align: center;
+ padding: 0.3rem 0.1rem;
+ border-top: 1px solid #e2e2e2;
+}
+
+
+.shop .allbt {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ border-top: 2rpx solid #ebebeb;
+ height: 80rpx;
+ padding-right: 28rpx;
+ position: relative;
+}
+
+.shop .allbt .span {
+ min-width: 65px;
+ border-radius: 15px;
+ border: 2rpx solid #666;
+ margin-left: 20rpx;
+ padding: 8rpx 10px;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.shop .allbt .red-button {
+ border: 0.0625rem solid #f14e4e;
+ background-color: #f14e4e;
+ color: #fff;
+}
+
+.shop .allbt .noClickBG {
+ border: 0.0625rem solid #e8e8e8;
+ background: #e8e8e8;
+ color: #999;
+}
+
+.shop .allbt .trans {
+ position: absolute;
+ right: 1.875rem;
+ bottom: 2.5rem;
+ width: 0;
+ height: 0;
+ border-width: 0.8rem 0.8rem 0;
+ border-style: solid;
+ border-color: #f5f5f5 transparent transparent;
+}
+
+.shop .allbt .more-button {
+ position: absolute;
+ border: solid 1px #e2e2e2;
+ width: 70px;
+ border-radius: 5px;
+ background: #fff;
+ right: 0.875rem;
+ bottom: 3.2rem;
+}
+
+.shop .allbt .more-button .p {
+ text-align: center;
+ padding: 0.3rem 0.1rem;
+ border-top: 1px solid #e2e2e2;
+}
+
+.sendgood {
+ font-size: 30rpx;
+}
+
+.sendgood .h4 {
+ line-height: 60rpx;
+ font-size: 30rpx;
+ text-align: center;
+ padding-top: 10rpx;
+}
+
+.sendgood .addmessage {
+ display: flex;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.sendgood .addmessage .title {
+ flex: 3;
+}
+
+.sendgood .addmessage .content {
+ flex: 7;
+}
+
+.sendgood .delivery {
+ padding-top: 12rpx;
+ display: flex;
+ align-items: center;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.sendgood .delivery .left {
+ flex: 3;
+}
+
+.sendgood .delivery .right {
+ flex: 7;
+ display: flex;
+ align-items: center;
+}
+
+.sendgood .delivery .right .button {
+ border: 1px solid #555;
+ color: #555;
+ text-align: center;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+ border-radius: 10rpx;
+}
+
+.sendgood .deliveryinp {
+ padding-top: 12rpx;
+ display: flex;
+ align-items: center;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.sendgood .deliveryinp .left {
+ flex: 3;
+}
+
+.sendgood .deliveryinp .right {
+ flex: 7;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
+
+.qrcodeClass {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 60rpx 0;
+}
+
+.qrcodeClass image {
+ width: 400rpx;
+ height: 400rpx;
+}
+
+.qrcodeClass text {
+ font-size: 36rpx;
+ font-weight: bold;
+ margin-top: 18rpx;
+ margin-bottom: 40rpx;
+}
+
+.send-googs-fail {
+ text-align: center;
+}
+
+.send-googs-fail .title {
+ font-weight: bold;
+ font-size: 30rpx;
+ line-height: 80rpx;
+}
+
+.send-googs-fail .msg {
+ font-size: 28rpx;
+ color: #999;
+ line-height: 80rpx;
+ margin-bottom: 30rpx;
+}
+
+.send-googs-fail .confirm {
+ font-size: 30rpx;
+ font-weight: bold;
+ color: #35a3fd;
+ line-height: 80rpx;
+ border-top: solid 1px #eee;
+ transition: background-color 0.5s;
+}
+
+.send-googs-fail .confirm:active {
+ background-color: #eee;
+}
+
+.barter_dialog {
+ height: auto;
+ text-align: center;
+}
+
+.barter_dialog .barter_dialog_1 {
+ padding: 0.875rem 0;
+ font-size: 1rem;
+ font-weight: bold;
+ color: #000;
+}
+
+.barter_dialog .barter_dialog_2 {
+ padding: 0.5rem 0;
+ font-size: 0.875rem;
+ color: #ee0a24;
+}
+
+/* 盲盒弹窗样式 */
+.blindBoxInfo .close {
+ height: 128rpx;
+ display: flex;
+ align-items: flex-end;
+ justify-content: center;
+}
+
+.blindBoxInfo .close .icon-adsystem_icon_cancle {
+ font-size: 96rpx;
+ color: #fff;
+ width: 96rpx;
+ height: 96rpx;
+}
+
+.blindBoxInfo .multipleWrapper {
+ width: 604.992rpx;
+ height: 712rpx;
+ background: url(https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/blindToast.png);
+ background-size: 100% 100%;
+ text-align: center;
+}
+
+.blindBoxInfo .multipleWrapper .desc {
+ padding-top: 46.4rpx;
+ padding-bottom: 28.992rpx;
+ font-size: 30.016rpx;
+ color: #fff;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper {
+ margin: 0 auto;
+ padding: 0 3.2rpx;
+ width: 512.992rpx;
+ height: 563.2rpx;
+ border-radius: 20rpx;
+
+ /* overflow: scroll; */
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem {
+ width: 100%;
+ max-height: 90%;
+ margin-bottom: 19.2rpx;
+ background-color: #fff;
+ border-radius: 10.016rpx;
+ overflow-y: scroll;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodInfo {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 16.992rpx 15.008rpx;
+ font-size: 20rpx;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodInfo .c1 {
+ color: #666;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodInfo .c2 {
+ color: #f14e4e;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent {
+ display: flex;
+ padding-bottom: 16rpx;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent .goods_img {
+ height: 100rpx;
+ padding: 0 16rpx;
+ border-radius: 4rpx;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent .goods_img image {
+ width: 100rpx;
+ height: 100rpx;
+ border-radius: 4rpx;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent .content {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ height: 100rpx;
+ padding-right: 41.6rpx;
+ text-align: left;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent .content .name {
+ font-size: 24rpx;
+ color: #333;
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.blindBoxInfo .multipleWrapper .goodsWrapper .goodsItem .goodContent .content .price {
+ font-size: 20rpx;
+ color: #666;
+}
+
+/* end */
+
+.deposit-tips {
+ font-size: 12px;
+ padding: 2px 8px;
+ margin-right: 5px;
+ border-radius: 5px;
+ background-color: rgba(255, 174, 190, 0.43);
+ color: #f15353;
+}
+
+.refundShow-box {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+
+.refundShow-box .popup-title {
+ height: 96rpx;
+ line-height: 96rpx;
+ font-size: 18px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.refundShow-box .popup-context {
+ flex: 1;
+ overflow: scroll;
+ padding: 0 28rpx 28rpx;
+ text-align: left;
+ text-indent: 26px;
+ font-size: 14px;
+}
+
+.custom_receipt_confirmation_html {
+ max-height: 640rpx;
+ padding-top: 25rpx;
+ overflow-y: scroll;
+}
+
+.exchange_order_box {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin: 0 0.75rem 0.75rem 0.75rem;
+ padding: 0.75rem 0.5rem;
+ background: #f2f2f2;
+ font-size: 12px;
+ line-height: 14px;
+ border-radius: 8px;
+}
+.exchange_order_box i{
+ color: #f15353;
+ font-weight: 600;
+}
+
+.inventory-apply-popup .content {
+ max-height: 480rpx;
+ overflow-y: scroll;
+}
+
+.inventory-apply-popup .inventory-apply-radio {
+ padding: 14px;
+}
+
+.vipPirce{
+ color: #FD7B0C;
+ display: inline;
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/star_group/star_group.js b/packageA/mycomponent/star_group/star_group.js
new file mode 100644
index 0000000..a7b9185
--- /dev/null
+++ b/packageA/mycomponent/star_group/star_group.js
@@ -0,0 +1,740 @@
+var app = getApp();
+var WxParse = require('../../../wxParse/wxParse.js');
+let siftTop='';
+let foshowTop='';
+
+var share_tag = '-1'; // 顶部导航返回上一级按钮 标志
+// 商品详情
+
+Component({
+ properties: {
+ // 属性值可以在组件使用时指定
+ goodType: {
+ type: String
+ },
+ goodsId: {
+ type: Number
+ },
+ goodsType: {
+ type: String
+ },
+
+ hoet: {
+ type: null
+ },
+
+ boxHeight: {
+ type: Number
+ },
+ xqBoxShow: {
+ type: null
+ },
+ datop: {
+ type: null
+ },
+ ipnonexbol: {
+ type: null
+ },
+ activityid: {
+ type: null
+ },
+ },
+ data: {
+ language: '',
+ // 图片域名
+ imagUrl: 'https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/',
+ current: 1,
+
+ datop: 1,
+ groupStock: 1, // 当前拼团商品的库存
+
+ // 判断显示限时还是结束
+ istime: false,
+ // 是否有更多评论
+ noMoreComment: false,
+ // 初始评论页数
+ commentPage: 1,
+ posterShow: false, // 商品分享二维码显示
+ hoet: false,
+
+ popStock: 0, // 库存
+
+
+ gooddatas: {}, // 总商品数据
+ goodsInfo: {}, // 商品详情信息
+ activityId: '', // 活动id
+ goodsId: '',
+
+
+
+ team: [], //成团信息
+ show1: false,
+
+ // 商品详情
+ first_content: '',
+ second_content: '',
+ third_content: [],
+ activeName: 'first',
+ end_time: '', // 截止结束时间
+ start_time: '', // 截止开始时间
+ // 轮播高度自适应
+ aheight: 750,
+
+ btnData: { // 侧边按钮定位
+ over_top: 500,
+ icon_url: "https://www.yunzmall.com//min_img/icon-fontclass-zhiding.png"
+ },
+
+ heightDome: '', // 高度
+ nowTime: '', // 现在的时间
+ iPnoneBottomBol: false,
+ isCheckActivity: true, //下单前检查客户今天是否超出限制
+ showGoodslist: false,
+ //活动是否结束
+ isTimeEnd: false,
+ begTimeStr: '',
+ //限时购据开始时间倒计时
+ beginDownObj: {
+ day: '00',
+ hou: '00',
+ min: '00',
+ sec: '00'
+ },
+
+ getMarketPrice: '',
+ goodType: null, //商品类型: 拼购商品 groupBuy ||抢团商品 grabGroup
+
+ },
+ lifetimes: {
+ attached(e) {
+ this.getiPnoneBottom();
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ this.setData({
+ activityId: this.properties.activityid || 0,
+ goodsId: this.properties.goodsId,
+ goodsInfo: {},
+ goodType: this.properties.goodType
+ });
+ this.getData();
+
+ this.getCommentData();
+ },
+ detached() {
+ // 在组件实例被从页面节点树移除时执行
+ },
+ ready() {
+ let that = this;
+ this.createSelectorQuery().select('.sift').boundingClientRect(function (rect) {
+ that.setData({
+ pjtop: rect.top - 80
+ });
+ }).exec();
+ this.createSelectorQuery().select('.pullBox').boundingClientRect(function (rect) {
+ console.log(rect.top);
+ that.setData({
+ xqtop: rect.top - 80
+ });
+ }).exec();
+ try {
+ wx.getStorage({
+ key: 'yz_basic_info',
+ success: function (res) {
+ that.setData({
+ getMarketPrice: res.data.lang.goods.market_price
+ });
+ },
+ });
+ } catch (e) {
+ console.log(e);
+ }
+ }
+ },
+ observers:{
+ 'datop':function(obs){
+ let that = this;
+ if(that.data.getTapNoObsever){
+ return;
+ }
+ this.createSelectorQuery()
+ .select(".sift")
+ .boundingClientRect(function (rect) {
+ siftTop = rect.top -50;
+ })
+ .exec();
+ this.createSelectorQuery()
+ .select(".foShowBox")
+ .boundingClientRect(function (rect) {
+ foshowTop = rect.top - 150;
+ })
+ .exec();
+ console.log(foshowTop,siftTop);
+ if(foshowTop < 0 && siftTop < 0){
+ that.setData({
+ current:3
+ });
+ }else if(siftTop <=0 && foshowTop>0){
+ that.setData({
+ current:2
+ });
+ }else if(foshowTop >0 && siftTop > 0){
+ that.setData({
+ current:1
+ });
+ }
+ }
+ },
+ methods: {
+ getiPnoneBottom() {
+ let that = this;
+ try {
+ var value = wx.getStorageSync('iPhoneBottom');
+ if (value) {
+ that.setData({
+ iPnoneBottomBol: true
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ showGoodslistM() {
+ this.setData({
+ showGoodslist: true
+ });
+ },
+ clicktapshow() {
+ this.setData({
+ showGoodslist: false
+ });
+ },
+ closeCs() {
+ this.setData({
+ showCs: false
+ });
+ },
+ showCan() {
+ console.log('开启参数弹窗');
+ this.setData({
+ showCs: true,
+ second_content: this.data.goodsInfo.has_many_params
+ });
+ },
+ gotoShopGoods(e) {
+ let _id = e.target.dataset.id || e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + _id
+ });
+ },
+ // 隐藏评论按钮
+ streetClose() {
+ this.setData({
+ streetShow: false
+ });
+ },
+ // 查看全部评论
+ goKb() {
+ console.log('打开全部口碑');
+ this.setData({
+ streetShow: true
+ });
+ this.getCommentData();
+ },
+ // 顶部导航
+ getTap(e) {
+ console.log(e.currentTarget.id);
+ let pid = e.currentTarget.id;
+ this.setData({
+ current: pid,
+ getTapNoObsever:true
+ });
+ if (pid == 1) {
+ wx.pageScrollTo({
+ scrollTop: 0,
+ duration: 300,
+ success:(res)=>{
+ setTimeout(() => {
+ this.setData({
+ getTapNoObsever:false
+ });
+ }, 300);
+ }
+ });
+ } else if (pid == 2) {
+ wx.pageScrollTo({
+ scrollTop: this.data.pjtop + 50,
+ duration: 300,
+ success:(res)=>{
+ setTimeout(() => {
+ this.setData({
+ getTapNoObsever:false
+ });
+ }, 300);
+ }
+ });
+ } else if (pid == 3) {
+ this.setData({
+ xqBoxShow: true
+ });
+ wx.pageScrollTo({
+ scrollTop: this.data.xqtop +100,
+ duration: 300,
+ success:(res)=>{
+ setTimeout(() => {
+ this.setData({
+ getTapNoObsever:false
+ });
+ }, 300);
+ }
+ });
+ }
+ },
+ imageLoad(res) {
+ if (res.target.dataset.index == 1) {
+ this.setData({
+ heightDome: res.detail.height
+ });
+ }
+ },
+
+ showGroupMore() {
+ if (this.data.team.length == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '抱歉,暂无更多可参与的团!',
+ duration: 1500
+ });
+ return;
+ }
+
+ },
+ // 点击蒙层触发
+ tapOverlay() {
+ this.setData({
+
+ posterShow: false
+ });
+ },
+ showPop() {
+ this.setData({
+ show1: true
+ });
+ },
+ // 获取数据
+ getData() {
+ let urlStr = null;
+ urlStr = app.getNetAddresss('plugin.star-spell.frontend.index.goodsDetail');
+ urlStr += '&goods_id=' + this.data.goodsId;
+
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log("team", res.data.team);
+ let thumb = [];
+ thumb.push(res.data.goods.thumb);
+ this.setData({
+ gooddatas: res.data.goods,
+ popStock: res.data.goods.stock,
+ team: res.data.team,
+ third_content: res.data.comment.data,
+ end_time: res.data.goods.end_time,
+ 'gooddatas.thumb': thumb,
+ 'gooddatas.status': res.data.activity_state,
+ first_content: res.data.goods.content
+ });
+ console.log("team", this.data.team, res.data.team);
+
+ // 分享的自定义图片
+ wx.setStorageSync('GoddsShareImg', thumb[0]);
+ this.triggerEvent('parentEvent', [this.data.gooddatas.title]);
+ let start_time = new Date().getTime() / 1000;
+ this.setData({
+ nowTime: start_time
+ });
+
+
+ let _team = this.data.team;
+ for (let i = _team.length - 1; i >= 0; i--) {
+ if (_team[i].end_time <= start_time) {
+ _team.splice(i, 1); //删除下标为i的元素
+ }
+ }
+ this.setData({
+ team: _team.splice(0, 3)
+ });
+
+ this._timeCompare(res.data.goods.start_time);
+
+ let article = this.data.first_content;
+ try {
+ if (article.indexOf('') <= -1) {
+ WxParse.wxParse('article', 'html', article, this);
+ }
+ } catch (e) {
+ //TODO handle the exception
+ }
+ // WxParse.wxParse('article', 'html', article, this)
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ gotoStarMusicListGroup() {
+ if (this.data.team.length == 0) return app.tips("暂无更多可参团");
+ wx.navigateTo({
+ url: '/packageH/starMusic/starMusicListGroup/starMusicListGroup?id=' + this.data.gooddatas.activity_id
+ });
+ },
+ gotoStarMusicGroupDetails(evt) {
+ let id = evt.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageH/starMusic/starMusicGroupDetails/starMusicGroupDetails?id=' + id
+ });
+ //this.$router.push(this.fun.getUrl("starMusicGroupDetails",{id}));
+ },
+
+ // 获取评论数据
+ getCommentData() {
+ let that = this;
+ let json = {
+ goods_id: this.properties.goodsId,
+ page: this.data.commentPage
+ };
+ let urlStr = app.getNetAddresss('goods.comment.get-comment');
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.data.length < 20) {
+ that.setData({
+ noMoreComment: true
+ });
+ }
+ that.setData({
+ commentPage: that.data.commentPage + 1
+ });
+ if (!that.data.third_content) {
+ that.setData({
+ third_content: []
+ });
+ }
+ that.setData({
+ third_content: [...that.data.third_content, ...res.data.data]
+ });
+ console.log(that.data.third_content);
+ if (app._isTextEmpty(that.data.third_content)) {
+ console.log('空没评论');
+ that.setData({
+ thirKong: false
+ });
+ } else {
+ console.log("不空");
+ that.setData({
+ thirKong: true
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+
+
+ //查看大图
+ seePicture(evt) {
+ let pics = evt.currentTarget.dataset.pics;
+ let index = evt.currentTarget.dataset.index;
+ wx.previewImage({
+ current: pics[index], // 当前显示图片的http链接
+ urls: pics // 需要预览的图片http链接列表
+ });
+ },
+
+ // 跳转评论详情
+ toContentInfo(e) {
+ let data = e.target.dataset.item || e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: '/packageD/member/CommentDetails/CommentDetails?order_id' + data.order_id + '&goods_id=' + data.goods_id +
+ '&uid=' + data.uid + '&comment_id=' + data.id
+ });
+ },
+ // 顶部返回按钮
+ goto() {
+ if (share_tag == '-1') {
+ wx.navigateBack({
+ delta: 1
+ });
+ } else {
+ wx.reLaunch({
+ url: '/packageG/index/index',
+ });
+ }
+ },
+ // 跳转主页
+ gotoHome() {
+ wx.reLaunch({
+ url: '/packageG/index/index',
+ });
+ },
+ // 跳转个人中心
+ gotoMember() {
+ wx.reLaunch({
+ url: '/packageG/member_v2/member_v2'
+ });
+ },
+ postShow() {
+
+ let that = this;
+ if (that.data.posterImg) {
+ this.setData({
+ posterShow: true
+ });
+ } else {
+ wx.showLoading({
+ title: '海报生成中',
+ });
+ let urlStr = app.getNetAddresss('plugin.star-spell.frontend.goods-poster.generateGoodsPoster');
+
+ urlStr += '&id=' + this.data.goodsId;
+
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ posterShow: true,
+ posterImg: res.data.image_url
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ this.setData({
+ posterShow: false
+ });
+ }
+ wx.hideLoading();
+ }
+ });
+ setTimeout(function () {
+ wx.hideLoading();
+ }, 5000);
+ }
+ },
+
+
+ // 隐藏二维码
+ tapposterShow() {
+ this.setData({
+ posterShow: false
+ });
+ },
+ // 长按保存
+ saveImg() {
+ wx.getSetting({
+ success: (res) => {
+ if (!res.authSetting['scope.writePhotosAlbum']) {
+ wx.authorize({
+ scope: 'scope.writePhotosAlbum',
+ success() {}
+ });
+ }
+ }
+ });
+ var imgSrc = this.data.posterImg;
+ wx.downloadFile({
+ url: imgSrc,
+ success: function (res) {
+ // 图片保存到本地
+ wx.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success: function (data) {
+ wx.showToast({
+ title: '保存成功',
+ icon: 'none',
+ duration: 2000
+ });
+ },
+ fail: function (err) {
+ if (err.errMsg === 'saveImageToPhotosAlbum:fail auth deny') {
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting['scope.writePhotosAlbum']) {
+ wx.showToast({
+ icon: 'none',
+ title: '获取权限成功,再次长按保存图片',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '获取权限失败,保存图片需要用户授权',
+ duration: 1500
+ });
+ }
+ }
+ });
+ }
+ },
+ complete(res) {
+ console.log(res);
+ }
+ });
+ }
+ });
+ },
+ //获取时间-限时购
+ _timeCompare(begin) {
+ let beginTime = new Date(parseInt(begin) * 1000);
+ let now = new Date();
+ if (now >= beginTime) {
+ this.setData({
+ isTime: true
+ });
+ //开启倒计时
+ this._countDown();
+ } else {
+ this.setData({
+ isTime: false,
+ isTimeEnd: false,
+ begTimeStr: begin * 1000
+ });
+ //开启距离开始倒计时
+ this.beginDown();
+ }
+ },
+ //倒计时
+ _countDown: function () {
+ let newTime = new Date().getTime();
+ let endTime = this.data.end_time * 1000;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt(time % (60 * 60 * 24) / 3600);
+ let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
+ let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec)
+ };
+ } else { //活动已结束,全部设置为'00'
+ obj = {
+ day: '00',
+ hou: '00',
+ min: '00',
+ sec: '00'
+ };
+ }
+ this.setData({
+ countDownObj: obj
+ });
+ // console.log('gggggggggggggggg',endTime ,newTime )
+ if (endTime - newTime < 0) {
+ this.setData({
+ countDownObj: {
+ day: '00',
+ hou: '00',
+ min: '00',
+ sec: '00'
+ },
+ isTimeEnd: true
+ });
+ } else {
+ setTimeout(this._countDown.bind(this), 1000);
+ }
+
+ },
+ //倒计时
+ beginDown: function () {
+ let newTime = new Date().getTime();
+ let endTime = this.data.begTimeStr;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt(time % (60 * 60 * 24) / 3600);
+ let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
+ let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec)
+ };
+ } else { //活动已结束,全部设置为'00'
+ this.setData({
+ isTime: true,
+ isTimeEnd: true
+ });
+ obj = {
+ day: '00',
+ hou: '00',
+ min: '00',
+ sec: '00'
+ };
+ }
+ this.setData({
+ beginDownObj: obj
+ });
+ if (endTime - newTime < 0) {
+ this.setData({
+ isTime: true,
+ isTimeEnd: true
+ });
+ this.setData({
+ beginDownObj: {
+ day: '00',
+ hou: '00',
+ min: '00',
+ sec: '00'
+ }
+ });
+ } else {
+ setTimeout(this.beginDown.bind(this), 1000);
+ }
+ },
+ //小于10的格式化函数
+ _timeFormat(param) { //小于10的格式化函数
+ return param < 10 ? '0' + param : param;
+ },
+
+
+ },
+ pageLifetimes: {
+ show() {
+ // 页面被展示
+ },
+ hide() {
+ // 页面被隐藏
+ },
+ resize(size) {
+ // 页面尺寸变化
+ }
+ }
+
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/star_group/star_group.json b/packageA/mycomponent/star_group/star_group.json
new file mode 100644
index 0000000..c116819
--- /dev/null
+++ b/packageA/mycomponent/star_group/star_group.json
@@ -0,0 +1,17 @@
+{
+ "component": true,
+ "navigationBarTitleText": "活动详情",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-rate": "../../../dist/rate/index",
+ "van-icon": "../../../dist/icon/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "count": "../../../mycomponent/count/count",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "goods-qrcode":"/mycomponent/temp/goods_qrcode/goods_qrcode",
+ "backup":"../goodsComponent/backup/backup"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/star_group/star_group.wxml b/packageA/mycomponent/star_group/star_group.wxml
new file mode 100644
index 0000000..23721bb
--- /dev/null
+++ b/packageA/mycomponent/star_group/star_group.wxml
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+ 商品
+ 评论
+ 详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 超值
+
+ 开团
+
+
+ {{language['money']}}{{gooddatas.price}}起
+
+
+
+ {{isTime?'活动截止倒计时':'活动开始倒计时'}}
+
+ {{countDownObj.day}}
+ 天
+ {{countDownObj.hou}}
+ :
+ {{countDownObj.min}}
+ :
+ {{countDownObj.sec}}
+
+
+ {{beginDownObj.day}}
+ 天
+ {{beginDownObj.hou}}
+ :
+ {{beginDownObj.min}}
+ :
+ {{beginDownObj.sec}}
+
+
+ 截止倒计时:已结束
+
+
+
+
+
+
+ {{gooddatas.activity_name}}
+
+
+
+
+
+
+
+
+
+ 分享
+
+
+
+
+
+ 库存{{gooddatas.stock}}
+ 销量{{gooddatas.show_sales}}件
+
+
+
+
+
+ 星拼乐玩法
+
+
+ 1
+ 选择商品付款开团/参团
+
+
+ 2
+ 邀请并等好友支付参团
+
+
+ 3
+ 达到人数顺利抢团
+
+
+
+
+
+ 以下小伙伴拼团中,可直接参与
+
+ 查看更多
+
+
+
+
+
+
+
+
+ {{item.nickname}} 开{{item.limit_num}}人团
+
+
+ 剩余
+
+ 结束,仅差 {{item.surplus_member}} 人
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 参数
+
+ 商品参数详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 精选口碑
+
+
+ 查看全部({{third_content.length}})
+
+
+
+
+
+
+
+
+
+
+ {{item.nick_name}}
+
+
+
+ {{item.content}}
+
+
+
+
+
+ 抱歉,暂无评论 ~
+
+
+
+
+
+
+
+
+
+ 主页
+
+
+
+
+ ¥{{gooddatas.price}}起
+ 去参团
+
+
+ 活动已结束
+
+
+
+
+
+
+
+ 上拉查看商品详情
+
+
+ 商品详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 商品参数
+
+ {{item.title}}
+ {{item.value}}
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{n.nick_name}}
+ {{n.created_at}}
+
+
+ {{n.content}}
+
+ 晒图:
+
+
+
+
+
+
+
+
+ 追评
+ {{n.append.created_at}}
+
+ {{n.append.content}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+ {{language['money']}} {{ item.price }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageA/mycomponent/star_group/star_group.wxss b/packageA/mycomponent/star_group/star_group.wxss
new file mode 100644
index 0000000..faeafb8
--- /dev/null
+++ b/packageA/mycomponent/star_group/star_group.wxss
@@ -0,0 +1,1564 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.foShowBox .actives video {
+ width: 100%;
+}
+
+.foShowBox .actives image {
+ width: 100%;
+}
+
+.wxParse-p {
+ display: flex;
+ flex-direction: column;
+}
+
+.group_good {
+ padding-bottom: 60px;
+}
+
+.group_good .content {
+ position: relative;
+}
+
+.group_good .content .hoid {
+ padding: 10rpx;
+ width: 51.2rpx;
+ position: fixed;
+ z-index: 2;
+}
+
+.group_good .content .cart {
+ padding: 10rpx;
+ width: 51.2rpx;
+ position: fixed;
+ z-index: 2;
+ box-sizing: content-box;
+}
+
+.group_good .content .member {
+ padding: 10rpx;
+ width: 51.2rpx;
+ position: fixed;
+ z-index: 2;
+ box-sizing: content-box;
+}
+
+.group_good .content .cart {
+ right: 0;
+}
+
+.group_good .content .member {
+ right: 64rpx;
+}
+
+.group_good .content .hoid.hoet {
+ transition: 0.1s;
+ background: white;
+ width: 100%;
+}
+
+.group_good .content .back {
+ width: 51.2rpx;
+ height: 51.2rpx;
+ border-radius: 100%;
+ color: #fff;
+ background-color: rgba(0, 0, 0, 0.4);
+ text-indent: 0rpx;
+ line-height: 54.4rpx;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.group_good .content .hoet .back {
+ transition: 0.1s;
+ background-color: rgba(237, 237, 237, 0);
+}
+
+.showicon.hoet .back icon {
+ color: black;
+}
+
+.group_good .content .goods_img {
+ width: 750rpx;
+ height: 750rpx;
+ background: #f2f2f2;
+ overflow: hidden;
+}
+
+.group_good .content .goods_img image {
+ width: 100%;
+ height: 100%;
+}
+
+.group_good .content .price_time {
+ width: 100%;
+ height: 100rpx;
+ background: #f15353;
+
+ /* position: absolute; */
+ top: 210rpx;
+ display: flex;
+ align-items: center;
+}
+
+.group_good .content .price_time .img {
+ width: 10%;
+ height: 100%;
+}
+
+.group_good .content .price_time .img image {
+ width: 60%;
+ height: 100%;
+}
+
+.group_good .content .price_time .text {
+ width: 76rpx;
+ color: #fff;
+ font-size: 28rpx;
+}
+
+.group_good .content .price_time .price {
+ width: 40%;
+ font-size: 14px;
+ color: #fff;
+ padding-left: 28rpx;
+ text-align: left;
+}
+
+.group_good .content .price_time .price .font {
+ font-size: 22px;
+}
+
+.group_good .content .price_time .timeContainer {
+ flex: 1;
+ color: #fff;
+ display: flex;
+ flex-direction: column;
+}
+
+.group_good .content .price_time .timeContainer .time {
+ display: flex;
+ justify-content: center;
+}
+
+.group_good .content .price_time .timeContainer .time .date {
+ background-color: #fff;
+ padding: 0 0.125rem;
+ margin: 0 4rpx;
+ min-width: 1.4rem;
+ color: #000;
+ border-radius: 6rpx;
+}
+
+.group_good .content .good_title_one {
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ text-align: left;
+ font-size: 28rpx;
+ line-height: 40rpx;
+ margin-bottom: 16rpx;
+ font-weight: bold;
+ color: #000;
+}
+
+.group_good .content .title_number {
+ background: #fff;
+ padding: 28rpx;
+}
+
+.group_good .content .title_number .title_Main {
+ display: flex;
+}
+
+.market-price {
+ font-size: 20rpx;
+ margin-left: 10rpx;
+ color: #999;
+ text-decoration: line-through;
+}
+
+.group_good .content .title_number .title_Main .h1 {
+ flex: 3;
+ font-size: 16px;
+ text-align: left;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.group_good .content .title_number .title_Main icon {
+ font-size: 36rpx;
+ color: #666;
+ margin-left: 32rpx;
+ line-height: 48rpx;
+}
+
+.group_good .content .title_number .number {
+ margin-top: 16rpx;
+}
+
+.group_good .content .title_number .number .li {
+ display: flex;
+ justify-content: space-between;
+}
+
+.group_good .content .title_number .number .li .span {
+ font-size: 12px;
+ color: #8c8c8c;
+ margin-right: 40rpx;
+}
+
+.act-box {
+ font-size: 28rpx;
+ background-color: #fff;
+ margin-top: 20rpx;
+ color: #333;
+}
+
+.act-box .act {
+ display: flex;
+ height: 88rpx;
+ margin-right: 24rpx;
+ margin-left: 24rpx;
+ align-items: center;
+}
+
+.act-box .act .act1 {
+ margin-right: 40rpx;
+}
+
+.act-box .act .act2 text {
+ border: solid 2rpx #f15353;
+ color: #f15353;
+ padding: 4rpx 20rpx;
+ border-radius: 6rpx;
+ font-size: 24rpx;
+}
+
+.act-box .act .act3 {
+ flex: 2.5;
+ margin-left: 20rpx;
+ font-size: 24rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.act-box .act .ang_right {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+}
+
+.act-box .act .ang_right .ang_right_icon {
+ width: 32rpx;
+ padding-top: 10rpx;
+}
+
+.sift {
+ /* height: 332rpx; */
+ background: #fff;
+ margin-top: 20rpx;
+ padding: 0 24rpx;
+ overflow: hidden;
+}
+
+.sift-title {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ font-size: 28rpx;
+ margin-top: 20rpx;
+}
+
+.swiper-kb {
+ box-shadow: 0 3px 15px #e6e6e6;
+ margin-top: 20rpx;
+ margin-left: 20rpx;
+}
+
+.swiper-kb .figure {
+ display: flex;
+}
+
+.swiper-kb .figure image {
+ width: 60rpx;
+ height: 60rpx;
+ margin-right: 20rpx;
+ margin-left: 21rpx;
+ margin-top: 30rpx;
+ border-radius: 100%;
+}
+
+.swiper-kb .figure .figtxt {
+ margin-top: 25rpx;
+ flex: 1;
+}
+
+.swiper-kb .figure .figtxt text {
+ height: 17px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ margin-right: 10rpx;
+}
+
+.figure_right {
+ padding: 0 24rpx;
+ margin-top: 10rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+.tit_a {
+ margin-left: 24rpx;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.tit_a text {
+ font-size: 28rpx;
+ color: #ed0606;
+}
+
+.sift-right {
+ display: flex;
+ align-items: center;
+ color: #ed0606;
+ font-size: 28rpx;
+ flex: 1;
+ justify-content: flex-end;
+}
+
+.sift-right van-icon {
+ margin-top: 10rpx;
+}
+
+.foShowBox {
+ transition: 1s;
+}
+
+.group_good .content .group_play {
+ margin-top: 20rpx;
+ background: #fff;
+ padding: 28rpx;
+}
+
+.group_good .content .group_play .h2 {
+ font-weight: normal;
+ font-size: 15px;
+ margin-bottom: 20rpx;
+ text-align: left;
+}
+
+.group_good .content .group_play .play {
+ display: flex;
+ padding: 12rpx;
+}
+
+.group_good .content .group_play .play .li {
+ width: 33.3%;
+ margin-right: 8rpx;
+ color: #8c8c8c;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ position: relative;
+}
+
+.group_good .content .group_play .play .li .span:first-child {
+ display: block;
+ width: 32rpx;
+ height: 32rpx;
+ line-height: 32rpx;
+ color: #ff6333;
+ font-size: 12px;
+ border-radius: 32rpx;
+ background: rgba(255, 96, 0, 0.1);
+ text-align: center;
+ margin-bottom: 12rpx;
+}
+
+.group_good .content .group_play .play .li .span:last-child {
+ width: 160rpx;
+ color: #333;
+}
+
+.group_good .content .group_play .play .border_lr::before,
+.group_good .content .group_play .play .border_lr::after {
+ content: '';
+ position: absolute; /* 定位背景横线的位置 */
+ top: 0.5rem;
+ background: #ccced0; /* 背景横线颜色 */
+ width: 70%; /* 单侧横线的长度 */
+ height: 1px;
+}
+
+.group_good .content .group_play .play .border_lr::before {
+ left: -40%; /* 调整背景横线的左右距离 */
+}
+
+.group_good .content .group_play .play .border_lr::after {
+ right: -40%;
+}
+
+.group_good .content .group_play .play .li:last-child {
+ margin: 0;
+}
+
+.group_good .content .group_into {
+ background: #fff;
+ margin: 20rpx 0;
+ padding: 28rpx;
+ position: relative;
+}
+
+.group_good .content .group_into .h2 {
+ font-weight: normal;
+ font-size: 15px;
+ margin-bottom: 20rpx;
+ text-align: left;
+}
+
+.group_good .content .group_into .more {
+ position: absolute;
+ top: 28rpx;
+ right: 28rpx;
+ display: flex;
+ color: #8c8c8c;
+ font-size: 12px;
+}
+
+.group_good .content .group_into .more .fa {
+ font-size: 32rpx;
+ margin-left: 12rpx;
+}
+
+.group_good .content .group_into .into_user {
+ display: flex;
+ align-items: center;
+}
+
+.group_good .content .group_into .into_user .user {
+ width: 72rpx;
+ height: 72rpx;
+ background: #f2f2f2;
+ border-radius: 64rpx;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.group_good .content .group_into .into_user .user image {
+ width: 100%;
+ height: 100%;
+}
+
+.group_good .content .group_into .into_user .time {
+ /* width: 458rpx; */
+ flex: 1;
+ text-align: left;
+}
+
+.group_good .content .group_into .into_user .time .time_a {
+ font-size: 14px;
+}
+
+.group_good .content .group_into .into_user .time .time_a .name {
+ font-size: 14px;
+ overflow: hidden;/* 超出部分隐藏 */
+ text-overflow: ellipsis;/* 超出部分显示省略号 */
+ white-space: nowrap;/* 规定段落中的文本不进行换行 */
+}
+
+.group_good .content .group_into .into_user .time .time_b {
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.group_good .content .group_into .into_user .time .time_b .span {
+ color: #f15353;
+}
+
+.group_good .content .group_into .into_user button {
+ border: none;
+ background: #f15353;
+ color: #fff;
+ width: 100%;
+ height: 100%;
+ border-radius: 8rpx;
+ font-size: 12px;
+}
+
+.group_good .content .group_detail {
+ margin-top: 20rpx;
+ background: #fff;
+}
+
+.group_good .content .group_btn {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ height: 100rpx;
+ background: #fff;
+ border-top: solid 1rpx #ebebeb;
+}
+
+.group_good .content .group_btn .item {
+ height: 100rpx;
+ display: flex;
+}
+
+.group_good .content .group_btn .item .item_a {
+ width: 120rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ position: relative;
+}
+
+.group_good .content .group_btn .item .item_a .iconfont {
+ color: #666;
+ font-size: 40rpx;
+ height: 60rpx;
+}
+
+.group_good .content .group_btn .item .item_a .span {
+ color: #666;
+ font-size: 24rpx;
+ display: block;
+}
+
+.group_good .content .group_btn .item .item_b .span {
+ line-height: 34rpx;
+}
+
+.group_good .content .group_btn .item .item_b,
+.group_good .content .group_btn .item .item_c {
+ width: 100%;
+ height: 100%;
+ background: #f15353;
+ color: #fff;
+ font-size: 28rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+.group_good .content .group_btn .item .endClass {
+ background: #c9c9c9 !important;
+}
+
+.group_good .content .group_btn .item .group_btn_box {
+ flex: 1;
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+}
+
+.group_good .content .group_btn .item .group_btn_box .text {
+ font-size: 24rpx;
+}
+
+.group_good .content .mint-popup-4 {
+ width: 100%;
+}
+
+.group_good .content .one_open {
+ padding-bottom: 120rpx;
+}
+
+.group_good .content .one_open .img_price {
+ display: flex;
+ padding: 28rpx;
+}
+
+.group_good .content .one_open .img_price .goods {
+ width: 188rpx;
+ height: 188rpx;
+ background: #f2f2f2;
+ border: solid 2rpx #ebebeb;
+ overflow: hidden;
+ border-radius: 6rpx;
+ position: absolute;
+ top: -60rpx;
+}
+
+.group_good .content .one_open .img_price .goods image {
+ width: 100%;
+ height: 100%;
+}
+
+.group_good .content .one_open .img_price .price {
+ margin-left: 220rpx;
+ text-align: left;
+}
+
+.group_good .content .one_open .img_price .price .price_a {
+ color: #f15353;
+ font-size: 18px;
+}
+
+.group_good .content .one_open .img_price .price .price_b {
+ color: #8c8c8c;
+ font-size: 12px;
+}
+
+.group_good .code_box {
+ width: 500rpx;
+
+ /* height: 970rpx; */
+
+ /* position: absolute;
+ left: 50%; */
+ display: block;
+ margin: 0 auto 80rpx;
+ border-radius: 12rpx;
+}
+
+.group_good .code_box image {
+ width: 100%;
+ border-radius: 12rpx;
+}
+
+.group_good .posterPopup_style .icon_btn {
+ width: 100%;
+ position: relative;
+
+ /* height: 120rpx; */
+ background: #fff;
+ text-align: center;
+ display: flex;
+ justify-content: space-around;
+}
+
+.group_good .posterPopup_style .icon_btn .box {
+ width: 50%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+ padding: 20rpx 0;
+ position: relative;
+}
+
+.group_good .posterPopup_style .icon_btn image {
+ width: 80rpx;
+ height: 80rpx;
+ margin-bottom: 8rpx;
+}
+
+.group_good .posterPopup_style .icon_close {
+ width: 100%;
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ background: #efefef;
+ color: #333;
+ font-size: 32rpx;
+}
+
+.group_good .content .one_open .icon_close {
+ position: absolute;
+ top: 8rpx;
+ right: 0;
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.group_good .content .one_open .icon_close .iconfont {
+ line-height: 80rpx;
+ font-size: 36rpx;
+ color: #999;
+}
+
+.group_good .content .one_open .select_box {
+ display: flex;
+ padding: 28rpx 28rpx 0 28rpx;
+}
+
+.group_good .content .one_open .select_box .select {
+ /* border-top: solid 2rpx #ebebeb; */
+
+ display: flex;
+ flex-wrap: wrap;
+ padding: 28rpx 0;
+ font-size: 14px;
+}
+
+.group_good .content .one_open .select_box .select .li {
+ width: 215rpx;
+ padding: 20rpx 0;
+ border: solid 2rpx #ebebeb;
+ border-radius: 8rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.group_good .content .one_open .select_box .select .li .span {
+ display: block;
+ font-size: 14px;
+}
+
+.group_good .content .one_open .select_box .select .li .span .font {
+ font-size: 18px;
+}
+
+.group_good .content .one_open .select_box .select .li:nth-child(3n) {
+ margin-right: 0;
+}
+
+.group_good .content .one_open .select_box .select .current {
+ border: solid 2rpx #f15353;
+ color: #f15353;
+}
+
+.group_good .content .one_open .select_box .van-radio-group {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.group_good .content .one_open .select_box .van-radio-group .van-radio {
+ margin-right: 10rpx;
+ margin-bottom: 10rpx;
+ background: #fff;
+ border: 1px solid #bfcbd9;
+ text-align: center;
+ box-sizing: border-box;
+ border-radius: 8rpx;
+}
+
+.van-popup {
+ overflow-y: inherit !important;
+}
+
+.vantRadioshow {
+ background-color: #f15353;
+ border-color: #f15353;
+ color: #fff;
+
+ /* box-shadow: #f15353 -1px 0px 0px 0px; */
+}
+
+.group_good .content .one_open .noVantRadio {
+ padding: 0 40rpx;
+}
+
+.group_good .content .one_open .noVantRadio .van-radio-group .van-radio__label {
+ padding: 64rpx !important;
+}
+
+.group_good .content .one_open .noVantRadio .dl {
+ margin-bottom: 25.6rpx;
+ text-align: left;
+}
+
+.group_good .content .one_open .noVantRadio .dl .dt {
+ margin-bottom: 1rpx;
+}
+
+.group_good .content .one_open .noVantRadio .dl .van-radio-group {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.group_good .content .one_open .noVantRadio .dl .van-radio-group .van-radio {
+ margin-right: 10rpx;
+ margin-bottom: 10rpx;
+ background: #fff;
+ border: 1px solid #bfcbd9;
+ text-align: center;
+ box-sizing: border-box;
+ border-radius: 8rpx;
+}
+
+.group_good .content .one_open .noVantRadio .dl .van-radio-group .vantRadioshow {
+ background-color: #f15353;
+ border-color: #f15353;
+ box-shadow: #f15353 -1px 0 0 0;
+}
+
+.group_good .content .one_open .buy_number {
+ margin: 0 28rpx;
+ height: 120rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ border-top: solid 2rpx #ebebeb;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.group_good .content .one_open .buy_number .num {
+ border-radius: 6rpx;
+ float: right;
+ background-color: #fff;
+}
+
+.group_good .content .one_open .buy_number .num .leftnav {
+ height: 56rpx;
+ width: 56rpx;
+ float: left;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 6rpx;
+ line-height: 56rpx;
+ font-size: 18px;
+ font-weight: bold;
+}
+
+.group_good .content .one_open .buy_number .num .shownum {
+ height: 56rpx;
+ width: 72rpx;
+ float: left;
+ border: 0rpx;
+ margin: 0rpx;
+ padding: 0rpx;
+ text-align: center;
+ color: #333;
+}
+
+.group_good .content .one_open .buy_number .num .rightnav {
+ height: 56rpx;
+ width: 56rpx;
+ float: right;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 6rpx;
+ line-height: 56rpx;
+ font-size: 18px;
+ font-weight: bold;
+}
+
+.group_good .content .one_open .btn {
+ background: #f15353;
+ height: 100rpx;
+ width: 100%;
+ color: #fff;
+ font-size: 16px;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ border: none;
+}
+
+.group_good .content .open_group {
+ background: #fff;
+ padding: 20rpx;
+ border-radius: 16rpx;
+}
+
+.group_good .content .open_group .p {
+ font-size: 14px;
+ margin-bottom: 20rpx;
+}
+
+.group_good .content .open_group .icon_close {
+ position: absolute;
+ top: 8rpx;
+ right: 0;
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.group_good .content .open_group .iconfont {
+ line-height: 80rpx;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.group_good .content .into_bg_color {
+ background-color: #f5f5f5;
+ border-radius: 4rpx;
+ padding: 12rpx;
+ max-height: 18rem;
+ overflow-y: scroll;
+}
+
+.group_good .content .into_user {
+ display: flex;
+ align-items: center;
+ padding: 20rpx 0;
+ background: #fff;
+}
+
+.group_good .content .into_user .user {
+ width: 72rpx;
+ height: 72rpx;
+ background: #f2f2f2;
+ border-radius: 64rpx;
+ overflow: hidden;
+}
+
+.group_good .content .into_user .user image {
+ width: 100%;
+ height: 100%;
+}
+
+.group_good .content .into_user .time {
+ width: 368rpx;
+ text-align: left;
+}
+
+.group_good .content .into_user .time .li {
+ display: flex;
+ justify-content: space-between;
+}
+
+.group_good .content .into_user .time .time_a {
+ font-size: 14px;
+}
+
+.group_good .content .into_user .time .time_a .name {
+ font-size: 14px;
+ overflow: hidden;/* 超出部分隐藏 */
+ text-overflow: ellipsis;/* 超出部分显示省略号 */
+ white-space: nowrap;/* 规定段落中的文本不进行换行 */
+ flex: 1;
+}
+
+.group_good .content .into_user .time .time_b {
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.group_good .content .into_user .time .time_b .span {
+ color: #f15353;
+}
+
+.group_good .content .into_user button {
+ border: none;
+ color: #fff;
+ width: 114rpx;
+ height: 50rpx;
+ border-radius: 25rpx !important;
+ font-size: 24rpx;
+ background: #f15353 !important;
+ padding-left: 0;
+ padding-right: 0;
+ line-height: 50rpx;
+}
+
+.group_good .content .into_user button::after {
+ border: none;
+}
+
+.showicon {
+ display: flex;
+ justify-content: flex-end;
+ position: fixed;
+ z-index: 2;
+ box-sizing: content-box;
+ padding: 10rpx;
+ width: 100%;
+ height: 60rpx;
+}
+
+.showicon.hoet {
+ transition: 0.1s;
+ background: white;
+ width: 100%;
+}
+
+.show_b {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ margin-right: 222rpx;
+}
+
+.show_b view {
+ padding: 15rpx 30rpx;
+}
+
+.curr {
+ border-bottom: 4rpx solid #f15353;
+}
+
+.shopInfo .pj {
+ background: #fff;
+ padding: 0 20rpx 80rpx;
+ margin-bottom: 10rpx;
+}
+
+.shopInfo .pj .user {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ padding-top: 10rpx;
+ padding-bottom: 10rpx;
+}
+
+.shopInfo .pj .user .imageshow {
+ width: 8%;
+ position: relative;
+ overflow: hidden;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.shopInfo .pj .user .imageshow image {
+ width: 80%;
+ border-radius: 50%;
+}
+
+.shopInfo .pj .user .name {
+ flex: 5;
+ text-align: left;
+}
+
+.shopInfo .pj .user .time {
+ color: #908a8a;
+ font-size: 24rpx;
+ padding-right: 20rpx;
+}
+
+.shopInfo .pj .p {
+ text-align: left;
+ margin: 0;
+ padding-bottom: 20rpx;
+}
+
+.foShowBox {
+ transition: 1s;
+}
+
+.pullBox {
+ width: 100%;
+ height: 110rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.pullBox image {
+ width: 32rpx;
+ height: 32rpx;
+ margin-right: 20rpx;
+}
+
+.actives {
+ animation: mymove 0.5s;
+}
+
+@keyframes mymove {
+ from {
+ transform: translateY(-400rpx) scale(0.5) rotateY(90deg);
+ }
+
+ to {
+ transform: translateY(0) scale(1) rotateY(0);
+ }
+}
+
+.noneBox {
+ display: none;
+}
+
+.rotateImg {
+ transform: rotate(180deg);
+ -webkit-transform: rotate(180deg);
+ transition: transform 0.5s;
+}
+
+.normalImg {
+ transform: rotate(0deg);
+ -webkit-transform: rotate(0deg);
+ transition: transform 0.5s;
+}
+
+.rotadh {
+ animation-delay: 2s;
+ transition: 2s;
+}
+
+.nondh {
+ transition: 2s;
+ display: none;
+ animation-delay: mymove 2s;
+}
+
+.canshu .parameter .par-info {
+ display: flex;
+ justify-content: space-between;
+ margin: 0 20rpx;
+ padding: 24rpx 0;
+ align-items: center;
+ border-bottom: 2rpx solid #e4e4e4;
+ box-sizing: border-box;
+}
+
+.canshu .parameter .par-info .name {
+ text-align: left;
+ padding-right: 40rpx;
+ box-sizing: border-box;
+}
+
+.canshu .parameter .par-info .value {
+ text-align: left;
+ flex: 0 0 70%;
+ color: #5d5d5d;
+}
+
+.sku_swiper {
+ position: relative;
+
+ /* top: 50%;
+ left: 0; */
+ width: 100vw;
+ height: 640rpx;
+
+ /* transform: translateY(-50%) */
+}
+
+.sku_swiper_child {
+ width: 100%;
+ height: 640rpx !important;
+ display: flex;
+ align-items: center;
+}
+
+.sku_swiper_child image {
+ width: 100%;
+}
+
+.sku_other {
+ margin-top: 12rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+}
+
+.sku_title {
+ flex: 1;
+ font-size: 32rpx;
+ text-align: center;
+}
+
+.swiper_num {
+ width: 80rpx;
+ display: block;
+ text-align: center;
+}
+
+.right {
+ position: relative;
+}
+
+.share_text {
+ margin-left: 4px !important;
+ font-size: 24rpx;
+ color: #9b9b9b;
+ padding: 0;
+ border: none;
+ display: flex;
+ width: 56rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ width: 400rpx;
+ padding: 60rpx 0;
+}
+
+.pop-content .pop-top image {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.pop_button {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background: transparent;
+ border: none !important;
+ opacity: 0;
+}
+
+.hasGoods {
+ position: absolute;
+ height: 84rpx;
+ right: 0;
+ bottom: 32rpx;
+ background: rgba(0, 0, 0, 0.4);
+ border-radius: 44rpx 0 0 44rpx;
+ display: flex;
+ padding: 0 16rpx;
+}
+
+.hasGoods .hasGoods_img {
+ display: flex;
+ margin-right: 32rpx;
+ align-items: center;
+}
+
+.hasGoods .hasGoods_img image {
+ width: 60rpx;
+ height: 60rpx;
+ border: 1rpx dashed #ff6333;
+ border-radius: 100%;
+ overflow: hidden;
+ margin-right: -28rpx;
+}
+
+.hasGoods .hasGoods_text {
+ color: #fff;
+ text-align: left;
+ font-size: 24rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+#group_buy_goodslist .child {
+ padding: 0 28rpx;
+ display: flex;
+ margin: 28rpx 0;
+ background: #fff;
+ border-radius: 12rpx;
+}
+
+#group_buy_goodslist image {
+ width: 168rpx;
+ height: 168rpx;
+ border-radius: 12rpx;
+ flex-shrink: 0;
+ overflow: hidden;
+ margin-right: 28rpx;
+}
+
+#group_buy_goodslist .child_right {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ justify-content: space-between;
+ text-align: left;
+}
+
+#group_buy_goodslist .child_right .title {
+ font-size: 28rpx;
+ color: #000;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+#group_buy_goodslist .child_right .money {
+ color: #ff2c29;
+ font-size: 32rpx;
+}
+
+#group_buy_goodslist .child_right .money font {
+ font-size: 28rpx;
+}
+
+.member-reward {
+ display: flex;
+ align-items: center;
+ padding: 0 28rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ background: #fff;
+ margin-top: 20rpx;
+ font-size: 24rpx;
+}
+
+.member-reward .member-reward-btn {
+ height: 48rpx;
+ line-height: 48rpx;
+ background-color: rgba(255, 93, 0, 0.1);
+ border-radius: 24rpx;
+ padding: 0 16rpx;
+ margin-right: 20rpx;
+ color: #ff6000;
+}
+
+.member-reward .member-reward-price {
+ color: #ff2c29;
+ margin-left: 16rpx;
+}
+
+.popupMode {
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ opacity: 0.5;
+ background: #000;
+ z-index: 999;
+ transition: 0.6s ease-out;
+}
+
+.popupModeShow {
+ opacity: 0;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 1001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode_1 {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 2001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode_2 {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 2001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode .specifications {
+ display: none;
+ overflow: visible;
+ position: relative;
+ width: 100%;
+ padding-top: 20rpx;
+}
+
+.shadeMode_2 .specifications {
+ overflow: visible;
+ position: relative;
+ width: 100%;
+ padding-top: 20rpx;
+}
+
+.shadeModeShow {
+ bottom: 0;
+}
+
+.shadeModeShow .specifications {
+ display: block;
+}
+
+.specifications .icon_close {
+ position: absolute;
+ top: -40rpx;
+ right: 0;
+ width: 80rpx;
+ height: 100rpx;
+}
+
+.specifications .icon_close .guanbi_icon {
+ position: absolute;
+ left: 25%;
+ top: 50%;
+ width: 40rpx;
+}
+
+.specifications .shopimg {
+ display: flex;
+ overflow: visible;
+}
+
+.specifications .shopimg .chooser_img {
+ position: relative;
+ width: 180rpx;
+ height: 180rpx;
+ overflow: visible;
+}
+
+.specifications .shopimg .chooser_img image {
+ position: absolute;
+ top: -70rpx;
+ left: 20rpx;
+ width: 100%;
+ height: 180rpx;
+ border-radius: 4rpx;
+ border: 2rpx solid #f0f1f3;
+}
+
+.specifications .shopimg .right {
+ margin-left: 60rpx;
+}
+
+.specifications .shopimg .price {
+ color: #f15353;
+ font-size: 32rpx;
+ line-height: 60rpx;
+ height: 60rpx;
+ overflow: hidden;
+}
+
+.specifications .shopimg .price text {
+ font-size: 36rpx;
+}
+
+.specifications .shopimg .option {
+ color: #999;
+ font-size: 20rpx;
+ line-height: 32rpx;
+ height: 32rpx;
+ overflow: hidden;
+}
+
+.specifications .goodsnum {
+ border-top: solid 2rpx #f2f2f2;
+ border-bottom: solid 2rpx #f2f2f2;
+ margin: 40rpx 28rpx;
+ padding: 0;
+ font-size: 28rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+.specifications .goodsnum .num {
+ height: 120rpx;
+ line-height: 120rpx;
+}
+
+.specifications .goodsnum .calculation {
+ display: flex;
+ margin-top: 32rpx;
+ border-radius: 4rpx;
+ background-color: #fff;
+}
+
+.specifications .goodsnum .calculation .leftnav {
+ height: 56rpx;
+ width: 56rpx;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 4rpx;
+ line-height: 56rpx;
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.specifications .goodsnum .calculation .shownum {
+ height: 56rpx;
+ width: 56rpx;
+ border: 0;
+ margin: 0px 8px;
+ padding: 0;
+ text-align: center;
+ color: #333;
+}
+
+.specifications .goodsnum .calculation .rightnav {
+ height: 56rpx;
+ width: 56rpx;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 4rpx;
+ line-height: 56rpx;
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.specifications .shopinfoContent {
+ overflow-y: auto;
+ max-height: 500rpx;
+}
+
+.specifications .shopinfo {
+ text-align: left;
+ padding-left: 20rpx;
+ margin: 20rpx 0;
+
+ /* max-height: 200rpx;
+ overflow: scroll; */
+}
+
+.specifications .shopinfo .dl .dt {
+ margin-bottom: 10rpx;
+}
+
+.specifications .shopinfo .dl .dd {
+ margin-bottom: 10rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.specifications .shopinfo .dl .dd .spec {
+ border: 1px solid #bfcbd9;
+ padding: 10rpx;
+ min-width: 50rpx;
+ border-radius: 6rpx;
+ margin-right: 10rpx;
+ margin-bottom: 10rpx;
+ text-align: center;
+}
+
+.specifications .shopinfo .dl .dd .spec.sele {
+ background-color: #f15353;
+ border-color: #f15353;
+ color: #fff;
+}
+
+.specifications .shopinfo .dl .dd .spec.disab {
+ opacity: 0.5;
+}
+
+.specifications .subbtn {
+ line-height: 100rpx;
+ width: 100%;
+ text-align: center;
+ background: #e64340;
+ color: #fff;
+ font-size: 30rpx;
+}
+
+.canshu .showTitle {
+ width: 100%;
+ text-align: center;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 18px;
+}
diff --git a/packageA/mycomponent/store_goods/store_goods.js b/packageA/mycomponent/store_goods/store_goods.js
new file mode 100644
index 0000000..1664bf8
--- /dev/null
+++ b/packageA/mycomponent/store_goods/store_goods.js
@@ -0,0 +1,2512 @@
+var app = getApp();
+var optionsId = ""; //选择后的 规格ID
+var specsManage = [];
+var optionsMaxCount = 1;
+var clicktag = 0;
+var WxParse = require("../../../wxParse/wxParse.js");
+let isclick = true;
+let siftTop='';
+let foshowTop='';
+Component({
+ properties: {
+ // 属性值可以在组件使用时指定
+ prop_goods_info: {
+ type: null, //父组件的商品详情数据
+ },
+ goodsId: {
+ type: Number,
+ },
+ goodsType: {
+ type: String,
+ },
+ mark: {
+ type: String,
+ },
+ hoet: {
+ type: null,
+ },
+ markId: {
+ type: null,
+ },
+ boxHeight: {
+ type: Number,
+ },
+ xqBoxShow: {
+ type: null,
+ },
+ toker: {
+ type: Boolean,
+ },
+ datop:{
+ type:null
+ }
+ },
+ data: {
+ language: "",
+ getprice: "",
+ // 图片域名
+ imagUrl: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/",
+ // 这是tab
+ current: 1,
+ //设置数据
+ goodsInfo: {},
+ goods_plugin: {},
+ is_o2o: true,
+ //o2o商品数量
+ o2oCount: 0,
+ //门店名字
+ o2oName: "",
+ //门店电话
+ o2oPhone: "",
+ o2oLat: "",
+ customer_open: true,
+ o2oLng: "",
+ cartsNum: 0,
+ carts: [],
+ cartsTotal: 0.0,
+ goodsCarts: {},
+ popNum: 0,
+ popCard: {},
+ commentLimit: [], //设置最新5条评论
+ //商品详情
+ currentTabIndex: "0",
+ first_content: "",
+ second_content: "",
+ third_content: [],
+ //标记防止重复加载
+ is_first_content: false,
+ is_second_content: false,
+ is_third_content: false,
+ isGoodsLove: false, //是否显示爱心值
+ goods_love_cash: 0, //爱心值 现金
+ goods_love_deduction: 0, //爱心值抵扣
+ goods_love_name: "", //爱心值title,
+ specid: "", //规格ID
+ popTitle: "",
+ popThumb: "",
+ popStock: "",
+ popPrice: "",
+ goodsDescription: "",
+ showCart: false,
+
+ btnData: {
+ over_top: 500,
+ icon_url: "https://www.yunzmall.com//min_img/icon-fontclass-zhiding.png"
+ },
+ //海报显隐
+ posterShow: false,
+ show1: false,
+ posterImg: "",
+ timestart: 0,
+ timeend: 0,
+ isCup: true,
+ isGoods: false,
+ showDis: true, //控制加入购物车的显示
+ store_id: "",
+ //活动显示隐藏
+ activityShow: false,
+ //商城活动
+ activityItem: {},
+ //商城活动默认第一个
+ firstActivityBtn: "",
+ //商城活动默认第一个内容
+ firstActivityCon: "",
+ //商城活动点击开关
+ activitySwitch: false,
+ openVip: "2",
+ salesCount: "", //销量
+ minicartStyle: "",
+ leftPrice: "",
+ OldGoodsNum: "", //保存获取input焦点时的商品数量
+ iPnoneBottomBol: false,
+ //打开分享弹窗
+ showSahre: false,
+ // 是否开启好物圈插件
+ wechatcircle_open: 0,
+
+ broadcast_data: [], //飘窗订单数据
+
+ //限时购开关
+ isBuy: false,
+ isTime: false,
+ //限时购开始时间
+ beginTime: 0,
+ //显示购结束时间
+ endTime: 0,
+ //计算后的倒计时
+ countDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+
+ /*拓客卡 */
+ toker: false,
+ customer_development: "",
+ effective_time: [],
+ effective_day: [],
+ many_list: [],
+ once_list: [],
+ active: 0,
+
+ wx_video_link: 0, //视频号扩展插件
+ showVideoLink: false,
+ article_url: null, // 视频号扩展链接
+ limitedTimeCustomName:"限时购", //* 限时购自定义名称
+ isMultiSpecs: false, //多规格商品是否显示会员价
+ specsVIPPrc: null, //规格商品会员价
+ noneArr:[],
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ isclick = true;
+ this.getiPnoneBottom();
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ this.getGoodsPage(this.data.prop_goods_info);
+ // this.getCommentData();
+ },
+ moved() {
+ },
+ detached() {
+ },
+ ready() {
+ // this.footSet();
+ let price_text = wx.getStorageSync("yz_basic_info").lang.goods && wx.getStorageSync("yz_basic_info").lang.goods.price ? wx.getStorageSync("yz_basic_info").lang.goods.price : "现价";
+ let that = this;
+
+ that.setData({
+ getprice: price_text,
+ });
+ this.createSelectorQuery()
+ .select(".sift")
+ .boundingClientRect(function (rect) {
+ if(rect){
+ that.setData({
+ pjtop: rect.top - 80,
+ });
+ }
+ })
+ .exec();
+ this.createSelectorQuery()
+ .select(".foShowBox")
+ .boundingClientRect(function (rect) {
+ if(rect){
+ that.setData({
+ xqtop: rect.top - 100,
+ });
+ }
+ })
+ .exec();
+ },
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {
+ this.getCart();
+ },
+ hide() {},
+ resize() {},
+ },
+ methods: {
+ gotohuiyuan() {
+ if (this.data.selfbuy_discount && this.data.selfbuy_discount.link_to_level_page && this.data.selfbuy_discount.link_to_level_page.show == 1) {
+ wx.navigateTo({
+ url: "/packageB/member/MemberGradeList/MemberGradeList",
+ });
+ }
+ },
+ openShare() {
+ this.setData({
+ showSahre: true,
+ });
+ },
+ closeSharePop() {
+ this.setData({
+ showSahre: false,
+ });
+ },
+ shareGoods() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.wechatcircle_products.api.import.import");
+ let data = {
+ product_list: [
+ {
+ item_code: that.data.goodsInfo.id,
+ title: that.data.goodsInfo.title,
+ desc: that.data.goodsInfo.title,
+ category_list: ["商品"],
+ image_list: that.data.goodsInfo.thumb_url,
+ src_wxapp_path: "packageA/detail_v2/detail_v2?id=" + that.data.goodsInfo.id,
+ sku_list: [
+ {
+ sku_id: that.data.goodsInfo.id,
+ price: that.data.goodsInfo.price,
+ original_price: that.data.goodsInfo.market_price,
+ status: 1,
+ },
+ ],
+ },
+ ],
+ };
+
+ if (isclick) {
+ isclick = false;
+ app._postNetWork({
+ url: urlStr,
+ data: data,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ setTimeout(function () {
+ isclick = true;
+ }, 1000);
+ if (wx.openBusinessView) {
+ wx.openBusinessView({
+ businessType: "friendGoodsRecommend",
+ extraData: {
+ product: {
+ item_code: that.data.goodsInfo.id,
+ title: that.data.goodsInfo.title,
+ image_list: that.data.goodsInfo.thumb_url,
+ },
+ },
+ success: function (res) {
+ console.log("success", res);
+ that.setData({
+ showSahre: false,
+ });
+ },
+ fail: function (res) {
+ console.log("fail", res);
+ that.setData({
+ showSahre: false,
+ });
+ },
+ });
+ } else {
+ wx.showToast({
+ title: "微信7.0.3及以上版本支持 请先更新微信版本",
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ setTimeout(function () {
+ isclick = true;
+ }, 1000);
+ console.log(res);
+ },
+ });
+ }
+ },
+ getiPnoneBottom() {
+ let that = this;
+ try {
+ var value = wx.getStorageSync("iPhoneBottom");
+ if (value) {
+ that.setData({
+ iPnoneBottomBol: true,
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ callPhone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.service_mobile,
+ });
+ },
+ closePop() {
+ this.setData({
+ show1: false,
+ });
+ },
+ showPop() {
+ if (this.data.customer_open) {
+ this.setData({
+ show1: true,
+ });
+ }
+ },
+ clearCart() {
+ var that = this;
+ var destroyCarts = [];
+ this.data.carts.forEach((item) => {
+ destroyCarts.push(item.id);
+ });
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.destroy");
+ urlStr += "&store_id=" + this.data.store_id;
+ urlStr += "&ids=" + destroyCarts;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getCart();
+ that.setData({
+ showCart: false,
+ popNum: 0,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ gotoMemberGradeList(e) {
+ let o = e.currentTarget.dataset.o;
+ if (o == "1") {
+ wx.navigateTo({
+ url: "/packageB/member/MemberGradeList/MemberGradeList",
+ });
+ }
+ },
+ streetClose() {
+ this.setData({
+ streetShow: false,
+ });
+ },
+ goKb() {
+ console.log("打开全部口碑");
+ this.setData({
+ streetShow: true,
+ });
+ this.getCommentData();
+ },
+ closeCs() {
+ this.setData({
+ showCs: false,
+ });
+ },
+ showCan() {
+ console.log("开启参数弹窗");
+ this.setData({
+ showCs: true,
+ is_second_content: true,
+ second_content: this.data.goodsInfo.has_many_params,
+ });
+ this.getCommentData();
+ },
+ getTap(e) {
+ console.log(e.currentTarget.id);
+ let pid = e.currentTarget.id;
+ this.setData({
+ current: pid,
+ getTapNoObsever:true
+ });
+ if (pid == 1) {
+ wx.pageScrollTo({
+ scrollTop: 0,
+ duration: 300,
+ success:(res)=>{
+ setTimeout(() => {
+ this.setData({
+ getTapNoObsever:false
+ });
+ }, 300);
+ }
+ });
+ } else if (pid == 2) {
+ wx.pageScrollTo({
+ scrollTop: this.data.pjtop + 50,
+ duration: 300,
+ success:(res)=>{
+ setTimeout(() => {
+ this.setData({
+ getTapNoObsever:false
+ });
+ }, 300);
+ }
+ });
+ } else if (pid == 3) {
+ this.setData({
+ xqBoxShow: true,
+ });
+ wx.pageScrollTo({
+ scrollTop: this.data.xqtop +100,
+ duration: 300,
+ success:(res)=>{
+ setTimeout(() => {
+ this.setData({
+ getTapNoObsever:false
+ });
+ }, 300);
+ }
+ });
+ }
+ },
+ //获取时间-限时购
+ _timeCompare(begin) {
+ let beginTime = new Date(parseInt(begin) * 1000);
+ let now = new Date();
+ if (now >= beginTime) {
+ this.setData({
+ isTime: true,
+ });
+ //开启倒计时
+ this._countDown();
+ } else {
+ this.setData({
+ isTime: false,
+ isBegTime: true,
+ begTimeStr: begin * 1000,
+ });
+ //开启距离开始倒计时
+ this.beginDown();
+ }
+ },
+ //倒计时
+ _countDown: function () {
+ let newTime = new Date().getTime();
+ let endTime = this.data.endTime;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt((time % (60 * 60 * 24)) / 3600);
+ let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
+ let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec),
+ };
+ } else {
+ //活动已结束,全部设置为'00'
+ obj = {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ };
+ }
+ this.setData({
+ countDownObj: obj,
+ });
+ if (endTime - newTime < 0) {
+ this.setData({
+ countDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ });
+ } else {
+ setTimeout(this._countDown.bind(this), 1000);
+ }
+ },
+ //倒计时
+ beginDown: function () {
+ let newTime = new Date().getTime();
+ let endTime = this.data.begTimeStr;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt((time % (60 * 60 * 24)) / 3600);
+ let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
+ let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec),
+ };
+ } else {
+ //活动已结束,全部设置为'00'
+ this.setData({
+ isTime: true,
+ isBegTime: false,
+ });
+ obj = {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ };
+ }
+ this.setData({
+ beginDownObj: obj,
+ });
+ if (endTime - newTime < 0) {
+ this.setData({
+ isTime: true,
+ isBegTime: false,
+ });
+ this.setData({
+ beginDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ });
+ } else {
+ setTimeout(this.beginDown.bind(this), 1000);
+ }
+ },
+ //小于10的格式化函数
+ _timeFormat(param) {
+ //小于10的格式化函数
+ return param < 10 ? "0" + param : param;
+ },
+ getCart() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.index");
+ urlStr += "&store_id=" + this.data.goodsInfo.store_goods.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ carts: res.data,
+ goodsCarts: {},
+ cartsNum: 0,
+ cartsTotal: 0,
+ });
+ that.data.carts.forEach((item) => {
+ that.setData({
+ ["goodsCarts[" + item.goods_id + "]"]: item,
+ });
+ that.setData({
+ cartsNum: that.data.cartsNum + item.total,
+ cartsTotal: that.data.cartsTotal + item.total * item.goods.price,
+ });
+ });
+ //计算当前商品数量
+ let good = that.data.carts.find((item) => item.goods_id == that.data.goodsId);
+ if (good == undefined) {
+ that.setData({
+ o2oCount: 0,
+ });
+ }
+ that.data.carts.forEach((item) => {
+ if (item.goods_id == that.data.goodsId) {
+ that.setData({
+ o2oCount: item.total,
+ });
+ }
+ if (item.goods_id === that.data.goodsInfo.id && item.option_id === optionsId) {
+ that.setData({
+ popNum: item.total,
+ popCard: item,
+ });
+ }
+ });
+ that.setData({
+ goodsCartsTotal: that.calculateTotal1(that.data.carts),
+ cartsTotal: parseFloat(that.data.cartsTotal).toFixed(2),
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //不同规格的同一商品求和
+ calculateTotal1(arr) {
+ let newArr = []; // 保存求和后的购物车数量列表
+ let temp = {};
+ let newArr2 = [];
+ for (let i in arr) {
+ let key = arr[i].goods_id;
+ if (temp[key]) {
+ temp[key].total = temp[key].total + arr[i].total; //id相同则把数量相加
+ } else {
+ temp[key] = {};
+ temp[key].goods_id = arr[i].goods_id;
+ temp[key].total = arr[i].total;
+ }
+ }
+ for (let k in temp) {
+ newArr.push(temp[k]);
+ }
+ newArr.forEach((item) => {
+ newArr2[item.goods_id] = item;
+ });
+ return newArr2;
+ },
+ //tab 点击
+ handleClick(event) {
+ let idx = event.detail.index;
+ if (this.data.currentTabIndex == idx) {
+ return;
+ } else {
+ this.setData({
+ currentTabIndex: idx,
+ });
+ }
+ this.setDataByTabIndex();
+ },
+ //设置选择后的数据
+ setDataByTabIndex() {
+ if (this.data.currentTabIndex == "0" && !this.data.is_first_content) {
+ this.setData({
+ is_first_content: true,
+ first_content: this.data.goodsInfo.content,
+ });
+ let article = this.data.first_content;
+ /**
+ * WxParse.wxParse(bindName , type, data, target,imagePadding)
+ * 1.bindName绑定的数据名(必填)
+ * 2.type可以为html或者md(必填)
+ * 3.data为传入的具体数据(必填)
+ * 4.target为Page对象,一般为this(必填)
+ * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
+ */
+ try {
+ // if (article.indexOf('span') > -1) {
+ // } else
+ if (article.indexOf("") <= -1) {
+ WxParse.wxParse("article", "html", article, this);
+ }
+ } catch (e) {
+ //TODO handle the exception
+ }
+ } else if (this.data.currentTabIndex == "1" && !this.data.is_second_content) {
+ this.setData({
+ is_second_content: true,
+ second_content: this.data.goodsInfo.has_many_params,
+ });
+ } else if (this.data.currentTabIndex == "2" && !this.data.is_third_content) {
+ this.setData({
+ is_third_content: true,
+ });
+ //获取评论
+ this.getCommentData();
+ }
+ },
+ toTokerList(evt) {
+ this.setData({ active: evt.detail.index });
+ },
+ //获取评论数据
+ getCommentData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("goods.comment.get-comment");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ urlStr += "&page=1";
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ third_content: res.data.data,
+ });
+ } else {
+ that.setData({
+ is_third_content: false,
+ });
+ }
+ if (app._isTextEmpty(that.data.third_content)) {
+ console.log("空没评论");
+ that.setData({
+ thirKong: false,
+ });
+ } else {
+ console.log("不空");
+ that.setData({
+ thirKong: true,
+ });
+ }
+ },
+ fail: function (res) {
+ that.setData({
+ is_third_content: false,
+ });
+ console.log(res);
+ },
+ });
+ },
+ toBuy() {
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&store_id=" + this.data.goodsInfo.store_goods.store_id + "&goodsId=" + this.data.goodsInfo.id + "&optionsId=" + optionsId + "&total=" + 1,
+ });
+ },
+ addCart(e) {
+ let item = e.currentTarget.dataset.item;
+ let that = this;
+ if (item.vip_level_status && item.vip_level_status.status == 1) {
+ wx.showToast({
+ title: item.vip_level_status.tips,
+ icon: "none",
+ duration: 2000,
+ });
+ return false;
+ }
+ app._getNetWork({
+ showToastIn: false,
+ url: app.getNetAddresss("member.member.isValidatePageGoods"),
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.goodsInfo.has_one_invite_page && that.data.goodsInfo.has_one_invite_page.status === 1 && res.data.is_invite === 0) {
+ wx.navigateTo({
+ url: "/packageC/member/visit/Inviter/Inviter?fromGood=" + 1,
+ });
+ return;
+ } else {
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.store");
+ urlStr += "&goods_id=" + item.id;
+ urlStr += "&total=1";
+ urlStr += "&store_id=" + that.data.goodsInfo.store_goods.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getCart();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ updateCartRequest(id, num) {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.updateNum");
+ urlStr += "&id=" + id;
+ urlStr += "&num=" + num;
+ urlStr += "&store_id=" + this.data.goodsInfo.store_goods.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (num < 0) {
+ that.setData({
+ popNum: that.data.popNum - 1,
+ });
+ } else {
+ that.setData({
+ popNum: that.data.popNum + 1,
+ });
+ }
+ that.getCart();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //添加有规格商品到购物车
+ addGood(e) {
+ // let good = e.currentTarget.dataset.item;
+ //价格权限
+ if (this.data.goodsInfo.vip_level_status && this.data.goodsInfo.vip_level_status.status == 1) {
+ wx.showToast({
+ title: this.data.goodsInfo.vip_level_status.tips,
+ icon: "none",
+ duration: 2000,
+ });
+ return false;
+ }
+
+ this.setData({
+ show2: true,
+ });
+ this.initPopView1(); //初始化弹窗view
+ },
+ //初始化弹窗view
+ initPopView1() {
+ optionsId = "";
+ specsManage = [];
+ this.setData({
+ specid: "",
+ popNum: 0,
+ });
+ if (this.data.goodsInfo.has_option === 1) {
+ this.isShowMultiSpecsMemPrice(); //是否需要显示多规格会员价
+ //是否有规格
+ this.setData({
+ popTitle: this.data.goodsInfo.title,
+ popThumb: this.data.goodsInfo.thumb,
+ popStock: this.data.goodsInfo.stock,
+ popCard: {},
+ });
+ if (!this.data.specid.length) {
+ this.setData({
+ popPrice: this.data.goodsInfo.min_price + "-" + this.data.goodsInfo.max_price,
+ });
+ }
+ this.setData({
+ goodsDescription: "请选择",
+ });
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.setData({
+ goodsDescription: this.data.goodsDescription + " " + this.data.goodsInfo.has_many_specs[i].title,
+ });
+ }
+
+ if (!this.data.optionsId) {
+ // 默认选择第一个
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.selectSpecs(this.data.goodsInfo.has_many_specs[i].specitem[0], "first", i);
+ }
+ }
+ } else {
+ this.setData({
+ goodsDescription: "",
+ });
+ optionsMaxCount = this.data.goodsInfo.stock; //设置最大购买量
+ }
+ },
+ isShowMultiSpecsMemPrice() {
+ //判断是否需要显示多规格会员价【#70785】
+ //注释代码 this.goodsInfo.is_open_micro && Number(this.goodsInfo.is_open_micro) == 1
+ //注释原因:后端解释和价格权限插件冲突了 [#80547]
+ let _is_open_micro = 0;
+ if (this.data.goods_plugin) _is_open_micro = this.data.goods_plugin?.member_price?.is_open_micro || 0;
+ if (Number(_is_open_micro) == 1 && this.data.goodsInfo.has_option == 1) {
+ this.setData({
+ isMultiSpecs: true
+ });
+ } else {
+ this.setData({
+ isMultiSpecs: false
+ });
+ }
+ },
+ // 关闭弹窗
+ close() {
+ this.setData({
+ show2: false,
+ specid: "",
+ popNum: 0,
+ });
+ //确认后清空数值
+ optionsId = "";
+ specsManage = [];
+ },
+ //界面选择规格触发事件
+ selectSpecs(e, str, i) {
+ let id = 0;
+ let index = 0;
+ let indexl = 0;
+ // let data = {};
+ if (str == "first") {
+ id = e.id;
+ index = 0;
+ indexl = i;
+ // data = e;
+ } else {
+ id = e.currentTarget.dataset.itemid;
+ index = e.currentTarget.dataset.index;
+ indexl = e.currentTarget.dataset.indexl;
+ // data = e.currentTarget.dataset.item;
+ }
+
+ //处理选择池
+ this.manageSpecs(indexl, index);
+ //处理规格组合选择状态
+ this.setGoodsSpecs(indexl, index);
+ //设置选择规格后的 价格、照片、库存
+ this.setGoodsSpecsChangeInfo(id);
+ //判断当前购买总量与库存的关系
+ this.getMaxCount();
+ console.log(this.data.specid);
+ if (this.data.reserve_goods) {
+ // 预约商品选择规格
+ let json = this.data.reserveJson;
+ let arrjson = [];
+ // let checkStatus = false;
+ for (let i = 0; i < json.length; i++) {
+ if (json[i].option_id == optionsId) {
+ arrjson = json[i];
+ }
+ }
+ console.log(arrjson);
+ this.setData({
+ arrjson:arrjson
+ });
+ }
+ },
+ //处理选择池
+ manageSpecs(indexl, index) {
+ let data = this.data.goodsInfo.has_many_specs[indexl].specitem[index];
+ var specsObject = new Object();
+ specsObject.id = data.id;
+ specsObject.specid = data.specid;
+ specsObject.title = data.title;
+
+ if (specsManage.length > 0) {
+ for (let i = 0; i < specsManage.length; i++) {
+ if (specsManage[i].specid == specsObject.specid) {
+ specsManage.splice(i, 1);
+ }
+ }
+ specsManage.push(specsObject);
+ } else {
+ specsManage.push(specsObject);
+ }
+
+ //排序
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ var newSpecsManage = [];
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.goodsInfo.has_many_specs[i].id == specsManage[j].specid) {
+ newSpecsManage.push(specsManage[j]);
+ break;
+ }
+ }
+ }
+ specsManage = newSpecsManage;
+ }
+ this.setGoodsDescription();
+ },
+ //处理goodsDescription 数据
+ setGoodsDescription() {
+ var description = "";
+ //相等代表全选了 体现语句
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ description = "已选择 ";
+ for (let i = 0; i < specsManage.length; i++) {
+ description += specsManage[i].title + " ";
+ }
+ this.setData({
+ goodsDescription: description,
+ });
+ } else {
+ description = "请选择 ";
+
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.goodsInfo.has_many_specs[i].id != specsManage[j].specid) {
+ description += this.data.goodsInfo.has_many_specs[i].title + " ";
+ break;
+ }
+ }
+ }
+ this.setData({
+ goodsDescription: description,
+ });
+ }
+ },
+ //处理规格组合选择状态 过滤数据
+ setGoodsSpecs(indexl, index) {
+ let specs = this.data.goodsInfo.has_many_specs[indexl].specitem[index];
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ if (specs.specid != this.data.goodsInfo.has_many_specs[i].id) {
+ this.setGoodsSpecsStatus(i, specs.id);
+ }
+ }
+ },
+ //处理规格组合选择状态 处理状态 specitem 组合数组(未选中的) id当前选中的ID 根据ID 组合算是否有当前组合
+ setGoodsSpecsStatus(index, id) {
+ let specitem = this.data.goodsInfo.has_many_specs[index].specitem;
+ let options = []; //数据池
+ for (let i = 0; i < this.data.goodsInfo.has_many_options.length; i++) {
+ let _specs = this.data.goodsInfo.has_many_options[i].specs.split("_");
+ for (let j = 0; j < _specs.length; j++) {
+ if (_specs[j] == id) {
+ options.push(this.data.goodsInfo.has_many_options[i]);
+ return;
+ }
+ }
+ }
+ for (let m = 0; m < options.length; m++) {
+ let _specs = options[m].specs.split("_");
+ for (let y = 0; y < _specs.length; y++) {
+ if (_specs[y] != id && options[m].stock == 0) {
+ for (let n = 0; n < specitem.length; n++) {
+ if (_specs[y] == specitem[n].id) {
+ this.setData({
+ ["data.goodsInfo.has_many_specs[" + index + "].specitem[" + n + "].c"]: true,
+ });
+ return;
+ }
+ }
+ } else if (_specs[y] != id && options[m].stock > 0) {
+ for (let n = 0; n < specitem.length; n++) {
+ if (_specs[y] == specitem[n].id) {
+ this.setData({
+ ["data.goodsInfo.has_many_specs[" + index + "].specitem[" + n + "].c"]: false,
+ });
+ return;
+ }
+ }
+ }
+ }
+ }
+ },
+ //设置选择规格后的 价格、照片、库存
+ setGoodsSpecsChangeInfo(id) {
+ //根据ID 排序 specsManage.sort();
+ specsManage.sort(function (a, b) {
+ return a.id - b.id;
+ });
+ if (specsManage.length === this.data.goodsInfo.has_many_specs.length) {
+ let goodsSpecs = "";
+ for (let j = 0; j < specsManage.length; j++) {
+ goodsSpecs += specsManage[j].id + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+ this.setData({
+ specid: goodsSpecs,
+ });
+ for (let i = 0; i < this.data.goodsInfo.has_many_options.length; i++) {
+ if (goodsSpecs === this.setGoodsSpecsBySort(this.data.goodsInfo.has_many_options[i].specs)) {
+ this.setData({
+ popmPrice: this.data.goodsInfo.has_many_options[i].market_price, //设置价格
+ popPrice: this.data.goodsInfo.has_many_options[i].product_price, //设置价格
+ popThumb: app._isTextEmpty(this.data.goodsInfo.has_many_options[i].thumb) ? this.data.goodsInfo.thumb : this.data.goodsInfo.has_many_options[i].thumb, //设置图片
+ popStock: this.data.goodsInfo.has_many_options[i].stock,
+ });
+ optionsId = this.data.goodsInfo.has_many_options[i].id; //设置规格ID,用于生成订单
+ optionsMaxCount = this.data.goodsInfo.has_many_options[i].stock; //库存最大数 用于切换更改买家购买数量
+ if (optionsMaxCount > 0) {
+ this.setData({
+ popNum: 0,
+ });
+ }
+ if (this.data.isMultiSpecs) this.getMemberPrice(optionsId);
+ break;
+ }
+ }
+ for (let i = 0; i < this.data.carts.length; i++) {
+ if (this.data.carts[i].goods_id === this.data.goodsInfo.id && this.data.carts[i].option_id === optionsId) {
+ this.setData({
+ popNum: this.data.carts[i].total,
+ popCard: this.data.carts[i],
+ });
+ break;
+ }
+ this.setData({
+ popNum: 0,
+ popCard: {},
+ });
+ }
+ } else {
+ let goodsSpecs = "";
+ for (let j = 0; j < specsManage.length; j++) {
+ goodsSpecs += specsManage[j].id + "_";
+ }
+ this.setData({
+ specid: goodsSpecs,
+ });
+ }
+ },
+ //处理商品goodsSpecs 并排序 新方法
+ setGoodsSpecsBySort(specs) {
+ let _specs = specs.split("_"); //先变成数组
+ //_specs.sort();//排序
+ _specs.sort(function (a, b) {
+ return a - b;
+ });
+ // 在组装回去
+ let goodsSpecs = "";
+ for (let j = 0; j < _specs.length; j++) {
+ goodsSpecs += _specs[j] + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+
+ return goodsSpecs;
+ },
+ //判断当前购买总量与库存的关系
+ getMaxCount() {
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ if (optionsMaxCount == 0) {
+ //库存不足
+ this.setData({
+ popNum: 0,
+ });
+ }
+ if (this.data.popNum > optionsMaxCount) {
+ this.setData({
+ popNum: optionsMaxCount,
+ });
+ }
+ }
+ },
+ //弹窗提交确认
+ submitAction() {
+ // 判断宠物医院插件是否有绑定手机号码
+ // if (app._isTextEmpty(wx.getStorageSync('pet_status'))) {
+
+ // } else {
+ // console.log(wx.getStorageSync('pet_status'))
+ // if (wx.getStorageSync('pet_status') == 1) {
+ // wx.navigateTo({
+ // // url: '/packageA/member/editmobile/editmobile',
+ // url: '/packageC/hospital/bindMobile/bindMobile',
+ // success: function (res) {
+ // wx.showToast({
+ // title: '购买前请绑定手机号',
+ // icon: 'none'
+ // })
+ // }
+ // })
+ // return
+ // }
+ // }
+ if (specsManage.length < this.data.goodsInfo.has_many_specs.length) {
+ //请选择规格
+ this.setData({
+ show2: false,
+ });
+ wx.showToast({
+ title: this.data.goodsDescription,
+ icon: "none",
+ duration: 1500,
+ });
+ return;
+ }
+ //处理参数
+ this.addCartRequest(this.data.goodsInfo.id, optionsId);
+ },
+ //加入购物车网络操作
+ addCartRequest(_goodsId, _optionsId) {
+ if (optionsMaxCount === 0) {
+ //库存不足
+ wx.showToast({
+ title: "商品库存不足",
+ icon: "none",
+ duration: 1500,
+ });
+ return;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.store");
+ urlStr += "&goods_id=" + _goodsId;
+ urlStr += "&total=1";
+ urlStr += "&option_id=" + _optionsId;
+ urlStr += "&store_id=" + this.data.goodsInfo.store_goods.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ popNum: that.data.popNum + 1,
+ });
+ that.getCart();
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ gotoList() {
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + this.data.goodsInfo.store_goods.store_id,
+ });
+ },
+ gophone(e) {
+ let mobile = e.currentTarget.dataset.mobile;
+ wx.makePhoneCall({
+ phoneNumber: mobile,
+ });
+ },
+ goToAdress() {
+ let latitude = this.data.o2oLat;
+ let longitude = this.data.o2oLng;
+ let store_name = this.data.o2oName;
+ let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name,
+ });
+ },
+ goShowCart() {
+ if (!this.data.showCart && this.data.cartsNum > 0) {
+ this.setData({
+ showCart: true,
+ });
+ } else {
+ this.setData({
+ showCart: false,
+ });
+ }
+ this.getminicartStyle();
+ },
+ goodsOrder(e) {
+ let that = this;
+ app._getNetWork({
+ showToastIn: false,
+ url: app.getNetAddresss("member.member.isValidatePageGoods"),
+ success: async (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.goodsInfo.has_one_invite_page && that.data.goodsInfo.has_one_invite_page.status === 1 && res.data.is_invite === 0) {
+ wx.navigateTo({
+ url: "/packageC/member/visit/Inviter/Inviter?fromGood=" + 1,
+ });
+ return;
+ } else {
+ //判断是否上面安装的商品
+ let confirmFlag = await this.isHasDifferType(that.data.goodsCarts);
+ if (!confirmFlag) {
+ return;
+ }
+ console.log("执行");
+ let cartLength = that.data.goodsCarts.length;
+ let sum = 0;
+ that.data.carts.forEach((val) => {
+ sum += val.total;
+ });
+ if (sum == 0) {
+ return;
+ }
+ if (cartLength.length == 0 || that.data.carts.length == 0) {
+ return;
+ } else {
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=store&store_id=" + that.data.goodsInfo.store_goods.store_id,
+ });
+ }
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ async isHasDifferType(data) {
+ //门店购物车提交结算的时候,要判断当前购物车中是否同时存在普通商品和安装服务商品,如果同时存在,要弹框提示
+ // 商品不是安装服务商品,直接没有live_install这个字段
+ let open_state = 0; //有安装服务的商品
+ let clone_state = 0; //没安装服务的商品
+ let plugin_name = "";
+ data.forEach((item) => {
+ if (item.live_install && item.live_install.open_state == 1) {
+ open_state += 1;
+ plugin_name = item.live_install.plugin_name;
+ } else {
+ clone_state += 1;
+ }
+ });
+ if (open_state != 0 && clone_state != 0) {
+ let confirm = await app.confirm(`普通商品与${plugin_name}商品一同下单将无法享受${plugin_name},是否继续下单?`);
+ return confirm;
+ //都有值说明存在 两种 不同商品类型,提示框显示
+ // wx.showModal({
+ // title: '提示',
+ // content: `普通商品与${plugin_name}商品一同下单将无法享受${plugin_name},是否继续下单?`,
+ // success:(res)=> {
+ // if (res.confirm) {
+ // this._goodsOrder(data, true);
+ // } else if (res.cancel) {
+
+ // }
+ // }
+ // });
+ }
+ return true;
+ },
+ //跳转门店商品的详情
+ goToGoodsO2O(e) {
+ let goods = e.currentTarget.dataset.item;
+ if (this.data.store.operating_state !== 1) {
+ wx.redirectTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + goods.goods_id + "&tag=o2o" + "&store_id=" + this.data.goodsInfo.store_goods.store_id,
+ });
+ }
+ },
+ //海报生成
+ postShow() {
+ this.setData({
+ posterShow: true,
+ showSahre: false,
+ });
+ return;
+ // let that = this;
+ // if (that.data.posterImg) {
+ // this.setData({
+ // posterShow: true
+ // });
+ // } else {
+ // wx.showLoading({
+ // title: '海报生成中',
+ // });
+ // let urlStr = app.getNetAddresss("goods.goods-poster.generate-goods-poster");
+ // urlStr += "&id=" + this.data.goodsId;
+ // app._getNetWork({
+ // showToastIn: false,
+ // url: urlStr,
+ // success: function (resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // that.setData({
+ // posterImg: res.data,
+ // posterShow: true
+ // });
+ // } else {
+ // that.setData({
+ // posterShow: false
+ // });
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // });
+ // }
+ // wx.hideLoading();
+ // },
+ // fail: function (res) {
+ // wx.hideLoading();
+ // console.log(res);
+ // }
+ // });
+ // setTimeout(function () {
+ // wx.hideLoading();
+ // }, 5000);
+ // }
+ },
+ posterClose() {
+ this.setData({
+ posterShow: false,
+ });
+ },
+ //点击开始时的时间
+ timestart: function (e) {
+ var _this = this;
+ _this.setData({
+ timestart: e.timeStamp,
+ });
+ },
+
+ //点击结束的时间
+ timeend: function (e) {
+ var _this = this;
+ _this.setData({
+ timeend: e.timeStamp,
+ });
+ },
+ saveImg() {
+ // var times = _this.data.timeend - _this.data.timestart;
+ wx.getSetting({
+ success(res) {
+ if (!res.authSetting["scope.writePhotosAlbum"]) {
+ wx.authorize({
+ scope: "scope.writePhotosAlbum",
+ success() {
+ console.log("授权成功");
+ },
+ });
+ }
+ },
+ });
+ var imgSrc = this.data.posterImg.image_url;
+ wx.downloadFile({
+ url: imgSrc,
+ success: function (res) {
+ console.log(res);
+ //图片保存到本地
+ wx.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success: function (data) {
+ wx.showToast({
+ title: "保存成功",
+ icon: "none",
+ duration: 2000,
+ });
+ },
+ fail: function (err) {
+ console.log(err);
+ if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
+ console.log("当初用户拒绝,再次发起授权");
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting["scope.writePhotosAlbum"]) {
+ wx.showToast({
+ icon: "none",
+ title: "获取权限成功,再次长按保存图片",
+ duration: 1500,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: "获取权限失败,保存图片需要用户授权",
+ duration: 1500,
+ });
+ }
+ },
+ });
+ }
+ },
+ complete(res) {
+ console.log(res);
+ },
+ });
+ },
+ });
+ },
+ gotoMember() {
+ wx.reLaunch({
+ url: "/packageG/member_v2/member_v2",
+ });
+ },
+ gotoindex() {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ },
+ //推广商品跳转
+ pushGoodGoto(e) {
+ let itemdata = e.currentTarget.dataset.itemdata;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + itemdata.id,
+ });
+ },
+ gotoChat(evt){
+ let url = evt.currentTarget.dataset.cservice+"&goods_id="+this.data.goodsId;
+ wx.navigateTo({
+ url: url,
+ fail:(err)=>{
+ app.tips("客服路由出错");
+ }
+ });
+ },
+ getGoodsPage(data) {
+ // data全部数据
+ let that = this;
+ if(data.reserve_goods){
+ //是否是预约商品
+ this.setData({
+ reserve_goods:data.reserve_goods
+ });
+ }
+ if (data && data.get_goods) {
+
+ that.init(data.get_store_info);
+ if(data.member_cart){
+ that.getFirstCart(data.member_cart);
+ }
+ that.setData({
+ broadcast_data: data.plugin.broadcast_data,
+ customer_development: data.plugin.customer_development,
+ // customer_open: data.customer_open == '1' ? true : false,
+ service_QRcode: data.customer_service.service_QRcode,
+ service_mobile: data.customer_service.service_mobile,
+ cservice: data.customer_service.cservice,
+ // favorite: (data.is_favorite.status == 1 ? true : false),
+ showMember: data.display_page == "1" ? true : false,
+ goods_plugin: data.plugin || {},
+ });
+ if(data.is_favorite){
+ this.setData({
+ favorite : (data.is_favorite.status == 1 ? true : false)
+ });
+ }
+ that.getData(data.get_goods);
+ // console.log(that.data.service_mobile,that.data.service_QRcode);
+
+ if(this.data.customer_development) {
+ setTimeout(()=>{
+ this.setData({
+ toker: true,
+ });
+ // tab的下划线问题
+ },500);
+ }
+ // 自购省
+ if (data.plugin.selfbuy_discount) {
+ that.setData({
+ selfbuy_discount: data.plugin.selfbuy_discount,
+ });
+ }
+
+ // 租赁商品
+ if (!app._isTextEmpty(data.plugin.lease_toy)) {
+ this.setData({
+ isRent: data.plugin.lease_toy.is_lease == 1 ? true : false,
+ isRentBuyShow: data.plugin.lease_toy.immed_goods_id == 0 ? false : true,
+ });
+ if (!app._isTextEmpty(data.plugin.lease_toy.is_rights)) {
+ this.setData({
+ isRight: data.plugin.lease_toy.is_rights == 1 ? true : false,
+ });
+ }
+ }
+
+ // 是否开启好物圈插件
+ if (data.plugin.wechatcircle_open && data.plugin.wechatcircle_open == 1) {
+ that.setData({
+ wechatcircle_open: 1,
+ });
+ }
+
+ // 视频号链接
+ if (data.plugin && data.plugin.wx_video_link) {
+ that.setData({
+ wx_video_link: data.plugin.wx_video_link,
+ });
+ }
+ } else {
+ that.setData({
+ showDis: false,
+ show8: true,
+ });
+ }
+ },
+ //收藏操作
+ onFavorite(e) {
+ let favorite = e.currentTarget.dataset.favorite;
+ console.log(favorite);
+ favorite ? this.removeFavorite() : this.addFavorite();
+ },
+ closeCalendar(){
+ this.setData({
+ showCalendar:false
+ });
+ },
+ formatDate(date) {
+ return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
+ },
+ onConfirmCalendar(date) {
+ this.setData({
+ calendar_data:this.formatDate(date.detail)
+ });
+ let selectTime = Date.parse(this.data.calendar_data) / 1000;
+ let timeArr = this.data.reserveDayArr;
+ let selectStatus = false;
+ let obj = [];
+ for (let i = 0; i < timeArr.length; i++) {
+ if (selectTime == timeArr[i].time) {
+ obj.push(timeArr[i]);
+ selectStatus = true;
+ }
+ }
+ // 可以选的时间
+ if (selectStatus) {
+ this.setData({
+ showCalendar:false,
+ reserveJson:obj,
+ show2:true
+ });
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.selectSpecs(this.data.goodsInfo.has_many_specs[i].specitem[0], "first", i);
+ }
+ } else {
+ // 不可以预约的时间
+ this.calendar_data = "";
+ wx.showToast({
+ title: '所选日期不可预约',
+ icon:'none'
+ });
+ }
+ },
+ confirmTap(){
+ let that = this;
+ let json = this.data.reserveJson;
+ this.data.arrjson = [];
+ for (let i = 0; i < json.length; i++) {
+ if (json[i].option_id == optionsId) {
+ // this.data.arrjson = json[i];
+ this.setData({
+ arrjson:json[i]
+ });
+ }
+ }
+
+ if (!this.data.arrjson.id) {
+ Toast("请选择日期");
+ return;
+ }
+ if (!optionsId) {
+ Toast("请选择规格");
+ return;
+ }
+ console.log(json);
+ let urlStr = app.getNetAddresss("plugin.store-reserve.frontend.goods.verify");
+ app._getNetWork({
+ url: urlStr,
+ data:{
+ option_id:optionsId,
+ goods_id:that.data.goodsInfo.id
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=reserve&store_id=" + that.data.goodsInfo.store_goods.store_id + "&goodsId=" + that.data.goodsInfo.id + "&optionsId=" + optionsId + "&total=" + 1+"&date_id="+that.data.arrjson.id,
+ });
+ }else{
+ wx.showModal({
+ icon: "none",
+ showCancel:false,
+ content: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ tapReserve(){
+ let urlStr = app.getNetAddresss("plugin.store-reserve.frontend.date.getOptionDate");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ app._getNetWork({
+ url: urlStr,
+ success:(resdata)=>{
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ this.setData({
+ showCalendar:true, // 预约日历显示
+ reserveDayArr:res.data,
+ });
+ let arr = [];
+ let strArr = [];
+ let no = 0;
+ if (this.data.reserveDayArr.length > 0) {
+ this.data.reserveDayArr.forEach((element, ind, arrs) => {
+ if (arr.length == 0) {
+ arr.push(element);
+ } else {
+ // arr数组有存在time一样的对象时,比较一下is_reserve看他是不是false
+ if (arr[no].time == element.time) {
+ if (arr[no].is_reserve) {
+ // 如果原来存在数组is_reserve为true的话,这个天数默认为true
+ arr[no] = element;
+ arr[no].is_reserve = true;
+ } else {
+ //如果原来的数组is_reserve为false的话还有机会
+ if (element.is_reserve == false) {
+ // 传进来的数组为false保持为false
+ arr[no] = element;
+ } else {
+ // 传进来的数组为true的话没有机会了
+ arr[no] = element;
+ arr[no].is_reserve = true;
+ }
+ }
+ } else {
+ no = no + 1;
+ arr.push(element);
+ }
+ }
+ });
+ }
+ for (let k = 0; k < arr.length; k++) {
+ if (arr[k].is_reserve) {
+ strArr.push(String(arr[k].date));
+ }
+ }
+ let that = this;
+ this.setData({
+ noneArr:strArr,
+ show2:false,
+ formatter(day){
+ return that.formatters(day);
+ }
+ });
+ }else{
+ if(res.msg == '没有规格id'){
+ wx.showToast({
+ title: '请选择规格',
+ icon:'none'
+ });
+ }else{
+ wx.showToast({
+ title: res.msg,
+ icon:'none'
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ formatters(day) {
+ let month = day.date.getMonth() + 1;
+ let date = day.date.getDate();
+ if (month < 10) {
+ month = `0${month}`;
+ }
+ if (date < 10) {
+ date = `0${date}`;
+ }
+ if (!day.type) {
+ // 默认日期
+ day.bottomInfo = "不可预约";
+ day.className = "calendar_data";
+ }
+ if (this.data.noneArr) {
+ for (let k = 0; k < this.data.noneArr.length; k++) {
+ if (`${month}-${date}` == this.data.noneArr[k]) {
+ day.bottomInfo = "可预约";
+ day.className = "calendar_data";
+ }
+ }
+ }
+ if (day.bottomInfo != "可预约") {
+ day.bottomInfo = "不可预约";
+ day.type = "disabled";
+ }
+ return day;
+ },
+ //移除收藏
+ removeFavorite() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member-favorite.destroy");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ favorite: false,
+ });
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ } // else {
+
+ //}
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //添加收藏
+ addFavorite() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member-favorite.store");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ favorite: true,
+ });
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //获取数据
+ getData(data) {
+ // get_goods数据
+ try {
+ if (Number(data.market_price) == 0) {
+ data.notMarket_price = 0;
+ } else {
+ data.notMarket_price = 1;
+ }
+ } catch (err) {
+ console.log(err);
+ }
+ this.setData({
+ goodsInfo: data,
+ commentLimit: data.get_comment.data ? data.get_comment.data.slice(0, 5) : [],
+ });
+ // 分享的自定义图片
+ wx.setStorageSync("GoddsShareImg", data.thumb);
+ //* 限时购自定义名称
+ if(data.has_one_goods_limit_buy&&data.has_one_goods_limit_buy.status&&data.has_one_goods_limit_buy.display_name){
+ this.setData({
+ limitedTimeCustomName:data.has_one_goods_limit_buy.display_name
+ });
+ }
+ this.setData({
+ salesCount: this.data.goodsInfo.show_sales + this.data.goodsInfo.virtual_sales,
+ });
+ if (this.data.goodsInfo.member_discount) {
+ if (app._isTextEmpty(this.data.goodsInfo.member_discount.discount)) {
+ this.setData({
+ openVip: 1,
+ });
+ } else {
+ this.setData({
+ openVip: this.data.goodsInfo.member_discount.discount,
+ });
+ }
+ }
+ this.initPopView(); //初始化弹窗view
+ this.initPopView2(); //初始化弹窗view2 无规格
+ this.setDataByTabIndex(); //设置商品详情
+ this.setIsAddCart(); //判断是否能加入购物车
+ this.setIsLove(); //判断是否有爱心值
+ this.setData({
+ isGoods: true,
+ });
+
+ this.setData({
+ store_id: this.data.goodsInfo.store_goods.store_id,
+ isMarginBottom: app._isTextEmpty(data.show_push) ? false : true,
+ });
+
+ //限时购
+ if (!app._isTextEmpty(data.has_one_goods_limit_buy)) {
+ this.setData({
+ isBuy: data.has_one_goods_limit_buy.status == 1 ? true : false,
+ });
+ this.data.beginTime = data.has_one_goods_limit_buy.start_time;
+ this.data.endTime = data.has_one_goods_limit_buy.end_time * 1000;
+ //判断倒计时模块是否开启
+ this._timeCompare(this.data.beginTime);
+ }
+ if (data.goods_sale && data.goods_sale.sale_count != 0) {
+ this.setData({
+ firstActivityBtn: data.goods_sale.first_strip_key.name,
+ });
+ if (data.goods_sale.first_strip_key.type == "array") {
+ data.goods_sale.first_strip_key.value.forEach((item, index) => {
+ if (index == 0) {
+ this.setData({
+ firstActivityCon: item,
+ });
+ } else {
+ this.setData({
+ firstActivityCon: this.data.firstActivityCon + "," + item,
+ });
+ }
+ });
+ } else {
+ this.setData({
+ firstActivityCon: data.goods_sale.first_strip_key.value,
+ });
+ }
+ this.setData({
+ activitySwitch: true,
+ activityItem: data.goods_sale,
+ });
+ this.showDefaultActivity(data.goods_sale);
+ } else {
+ this.setData({
+ activitySwitch: false,
+ });
+ }
+ },
+ //初始化弹窗view
+ initPopView() {
+ this.setData({
+ popThumb: this.data.goodsInfo.thumb, //设置默认图片
+ popStock: this.data.goodsInfo.stock, //设置默认库存
+ });
+ if (this.data.goodsInfo.has_option == 1) {
+ this.setData({
+ popPrice: this.data.goodsInfo.min_price + "-" + this.data.goodsInfo.max_price, //设置默认价格
+ });
+ } else {
+ this.setData({
+ popPrice: this.data.goodsInfo.price,
+ });
+ }
+ this.setData({
+ goodsDescription: "选择",
+ });
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.setData({
+ goodsDescription: this.data.goodsDescription + " " + this.data.goodsInfo.has_many_specs[i].title,
+ });
+ }
+ },
+ initPopView2() {
+ if (this.data.goodsInfo.has_option != 1) {
+ this.setData({
+ popThumb: this.data.goodsInfo.thumb, //设置默认图片
+ popStock: this.data.goodsInfo.stock, //设置默认库存
+ popPrice: this.data.goodsInfo.price, //设置默认价格
+ goodsDescription: "",
+ });
+ optionsMaxCount = this.data.goodsInfo.stock; //设置最大购买量
+ }
+ },
+ //判断是否能加入购物车
+ setIsAddCart() {
+ //为空是老数据默认值问题
+ if (app._isTextEmpty(this.data.goodsInfo.buy_way) || this.data.goodsInfo.buy_way == "0") {
+ this.setData({
+ isAddCart: true,
+ });
+ }
+ //不能加入 金币产品
+ if (this.data.goodsInfo.buy_way == 1) {
+ this.setData({
+ isAddCart: false,
+ });
+ }
+ },
+
+ //跳转评论详情
+ toContentInfo(e) {
+ let jsondata = e.currentTarget.dataset.jsondata;
+ wx.navigateTo({
+ url: "/packageD/member/CommentDetails/CommentDetails?order_id=" + jsondata.order_id + "&goods_id=" + jsondata.goods_id + "&uid=" + jsondata.uid + "&comment_id=" + jsondata.id,
+ });
+ },
+ //是否有爱心值
+ setIsLove() {
+ if (this.data.goods_plugin.goods_love) {
+ this.setData({
+ isGoodsLove: true,
+ });
+ let love_cash = this.data.goodsInfo.price - this.data.goods_plugin.goods_love.amountOfMoney;
+ this.setData({
+ goods_love_cash: Number(love_cash.toString().match(/^\d+(?:\.\d{0,2})?/)),
+ });
+ this.setData({
+ goods_love_deduction: this.data.goods_plugin.goods_love.amountOfCoin,
+ goods_love_name: this.data.goods_plugin.goods_love.name,
+ });
+ } else {
+ this.setData({
+ isGoodsLove: false,
+ });
+ }
+ },
+ //跳转优惠券领取
+ gotoCoupon() {
+ wx.navigateTo({
+ url: "/packageC/o2o/store_coupon/store_coupon?id=" + this.data.goodsInfo.store_goods.store_id,
+ });
+ },
+ activityShowFun() {
+ this.setData({
+ activityShow: true,
+ });
+ },
+ activityShowBtn() {
+ this.setData({
+ activityShow: false,
+ });
+ },
+ //显示商城活动默认活动
+ showDefaultActivity(val) {
+ if (val.first_strip_key == "coupon") {
+ this.setData({
+ firstActivityBtn: "购买返券",
+ firstActivityCon: "商品订单完成返优惠券",
+ });
+ } else if (val.first_strip_key == "deduction_proportion" || val.first_strip_key == "award_proportion") {
+ this.setData({
+ firstActivityBtn: val.love_name,
+ firstActivityCon: "最高抵扣" + val.love_name + val.deduction_proportion + ",购买赠送" + val.award_proportion + val.love_name,
+ });
+ } else if (val.first_strip_key == "max_point_deduct" || val.first_strip_key == "point") {
+ this.setData({
+ firstActivityBtn: val.point_name,
+ firstActivityCon: "最高抵扣" + val.point_name + val.max_point_deduct + ",购买赠送" + val.point + val.point_name,
+ });
+ } else if (val.first_strip_key == "ed_full") {
+ this.setData({
+ firstActivityBtn: "满减",
+ firstActivityCon: "本商品满" + this.data.language["money"] + val.ed_full + "立减" + this.data.language["money"] + val.ed_reduction + "",
+ });
+ } else if (val.first_strip_key == "ed_money" || val.first_strip_key == "ed_num") {
+ this.setData({
+ firstActivityBtn: "包邮",
+ });
+ if (val.first_strip_key == "ed_money" && val.ed_num == 0) {
+ this.setData({
+ firstActivityCon: "本商品满" + this.data.language["money"] + val.ed_money + this.data.language["元"] + "包邮",
+ });
+ } else if (val.first_strip_key == "ed_num" && val.ed_money == 0) {
+ this.setData({
+ firstActivityCon: "本商品满" + val.ed_num + "件包邮",
+ });
+ } else {
+ this.setData({
+ firstActivityCon: "本商品满" + this.data.language["money"] + val.ed_money + this.data.language["元"] + "包邮" + ",满" + val.ed_num + "件包邮",
+ });
+ }
+ } else if (val.first_strip_key == "award_balance") {
+ this.setData({
+ firstActivityBtn: "余额",
+ firstActivityCon: "购买赠送余额" + val.award_balance + this.data.language["元"],
+ });
+ } else {
+ return;
+ }
+ },
+ init(data) {
+ // get_store_info门店数据
+ this.setData({
+ o2oName: data.store_name,
+ o2oPhone: data.store_mobile,
+ o2oLat: data.lat,
+ o2oLng: data.lng,
+ });
+ },
+ getFirstCart(data) {
+ // member_cart数据
+ this.setData({
+ carts: data,
+ goodsCarts: [],
+ cartsNum: 0,
+ cartsTotal: 0,
+ });
+ console.log(this.data.carts);
+ this.data.carts.forEach((item) => {
+ this.setData({
+ ["goodsCarts[" + item.goods_id + "]"]: item,
+ cartsNum: this.data.cartsNum + item.total,
+ cartsTotal: this.data.cartsTotal + item.total * item.goods.price,
+ });
+ });
+ let good = this.data.carts.find((item) => item.goods_id == this.data.goodsId);
+ if (good == undefined) {
+ this.setData({
+ o2oCount: 0,
+ });
+ }
+ this.data.carts.forEach((item) => {
+ if (item.goods_id == this.data.goodsId) {
+ this.setData({
+ o2oCount: item.total,
+ });
+ }
+ if (item.goods_id === this.data.goodsInfo.id && item.option_id === optionsId) {
+ this.setData({
+ popNum: item.total,
+ popCard: item,
+ });
+ }
+ });
+ this.setData({
+ goodsCartsTotal: this.calculateTotal1(this.data.carts),
+ cartsTotal: parseFloat(this.data.cartsTotal).toFixed(2),
+ });
+ },
+ //足迹记录
+ footSet() {
+ if (!this.data.isGoods) {
+ return;
+ }
+
+ let urlStr = app.getNetAddresss("member.member-history.store");
+ urlStr += "&goods_id=" + this.properties.goodsId + "&mark=" + this.properties.mark + "&mark_id=" + this.properties.markId;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {},
+ fail: function (res) {},
+ });
+ },
+ goTOHome() {
+ wx.redirectTo({
+ url: "/packageC/o2o/o2oHome/o2oHome",
+ });
+ },
+ trggleCart() {
+ if (this.data.carts.length === 0 && !this.data.showCart) {
+ return;
+ }
+ this.setData({
+ showCart: !this.data.showCart,
+ });
+ this.getminicartStyle();
+ },
+ getminicartStyle() {
+ if (this.data.showCart) {
+ this.setData({
+ minicartStyle: "display: none;transform: translateY(-100%)",
+ leftPrice: "transform: translateX(-60px);",
+ });
+ } else {
+ this.setData({
+ minicartStyle: "display: block;transform: translateY(0)",
+ leftPrice: "",
+ });
+ }
+ },
+ updateCart1btn(e) {
+ let id = e.currentTarget.dataset.id;
+ let num = e.currentTarget.dataset.num;
+ this.updateCart1(id, num);
+ },
+ updateCart1(id, num) {
+ // id是购物车id
+ if (num < 0) {
+ var total = 0;
+ this.data.carts.forEach((item) => {
+ if (item.id == id) {
+ total = item.total;
+ }
+ });
+
+ if (total + num <= 0) {
+ if (clicktag === 0) {
+ clicktag = 1;
+ this.delItemByCart1(id);
+ setTimeout(function () {
+ clicktag = 0;
+ }, 500);
+ }
+ return;
+ }
+ if (clicktag === 0) {
+ clicktag = 1;
+ this.updateCartRequest(id, num);
+ setTimeout(function () {
+ clicktag = 0;
+ }, 500);
+ }
+ } else {
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length && this.data.popNum == optionsMaxCount) {
+ wx.showToast({
+ icon: "none",
+ title: "数量超出范围",
+ duration: 1500,
+ });
+ return;
+ }
+ if (clicktag === 0) {
+ clicktag = 1;
+ this.updateCartRequest(id, num);
+ setTimeout(function () {
+ clicktag = 0;
+ }, 500);
+ }
+ }
+ },
+ delItemByCart1(cart_id) {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.destroy");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ store_id: this.data.store_id,
+ ids: cart_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getCart();
+ that.setData({
+ popNum: that.data.popNum - 1,
+ showCart: false,
+ minicartStyle: "display: block;transform: translateY(0)",
+ leftPrice: "",
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ updateCartbtn(e) {
+ let id = e.currentTarget.dataset.id;
+ let num = e.currentTarget.dataset.num;
+ this.updateCart(id, num);
+ },
+ updateCart(id, num) {
+ // id是goods_id
+ if (num < 0) {
+ var total = 0;
+ this.data.carts.forEach((item) => {
+ if (item.goods_id == id) {
+ total = item.total;
+ }
+ });
+ if (total + num <= 0) {
+ this.delItemByCart(id);
+ return;
+ }
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.updateNum");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ num: num,
+ store_id: this.data.store_id,
+ goods_id: id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getCart();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ that.getCart();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ delItemByCart(cart_id) {
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.destroy");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ store_id: this.data.store_id,
+ goods_id: cart_id,
+ },
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.getCart();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ clickCount(e) {
+ let total = e.currentTarget.dataset.total;
+ this.setData({
+ OldGoodsNum: total,
+ });
+ },
+ changeCount(e) {
+ let data = e.detail.value;
+ let id = e.currentTarget.dataset.id;
+ if (data < 0) {
+ wx.showToast({
+ icon: "none",
+ title: "商品数量不能为负数",
+ duration: 1500,
+ });
+ this.setData({
+ o2oCount: this.data.OldGoodsNum,
+ });
+ this.getCart();
+ return;
+ }
+
+ if (data == this.data.OldGoodsNum) {
+ return;
+ }
+
+ if (data < this.data.OldGoodsNum) {
+ let lowerNum = this.data.OldGoodsNum - data;
+ this.updateCart(id, -lowerNum);
+ } else if (data > this.data.OldGoodsNum) {
+ let addNum = data - this.data.OldGoodsNum;
+ this.updateCart(id, addNum);
+ }
+ },
+ getVideoLink() {
+ wx.showLoading({
+ title: "正在生成中...",
+ });
+ // 生成视频号链接
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.wx-video-link.frontend.index.index");
+ urlStr += "&id=" + this.properties.goodsId;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.article_url == "" || res.data.article_url == null || res.data.article_url == undefined) {
+ setTimeout(() => {
+ that.getVideoLink();
+ }, 3000);
+ } else {
+ that.setData({
+ article_url: res.data.article_url,
+ showVideoLink: true,
+ showSahre: false,
+ });
+ setTimeout(function () {
+ wx.hideLoading();
+ }, 800);
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ // 复制链接
+ onCopy() {
+ wx.setClipboardData({
+ data: this.data.article_url,
+ success(res) {
+ wx.showToast({
+ title: "复制成功",
+ icon: "none",
+ duration: 1500,
+ });
+ },
+ fail() {
+ wx.showToast({
+ title: "复制失败",
+ icon: "none",
+ duration: 1500,
+ });
+ },
+ });
+ this.setData({
+ showVideoLink: false,
+ article_url: "",
+ });
+ },
+ getMemberPrice(_optionsId) {
+ if (!_optionsId) return;
+ let specsVIPPrc = 0;
+ this.setData({specsVIPPrc});
+ let urlStr = app.getNetAddresss("goods.other-info.option-vpi-price");
+ urlStr += "&option_id=" + _optionsId;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ specsVIPPrc = res.data.vip_price || null;
+ } else {
+ specsVIPPrc = null;
+ }
+ this.setData({specsVIPPrc});
+ },
+ fail: function (res) {
+ specsVIPPrc = null;
+ this.setData({specsVIPPrc});
+ },
+ });
+
+ },
+ },
+ observers:{
+ 'datop':function(obs){
+ let that = this;
+ if(that.data.getTapNoObsever){
+ return;
+ }
+ this.createSelectorQuery()
+ .select(".sift")
+ .boundingClientRect(function (rect) {
+ if(rect) {
+ siftTop = rect.top -50;
+ }
+ })
+ .exec();
+ this.createSelectorQuery()
+ .select(".foShowBox")
+ .boundingClientRect(function (rect) {
+ if(rect) {
+ foshowTop = rect.top - 150;
+ }
+ })
+ .exec();
+ // console.log(foshowTop,siftTop)
+ if(foshowTop < 0 && siftTop < 0){
+ that.setData({
+ current:3
+ });
+ }else if(siftTop <=0 && foshowTop>0){
+ that.setData({
+ current:2
+ });
+ }else if(foshowTop >0 && siftTop > 0){
+ that.setData({
+ current:1
+ });
+ }
+ }
+ }
+});
diff --git a/packageA/mycomponent/store_goods/store_goods.json b/packageA/mycomponent/store_goods/store_goods.json
new file mode 100644
index 0000000..597e574
--- /dev/null
+++ b/packageA/mycomponent/store_goods/store_goods.json
@@ -0,0 +1,20 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index",
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-rate": "../../../dist/rate/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-cell": "../../../dist/cell/index",
+ "goods-qrcode":"/mycomponent/temp/goods_qrcode/goods_qrcode",
+ "float-order":"../floatOrder/floatOrder",
+ "backup":"../goodsComponent/backup/backup",
+ "comment":"../goodsComponent/plugin/comment/comment",
+ "invitation": "../../mycomponent/invitation/invitation",
+ "van-loading": "../../../dist/loading/index",
+ "van-calendar": "/dist/calendar/index"
+ }
+}
diff --git a/packageA/mycomponent/store_goods/store_goods.wxml b/packageA/mycomponent/store_goods/store_goods.wxml
new file mode 100644
index 0000000..1953b44
--- /dev/null
+++ b/packageA/mycomponent/store_goods/store_goods.wxml
@@ -0,0 +1,887 @@
+
+
+ var getindexof = function(num, id) {
+ console.log(num,id,'assa')
+ if (num.indexOf(id) >= 0) {
+ return true
+ } else {
+ return false
+ }
+ }
+ module.exports.getindexof = getindexof;
+
+
+
+
+
+ 商品
+ 评论
+ 详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ limitedTimeCustomName }}
+
+
+
+ 距结束余:
+
+
+ {{countDownObj.day}}
+ 天
+ {{countDownObj.hou}}
+ :
+ {{countDownObj.min}}
+ :
+ {{countDownObj.sec}}
+
+
+
+
+ 距开始还剩:
+
+
+ {{beginDownObj.day}}
+ 天
+ {{beginDownObj.hou}}
+ :
+ {{beginDownObj.min}}
+ :
+ {{beginDownObj.sec}}
+
+
+
+
+
+
+
+
+
+ 天天兑价
+
+
+
+ {{language['money']}}{{goods_love_cash+" + "+goods_love_deduction+goods_love_name}}
+
+
+
+
+
+
+
+
+ {{getprice}}
+ 券后价
+ {{language['money']}} {{ goodsInfo.has_option == 1 ? (goodsInfo.min_price == goodsInfo.max_price ? goodsInfo.min_price : goodsInfo.min_price + "-" + goodsInfo.max_price) : goodsInfo.price }}
+
+
+ {{ item.name }}:{{ item.value }}
+
+
+
+ {{language['money']}}
+ {{ goodsInfo.vip_level_status.word }}
+
+ {{ goodsInfo.has_option == 1 ? (goodsInfo.min_price == goodsInfo.max_price ? goodsInfo.min_price : goodsInfo.min_price + "-" + goodsInfo.max_price) : goodsInfo.price }}
+
+
+ 原价:{{language['money']}}{{goodsInfo.market_price}}
+
+
+
+
+
+
+ {{language['money']}}
+ {{ goodsInfo.vip_level_status.word }}
+
+ {{goodsInfo.price}}
+
+ /天
+
+ 原价:{{language['money']}}{{goodsInfo.market_price}}
+ /天
+
+
+
+
+
+
+
+
+
+
+ 分享
+
+
+
+
+
+ 分享
+
+
+
+
+
+ {{prop_goods_info.plugin.pass_price.name}}:{{prop_goods_info.plugin.pass_price.price}}
+
+
+ {{goodsInfo.title}}
+
+ 领券
+
+
+
+
+
+
+
+ {{goods_plugin.love_shoppin_gift}}
+
+
+
+
+
+ 库存:{{goodsInfo.stock}}
+ 月销量:{{goodsInfo.month_sales?goodsInfo.month_sales:0}}
+ {{goodsInfo.is_month_sales == 1 ? "总销量" : "销量"}}:{{ salesCount }}
+
+
+
+
+
+ {{o2oCount}}
+
+
+
+
+ {{ goodsCartsTotal[goodsInfo.id].total }}
+
+ 选规格
+
+
+
+ 加入购物车
+
+
+ 立即买
+
+
+
+
+
+
+
+
+ {{goodsInfo.member_discount.level_name}}专享价{{language['money']}}{{goodsInfo.vip_level_status&&goodsInfo.vip_level_status.status==1 ? '暂无权限' : goodsInfo.member_discount.discount_value}}
+ 加入{{ goodsInfo.member_discount.next_level_name }}专享价{{language['money']}}{{ goodsInfo.vip_level_status&&goodsInfo.vip_level_status.status==1 ? '暂无权限' : goodsInfo.member_discount.next_level_price }}
+ /天
+
+
+ 立即开通
+
+
+
+
+
+
+
+ {{o2oName}}
+
+ 点击进入门店
+
+
+
+
+
+ 联系商家
+
+
+
+
+ 客服
+
+
+
+
+
+
+
+
+
+
+
+ 活动
+
+ {{firstActivityBtn}}
+
+
+ {{firstActivityCon}}
+
+
+
+
+
+
+
+
+
+
+ 自购省
+
+ {{selfbuy_discount.this_level_discount_price.content}}
+ {{selfbuy_discount.next_level_discount_price.content}}
+
+
+
+
+
+
+
+
+
+
+
+ 参数
+
+ 商品参数详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+ 购物车是空的
+
+
+ 请选择商品
+
+
+ 活动未开始
+
+
+
+
+
+ {{cartsNum}}
+
+
+ {{language['money']}}
+ {{ cartsTotal }}
+
+ 去结算
+
+
+ 立即预约{{testLength}}
+
+
+
+
+
+ (已选{{ cartsNum }}件)
+
+
+
+ 清空购物车
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上拉查看商品详情
+
+
+ 商品详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 核销日期:
+ 永久有效
+
+ 购买后{{customer_development.effective_time}}天内有效
+ (限{{ind == customer_development.customer_development.effective_day.length ?item:item+','}}使用)
+
+ 不可使用
+
+
+
+ 核销时间段:{{item.start}}-{{item.end}}
+
+
+
+
+ 一次性消费项
+
+
+
+
+
+
+ {{item.name}}
+
+ {{ item.quantity }}
+ 单价¥{{item.price}}
+ 总价¥{{ item.price * item.quantity }}
+
+
+
+
+
+
+ 多次性消费项
+
+
+
+
+
+
+ {{item.name}}
+
+ {{ item.quantity }}
+ 单价¥{{item.price}}
+ 总价¥{{ item.price * item.quantity }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{first_content==''&&article.nodes==''?'暂无详情':''}}
+
+
+
+
+
+ {{goodsInfo.price_desc_title}}
+
+
+
+
+
+
+
+
+
+
+
+ 猜你喜欢
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+ {{language['money']}} {{item.price}}
+
+
+ {{language['money']}} {{item.market_price}}
+
+
+
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{n.nick_name}}
+ {{n.created_at}}
+
+
+ {{n.content}}
+
+ 晒图:
+
+
+
+
+
+
+
+
+ 追评
+ {{n.append.created_at}}
+
+ {{n.append.content}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ popTitle }}
+
+
+
+
+ {{ calendar_data ? "已选择日期"+calendar_data : "请选择日期" }}
+ 剩余:{{ arrjson.number }}
+
+
+ {{ spec.title }}:
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+ {{language['money']}}{{ popPrice }}库存:{{ popStock }}
+
+
+
+ 会员价: {{language['money']}}{{ specsVIPPrc }}
+
+
+
+ 加入购物车
+
+
+ 立即买
+
+
+ 确认预约
+ 确认预约
+
+
+
+ {{ popNum }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{activitem.name}}
+
+
+ {{activitem.value}}
+
+
+
+
+ {{value}}
+
+
+
+
+ {{activitem.desc}}
+
+
+
+
+
+
+
+
+ 该商家已过期,去看看其他的吧
+
+ 我知道了
+
+
+
+
+
+ 商品参数
+
+ {{item.title}}
+ {{item.value}}
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线联系
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 联系电话
+ {{service_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 分享
+
+
+
+
+
+
+
+ 分享好友
+
+
+
+
+
+
+
+
+
+
+ 分享海报
+
+
+
+
+
+
+
+
+
+ 分享到好物圈
+
+
+
+
+
+
+
+
+
+ 视频号链接
+
+
+
+
+
+
+
+
+
+ 一键复制
+ 复制链接,
视频号发布视频粘贴扩展链接
+
+
+
diff --git a/packageA/mycomponent/store_goods/store_goods.wxss b/packageA/mycomponent/store_goods/store_goods.wxss
new file mode 100644
index 0000000..fb9f037
--- /dev/null
+++ b/packageA/mycomponent/store_goods/store_goods.wxss
@@ -0,0 +1,2332 @@
+/* pages/store_goods/store_goods.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+page {
+ background-color: #f5f5f5;
+}
+.pass_price{
+ color:#867E7E ;
+ margin-left: 25rpx;
+}
+.foShowBox .actives video {
+ width: 100%;
+}
+
+.showicon {
+ display: flex;
+ justify-content: flex-end;
+ position: fixed;
+ z-index: 2;
+ box-sizing: content-box;
+ padding: 10rpx;
+ width: 100%;
+}
+
+.showicon.hoet {
+ transition: 0.1s;
+ background: white;
+ width: 100%;
+}
+
+.showicon .member {
+ margin-right: 16rpx;
+}
+
+.showicon .cart {
+ margin-right: 16rpx;
+}
+
+.showicon .back {
+ width: 50rpx;
+ height: 50rpx;
+ border-radius: 100%;
+ color: #fff;
+ background-color: rgba(0, 0, 0, 0.4);
+ text-indent: 0;
+ line-height: 54rpx;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.showicon.hoet .back {
+ margin-top: 5px;
+ transition: 0.1s;
+ background-color: rgba(237, 237, 237, 0);
+}
+
+.showicon.hoet .back icon {
+ color: black;
+}
+
+.wxParse-p {
+ display: flex;
+ flex-direction: column;
+}
+
+.wxParse-p image {
+ width: 100% !important;
+}
+
+.goods {
+ padding-bottom: 100rpx;
+}
+
+.goods .ithumb {
+ position: relative;
+ overflow: hidden;
+}
+
+.goods .ithumb swiper {
+ height: 750rpx;
+}
+
+.goods .ithumb image {
+ width: 100%;
+}
+
+.rob-time {
+ display: flex;
+ height: 88rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/goods/time_buy_bg@2x.png") no-repeat center;
+ background-size: 100%;
+}
+
+.rob-time .img {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.rob-time .img image {
+ width: 60%;
+}
+
+.rob-time .price {
+ display: flex;
+ text-align: left;
+ color: #fff;
+ justify-content: center;
+ align-items: center;
+ width: 30%;
+
+ /* padding-left: 0.75rem; */
+}
+
+.rob-time .price .text {
+ font-size: 40rpx;
+ font-weight: bold;
+ color: #fff;
+}
+
+.rob-time .time {
+ display: flex;
+ justify-content: flex-end;
+ flex: 1;
+ text-align: left;
+ line-height: 98rpx;
+ padding-right: 1.25rem;
+ font-size: 28rpx;
+}
+
+.rob-time .time .left {
+ color: #fff;
+}
+
+.rob-time .time .right .date {
+ background-color: #fff;
+ line-height: 34rpx;
+ padding: 6rpx;
+ margin: 0 4rpx;
+ border-radius: 6rpx;
+}
+
+.rob-time .time .right .mes {
+ color: #fff;
+}
+
+.rob-time .time .right .content {
+ display: flex;
+ align-items: center;
+}
+
+.goods .goodsInfo_box {
+ padding: 28rpx 0rpx;
+ background: #fff;
+}
+
+.goods .goodsInfo_box .nameInfo {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.goods .goodsInfo_box .nameInfo.right {
+ position: relative;
+ margin-left: 20rpx;
+}
+
+.goods .goodsInfo_box .nameInfo icon {
+ font-size: 36rpx;
+ color: #666;
+}
+
+.goods .nameInfo {
+ background: #fff;
+ color: #666;
+}
+
+.goods .nameInfo .h2 {
+ font-size: 48rpx;
+ color: #f15353;
+ text-align: left;
+ font-weight: bold;
+ flex: 1;
+}
+
+.goods .nameInfo .h2 .pic_icon {
+ font-size: 24rpx;
+}
+
+.goods .nameInfo .h2 .original_icon {
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #8c8c8c;
+ text-decoration: line-through;
+ margin-left: 10rpx;
+}
+
+.goods .tilie {
+ color: #333;
+ font-size: 32rpx;
+ font-weight: bold;
+ text-align: justify;
+ line-height: 48rpx;
+ word-break: break-all;
+}
+
+.goods .goodsInfo_box .nameInfo .tilie {
+ flex: 3;
+ font-size: 32rpx;
+ text-align: left;
+ line-height: 48rpx;
+ max-height: 96rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ font-weight: bold;
+}
+
+.goods .goodsInfo_box .goodsbottom {
+ background: #fff;
+ color: #666;
+}
+
+.goods .price {
+ font-size: 24rpx;
+ color: #f15353;
+ text-align: left;
+}
+
+.goods .goodsInfo_box .price_sum {
+ font-weight: bold;
+}
+
+.goods .price .price-num,
+.goods .price .pic_icon {
+ font-size: 48rpx;
+}
+
+.goods .price .price-num1 {
+ font-size: 24rpx;
+ background: #f15353;
+ color: white;
+ padding: 6.4rpx 16rpx;
+ border-top-left-radius: 32rpx;
+ border-bottom-right-radius: 32rpx;
+ margin-bottom: 10rpx;
+}
+
+.goods .price .original-price {
+ display: inline-block;
+ font-size: 24rpx;
+ margin-left: 40rpx;
+ color: #8c8c8c;
+}
+
+.member_b {
+ min-height: 80rpx;
+ background-color: #fffbe1;
+ padding: 0 24rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.member_b .img {
+ width: 122rpx;
+ height: 44rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/goods/member@2x.png") no-repeat;
+ background-size: 122rpx 44rpx;
+}
+
+.member_b .vipBox {
+ flex: 1;
+ padding-left: 24rpx;
+ color: #000;
+ overflow: hidden;
+}
+
+.member_b .vipBox_btn {
+ display: flex;
+ justify-content: center;
+ width: 134rpx;
+ height: 44rpx;
+ line-height: 44rpx;
+ border-radius: 8rpx;
+ background: #363635;
+ color: #fee5a3;
+ overflow: hidden;
+ font-size: 24rpx;
+}
+
+.member_b .arrow {
+ padding-top: 4rpx;
+}
+
+.title-box {
+ display: flex;
+ align-items: center;
+}
+
+.title-box {
+ padding: 24rpx 0 12rpx 24rpx;
+ background: #fff;
+}
+
+.title-box .h1 {
+ flex: 1;
+ text-align: left;
+ color: #333;
+ font-size: 32rpx;
+ line-height: 48rpx;
+ overflow: hidden;
+ padding-right: 30rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 3;
+ font-weight: bold;
+}
+
+.title-box .Coupon_b {
+ width: 127rpx;
+ height: 54rpx;
+ line-height: 54rpx;
+ text-align: center;
+ background: #feebeb;
+ color: #ed0606;
+ border-top-left-radius: 2em;
+ border-bottom-left-radius: 2em;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 28rpx;
+}
+
+.title-box .Coupon_b .arrow {
+ display: flex;
+ align-items: center;
+}
+
+.loveprice {
+ font-size: 24rpx;
+ color: #333;
+ margin-bottom: 10rpx;
+ display: inline-flex;
+ padding: 0 0 0 6rpx;
+ background: #ffe000;
+ border: 2rpx solid #fff;
+ overflow: hidden;
+}
+
+.loveprice_b {
+ background: #fff;
+ font-size: 24rpx;
+ color: #f15353;
+ margin-bottom: 10rpx;
+ display: inline-flex;
+ padding: 0 0 0 6rpx;
+ overflow: hidden;
+}
+
+.loveprice .left {
+ background: #ffe000;
+ padding: 4rpx 8rpx;
+ color: #333;
+ border-radius: 6rpx;
+}
+
+.loveprice .right {
+ padding: 0 10rpx;
+ background: #f2efef;
+}
+
+.loveprice .right .pic_top {
+ font-size: 26rpx;
+ font-weight: 600;
+}
+
+.loveprice .right .pic_bottom {
+ font-size: 26rpx;
+ color: #8c8c8c;
+}
+
+.stockcontainer {
+ background: #fff;
+
+ /* padding: 28rpx 24rpx; */
+ font-size: 24rpx;
+ color: #999;
+ text-align: left;
+ line-height: 52rpx;
+ display: flex;
+ justify-content: space-around;
+}
+
+.stockcontainer .left {
+ flex: 1;
+}
+
+.stockcontainer .right {
+ flex: 1;
+ text-align: right;
+}
+
+.o2oCart {
+ position: relative;
+ display: flex;
+ justify-content: flex-end;
+ overflow: visible;
+}
+
+.spec_btn {
+ margin-top: 20rpx;
+ position: relative;
+ overflow: visible;
+}
+
+.spec_btn .button {
+ width: 168rpx;
+ height: 48rpx;
+ border-radius: 32rpx;
+ color: #fff;
+ background-color: #f15353;
+ padding: 0;
+ font-size: 24rpx;
+ line-height: 46rpx;
+ text-align: center;
+}
+
+.spec_btn .goods-num {
+ position: absolute;
+ z-index: 10;
+ border-radius: 50rpx;
+ padding: 0 10rpx;
+ top: -24rpx;
+ right: -18rpx;
+ background: #ff5d5c;
+ color: #fff;
+}
+
+.hide {
+ display: none;
+}
+
+.show {
+ display: block;
+}
+
+.Box {
+ overflow: inherit;
+ display: flex;
+}
+
+.Box .span {
+ box-sizing: content-box;
+ padding: 12rpx;
+ text-indent: -9999rpx;
+ background-image: url("//static-o2o.360buyimg.com/daojia/new/images/icon/addNumSprite.png");
+ background-repeat: no-repeat;
+ background-size: 400% 100%;
+ width: 48rpx;
+ height: 48rpx;
+ vertical-align: top;
+ border: 0 none;
+ background-origin: content-box;
+}
+
+.Box .hide {
+ display: none;
+}
+
+.Box .span.reduce {
+ background-position: -77rpx 0;
+}
+
+.Box .span.add {
+ background-position: 0 0;
+ right: 0;
+}
+
+.Box .show {
+ display: inline-block;
+}
+
+.Box .label {
+ margin-top: 6rpx;
+ color: #333;
+ font-size: 28rpx;
+ padding: 0;
+ width: 48rpx;
+ height: 48rpx;
+ overflow: hidden;
+ display: inline-block;
+ text-align: center;
+ line-height: 56rpx;
+ vertical-align: top;
+ -webkit-background-origin: content-box;
+ background-origin: content-box;
+ background-color: transparent;
+}
+
+.addCart1 .button {
+ width: 170rpx;
+ height: 72rpx;
+ line-height: 72rpx;
+ text-align: center;
+ color: #fff;
+ background: #4b0;
+ border-radius: 14rpx;
+ font-size: 28rpx;
+}
+
+.store-position {
+ margin-top: 20rpx;
+ font-size: 28rpx;
+ background: #fff;
+}
+
+.store-position .store-box {
+ display: flex;
+ justify-content: space-between;
+ height: 80rpx;
+ line-height: 80rpx;
+ border-bottom: solid 2rpx #e8e8e8;
+ margin-left: 28rpx;
+ padding-right: 28rpx;
+}
+
+.store-position .store-box .store-name {
+ display: flex;
+ align-items: center;
+}
+
+.store-position .store-box .store-name van-icon {
+ margin-right: 12rpx;
+}
+
+.store-position .store-box .o2oName {
+ color: rgb(140, 140, 140);
+}
+
+.store-position van-icon {
+ display: flex;
+ align-items: center;
+}
+
+.store-position .contact-box {
+ background: #fff;
+ height: 80rpx;
+ line-height: 80rpx;
+ display: flex;
+ justify-content: space-between;
+ margin-left: 28rpx;
+ padding-right: 28rpx;
+}
+
+.store-position .contact-box .o2oPhone {
+ display: flex;
+ align-items: center;
+}
+
+.store-position .contact-box .o2oPhone van-icon {
+ margin-right: 12rpx;
+}
+
+.store-position .contact-box .position {
+ display: flex;
+ align-items: center;
+}
+
+.shopInfo .pj {
+ background: #fff;
+ padding: 0 20rpx 80rpx;
+ margin-bottom: 10rpx;
+}
+
+.shopInfo .pj .user {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ padding-top: 10rpx;
+ padding-bottom: 10rpx;
+}
+
+.shopInfo .pj .user .imageshow {
+ width: 8%;
+ position: relative;
+ overflow: hidden;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.shopInfo .pj .user .imageshow image {
+ width: 80%;
+ border-radius: 50%;
+}
+
+.shopInfo .pj .user .name {
+ flex: 5;
+ text-align: left;
+}
+
+.shopInfo .pj .user .time {
+ color: #908a8a;
+ font-size: 24rpx;
+ padding-right: 20rpx;
+}
+
+.shopInfo .pj .p {
+ text-align: left;
+ margin: 0;
+ padding-bottom: 20rpx;
+}
+
+.shopInfo .pj .comment {
+ display: flex;
+ justify-content: flex-end;
+}
+
+.shopInfo .pj .comment text {
+ display: block;
+ width: 150rpx;
+ height: 36rpx;
+ line-height: 36rpx;
+ border-radius: 16rpx;
+ border: 2rpx solid #aaa;
+ color: #666;
+ font-size: 24rpx;
+ text-align: center;
+}
+
+.shopInfo .moreBtn {
+ text-align: center;
+}
+
+.shopInfo .moreBtn .btn_1 {
+ padding: 20rpx 0;
+}
+
+.shopInfo .parameter {
+ background: #fff;
+ padding: 20rpx 20rpx 0 20rpx;
+ text-align: left;
+ font-size: 28rpx;
+ display: flex;
+}
+
+.shopInfo .parameter .par-info {
+ display: flex;
+ width: 100%;
+ padding-bottom: 20rpx;
+ border-bottom: 2rpx solid #f1f1f1;
+}
+
+.shopInfo .parameter .par-info .name {
+ color: #999;
+ width: 25%;
+ padding-right: 20rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.shopInfo .parameter .par-info .value {
+ color: #333;
+ width: 75%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.shopInfo .pj .photoshow image {
+ width: 160rpx !important;
+ height: 160rpx !important;
+ margin-left: 16rpx;
+ display: inline-block;
+}
+
+.a2q {
+ position: fixed;
+ z-index: 100;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: 96rpx;
+ background-color: #fff;
+ border-top: 2rpx solid #bbb;
+ overflow: visible;
+}
+
+.a2w {
+ display: none;
+ position: absolute;
+ z-index: 16;
+ left: 0;
+ top: -60rpx;
+ right: 0;
+ height: 60rpx;
+ overflow: hidden;
+ font-size: 24rpx;
+ line-height: 56rpx;
+ text-align: center;
+ background-color: #f2edca;
+ border-top: 2rpx solid #e4d294;
+}
+
+.a33 {
+ position: absolute;
+ z-index: 20;
+ left: 0;
+ right: 0;
+ top: 98rpx;
+ padding-bottom: 98rpx;
+ transition: transform 0.5s ease-out 0s;
+ -webkit-transition: -webkit-transform 0.5s ease-out 0s;
+ background-color: #fff;
+}
+
+.a34 {
+ height: 60rpx;
+ overflow: hidden;
+ font-size: 24rpx;
+ line-height: 60rpx;
+ text-align: center;
+ background-color: #f2edca;
+ border-top: 2rpx solid #e4d294;
+}
+
+.a35 {
+ overflow: scroll;
+ -webkit-overflow-scrolling: touch;
+}
+
+.a2z {
+ position: absolute;
+ z-index: 30;
+ left: 0;
+ top: -2rpx;
+ right: 0;
+ bottom: 0;
+ background-color: #fff;
+ border-top: 2rpx solid #d9d9d9;
+}
+
+.a2r {
+ position: absolute;
+ z-index: 50;
+ left: 0;
+ top: 0;
+ width: 160rpx;
+ height: 96rpx;
+ background: url("//static-o2o.360buyimg.com/daojia/new/images/minicart/cart.png") 20rpx 10rpx no-repeat;
+ background-size: 100rpx 250rpx;
+ transition: transform 0.5s ease-out 0s;
+ -webkit-transition: -webkit-transform 0.5s ease-out 0s;
+}
+
+.curr,
+.show {
+ display: block;
+}
+
+.a2r.light {
+ top: -26rpx;
+ height: 116rpx;
+ background-position: 20rpx -140rpx;
+ background-size: 100rpx 250rpx;
+}
+
+.a2r.show {
+ visibility: visible;
+}
+
+.a2s {
+ position: absolute;
+ top: 10rpx;
+ left: 88rpx;
+ height: 40rpx;
+ width: 40rpx;
+ line-height: 40rpx;
+ overflow: hidden;
+ color: #fff;
+ background-color: #ff5d5c;
+ border-radius: 50%;
+ font-size: 20rpx;
+ text-align: center;
+}
+
+.a2t {
+ position: absolute;
+ z-index: 40;
+ left: 140rpx;
+ bottom: 0;
+ line-height: 96rpx;
+ font-size: 36rpx;
+ color: #ff3434;
+ transition: transform 0.4s ease-out 0s;
+ -webkit-transition: -webkit-transform 0.4s ease-out 0s;
+}
+
+.a2u {
+ font-size: 30rpx;
+ color: #999;
+}
+
+.a2v {
+ position: absolute;
+ z-index: 40;
+ right: 0;
+ width: 230rpx;
+ text-align: center;
+ color: #fff;
+ line-height: 96rpx;
+ background-color: #47b34f;
+}
+
+.minicart-content,
+.a36 {
+ position: absolute;
+ z-index: 20;
+ left: 0;
+ right: 0;
+ top: 98rpx;
+ transition: transform 0.5s ease-out 0s;
+ -webkit-transition: -webkit-transform 0.5s ease-out 0s;
+ background-color: #fff;
+}
+
+.minicart-content {
+ max-height: 920rpx;
+ overflow: visible;
+}
+
+.a30 {
+ display: none;
+ position: fixed;
+ z-index: 10;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+ background-color: rgba(0, 0, 0, 0.4);
+}
+
+.a2r.incartcontent {
+ top: -126rpx;
+}
+
+.a37 {
+ position: absolute;
+ left: 58rpx;
+ top: -14rpx;
+ width: 22rpx;
+ height: 14rpx;
+ background: url("//static-o2o.360buyimg.com/daojia/new/images/minicart/a.png") 0 0 no-repeat;
+ background-size: 22rpx 14rpx;
+}
+
+.a38 {
+ position: relative;
+ line-height: 80rpx;
+ min-height: 80rpx;
+ color: #666;
+ border-bottom: 2rpx solid #ebebeb;
+ overflow: hidden;
+}
+
+.a4c {
+ padding-left: 80rpx;
+ padding-right: 40rpx;
+ top: 0;
+ background-position: 20rpx 20rpx;
+ color: #333;
+}
+
+.a4b {
+ position: absolute;
+ left: 0;
+ background-image: url("//static-o2o.360buyimg.com/daojia/new/images/minicart/ck.png");
+ background-size: 40rpx 440rpx;
+ background-repeat: no-repeat;
+}
+
+.a4c.checked {
+ background-position: 20rpx -380rpx;
+}
+
+.a4e {
+ position: absolute;
+ left: 148rpx;
+ top: 4rpx;
+ font-size: 24rpx;
+ color: #666;
+}
+
+.a39 {
+ position: absolute;
+ right: 0;
+ top: 0;
+ padding: 0 48rpx 0 36rpx;
+ background: url("//static-o2o.360buyimg.com/daojia/new/images/minicart/delete.png") 0 center no-repeat;
+ background-size: 26rpx 24rpx;
+ color: #666;
+}
+
+.a3b {
+ background-color: #fbfbfb;
+ overflow: scroll;
+ -webkit-overflow-scrolling: touch;
+}
+
+.a3m {
+ position: relative;
+}
+
+.a3r {
+ display: none;
+ position: relative;
+ padding: 18rpx 180rpx 18rpx 78rpx;
+ min-height: 52rpx;
+ line-height: 28rpx;
+ font-size: 24rpx;
+ color: #666;
+ background-position: 16rpx 28rpx;
+ background-size: 50rpx 40rpx;
+ background-repeat: no-repeat;
+ border-bottom: 2rpx solid #e8e8e8;
+}
+
+.a3r .span {
+ position: absolute;
+ right: 0;
+ top: 0;
+ line-height: 88rpx;
+ color: #47b34f;
+ padding: 0 44rpx 0 50rpx;
+ background: url("//static-o2o.360buyimg.com/daojia/new/images/minicart/more.png") right center no-repeat;
+ background-size: 32rpx 20rpx;
+}
+
+.cartWrapper {
+ max-height: 608rpx;
+ overflow: auto;
+ padding-bottom: 100rpx;
+}
+
+.a3o {
+ position: relative;
+ padding: 0 0 20rpx 60rpx;
+ margin-left: 20rpx;
+ line-height: 72rpx;
+ color: #333;
+ border-bottom: 2rpx solid #e8e8e8;
+ overflow: hidden;
+}
+
+.a3p {
+ position: absolute;
+ z-index: 3;
+ left: -20rpx;
+ top: 12rpx;
+ width: 100rpx;
+ height: 120rpx;
+ background-position: 20rpx 40rpx;
+}
+
+.a3p.checked {
+ background-position: 20rpx -360rpx;
+}
+
+.a3t .tr {
+ display: flex;
+}
+
+.a3t .td.imges {
+ width: 124rpx;
+}
+
+.a3u {
+ width: 104rpx;
+ height: 104rpx;
+ margin-top: 20rpx;
+ vertical-align: top;
+}
+
+.a3t .left {
+ flex: 1;
+}
+
+.a3x {
+ min-height: 72rpx;
+ line-height: 72rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.a3q {
+ line-height: 40rpx;
+ color: #ff3434;
+ font-size: 32rpx;
+}
+
+.a3w,
+.a3v {
+ position: absolute;
+ z-index: 3;
+ top: 44rpx;
+ width: 98rpx;
+ height: 104rpx;
+ background-image: url("//static-o2o.360buyimg.com/daojia/new/images/minicart/op.png");
+ background-repeat: no-repeat;
+ background-size: 54rpx 216rpx;
+}
+
+.a3v {
+ right: 122rpx;
+ background-position: center -136rpx;
+}
+
+.a3y {
+ position: absolute;
+ top: 44rpx;
+ right: 70rpx;
+ width: 78rpx;
+ line-height: 104rpx;
+ height: 104rpx;
+ overflow: hidden;
+ text-align: center;
+ font-size: 32rpx;
+}
+
+.a3w {
+ right: 0;
+ background-position: center 24rpx;
+}
+
+.spec_box {
+ background: #fff;
+ width: 660rpx;
+ height: 780rpx;
+ border-radius: 20rpx;
+ padding-bottom: 110rpx;
+ overflow: auto;
+ overflow-y: scroll;
+ -webkit-overflow-scrolling: touch;
+}
+
+.spec_box .h3 {
+ border-radius: 20rpx 20rpx 0 0;
+ width: 100%;
+ background-color: #fff;
+ position: fixed;
+ line-height: 88rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ font-size: 32rpx;
+ text-align: center;
+}
+
+.spec_box .h3 icon {
+ position: absolute;
+ bottom: -80rpx;
+ right: 28rpx;
+ line-height: 88rpx;
+ color: #999;
+ font-size: 36rpx;
+}
+
+.spec_a {
+ margin-top: 20rpx;
+ background: #fff;
+}
+
+.spec_a .h5 {
+ display: block;
+ line-height: 80rpx;
+ text-align: left;
+ padding-left: 40rpx;
+}
+
+.option {
+ display: flex;
+ padding: 0 40rpx;
+ flex-wrap: wrap;
+}
+
+.option .li {
+ padding: 0 12rpx;
+ min-height: 60rpx;
+ line-height: 60rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ background: #f5f5f5;
+ border: solid 2rpx #ebebeb;
+ border-radius: 5rpx;
+}
+
+.option .cur {
+ border: solid 2rpx #00c821;
+ background: #f0f9f2;
+}
+
+.add_car {
+ width: 100%;
+ height: 110rpx;
+ line-height: 110rpx;
+ background-color: #fff;
+ border-top: solid 2rpx #ebebeb;
+ position: fixed;
+ bottom: 0;
+ border-radius: 0 0 20rpx 20rpx;
+}
+
+.car_btn {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 28rpx;
+ height: 100%;
+}
+
+.car_btn .left {
+ color: #f15353;
+ font-size: 32rpx;
+ text-align: left;
+ flex: 0 0 416rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.car_btn .left .good-price {
+ line-height: 36rpx;
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.car_btn .left .vip-price {
+ width: 100%;
+ line-height: 38rpx;
+ font-size: 12px;
+ color: #fdbc2e;
+}
+
+.car_btn .left .span {
+ font-size: 24rpx;
+}
+
+.car_btn .right .span {
+ display: block;
+ width: 178rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ border-radius: 32rpx;
+ background: #f15353;
+ color: #fff;
+ font-size: 28rpx;
+ text-align: center;
+}
+
+.code_box {
+ width: 500rpx;
+
+ /* height: 970rpx; */
+
+ /* position: absolute;
+ left: 50%; */
+ display: block;
+ margin: 0 auto 60rpx;
+ border-radius: 12rpx;
+}
+
+.code_box image {
+ width: 100%;
+ border-radius: 12rpx;
+}
+
+.posterPopup_style .icon_btn {
+ width: 100%;
+ position: relative;
+
+ /* height: 120rpx; */
+ background: #fff;
+ text-align: center;
+ display: flex;
+ justify-content: space-around;
+}
+
+.posterPopup_style .icon_btn .box {
+ width: 50%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+ padding: 20rpx 0;
+ position: relative;
+}
+
+.posterPopup_style .icon_btn image {
+ width: 80rpx;
+ height: 80rpx;
+ margin-bottom: 8rpx;
+}
+
+.posterPopup_style .icon_close {
+ width: 100%;
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ background: #efefef;
+ color: #333;
+ font-size: 32rpx;
+}
+
+.activitycontent {
+ padding-bottom: 100rpx;
+}
+
+.activitycontent .header {
+ display: flex;
+ height: 90rpx;
+ font-size: 32rpx;
+ color: #333;
+ align-items: center;
+}
+
+.activitycontent .header .left {
+ flex: 2;
+}
+
+.activitycontent .header .center {
+ flex: 6;
+ text-align: center;
+}
+
+.activitycontent .header .right {
+ flex: 2;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.activitycontent .header .right .close {
+ width: 40rpx;
+ padding-top: 10rpx;
+}
+
+.activitycontent .activicell {
+ position: relative;
+ z-index: 5;
+ background-color: #fff;
+ padding: 20rpx 0;
+ display: flex;
+}
+
+.activitycontent .activicell .left {
+ border-radius: 6rpx;
+ border: 2rpx solid #f15353;
+ color: #f15353;
+ padding: 4rpx 20rpx;
+ font-size: 24rpx;
+ margin-left: 28rpx;
+ max-height: 40rpx;
+}
+
+.activitycontent .activicell .right {
+ display: flex;
+ margin-right: 28rpx;
+ justify-content: flex-end;
+ flex: 1;
+ align-items: center;
+ flex-direction: column;
+ margin-left: 6rpx;
+}
+
+.activitycontent .activicell .right .right_content {
+ width: 100%;
+ display: flex;
+ justify-content: flex-end;
+}
+
+.act-box {
+ font-size: 28rpx;
+ background-color: #fff;
+ margin-top: 20rpx;
+ color: #333;
+}
+
+.act-box .coupon {
+ display: flex;
+ height: 88rpx;
+ padding-right: 24rpx;
+ margin-left: 24rpx;
+ border-bottom: solid 2rpx #e2e2e2;
+ align-items: center;
+}
+
+.act-box .coupon .li_1 {
+ margin-right: 40rpx;
+}
+
+.act-box .coupon .li_2 .span {
+ background-color: #f15353;
+ color: #fff;
+ padding: 4rpx 20rpx;
+ border-radius: 8rpx;
+ font-size: 24rpx;
+ margin-right: 20rpx;
+ border: solid 2rpx #f15353;
+ flex: 2;
+}
+
+.act-box .coupon .ang_right {
+ display: flex;
+ justify-content: flex-end;
+ flex: 7;
+ align-items: center;
+}
+
+.act-box .coupon .ang_right .ang_right_icon {
+ width: 32rpx;
+ padding-top: 10rpx;
+}
+
+.act-box .vip {
+ display: flex;
+ height: 88rpx;
+ padding-right: 24rpx;
+ margin-left: 24rpx;
+ align-items: center;
+ border-bottom: solid 2rpx #e2e2e2;
+}
+
+.act-box .vip .li_1 {
+ margin-right: 40rpx;
+}
+
+.act-box .vip .grade text {
+ border: solid 2rpx #f15353;
+ padding: 4rpx 20rpx;
+ color: #f15353;
+ margin-right: 20rpx;
+ border-radius: 6rpx;
+ font-size: 24rpx;
+}
+
+.act-box .vip .li_3 text {
+ color: #f15353;
+}
+
+.act-box .act {
+ display: flex;
+ height: 88rpx;
+ padding-right: 24rpx;
+ margin-left: 24rpx;
+ align-items: center;
+
+ /* border-bottom: solid 2rpx #e2e2e2; */
+}
+
+.act-box .act .act1 {
+ margin-right: 40rpx;
+}
+
+.act-box .act .act2 text {
+ border: solid 2rpx #f15353;
+ color: #f15353;
+ padding: 4rpx 20rpx;
+ border-radius: 6rpx;
+ font-size: 24rpx;
+}
+
+.act-box .act .act3 {
+ flex: 2.5;
+ margin-left: 20rpx;
+ font-size: 24rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.act-box .act .ang_right {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+}
+
+.act-box .act .ang_right .ang_right_icon {
+ width: 32rpx;
+ padding-top: 10rpx;
+}
+
+.act-box .act_bq {
+ display: flex;
+ margin-right: 24rpx;
+ margin-left: 24rpx;
+ align-items: center;
+
+ /* border-bottom: solid 2rpx #e2e2e2; */
+ justify-content: flex-start;
+ flex-wrap: wrap;
+}
+
+.act_bq_Box {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin: 10rpx 5rpx;
+}
+
+.goods .act_bq_Box image {
+ width: 24rpx;
+ height: 24rpx;
+ margin-left: 6rpx;
+}
+
+.show8content .bottom {
+ padding: 10rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.show8content .button {
+ width: 204rpx;
+ height: 46rpx;
+ border-radius: 10rpx;
+ color: #fff;
+ background-color: #f15353;
+ padding: 0;
+ font-size: 24rpx;
+ line-height: 46rpx;
+ text-align: center;
+}
+
+.tips {
+ line-height: 112rpx;
+ text-align: center;
+}
+
+.carPopup {
+ max-height: 640rpx;
+ overflow-y: scroll;
+}
+
+.carPopup .goodsList {
+ padding: 0 28rpx;
+}
+
+.carPopup .goodsList .goods {
+ border-bottom: solid 2rpx #ebebeb;
+ display: flex;
+ position: relative;
+ padding: 20rpx 0;
+ align-items: center;
+}
+
+.carPopup .goodsList .goods .goods_img {
+ width: 108rpx;
+ height: 108rpx;
+ border-radius: 4rpx;
+ overflow: hidden;
+ background: #f2f2f2;
+ margin-right: 20rpx;
+ margin-left: 20rpx;
+}
+
+.carPopup .goodsList .goods .goods_img image {
+ width: 100%;
+}
+
+.carPopup .goodsList .goods .goodsName {
+ width: 440rpx;
+ text-align: left;
+}
+
+.carPopup .goodsList .goods .goodsName .name {
+ display: flex;
+ align-items: center;
+}
+
+.carPopup .goodsList .goods .goodsName .name .install-tag {
+ background: #ff6b1b;
+ font-size: 10px;
+ color: #fff;
+ padding: 0 5px;
+ border-radius: 2px;
+ margin-right: 4px;
+}
+
+.carPopup .goodsList .goods .goodsName .name .goods-names {
+ font-size: 15px;
+ flex: 1;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.carPopup .goodsList .goods .goodsName .price {
+ color: #f15353;
+ font-size: 32rpx;
+ margin-top: 20rpx;
+}
+
+.carPopup .goodsList .goods .addBtn {
+ position: absolute;
+ bottom: 20rpx;
+ right: 0;
+ display: flex;
+}
+
+.carPopup .goodsList .goods .addBtn .iconfont {
+ width: 56rpx;
+ height: 56rpx;
+ line-height: 56rpx;
+ font-size: 52rpx;
+ color: #f15353;
+}
+
+.carPopup .goodsList .goods .addBtn .icon-store_reduceLine {
+ color: #aaa;
+}
+
+.carPopup .goodsList .goods .addBtn input {
+ width: 64rpx;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.sift {
+ height: 332rpx;
+ background: #fff;
+ margin-top: 20rpx;
+ padding: 0 24rpx;
+ overflow: hidden;
+}
+
+.sift-title {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ font-size: 28rpx;
+ margin-top: 20rpx;
+}
+
+.swiper-kb {
+ box-shadow: 0 3px 15px #e6e6e6;
+ margin-top: 20rpx;
+ margin-left: 20rpx;
+}
+
+.swiper-kb .figure {
+ display: flex;
+}
+
+.swiper-kb .figure image {
+ width: 60rpx;
+ height: 60rpx;
+ margin-right: 20rpx;
+ margin-left: 21rpx;
+ margin-top: 30rpx;
+ border-radius: 100%;
+}
+
+.swiper-kb .figure .figtxt {
+ margin-top: 25rpx;
+ flex: 1;
+}
+
+.swiper-kb .figure .figtxt text {
+ height: 17px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ margin-right: 10rpx;
+}
+
+.figure_right {
+ padding: 0 24rpx;
+ margin-top: 10rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+.tit_a {
+ margin-left: 24rpx;
+ color: #999;
+}
+
+.tit_a text {
+ font-size: 28rpx;
+ color: #ed0606;
+}
+
+.sift-right {
+ display: flex;
+ align-items: center;
+ color: #ed0606;
+ font-size: 28rpx;
+ flex: 1;
+ justify-content: flex-end;
+}
+
+.sift-right van-icon {
+ margin-top: 10rpx;
+}
+
+.top_1 {
+ display: flex;
+ justify-content: space-between;
+ padding: 0 28rpx;
+ align-items: center;
+ height: 80rpx;
+ font-size: 32rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.top_1 .cartIcon {
+ display: block;
+ background: url(https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/store_car2.png) no-repeat center;
+ background-size: 80rpx;
+ width: 80rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #aaa;
+ font-size: 80rpx;
+}
+
+.top_1 .select {
+ font-size: 24rpx;
+ color: #8c8c8c;
+ margin-left: 8rpx;
+}
+
+.top_1 .clear_car {
+ font-size: 28rpx;
+ color: #666;
+ display: flex;
+ align-items: center;
+}
+
+.top_1 .clear_car .iconfont {
+ font-size: 36rpx;
+ color: #666;
+ margin-right: 8rpx;
+}
+
+.Go_settle {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ height: 100rpx;
+ background: #666;
+ display: flex;
+ justify-content: space-between;
+ z-index: 99;
+}
+
+.Go_settle .iconfont {
+ background: url(https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/store_car1.png) no-repeat center;
+ background-size: 128rpx;
+ width: 128rpx;
+ height: 128rpx;
+ line-height: 128rpx;
+ color: #aaa;
+ font-size: 128rpx;
+ position: absolute;
+ left: 20rpx;
+ bottom: -0.32rpx;
+ transition: transform 0.4s ease-out 0s;
+}
+
+.Go_settle .p {
+ font-size: 32rpx;
+ color: #aaa;
+ padding-left: 160rpx;
+ line-height: 100rpx;
+}
+
+.Go_settle .button {
+ width: 220rpx;
+ background: #f15353;
+ color: #fff;
+ font-size: 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.complete .button {
+ width: 220rpx;
+ background: #f15353;
+ color: #fff;
+ font-size: 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.goods .complete .number {
+ position: absolute;
+ top: -16rpx;
+ left: 104rpx;
+ z-index: 10;
+ padding: 0 10rpx;
+ height: 30rpx;
+ line-height: 30rpx;
+ border-radius: 14rpx;
+ text-align: center;
+ font-size: 24rpx;
+ background: #fff;
+ color: #f15353;
+}
+
+.goods .complete .iconfont {
+ background: url(https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/store_car2.png) no-repeat center;
+ background-size: 128rpx;
+ width: 128rpx;
+ height: 128rpx;
+ line-height: 128rpx;
+ color: #aaa;
+ font-size: 128rpx;
+
+ /* position: absolute;
+ left: 20rpx;
+ bottom: -0.32rpx; */
+ transition: transform 0.4s ease-out 0s;
+}
+
+.Box .iconfont {
+ width: 56rpx;
+ height: 56rpx;
+ line-height: 56rpx;
+ font-size: 26px;
+ color: #f15353;
+}
+
+.show_b {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ margin-right: 65rpx;
+ font-size: 14px;
+}
+
+.show_b view {
+ padding: 15rpx 30rpx;
+}
+
+.curr {
+ border-bottom: 4rpx solid #f15353;
+}
+
+.canshu .parameter .par-info {
+ display: flex;
+ justify-content: space-between;
+ margin: 0 20rpx;
+ padding: 24rpx 0;
+ align-items: center;
+ border-bottom: 2rpx solid #e4e4e4;
+ box-sizing: border-box;
+}
+
+.canshu .parameter .par-info .name {
+ text-align: left;
+ padding-right: 40rpx;
+ box-sizing: border-box;
+}
+
+.canshu .parameter .par-info .value {
+ text-align: left;
+ flex: 0 0 70%;
+ color: #5d5d5d;
+}
+
+.foShowBox {
+ transition: 1s;
+}
+
+.pullBox {
+ width: 100%;
+ height: 110rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.pullBox image {
+ width: 32rpx;
+ height: 32rpx;
+ margin-right: 20rpx;
+}
+
+.actives {
+ animation: mymove 0.5s;
+ text-align: center;
+ color: #999;
+}
+
+@keyframes mymove {
+ from {
+ transform: translateY(-400rpx) scale(1) rotateY(90rpx);
+ }
+
+ to {
+ transform: translateY(0) scale(1) rotateY(0);
+ }
+}
+
+.rotateImg {
+ transform: rotate(180deg);
+ -webkit-transform: rotate(180deg);
+ transition: transform 0.5s;
+}
+
+.normalImg {
+ transform: rotate(0deg);
+ -webkit-transform: rotate(0deg);
+ transition: transform 0.5s;
+}
+
+.rotadh {
+ animation-delay: 2s;
+ transition: 2s;
+}
+
+.nondh {
+ transition: 2s;
+ display: none;
+ animation-delay: mymove 2s;
+}
+
+.noneBox {
+ display: none;
+}
+
+.like-list {
+ background-color: white;
+}
+
+.like-list .box06 {
+ display: flex;
+ justify-content: center;
+ width: 100%;
+ line-height: 60rpx;
+ padding: 20rpx 0;
+}
+
+.like-list .box06 .img {
+ width: 56rpx;
+ height: 56rpx;
+ overflow: hidden;
+}
+
+.like-list .box06 .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.like-list .box06 .like {
+ font-weight: bold;
+ font-size: 32rpx;
+ color: #f15353;
+ margin-left: 20rpx;
+}
+
+.like-list .like-box {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ padding: 0 24rpx;
+ background-color: #fff;
+}
+
+.like-list .like-box .box {
+ background-color: #fff;
+ flex: 0 0 48%;
+ margin-bottom: 20rpx;
+ border-radius: 16rpx;
+ overflow: hidden;
+ box-shadow: 0 0 16rpx #dedede;
+}
+
+.like-list .like-box .box:nth-child(2n) {
+ margin-right: 0;
+ margin-left: 0;
+}
+
+.like-list .like-box .box .goods-img {
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ position: relative;
+}
+
+.like-list .like-box .box .goods-img image {
+ max-width: 100% !important;
+ height: 100% !important;
+ display: block;
+ border: 0 !important;
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+
+.like-list .like-box .box .goods-info {
+ padding: 12rpx;
+}
+
+.like-list .like-box .box .goods-info .name {
+ height: 72rpx;
+ font-size: 28rpx;
+ overflow: hidden;
+ line-height: 34rpx;
+}
+
+.like-list .like-box .box .goods-info .pay {
+ line-height: 36rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ text-align: left;
+}
+
+.like-list .like-box .box .goods-info .left {
+ color: #f15353;
+ font-size: 36rpx;
+}
+
+.like-list .like-box .box .goods-info .pay .right {
+ font-size: 28rpx;
+ color: #999;
+ text-decoration: line-through;
+ margin: 0;
+}
+
+.like-list .cloud {
+ margin-top: 20rpx;
+ display: flex;
+ justify-content: center;
+}
+
+.like-list .cloud .img {
+ width: 10vw;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.like-list .cloud .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.like-list .cloud .h4 {
+ font-weight: bold;
+ font-size: 30rpx;
+ color: #999;
+ line-height: 56rpx;
+}
+
+/* 价格说明 */
+
+.price-desc {
+ background-color: #fff;
+ padding: 20rpx 25rpx;
+ margin: 20rpx;
+ border-radius: 20rpx;
+}
+
+.price-desc .price-desc-title {
+ text-align: left;
+ font-weight: bold;
+ font-size: 14px;
+ color: #1f1f1f;
+ margin-bottom: 20rpx;
+}
+
+/* 价格说明 */
+
+.change {
+ display: flex;
+ align-items: center;
+}
+
+.nameInfo .price-num1 {
+ font-size: 24rpx;
+ background: #f15353;
+ color: white;
+ padding: 6.4rpx 16rpx;
+ border-top-left-radius: 32rpx;
+ border-bottom-right-radius: 32rpx;
+ margin-bottom: 10rpx;
+}
+
+/* 客服 */
+
+/* kefu */
+.icon-close11 {
+ font-size: 18px;
+}
+
+.pop-content {
+ border-radius: 38rpx;
+ text-align: center;
+ background: #fff;
+ padding: 35rpx 0;
+ position: relative;
+ justify-content: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 650rpx;
+}
+
+.pop-content .pop-top {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+}
+
+.pop-content .pop-top .left {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ position: relative;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .left .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .left .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .left .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ margin: 0;
+ margin-bottom: 24rpx;
+}
+
+.pop-content .pop-top .right .wrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.pop-content .pop-top .right .wrap .image {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+}
+
+.pop-content .pop-top .right .wrap .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-content .pop-top .right .wrap icon {
+ width: 84rpx;
+ height: 84rpx;
+ margin: 0 auto;
+ margin-bottom: 16rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ font-size: 50rpx;
+ background-color: #02c777;
+ color: #fff;
+}
+
+.pop-content .pop-top .right .wrap .color2 {
+ background: #ff9329;
+}
+
+.pop-content .pop-top .right .wrap .color3 {
+ background: #2aa7fb;
+}
+
+.pop-content .line {
+ width: 1px;
+ height: 51rpx;
+ background-color: #999;
+}
+
+.pop-bottom {
+ margin-top: 32rpx;
+ width: 327rpx;
+ display: flex;
+ justify-content: center;
+ height: 327rpx;
+}
+
+.pop-bottom .image {
+ width: 100%;
+ height: 100%;
+}
+
+.pop-bottom .image image {
+ width: 100%;
+ height: 100%;
+}
+
+.kefuxiaoxi {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ top: 0;
+ left: 0;
+}
+
+.msgbox {
+ line-height: 40rpx;
+ box-sizing: border-box;
+ padding: 20rpx;
+}
+
+.right {
+ position: relative;
+ margin-left: 20rpx;
+}
+
+.share_text {
+ margin-left: 4px !important;
+ font-size: 24rpx;
+ color: #9b9b9b;
+ padding: 0;
+ border: none;
+}
+
+/* ------------------ */
+
+.canshu .showTitle {
+ width: 100%;
+ text-align: center;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 18px;
+}
+
+.show_price_box {
+ display: flex;
+ flex-direction: column;
+ font-size: 13px;
+}
+
+.show_price_box .show_price {
+ margin-bottom: 3px;
+}
+
+.show_price_box .other_price {
+ display: inline-block;
+ padding: 1px 4px;
+}
+
+.show_price_box .red_white {
+ color: #fff;
+ background: #ff2c29;
+}
+
+.show_price_box .white_red {
+ color: #ff2c29;
+ border: solid #ff2c29 1px;
+ background: #fff;
+}
+
+.video-link-copy {
+ width: 577rpx;
+ padding: 96rpx 32rpx 32rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.video-link-copy .video-link-copy-btn {
+ height: 64rpx;
+ line-height: 64rpx;
+ padding: 0 48rpx;
+ color: #fff;
+ border-radius: 32rpx;
+ background: #f15353;
+}
+
+.video-link-copy .video-link-copy-text {
+ font-size: 12px;
+ padding: 0.875rem 0;
+}
+
+.video-link-copy .video-link-copy-img {
+ width: 90%;
+}
+
+.meal {
+ padding: 40rpx 24rpx 117.12rpx 24rpx;
+ text-align: left;
+ background-color: #fff;
+ font-size: 28.16rpx;
+}
+
+.meal .timer {
+ margin-top: 19.2rpx;
+ display: flex;
+ align-items: center;
+}
+
+.meal .onece {
+ height: 60.16rpx;
+ background-color: #feebeb;
+ border-radius: 15.04rpx 15.04rpx 0 0;
+ text-align: center;
+ line-height: 60.16rpx;
+ font-size: 25.92rpx;
+ margin-top: 29.12rpx;
+}
+
+.meal .onelis {
+ border: 1rpx solid #e3e3e3;
+ border-top: 0;
+ height: 160.96rpx;
+ padding: 24rpx 24.96rpx 22.08rpx 24.96rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.meal .onelis .oneleft {
+ width: 114.88rpx;
+ height: 114.88rpx;
+ background-color: #f5f5f5;
+ overflow: hidden;
+}
+
+.meal .onelis .oneleft image {
+ width: 100%;
+ height: 100% !important;
+}
+
+.meal .onelis .oneright {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ margin-left: 16rpx;
+}
+
+.meal .onelis .oneright .rightTitle {
+ font-size: 25.92rpx;
+ color: #333;
+ text-align: left;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+.meal .onelis .oneright .rightBottom {
+ font-size: 24rpx;
+ color: #999;
+ display: flex;
+ align-items: center;
+}
+
+.meal .onelis .oneright .rightBottom .ddLeft {
+ flex: 1;
+}
+
+.reserveBtn {
+ background-color: rgb(241, 83, 83);
+ width: 100%;
+ height: 100rpx;
+ position: fixed;
+ bottom: 0;
+ color: #fff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ z-index: 1;
+}
+
+.calendar_data {
+ color: #666;
+}
+
+.choose-calendar {
+ display: inline-block;
+ max-width: 100%;
+ padding: 10px;
+ margin-left: 26rpx;
+ box-sizing: border-box;
+ background-color: #ffd9d8;
+ border-radius: 3px;
+ color: #ee2e2b;
+ padding-left: 16rpx;
+}
+
+.choose-calendar .span {
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: inline;
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.js b/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.js
new file mode 100644
index 0000000..8f539e5
--- /dev/null
+++ b/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.js
@@ -0,0 +1,99 @@
+// packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.js
+const app = getApp();
+let _this = null;
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ prop_goods_info: {
+ type: null, //父组件的商品详情数据
+ },
+ goodsId: {
+ type: Number,
+ },
+ goodsType: {
+ type: String,
+ },
+ hoet: {
+ type: null,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ money: 0,
+ numberKeyBoardClose:()=> {
+ _this.confirmPay();
+ return false;
+ },
+ keyBoardShow: false,
+ passValueArr: [],
+
+ titleBgMode: "hide",
+ cservice: {},
+ details: {},
+ showServicePopup: false,
+
+ cursorIndex: 0
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ lifetimes: {
+ attached() {
+ _this = this;
+ wx.setNavigationBarTitle({
+ title: '扫码下单',
+ });
+ this.getDetails();
+ }
+ },
+ methods: {
+ openService() {
+ this.setData({
+ showServicePopup: !this.data.showServicePopup
+ });
+ },
+ confirmPay() {
+ if (this.data.details.status != 1) {
+ return app.tips("当前收款码已关闭,请联系客服!");
+ }
+ if(Number(this.data.money) == 0){
+ return app.tips("付款金额必须大于0");
+ }
+ if(this.data.passValueArr && this.data.passValueArr[this.data.passValueArr.length-1]=="."){
+ return app.tips("请输入完整数字");
+ }
+ wx.navigateTo({
+ url: '/packageC/cashier/cashier_pay/cashier_pay?cashier_type=scanning_payment&price=' + this.data.money + '&goods_id=' + this.data.goodsId,
+ });
+ },
+
+ handkeyboardinput(evt) {
+ let passValueArr = evt.detail.passValueArr;
+ this.setData({
+ passValueArr,
+ cursorIndex: passValueArr.length,
+ money: passValueArr.length == 0 ? '0' : passValueArr.join("")
+ });
+ },
+
+ setTopping() {
+ wx.pageScrollTo({
+ scrollTop: 0
+ });
+ },
+
+ getDetails() {
+ this.setData({
+ details: this.data.prop_goods_info.get_goods,
+ cservice: this.data.prop_goods_info.customer_service,
+ keyBoardShow: true
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.json b/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.json
new file mode 100644
index 0000000..184a97b
--- /dev/null
+++ b/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "numberkeyboard":"/mycomponent/payKeyboard/numberKeyboard/numberKeyboard",
+ "connect-customer-service":"/mycomponent/ConnectCustomerService/ConnectCustomerService",
+ "mp-html":"/mycomponent/mp-html/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.wxml b/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.wxml
new file mode 100644
index 0000000..dea3b41
--- /dev/null
+++ b/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.wxml
@@ -0,0 +1,49 @@
+
+
+
+
+
+ 付款金额
+
+ ¥
+ {{money}}
+
+ {{money}}
+
+
+
+
+
+
+ 收款码详情
+
+
+
+
+
+ 暂无详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.wxss b/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.wxss
new file mode 100644
index 0000000..271f455
--- /dev/null
+++ b/packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.wxss
@@ -0,0 +1,213 @@
+/* packageA/mycomponent/sweep_buy_goods/sweep_buy_goods.wxss */
+@import "/mycss/iconfont.wxss";
+
+page {
+ background: #f2f2f2;
+}
+
+view,
+text {
+ box-sizing: border-box;
+}
+
+.header {
+ width: 100%;
+ margin-bottom: -105rpx;
+ padding-bottom: 105rpx;
+ background-color: #feca12;
+ border-radius: 0 0 77rpx 77rpx;
+}
+
+.header .header-wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding-top: 51rpx;
+ padding-bottom: 51rpx;
+}
+
+.header .header-wrapper .logo,
+.header .header-wrapper .logo image {
+ width: 70rpx;
+ height: 70rpx;
+ background-color: #ffffff;
+ border-radius: 4rpx;
+}
+
+.header .header-wrapper .name {
+ max-width: 500rpx;
+ margin-left: 22rpx;
+ font-size: 36rpx;
+ color: #333;
+ text-align: center;
+}
+
+.inputs {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ width: 710rpx;
+ height: 210rpx;
+ padding: 30rpx 31rpx;
+ margin: 0 auto;
+ text-align: left;
+ background-color: #ffffff;
+ border-radius: 10rpx;
+}
+
+.inputs .text {
+ font-size: 26rpx;
+ color: #4b4b4b;
+}
+
+.inputs .price-wrapper {
+ display: flex;
+ align-items: flex-end;
+ padding-bottom: 10rpx;
+ font-weight: bold;
+ border-bottom: 2rpx solid #dfdfdf;
+}
+
+.inputs .price-wrapper .company {
+ font-size: 26rpx;
+ color: #1f1f1f;
+}
+
+.inputs .price-wrapper .price {
+ transform: translateY(13rpx);
+ margin-left: 32rpx;
+ font-size: 56rpx;
+ color: #2a2a2a;
+}
+
+.inputs .price-wrapper .price.notText {
+ color: #a4a4a4;
+}
+
+.inputs .price-wrapper .price .cursor::after {
+ content: "";
+ display: inline-block;
+ width: 4rpx;
+ height: 40rpx;
+ background-color: #323233;
+ animation: 1s van-cursor-flicker infinite;
+}
+
+.fixed-qrcode {
+ position: fixed;
+ right: 50%;
+ transform: translateX(352rpx);
+ bottom: 750rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 60rpx;
+ height: 60rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 50%;
+}
+
+.fixed-qrcode .iconfont {
+ font-size: 40rpx;
+ color: #fff;
+}
+
+.fixed-topping {
+ position: fixed;
+ right: 50%;
+ transform: translateX(352rpx);
+ bottom: 650rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 60rpx;
+ height: 60rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 50%;
+}
+
+.fixed-topping .iconfont {
+ font-size: 44rpx;
+ color: #fff;
+}
+
+
+.fixed-bottom {
+ position: fixed;
+ bottom: 0;
+ padding-bottom: env(safe-area-inset-bottom);
+ background-color: #f2f3f5;
+}
+
+.numberDeleteWrapper {
+ flex: 1 !important;
+}
+
+.numberCloseWrapper {
+ flex: 3 !important;
+ /* background-color: #21bf63; */
+}
+
+.numberCloseText {
+ background-color: #21bf63 !important;
+}
+
+.numberCloseText-disabled {
+ background-color: #cbced0 !important;
+}
+
+.goods-details {
+ width: 710rpx;
+ margin: 20rpx auto;
+ padding-bottom: calc(488rpx + env(safe-area-inset-bottom));
+ background: #fff;
+ border-radius: 10rpx;
+}
+
+.goods-details .details-title {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #9a9a99;
+ padding: 32rpx 22rpx;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+.goods-details .details-title .line {
+ background: #ced0d2;
+ width: 96rpx;
+ height: 2rpx;
+}
+
+.goods-details .details-title .dr {
+ margin-right: 25rpx;
+}
+
+.goods-details .details-title .dl {
+ margin-left: 25rpx;
+}
+
+.goods-details .wrapper {
+ padding: 16rpx;
+ text-align: left;
+}
+
+.goods-details .wrapper img {
+ max-width: 100%;
+}
+
+
+@keyframes van-cursor-flicker {
+ 0% {
+ opacity: 0;
+ }
+
+ 50% {
+ opacity: 1;
+ }
+
+ 100% {
+ opacity: 0;
+ }
+}
\ No newline at end of file
diff --git a/packageA/mycomponent/voice_shop/good_detail.js b/packageA/mycomponent/voice_shop/good_detail.js
new file mode 100644
index 0000000..1a843b3
--- /dev/null
+++ b/packageA/mycomponent/voice_shop/good_detail.js
@@ -0,0 +1,216 @@
+// mycomponent/voice_shop/good_detail.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsId: {
+ type: null,
+ },
+ enterAt: {
+ type: null,
+ },
+ leaveAt: {
+ type: null,
+ },
+ hoet: {
+ type: null,
+ },
+ mark: {
+ type: null,
+ },
+ markId: {
+ type: null,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ stop1: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/stop1.png",
+ play1: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/play1.png",
+ phone1: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/phone1.png",
+ weixin1: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/weixin.png",
+ bfstatus: false,
+ posterShow: false,
+ innerAudioContext: null,
+ },
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.getData();
+ this.init();
+ console.log(this.data.goodsId);
+ },
+ moved() {},
+ detached() {
+ this.data.innerAudioContext.destroy();
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onlinekf(e) {
+ var that = this;
+ console.log(e);
+ wx.setClipboardData({
+ data: that.data.people_connect,
+ success(res) {
+ wx.getClipboardData({
+ success(res) {
+ wx.showToast({
+ title: "已复制链接请用浏览器打开",
+ icon: "none",
+ });
+ },
+ });
+ },
+ });
+ },
+ phone(e) {
+ console.log(this.data.ConnectionInfo.phone);
+ var phoneNum = this.data.ConnectionInfo.phone;
+ wx.makePhoneCall({
+ phoneNumber: phoneNum, //仅为示例,并非真实的电话号码
+ });
+ },
+ posterClose(e) {
+ this.setData({
+ posterShow: false,
+ });
+ },
+ popupSpecs(e) {
+ this.getMessage();
+ this.setData({
+ posterShow: true,
+ });
+ },
+ tapzt(e) {
+ this.data.innerAudioContext.pause();
+ this.setData({
+ bfstatus: !this.data.bfstatus,
+ });
+ },
+ gotoGoods(e) {
+ console.log(e.currentTarget.id);
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + e.currentTarget.id,
+ });
+ },
+ tapbf(e) {
+ this.setData({
+ bfstatus: !this.data.bfstatus,
+ });
+ console.log(e.currentTarget.dataset.dali.url);
+ var musiUrl = e.currentTarget.dataset.dali.url;
+ this.data.innerAudioContext.src = musiUrl;
+ this.data.innerAudioContext.play();
+ },
+ gotoindex() {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ },
+ gotoMember() {
+ wx.reLaunch({
+ url: "/packageG/member_v2/member_v2",
+ });
+ },
+ getMessage() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.voice-goods.api.voice-goods.getConnection");
+ app._postNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ ConnectionInfo: res.data,
+ people_connect: res.data.people_connect,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ getData() {
+ console.log(this.data.goodsId);
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.voice-goods.api.voice-goods.getVoiceGoods");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ goods_id: that.data.goodsId,
+ },
+ success: function (resdata) {
+ that.setData({
+ goodsInfo: resdata.data.data,
+ is_rule: resdata.data.data.is_rule == 1 ? true : false,
+ });
+ wx.setNavigationBarTitle({
+ title: resdata.data.data.title,
+ });
+ },
+ fail: function (res) {},
+ });
+ },
+ init() {
+ var that = this;
+ this.data.innerAudioContext = wx.createInnerAudioContext();
+ this.data.innerAudioContext.onCanplay(() => {});
+ this.data.innerAudioContext.onPlay(() => {
+ console.log("开始播放");
+ console.log(this.data.innerAudioContext.duration);
+ this.setData({
+ currentTime: this.realFormatSecond(this.data.innerAudioContext.duration),
+ slmin: "0:00:00",
+ });
+ });
+ this.data.innerAudioContext.onTimeUpdate(() => {
+ setTimeout(() => {
+ let smun = (this.data.innerAudioContext.currentTime / this.data.innerAudioContext.duration) * 100;
+ var valueSlmin = parseInt(smun);
+ console.log(this.data.innerAudioContext.duration);
+ that.setData({
+ currentTime: this.realFormatSecond(this.data.innerAudioContext.duration),
+ slmin: this.realFormatSecond(this.data.innerAudioContext.currentTime),
+ valueSlmin: valueSlmin,
+ audio_length: this.data.innerAudioContext.duration,
+ });
+ }, 1000);
+ });
+ this.data.innerAudioContext.onError((res) => {
+ wx.showToast({
+ title: "播放错误",
+ icon: "none",
+ });
+ });
+ },
+ sildein(e) {
+ console.log(e);
+ var setvalue = e.detail.value / 100;
+ var long = this.data.audio_length * setvalue;
+ console.log(long, setvalue);
+ this.data.innerAudioContext.seek(long);
+ },
+ realFormatSecond(second) {
+ var secondType = typeof second;
+
+ if (secondType === "number" || secondType === "string") {
+ second = parseInt(second);
+
+ var hours = Math.floor(second / 3600);
+ second = second - hours * 3600;
+ var mimute = Math.floor(second / 60);
+ second = second - mimute * 60;
+
+ return hours + ":" + ("0" + mimute).slice(-2) + ":" + ("0" + second).slice(-2);
+ } else {
+ return "0:00:00";
+ }
+ },
+ },
+});
diff --git a/packageA/mycomponent/voice_shop/good_detail.json b/packageA/mycomponent/voice_shop/good_detail.json
new file mode 100644
index 0000000..b1918c1
--- /dev/null
+++ b/packageA/mycomponent/voice_shop/good_detail.json
@@ -0,0 +1,11 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-rate": "../../../dist/rate/index",
+ "van-icon": "../../../dist/icon/index",
+ "invitation":"../../mycomponent/invitation/invitation"
+ }
+}
diff --git a/packageA/mycomponent/voice_shop/good_detail.wxml b/packageA/mycomponent/voice_shop/good_detail.wxml
new file mode 100644
index 0000000..e2ad796
--- /dev/null
+++ b/packageA/mycomponent/voice_shop/good_detail.wxml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{goodsInfo.title}}
+ {{goodsInfo.content}}
+
+
+
+ 立即在线播放
+
+
+
+
+ 语音信息
+
+
+
+
+ 1
+ {{item.name}}
+
+
+
+
+
+
+
+
+ {{slmin}}
+ {{currentTime}}
+
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+
+
+
+
+
+
+
+ 猜你喜欢
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/mycomponent/voice_shop/good_detail.wxss b/packageA/mycomponent/voice_shop/good_detail.wxss
new file mode 100644
index 0000000..f914716
--- /dev/null
+++ b/packageA/mycomponent/voice_shop/good_detail.wxss
@@ -0,0 +1,290 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.showicon {
+ display: flex;
+ justify-content: flex-end;
+ position: fixed;
+ z-index: 2;
+ box-sizing: content-box;
+ padding: 10rpx;
+ width: 100%;
+}
+
+.showicon.hoet {
+ transition: 0.1s;
+ background: rgba(0, 0, 0, 0.2);
+ width: 100%;
+}
+
+.showicon .member {
+ margin-right: 16rpx;
+}
+
+.showicon .cart {
+ margin-right: 16rpx;
+}
+
+.showicon .back {
+ width: 50rpx;
+ height: 50rpx;
+ border-radius: 100%;
+ color: #fff;
+ background-color: rgba(0, 0, 0, 0.4);
+ text-indent: 0;
+ line-height: 54rpx;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.showicon.hoet .back {
+ transition: 0.1s;
+ background-color: rgba(237, 237, 237, 0);
+}
+
+.hotel_goods .content .scroll_banner {
+ background: #f8f8f8;
+ overflow: hidden;
+ height: 400rpx;
+}
+
+.hotel_goods .content .scroll_banner image {
+ width: 100%;
+ height: 100%;
+}
+
+.hotel_goods .content .info_a {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.title {
+ margin: 16rpx 32rpx;
+ text-align: left;
+}
+
+.title .h1 {
+ flex: 3;
+ text-align: left;
+ color: #333;
+ font-size: 20px;
+ line-height: 48rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+ font-weight: bold;
+}
+
+.btn {
+ width: 384rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ margin: 16rpx auto;
+ text-align: center;
+ background-color: #ffba00;
+ border-radius: 20px;
+ color: #fff;
+ font-weight: bold;
+}
+
+.voice {
+ margin: 16rpx 32rpx 32rpx;
+ background: #fff;
+ box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.09);
+ border-radius: 5px;
+ text-align: left;
+ padding: 16rpx;
+}
+
+.voice .p {
+ line-height: 64rpx;
+}
+
+.voice .line {
+ display: inline-block;
+ width: 5px;
+ height: 38.4rpx;
+ background-color: #ffc600;
+ border-radius: 2px;
+ vertical-align: middle;
+}
+
+.voice .title {
+ display: inline-block;
+ font-size: 16px;
+ font-weight: bold;
+ vertical-align: middle;
+}
+
+.voice .blue {
+ background-color: #00fcff;
+}
+
+.voice .red {
+ background-color: #de0303;
+}
+
+.voice-item {
+ padding: 0 16rpx;
+}
+
+.voice-item .li {
+ padding-bottom: 20rpx;
+}
+
+.voice-item .voice-content {
+ display: flex;
+ font-size: 14px;
+}
+
+.voice-item .first {
+ flex: 0 0 64rpx;
+}
+
+.voice-item .second {
+ flex: 1;
+ line-height: 36rpx;
+}
+
+.voice-item .icon {
+ flex: 0 0 64rpx;
+ align-items: center;
+ display: flex;
+}
+
+.voice-item .icon image {
+ width: 38.4rpx;
+ height: 38.4rpx;
+ display: inline-block;
+}
+
+.slider {
+ width: 100%;
+ position: relative;
+ height: 30px;
+
+ /* margin-top: 20px; */
+ display: flex;
+ align-items: center;
+ cursor: default;
+ user-select: none;
+ outline: none;
+}
+
+.slider-track {
+ position: absolute;
+ height: 2px;
+ left: 0;
+ right: 0;
+ top: 50%;
+ margin-top: -1px;
+ background-color: #bec2c1;
+}
+
+.slider-fill {
+ position: absolute;
+ height: 2px;
+ width: 100%;
+ background-color: #ffba00;
+ left: 0;
+ top: 50%;
+ margin-top: -1px;
+}
+
+.slider-thumb {
+ position: absolute;
+ top: 50%;
+ width: 12px;
+ height: 12px;
+ background-color: #ffba00;
+ color: #ffba00;
+ border-radius: 50%;
+ transform: translate(-50%, -50%);
+ cursor: pointer;
+}
+
+.time {
+ display: flex;
+ justify-content: space-between;
+}
+
+.time_left {
+ text-align: left;
+}
+
+.like-box {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+}
+
+.like-item {
+ display: flex;
+ flex-direction: column;
+ margin-bottom: 0.625rem;
+ width: 49%;
+}
+
+.like-item .img {
+ width: 100%;
+ height: 280rpx;
+}
+
+.like-item .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.like-item .like-title {
+ font-size: 14px;
+ line-height: 1.125rem;
+ height: 3rem;
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ padding-top: 0.375rem;
+ text-align: center;
+}
+
+.like-item:nth-child(3n) {
+ margin-right: 0;
+}
+
+.popup-box {
+ width: 512rpx;
+ height: 576rpx;
+ background-color: #fff;
+ border-radius: 10rpx;
+ padding: 32rpx 16rpx;
+ margin: 0 auto;
+}
+
+.popup-text {
+ margin: 0.5rem 1rem;
+ text-align: left;
+}
+
+.icon-box {
+ display: flex;
+}
+
+.icon-box .popup-icon {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+
+.icon-box .popup-icon image {
+ margin: 1rem auto;
+ width: 4rem;
+ height: 4rem;
+}
+
+.popup-icon .span {
+ text-align: center;
+}
diff --git a/packageA/others/GoodsComment/GoodsComment.js b/packageA/others/GoodsComment/GoodsComment.js
new file mode 100644
index 0000000..b826cfa
--- /dev/null
+++ b/packageA/others/GoodsComment/GoodsComment.js
@@ -0,0 +1,266 @@
+// packageI/GoodsComment/GoodsComment.js
+const app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ page: 1,
+ last_page: 1,
+ micro_communities: [],
+ commentPage: 1,
+ comment_last_page: 1,
+ noMoreComment: false,
+ third_content: [],
+ istype: "comment"
+
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.gid) {
+ this.setData({
+ goodsId: options.gid
+ });
+ }
+ if (options.istype) {
+ this.setData({
+ istype: options.istype
+ });
+ }
+ if (this.data.istype == 'comment') {
+ wx.setNavigationBarTitle({
+ title: '全部评价',
+ });
+ this.getCommentData();
+ } else {
+ wx.setNavigationBarTitle({
+ title: '更多微贴',
+ });
+ this.getMic();
+ }
+ },
+ // streetClose() {
+ // wx.navigateBack({
+ // delta: 1,
+ // })
+ // },
+ goMicro(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageC/micro_communities/microCommentDetails/microCommentDetails?stickId=' + id,
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.istype == 'comment') {
+ this.getMoreComment();
+ } else {
+ this.getMoreMic();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getMoreMic() {
+ if (this.data.page >= this.data.last_page) {
+ console.log('没有更多');
+ return;
+ }
+ wx.showLoading({
+ title: '加载中',
+ });
+ this.setData({
+ page: this.data.page + 1
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.micro-communities.api.goods.index");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: this.data.page,
+ goods_id: this.data.goods_info.get_goods.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ ['micro_communities.list']: that.data.micro_communities.list.concat(res.data.data),
+ last_page: res.data.last_page
+ });
+ }
+ wx.hideLoading();
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getMic() {
+ // 单个商品微社区帖子
+ this.setData({
+ page: 1
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.micro-communities.api.goods.index");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: this.data.page,
+ goods_id: this.data.goodsId,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ ['micro_communities.list']: res.data.data,
+ last_page: res.data.last_page
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getMoreComment() {
+ if (this.data.commentPage >= this.data.comment_last_page) {
+ console.log('没有更多了');
+ return;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss("goods.comment.get-comment");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ urlStr += "&page=" + this.data.commentPage;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ commentPage: that.data.commentPage + 1,
+ comment_last_page: res.data.last_page
+ });
+ that.setData({
+ third_content: [...that.data.third_content, ...res.data.data],
+ streetShow: true,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getCommentData() {
+ // 单个商品评论
+ let that = this;
+ let urlStr = app.getNetAddresss("goods.comment.get-comment");
+ urlStr += "&goods_id=" + this.data.goodsId;
+ urlStr += "&page=" + this.data.commentPage;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.data.length < 20) {
+ that.setData({
+ noMoreComment: true,
+ });
+ }
+ that.setData({
+ commentPage: that.data.commentPage + 1,
+ comment_last_page: res.data.last_page
+ });
+ console.log(that.data.comment_last_page, 'aaaaaa');
+ if (!that.data.third_content) {
+ that.setData({
+ third_content: [],
+ });
+ }
+ that.setData({
+ third_content: [...that.data.third_content, ...res.data.data],
+ streetShow: true,
+ });
+ if (app._isTextEmpty(that.data.third_content)) {
+ // console.log("空没评论");
+ that.setData({
+ thirKong: false,
+ });
+ } else {
+ // console.log("不空");
+ that.setData({
+ thirKong: true,
+ });
+ }
+ } else {
+ that.setData({
+ is_third_content: false,
+ });
+ }
+ },
+ fail: function (res) {
+ that.setData({
+ is_third_content: false,
+ });
+ console.log(res);
+ },
+ });
+ },
+
+ // 预览图片
+ previewImage(evt){
+ let {images,src} = evt.currentTarget.dataset;
+ wx.previewImage({
+ current: src, // 当前显示图片的http链接
+ urls: images // 需要预览的图片http链接列表
+ });
+ },
+
+ toContentInfo (e) {
+ let data = e.currentTarget.dataset.jsondata;
+ let page_url = '/packageD/member/CommentDetails/CommentDetails';
+ page_url = `${page_url}?order_id=${data.order_id}&goods_id=${data.goods_id}&comment_id=${data.id}&order_goods_id=${data.order_goods_id}&uid=${data.uid}`;
+ wx.navigateTo({
+ url: page_url,
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageA/others/GoodsComment/GoodsComment.json b/packageA/others/GoodsComment/GoodsComment.json
new file mode 100644
index 0000000..fc318d0
--- /dev/null
+++ b/packageA/others/GoodsComment/GoodsComment.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+ "van-nav-bar":"/dist/nav-bar/index",
+ "van-rate": "/dist/rate/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/others/GoodsComment/GoodsComment.wxml b/packageA/others/GoodsComment/GoodsComment.wxml
new file mode 100644
index 0000000..5728fd7
--- /dev/null
+++ b/packageA/others/GoodsComment/GoodsComment.wxml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{n.nick_name}}
+ {{ n.level_name }}
+
+ {{n.created_at}}
+
+
+
+ {{n.content}}
+ 此用户没有填写评价。
+
+
+
+ 晒图:
+
+
+
+
+
+
+
+
+
+ {{n.append.diff_date.value}}{{n.append.diff_date.sku}}追评:
+
+ {{n.append.content}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.has_one_stick_user.nickname }}
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+ {{ item.praise_num }}
+
+
+
+
+ 点击加载更多
+
+
\ No newline at end of file
diff --git a/packageA/others/GoodsComment/GoodsComment.wxss b/packageA/others/GoodsComment/GoodsComment.wxss
new file mode 100644
index 0000000..0f1fe1f
--- /dev/null
+++ b/packageA/others/GoodsComment/GoodsComment.wxss
@@ -0,0 +1,231 @@
+/* packageI/GoodsComment/GoodsComment.wxss */
+
+/* 弹窗 */
+.shopInfo {
+ min-height: 100vh;
+ overflow-y: scroll;
+}
+
+.shopInfo .pj {
+ background: #fff;
+ padding: 0 20rpx 80rpx;
+ margin-bottom: 10rpx;
+ font-size: 26rpx;
+}
+
+.shopInfo .pj .user {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ padding-top: 10rpx;
+ padding-bottom: 10rpx;
+}
+
+.shopInfo .pj .user .imageshow {
+ width: 8%;
+ height: 80rpx;
+ position: relative;
+ overflow: hidden;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.shopInfo .pj .user .imageshow image {
+ height: 100%;
+ border-radius: 50%;
+}
+
+.shopInfo .pj .user .name {
+ flex: 5;
+ margin-left: 10rpx;
+ text-align: left;
+}
+
+.shopInfo .pj .user .name .level-name {
+ color: #8c8c8c;
+ margin-top: 0.3rem;
+}
+
+.shopInfo .pj .user .time {
+ color: #908a8a;
+ font-size: 24rpx;
+ padding-right: 20rpx;
+}
+
+.shopInfo .pj .p {
+ text-align: left;
+ margin: 0;
+ padding-bottom: 6rpx;
+}
+
+.shopInfo .pj .comment {
+ display: flex;
+ justify-content: flex-end;
+}
+
+.shopInfo .pj .comment text {
+ display: block;
+ width: 150rpx;
+ height: 40rpx;
+ line-height: 36rpx;
+ border-radius: 16rpx;
+ border: 2rpx solid #aaa;
+ color: #666;
+ font-size: 24rpx;
+ text-align: center;
+}
+
+.shopInfo .pj-img {
+ width: 160rpx;
+ height: 160rpx;
+ margin-left: 16rpx;
+ margin-bottom: 16rpx;
+}
+
+.shopInfo .pj-img image {
+ width: 100%;
+ height: 100%;
+}
+
+.shopInfo .moreBtn {
+ text-align: center;
+}
+
+.shopInfo .moreBtn .btn_1 {
+ padding: 20rpx 0;
+}
+
+.shopInfo .parameter {
+ background: #fff;
+ padding: 20rpx 20rpx 0 20rpx;
+ text-align: left;
+ font-size: 28rpx;
+ display: flex;
+}
+
+.shopInfo .parameter .par-info {
+ display: flex;
+ width: 100%;
+ padding-bottom: 20rpx;
+ border-bottom: 2rpx solid #f1f1f1;
+}
+
+.shopInfo .parameter .par-info .name {
+ color: #999;
+ width: 25%;
+ padding-right: 20rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.shopInfo .parameter .par-info .value {
+ color: #333;
+ width: 75%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+/* 微贴 */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.list-post {
+ width: 100%;
+ padding: 0 0 40rpx;
+ z-index: 9999;
+ height: 92.5vh;
+ overflow-y: scroll;
+ background-color: #f5f5f5;
+}
+
+.list-post .item {
+ padding: 20rpx 30rpx;
+ box-sizing: border-box;
+ margin-bottom: 20rpx;
+ background-color: #fff;
+}
+
+.list-post .item .userInfo {
+ display: flex;
+ align-items: center;
+}
+
+.list-post .item .avatar {
+ width: 50rpx;
+ height: 50rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ background-color: #c8c8c8;
+}
+
+.list-post .item .avatar image {
+ width: 100%;
+ height: 100%;
+}
+
+.list-post .item .nickname {
+ font-size: 14px;
+ max-width: 300rpx;
+ margin-left: 20rpx;
+}
+
+.list-post .item .evaluate {
+ margin-top: 25rpx;
+}
+
+.list-post .item .evaluate .message {
+ font-size: 13px;
+ margin-left: 5rpx;
+ color: #3c3c3c;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ overflow: hidden;
+ -webkit-line-clamp: 5;
+ -webkit-box-orient: vertical;
+}
+
+.list-post .item .evaluate .album .img {
+ display: inline-block;
+ width: 206rpx;
+ height: 206rpx;
+ margin: 10rpx;
+ background-color: #ececec;
+ border-radius: 10rpx;
+}
+
+.list-post .item .bottom {
+ display: flex;
+ justify-content: flex-end;
+ font-size: 14px;
+}
+
+.list-post .item .bottom .iconfont {
+ display: inherit;
+}
+
+.list-post .item .comment,
+.link {
+ display: flex;
+ align-items: center;
+}
+
+.comment {
+ color: #929292;
+}
+
+.link {
+ margin-left: 50rpx;
+ color: #ff9600;
+}
+
+.moreText {
+ width: 100%;
+ text-align: center;
+ font-size: 27rpx;
+ color: #6666;
+ margin: 20rpx 0;
+}
diff --git a/packageA/others/HJinfo/bankCardInformation/bankCardInformation.js b/packageA/others/HJinfo/bankCardInformation/bankCardInformation.js
new file mode 100644
index 0000000..1bc27f2
--- /dev/null
+++ b/packageA/others/HJinfo/bankCardInformation/bankCardInformation.js
@@ -0,0 +1,92 @@
+// packageA/others/materialCenter/materialCenter.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ list: []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {},
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getData() {
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.get-bank-card-list');
+
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ list: res.data
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ goToAdd(e) {
+ let id = e.target.dataset.id || e.currentTarget.dataset.id;
+ console.log(id, '54545454');
+
+ if (app._isTextEmpty(id)) {
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankcardin/bankcardin'
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankcardin/bankcardin' + '?type=edit' + '&id=' + id
+ });
+ }
+ }
+
+});
diff --git a/packageA/others/HJinfo/bankCardInformation/bankCardInformation.json b/packageA/others/HJinfo/bankCardInformation/bankCardInformation.json
new file mode 100644
index 0000000..4d30093
--- /dev/null
+++ b/packageA/others/HJinfo/bankCardInformation/bankCardInformation.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "账户信息",
+ "usingComponents": {
+ "van-popup": "../../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/others/HJinfo/bankCardInformation/bankCardInformation.wxml b/packageA/others/HJinfo/bankCardInformation/bankCardInformation.wxml
new file mode 100644
index 0000000..66d8845
--- /dev/null
+++ b/packageA/others/HJinfo/bankCardInformation/bankCardInformation.wxml
@@ -0,0 +1,26 @@
+
+
+
+
+ {{ item.bankName ? item.bankName : '' }}
+
+
+ {{
+ item.receiverAccountType == "201" ? "对私账户" : "对公账户"
+ }}
+
+
+ {{ item.receiverAccountNoEnc }}
+
+
+
+ +
+ 添加银行卡
+
+
+
\ No newline at end of file
diff --git a/packageA/others/HJinfo/bankCardInformation/bankCardInformation.wxss b/packageA/others/HJinfo/bankCardInformation/bankCardInformation.wxss
new file mode 100644
index 0000000..e3953dd
--- /dev/null
+++ b/packageA/others/HJinfo/bankCardInformation/bankCardInformation.wxss
@@ -0,0 +1,74 @@
+.bankcardinformmations .big_bankbox .bank_info1 {
+ left: 21.16rpx;
+ top: 502.08rpx;
+ width: 713.92rpx;
+ height: 214.08rpx;
+ line-height: 40rpx;
+ border-radius: 17.92rpx;
+ background-color: #424b81;
+ text-align: center;
+ margin: 0 auto;
+ margin-top: 28px;
+ padding-top: 5px;
+}
+
+.bankcardinformmations .big_bankbox .bank_info1 .icon_bank {
+ left: 60.16rpx;
+ top: 520rpx;
+ width: 73.92rpx;
+ height: 80rpx;
+}
+
+.bankcardinformmations .big_bankbox .bank_info1 .bank_title {
+ margin-left: 134.08rpx;
+ top: 270.08rpx;
+ width: 224rpx;
+ height: 54.08rpx;
+ line-height: 46.08rpx;
+ background-color: #424b81;
+ color: white;
+ font-size: 32rpx;
+ text-align: left;
+}
+
+.bankcardinformmations .big_bankbox .bank_info1 .bank_type {
+ margin-left: 136rpx;
+ top: 310.08rpx;
+ width: 144rpx;
+ height: 54.08rpx;
+ line-height: 33.92rpx;
+ background-color: #424b81;
+ color: white;
+ font-size: 24rpx;
+ text-align: left;
+}
+
+.bankcardinformmations .big_bankbox .bank_info1 .bank_qiu {
+ color: #b3b7cd;
+ text-align: left;
+ margin-left: 136rpx;
+}
+
+.bankcardinformmations .big_bankbox .bank_info1 .bank_qiu .span {
+ font-size: 42.88rpx;
+}
+
+.bankcardinformmations .big_bankbox .bank_add {
+ display: flex;
+ justify-content: center;
+ margin-left: 1.92rpx;
+ top: 761.92rpx;
+ width: 748.16rpx;
+ height: 160rpx;
+ line-height: 160rpx;
+ color: #b6b6b6;
+}
+
+.bankcardinformmations .big_bankbox .bank_add .span {
+ font-size: 64rpx;
+}
+
+.bankcardinformmations .big_bankbox .bank_add .span_two {
+ font-size: 32rpx;
+ margin-left: 16rpx;
+}
diff --git a/packageA/others/HJinfo/bankcardin/bankcardin.js b/packageA/others/HJinfo/bankcardin/bankcardin.js
new file mode 100644
index 0000000..61b7da0
--- /dev/null
+++ b/packageA/others/HJinfo/bankcardin/bankcardin.js
@@ -0,0 +1,403 @@
+// packageA/others/materialCenter/materialCenter.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ radio: '对公账户',
+ is_default: true,
+ receiverAccountNoEnc: '', // 银行卡号
+ receiverNameEnc: '', // 名称
+ receiverBankChannelNo: '', // 账户
+ // 判断是否显示对公和对私
+ private: false, // 对公
+ public: false, // 对私
+ type: '', // 类型
+ id: '', // 编辑需要的id
+ show: false, // 显示删除
+ msg: '你确定要删除这个银行卡?', //
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.type && options.id) {
+ this.setData({
+ type: options.type,
+ id: options.id
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getShow();
+ if (this.data.type == 'edit') {
+ this.editInfo();
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ // 提交
+ addTiJiao() {
+ if (app._isTextEmpty(this.data.receiverAccountNoEnc)) {
+ wx.showToast({
+ title: '请输入银行卡卡号',
+ icon: 'none'
+ });
+ return;
+ }
+ // var reg = /^\d{16,19}$/;
+ var reg = /(^[0-9]*([0-9])?)$/;
+ console.log(reg.test(this.receiverAccountNoEnc));
+
+ if (!reg.test(this.data.receiverAccountNoEnc)) {
+ wx.showToast({
+ // title: '请输入19位的银行卡卡号',
+ title: '银行卡卡号只能为纯数字',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.receiverNameEnc)) {
+ wx.showToast({
+ title: '请输入持卡人名称',
+ icon: 'none'
+ });
+ return;
+ }
+ if (this.data.radio === '对公账户') {
+ if (app._isTextEmpty(this.data.receiverBankChannelNo)) {
+ wx.showToast({
+ title: '请输入对公账户',
+ icon: 'none'
+ });
+ return;
+ }
+ }
+
+ var type = '';
+ if (this.data.radio == '对公账户') {
+ type = 204;
+ } else if (this.data.radio == '对私账户') {
+ type = 201;
+ }
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.create');
+ let json = {
+ receiverAccountNoEnc: this.data.receiverAccountNoEnc,
+ receiverAccountType: type,
+ receiverNameEnc: this.data.receiverNameEnc,
+ receiverBankChannelNo: this.data.receiverBankChannelNo,
+ default: this.data.is_default ? '1' : '0'
+ };
+ // json = JSON.stringify(json)
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none'
+ });
+ this.setData({
+ receiverAccountNoEnc: '',
+ receiverNameEnc: '',
+ receiverBankChannelNo: ''
+ });
+ setTimeout(() => {
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ }, 1000);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 编辑数据
+ editInfo() {
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.edit');
+ let json = {
+ id: this.data.id
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res.data, '96565');
+
+ this.setData({
+ receiverAccountNoEnc: res.data.receiverAccountNoEnc,
+ receiverAccountType: res.data.receiverAccountType,
+ receiverNameEnc: res.data.receiverNameEnc,
+ receiverBankChannelNo: res.data.receiverBankChannelNo
+ });
+
+ if (app._isTextEmpty(res.data.has_one_default)) {
+ this.setData({
+ is_default: false
+ });
+ } else {
+ if (res.data.has_one_default.default == '0') {
+ this.setData({
+ is_default: false
+ });
+ } else {
+ this.setData({
+ is_default: true
+ });
+ }
+ }
+
+ if (this.data.receiverAccountType == '204') {
+ this.setData({
+ radio: '对公账户',
+ });
+ } else if (this.data.receiverAccountType == '201') {
+ this.setData({
+ radio: '对私账户',
+ });
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 编辑修改
+ editTiJiao() {
+ if (app._isTextEmpty(this.data.receiverAccountNoEnc)) {
+ wx.showToast({
+ title: '请输入银行卡卡号',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.receiverNameEnc)) {
+ wx.showToast({
+ title: '请输入持卡人名称',
+ icon: 'none'
+ });
+ return;
+ }
+ if (this.data.radio === '对公账户') {
+ if (app._isTextEmpty(this.data.receiverBankChannelNo)) {
+ wx.showToast({
+ title: '请输入对公账户',
+ icon: 'none'
+ });
+ return;
+ }
+ }
+
+ var type = '';
+ if (this.data.radio == '对公账户') {
+ type = 204;
+ } else if (this.data.radio == '对私账户') {
+ type = 201;
+ }
+ let json = {
+ receiverAccountNoEnc: this.data.receiverAccountNoEnc,
+ receiverAccountType: type,
+ receiverNameEnc: this.data.receiverNameEnc,
+ receiverBankChannelNo: this.data.receiverBankChannelNo,
+ default: this.data.is_default ? '1' : '0',
+ id: this.data.id
+ };
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.edit');
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none'
+ });
+ setTimeout(() => {
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ }, 1000);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 删除
+ deleteChange() {
+ wx.showModal({
+ title: '提示',
+ content: '你确定要删除?',
+ success: (res) => {
+ if (res.confirm) {
+ this.setData({
+ show: true
+ });
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.destroy');
+ let json = {
+ id: this.data.id
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none'
+ });
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankCardInformation/bankCardInformation'
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ },
+ // 判断是否显示
+ getShow() {
+ let urlStr = app.getNetAddresss('plugin.converge_pay.frontend.controllers.converge-pay-bank-card.create');
+
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.all == '1') {
+ this.setData({
+ private: true,
+ public: true,
+ });
+ } else {
+ if (res.data.private == '1') {
+ this.setData({
+ private: true,
+ radio: '对私账户',
+ });
+ }
+ if (res.data.public == '1') {
+ this.setData({
+ public: true,
+ radio: '对公账户',
+ });
+ }
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ onChange(val) {
+ this.setData({
+ is_default: val.detail
+ });
+ },
+ onChangeRadio(val) {
+ this.setData({
+ radio: val.detail
+ });
+ },
+ onChangeOne(val) {
+ this.setData({
+ receiverAccountNoEnc: val.detail
+ });
+ },
+ onChangeTwo(val) {
+ this.setData({
+ receiverNameEnc: val.detail
+ });
+ },
+ onChangeThree(val) {
+ this.setData({
+ receiverBankChannelNo: val.detail
+ });
+ }
+
+});
diff --git a/packageA/others/HJinfo/bankcardin/bankcardin.json b/packageA/others/HJinfo/bankcardin/bankcardin.json
new file mode 100644
index 0000000..2854b4e
--- /dev/null
+++ b/packageA/others/HJinfo/bankcardin/bankcardin.json
@@ -0,0 +1,11 @@
+{
+ "navigationBarTitleText": "银行卡信息",
+ "usingComponents": {
+ "van-popup": "../../../../dist/popup/index",
+ "van-radio": "../../../../dist/radio/index",
+ "van-radio-group": "../../../../dist/radio-group/index",
+ "van-switch": "../../../../dist/switch/index",
+ "van-field": "../../../../dist/field/index",
+ "van-dialog": "../../../../dist/dialog/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/others/HJinfo/bankcardin/bankcardin.wxml b/packageA/others/HJinfo/bankcardin/bankcardin.wxml
new file mode 100644
index 0000000..b42845c
--- /dev/null
+++ b/packageA/others/HJinfo/bankcardin/bankcardin.wxml
@@ -0,0 +1,41 @@
+
+
+
+
+ 账户类型:
+
+
+
+ 对公账户
+
+
+ 对私账户
+
+
+
+
+
+ 银行帐号:
+
+
+
+ 持卡人:
+
+
+
+ 账户联行号:
+
+
+
+ 设为默认账户:
+
+
+
+
+
+
+ 确认提交
+ 确认修改
+ 删除账户
+
+
diff --git a/packageA/others/HJinfo/bankcardin/bankcardin.wxss b/packageA/others/HJinfo/bankcardin/bankcardin.wxss
new file mode 100644
index 0000000..4a42906
--- /dev/null
+++ b/packageA/others/HJinfo/bankcardin/bankcardin.wxss
@@ -0,0 +1,80 @@
+.bankcardinformmationsedit .big_bank_box {
+ left: 0rpx;
+ top: 174.08rpx;
+ width: 750.08rpx;
+ height: 617.92rpx;
+ line-height: 40rpx;
+ text-align: center;
+}
+
+.bankcardinformmationsedit .big_bank_box .bank_ul {
+ padding-left: 5px;
+}
+
+.bankcardinformmationsedit .big_bank_box .bank_ul .li {
+ height: 128rpx;
+ line-height: 128rpx;
+ padding-left: 32rpx;
+ border-bottom: 1px solid #c6c6c6;
+ display: flex;
+ text-align: left;
+ justify-items: center;
+ align-items: center;
+}
+
+.bankcardinformmationsedit .big_bank_box .bank_ul .li input {
+ border: none;
+}
+
+.bankcardinformmationsedit .big_bank_box .bank_ul .li .view {
+ left: 25.92rpx;
+ top: 220.16rpx;
+ width: 182.08rpx;
+ height: 44.16rpx;
+ color: #101010;
+ font-size: 0.9128rpx;
+ text-align: left;
+}
+
+.bankcardinformmationsedit .big_bank_box .bank_ul .li .bank_swich {
+ left: 17.94px;
+ top: 21.31px;
+ width: 150.08rpx;
+ display: flex;
+ justify-content: center;
+ height: 128rpx;
+ align-items: center;
+ margin-left: 10rpx;
+}
+
+.bankcardinformmationsedit .bank_butto {
+ left: 24rpx;
+ top: 849.92rpx;
+ width: 700.16rpx;
+ height: 86.08rpx;
+ border-radius: 8rpx;
+ background-color: #259b24;
+ color: white;
+ font-size: 28.16rpx;
+ text-align: center;
+ margin: 48rpx auto;
+ line-height: 86.08rpx;
+}
+
+.van-cell {
+ background-color: #f5f5f5 !important;
+}
+
+.bankcardinformmationsedit .bank_button_delete {
+ left: 24rpx;
+ top: 998.08rpx;
+ width: 700.16rpx;
+ height: 86.08rpx;
+ line-height: 86.08rpx;
+ border-radius: 8rpx;
+ background-color: #dd2727;
+ color: white;
+ font-size: 28.16rpx;
+ text-align: center;
+ margin: 32rpx auto;
+}
diff --git a/packageA/others/materialCenter/materialCenter.js b/packageA/others/materialCenter/materialCenter.js
new file mode 100644
index 0000000..8288e4f
--- /dev/null
+++ b/packageA/others/materialCenter/materialCenter.js
@@ -0,0 +1,519 @@
+// packageA/others/materialCenter/materialCenter.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ active:"0",
+ status:false,
+ second_catgory:[],
+ parentid:'0',
+ childid:'',
+ search_title:'',
+ language: '',
+ show1: false,
+ posterShow: false,
+ list: [],
+ posterImg: '',
+ // more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ timestart: 0,
+ timeend: 0,
+ kFootshow: true,
+ iPnoneBottomBol:false,
+ posterId:0
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getiPnoneBottom();
+ this.initData();
+ this.getData();
+ this.getCatgory();
+ },
+ onPageScroll(){
+ this.setData({
+ status:false
+ });
+ },
+ getiPnoneBottom() {
+ let that = this;
+ try {
+ var value = wx.getStorageSync('iPhoneBottom');
+ if (value) {
+ that.setData({
+ iPnoneBottomBol: true
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ initData() {
+ this.setData({
+ show1: false,
+ posterShow: false,
+ list: [],
+ posterImg: '',
+ // more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0
+ });
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.material-center.api.centerlist.index');
+ that.setData({
+ isLoadMore: false,
+ page: 1
+ });
+ let json={
+ page:this.data.page,
+ parentid:this.data.parentid,
+ childid:this.data.childid,
+ search_title:this.data.search_title
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ total_page: res.data.list.last_page
+ });
+
+ that.setData({
+ list: res.data.list.data
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ changeSecond(e){
+ let id=e.currentTarget.dataset.id;
+ this.setData({
+ childid:id
+ });
+ this.getData();
+ },
+ close(){
+ this.setData({
+ status:false
+ });
+ },
+ onClick(e) {
+ this.setData({
+ parentid:e.detail.name,
+ childid:''
+ });
+ this.getData();
+ if(this.data.parentid=='0'){
+ this.setData({
+ second_catgory:[],
+ status:false
+ });
+ }else{
+ this.data.catgoryList.forEach((item,index)=>{
+ if(item.id==this.data.parentid){
+ this.setData({
+ second_catgory:item.childrens,
+ status:true
+ });
+ }
+ });
+ }
+ },
+ // 获取更多数据
+ getMoreData() {
+
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.material-center.api.centerlist.index');
+ that.setData({
+ isLoadMore: false // 防止多次请求分页数据
+ });
+
+ if (that.data.page >= that.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: that.data.page + 1,
+ });
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page:that.data.page,
+ parentid:that.data.parentid,
+ childid:that.data.childid,
+ search_title:that.data.search_title
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data.list.data;
+ that.setData({
+ isLoadMore:true,
+ list: that.data.list.concat(myData) // 数组拼接
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ showimage(e) {
+ let imgarr = e.currentTarget.dataset.images;
+ let imgidx = e.currentTarget.dataset.imgidx;
+ wx.previewImage({
+ current: imgarr[imgidx] ? imgarr[imgidx] : '', // 当前显示图片的http链接
+ urls: imgarr ? imgarr : [] // 需要预览的图片http链接列表
+ });
+ },
+ toSousuo(){
+
+ wx.navigateTo({
+ url: '/packageA/others/materialSearch/materialSearch'
+ });
+ },
+ toGoods(e) {
+ let good_id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + good_id
+ });
+ },
+ update(e) {
+ let id = e.currentTarget.dataset.id;
+ let title = e.currentTarget.dataset.title;
+ wx.setClipboardData({
+ data: title ? title : '',
+ success(res) {
+ wx.showToast({
+ title: '复制成功',
+ icon: 'none',
+ duration: 1500
+ });
+ },
+ fail() {
+ wx.showToast({
+ title: '复制失败',
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ });
+ this.setData({
+ show1: true
+ });
+
+ let urlStr = app.getNetAddresss('plugin.material-center.api.centerlist.updateNum');
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: id,
+ params: 'share'
+ },
+ success: function (resdata) {},
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ show1Close() {
+ this.setData({
+ show1: false
+ });
+ },
+ getCatgory(){
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.material-center.api.centerlist.getCategoryList');
+ app._getNetWork({
+ url: urlStr,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ catgoryList:res.data
+ });
+ console.log(that.data.catgoryList);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ download(e){
+ let images=e.currentTarget.dataset.images;
+ let video=e.currentTarget.dataset.video;
+ if(images.length>0){
+ this.loadImg(images);
+ }
+ if(video&&video.video_url){
+ this.loadVideo(video);
+ }
+ },
+ loadImg(images){
+ images.forEach((item)=>{
+ wx.downloadFile({
+ url: item,//需要下载的图片url
+ success: function (res) {//成功后的回调函数
+ wx.saveImageToPhotosAlbum({//保存到本地
+ filePath: res.tempFilePath,
+ success(res) {
+ wx.showToast({
+ title: '图片下载成功',
+ icon: 'success',
+ duration: 2000
+ });
+ },
+ fail: function (err) {
+
+ if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
+ wx.openSetting({
+ success(settingdata) {
+ console.log(settingdata);
+ if (settingdata.authSetting['scope.writePhotosAlbum']) {
+ console.log('获取权限成功,给出再次点击图片保存到相册的提示。');
+ } else {
+ console.log('获取权限失败,给出不给权限就无法正常使用的提示');
+ }
+ }
+ });
+ }
+ }
+ });
+ }
+ });
+ });
+ },
+ loadVideo(video){
+ wx.downloadFile({
+ url: video.video_url,//需要下载的视频url
+ success: function (res) {//成功后的回调函数
+ wx.saveVideoToPhotosAlbum({//保存到本地
+ filePath: res.tempFilePath,
+ success(res) {
+ wx.showToast({
+ title: '视频下载成功',
+ icon: 'success',
+ duration: 2000
+ });
+ },
+ fail: function (err) {
+
+ if (err.errMsg === "saveVideoToPhotosAlbum:fail auth deny") {
+ wx.openSetting({
+ success(settingdata) {
+ console.log(settingdata);
+ if (settingdata.authSetting['scope.saveVideoToPhotosAlbum']) {
+ console.log('获取权限成功,给出再次点击视频保存到相册的提示。');
+ } else {
+ console.log('获取权限失败,给出不给权限就无法正常使用的提示');
+ }
+ }
+ });
+ }
+ }
+ });
+ }
+ });
+ },
+ // 海报生成
+ postShow(e) {
+ let that = this;
+ let id = e.currentTarget.dataset.id;
+ if (that.data.posterImg && this.data.posterId==id) {
+ this.setData({
+ posterShow: true
+ });
+ } else {
+ this.data.posterId = id;
+ wx.showLoading({
+ title: '海报生成中',
+ });
+ let urlStr = app.getNetAddresss('goods.goods-poster.generate-goods-poster');
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: id
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ posterShow: true,
+ posterImg: res.data.image_url
+ });
+ } else {
+ that.setData({
+ posterShow: false
+ });
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ wx.hideLoading();
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ posterShowClose() {
+ this.setData({
+ posterShow: false
+ });
+ },
+ // 点击开始时的时间
+ timestart: function (e) {
+ var _this = this;
+ _this.setData({
+ timestart: e.timeStamp
+ });
+ },
+
+ // 点击结束的时间
+ timeend: function (e) {
+ var _this = this;
+ _this.setData({
+ timeend: e.timeStamp
+ });
+ },
+ saveImg() {
+ // var times = _this.data.timeend - _this.data.timestart
+ wx.getSetting({
+ success(res) {
+ if (!res.authSetting['scope.writePhotosAlbum']) {
+ wx.authorize({
+ scope: 'scope.writePhotosAlbum',
+ success() {
+ console.log('授权成功');
+ }
+ });
+ }
+ }
+ });
+ var imgSrc = this.data.posterImg;
+ wx.downloadFile({
+ url: imgSrc,
+ success: function (res) {
+ console.log(res);
+ // 图片保存到本地
+ wx.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success: function (data) {
+ wx.showToast({
+ title: '保存成功',
+ icon: 'none',
+ duration: 2000
+ });
+ },
+ fail: function (err) {
+ console.log(err);
+ if (err.errMsg === 'saveImageToPhotosAlbum:fail auth deny') {
+ console.log('当初用户拒绝,再次发起授权');
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting['scope.writePhotosAlbum']) {
+ wx.showToast({
+ icon: 'none',
+ title: '获取权限成功,再次长按保存图片',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '获取权限失败,保存图片需要用户授权',
+ duration: 1500
+ });
+ }
+ }
+ });
+ }
+ },
+ complete(res) {
+ console.log(res);
+ }
+ });
+ }
+ });
+
+ },
+});
diff --git a/packageA/others/materialCenter/materialCenter.json b/packageA/others/materialCenter/materialCenter.json
new file mode 100644
index 0000000..88fd552
--- /dev/null
+++ b/packageA/others/materialCenter/materialCenter.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "素材中心",
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "kFoot": "../../../mycomponent/foot/foot",
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-tab": "../../../../dist/tab/index"
+ }
+}
diff --git a/packageA/others/materialCenter/materialCenter.wxml b/packageA/others/materialCenter/materialCenter.wxml
new file mode 100644
index 0000000..9e45708
--- /dev/null
+++ b/packageA/others/materialCenter/materialCenter.wxml
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+ 收起
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.created_at }}
+
+
+
+
+ {{ item.content }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.goods.title}}
+
+ {{language['money']}}{{ item.goods.price }}
+
+
+
+
+
+ 复制文案
+
+
+
+ 商品码
+
+
+
+ 下载图文
+
+
+
+
+
+
+
diff --git a/packageA/others/materialCenter/materialCenter.wxss b/packageA/others/materialCenter/materialCenter.wxss
new file mode 100644
index 0000000..48681c0
--- /dev/null
+++ b/packageA/others/materialCenter/materialCenter.wxss
@@ -0,0 +1,498 @@
+/* packageA/others/materialCenter/materialCenter.wxss */
+
+.material_center .content .user_info {
+ padding: 0 30rpx;
+ background: #fff;
+ border-top: solid 2rpx #ebebeb;
+ border-bottom: solid 2rpx #ebebeb;
+ margin-bottom: 20rpx;
+}
+
+.material_center .content .user_info .user_name {
+ display: flex;
+ padding-top: 30rpx;
+}
+
+.material_center .content .user_info .user_name .user {
+ width: 88rpx;
+ height: 88rpx;
+ border-radius: 44rpx;
+ border: solid 2rpx #ebebeb;
+ overflow: hidden;
+ background: #f2f2f2;
+ margin-right: 30rpx;
+}
+
+.material_center .content .user_info .user_name .user image {
+ width: 100%;
+}
+
+.material_center .content .user_info .user_name .right {
+ text-align: left;
+}
+
+.material_center .content .user_info .user_name .right .name {
+ font-size: 32rpx;
+ margin-bottom: 16rpx;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+}
+
+.material_center .content .user_info .user_name .right .time {
+ font-size: 28rpx;
+ color: #999;
+}
+
+.material_center .content .user_info .share_text {
+ font-size: 32rpx;
+ line-height: 48rpx;
+ text-align: left;
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.material_center .content .user_info .goods_box {
+ display: flex;
+ flex-wrap: wrap;
+ max-height: 700rpx;
+ overflow: hidden;
+}
+
+.material_center .content .user_info .goods_box .img {
+ width: 222rpx;
+ height: 222rpx;
+ overflow: hidden;
+ background: #f2f2f2;
+ margin-right: 12rpx;
+ margin-bottom: 12rpx;
+}
+
+.material_center .content .user_info .goods_box .video {
+ width: 222rpx;
+ height: 222rpx;
+ overflow: hidden;
+ margin-bottom: 12rpx;
+ position: relative;
+}
+
+.material_center .content .user_info .goods_box .video video {
+ width: 100%;
+ height: 100%;
+}
+
+.material_center .content .user_info .goods_box .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.material_center .content .user_info .goods_box .img:nth-child(3n) {
+ margin: 0;
+}
+
+.material_center .content .user_info .goods_lik {
+ background: #f8f8f8;
+ margin-top: 8rpx;
+ display: flex;
+}
+
+.material_center .content .user_info .goods_lik .goods_img {
+ width: 128rpx;
+ height: 128rpx;
+ overflow: hidden;
+ background: #f2f2f2;
+ margin-right: 30rpx;
+}
+
+.material_center .content .user_info .goods_lik .goods_img image {
+ width: 100%;
+}
+
+.material_center .content .user_info .goods_lik .goods_name {
+ text-align: left;
+ font-size: 28rpx;
+ width: 532rpx;
+}
+
+.material_center .content .user_info .goods_lik .goods_name .name {
+ line-height: 40rpx;
+ height: 80rpx;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.material_center .content .user_info .goods_lik .goods_name .number {
+ font-size: 28rpx;
+ line-height: 48rpx;
+}
+
+.material_center .content .user_info .goods_share {
+ margin-top: 20rpx;
+ border-top: solid 2rpx #ebebeb;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 0;
+}
+
+.material_center .content .user_info .goods_share .left,
+.material_center .content .user_info .goods_share .right {
+ display: flex;
+ width: 50%;
+ border-right: solid 2rpx #ebebeb;
+ font-size: 28rpx;
+ color: #666;
+ justify-content: center;
+ align-items: center;
+}
+
+.material_center .content .user_info .goods_share .left .iconfont,
+.material_center .content .user_info .goods_share .right .iconfont {
+ margin-right: 12rpx;
+ color: #666;
+ font-size: 36rpx;
+}
+
+.material_center .content .user_info .goods_share .right {
+ border: none;
+}
+
+.material_center .share_popup_box {
+ background: #fff;
+}
+
+.material_center .share_popup_box .tips {
+ font-size: 32rpx;
+ font-weight: bold;
+ margin-top: 32rpx;
+ text-align: center;
+}
+
+.material_center .share_popup_box .text {
+ padding: 48rpx 30rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.material_center .share_popup_box .text .li {
+ width: 100%;
+ font-size: 28rpx;
+ text-align: left;
+ display: flex;
+ padding: 12rpx 0;
+ align-items: center;
+}
+
+.material_center .share_popup_box .text .li .iconfont {
+ font-size: 36rpx;
+ margin-right: 8rpx;
+ color: #999;
+}
+
+.material_center .share_popup_box .text .li .current {
+ color: #07be12;
+}
+
+.material_center .share_popup_box .text .li .em {
+ text-decoration: underline;
+ color: #4c7fff;
+}
+
+.material_center .share_popup_box .title {
+ padding: 0 30rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.material_center .share_popup_box .title .line_left,
+.material_center .share_popup_box .title .line_right {
+ width: 240rpx;
+ height: 2rpx;
+ background: #ebebeb;
+}
+
+.material_center .share_popup_box .title .span {
+ font-size: 40rpx;
+}
+
+.material_center .share_popup_box .share_list {
+ padding: 40rpx 30rpx;
+ display: flex;
+ justify-content: space-around;
+}
+
+.material_center .share_popup_box .share_list .list {
+ display: flex;
+ align-items: center;
+ margin: 0 6rpx;
+}
+
+.material_center .share_popup_box .share_list .list .img {
+ width: 38rpx;
+ height: 38rpx;
+ overflow: hidden;
+ margin-right: 3rpx;
+}
+
+.material_center .share_popup_box .share_list .list .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.material_center .share_popup_box .block {
+ height: 20rpx;
+ background: #f5f5f5;
+}
+
+.material_center .share_popup_box .share_btn .button {
+ border: none;
+ height: 100rpx;
+ font-size: 32rpx;
+ line-height: 100rpx;
+ text-align: center;
+}
+
+.material_center .goods_code_popup {
+ background: #fff;
+ border-radius: 16rpx;
+ position: relative;
+ width: 100%;
+}
+
+.material_center .goods_code_popup .goods_img {
+ width: 640rpx;
+ height: 640rpx;
+ background: #f2f2f2;
+ overflow: hidden;
+ padding: 8rpx;
+ border-radius: 12rpx 12rpx 0 0;
+}
+
+.material_center .goods_code_popup .goods_img image {
+ width: 85%;
+}
+
+.material_center .goods_code_popup .goods_info {
+ display: flex;
+ justify-content: space-between;
+ padding: 20rpx;
+}
+
+.material_center .goods_code_popup .goods_info .info_left {
+ width: 400rpx;
+}
+
+.material_center .goods_code_popup .goods_info .info_left .name {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ height: 80rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.material_center .goods_code_popup .goods_info .info_left .price {
+ font-size: 24px;
+ color: #f15353;
+ text-align: left;
+ margin-top: 24rpx;
+ font-weight: bold;
+}
+
+.material_center .goods_code_popup .goods_info .info_left .price .span {
+ font-size: 28rpx;
+ color: #8c8c8c;
+ text-decoration: line-through;
+ margin-left: 30rpx;
+ font-weight: normal;
+}
+
+.material_center .goods_code_popup .goods_info .info_left .price .font {
+ font-size: 28rpx;
+}
+
+.material_center .goods_code_popup .goods_info .info_right .code_img {
+ width: 176rpx;
+ height: 176rpx;
+ background: #f2f2f2;
+ overflow: hidden;
+}
+
+.material_center .goods_code_popup .goods_info .info_right .code_img image {
+ width: 100%;
+}
+
+.material_center .goods_code_popup .goods_info .info_right .span {
+ font-size: 24rpx;
+ line-height: 40rpx;
+}
+
+/* .material_center .goods_code_popup .close {
+ position: absolute;
+ top: -32rpx;
+ right: -32rpx;
+ width: 88rpx;
+ height: 88rpx;
+ overflow: hidden;
+}
+
+.material_center .goods_code_popup .close image {
+ width: 80%;
+} */
+
+.material_center .goods_code_popup .icon_close {
+ position: absolute;
+ top: 8rpx;
+ right: 0;
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.code_box {
+ width: 500rpx;
+
+ /* height: 970rpx; */
+
+ /* position: absolute;
+ left: 50%; */
+ display: block;
+ margin: 0 auto 60rpx;
+ border-radius: 12rpx;
+}
+
+.code_box image {
+ width: 100%;
+ border-radius: 12rpx;
+}
+
+.posterPopup_style .icon_btn {
+ width: 100%;
+ position: relative;
+
+ /* height: 120rpx; */
+ background: #fff;
+ text-align: center;
+ display: flex;
+ justify-content: space-around;
+}
+
+.posterPopup_style .icon_btn .box {
+ width: 50%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+ padding: 20rpx 0;
+ position: relative;
+}
+
+.posterPopup_style .icon_btn image {
+ width: 80rpx;
+ height: 80rpx;
+ margin-bottom: 8rpx;
+}
+
+.posterPopup_style .icon_close {
+ width: 100%;
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ background: #efefef;
+ color: #333;
+ font-size: 32rpx;
+}
+
+.tabs-wrap {
+ position: relative;
+ z-index: 99;
+}
+
+.tabs-wrap .second-block {
+ min-height: 100rpx;
+ background-color: rgba(246, 246, 246, 100);
+ position: absolute;
+ width: 100%;
+ z-index: 99;
+ box-sizing: border-box;
+ padding: 20rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ box-shadow: 10rpx 10rpx 5rpx #ccc;
+}
+
+.tabs-wrap .second-block .block-wrap {
+ display: flex;
+ align-items: center;
+ overflow-x: scroll;
+}
+
+.tabs-wrap .second-block .block-wrap .block {
+ padding: 10rpx 20rpx;
+ box-sizing: border-box;
+ background-color: rgba(229, 229, 229, 100);
+ color: rgba(72, 72, 72, 100);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 50rpx;
+ margin-right: 20rpx;
+ flex-shrink: 0;
+}
+
+/* .tabs-wrap .second-block .slideUp {
+
+} */
+
+.tabs-wrap .second-block .slideUp .icon-member-left {
+ margin-left: 5rpx;
+ transform: rotate(90deg);
+}
+
+.tabs-wrap .second-block .slideUp .icon-member-left::before {
+ width: 14rpx;
+ height: 14rpx;
+}
+
+.wrap {
+ position: relative;
+ display: flex;
+ background: #fff;
+}
+
+.van-tabs {
+ margin-left: 60rpx;
+}
+
+.van-tab {
+ padding: 0 20rpx !important;
+}
+
+.material_center .wrap .noticeellipsis {
+ overflow: visible;
+ white-space: nowrap;
+ text-overflow: clip;
+ flex-basis: auto !important;
+}
+
+.tabs-wrap .wrap .sousuo {
+ background-color: #fff;
+ position: absolute;
+ left: 20rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ top: 15rpx;
+ z-index: 99;
+}
+
+.activeColor {
+ color: #eb7171 !important;
+ background-color: #f6e8e8 !important;
+}
diff --git a/packageA/others/materialSearch/materialSearch.js b/packageA/others/materialSearch/materialSearch.js
new file mode 100644
index 0000000..137ee31
--- /dev/null
+++ b/packageA/others/materialSearch/materialSearch.js
@@ -0,0 +1,424 @@
+// packageA/others/materialCenter/materialCenter.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ second_catgory:[],
+ parentid:'',
+ childid:'',
+ search_title:'',
+ language: '',
+ show1: false,
+ posterShow: false,
+ list: [],
+ posterImg: '',
+ // more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ posterId:0
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.initData();
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ initData() {
+ this.setData({
+ show1: false,
+ posterShow: false,
+ list: [],
+ posterImg: '',
+ // more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0
+ });
+ },
+ // 获取更多数据
+ getMoreData() {
+
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.material-center.api.centerlist.index');
+ that.setData({
+ isLoadMore: false // 防止多次请求分页数据
+ });
+
+ if (that.data.page >= that.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: that.data.page + 1,
+ });
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page:that.data.page,
+ parentid:that.data.parentid,
+ childid:that.data.childid,
+ search_title:that.data.search_title
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data.list.data;
+ that.setData({
+ isLoadMore:true,
+ list: that.data.list.concat(myData) // 数组拼接
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ changeValue(e){
+ this.setData({
+ search_title:e.detail.value
+ });
+ },
+ getData() {
+ if(!this.data.search_title){
+ wx.showToast({
+ title:'请输入搜索内容',
+ icon: 'none',
+ duration: 1500
+ });
+ return;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.material-center.api.centerlist.index');
+ that.setData({
+ isLoadMore: false,
+ page: 1
+ });
+ let json={
+ page:that.data.page,
+ parentid:that.data.parentid,
+ childid:that.data.childid,
+ search_title:that.data.search_title
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ total_page: res.data.list.last_page
+ });
+
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ that.setData({
+ list: res.data.list.data
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ showimage(e) {
+ let imgarr = e.currentTarget.dataset.images;
+ let imgidx = e.currentTarget.dataset.imgidx;
+ wx.previewImage({
+ current: imgarr[imgidx] ? imgarr[imgidx] : '', // 当前显示图片的http链接
+ urls: imgarr ? imgarr : [] // 需要预览的图片http链接列表
+ });
+ },
+ update(e) {
+ let id = e.currentTarget.dataset.id;
+ let title = e.currentTarget.dataset.title;
+ wx.setClipboardData({
+ data: title ? title : '',
+ success(res) {
+ wx.showToast({
+ title: '复制成功',
+ icon: 'none',
+ duration: 1500
+ });
+ },
+ fail() {
+ wx.showToast({
+ title: '复制失败',
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ });
+ this.setData({
+ show1: true
+ });
+ let urlStr = app.getNetAddresss('plugin.material-center.api.centerlist.updateNum');
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: id,
+ params: 'share'
+ },
+ success: function (resdata) {},
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ show1Close() {
+ this.setData({
+ show1: false
+ });
+ },
+ download(e){
+ let images=e.currentTarget.dataset.images;
+ let video=e.currentTarget.dataset.video;
+ if(images.length>0){
+ this.loadImg(images);
+ }
+ if(video&&video.video_url){
+ this.loadVideo(video);
+ }
+ },
+ loadImg(images){
+ images.forEach((item)=>{
+ wx.downloadFile({
+ url: item,//需要下载的图片url
+ success: function (res) {
+ //成功后的回调函数
+ wx.saveImageToPhotosAlbum({
+ //保存到本地
+ filePath: res.tempFilePath,
+ success(res) {
+ wx.showToast({
+ title: '图片下载成功',
+ icon: 'success',
+ duration: 2000
+ });
+ },
+ fail: function (err) {
+
+ if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
+ wx.openSetting({
+ success(settingdata) {
+ console.log(settingdata);
+ if (settingdata.authSetting['scope.writePhotosAlbum']) {
+ console.log('获取权限成功,给出再次点击图片保存到相册的提示。');
+ } else {
+ console.log('获取权限失败,给出不给权限就无法正常使用的提示');
+ }
+ }
+ });
+ }
+ }
+ });
+ }
+ });
+ });
+ },
+ loadVideo(video){
+ wx.downloadFile({
+ url: video.video_url,//需要下载的视频url
+ success: function (res) {
+ //成功后的回调函数
+ wx.saveVideoToPhotosAlbum({
+ //保存到本地
+ filePath: res.tempFilePath,
+ success(res) {
+ wx.showToast({
+ title: '视频下载成功',
+ icon: 'success',
+ duration: 2000
+ });
+ },
+ fail: function (err) {
+
+ if (err.errMsg === "saveVideoToPhotosAlbum:fail auth deny") {
+ wx.openSetting({
+ success(settingdata) {
+ console.log(settingdata);
+ if (settingdata.authSetting['scope.saveVideoToPhotosAlbum']) {
+ console.log('获取权限成功,给出再次点击视频保存到相册的提示。');
+ } else {
+ console.log('获取权限失败,给出不给权限就无法正常使用的提示');
+ }
+ }
+ });
+ }
+ }
+ });
+ }
+ });
+ },
+ // 海报生成
+ postShow(e) {
+ let that = this;
+ let id = e.currentTarget.dataset.id;
+ if (that.data.posterImg && this.data.posterId==id) {
+ this.setData({
+ posterShow: true
+ });
+ } else {
+ this.data.posterId = id;
+ wx.showLoading({
+ title: '海报生成中',
+ });
+ let urlStr = app.getNetAddresss('goods.goods-poster.generate-goods-poster');
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: id
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ posterShow: true,
+ posterImg: res.data.image_url
+ });
+ } else {
+ that.setData({
+ posterShow: false
+ });
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ wx.hideLoading();
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ posterShowClose() {
+ this.setData({
+ posterShow: false
+ });
+ },
+ saveImg() {
+ wx.getSetting({
+ success(res) {
+ if (!res.authSetting['scope.writePhotosAlbum']) {
+ wx.authorize({
+ scope: 'scope.writePhotosAlbum',
+ success() {
+ console.log('授权成功');
+ }
+ });
+ }
+ }
+ });
+ var imgSrc = this.data.posterImg;
+ wx.downloadFile({
+ url: imgSrc,
+ success: function (res) {
+ console.log(res);
+ // 图片保存到本地
+ wx.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success: function (data) {
+ wx.showToast({
+ title: '保存成功',
+ icon: 'none',
+ duration: 2000
+ });
+ },
+ fail: function (err) {
+ console.log(err);
+ if (err.errMsg === 'saveImageToPhotosAlbum:fail auth deny') {
+ console.log('当初用户拒绝,再次发起授权');
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting['scope.writePhotosAlbum']) {
+ wx.showToast({
+ icon: 'none',
+ title: '获取权限成功,再次长按保存图片',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '获取权限失败,保存图片需要用户授权',
+ duration: 1500
+ });
+ }
+ }
+ });
+ }
+ },
+ complete(res) {
+ console.log(res);
+ }
+ });
+ }
+ });
+
+ },
+});
diff --git a/packageA/others/materialSearch/materialSearch.json b/packageA/others/materialSearch/materialSearch.json
new file mode 100644
index 0000000..4fb829e
--- /dev/null
+++ b/packageA/others/materialSearch/materialSearch.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "素材搜索",
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/others/materialSearch/materialSearch.wxml b/packageA/others/materialSearch/materialSearch.wxml
new file mode 100644
index 0000000..56ad6d4
--- /dev/null
+++ b/packageA/others/materialSearch/materialSearch.wxml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.created_at }}
+
+
+
+ {{ item.content }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.goods.title}}
+
+ {{language['money']}}{{ item.goods.price }}
+
+
+
+
+
+ 复制文案
+
+
+
+ 商品码
+
+
+
+ 下载图文
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageA/others/materialSearch/materialSearch.wxss b/packageA/others/materialSearch/materialSearch.wxss
new file mode 100644
index 0000000..1bf9ff6
--- /dev/null
+++ b/packageA/others/materialSearch/materialSearch.wxss
@@ -0,0 +1,430 @@
+/* packageA/others/materialCenter/materialCenter.wxss */
+
+page {
+ background: #fff;
+}
+
+.material_search .content .user_info {
+ padding: 0 30rpx;
+ background: #fff;
+ border-top: solid 2rpx #ebebeb;
+ border-bottom: solid 2rpx #ebebeb;
+ margin-bottom: 20rpx;
+}
+
+.material_search .content .user_info .user_name {
+ display: flex;
+ padding-top: 30rpx;
+}
+
+.material_search .content .user_info .user_name .user {
+ width: 88rpx;
+ height: 88rpx;
+ border-radius: 44rpx;
+ border: solid 2rpx #ebebeb;
+ overflow: hidden;
+ background: #f2f2f2;
+ margin-right: 30rpx;
+}
+
+.material_search .content .user_info .user_name .user image {
+ width: 100%;
+}
+
+.material_search .content .user_info .user_name .right {
+ text-align: left;
+}
+
+.material_search .content .user_info .user_name .right .name {
+ font-size: 32rpx;
+ margin-bottom: 16rpx;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+}
+
+.material_search .content .user_info .user_name .right .time {
+ font-size: 28rpx;
+ color: #999;
+}
+
+.material_search .content .user_info .share_text {
+ font-size: 32rpx;
+ line-height: 48rpx;
+ text-align: left;
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.material_search .content .user_info .goods_box {
+ display: flex;
+ flex-wrap: wrap;
+ max-height: 700rpx;
+ overflow: hidden;
+}
+
+.material_search .content .user_info .goods_box .img {
+ width: 222rpx;
+ height: 222rpx;
+ overflow: hidden;
+ background: #f2f2f2;
+ margin-right: 12rpx;
+ margin-bottom: 12rpx;
+}
+
+.material_search .content .user_info .goods_box .video {
+ width: 222rpx;
+ height: 222rpx;
+ overflow: hidden;
+ margin-bottom: 12rpx;
+}
+
+.material_search .content .user_info .goods_box .video video {
+ width: 100%;
+ height: 100%;
+}
+
+.material_search .content .user_info .goods_box .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.material_search .content .user_info .goods_box .img:nth-child(3n) {
+ margin: 0;
+}
+
+.material_search .content .user_info .goods_lik {
+ background: #f8f8f8;
+ margin-top: 8rpx;
+ display: flex;
+}
+
+.material_search .content .user_info .goods_lik .goods_img {
+ width: 128rpx;
+ height: 128rpx;
+ overflow: hidden;
+ background: #f2f2f2;
+ margin-right: 30rpx;
+}
+
+.material_search .content .user_info .goods_lik .goods_img image {
+ width: 100%;
+}
+
+.material_search .content .user_info .goods_lik .goods_name {
+ text-align: left;
+ font-size: 28rpx;
+ width: 532rpx;
+}
+
+.material_search .content .user_info .goods_lik .goods_name .name {
+ line-height: 40rpx;
+ height: 80rpx;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.material_search .content .user_info .goods_lik .goods_name .number {
+ font-size: 28rpx;
+ line-height: 48rpx;
+}
+
+.material_search .content .user_info .goods_share {
+ margin-top: 20rpx;
+ border-top: solid 2rpx #ebebeb;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 0;
+}
+
+.material_search .content .user_info .goods_share .left,
+.material_search .content .user_info .goods_share .right {
+ display: flex;
+ width: 50%;
+ border-right: solid 2rpx #ebebeb;
+ font-size: 28rpx;
+ color: #666;
+ justify-content: center;
+ align-items: center;
+}
+
+.material_search .content .user_info .goods_share .left .iconfont,
+.material_search .content .user_info .goods_share .right .iconfont {
+ margin-right: 12rpx;
+ color: #666;
+ font-size: 36rpx;
+}
+
+.material_search .content .user_info .goods_share .right {
+ border: none;
+}
+
+.material_search .share_popup_box {
+ background: #fff;
+}
+
+.material_search .share_popup_box .tips {
+ font-size: 32rpx;
+ font-weight: bold;
+ margin-top: 32rpx;
+ text-align: center;
+}
+
+.material_search .share_popup_box .text {
+ padding: 48rpx 30rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.material_search .share_popup_box .text .li {
+ width: 100%;
+ font-size: 28rpx;
+ text-align: left;
+ display: flex;
+ padding: 12rpx 0;
+ align-items: center;
+}
+
+.material_search .share_popup_box .text .li .iconfont {
+ font-size: 36rpx;
+ margin-right: 8rpx;
+ color: #999;
+}
+
+.material_search .share_popup_box .text .li .current {
+ color: #07be12;
+}
+
+.material_search .share_popup_box .text .li .em {
+ text-decoration: underline;
+ color: #4c7fff;
+}
+
+.material_search .share_popup_box .title {
+ padding: 0 30rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.material_search .share_popup_box .title .line_left,
+.material_search .share_popup_box .title .line_right {
+ width: 240rpx;
+ height: 2rpx;
+ background: #ebebeb;
+}
+
+.material_search .share_popup_box .title .span {
+ font-size: 40rpx;
+}
+
+.material_search .share_popup_box .share_list {
+ padding: 40rpx 30rpx;
+ display: flex;
+ justify-content: space-around;
+}
+
+.material_search .share_popup_box .share_list .list {
+ display: flex;
+ align-items: center;
+ margin: 0 6rpx;
+}
+
+.material_search .share_popup_box .share_list .list .img {
+ width: 38rpx;
+ height: 38rpx;
+ overflow: hidden;
+ margin-right: 3rpx;
+}
+
+.material_search .share_popup_box .share_list .list .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.material_search .share_popup_box .block {
+ height: 20rpx;
+ background: #f5f5f5;
+}
+
+.material_search .share_popup_box .share_btn .button {
+ border: none;
+ height: 100rpx;
+ font-size: 32rpx;
+ line-height: 100rpx;
+ text-align: center;
+}
+
+.material_search .goods_code_popup {
+ background: #fff;
+ border-radius: 16rpx;
+ position: relative;
+ width: 100%;
+}
+
+.material_search .goods_code_popup .goods_img {
+ width: 640rpx;
+ height: 640rpx;
+ background: #f2f2f2;
+ overflow: hidden;
+ padding: 8rpx;
+ border-radius: 12rpx 12rpx 0 0;
+}
+
+.material_search .goods_code_popup .goods_img image {
+ width: 85%;
+}
+
+.material_search .goods_code_popup .goods_info {
+ display: flex;
+ justify-content: space-between;
+ padding: 20rpx;
+}
+
+.material_search .goods_code_popup .goods_info .info_left {
+ width: 400rpx;
+}
+
+.material_search .goods_code_popup .goods_info .info_left .name {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ height: 80rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.material_search .goods_code_popup .goods_info .info_left .price {
+ font-size: 24px;
+ color: #f15353;
+ text-align: left;
+ margin-top: 24rpx;
+ font-weight: bold;
+}
+
+.material_search .goods_code_popup .goods_info .info_left .price .span {
+ font-size: 28rpx;
+ color: #8c8c8c;
+ text-decoration: line-through;
+ margin-left: 30rpx;
+ font-weight: normal;
+}
+
+.material_search .goods_code_popup .goods_info .info_left .price .font {
+ font-size: 28rpx;
+}
+
+.material_search .goods_code_popup .goods_info .info_right .code_img {
+ width: 176rpx;
+ height: 176rpx;
+ background: #f2f2f2;
+ overflow: hidden;
+}
+
+.material_search .goods_code_popup .goods_info .info_right .code_img image {
+ width: 100%;
+}
+
+.material_search .goods_code_popup .goods_info .info_right .span {
+ font-size: 24rpx;
+ line-height: 40rpx;
+}
+
+/* .material_center .goods_code_popup .close {
+ position: absolute;
+ top: -32rpx;
+ right: -32rpx;
+ width: 88rpx;
+ height: 88rpx;
+ overflow: hidden;
+}
+
+.material_center .goods_code_popup .close image {
+ width: 80%;
+} */
+
+.material_search .goods_code_popup .icon_close {
+ position: absolute;
+ top: 8rpx;
+ right: 0;
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.code_box {
+ width: 500rpx;
+
+ /* height: 970rpx; */
+
+ /* position: absolute;
+ left: 50%; */
+ display: block;
+ margin: 0 auto 60rpx;
+ border-radius: 12rpx;
+}
+
+.code_box image {
+ width: 100%;
+ border-radius: 12rpx;
+}
+
+.posterPopup_style .icon_btn {
+ width: 100%;
+ position: relative;
+
+ /* height: 120rpx; */
+ background: #fff;
+ text-align: center;
+ display: flex;
+ justify-content: space-around;
+}
+
+.posterPopup_style .icon_btn .box {
+ width: 50%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+ padding: 20rpx 0;
+ position: relative;
+}
+
+.posterPopup_style .icon_btn image {
+ width: 80rpx;
+ height: 80rpx;
+ margin-bottom: 8rpx;
+}
+
+.posterPopup_style .icon_close {
+ width: 100%;
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ background: #efefef;
+ color: #333;
+ font-size: 32rpx;
+}
+
+.sousuoWrap {
+ width: 500rpx;
+ border-radius: 50rpx;
+ background-color: rgba(240, 240, 240, 100);
+ color: rgba(16, 16, 16, 100);
+ margin: 0 auto;
+ height: 60rpx;
+ display: flex;
+ align-items: center;
+ padding-left: 30rpx;
+ margin-top: 30rpx;
+ margin-bottom: 30rpx;
+}
+
+.van-popup {
+ z-index: 999;
+}
diff --git a/packageA/others/order_ruturn_info/order_ruturn_info.js b/packageA/others/order_ruturn_info/order_ruturn_info.js
new file mode 100644
index 0000000..733dd3d
--- /dev/null
+++ b/packageA/others/order_ruturn_info/order_ruturn_info.js
@@ -0,0 +1,79 @@
+// packageA/others/materialCenter/materialCenter.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ list: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getData() {
+ let urlStr = app.getNetAddresss('plugin.lease-toy.api.retreat.return.return-detail');
+ urlStr += '&order_id=' + this.options.id;
+
+ app._getNetWork({
+ url: urlStr,
+ data: {},
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ list: res.data
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
diff --git a/packageA/others/order_ruturn_info/order_ruturn_info.json b/packageA/others/order_ruturn_info/order_ruturn_info.json
new file mode 100644
index 0000000..026b8e1
--- /dev/null
+++ b/packageA/others/order_ruturn_info/order_ruturn_info.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "归还详情",
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageA/others/order_ruturn_info/order_ruturn_info.wxml b/packageA/others/order_ruturn_info/order_ruturn_info.wxml
new file mode 100644
index 0000000..18f45d0
--- /dev/null
+++ b/packageA/others/order_ruturn_info/order_ruturn_info.wxml
@@ -0,0 +1,53 @@
+
+
+
+ {{ list.return_name }}
+ {{ list.return_time==null?'':list.return_time }}
+
+
+ 归还信息
+
+
+ 归还押金:
+ {{ list.deposit_total }}
+
+
+ 归还快递:
+ {{ list.lease_express.express_company_name }}
+
+
+ 快递单号:
+ {{ list.lease_express.express_sn }}
+
+
+ 联系人:
+ {{ list.lease_address.realname }} {{list.lease_address.mobile}}
+
+
+ 归还地址:
+ {{ list.lease_address.address }}
+
+
+
+
+
+
+
+
+ 实际归还押金:
+ {{ list.return_deposit }}
+
+
+ 逾期扣除:
+ {{ list.be_overdue }}
+
+
+ 破损扣除:
+ {{ list.be_damaged }}
+
+
+
+ 提示说明:{{ list.explain }}
+
+
+
\ No newline at end of file
diff --git a/packageA/others/order_ruturn_info/order_ruturn_info.wxss b/packageA/others/order_ruturn_info/order_ruturn_info.wxss
new file mode 100644
index 0000000..6ad45e6
--- /dev/null
+++ b/packageA/others/order_ruturn_info/order_ruturn_info.wxss
@@ -0,0 +1,60 @@
+.ruturn_detail .state_time {
+ background: #f15353;
+ color: #fff;
+ padding: 28rpx;
+ text-align: left;
+}
+
+.ruturn_detail .state_time .state {
+ font-size: 16px;
+ font-weight: bold;
+}
+
+.ruturn_detail .state_time .time {
+ font-size: 12px;
+ margin-top: 20rpx;
+}
+
+.ruturn_detail .return_info {
+ margin-top: 20rpx;
+ background: #fff;
+ padding-left: 28rpx;
+}
+
+.ruturn_detail .return_info .h1 {
+ line-height: 72rpx;
+ padding-right: 28rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ font-size: 14px;
+ text-align: left;
+ font-weight: normal;
+}
+
+.ruturn_detail .return_info .info_box {
+ padding: 20rpx 28rpx 20rpx 0;
+}
+
+.ruturn_detail .return_info .info_box .li {
+ display: flex;
+ font-size: 12px;
+ line-height: 56rpx;
+ text-align: left;
+ color: #8c8c8c;
+}
+
+.ruturn_detail .return_info .info_box .li .span:first-child {
+ width: 160rpx;
+}
+
+.ruturn_detail .return_info .info_box .li .span:last-child {
+ width: 534rpx;
+}
+
+.ruturn_detail .tips {
+ background: #fafafa;
+ font-size: 12px;
+ color: #8c8c8c;
+ text-align: left;
+ line-height: 36rpx;
+ padding: 20rpx 28rpx;
+}
diff --git a/packageA/qrdetail/detail.js b/packageA/qrdetail/detail.js
new file mode 100644
index 0000000..2da2163
--- /dev/null
+++ b/packageA/qrdetail/detail.js
@@ -0,0 +1,38 @@
+var app = getApp();
+Page({
+ data: {
+ img:'',
+ id:''
+ },
+ onLoad: function (options) {
+ // var that = this;
+ // WxParse.wxParse('article', 'html', article, that, 5);
+ this.setData({
+ id: options.id
+ });
+ this._getData();
+ },
+ _getData(){
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.controllers.fight-groups-goods.get-goods");
+ app._getNetWork({
+ url: urlStr,
+ data:{id:this.data.id},
+ success: (resdata) => {
+ var res = resdata.data;
+ console.log(999, res);
+ if (res.result == 1) {
+ console.log(res.data.groupqr_url);
+ this.setData({
+ img: res.data.groupqr_url
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageA/qrdetail/detail.json b/packageA/qrdetail/detail.json
new file mode 100644
index 0000000..7f39c61
--- /dev/null
+++ b/packageA/qrdetail/detail.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "加入群",
+ "usingComponents": {
+ }
+}
\ No newline at end of file
diff --git a/packageA/qrdetail/detail.wxml b/packageA/qrdetail/detail.wxml
new file mode 100644
index 0000000..9bbf21f
--- /dev/null
+++ b/packageA/qrdetail/detail.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ 请长按识别二维码加入群
+ (若无法识别请保存图片后手动用微信扫码)
+
+
\ No newline at end of file
diff --git a/packageA/qrdetail/detail.wxss b/packageA/qrdetail/detail.wxss
new file mode 100644
index 0000000..b39d32b
--- /dev/null
+++ b/packageA/qrdetail/detail.wxss
@@ -0,0 +1,13 @@
+.img{
+ height: 370px;
+ padding: 20px;
+}
+.text{
+ text-align: center;
+}
+.text>view{
+ font-size: 18px;
+}
+.text> text{
+ color: #ccc;
+}
\ No newline at end of file
diff --git a/packageC/cashier/cashier/cashier.js b/packageC/cashier/cashier/cashier.js
new file mode 100644
index 0000000..69d7859
--- /dev/null
+++ b/packageC/cashier/cashier/cashier.js
@@ -0,0 +1,171 @@
+// pages/cashier/cashier.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ store: {
+ name: '',
+ thumb: ''
+ },
+ income: {
+ money_total: 0.0,
+ sure_withdraw_money: 0.0
+ },
+ store_set: {
+ is_cash_pay: '',
+ is_open_cashier: '',
+ is_write_information: ''
+ },
+ title: '',
+ vedioSrc: '',
+ storeManageOpen:true
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.checkrouter();
+ this.getStoreInfo();
+ },
+ checkrouter() {
+ try {
+ // 推广中心是否开启该功能,没开启跳转到指定路径
+ let basic_info = wx.getStorageSync("yz_basic_info");
+ let stop_info = basic_info.popularize_page.mini.vue_route;
+ for (let i = 0; i < stop_info.length; i++) {
+ if (stop_info[i] == 'cashier') {
+ console.log(basic_info.popularize_page.mini.mini_url + "跳转的路径");
+ this.setData({
+ storeManageOpen:false
+ });
+ if(!basic_info.popularize_page.mini.mini_url){
+ wx.showModal({
+ content: '未开启推广权限',
+ showCancel:false,
+ success:function(res){
+ if(res.confirm){
+ wx.navigateBack({
+ delta: 1
+ });
+ }
+ }
+ });
+ }else{
+ wx.showToast({
+ title: '未开启推广权限',
+ duration: 2000,
+ icon: 'none',
+ success: function() {
+ setTimeout(() => {
+ wx.redirectTo({
+ url: basic_info.popularize_page.mini.mini_url,
+ });
+ }, 1000);
+ }
+ });
+ }
+ }
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {},
+ getStoreInfo() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.cashier.center.index');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ store: res.data.store,
+ income: res.data.income,
+ store_set: res.data.store_set
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ gowithdrawal() {
+ wx.navigateTo({
+ url: '/packageA/member/withdrawal/withdrawal'
+ });
+ },
+ toPage(e) {
+ let str = e.currentTarget.dataset.message;
+ if (str === 'cashierOrderlist') {
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2?status=0' + '&orderType=cashier'
+ });
+ return;
+ }
+ if (str === 'presentationRecord') {
+ wx.navigateTo({
+ url: '/packageA/member/presentationRecord_v2/presentationRecord_v2?i=' + this.data.store.store_id +
+ '&type=store_cashier'
+ });
+ return;
+ }
+ if (str === 'income_breakdown') {
+ wx.navigateTo({
+ url: '/packageC/cashier/cashierIncome/cashierIncome'
+ });
+ return;
+ }
+ wx.navigateTo({
+ url: '/packageC/cashier/' + str + '/' + str
+ });
+ }
+});
diff --git a/packageC/cashier/cashier/cashier.json b/packageC/cashier/cashier/cashier.json
new file mode 100644
index 0000000..e7338aa
--- /dev/null
+++ b/packageC/cashier/cashier/cashier.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "收银台",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageC/cashier/cashier/cashier.wxml b/packageC/cashier/cashier/cashier.wxml
new file mode 100644
index 0000000..c861465
--- /dev/null
+++ b/packageC/cashier/cashier/cashier.wxml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+ {{language['money']}}{{ income.money_total }}
+ 累计实收金额
+
+
+ {{language['money']}}{{ income.sure_withdraw_money }}
+ 可提现金额
+
+
+
+
+
+
+
+ 收款二维码
+
+
+
+
+
+
+
+
+ 我的订单
+
+
+
+
+
+
+
+
+ 我的提成
+
+
+
+
+
+
+
+
+ 统计结算
+
+
+
+
+
+
+
+
+ 收入明细
+
+
+
+
+
+
+
+
+
diff --git a/packageC/cashier/cashier/cashier.wxss b/packageC/cashier/cashier/cashier.wxss
new file mode 100644
index 0000000..2ab0893
--- /dev/null
+++ b/packageC/cashier/cashier/cashier.wxss
@@ -0,0 +1,233 @@
+.header {
+ height: auto;
+ background: #f15353;
+ background-size: 100% 100%;
+ padding: 40rpx;
+ position: relative;
+}
+
+.header .user {
+ display: flex;
+ text-align: center;
+}
+
+.header .user .cashier-name {
+ text-align: left;
+ flex: 2;
+ margin-left: 20rpx;
+ line-height: 60rpx;
+ color: #fff;
+ font-weight: bold;
+ font-size: 36rpx;
+}
+
+.header .user .user-head {
+ height: 104rpx;
+ width: 104rpx;
+ background: #fff;
+ border-radius: 50%;
+ border: 4rpx solid #fff;
+ box-sizing: border-box;
+ float: left;
+ overflow: hidden;
+}
+
+.header .user .user-head image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.header .user .user-info {
+ margin-top: 22rpx;
+ float: left;
+ color: #fff;
+}
+
+.header .user .set {
+ position: absolute;
+ right: 20rpx;
+ top: 20rpx;
+ color: #fff;
+ font-size: 28rpx;
+}
+
+.header .user .user-info .user-name {
+ width: auto;
+ font-size: 28rpx;
+}
+
+.header .user .user-info .user-name .b-tixian {
+ display: flex;
+ justify-content: center;
+ width: 152rpx;
+ margin-top: 16rpx;
+ margin: 0 auto;
+ padding: 10rpx;
+ border-radius: 36rpx;
+ color: #fff;
+ background: rgba(255, 255, 255, 0.3);
+}
+
+.header .user .user-info .user-other {
+ height: 40rpx;
+ width: auto;
+ font-size: 28rpx;
+ line-height: 40rpx;
+ opacity: 0.8;
+}
+
+.header .user-gold {
+ height: 70rpx;
+ width: 94%;
+ padding: 10rpx 3%;
+ border-bottom: 2rpx solid #f5f3f3;
+ background: #fff;
+ font-size: 24rpx;
+ line-height: 70rpx;
+}
+
+.header .user-gold .title {
+ height: 70rpx;
+ width: auto;
+ float: left;
+ color: #666;
+}
+
+.header .user-gold .num {
+ height: 70rpx;
+ width: auto;
+ float: left;
+ color: #f90;
+}
+
+.header .user-gold .draw {
+ width: 160rpx;
+ height: 60rpx;
+ background: #6c9;
+ float: right;
+}
+
+.header .user-op {
+ height: 70rpx;
+ width: 94%;
+ padding: 10rpx 3%;
+ border-bottom: 2rpx solid #f5f3f3;
+ background: #fff;
+ font-size: 24rpx;
+ line-height: 70rpx;
+}
+
+.money-center {
+ background: #fff;
+ border-bottom: 2rpx solid #f5f3f3;
+ margin-top: 20rpx;
+ overflow: hidden;
+}
+
+.userinfo {
+ background: #fff;
+ margin-bottom: 20rpx;
+}
+
+.userinfo .ul {
+ padding: 32rpx 0;
+}
+
+.userinfo .ul .li {
+ color: #8c8c8c;
+ text-align: center;
+ display: block;
+}
+
+.userinfo .ul .li .span {
+ color: #222;
+ font-size: 28rpx;
+}
+
+.userinfo .ul .li:first-child {
+ border-right: solid 2rpx #ebebeb;
+}
+
+.userinfo .ul .li {
+ flex: 1;
+ float: left;
+ width: 50%;
+ box-sizing: border-box;
+ border: 0;
+}
+
+.userinfo .ul .li .span {
+ color: #f15353;
+ font-size: 36rpx;
+ display: inline-block;
+ margin-bottom: 12rpx;
+ font-weight: bold;
+}
+
+.userinfo .ul .li .small {
+ font-weight: normal;
+ font-size: 48rpx;
+}
+
+.userinfo .ul .li:last-child {
+ border: 0;
+}
+
+.userinfo .ul .li::after {
+ content: "";
+ display: block;
+ clear: both;
+}
+
+.userinfo .ul::after {
+ content: "";
+ display: block;
+ clear: both;
+}
+
+.list1 {
+ height: 88rpx;
+ background: #fff;
+ padding-right: 28rpx;
+ margin-left: 28rpx;
+ border-top: 2rpx solid #ebebeb;
+ font-size: 32rpx;
+ line-height: 88rpx;
+ color: #333;
+ text-align: left;
+ display: flex;
+ justify-content: space-between;
+}
+
+.list1 .left {
+ display: flex;
+ align-items: center;
+}
+
+.list1 .left .span {
+ margin-left: 20rpx;
+}
+
+.list1 .left icon {
+ font-size: 52rpx;
+ color: rgb(241, 83, 83);
+}
+
+.list1 .right {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.list1 .right van-icon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.cart {
+ height: auto;
+ width: 100%;
+ background: #fff;
+}
diff --git a/packageC/cashier/cashierIncome/cashierIncome.js b/packageC/cashier/cashierIncome/cashierIncome.js
new file mode 100644
index 0000000..28989f4
--- /dev/null
+++ b/packageC/cashier/cashierIncome/cashierIncome.js
@@ -0,0 +1,217 @@
+// packageC/cashier/income_breakdown/income_breakdown.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ isLoadMore: true,
+ total_page: 0,
+ page: 1,
+ todayList: [],
+ yesterdayList: [],
+ monthList: [],
+ lastMonthList: [],
+ getType: 'today',
+ total_price: '',
+ total: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.getData();
+ },
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ if (index == 1) {
+ this.data.getType = 'yesterday';
+ } else if (index == 3) {
+ this.data.getType = 'month';
+ } else if (index == 2) {
+ this.data.getType = 'lastMonth';
+ } else {
+ this.data.getType = 'today';
+ }
+ this.data.isLoadMore = true;
+ this.data.total_page = 0;
+ this.data.page = 1;
+ this.getData();
+ },
+ getData() {
+ let that = this;
+ let url = '';
+ if (this.data.getType == 'today') {
+ url = 'plugin.store-cashier.frontend.cashier.income.today';
+ } else if (this.data.getType == 'yesterday') {
+ url = 'plugin.store-cashier.frontend.cashier.income.yesterday';
+ } else if (this.data.getType == 'month') {
+ url = 'plugin.store-cashier.frontend.cashier.income.this-month';
+ } else if (this.data.getType == 'lastMonth') {
+ url = 'plugin.store-cashier.frontend.cashier.income.last-month';
+ }
+ let urlStr = app.getNetAddresss(url);
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: this.data.page
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.getType == 'today') {
+ that.setData({
+ todayList: res.data.data,
+ total_price: res.data.total_price,
+ total: res.data.total
+ });
+ } else if (that.data.getType == 'yesterday') {
+ that.setData({
+ yesterdayList: res.data.data,
+ total_price: res.data.total_price,
+ total: res.data.total
+ });
+ } else if (that.data.getType == 'month') {
+ that.setData({
+ monthList: res.data.data,
+ total_price: res.data.total_price,
+ total: res.data.total
+ });
+ } else if (that.data.getType == 'lastMonth') {
+ that.setData({
+ lastMonthList: res.data.data,
+ total_price: res.data.total_price,
+ total: res.data.total
+ });
+ }
+ that.setData({
+ total_page: res.data.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ _getMoreData() {
+ var that = this;
+ let url = '';
+ if (this.data.getType == 'today') {
+ url = 'plugin.store-cashier.frontend.cashier.income.today';
+ } else if (this.data.getType == 'yesterday') {
+ url = 'plugin.store-cashier.frontend.cashier.income.yesterday';
+ } else if (this.data.getType == 'month') {
+ url = 'plugin.store-cashier.frontend.cashier.income.this-month';
+ } else if (this.data.getType == 'lastMonth') {
+ url = 'plugin.store-cashier.frontend.cashier.income.last-month';
+ }
+ if (this.data.page == this.data.total_page) {
+ return;
+ }
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.setData({
+ page: this.data.page + 1
+ });
+ let urlStr = app.getNetAddresss(url);
+ urlStr += '&page=' + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.getType == 'today') {
+ that.setData({
+ todayList: that.data.todayList.concat(res.data.data)
+ });
+ } else if (that.data.getType == 'yesterday') {
+ that.setData({
+ yesterdayList: that.data.yesterdayList.concat(res.data.data)
+ });
+ } else if (that.data.getType == 'month') {
+ that.setData({
+ monthList: that.data.monthList.concat(res.data.data)
+ });
+ } else if (that.data.getType == 'lastMonth') {
+ that.setData({
+ lastMonthList: that.data.lastMonthList.concat(res.data.data)
+ });
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ return;
+ }
+
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ }
+});
diff --git a/packageC/cashier/cashierIncome/cashierIncome.json b/packageC/cashier/cashierIncome/cashierIncome.json
new file mode 100644
index 0000000..073d70c
--- /dev/null
+++ b/packageC/cashier/cashierIncome/cashierIncome.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "收入明细",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/cashier/cashierIncome/cashierIncome.wxml b/packageC/cashier/cashierIncome/cashierIncome.wxml
new file mode 100644
index 0000000..166be8d
--- /dev/null
+++ b/packageC/cashier/cashierIncome/cashierIncome.wxml
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+ 交易总数量
+ {{total}}
+
+
+
+ 消费金额
+ {{total_price}}
+
+
+
+
+
+ 序号{{index+1}}
+ {{item.member_name}}
+ {{item.create_time}}
+
+
+ {{item.price}}
+ {{item.pay_type_name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 交易总数量
+ {{total}}
+
+
+
+ 消费金额
+ {{total_price}}
+
+
+
+
+
+ 序号{{index+1}}
+ {{item.member_name}}
+ {{item.create_time}}
+
+
+ {{item.price}}
+ {{item.pay_type_name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 交易总数量
+ {{total}}
+
+
+
+ 消费金额
+ {{total_price}}
+
+
+
+
+
+ 序号{{index+1}}
+ {{item.member_name}}
+ {{item.create_time}}
+
+
+ {{item.price}}
+ {{item.pay_type_name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 交易总数量
+ {{total}}
+
+
+
+ 消费金额
+ {{total_price}}
+
+
+
+
+
+ 序号{{index+1}}
+ {{item.member_name}}
+ {{item.create_time}}
+
+
+ {{item.price}}
+ {{item.pay_type_name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageC/cashier/cashierIncome/cashierIncome.wxss b/packageC/cashier/cashierIncome/cashierIncome.wxss
new file mode 100644
index 0000000..d58e45a
--- /dev/null
+++ b/packageC/cashier/cashierIncome/cashierIncome.wxss
@@ -0,0 +1,99 @@
+/* packageC/cashier/income_breakdown/income_breakdown.wxss */
+.transaction_content .transactioninformation {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+ background-color: #fff;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ text-align: center;
+}
+
+.line {
+ width: 2rpx;
+ height: 172rpx;
+ background-color: #f3f3f3;
+}
+
+.transaction_content .transactioninformation .transaction_left {
+ flex: 1;
+}
+
+.transaction_content .transactioninformation .transaction_right {
+ flex: 1;
+}
+
+.transaction_content .transactioninformation .transaction_top {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #666;
+ padding-bottom: 34rpx;
+}
+
+.transaction_content .transactioninformation .transaction_bottom {
+ font-size: 40rpx;
+ line-height: 36rpx;
+ color: #ff2c29;
+}
+
+.transaction_list .li {
+ padding-top: 22rpx;
+ background-color: #fff;
+ margin-bottom: 2rpx;
+ display: flex;
+ padding-left: 34rpx;
+ padding-right: 37rpx;
+ justify-content: space-between;
+ padding-bottom: 26rpx;
+}
+
+.transaction_list .li .li_left .order_number {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-bottom: 6rpx;
+}
+
+.transaction_list .li .li_left .user_name {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #666;
+}
+
+.transaction_list .li .li_left .date {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #666;
+ padding-bottom: 10rpx;
+}
+
+.transaction_list .li .li_right .income {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #ff2c29;
+ padding-bottom: 6rpx;
+}
+
+.transaction_list .li .li_right .source {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #666;
+}
+
+.loading {
+ width: 100%;
+ height: 400rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.loading .content {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.loading .content image {
+ width: 100%;
+ height: 100%;
+}
diff --git a/packageC/cashier/cashier_pay/cashier_pay.js b/packageC/cashier/cashier_pay/cashier_pay.js
new file mode 100644
index 0000000..698d273
--- /dev/null
+++ b/packageC/cashier/cashier_pay/cashier_pay.js
@@ -0,0 +1,1001 @@
+// pages/cashier_pay/cashier_pay.js
+// var WxParse = require('../../../wxParse/wxParse.js');
+var yz_pay = require("../../../mycomponent/yz_pay/yz_pay");
+var app = getApp();
+Page({
+ behaviors: [yz_pay],
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ //是否显示支付协议
+ agreementPayData: "",
+ agreementPay: false,
+ agreementPayShow: false,
+ store_id: "",
+ confirmOrderStatus: false,
+ payMuch: "0",
+ realname: "", //收件人
+ mobile: "",
+ //优惠券
+ popupCouponSpecs: false,
+ checkCouponList: [],
+ coupon_size: 0,
+ use_coupon_size: 0,
+ coupons: [],
+ //支付
+ order_ids: "",
+ income: {
+ money_total: 0.0,
+ sure_withdraw_money: 0.0,
+ },
+ store_set: {
+ is_cash_pay: "",
+ is_open_cashier: "",
+ is_write_information: "",
+ },
+ payPrice: 0,
+ //积分抵扣 其他抵扣
+ checkDeductionList: [],
+ form: {
+ mobile: "",
+ realname: "",
+ },
+ allData: {},
+ order_data: "",
+ loadDiscount: false,
+ goods_price: 0.0,
+ dispatch_price: 0.0,
+ discount_price: 0,
+ price: 0.0,
+ deduction_price: 0,
+ payType: [],
+ typename: "",
+ show1: false,
+ clicktag: 0,
+ uid: "",
+ cashier_type: "",
+ hotel_id: "",
+ order_pay_id: "",
+
+ //消费红包
+ showPacket: false,
+ redirectData: {},
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ var info_arr = [];
+ if (options.scene) {
+ let scene = decodeURIComponent(options.scene);
+ console.log(scene);
+ if (scene) {
+ info_arr = scene.split(",");
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split("=");
+ console.log(chil_arr);
+ if (chil_arr[0] == "store_id") {
+ this.setData({
+ store_id: chil_arr[1],
+ });
+ }
+ if (chil_arr[0] == "hotel_id") {
+ this.setData({
+ hotel_id: chil_arr[1],
+ });
+ }
+ if (chil_arr[0] == "mid") {
+ app._setMid(chil_arr[1]);
+ }
+ }
+ }
+ }
+ if (options.q) {
+ let qscen = decodeURIComponent(options.q);
+ console.log(qscen);
+ if (qscen) {
+ let scene = decodeURIComponent(options.q);
+ if (scene) {
+
+ if (scene.indexOf("?i=") == "-1") {
+ info_arr = scene.split(",");
+ } else {
+ let arr = scene.split("&");
+ info_arr = arr[1].split(",");
+ }
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split("=");
+ if (chil_arr[1] == "store_id") {
+ this.setData({
+ store_id: chil_arr[2],
+ });
+ }
+ if (chil_arr[0] == "mid") {
+ app._setMid(chil_arr[1]);
+ }
+ }
+ }
+ }
+ }
+ if (options.hotel_id) {
+ this.setData({
+ hotel_id: options.hotel_id,
+ });
+ }
+ if (app._isTextEmpty(this.data.hotel_id)) {
+ this.setData({
+ cashier_type: "store",
+ });
+ } else {
+ this.setData({
+ cashier_type: "hotel",
+ });
+ }
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id,
+ });
+ }
+ if(options.cashier_type){
+ this.setData({
+ cashier_type:options.cashier_type
+ });
+ }
+ if(this.data.cashier_type == "scanning_payment"){
+ this.setData({
+ payMuch:options.price,
+ show1:true,
+ showPage:true
+ });
+ wx.setNavigationBarTitle({
+ title: '扫码下单',
+ });
+ this.preGoodsBuy();
+ }else {
+ this.getCenter();
+ }
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ onShareTimeline(){},
+ fromChild(e){
+ if(this.data.money=='0.00') {
+ // 0元
+ this.sureBtn();
+ }else {
+ let datas = e.detail.submitArr;
+ this.submit(datas);
+ }
+ },
+ onClickHide() {
+ this.setData({
+ showPacket: false,
+ });
+ this.toRedirect();
+ },
+ toPacket() {
+ wx.redirectTo({
+ url: "/packageE/ConsumePacket/ConsumePacketSuccess/ConsumePacketSuccess?order_id=" + this.data.order_ids.toString(),
+ });
+ },
+ // 消费红包
+ checkoutConsumePacket() {
+ this.getVoiceSet();
+ let basicinfo = wx.getStorageSync("yz_basic_info");
+ if (basicinfo && basicinfo.globalParameter.consume_red_packet_status == 1) {
+ let urlStr = app.getNetAddresss("plugin.consume-red-packet.Frontend.Modules.Packet.Controllers.has.index");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ order_id: this.data.order_ids.split(","),
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ show1: false,
+ showPacket: true,
+ });
+ } else {
+ this.toRedirect();
+ }
+ },
+ fail: (res) => {
+ this.toRedirect();
+ console.log(res);
+ },
+ });
+ } else {
+ this.toRedirect();
+ }
+ },
+ toRedirect() {
+ wx.showToast({
+ icon: "none",
+ title: "支付成功",
+ duration: 2000,
+ });
+ if (this.data.order_sn) {
+ this.payCallBack();
+ }
+ // wx.showModal({
+ // title: "提示",
+ // content: "支付成功",
+ // showCancel: false,
+ // success: (res) => {
+ // if (res.confirm) {
+ // if (this.data.redirectData.cashPay) {
+ // wx.reLaunch({
+ // url: "/packageG/member_v2/member_v2",
+ // });
+ // } else if (!app._isTextEmpty(this.data.min_redirect_url)) {
+ // try {
+ // wx.redirectTo({
+ // url: this.data.min_redirect_url,
+ // });
+ // } catch (e) {
+ // console.log(e);
+ // }
+ // } else {
+ // wx.reLaunch({
+ // url: "/packageG/index/index",
+ // });
+ // }
+ // }
+ // },
+ // });
+ },
+ getVoiceSet() {
+ //判断是否开启语音播报
+ // let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.cashier.voice.index");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ order_id: this.data.order_ids,
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ // const bgMusic = wx.createInnerAudioContext();
+ const bgMusic = wx.getBackgroundAudioManager(); //音乐播放实例
+ // //bug ios 播放时必须加title 不然会报错导致音乐不播放
+ bgMusic.title = "支付成功语音提示";
+ bgMusic.src = res.data.url;
+ bgMusic.play();
+ // bgMusic.src = `data:audio/x-wav;base64,${res.data.speech}`;
+ // bgMusic.src = 'https://dev4.yunzmall.com/attachment/audios/0/2021/05/556f15b68d5d2c1886e2e470e6f1cda9.mp3'
+ } else {
+ console.log(res);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ PayShowbtn() {
+ this.setData({
+ agreementPayShow: false,
+ });
+ },
+ initStore(data) {
+ this.setData({
+ confirmOrderStatus: false,
+ payMuch: "0",
+ realname: "",
+ mobile: "",
+ popupCouponSpecs: false,
+ order_ids: "",
+ });
+ if (this.data.cashier_type === "hotel") {
+ // 酒店没有用到,这是用来统计门店订单的 任务编号: 54992
+ // this.setData({
+ // store: data.hotel,
+ // store_set: data.hotel_set
+ // })
+ } else {
+ this.setData({
+ store: data.store,
+ store_set: data.store_set,
+ income: data.income,
+ });
+ if(data.store_set.is_open_cashier != 1) {
+ // 该门店没有开启收银台
+ app.confirm('该门店没有开启收银台',()=> {
+ wx.navigateBack({
+ delta: 1,
+ fail: ()=> {
+ wx.reLaunch({
+ url: '/packageG/index/index',
+ });
+ }
+ });
+ },false);
+ }
+ }
+ },
+ //处理按键
+ _handleKeyPress(e) {
+ let num = e.currentTarget.dataset.num;
+ //不同按键处理逻辑
+ // -1 代表无效按键,直接返回
+ if (num == -1) return false;
+ switch (String(num)) {
+ //小数点
+ case ".":
+ this._handleDecimalPoint();
+ break;
+ //删除键
+ case "D":
+ this._handleDeleteKey();
+ break;
+ //确认键
+ case "S":
+ this._handleConfirmKey();
+ break;
+ default:
+ this._handleNumberKey(num);
+ break;
+ }
+ },
+ //处理小数点函数
+ _handleDecimalPoint() {
+ //如果包含小数点,直接返回
+ if (this.data.payMuch.indexOf(".") > -1) {
+ return false;
+ }
+ //如果小数点是第一位,补0
+ if (!this.data.payMuch.length) {
+ this.setData({
+ payMuch: "0.",
+ });
+ } else {
+ //如果不是,添加一个小数点
+ this.setData({
+ payMuch: this.data.payMuch + ".",
+ });
+ }
+ },
+ //处理删除键
+ _handleDeleteKey() {
+ let S = this.data.payMuch;
+ //如果没有输入,直接返回
+ if (S.length <= 1) {
+ this.setData({
+ payMuch: "0",
+ });
+ return;
+ }
+ //否则删除最后一个
+ this.setData({
+ payMuch: S.substring(0, S.length - 1),
+ });
+ },
+ _handleConfirmKey() {
+ let S = this.data.payMuch;
+ //未输入
+ if (!S.length || Number(S) === 0) {
+ wx.showToast({
+ icon: "none",
+ title: "您目前未输入!",
+ duration: 1500,
+ });
+ return false;
+ }
+ //将 8. 这种转换成 8.00
+ if (S.indexOf(".") > -1 && S.indexOf(".") === S.length - 1) {
+ S = Number(S.substring(0, S.length - 1)).toFixed(2);
+ }
+ //保留两位
+ S = Number(S).toFixed(2);
+ this.setData({
+ payMuch: S,
+ });
+ this.confirmOrder();
+ },
+ confirmOrder() {
+ var val = this.data.payMuch;
+ if (val && val > 0) {
+ this.setData({
+ payPrice: val,
+ confirmOrderStatus: true,
+ isdisabled: true,
+ });
+ this.preGoodsBuy();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: "请输入正确的付款金额!",
+ duration: 1500,
+ });
+ this.setData({
+ confirmOrderStatus: false,
+ isdisabled: false,
+ });
+ }
+ },
+ //处理数字
+ _handleNumberKey(num) {
+ let S = this.data.payMuch;
+ //如果有小数点且小数点位数不小于2
+ if (S.indexOf(".") > -1 && S.substring(S.indexOf(".") + 1).length < 2) {
+ this.setData({
+ payMuch: S + num,
+ });
+ }
+ //没有小数点
+ if (!(S.indexOf(".") > -1)) {
+ //如果第一位是0,只能输入小数点
+ if (num == 0 && S.length == 0) {
+ this.setData({
+ payMuch: "0.",
+ });
+ } else {
+ if (S.length && Number(S.charAt(0)) === 0) {
+ this.setData({
+ payMuch: num,
+ });
+ return;
+ }
+ this.setData({
+ payMuch: S + num,
+ });
+ }
+ }
+ },
+ //直接购买
+ preGoodsBuy() {
+ let that = this;
+ let urlStr = "";
+ if (this.data.cashier_type == "hotel") {
+ urlStr += app.getNetAddresss("plugin.hotel.frontend.Order.goods-buy");
+ urlStr += "&price=" + this.data.payPrice;
+ urlStr += "&hotel_id=" + this.data.hotel_id;
+ urlStr += "&member_coupon_ids=" + this.assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this.assembleDeduction());
+ urlStr += "&mobile=" + this.data.form.mobile;
+ urlStr += "&realname=" + this.data.form.realname;
+ } else if(this.data.cashier_type == "scanning_payment"){
+ urlStr += app.getNetAddresss("plugin.sweep-buy.frontend.controllers.goods-buy.index");
+ urlStr += "&member_coupon_ids=" + this.assembleCoupons();
+ urlStr += "&price=" + this.data.payMuch;
+ urlStr += "&goods_id=" + this.options.goods_id;
+ urlStr += "&orders=" + JSON.stringify(this.assembleDeduction());
+ }else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.Order.goods-buy");
+ urlStr += "&price=" + this.data.payPrice;
+ urlStr += "&store_id=" + this.data.store_id;
+ urlStr += "&member_coupon_ids=" + this.assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this.assembleDeduction());
+ urlStr += "&mobile=" + this.data.form.mobile;
+ urlStr += "&realname=" + this.data.form.realname;
+ }
+ if (this.data.clicktag == 0) {
+ this.setData({
+ clicktag: 1,
+ });
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if(res.data.balance){
+ that.setData({
+ balanceNow:res.data.balance
+ });
+ }
+ that.setViewData(res.data); //设置界面
+ // if (that.data.cashier_type != "hotel") {
+ that.initCoupon(res.data.discount); //设置优惠券信息
+ // }
+ that.initPayType();
+ } else {
+ wx.showModal({
+ title: "提示",
+ content: res.msg,
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ },
+ });
+ }
+ setTimeout(function () {
+ that.setData({
+ clicktag: 0,
+ });
+ }, 1000);
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ //组装优惠券json信息
+ assembleCoupons() {
+ let coupons = [];
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ coupons.push(this.data.checkCouponList[i].id);
+ }
+ return coupons;
+ },
+ //组装优惠抵扣信息
+ assembleDeduction() {
+ let deductions = [];
+ for (let i = 0; i < this.data.checkDeductionList.length; i++) {
+ deductions.push(this.data.checkDeductionList[i]);
+ }
+ return deductions;
+ },
+ //设置界面
+ setViewData(data) {
+ // console.log(data.orders, '55454');
+ this.setData({
+ allData: data,
+ order_data: data.orders,
+ loadDiscount: true,
+ goods_price: data.total_goods_price, //设置商品总价格
+ dispatch_price: data.total_dispatch_price, //设置总运费价格
+ deduction_price: data.total_deduction_price, //设置总抵扣价格
+ price: data.total_price, //设置总价格(合计)
+ // 服务费
+ service: data.orders[0].order_fees,
+ datas: data.orders[0],
+ });
+ if (this.data.cashier_type != "hotel") {
+ this.setData({
+ discount_price: data.total_discount_price, //设置总优惠价格
+ });
+ }
+ },
+ //初始化优惠券
+ initCoupon(data) {
+ this.setData({
+ isShowCoupon: data.whether_show_coupon == "1" ? true : false,
+ });
+ let coupon = data.member_coupons;
+ if (coupon != undefined && coupon != "" && coupon != null) {
+ this.setData({
+ coupon_size: coupon.length,
+ });
+ }
+ this.setData({
+ coupons: coupon,
+ });
+ },
+ initPayType() {
+ let that = this;
+ let urlStr = "";
+ if (this.data.cashier_type === "hotel") {
+ urlStr += app.getNetAddresss("plugin.hotel.frontend.payment.list");
+ urlStr += "&hotel_id=" + this.data.hotel_id;
+ urlStr += "&price=" + this.data.payMuch;
+ } else if(this.data.cashier_type == "scanning_payment"){
+ urlStr += app.getNetAddresss("plugin.sweep-buy.frontend.controllers.payment.list");
+ urlStr += "&price=" + this.data.payMuch;
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.payment.list");
+ urlStr += "&store_id=" + this.data.store_id;
+ urlStr += "&price=" + this.data.payMuch;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let payTypeData = res.data;
+ let arr = {};
+ arr.buttons = res.data;
+ that.hanleIcon(arr);
+ that.setData({
+ payType: payTypeData,
+ typename: "支付",
+ show1: true,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ btnstyle(type) {
+ if (type == 1 || type == 6 || type == 9 || type == 12 || type == 20 || type == 22) {
+ return "#64b42e";
+ } else if (type == 2 || type == 7 || type == 10 || type == 15 || type == 21) {
+ return "#069ce7";
+ } else if (type == 3) {
+ return "#fc992c";
+ } else if (type == 14) {
+ return "#e36724";
+ } else if (type == 18) {
+ return "#dedede";
+ } else {
+ return "#fac337";
+ }
+ },
+ btnclass(type) {
+ if (type == 1 || type == 6 || type == 9 || type == 12 || type == 20 || type == 22) {
+ return "icon-pay_b";
+ } else if (type == 2 || type == 7 || type == 10 || type == 15 || type == 21) {
+ return "icon-pay_c";
+ } else if (type == 3) {
+ return "icon-pay_d";
+ } else if (type == 14) {
+ return "icon-pay_f";
+ } else if (type == 18) {
+ return "card";
+ } else {
+ return "icon-pay_a";
+ }
+ },
+ show1btn() {
+ this.setData({
+ show1: false,
+ });
+ },
+ //抵扣选择响应
+ discountHandle(e) {
+ let bol = e.detail;
+ let code = e.currentTarget.dataset.d.code;
+ let index = e.currentTarget.dataset.index;
+
+ console.log(this.data.order_data[0], this.data.order_data[0].order_deductions[index]);
+ //处理选择
+ this.screenDiscount(this.data.order_data[0], {
+ checked: bol,
+ code: code,
+ });
+ //重新计算
+ this.preGoodsBuy(); //直接购买
+ },
+ //筛选抵扣
+ screenDiscount(item, value) {
+ this.deductionListHandle(item, value);
+ },
+ deductionListHandle(item, value) {
+ let checkDeductionList = this.data.checkDeductionList;
+ // let service_fee = this.data.service_fee;
+ // let note = this.data.note;
+ let isHasPreId = false;
+
+ if (checkDeductionList.length > 0) {
+ checkDeductionList.forEach((deduction, index) => {
+ if (deduction && deduction.pre_id == item.pre_id) {
+ isHasPreId = true;
+ if (value && value.checked) {
+ // 选中的时候检查是否有对应的code
+ if (deduction.deduction_ids && deduction.deduction_ids.indexOf(value.code) == -1) {
+ deduction.deduction_ids.push(value.code);
+ }
+ } else if (value && !value.checked) {
+ // 取消选中的时候检查去掉对应的code
+ if (deduction.deduction_ids && deduction.deduction_ids.indexOf(value.code) > -1) {
+ deduction.deduction_ids.splice(deduction.deduction_ids.indexOf(value.code), 1);
+ }
+ }
+
+ // 留言和安装选项重新赋值
+ // deduction.note = note[item.pre_id];
+ // deduction.service_fee = service_fee[item.pre_id];
+ }
+ });
+ }
+ if (!isHasPreId) {
+ checkDeductionList.push({
+ deduction_ids: value && value.code ? [value.code] : [],
+ pre_id: item.pre_id,
+ });
+ }
+ this.setData({ checkDeductionList });
+ // console.log('checkDeductionList:', this.data.checkDeductionList)
+ },
+ //优惠券
+ showCoupon() {
+ if (this.data.coupon_size == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "暂无优惠券使用",
+ duration: 1500,
+ });
+ return;
+ }
+ this.setData({
+ popupCouponSpecs: true,
+ });
+ },
+ //选择优惠券
+ selectCoupon(e) {
+ let couponBol = e.detail;
+ let index = e.currentTarget.dataset.index;
+ // let item = e.currentTarget.dataset.item;
+ this.setData({
+ ["coupons[" + index + "].checked"]: couponBol,
+ });
+ //处理选择
+ //因为换了组件改调用方法
+ this.screenCoupon(couponBol, this.data.coupons[index]);
+ //设置view
+ this.setCouponView();
+ //重新计算
+ this.preGoodsBuy(); //直接购买
+ },
+ //筛选数据优惠券状态
+ screenCoupon(value, valObj) {
+ var tarValue = valObj;
+ if (value) {
+ //选中添加
+ if (this.data.checkCouponList.length > 0) {
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ if (this.data.checkCouponList[i].id == tarValue.id) {
+ this.data.checkCouponList.splice(i, 1);
+ }
+ }
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.push(tarValue);
+ this.setData({
+ checkCouponList: checkCouponList,
+ });
+ } else {
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.push(tarValue);
+ this.setData({
+ checkCouponList: checkCouponList,
+ });
+ }
+ } else {
+ //取消选中
+ if (this.data.checkCouponList.length > 0) {
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ if (this.data.checkCouponList[i].id == tarValue.id) {
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.splice(i, 1);
+ this.setData({
+ checkCouponList: checkCouponList,
+ });
+ }
+ }
+ }
+ }
+ },
+ //设置view
+ setCouponView() {
+ this.setData({
+ use_coupon_size: this.data.checkCouponList.length,
+ });
+ },
+ //关闭优惠卷
+ couponclose() {
+ this.setData({
+ popupCouponSpecs: false,
+ });
+ },
+ realnameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.realname": val,
+ });
+ },
+ mobileinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.mobile": val,
+ });
+ },
+ agreementPayinp(e) {
+ let bol = e.detail;
+ this.setData({
+ agreementPay: bol,
+ });
+ },
+ showPay() {
+ this.setData({
+ agreementPayShow: true,
+ });
+ },
+
+ //提交订单
+ submit(btn) {
+ let val = btn;
+ let that = this;
+ let urlStr = "";
+ if (this.data.cashier_type == "hotel") {
+ urlStr += app.getNetAddresss("plugin.hotel.frontend.Order.create");
+ urlStr += "&price=" + this.data.payMuch;
+ urlStr += "&hotel_id=" + this.data.hotel_id;
+ urlStr += "&member_coupon_ids=";
+ urlStr += "&orders=";
+ urlStr += "&mobile=" + this.data.form.mobile;
+ urlStr += "&realname=" + this.data.form.realname;
+ } else if(this.data.cashier_type == "scanning_payment"){
+ urlStr += app.getNetAddresss("plugin.sweep-buy.frontend.controllers.create.index");
+ urlStr += "&price=" + this.data.payMuch;
+ urlStr += "&goods_id=" + this.options.goods_id;
+ } else {
+ urlStr += app.getNetAddresss("plugin.store-cashier.frontend.Order.create");
+ urlStr += "&price=" + this.data.payMuch;
+ urlStr += "&store_id=" + this.data.store_id;
+ urlStr += "&member_coupon_ids=" + JSON.stringify(this.assembleCoupons());
+ urlStr += "&orders=" + JSON.stringify(this.assembleDeduction());
+ urlStr += "&mobile=" + this.data.form.mobile;
+ urlStr += "&realname=" + this.data.form.realname;
+ }
+ if (this.data.clicktag == 0) {
+ this.setData({
+ clicktag: 1,
+ });
+ if (this.data.agreementPayData) {
+ if (!this.data.agreementPay) {
+ this.setData({
+ clicktag: 0,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "请先勾选支付协议",
+ duration: 1500,
+ });
+ return;
+ }
+ }
+
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ order_ids: res.data.order_ids,
+ });
+ that.getMultipleOrderInfo(val);
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ that.data.isPayClick = false;
+ }
+ setTimeout(function () {
+ that.setData({
+ clicktag: 0,
+ });
+ }, 1000);
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ //多订单合并支付获取信息接口方法
+ getMultipleOrderInfo(val) {
+ let urlStr = app.getNetAddresss("order.merge-pay");
+ urlStr += "&order_ids=" + this.data.order_ids;
+ urlStr += "&pid=" + this.data.uid;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ order_sn: res.data.order_pay.pay_sn,
+ balance: res.data.member.credit2,
+ money: res.data.order_pay.amount,
+ uid: res.data.order_pay.uid,
+ order_pay_id: res.data.order_pay.id,
+ buttons: res.data.buttons,
+ min_redirect_url: res.data.min_redirect_url,
+ });
+ this.handlePay(val, val.value);
+ } else {
+ wx.showModal({
+ title: "提示",
+ content: res.msg,
+ success(res) {
+ if (res.confirm) {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ console.log("用户点击确定");
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ this.data.isPayClick = false;
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getCenter() {
+ let that = this;
+ let urlStr = "";
+ let json = {};
+ console.log(this.data.store_id, "getCenter的store_id");
+ if (this.data.cashier_type === "hotel") {
+ json = {
+ hotel_id: this.data.hotel_id,
+ };
+ urlStr = app.getNetAddresss("plugin.hotel.frontend.cashier.center.index");
+ } else {
+ json = {
+ store_id: this.data.store_id,
+ };
+ urlStr = app.getNetAddresss("plugin.store-cashier.frontend.cashier.center.getPaySet");
+ }
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.cashier_type === "hotel") {
+ that.initStore(res.data.get_hotel_info);
+ } else {
+ that.initStore(res.data.get_store_info);
+ }
+
+ that.setData({
+ agreementPayData: res.data.get_pay_protocol,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
diff --git a/packageC/cashier/cashier_pay/cashier_pay.json b/packageC/cashier/cashier_pay/cashier_pay.json
new file mode 100644
index 0000000..182d5ba
--- /dev/null
+++ b/packageC/cashier/cashier_pay/cashier_pay.json
@@ -0,0 +1,14 @@
+{
+ "navigationBarTitleText": "收银台",
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-switch": "../../../dist/switch/index",
+ "van-field": "../../../dist/field/index",
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-loading": "../../../dist/loading/index",
+ "van-icon": "../../../dist/icon/index",
+ "pay-keyboard":"/mycomponent/payKeyboard/payKeyboard",
+ "yz_pay_buttons":"/mycomponent/yz_pay_buttons/yz_pay_buttons"
+ }
+}
diff --git a/packageC/cashier/cashier_pay/cashier_pay.wxml b/packageC/cashier/cashier_pay/cashier_pay.wxml
new file mode 100644
index 0000000..a40e120
--- /dev/null
+++ b/packageC/cashier/cashier_pay/cashier_pay.wxml
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+ 付款金额
+
+ {{language['money']}}
+ {{ payMuch }}
+
+
+
+
+
+ 1
+ 2
+ 3
+
+
+
+
+
+
+
+
+
+ 4
+ 5
+ 6
+
+
+ 7
+ 8
+ 9
+
+
+
+ 0
+
+ .
+
+
+
+
+
+
+ 优惠
+ 买单
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{coupon.belongs_to_coupon.deduct}}
+
+ 满{{coupon.belongs_to_coupon.enough}}立减
+
+
+
+ {{coupon.belongs_to_coupon.discount}}折
+
+ 满{{coupon.belongs_to_coupon.enough}}立享
+
+
+
+
+ {{coupon.belongs_to_coupon.name}}
+ {{coupon.time_start}}-{{coupon.time_end}}
+
+
+
+
+
+ 确认
+ 取消
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageC/cashier/cashier_pay/cashier_pay.wxss b/packageC/cashier/cashier_pay/cashier_pay.wxss
new file mode 100644
index 0000000..f767bc2
--- /dev/null
+++ b/packageC/cashier/cashier_pay/cashier_pay.wxss
@@ -0,0 +1,749 @@
+/* pages/cashier_pay/cashier_pay.wxss */
+page {
+ position: inherit;
+ background: #fff;
+}
+
+.goodsinfo .cashier .header {
+ margin: 60rpx auto;
+ display: flex;
+ justify-content: center;
+}
+
+.goodsinfo .cashier .header .img {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 40rpx;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.goodsinfo .cashier .header .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.goodsinfo .cashier .header .span {
+ line-height: 80rpx;
+ font-size: 32rpx;
+ font-weight: bold;
+}
+
+.goodsinfo .cashier .pay {
+ width: 660rpx;
+ line-height: 160rpx;
+ background: #fff;
+ border: solid 2rpx #999;
+ border-radius: 12rpx;
+ margin: 0 auto;
+ padding: 0 28rpx;
+ display: flex;
+ justify-content: space-between;
+ box-sizing: border-box;
+}
+
+.goodsinfo .cashier .pay .span:first-child {
+ line-height: 160rpx;
+ font-size: 32rpx;
+ color: #8c8c8c;
+}
+
+.goodsinfo .cashier .pay .span:last-child {
+ font-size: 72rpx;
+ max-width: 416rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.goodsinfo .cashier .pay .span:last-child icon {
+ font-size: 32rpx;
+}
+
+.goodsinfo .cashier .btn {
+ background: #fff;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+}
+
+.goodsinfo .cashier .btn .btn_box {
+ border-top: solid 2rpx #ccc;
+}
+
+.goodsinfo .cashier .btn .btn_box .line_one {
+ display: flex;
+}
+
+.goodsinfo .cashier .btn .btn_box .line_one .button {
+ width: 186rpx;
+ height: 126rpx;
+ font-size: 72rpx;
+ background: none;
+ color: #333;
+ border-radius: 0;
+ padding: 0;
+ border-right: solid 2rpx #ccc;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ overflow: hidden;
+}
+
+.goodsinfo .cashier .btn .btn_box .line_one .button icon {
+ font-size: 96rpx;
+ color: #666;
+}
+
+.goodsinfo .cashier .btn .btn_box .btn_bottom .line_two_1 {
+ display: flex;
+}
+
+.goodsinfo .cashier .btn .btn_box .btn_bottom .line_two_1 .line-left .line_box .line_two {
+ display: flex;
+ border-top: solid 2rpx #ccc;
+}
+
+.goodsinfo .cashier .btn .btn_box .btn_bottom .line_two_1 .line-left .line_box .line_two .button {
+ width: 186rpx;
+ height: 126rpx;
+ font-size: 72rpx;
+ background: none;
+ color: #333;
+ border-radius: 0;
+ padding: 0;
+ border-right: solid 2rpx #ccc;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.goodsinfo .cashier .btn .btn_box .btn_bottom .line_two_1 .line-left .line_box .line_three {
+ border-top: solid 2rpx #ccc;
+ display: flex;
+}
+
+.goodsinfo .cashier .btn .btn_box .btn_bottom .line_two_1 .line-left .line_box .line_three .button {
+ width: 186rpx;
+ height: 126rpx;
+ font-size: 72rpx;
+ background: none;
+ color: #333;
+ border-radius: 0;
+ padding: 0;
+ border-right: solid 2rpx #ccc;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.goodsinfo .cashier .btn .btn_box .btn_bottom .line_two_1 .line-left .line_box .line_four {
+ display: flex;
+ border-top: solid 2rpx #ccc;
+}
+
+.goodsinfo .cashier .btn .btn_box .btn_bottom .line_two_1 .line-left .line_box .line_four .button {
+ width: 186rpx;
+ height: 126rpx;
+ font-size: 72rpx;
+ background: none;
+ color: #333;
+ border-radius: 0;
+ padding: 0;
+ border-right: solid 2rpx #ccc;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.goodsinfo .cashier .btn .btn_box .btn_bottom .line_two_1 .line-left .line_box .line_four .button .span {
+ width: 60rpx;
+ height: 60rpx;
+ text-align: center;
+ line-height: 60rpx;
+ font-size: 48rpx;
+ font-weight: bold;
+}
+
+.goodsinfo .cashier .btn .btn_box .btn_bottom .line_two_1 .line-right .button {
+ width: 188rpx;
+ height: 384rpx;
+ padding: 0;
+ border-radius: 0;
+ font-size: 36rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ background-color: #04be02;
+ color: #fff;
+}
+
+.pay-psw-info {
+ overflow-y: scroll;
+ width: 100vw;
+ height: auto;
+ background: #fff;
+ max-height: 80vh;
+ padding-top: 20rpx;
+}
+
+.pay_content_title {
+ text-align: center;
+ width: 100vw;
+ height: 60rpx;
+ line-height: 60rpx;
+ margin-bottom: 20rpx;
+ font-size: 36rpx;
+}
+
+.pay_content {
+ width: 100vw;
+ height: 100rpx;
+ margin-bottom: 20rpx;
+}
+
+.pay_content_view {
+ width: 100vw;
+ height: 100rpx;
+ border-bottom: 2rpx solid #ddd;
+ border-top: 2rpx solid #ddd;
+ border-right: 2rpx solid #ddd;
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+.ipt_pay {
+ width: 16.27%;
+ height: 100rpx;
+ text-align: center;
+ border-left: 2rpx solid #ddd;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.ipt_pay_p {
+ line-height: 50rpx;
+ height: 50rpx;
+ font-size: 40rpx;
+}
+
+.footer {
+ width: 100vw;
+ font-weight: 600;
+}
+
+.pay_btn {
+ border-top: 2rpx solid #ddd;
+ width: 100vw;
+ height: auto;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.pay_btn .li {
+ width: 33%;
+ height: 96rpx;
+ line-height: 96rpx;
+ text-align: center;
+ background: #fff;
+ font-size: 28rpx;
+ border-right: 2rpx solid #ddd;
+ border-bottom: 2rpx solid #ddd;
+}
+
+.pay_btn .li.b9:active {
+ background: #fff;
+}
+
+.pay_btn .li.b9 {
+ background: #c2c2c2;
+}
+
+.msgbox {
+ padding: 10rpx;
+}
+
+.goodsinfo .cashier .popup {
+ background: #f5f5f5;
+ min-height: 100vh;
+}
+
+.goodsinfo .cashier .popup .text_box {
+ position: fixed;
+ top: 0;
+ z-index: 10;
+ background: #fff;
+ width: 100%;
+ height: 80rpx;
+ line-height: 80rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.goodsinfo .cashier .popup .text_box .span {
+ font-weight: bold;
+ font-size: 15px;
+ color: #666;
+}
+
+.goodsinfo .cashier .popup .text_box icon {
+ position: absolute;
+ line-height: 80rpx;
+ font-size: 32rpx;
+ color: #999;
+ left: 20rpx;
+}
+
+.popup_pay {
+ margin-top: 100rpx;
+ background: #fff;
+ text-align: center;
+ padding: 20rpx 0;
+}
+
+.popup_pay .li:first-child {
+ color: #8c8c8c;
+ font-size: 32rpx;
+ line-height: 80rpx;
+}
+
+.popup_pay .li:last-child .span:first-child {
+ font-size: 32rpx;
+}
+
+.popup_pay .li:last-child .span:last-child {
+ font-size: 72rpx;
+}
+
+.tbs {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background: #fff;
+ flex-flow: row wrap;
+ padding: 20rpx;
+ line-height: 48rpx;
+ font-size: 28rpx;
+}
+
+.tbs .list {
+ width: 100%;
+ padding-bottom: 20rpx;
+}
+
+.tbs .listflex {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.tbs .listflex2 {
+ flex-direction: column;
+}
+
+.tbs .list:nth-last-child(1) {
+ padding-bottom: 0;
+}
+
+.tbs .score {
+ display: flex;
+ width: 100%;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.tbs .score .left {
+ flex: 1;
+ align-self: center;
+}
+
+.tbs .score .right {
+ align-self: center;
+}
+
+.tbs .left {
+ text-align: left;
+ color: #858585;
+}
+
+.tbs .left .span {
+ font-size: 28rpx;
+}
+
+.tbs .right {
+ text-align: right;
+}
+
+.tbs .right .font {
+ color: #e84e40;
+}
+
+.tbs.coupon-list {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.tbs.coupon-list .couponss .left {
+ font-size: 32rpx;
+ color: #333;
+}
+
+.couponss.list .left .span {
+ color: #fff;
+ background: #f15353;
+ font-size: 24rpx;
+ height: 40rpx;
+ padding: 8rpx 10rpx;
+ border-radius: 6rpx;
+ margin-left: 10rpx;
+}
+
+.couponss.list .right .font .span {
+ font-size: 24rpx;
+}
+
+.couponss.list .right .font icon {
+ font-size: 24rpx;
+ color: #999;
+}
+
+.goodsinfo .agreement {
+ background: #fff;
+ padding: 0 16rpx;
+ text-align: left;
+ display: flex;
+ align-items: center;
+ margin-bottom: 20rpx;
+}
+
+.goodsinfo .agreement .span {
+ color: red;
+ line-height: 60rpx;
+}
+
+.goodsinfo .cashier .popup .popup_btn {
+ padding-bottom: 40rpx;
+}
+
+.goodsinfo .cashier .popup .popup_btn .text {
+ display: block;
+ line-height: 80rpx;
+ padding-left: 40rpx;
+ font-size: 32rpx;
+ text-align: left;
+ font-weight: bold;
+ color: #666;
+}
+
+.goodsinfo .cashier .popup .popup_btn .button {
+ width: 650rpx;
+ padding: 0 20rpx;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ height: 84rpx;
+ border-radius: 12rpx;
+ background: #fff;
+ border: solid 2rpx #dedede;
+ margin: 0 auto 20rpx;
+}
+
+.goodsinfo .cashier .popup .popup_btn .button .icon_bg {
+ width: 72rpx;
+ height: 48rpx;
+ border-radius: 6rpx;
+ line-height: 48rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.goodsinfo .cashier .popup .popup_btn .button .span {
+ color: #333;
+ font-size: 32rpx;
+ margin-left: 20rpx;
+}
+
+.goodsinfo .cashier .popup .popup_btn .button .icon_bg icon {
+ color: #fff;
+ font-size: 48rpx;
+}
+
+.goodsinfo .coubtngroup {
+ display: flex;
+ font-size: 28rpx;
+ text-align: center;
+}
+
+.goodsinfo .coubtngroup .sure {
+ background: #f15353;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #fff;
+ width: 50%;
+}
+
+.goodsinfo .coubtngroup .close {
+ background: #eee;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #333;
+ width: 50%;
+}
+
+.goodsinfo .add-info {
+ overflow-y: scroll;
+ width: 100%;
+ background: #fff;
+ max-height: 50vh;
+ padding-top: 20rpx;
+}
+
+.goodsinfo .add-info .coupon-list-info {
+ width: 99.5vw;
+ display: flex;
+ align-items: center;
+}
+
+.goodsinfo .add-info .checkList {
+ padding-left: 6rpx;
+ margin-right: 20rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray {
+ flex: 1;
+ height: 160rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ display: flex;
+}
+
+.goodsinfo .add-info .coupon_voucher_main {
+ flex: 1;
+ height: 160rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ display: flex;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_left {
+ width: 204rpx;
+ height: 100%;
+ color: #fff;
+ border-radius: 8rpx 0 0 8rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ background-color: #47c1c4;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_left {
+ width: 204rpx;
+ height: 100%;
+ color: #fff;
+ border-radius: 8rpx 0 0 8rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ background-color: #ccc;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_left .coupon_voucher_amount.type_large {
+ margin: 0;
+ font-size: 44rpx;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_left .coupon_voucher_amount.type_large {
+ margin: 0;
+ font-size: 44rpx;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_left .coupon_voucher_limit {
+ font-size: 24rpx;
+ margin-top: 26rpx;
+ margin-bottom: 0;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_left .coupon_voucher_limit {
+ font-size: 24rpx;
+ margin-top: 26rpx;
+ margin-bottom: 0;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_right {
+ flex: 1;
+ padding: 30rpx 30rpx 30rpx 20rpx;
+ border-radius: 0 8rpx 8rpx 0;
+ background-color: #e5f3f3;
+ color: #666;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_right {
+ flex: 1;
+ padding: 30rpx 30rpx 30rpx 20rpx;
+ border-radius: 0 8rpx 8rpx 0;
+ background-color: #eee;
+ color: #666;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_right .coupon_voucher_range {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ font-size: 24rpx;
+ text-align: left;
+ margin: 0;
+ padding: 0;
+ vertical-align: baseline;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_right .coupon_voucher_range {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ font-size: 24rpx;
+ text-align: left;
+ margin: 0;
+ padding: 0;
+ vertical-align: baseline;
+}
+
+.coupon_voucher_main .coupon_voucher_right .coupon_voucher_period {
+ color: #999;
+ font-size: 24rpx;
+ bottom: 0;
+}
+
+.coupon_voucher_main .coupon_voucher_gray .coupon_voucher_period {
+ color: #999;
+ font-size: 24rpx;
+ bottom: 0;
+}
+
+.icon-pay_alipay {
+ color: #29a1f7;
+}
+
+.icon-pay_quick {
+ color: #46e0d1;
+}
+
+.icon-pay_yue {
+ color: #ff7433;
+}
+
+.icon-pay_wechat {
+ color: #09bb07;
+}
+
+.icon-pay_otherpay {
+ color: #ffba00;
+}
+
+.icon-pay_remittance {
+ color: #ff692f;
+}
+
+.icon-pay_utsd {
+ color: #9000ff;
+}
+
+.icon-pay_prepay {
+ color: #9000ff;
+}
+
+.icon-pay_default {
+ color: #538ff9;
+}
+
+.icon-pay_cashondelivery {
+ color: #ed3800;
+}
+
+.btna {
+ margin: 0 30rpx;
+ background: #fff;
+ border-radius: 14rpx;
+ overflow: hidden;
+ margin-top: 30rpx;
+}
+
+.sureBtn {
+ background: #ff5d5c;
+ color: white;
+ width: 85%;
+ margin: 20rpx auto;
+ padding: 14rpx;
+ border-radius: 20rpx;
+ text-align: center;
+ font-size: 32rpx;
+}
+
+.btnaTitle {
+ height: 90rpx;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ font-size: 28rpx;
+ color: rgba(248, 110, 110, 1);
+ font-weight: normal;
+ font-stretch: normal;
+}
+
+.btnaTitle text {
+ width: 6rpx;
+ height: 28rpx;
+ background-color: rgba(248, 112, 112, 1);
+ margin-right: 26rpx;
+}
+
+.btn-area {
+ height: 90rpx;
+ margin-right: 12rpx;
+ margin-left: 8rpx;
+ border-bottom: 1rpx solid rgba(241, 241, 241, 1);
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.dBtn {
+ position: relative;
+}
+
+.wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 448rpx;
+ height: 576rpx;
+ background-color: #ff504c;
+}
+
+.wrapper .block {
+ width: 448rpx;
+ height: 576rpx;
+ background-color: #ff504c;
+}
+
+.block image {
+ width: 448rpx;
+ height: 576rpx;
+}
+
+.start {
+ transition: 1s;
+}
diff --git a/packageC/cashier/cashier_qr/cashier_qr.js b/packageC/cashier/cashier_qr/cashier_qr.js
new file mode 100644
index 0000000..1ca1ee2
--- /dev/null
+++ b/packageC/cashier/cashier_qr/cashier_qr.js
@@ -0,0 +1,188 @@
+// pages/cashier_qr/cashier_qr.js
+var intervalid;
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ qrcode: "",
+ vedioSrc: "",
+ adShow: false,
+ hotel_id: '',
+ storeBalance:false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if(options.name == 'storeBalance'){
+ // 门店独立余额
+ this.setData({
+ store_id:options.store_id,
+ name:options.name,
+ storeBalance:true
+ });
+ wx.setNavigationBarTitle({
+ title: '我的二维码',
+ });
+ this.getBalanceCode();
+ return;
+ }
+ if (app._isTextEmpty(options.hotel_id)) {
+ this.getQrcode();
+ } else {
+ this.setData({
+ hotel_id: options.hotel_id
+ });
+ this.getHotelData();
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+ this.closeTimeInterval();
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ // 门店独立余额
+ getBalanceCode(){
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.balance.agent.getQrCode');
+ app._getNetWork({
+ url: urlStr,
+ data:{
+ store_id:this.data.store_id
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ qrcode: res.data.qr_code,
+ adShow: false
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //获取收货地址
+ getQrcode() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.cashier.QrCode');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ qrcode: res.data.small_url,
+ adShow: res.data.audio_open == 1 ? true : false
+ });
+ if (res.data.audio_open == 1) {
+ that.openTime(res.data.store_id);
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ openTime(id) {
+ intervalid = setInterval(() => {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.cashier.voice-broadcast.index');
+ urlStr += '&store_id=' + id;
+ wx.request({
+ url: urlStr,
+ data: {},
+ header: {
+ 'Content-Type': 'application/json',
+ 'Accept': 'application/json',
+ },
+ success: function(res) {
+ if (res.data.result == 1) {
+ that.setData({
+ vedioSrc: res.data.data.url,
+ });
+ console.log(res.data.data.url);
+ if (that.data.vedioSrc) {
+ that.audioCtx = wx.createAudioContext('yp');
+ that.audioCtx.play();
+ }
+ }
+ },
+ fail: function(res) {
+ },
+ complete: function(res) {
+ }
+ });
+ }, 5000);
+ },
+ closeTimeInterval() {
+ clearInterval(intervalid);
+ },
+ getHotelData() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.hotel.frontend.cashier.qr-code.index');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ qrcode: res.data.url
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+});
diff --git a/packageC/cashier/cashier_qr/cashier_qr.json b/packageC/cashier/cashier_qr/cashier_qr.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageC/cashier/cashier_qr/cashier_qr.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/cashier/cashier_qr/cashier_qr.wxml b/packageC/cashier/cashier_qr/cashier_qr.wxml
new file mode 100644
index 0000000..8d29491
--- /dev/null
+++ b/packageC/cashier/cashier_qr/cashier_qr.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+ {{storeBalance?'扫描二维码,跳转至门店页面':'让顾客扫一扫,向我付款'}}
+
+
+
+
+
+
+
+
+
+
diff --git a/packageC/cashier/cashier_qr/cashier_qr.wxss b/packageC/cashier/cashier_qr/cashier_qr.wxss
new file mode 100644
index 0000000..0d60239
--- /dev/null
+++ b/packageC/cashier/cashier_qr/cashier_qr.wxss
@@ -0,0 +1,33 @@
+/* pages/cashier_qr/cashier_qr.wxss */
+.goodsinfo .detail_good {
+ background: #fff;
+ overflow: hidden;
+}
+
+.goodsinfo .detail_good .goods {
+ padding: 80rpx;
+ width: 100%;
+ box-sizing: border-box;
+ background: #fafafa;
+}
+
+.goodsinfo .detail_good .goods .img {
+ width: 100%;
+ display: block;
+}
+
+.goodsinfo .detail_good .goods .img image {
+ width: 100%;
+ border-radius: 10rpx;
+}
+
+.goodsinfo .detail_good .goods .warp {
+ width: 100%;
+ display: block;
+ padding-top: 50rpx;
+ text-align: center;
+}
+
+.footer .p {
+ text-align: center;
+}
diff --git a/packageC/cashier/cashier_stat/cashier_stat.js b/packageC/cashier/cashier_stat/cashier_stat.js
new file mode 100644
index 0000000..65f342a
--- /dev/null
+++ b/packageC/cashier/cashier_stat/cashier_stat.js
@@ -0,0 +1,191 @@
+// pages/cashier_stat/cashier_stat.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ is_hotel: false,
+ hotel_id: '',
+ store: {
+ name: "",
+ thumb: "",
+ store_id: ""
+ },
+ startDate: "",
+ endDate: "",
+ income: {
+ money_total: 0.0,
+ sure_withdraw_money: 0.0
+ },
+ stat: {},
+ integral:"",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ console.log(wx.getStorageSync('integral'));
+ let integral = '';
+ try {
+ integral = wx.getStorageSync('integral');
+ } catch (error) {
+ console.log(error);
+ }
+ this.setData({
+ integral: integral
+ });
+ if (app._isTextEmpty(options.hotel_id)) {
+ this.setData({
+ is_hotel: false
+ });
+ this.getStoreInfo();
+ } else {
+ this.setData({
+ is_hotel: true,
+ hotel_id: options.hotel_id
+ });
+ this.getHotelInfo();
+ }
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ getStoreInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.cashier.center.index');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ store: res.data.store,
+ income: res.data.income
+ });
+ that.getStat();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getStat(is_time) {
+ let that = this;
+ let urlStr = '';
+ if (!is_time) {
+ is_time = 0;
+ }
+ if (app._isTextEmpty(this.data.hotel_id)) {
+ urlStr = app.getNetAddresss('plugin.store-cashier.frontend.cashier.Statistics.index');
+ urlStr += "&store_id=" + that.data.store.store_id;
+ urlStr += "&is_time=" + is_time;
+ } else {
+ urlStr = app.getNetAddresss('plugin.hotel.frontend.cashier.Statistics.index');
+ urlStr += "&hotel_id=" + that.data.hotel_id;
+ urlStr += "&is_time=" + is_time;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ stat: res.data
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getStatbtn() {
+ this.getStat(1);
+ },
+ getHotelInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.hotel.frontend.cashier.center.index');
+ urlStr += '&hotel_id=' + this.data.hotel_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ store: res.data.hotel
+ });
+ that.getStat();
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+});
diff --git a/packageC/cashier/cashier_stat/cashier_stat.json b/packageC/cashier/cashier_stat/cashier_stat.json
new file mode 100644
index 0000000..72bd3f2
--- /dev/null
+++ b/packageC/cashier/cashier_stat/cashier_stat.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "统计结算",
+ "usingComponents": {}
+}
diff --git a/packageC/cashier/cashier_stat/cashier_stat.wxml b/packageC/cashier/cashier_stat/cashier_stat.wxml
new file mode 100644
index 0000000..8a5f445
--- /dev/null
+++ b/packageC/cashier/cashier_stat/cashier_stat.wxml
@@ -0,0 +1,92 @@
+
+
+
+
+ 查看今日数据
+
+
+
+
+ 累计订单金额
+
+
+ {{language['money']}}{{ stat.order_price }}
+
+
+
+ 应收款金额
+
+ {{language['money']}}{{ stat.receivable_price }}
+
+
+
+ {{is_hotel?"已结算金额":"已提现金额"}}
+
+ {{language['money']}}{{ stat.finish_withdraw }}
+
+
+
+ 未结算金额
+
+ {{language['money']}}{{ stat.not_withdraw }}
+
+
+
+ 奖励会员{{integral || '积分'}}数量
+
+ {{ stat.remard_buyer_point }}
+
+
+
+ 奖励会员{{ stat.love_name }}数量
+
+ {{ stat.remard_buyer_love }}
+
+
+
+ 奖励商家{{integral || '积分'}}数量
+
+ {{ stat.remard_store_point }}
+
+
+
+ 奖励商家{{ stat.love_name }}数量
+
+ {{ stat.remard_store_love }}
+
+
+
+ 奖励会员优惠券数量
+
+ {{ stat.remard_buyer_coupon }}
+
+
+
+ {{integral || '积分'}}抵扣
+
+ {{language['money']}}{{ stat.deduct_point }}
+
+
+
+ {{ stat.love_name }}抵扣
+
+ {{language['money']}}{{ stat.deduct_love }}
+
+
+
+ 优惠券抵扣
+
+ {{language['money']}}{{ stat.deduct_coupon }}
+
+
+
+
diff --git a/packageC/cashier/cashier_stat/cashier_stat.wxss b/packageC/cashier/cashier_stat/cashier_stat.wxss
new file mode 100644
index 0000000..c423cfe
--- /dev/null
+++ b/packageC/cashier/cashier_stat/cashier_stat.wxss
@@ -0,0 +1,81 @@
+/* pages/cashier_stat/cashier_stat.wxss */
+.header {
+ height: auto;
+ background: #f15353;
+ background-size: 100% 100%;
+ padding: 40rpx;
+ position: relative;
+}
+
+.header .user {
+ display: flex;
+ text-align: center;
+}
+
+.header .user .cashier-name {
+ text-align: left;
+ flex: 2;
+ margin-left: 20rpx;
+ line-height: 60rpx;
+ color: #fff;
+ font-weight: bold;
+ font-size: 36rpx;
+}
+
+.header .user .user-head {
+ height: 104rpx;
+ width: 104rpx;
+ background: #fff;
+ border-radius: 50%;
+ border: 4rpx solid #fff;
+ box-sizing: border-box;
+ float: left;
+ overflow: hidden;
+}
+
+.header .user .user-head image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.data-btn .button {
+ background-color: #f15353;
+ width: 80%;
+ height: 80rpx;
+ font-size: 28rpx;
+ margin: 32rpx auto;
+ border-radius: 20rpx;
+ text-align: center;
+ line-height: 80rpx;
+ color: #fff;
+}
+
+.cart {
+ height: auto;
+ width: 100%;
+ background: #fff;
+}
+
+.listStat {
+ height: 88rpx;
+ background: #fff;
+ border-top: 2rpx solid #ebebeb;
+ font-size: 28rpx;
+ color: #333;
+ text-align: left;
+ margin-left: 28rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.listStat .left {
+ padding-left: 28rpx;
+}
+
+.listStat .right {
+ font-size: 28rpx;
+ padding-right: 28rpx;
+ color: #f15353;
+}
diff --git a/packageC/components/audio-slider/audio-slider.js b/packageC/components/audio-slider/audio-slider.js
new file mode 100644
index 0000000..6c906cd
--- /dev/null
+++ b/packageC/components/audio-slider/audio-slider.js
@@ -0,0 +1,156 @@
+// packageC/components/audio-slider/audio-slider.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ src: {
+ value: '',
+ type: String
+ },
+ duration: {
+ value: 0,
+ type: String
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ songStop: false,
+ innerAudioContext: null,
+ slmin: '00:00',
+ audio_duration: '00:00',
+ currentTime: 0,
+ valueSlmin: 0,
+ draging: false //正在拖拽
+ },
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.init();
+ },
+ moved() {},
+ detached() {
+ if (this.data.innerAudioContext) this.data.innerAudioContext.destroy();
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ init() {
+ var that = this;
+ this.data.innerAudioContext = wx.createInnerAudioContext();
+ this.data.innerAudioContext.src = this.data.src;
+ if (!this.data.src) {
+ wx.showToast({
+ title: "音频链接出错!",
+ icon: "error",
+ });
+ return;
+ }
+ this.data.innerAudioContext.onCanplay(() => {
+ console.log('音频进入可以播放状态========================',this.data.duration,this.data.innerAudioContext.duration);
+ setTimeout(() => {
+ let _duration = this.data.innerAudioContext.duration != Infinity || !this.data.innerAudioContext.duration ? this.data.innerAudioContext.duration : this.data.duration;
+ let duration = parseInt(_duration);
+ this.setData({
+ audio_duration: duration ? this.realFormatSecond(duration) : '---',
+ draging: false,
+ slmin: "0:00:00",
+ });
+ }, 200);
+ });
+ this.data.innerAudioContext.onPlay(() => {
+ console.log('开始播放');
+ this.setData({
+ songStop: true
+ });
+ });
+ this.data.innerAudioContext.onTimeUpdate(() => {
+ if (this.data.draging) return;
+ if (!this.data.innerAudioContext.currentTime) return;
+ let _duration = this.data.innerAudioContext.duration != Infinity || !this.data.innerAudioContext.duration ? this.data.innerAudioContext.duration : this.data.duration;
+
+ let smun = (parseInt(this.data.innerAudioContext.currentTime) / parseInt(_duration)) * 100;
+
+ let duration = this.realFormatSecond(_duration);
+ if (this.data.currentTime && this.data.currentTime == parseInt(this.data.innerAudioContext.currentTime)) return;
+ this.data.currentTime = parseInt(this.data.innerAudioContext.currentTime);
+ var valueSlmin = parseInt(smun);
+ that.setData({
+ valueSlmin: valueSlmin, //进度条百分比
+ audio_duration: duration, //音频时长
+ slmin: this.realFormatSecond(parseInt(this.data.innerAudioContext.currentTime)) //当前播放时间
+ });
+ });
+ this.data.innerAudioContext.onError((res) => {
+ wx.showToast({
+ title: "播放错误",
+ icon: "none",
+ });
+ this.setData({
+ songStop: false
+ });
+ });
+ this.data.innerAudioContext.onEnded((res) => {
+ console.log('结束播放');
+ this.setData({
+ songStop: false,
+ valueSlmin: 0,
+ slmin: "0:00:00",
+ draging: false
+ });
+ // this.data.innerAudioContext.seek(0);
+ });
+ this.data.innerAudioContext.onPause(() => {
+ this.setData({
+ songStop: false
+ });
+ });
+ // this.data.innerAudioContext.onSeeked(() => {
+ // // this.playMusic()
+ // });
+ },
+ sildein(e) {
+ var setvalue = e.detail / 100;
+ let _duration = this.data.innerAudioContext.duration != Infinity || !this.data.innerAudioContext.duration ? this.data.innerAudioContext.duration : this.data.duration;
+ var long = _duration * setvalue;
+ this.data.innerAudioContext.seek(long);
+ },
+ realFormatSecond(second) {
+ var secondType = typeof second;
+
+ if (secondType === "number" || secondType === "string") {
+ second = parseInt(second);
+
+ var hours = Math.floor(second / 3600);
+ second = second - hours * 3600;
+ var mimute = Math.floor(second / 60);
+ second = second - mimute * 60;
+ if (isNaN(second)) {
+ return '---';
+ } else {
+ return hours + ":" + ("0" + mimute).slice(-2) + ":" + ("0" + second).slice(-2);
+ }
+
+ } else {
+ return "0:00:00";
+ }
+ },
+ playMusic() {
+ this.data.innerAudioContext.play();
+ },
+ pauseMusic() {
+ this.data.innerAudioContext.pause();
+ },
+ startDrag() {
+ this.data.draging = true;
+ },
+ endDrag() {
+ this.data.draging = false;
+ }
+ }
+});
\ No newline at end of file
diff --git a/packageC/components/audio-slider/audio-slider.json b/packageC/components/audio-slider/audio-slider.json
new file mode 100644
index 0000000..c2d4318
--- /dev/null
+++ b/packageC/components/audio-slider/audio-slider.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-slider": "../../../../dist/slider/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/components/audio-slider/audio-slider.wxml b/packageC/components/audio-slider/audio-slider.wxml
new file mode 100644
index 0000000..106d9e5
--- /dev/null
+++ b/packageC/components/audio-slider/audio-slider.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ slmin }}
+ {{ audio_duration||'---' }}
+
+
+
+
+
+
+
diff --git a/packageC/components/audio-slider/audio-slider.wxss b/packageC/components/audio-slider/audio-slider.wxss
new file mode 100644
index 0000000..68a390f
--- /dev/null
+++ b/packageC/components/audio-slider/audio-slider.wxss
@@ -0,0 +1,54 @@
+/* packageC/components/audio-slider/audio-slider.wxss */
+.audio-slider{
+ z-index: 1;
+}
+.audio-wrapper {
+ display: flex;
+ align-items: center;
+ margin: 0 auto;
+ color: #3e3e3e;
+ z-index: 999;
+ /* position: relative; */
+}
+.audio-wrapper .icon {
+ width: 20px;
+ height: 20px;
+ padding: 10px 18px 10px 0;
+ box-sizing: content-box;
+}
+.audio-wrapper .icon image {
+ width: 20px;
+ height: 20px;
+ display: inline-block;
+}
+
+.slider {
+ width: 100%;
+ flex: 1;
+ position: relative;
+ height: 16px;
+ margin: 12px 18px 20px 0;
+ display: flex;
+ cursor: default;
+ user-select: none;
+ outline: none;
+}
+
+.time {
+ display: flex;
+ color: #bababa;
+ font-size: 12px;
+ position: absolute;
+ bottom: -20px;
+ width: 100%;
+}
+
+.time_left {
+ flex: 1;
+ text-align: left;
+}
+
+.time_right {
+ flex: 1;
+ text-align: right;
+}
\ No newline at end of file
diff --git a/packageC/components/audio-upload/audio-upload.js b/packageC/components/audio-upload/audio-upload.js
new file mode 100644
index 0000000..eb429e6
--- /dev/null
+++ b/packageC/components/audio-upload/audio-upload.js
@@ -0,0 +1,232 @@
+// packageC/components/audio-upload/audio-upload.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ show: false,
+ time: 0,
+ localId: null, //返回音频的本地ID
+ recordStop: true,
+ timer: null,
+ duration: 0, //录音时长
+ sec: 0,
+ min: 0,
+ recorderManager: null
+ },
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.data.recorderManager = wx.getRecorderManager();
+ this.data.recorderManager.onError((res) => {
+ console.log(res);
+ this.onDurationUpdate('clear');
+ app.tips('录音失败!');
+ });
+ this.data.recorderManager.onStop((res) => {
+ if (!this.data.cancelStatus) {
+ this.setData({
+ recordStop: true,
+ src: res.tempFilePath,
+ localId: res.tempFilePath
+ });
+ console.log(res.tempFilePath, '上传的路径');
+ app.tips('录音完成!');
+ this.upVoice();
+ } else {
+ app.tips('已取消录音!');
+ this.setData({
+ recordStop: true,
+ show: false,
+ duration: 0,
+ sec: 0,
+ min: 0
+ });
+ }
+ this.data.cancelStatus = false;
+ this.onDurationUpdate('clear');
+ });
+ this.data.recorderManager.onStart((res) => {
+ this.setData({
+ recordStop: false
+ });
+ this.onDurationUpdate('updata');
+ app.tips('开始录音,不宜超过10分钟');
+ });
+ this.data.recorderManager.onPause((res) => {
+ this.setData({
+ recordStop: true
+ });
+ this.onDurationUpdate('clear');
+ app.tips('录音已暂停');
+ });
+ this.data.recorderManager.onResume((res) => {
+ this.setData({
+ recordStop: false
+ });
+ this.onDurationUpdate('updata');
+ app.tips('录音继续');
+ });
+ },
+ moved() {},
+ detached() {
+ if (this.data.timer) this.onDurationUpdate('clear');
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ getAudioFile() {
+ wx.chooseMessageFile({
+ count: 1,
+ type: 'file',
+ extension: [".mp3", "mp3"],
+ success: (res) => {
+ this.uploadAudioM(res.tempFiles[0].path);
+ },
+ fail: (err) => {}
+ });
+ },
+ uploadAudioM(videoData) {
+ let urlStr = app.getNetAddresss("upload.uploadPic");
+ urlStr += "&upload_type=audio";
+ wx.showLoading({
+ title: '上传中',
+ });
+ wx.uploadFile({
+ url: urlStr, //仅为示例,非真实的接口地址
+ filePath: videoData,
+ name: "file",
+ formData: {},
+ success: (resdata) => {
+ let res = JSON.parse(resdata.data);
+ this.triggerEvent('uploaderAudio', res.data);
+ if (res.result != 1) app.tips(res.msg);
+ },
+ complete: () => {
+ wx.hideLoading();
+ }
+ });
+ },
+ openRecord() {
+ this.setData({
+ show: true
+ });
+ },
+ onDurationUpdate(status) {
+ if (status == 'updata') {
+ this.data.timer = setInterval(() => {
+ if (this.data.duration >= 599) {
+ this.stopRecord();
+ return;
+ }
+ this.data.duration += 1;
+ this.transformTimes();
+ }, 1000);
+ } else {
+ if (this.data.timer) clearInterval(this.data.timer);
+ }
+ },
+
+ cancel() {
+ this.data.cancelStatus = true;
+ this.data.recorderManager.stop();
+ },
+ stopRecord() {
+ this.data.recorderManager.stop();
+ },
+ startRecord() {
+ if (this.data.duration > 0) {
+ this.data.recorderManager.resume();
+ return;
+ }
+ this.data.recorderManager.start({
+ format: 'mp3'
+ });
+ },
+ pauseRecord() {
+ this.data.recorderManager.pause();
+ },
+ upVoice() {
+ let wx_token = wx.getStorageSync('wx_token');
+ let urlStr = app.getNetAddresss('upload.uploadPic');
+ urlStr += "&upload_type=audio";
+
+ wx.showToast({
+ icon: 'loading',
+ title: '正在上传'
+ }),
+ wx.uploadFile({
+ url: urlStr,
+ filePath: this.data.localId,
+ name: 'file',
+ header: {
+ "Content-Type": "multipart/form-data",
+ Cookie: "PHPSESSID=" + wx_token,
+ },
+ formData: {
+ // 和服务器约定的token, 一般也可以放在header中
+ '_wx_token': wx.getStorageSync('wx_token')
+ },
+ success: (res) => {
+ var data = JSON.parse(res.data);
+ if (data.result == 1) {
+ wx.showModal({
+ title: '提示',
+ content: data.msg,
+ showCancel: false
+ });
+ let _flie = data.data;
+ _flie.duration = this.data.duration;
+ this.triggerEvent('uploaderAudio', _flie);
+ this.setData({
+ recordStop: true,
+ show: false,
+ duration: 0,
+ sec: 0,
+ min: 0
+ });
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: data.msg || '错误',
+ showCancel: false,
+ });
+ }
+ wx.hideToast();
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showModal({
+ title: '提示',
+ content: '网络请求失败,请确保网络是否正常',
+ showCancel: false,
+ success: function (res) {}
+ });
+ }
+ });
+ },
+ transformTimes() {
+ this.data.sec += 1;
+ this.setData({
+ sec: this.data.sec
+ });
+ if (this.data.sec >= 60) {
+ this.data.min += 1;
+ this.setData({
+ sec: 0,
+ min: this.data.min
+ });
+ }
+ }
+ }
+});
\ No newline at end of file
diff --git a/packageC/components/audio-upload/audio-upload.json b/packageC/components/audio-upload/audio-upload.json
new file mode 100644
index 0000000..a1c729f
--- /dev/null
+++ b/packageC/components/audio-upload/audio-upload.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-uploader": "../../../../dist/uploader/index",
+ "van-popup": "../../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/components/audio-upload/audio-upload.wxml b/packageC/components/audio-upload/audio-upload.wxml
new file mode 100644
index 0000000..e30dc9a
--- /dev/null
+++ b/packageC/components/audio-upload/audio-upload.wxml
@@ -0,0 +1,33 @@
+
+
+ 音频
+
+ 上传音频
+
+ 开始录音
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageC/components/audio-upload/audio-upload.wxss b/packageC/components/audio-upload/audio-upload.wxss
new file mode 100644
index 0000000..83505e8
--- /dev/null
+++ b/packageC/components/audio-upload/audio-upload.wxss
@@ -0,0 +1,113 @@
+/* packageC/components/audio-upload/audio-upload.wxss */
+.audio-upload {
+ display: flex;
+ height: 108rpx;
+ align-items: center;
+ border-bottom: 1rpx solid #e5e5e5;
+}
+.audio-upload .left {
+ display: flex;
+ align-items: center;
+ margin-right: 20rpx;
+}
+.audio-upload .right {
+ display: flex;
+ justify-content: end;
+ flex: 1;
+}
+.audio-upload .right .audio-button {
+ height: 48rpx;
+ line-height: 48rpx;
+ width: 120rpx;
+ border-radius: 8rpx;
+ font-size: 12px;
+ color: #f14e4e;
+ border: solid 1rpx #f14e4e;
+ margin-left: 20rpx;
+}
+.audio-upload .right .audio-button:last-child {
+ background: #f14e4e;
+ color: #fff;
+}
+
+.record-popup .record-time {
+ padding: 56px 0 20px;
+ font-size: 17px;
+ color: #4ba5fd;
+}
+.record-popup .record-main {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+}
+.record-popup .record-main .record-btn {
+ width: 125px;
+ height: 125px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+}
+.record-popup .record-main .icon-video_recording,
+.record-popup .record-main .icon-fontclass-bofang {
+ background: #fff;
+ z-index: 9;
+ border-radius: 50%;
+}
+.animate{
+ /* position: relative; */
+}
+.animate view {
+ border: 1px solid #4ba5fd;
+ position: absolute;
+ border-radius: 50%;
+ top: 50%;
+ left: 50%;
+ transform:translate(-50%,-50%);
+ -webkit-animation: opac 4s infinite;
+}
+
+@-webkit-keyframes opac {
+ from {
+ opacity: 1;
+ width: 0;
+ height: 0;
+
+ }
+ to {
+ opacity: 0;
+ width: 100%;
+ height: 100%;
+ }
+}
+.animate .w2 {
+ /*延迟1s*/
+ -webkit-animation-delay: 1s;
+}
+
+.animate .w3 {
+ -webkit-animation-delay: 2s;
+}
+
+.animate .w4 {
+ -webkit-animation-delay: 3s;
+}
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+.icon-fontclass-bofang:before {
+ content: "\ea2c";
+}
+.icon-all_filldelete:before {
+ content: "\e915";
+}
+.icon-video_recording:before {
+ content: "\e911";
+}
+.icon-wancheng:before {
+ content: "\e6a3";
+}
diff --git a/packageC/components/deposit-ladder-cell/deposit-ladder-cell.js b/packageC/components/deposit-ladder-cell/deposit-ladder-cell.js
new file mode 100644
index 0000000..1512893
--- /dev/null
+++ b/packageC/components/deposit-ladder-cell/deposit-ladder-cell.js
@@ -0,0 +1,59 @@
+// packageC/components/deposit-ladder-cell/deposit-ladder-cell.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ thumb: {
+ type: String,
+ value: null
+ },
+ title: {
+ type: String,
+ value: "暂无信息"
+ },
+ option: {
+ type: String,
+ value: null
+ },
+ price: {
+ type: String,
+ value: ""
+ },
+ deposit: {
+ type: String,
+ value: null
+ },
+ store_id: {
+ type: [String, Number],
+ value: null
+ },
+ aid: {
+ type: [String, Number],
+ value: null
+ },
+ count: {
+ type: [String, Number],
+ value: null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ toDetail(e) {
+ if (!this.data.aid) {
+ return;
+ }
+ wx.navigateTo({url: '/packageH/deposit_group/activity_index/activity_index?id=' + this.data.aid });
+ }
+ }
+});
diff --git a/packageC/components/deposit-ladder-cell/deposit-ladder-cell.json b/packageC/components/deposit-ladder-cell/deposit-ladder-cell.json
new file mode 100644
index 0000000..f4b9f91
--- /dev/null
+++ b/packageC/components/deposit-ladder-cell/deposit-ladder-cell.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../../../../dist/button/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/components/deposit-ladder-cell/deposit-ladder-cell.wxml b/packageC/components/deposit-ladder-cell/deposit-ladder-cell.wxml
new file mode 100644
index 0000000..d9b9c74
--- /dev/null
+++ b/packageC/components/deposit-ladder-cell/deposit-ladder-cell.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+ {{ title }}
+
+ {{ count ? count + '人' : "--" }}
+
+ ¥{{ price }}
+
+
+
+
\ No newline at end of file
diff --git a/packageC/components/deposit-ladder-cell/deposit-ladder-cell.wxss b/packageC/components/deposit-ladder-cell/deposit-ladder-cell.wxss
new file mode 100644
index 0000000..70eef7f
--- /dev/null
+++ b/packageC/components/deposit-ladder-cell/deposit-ladder-cell.wxss
@@ -0,0 +1,73 @@
+/* packageC/components/deposit-ladder-cell/deposit-ladder-cell.wxss */
+.activity-goods-details {
+ display: flex;
+ align-items: flex-start;
+ background: #fff;
+ margin: 0 16rpx 24rpx;
+ padding: 24rpx;
+ text-align: left;
+ border-radius: 4px;
+ box-shadow: 0 0 17rpx 0 rgba(169, 169, 169, 0.24);
+}
+
+.activity-goods-cover {
+ flex-shrink: 0;
+}
+
+.activity-goods-info {
+ flex: 1;
+ margin-left: 20rpx;
+}
+
+.activity-goods-img{
+ width: 100px;
+ height: 100px;
+ border-radius: 5px;
+ overflow: hidden;
+}
+
+.activity-goods-img image{
+ width: 100%;
+}
+
+.activity-goods-title {
+ font-size: 14px;
+ height: 80rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ color: #333;
+ font-weight: bold;
+}
+
+.activity-goods-sku {
+ margin-top: 4px;
+ line-height: 24rpx;
+ color: #f14e4e;
+ font-size: 12px;
+}
+.activity-goods-sku i {
+ padding-right: 4px;
+}
+
+.activity-goods-price {
+ margin-top: 8px;
+ line-height: 14px;
+ font-size: 14px;
+ color: #202020;
+ font-weight: bold;
+}
+
+.activity-goods-footer {
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-end;
+}
+
+.activity-goods-deposit {
+ font-size: 28rpx;
+ color: #f14e4e;
+ font-weight: bold;
+}
\ No newline at end of file
diff --git a/packageC/components/yz_addressList/yz_addressList.js b/packageC/components/yz_addressList/yz_addressList.js
new file mode 100644
index 0000000..24be271
--- /dev/null
+++ b/packageC/components/yz_addressList/yz_addressList.js
@@ -0,0 +1,533 @@
+// packageH/newDraw/components/yz_addressList/yz_addressList.js
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ show: {
+ value: false,
+ type: Boolean
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ addressData: [],
+ form: {},
+ create: true,
+ popAddAddress: false,
+ addressName: {},
+ districtVal: '',
+ strShow: false,
+ provinceData: [],
+ pickerValue: [0, 0, 0],
+ },
+ pageLifetimes: {
+ show: function () {
+ this.getAddress();
+ //加载地址数据初始化
+ this._initAddressInfo();
+ },
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ //获取收货地址
+ getAddress() {
+ this.addressData = [];
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member-address.index");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let defaultAddress = res.data;
+ defaultAddress = res.data.filter(function (item) {
+ return item.isdefault === 1;
+ });
+
+ that.setData({
+ popupSpecs: true,
+ addressData: res.data,
+ defaultAddress: defaultAddress
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ goLocation_ro(){
+ wx.showToast({
+ icon: 'none',
+ title: 'error::\packageH\newDraw\components\yz_addressList\yz_addressList.js',
+ duration: 1500
+ });
+ },
+ selectAddress(e) {
+ let item = e.currentTarget.dataset.addr;
+ this.triggerEvent('confirm', item);
+ },
+ editAddress(e) {
+ console.log(e);
+ let loc = e.currentTarget.dataset.item;
+ this.setData({
+ "form.address_id": this.data.defaultAddress[0].id,
+ "form.username": this.data.defaultAddress[0].username,
+ "form.mobile": this.data.defaultAddress[0].mobile,
+ "form.province": this.data.defaultAddress[0].province,
+ "form.city": this.data.defaultAddress[0].city,
+ "form.district": this.data.defaultAddress[0].district,
+ "form.address": this.data.defaultAddress[0].address,
+ "form.street": this.data.defaultAddress[0].street,
+ "form.isDefault": this.data.defaultAddress[0].isDefault === 0 ? false : true,
+ 'is_point.lng': loc.longitude,
+ 'is_point.lat': loc.latitude,
+ });
+ this.setData({
+ create: false,
+ popAddAddress: true,
+ });
+ this._getStreet(this.data.defaultAddress[0].district_id);
+ this.setData({
+ addressName: this.data.form.province + " " + this.data.form.city + " " + this.data.form.district
+
+ });
+
+ },
+ //关闭增加地址
+ popAddressClose() {
+ this.setData({
+ popAddAddress: false
+ });
+ },
+ //收件人输入绑定
+ usernameinp: function (e) {
+ let nameval = e.detail.value;
+ this.setData({
+ "form.username": nameval
+ });
+ },
+ //联系电话输入绑定
+ mobileinp: function (e) {
+ let mobileval = e.detail.value;
+ this.setData({
+ "form.mobile": mobileval
+ });
+ },
+ //默认地址开关值绑定
+ isDefaultChange: function (e) {
+ let isDefault = e.detail;
+ this.setData({
+ "form.isDefault": isDefault
+ });
+ },
+ //详细地址绑定输入
+ addressinp: function (e) {
+ let addressval = e.detail.value;
+ this.setData({
+ "form.address": addressval
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function () {
+ this.setData({
+ openDateLw: false
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: 'provinceData',
+ data: province
+ });
+ wx.setStorage({
+ key: 'cityData',
+ data: city
+ });
+ wx.setStorage({
+ key: 'districtData',
+ data: district
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true
+ });
+ }
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data
+ });
+ that.setData({
+ "selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0]
+ });
+ that._getCityData();
+ }
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ // console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = 'cityData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1]
+ });
+ that._getDistrictData();
+ }
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ // console.log("地区", "_data", _data)
+ var that = this;
+ var _keyName = 'districtData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json
+ });
+ // console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2]
+ });
+ // console.log("over", that.data.selectAddressData);
+ }
+ });
+ },
+ //打开地址选择器
+ openDateLwtbtn: function () {
+ this.setData({
+ openDateLw: true
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2]
+ });
+ this._initAddressInfo();
+ },
+ // 确定选择收货地址
+ _okAddress: function () {
+ let seleData = this.data.selectAddressData;
+ this.setData({
+ "form.street": "",
+ "districtVal": "",
+ "addressName": seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name,
+ "form.province": seleData[0].name,
+ "form.city": seleData[1].name,
+ "form.district": seleData[2].name
+ });
+ this._getStreet(seleData[2].id);
+ this._closeDateLw();
+ },
+ //获取街道
+ _getStreet(param) {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.memberAddress.street");
+ urlStr += "&district_id=" + param;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ if (!app._isTextEmpty(res.data) && res.data.length > 0) {
+ that.setData({
+ districtVal: res.data,
+ strShow: true
+ });
+ } else {
+ that.setData({
+ strShow: false
+ });
+ }
+ } else {
+ that.setData({
+ strShow: false
+ });
+ }
+ },
+ fail: function (res) {
+ that.setData({
+ strShow: false
+ });
+ console.log(res);
+ }
+ });
+ },
+ streetChoose() {
+ if (this.data.is_region == 1 && app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请先选择所在地区',
+ duration: 1500
+ });
+ } else {
+ this.setData({
+ streetShow: true,
+ opren: false
+ });
+ }
+ },
+ //关闭选择街道弹窗
+ streetClose: function () {
+ this.setData({
+ streetShow: false,
+ opren: true
+ });
+ },
+ //选择街道
+ streetConfirm(e) {
+ let strname = e.target.dataset.strname;
+ this.setData({
+ "form.street": strname,
+ "streetShow": false,
+ opren: true
+ });
+ },
+ //增加地址
+ appendAddress(e) {
+ let that = this;
+ let apptype = e.currentTarget.dataset.apptype;
+ if (app._isTextEmpty(this.data.form.username)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入收货人姓名",
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入联系电话",
+ duration: 1500
+ });
+ return;
+ }
+ if (!/^[0-9]{1,}$/.test(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入联系电话",
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.is_region == 1 && app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请选择所在区域",
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.is_region == 1 && this.data.strShow && app._isTextEmpty(this.data.form.street)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请选择所在街道",
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.address)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入详细地址",
+ duration: 1500
+ });
+ return;
+ }
+ let json = {};
+ json = {
+ username: this.data.form.username,
+ mobile: this.data.form.mobile,
+ province: this.data.form.province,
+ city: this.data.form.city,
+ district: this.data.form.district,
+ address: this.data.form.address,
+ isdefault: this.data.form.isDefault ? 1 : 0,
+ address_id: this.data.form.address_id
+ };
+ if (this.data.is_point) {
+ json.longitude = this.data.is_point.lng;
+ json.latitude = this.data.is_point.lat;
+ }
+ if (this.data.strShow) {
+ json.street = this.data.form.street;
+ }
+ let urlStr = '';
+ if (apptype === 'update') {
+ urlStr = app.getNetAddresss('member.member-address.update');
+ } else {
+ urlStr = app.getNetAddresss('member.member-address.store');
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ that.triggerEvent('confirm', that.data.form);
+ that.popAddressClose();
+ that.setData({
+ "form.username": '',
+ "form.mobile": '',
+ "form.province": '',
+ "form.city": '',
+ "form.district": '',
+ "form.street": '',
+ "form.address": '',
+ "form.isDefault": false,
+ addressName: '',
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+
+ }
+ });
+ },
+ onCloseAdd(){
+ this.setData({
+ show: false
+ });
+ },
+ //跳转到新增地址
+ addAddress() {
+ this.getIsOpenAddress();
+ //新增地址 本地处理
+ this.showAddAddress();
+ },
+ getIsOpenAddress() {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.member-address.is-region");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ that.setData({
+ is_region: res.data.is_region
+ });
+ } else {
+ console.log(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //显示增加地址
+ showAddAddress() {
+ this.setData({
+ "form.username": '',
+ "form.mobile": '',
+ "form.province": '',
+ "form.city": '',
+ "form.district": '',
+ "form.street": '',
+ "form.address": '',
+ "form.isDefault": false,
+ addressName: '',
+ popAddAddress: true,
+ create: true
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageC/components/yz_addressList/yz_addressList.json b/packageC/components/yz_addressList/yz_addressList.json
new file mode 100644
index 0000000..031f876
--- /dev/null
+++ b/packageC/components/yz_addressList/yz_addressList.json
@@ -0,0 +1,11 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-switch": "../../../../dist/switch/index",
+ "van-cell": "../../../../dist/cell/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/components/yz_addressList/yz_addressList.wxml b/packageC/components/yz_addressList/yz_addressList.wxml
new file mode 100644
index 0000000..860f90b
--- /dev/null
+++ b/packageC/components/yz_addressList/yz_addressList.wxml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+ {{item.username+" "+item.mobile}}
+
+ {{item.province+" "+item.city+" "+item.district+" "+item.street}} {{item.address}}
+
+
+ {{item.province+" "+item.city+" "+item.district}} {{item.address}}
+
+
+ 编辑
+
+
+
+ 新增地址
+
+
+
+
+
+
+
+ 收件人:
+
+
+
+ 联系电话:
+
+
+
+
+
+ 设置默认地址:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 获取经纬度:({{is_point.lng}} , {{is_point.lat}})
+ 获取经纬度
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageC/components/yz_addressList/yz_addressList.wxss b/packageC/components/yz_addressList/yz_addressList.wxss
new file mode 100644
index 0000000..844cc6a
--- /dev/null
+++ b/packageC/components/yz_addressList/yz_addressList.wxss
@@ -0,0 +1,196 @@
+/* packageH/newDraw/components/yz_addressList/yz_addressList.wxss */
+.add-info {
+ overflow-y: scroll;
+ width: 100%;
+ background: #fff;
+ max-height: 50vh;
+ padding-top: 80rpx;
+}
+
+.add-info .ul {
+ overflow-y: scroll;
+}
+
+.add-info .ul .li {
+ padding: 20rpx 0;
+ display: flex;
+ position: relative;
+}
+
+.add-info .li .liia {
+ width: 100%;
+ padding-right: 40rpx;
+ flex: 1;
+ text-align: left;
+ padding-left: 40rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.add-info .li .liia .name {
+ font-size: 36rpx;
+ color: #222;
+ line-height: 64rpx;
+}
+
+.add-info .li .liia .address {
+ word-break: break-word;
+ width: 100%;
+ font-size: 24rpx;
+ color: #666;
+ line-height: 40rpx;
+}
+
+.add-info .li .edit_btn {
+ margin-top: 16rpx;
+ margin-right: 64rpx;
+ height: 64rpx;
+ line-height: 64rpx;
+ flex: 0 0 96rpx;
+ background: #f15353;
+ color: #fff;
+ border-radius: 20rpx;
+ text-align: center;
+}
+
+.address-plus {
+ background: #f15353;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #fff;
+ width: 100%;
+ border: 0;
+ text-align: center;
+}
+
+.address_a {
+ background-color: #fff;
+ padding-left: 28rpx;
+ margin-top: 20rpx;
+}
+
+.address_a .li {
+ height: 100rpx;
+ padding-right: 28rpx;
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+}
+
+.defaultAdd {
+ background: #fff;
+ padding-left: 28rpx;
+ display: flex;
+ height: 100rpx;
+ padding-right: 28rpx;
+ font-size: 32rpx;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.addName {
+ background: #fff;
+}
+
+.addstreet {
+ background: #fff;
+}
+
+.text_adderss {
+ background: #fff;
+}
+
+.text_adderss input {
+ text-wrap: unset;
+ padding: 20rpx 28rpx;
+ font-size: 28rpx;
+ line-height: 48rpx;
+ min-height: 104rpx;
+ text-align: left;
+}
+
+.adderss_btn .button {
+ margin: 40rpx auto;
+ width: 600rpx;
+ height: 90rpx;
+ border-radius: 10rpx;
+ background: #f15353;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.adderss_btn .button .plus_circle {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.adderss_btn .button .plus_circle van-icon {
+ display: flex;
+ align-items: center;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.b-mask.true {
+ width: 100vw;
+ height: 100vh;
+ background: rgba(0, 0, 0, 0.5);
+ position: fixed;
+ left: 0;
+ top: 0;
+ z-index: 999;
+}
+
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+ z-index: 9999;
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
diff --git a/packageC/components/yz_specs/yz_specs.js b/packageC/components/yz_specs/yz_specs.js
new file mode 100644
index 0000000..6b565e6
--- /dev/null
+++ b/packageC/components/yz_specs/yz_specs.js
@@ -0,0 +1,503 @@
+var app = getApp();
+
+Component({
+ // 目前组件,只接受时间戳,其他的没有做
+ // 现在的时间,和结束时间,都必须从后台获取,因为客户端时间不一致
+ properties: {
+ goodsInfo: {
+ type: Object
+ },
+ cartList:{
+ type:Object
+ }
+ },
+ data: {
+ language: '',
+
+ // 规格 -------
+ optionsId: 0, //选择后的 规格ID
+ cartid:0, //选择后的 购物车ID
+ goodsCount: 1,
+ optionsMaxCount: 1,
+ popupSpecs1: false,
+ popupSpecs2: false, //无规格选择商品数量
+ popThumb: "",
+ popStock: 0,
+ popPrice: 0,
+ specsManage: [], //选择池 用于排序
+ goodsDescription: "",
+ popupModeshow: true, //动态模糊框
+ // 规格end
+
+ skuImages: [],
+ showSkuImages: false,
+ activeSkuIndex: 0,
+ activeSkuIndex_1: '',//用于关闭时保存点击预览前的序号,在预览关闭时重新设置预览起始位置
+ activeSkuIndex_2: '',
+ },
+ lifetimes: {
+ attached: function() {
+ // 在组件实例进入页面节点树时执行
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en,
+ specsManage: [],
+ optionsId: 0,
+ popupSpecs1: true
+ });
+ this.initPopView();
+ },
+ detached: function() {
+ // 在组件实例被从页面节点树移除时执行
+ },
+ },
+ methods: {
+ //提交确认
+ submitAction() {
+ if (this.data.goodsInfo.has_option == 1 && !this.data.optionsId) {
+ wx.showToast({
+ icon: 'none',
+ title: '规格id不可为空,请选择规格!',
+ duration: 1500
+ });
+ return;
+ }
+ //点击关闭 clicktype为1:确认按钮 ,为0:关闭弹窗操作
+ this.triggerEvent('closeSpecsPopup',{optionsId: this.data.optionsId,cartid:this.data.cartid,goodsId:this.data.goodsInfo.id, goodsCount: this.data.goodsCount, clicktype: 1});
+
+ },
+ //关闭popupSpecs
+ popupSpecsbtn() {
+ this.setData({
+ popupSpecs1: false,
+ popupModeshow: true
+ });
+ this.triggerEvent('closeSpecsPopup',{clicktype: 0});
+ },
+ //初始化弹窗view
+ initPopView() {
+ if (this.data.goodsInfo.has_option == 1) {
+ this.setData({
+ popPrice: this.data.goodsInfo.min_price + "-" + this.data.goodsInfo.max_price, //设置默认价格
+ popThumb: this.data.goodsInfo.thumb, //设置默认图片
+ popStock: this.data.goodsInfo.stock, //设置默认库存
+ goodsDescription: "选择"
+ });
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.setData({
+ goodsDescription: this.data.goodsDescription + " " + this.data.goodsInfo.has_many_specs[i].title
+ });
+ }
+ let _optionArr = [];
+ this.data.goodsInfo.has_many_options.forEach((val, index) => {
+ let _thumb = val.thumb !='' ? val.thumb : this.data.goodsInfo.thumb;
+ _optionArr.push(_thumb);
+ });
+ this.setData({
+ skuImages: _optionArr
+ });
+ if (!this.data.optionsId) {
+ // 默认选择第一个
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.data.goodsInfo.has_many_specs[i].description = this.data.goodsInfo.has_many_specs[i].specitem[0].id;
+
+ this.selectSpecs(this.data.goodsInfo.has_many_specs[i].specitem[0], 'first', i);
+ }
+ }
+
+ } else {
+ console.log("单规格",this.data.goodsInfo);
+ let __optionArr2 = [];
+ __optionArr2.push(this.data.goodsInfo.thumb);
+ this.setData({
+ popThumb: this.data.goodsInfo.thumb, //设置默认图片
+ popStock: this.data.goodsInfo.stock, //设置默认库存
+ popPrice: this.data.goodsInfo.price, //设置默认价格
+ goodsDescription: '',
+ optionsMaxCount: this.data.goodsInfo.stock,
+ skuImages: __optionArr2
+ });
+
+ let {cartList,goodsInfo} = this.data;
+ if (cartList && cartList.length > 0) {
+ for (let i = 0; i < cartList.length; i++) {
+ if (cartList[i].goods_id === goodsInfo.id) {
+ this.setData({
+ goodsCount: cartList[i].total,
+ cartid:cartList[i].id
+ });
+ break;
+ }else {
+ this.data.cartid=0;
+ }
+ }
+ }
+ }
+ },
+
+ // 输入数量
+ inputGoodsNum: function(e) {
+ var num = parseInt(e.detail.value);
+ var lastgoodsCount = this.data.goodsCount;
+ if (e.detail.keyCode == 8) {
+ if (app._isTextEmpty(e.detail.value)) {
+ this.setData({
+ goodsCount: ''
+ });
+ return;
+ }
+ }
+ if (num) {
+ this.setData({
+ goodsCount: num
+ });
+ } else {
+ this.setData({
+ goodsCount: lastgoodsCount
+ });
+ }
+ },
+ //减少
+ reduceGoods() {
+ let lastgoodsCount = this.data.goodsCount;
+ if (this.data.goodsCount == 1 || this.data.goodsCount == 0) {
+ return;
+ }
+ this.setData({
+ goodsCount: lastgoodsCount - 1
+ });
+
+ },
+ //增加
+ addGoods() {
+ let lastgoodsCount = this.data.goodsCount;
+ let specsManage = this.data.specsManage;
+ let optionsMaxCount = this.data.optionsMaxCount;
+ console.log("增加");
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length && this.data.goodsCount == optionsMaxCount) {
+ console.log("数量超出范围");
+ wx.showToast({
+ icon: 'none',
+ title: '数量超出范围',
+ duration: 1500
+ });
+ console.log("max=" + this.data.goodsCount);
+ return;
+ }
+ this.setData({
+ goodsCount: lastgoodsCount + 1
+ });
+
+ },
+ //界面选择规格触发事件
+ selectSpecs(e, str, i) {
+ let data = {};
+ let specsIdex = 0;
+ if (str == 'first') {
+ specsIdex = i;
+ data = e;
+ } else if(str =="sku_swiper"){
+ data = e;
+ } else {
+ specsIdex = e.currentTarget.dataset.specsidex;
+ data = e.currentTarget.dataset.specitem;
+ }
+ console.log(data);
+ if (data.c) {
+ return false;
+ }
+ this.setData({
+ ["goodsInfo.has_many_specs[" + specsIdex + "].description"]: data.id
+ });
+ // let specid = data.specid; //对其他数据筛选 不筛选同级
+ //处理选择池
+ this.manageSpecs(data);
+ //处理规格组合选择状态
+ this.setGoodsSpecs(data);
+ //设置选择规格后的 价格、照片、库存
+ this.setGoodsSpecsChangeInfo();
+ //判断当前购买总量与库存的关系
+ this.getMaxCount();
+ },
+ //处理选择池
+ manageSpecs(data) {
+ let specsObject = new Object();
+ let specsManage = this.data.specsManage;
+ specsObject.id = data.id;
+ specsObject.specid = data.specid;
+ specsObject.title = data.title;
+
+ if (specsManage.length > 0) {
+ for (let i = 0; i < specsManage.length; i++) {
+ if (specsManage[i].specid == specsObject.specid) {
+ specsManage.splice(i, 1);
+ }
+ }
+ specsManage.push(specsObject);
+ } else {
+ specsManage.push(specsObject);
+ }
+
+ //排序
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ var newSpecsManage = [];
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.goodsInfo.has_many_specs[i].id == specsManage[j].specid) {
+ newSpecsManage.push(specsManage[j]);
+ break;
+ }
+ }
+ }
+ specsManage = newSpecsManage;
+ }
+ this.setData({
+ specsManage: specsManage
+ });
+ this.setGoodsDescription();
+ },
+ //处理goodsDescription 数据
+ setGoodsDescription() {
+ let description = "";
+ let specsManage = this.data.specsManage;
+ //相等代表全选了 体现语句
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ description = "已选择 ";
+ for (let i = 0; i < specsManage.length; i++) {
+ description += specsManage[i].title + " ";
+ }
+ this.setData({
+ goodsDescription: description
+ });
+ } else {
+ description = "请选择 ";
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.goodsInfo.has_many_specs[i].id != specsManage[j].specid) {
+ description += this.data.goodsInfo.has_many_specs[i].title + " ";
+ break;
+ }
+ }
+ }
+ this.setData({
+ goodsDescription: description
+ });
+ }
+ },
+ //处理规格组合选择状态 过滤数据
+ setGoodsSpecs(specs) {
+ // let goodsInfo = this.data.goodsInfo;
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ if (specs.specid != this.data.goodsInfo.has_many_specs[i].id) {
+ // let specitem = this.setGoodsSpecsStatus(this.data.goodsInfo.has_many_specs[i].specitem, specs.id);
+ // this.setData({
+ // ["goodsInfo.has_many_specs[" + i + "].specitem"]: specitem
+ // })
+ }
+ }
+ },
+ //处理规格组合选择状态 处理状态 specitem 组合数组(未选中的) id当前选中的ID 根据ID 组合算是否有当前组合
+ setGoodsSpecsStatus(specitem, id) {
+ let options = []; //数据池
+ for (let i = 0; i < this.data.goodsInfo.has_many_options.length; i++) {
+ let _specs = this.data.goodsInfo.has_many_options[i].specs.split("_");
+ //console.log(_specs);
+ //判断是否包含
+ for (let j = 0; j < _specs.length; j++) {
+ if (_specs[j] == id) {
+ options.push(this.data.goodsInfo.has_many_options[i]);
+ return;
+ }
+ }
+ }
+ //关键处理方式 后期要优化 效率低
+ for (let m = 0; m < options.length; m++) {
+ let _specs = options[m].specs.split("_");
+ for (let y = 0; y < _specs.length; y++) {
+ if (_specs[y] != id && options[m].stock == 0) {
+ for (let n = 0; n < specitem.length; n++) {
+ if (_specs[y] == specitem[n].id) {
+ specitem[n].c = true;
+ }
+ }
+ } else if (_specs[y] != id && options[m].stock > 0) {
+ for (let n = 0; n < specitem.length; n++) {
+ if (_specs[y] == specitem[n].id) {
+ specitem[n].c = false;
+ }
+ }
+ }
+ }
+ }
+ return specitem;
+ },
+ //设置选择规格后的 价格、照片、库存
+ setGoodsSpecsChangeInfo() {
+ let specsManage = this.data.specsManage;
+ //根据ID 排序 specsManage.sort();
+ specsManage.sort(function(a, b) {
+ return a.id - b.id;
+ });
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ let goodsSpecs = "";
+ for (let j = 0; j < specsManage.length; j++) {
+ goodsSpecs += specsManage[j].id + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+ for (let i = 0; i < this.data.goodsInfo.has_many_options.length; i++) {
+ if (goodsSpecs == this.setGoodsSpecsBySort(this.data.goodsInfo.has_many_options[i].specs)) {
+ this.setData({
+ activeSkuIndex:i,
+ popPrice: this.data.goodsInfo.has_many_options[i].product_price, //设置价格
+ popThumb: app._isTextEmpty(this.data.goodsInfo.has_many_options[i].thumb) ? this.data.goodsInfo.thumb : this
+ .data.goodsInfo.has_many_options[i].thumb, //设置图片
+ popStock: this.data.goodsInfo.has_many_options[i].stock, //设置库存
+ optionsId: this.data.goodsInfo.has_many_options[i].id //设置规格ID,用于生成订单
+ });
+ this.data.optionsMaxCount = this.data.goodsInfo.has_many_options[i].stock; //库存最大数 用于切换更改买家购买数量
+ if (this.data.optionsMaxCount > 0) {
+ this.setData({
+ goodsCount: 1
+ });
+ }
+
+ break;
+ }
+ }
+ }
+
+ this.setData({
+ specsManage: specsManage
+ });
+ },
+ //处理商品goodsSpecs 并排序 新方法
+ setGoodsSpecsBySort(specs) {
+ let _specs = specs.split("_"); //先变成数组
+ //_specs.sort();//排序
+ _specs.sort(function(a, b) {
+ return a - b;
+ });
+ // 在组装回去
+ let goodsSpecs = "";
+ for (let j = 0; j < _specs.length; j++) {
+ goodsSpecs += _specs[j] + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+ return goodsSpecs;
+ },
+ //判断当前购买总量与库存的关系
+ getMaxCount() {
+ let specsManage = this.data.specsManage;
+ let optionsMaxCount = this.data.optionsMaxCount;
+ console.log(specsManage,optionsMaxCount,this.data.optionsId);
+
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ if (optionsMaxCount == 0) //库存不足
+ {
+ this.setData({
+ goodsCount: 0
+ });
+ }
+ if (this.data.goodsCount > optionsMaxCount) {
+ this.setData({
+ goodsCount: optionsMaxCount
+ });
+ }
+ }
+ let {cartList,goodsInfo,optionsId} = this.data;
+
+ console.log("666",cartList);
+ if (cartList && cartList.length > 0) {
+ for (let i = 0; i < cartList.length; i++) {
+ if (cartList[i].goods_id === goodsInfo.id && cartList[i].option_id === optionsId) {
+ console.log(cartList[i]);
+ this.setData({
+ goodsCount: cartList[i].total,
+ cartid:cartList[i].id
+ });
+ break;
+ }else {
+ this.data.cartid=0;
+ }
+ }
+ }
+ },
+ //============ 处理规格图片点击放大 start============
+ showSkuImages_Methob() {
+ this.setData({
+ popupSpecs1: false,
+ popupSpecs2: false,
+ popupModeshow: true,
+ showSkuImages: true
+ });
+ if (this.data.goodsInfo.has_option != 1) {
+ return;
+ }
+ this.setData({
+ activeSkuIndex_1: this.data.goodsInfo.has_many_options[this.data.activeSkuIndex].specs
+ });
+
+ },
+ onChangeSkuImagesIndex(e) {
+ let _index = e.detail.current;
+ this.setData({
+ activeSkuIndex: _index
+ });
+ if (this.data.goodsInfo.has_option != 1) {
+ return;
+ }
+ this.setData({
+ activeSkuIndex_2: this.data.goodsInfo.has_many_options[_index].specs
+ });
+
+ },
+ onCloseSkuImages() {
+ if (this.data.goodsInfo.has_option != 1) {
+ this.setData({
+ popupSpecs2: true,
+ popupModeshow: false,
+ showSkuImages: false
+ });
+ return;
+ }
+ let that = this;
+ let _lastOption = that.data.activeSkuIndex_1.split("_");
+ let goodsInfo = that.data.goodsInfo;
+ let _activeSkuIndex = that.data.activeSkuIndex;
+
+ if (that.data.activeSkuIndex_1 != that.data.goodsInfo.has_many_options[_activeSkuIndex].specs) {
+ let _activeOption = that.data.activeSkuIndex_2.split("_");//如果没有滑动直接取值是取不到报错的
+ for (let i = 0; i < _lastOption.length; i++) {
+ if (_lastOption[i] != _activeOption[i]) {
+ let _specs = Number(_activeOption[i]);
+ for (let ind = 0; ind < that.data.goodsInfo.has_many_specs.length; ind++) {
+ for (let index = 0; index < that.data.goodsInfo.has_many_specs[ind].specitem.length; index++) {
+ if (that.data.goodsInfo.has_many_specs[ind].specitem[index].id == _specs) {
+ goodsInfo.has_many_specs[ind].description = that.data.goodsInfo.has_many_specs[ind].specitem[index].id;
+ // that.selectSpecs(that.data.goodsInfo.has_many_specs[ind].specitem[index],"sku_swiper")
+ }
+ }
+ }
+ }
+ }
+ }
+
+ console.log(that.data.activeSkuIndex_1,"that.data.activeSkuIndex_1");
+
+ this.setData({
+ goodsInfo: goodsInfo,
+ showSkuImages: false,
+ popupSpecs1: true,
+ popupModeshow: false,
+
+ popPrice: this.data.goodsInfo.has_many_options[_activeSkuIndex].product_price, //设置价格
+ popThumb: app._isTextEmpty(this.data.goodsInfo.has_many_options[_activeSkuIndex].thumb) ? this.data.goodsInfo.thumb : this
+ .data.goodsInfo.has_many_options[_activeSkuIndex].thumb, //设置图片
+ popStock: this.data.goodsInfo.has_many_options[_activeSkuIndex].stock, //设置库存
+ optionsId: this.data.goodsInfo.has_many_options[_activeSkuIndex].id //设置规格ID,用于生成订单
+ });
+
+ },
+ //============ 处理规格图片点击放大 end============
+ }
+});
diff --git a/packageC/components/yz_specs/yz_specs.json b/packageC/components/yz_specs/yz_specs.json
new file mode 100644
index 0000000..81a8543
--- /dev/null
+++ b/packageC/components/yz_specs/yz_specs.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "/dist/icon/index",
+ "van-popup": "/dist/popup/index"
+ }
+}
diff --git a/packageC/components/yz_specs/yz_specs.wxml b/packageC/components/yz_specs/yz_specs.wxml
new file mode 100644
index 0000000..7c76355
--- /dev/null
+++ b/packageC/components/yz_specs/yz_specs.wxml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{language['money']}}{{goodsInfo.has_many_options[activeSkuIndex].product_price}}
+ {{language['money']}}{{goodsInfo.price}}
+ {{activeSkuIndex+1}}/{{skuImages.length}}
+
+
+
diff --git a/packageC/components/yz_specs/yz_specs.wxss b/packageC/components/yz_specs/yz_specs.wxss
new file mode 100644
index 0000000..e100faf
--- /dev/null
+++ b/packageC/components/yz_specs/yz_specs.wxss
@@ -0,0 +1,305 @@
+@import "/mycss/stylesheet.wxss";
+
+.popupMode {
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ opacity: 0.5;
+ background: #000;
+ z-index: 999;
+ transition: 0.6s ease-out;
+}
+
+.popupModeShow {
+ opacity: 0;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 1001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode_1 {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 2001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode_2 {
+ position: fixed;
+ background: #fff;
+ top: auto;
+ right: auto;
+ bottom: -1000rpx;
+ left: 50%;
+ transform: translate3d(-50%, 0, 0);
+ width: 100%;
+ z-index: 2001;
+ overflow: visible;
+ transition: 0.6s ease-out;
+}
+
+.shadeMode .specifications {
+ display: none;
+ overflow: visible;
+ position: relative;
+ width: 100%;
+ padding-top: 20rpx;
+}
+
+.shadeMode_2 .specifications {
+ overflow: visible;
+ position: relative;
+ width: 100%;
+ padding-top: 20rpx;
+}
+
+.shadeModeShow {
+ bottom: 0;
+ border-radius: 30rpx 30rpx 0 0;
+}
+
+.shadeModeShow .specifications {
+ display: block;
+}
+
+.specifications .icon_close {
+ position: absolute;
+ top: -40rpx;
+ right: 0;
+ width: 80rpx;
+ height: 100rpx;
+}
+
+.specifications .icon_close .guanbi_icon {
+ position: absolute;
+ left: 25%;
+ top: 50%;
+ width: 40rpx;
+}
+
+.specifications .shopimg {
+ display: flex;
+ overflow: visible;
+}
+
+.specifications .shopimg .chooser_img {
+ position: relative;
+ width: 180rpx;
+ height: 150rpx;
+ overflow: visible;
+}
+
+.specifications .shopimg .chooser_img image {
+ position: absolute;
+ top: -70rpx;
+ left: 20rpx;
+ width: 100%;
+ height: 180rpx;
+ border-radius: 8rpx;
+ border: 2rpx solid #f0f1f3;
+}
+
+.specifications .shopimg .right {
+ width: 440rpx;
+ margin-left: 60rpx;
+ text-align: left;
+}
+
+.specifications .shopimg .price {
+ color: #f15353;
+ font-size: 32rpx;
+ line-height: 60rpx;
+
+ /* height: 60rpx; */
+
+ /* overflow: hidden; */
+}
+
+.specifications .shopimg .price text {
+ font-size: 36rpx;
+}
+
+.specifications .shopimg .option {
+ color: #999;
+ font-size: 20rpx;
+ line-height: 32rpx;
+
+ /* height: 32rpx; */
+
+ /* overflow: hidden; */
+}
+
+.specifications .goodsnum {
+ border-top: solid 2rpx #f2f2f2;
+ border-bottom: solid 2rpx #f2f2f2;
+ margin: 40rpx 28rpx;
+ padding: 0;
+ font-size: 28rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+.specifications .goodsnum .num {
+ height: 120rpx;
+ line-height: 120rpx;
+}
+
+.specifications .goodsnum .calculation {
+ display: flex;
+ margin-top: 32rpx;
+ border-radius: 4rpx;
+ background-color: #fff;
+}
+
+.specifications .goodsnum .calculation .leftnav {
+ height: 56rpx;
+ width: 56rpx;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 4rpx;
+ line-height: 56rpx;
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.specifications .goodsnum .calculation .shownum {
+ height: 56rpx;
+ width: 56rpx;
+ border: 0;
+ margin: 0px 8px;
+ padding: 0;
+ text-align: center;
+ color: #333;
+}
+
+.specifications .goodsnum .calculation .rightnav {
+ height: 56rpx;
+ width: 56rpx;
+ background-color: #f2f2f2;
+ color: #999;
+ text-align: center;
+ border-radius: 4rpx;
+ line-height: 56rpx;
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.specifications .shopinfoContent {
+ overflow-y: auto;
+ max-height: 450rpx;
+}
+
+.specifications .shopinfo {
+ text-align: left;
+ padding-left: 20rpx;
+ margin: 20rpx 0;
+
+ /* max-height: 200rpx;
+ overflow: scroll; */
+}
+
+.specifications .shopinfo .dl .dt {
+ margin-bottom: 10rpx;
+}
+
+.specifications .shopinfo .dl .dd {
+ margin-bottom: 10rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.specifications .shopinfo .dl .dd .spec {
+ border: 1px solid #bfcbd9;
+ padding: 10rpx;
+ min-width: 50rpx;
+ border-radius: 6rpx;
+ margin-right: 10rpx;
+ margin-bottom: 10rpx;
+ text-align: center;
+}
+
+.specifications .shopinfo .dl .dd .spec.sele {
+ background-color: #f15353;
+ border-color: #f15353;
+ color: #fff;
+}
+
+.specifications .shopinfo .dl .dd .spec.disab {
+ opacity: 0.5;
+}
+
+.specifications .subbtn {
+ line-height: 100rpx;
+ width: 94%;
+ border-radius: 10rpx;
+ margin: 0 auto 10rpx auto;
+ text-align: center;
+ background: #ee0a24;
+ color: #fff;
+ font-size: 30rpx;
+}
+
+/* 图片弹窗 */
+
+.sku_swiper {
+ position: relative;
+
+ /* top: 50%;
+ left: 0; */
+ width: 100vw;
+ height: 760rpx;
+
+ /* transform: translateY(-50%) */
+}
+
+.sku_swiper_child {
+ width: 100%;
+ height: 760rpx !important;
+ display: flex;
+ align-items: center;
+}
+
+.sku_swiper_child image {
+ width: 100%;
+}
+
+.sku_other {
+ margin-top: 12rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+}
+
+.sku_title {
+ flex: 1;
+ font-size: 32rpx;
+ text-align: center;
+}
+
+.swiper_num {
+ width: 80rpx;
+ display: block;
+ text-align: center;
+}
diff --git a/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.js b/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.js
new file mode 100644
index 0000000..965c800
--- /dev/null
+++ b/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.js
@@ -0,0 +1,140 @@
+// mycomponent/Waterfalls_flow.js
+var colOneHeight = 0;
+var colTwoHeight = 0;
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsData: {
+ type: null
+ },
+ handleTag: {
+ value:false,
+ type:null
+ },
+ notap:{
+ value:false,
+ type:Boolean
+ }
+ },
+
+ lifetimes: {
+ attached: function() {
+ // 在组件实例进入页面节点树时执行
+ colOneHeight = 0;
+ colTwoHeight = 0;
+ },
+ },
+ observers:{
+ 'goodsData': function(goodsData) {
+ this.data.imgCount = 0;
+ // 修改部分
+ // 判断是数据中的对象列表是否完全相同
+ let isRepeat = goodsData.every((item,index) => {
+ return JSON.stringify(item) == JSON.stringify(this.data.activitys[index])
+ });
+ if(this.data.handleTag){
+ this.setData({
+ activitys: [],
+ activitys1: [],
+ activitys2: [],
+ });
+ }
+
+ if (goodsData.length > 0 && isRepeat) {
+ // image组件在src的地址相同的情况下,不会触发load事件, 延迟赋值,让DOM层重新渲染
+ setTimeout(() => {
+ this.setData({activitys: goodsData})
+ }, 500);
+ } else {
+ this.setData({activitys: goodsData})
+ }
+ // 修改部分
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ activitys: [],
+ activitys1: [],
+ activitys2: [],
+ showLoading: false,
+ imgCount: 0
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ jumpDetails(e) {
+ if(this.data.notap) return;
+ let stick_id = e.currentTarget.dataset.stickid;
+ wx.navigateTo({
+ url: '/packageC/micro_communities/microCommentDetails/microCommentDetails?stickId=' + stick_id
+ });
+ },
+ onImageError(options) {
+ // let currentId = options.currentTarget.id;
+ console.log("图片加载发生错误");
+ this.onImageLoad({
+ currentTarget: {
+ id: options.currentTarget.id
+ },
+ detail: {
+ width: 160,
+ height: 160
+ },
+ type: 'error'
+ });
+ },
+ /**
+ * 图片加载函数
+ * 图片加载完成后,根据图片的高度,依次往第一列和第二列中推入数据
+ */
+ onImageLoad(options) {
+ let currentId = options.currentTarget.id;
+ let imageWidth = options.detail.width; // 图片宽度
+ let imageHeight = options.detail.height; // 图片高度
+ let activitys = this.data.activitys; // 获取所有的数据资源
+ let activityObj = null;
+ let scle = (imageWidth / imageHeight);
+
+ for (let i = 0; i < activitys.length; i++) {
+ if (activitys[i].id == currentId) {
+ if(options.type == 'error'&&activitys[i].has_many_image[0]){
+ activitys[i].has_many_image[0].url = "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img_404.png";
+ }
+ activityObj = activitys[i];
+ break;
+ }
+ }
+
+ this.data.imgCount += 1;
+ let activitys1 = this.data.activitys1;
+ let activitys2 = this.data.activitys2;
+
+ if (colOneHeight <= colTwoHeight) {
+ colOneHeight += (176 / scle) + 60;
+ activitys1.push(activityObj);
+ } else {
+ colTwoHeight += (176 / scle) + 60;
+ activitys2.push(activityObj);
+ }
+
+ let data = {
+ activitys1: activitys1,
+ activitys2: activitys2
+ };
+ if (this.data.imgCount >= this.data.activitys.length) {
+ this.setData({
+ showLoading: true
+ });
+ }
+
+ this.setData(data);
+ },
+ }
+});
diff --git a/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.json b/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.wxml b/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.wxml
new file mode 100644
index 0000000..7b7cff2
--- /dev/null
+++ b/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.wxml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.has_one_stick_user.nickname}}
+
+
+
+
+
+ {{item.praise_num}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.has_one_stick_user.nickname}}
+
+
+
+
+
+ {{item.praise_num}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.has_one_stick_user.nickname}}
+
+
+
+
+
+ {{item.praise_num}}
+
+
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.wxss b/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.wxss
new file mode 100644
index 0000000..3fc3b2b
--- /dev/null
+++ b/packageC/mycomponent/Waterfalls_flow/Waterfalls_flow.wxss
@@ -0,0 +1,158 @@
+/* mycomponent/Waterfalls_flow.wxss */
+
+.video_list {
+ margin: 16rpx;
+ text-align: left;
+}
+
+.video_list .blank {
+ width: 160rpx;
+ height: 160rpx;
+ margin: 0 auto;
+}
+
+.video_list .blank image {
+ width: 100%;
+ height: 100%;
+}
+
+.video_list .ul {
+ vertical-align: top;
+ display: inline-block;
+ width: 49%;
+
+ /* display: flex; */
+
+ /* flex-wrap: wrap; */
+}
+
+.video_list .Mright {
+ margin-right: 2%;
+}
+
+.video_list .li {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ background-color: #fff;
+ overflow: hidden;
+ border-radius: 12rpx;
+ width: 338.88rpx;
+ padding-bottom: 22.08rpx;
+ margin-bottom: 24rpx;
+}
+
+/* .video_list .ul .li .top { */
+
+/* min-height: 449.92rpx; */
+
+/* } */
+.video_list .ul .li .top{
+ display: flex;
+ background-color: red; /* 浏览器不支持时显示 */
+ background: linear-gradient(#e66465 5%, #ffffff 90%);
+}
+
+.video_list .ul .li .top .mic-content {
+ font-size: 12px;
+ line-height: 18px;
+ color: #666;
+ padding: 4px;
+ border-radius: 4px;
+ width: 100%;
+ margin: 6px;
+ min-height: 48px;
+ background: #fff;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 5;
+}
+
+.video_list .ul .li .top image {
+ width: 100%;
+}
+
+.video_list .ul .li .bottom {
+ padding-left: 18.88rpx;
+}
+
+.video_list .ul .li .bottom .title {
+ padding-top: 20.16rpx;
+ font-size: 26.88rpx;
+ font-weight: 600;
+ line-height: 26.88rpx;
+ font-weight: 600;
+ display: -webkit-box;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ text-align: left;
+ margin-bottom: 18.88rpx;
+}
+
+.video_list .ul .li .bottom .content {
+ display: flex;
+ justify-content: space-between;
+}
+
+.video_list .ul .li .bottom .content .headmessage {
+ display: flex;
+}
+
+.video_list .ul .li .bottom .content .headmessage .left {
+ width: 36.16rpx;
+ height: 36.16rpx;
+ border-radius: 50%;
+}
+
+.video_list .ul .li .bottom .content .headmessage .left image {
+ width: 100%;
+ height: 100%;
+}
+
+.video_list .ul .li .bottom .content .headmessage .name {
+ margin-left: 9.92rpx;
+ height: 36.16rpx;
+ line-height: 36.16rpx;
+ text-align: left;
+ color: #8c8c8c;
+ font-size: 22.08rpx;
+}
+
+.video_list .ul .li .bottom .content .thumbup {
+ display: flex;
+ padding-top: 5.12rpx;
+}
+
+.video_list .ul .li .bottom .content .thumbup .right {
+ width: 25.92rpx;
+ height: 26.88rpx;
+ margin-right: 12.16rpx;
+}
+
+.video_list .ul .li .bottom .content .thumbup .right image {
+ width: 100%;
+ height: 100%;
+}
+
+.video_list .ul .li .bottom .content .thumbup .num {
+ min-width: 64rpx;
+ max-width: 256rpx;
+ text-align: left;
+ color: #333;
+ font-size: 24rpx;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.video_list .load {
+ text-align: center;
+}
+
+.video_list .load image {
+ width: 90rpx;
+}
diff --git a/packageC/mycomponent/business/business.js b/packageC/mycomponent/business/business.js
new file mode 100644
index 0000000..96647b6
--- /dev/null
+++ b/packageC/mycomponent/business/business.js
@@ -0,0 +1,612 @@
+var location = require("../../../mybehaviors/location/location");
+var app = getApp();
+Component({
+ behaviors: [location],
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ },
+ isStore: {
+ type: null
+ },
+ datas: {
+ type: null
+ },
+ shopPoint: {
+ type: null
+ },
+ shopCity: {
+ type: null
+ },
+ is_open: {
+ type: null
+ },
+ listStyle: {
+ type: null
+ },
+ },
+ data: {
+ language: "",
+ address: "",
+ point: {
+ lat: '',
+ lng: ''
+ },
+ city: '',
+ tab: 0,
+ panelIndex: 0,
+ titleName: [],
+ api: "",
+ dataJson: {},
+ pd_classfy_arr: [],
+ pd_date_arr: [],
+ //折扣的index
+ pd_index: 0,
+ pd_date_index: 0,
+ //商家数组和分页数据
+ shopList0: [],
+ isLoadMore0: false,
+ page0: 1,
+ total_page0: 0,
+ //折扣数组和分页数据
+ shopList1: [],
+ isLoadMore1: false,
+ page1: 1,
+ total_page1: 0,
+ //优惠券数组和分页数据
+ shopList2: [],
+ isLoadMore2: false,
+ page2: 1,
+ total_page2: 0,
+ //礼包数组和分页数据
+ shopList3: [],
+ isLoadMore3: false,
+ page3: 1,
+ total_page3: 0,
+ pd_date: {},
+
+ loading: false,
+ }, // 私有数据,可用于模板渲染11111
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ if (this.data.isStore) {
+ this.setData({
+ titleName: this.data.datas,
+ point: this.data.shopPoint,
+ city: this.data.shopCity,
+ });
+ this.chooseTab(" ", "business_merchant");
+ } else {
+ this.setData({
+ titleName: this.data.data
+ });
+ this.location();
+ }
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ location() {
+ this._getLocation(() => {
+ this.chooseTab(" ", "business_merchant");
+ });
+ },
+ toGoodBtn(e) {
+ let item = e.currentTarget.dataset.goods_id;
+ if (item.id) {
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + item.id
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + item
+ });
+ }
+ },
+
+ pFn(index) {
+ let p = {};
+ p.id = '';
+ return p.id = index;
+ },
+ chooseTab(key, index) {
+ // 找到对应的索引
+
+ if (!this.data.titleName) {
+ return;
+ }
+
+ let is_fn = this.pFn(index);
+ console.log(this.data.titleName);
+ let tabind = '';
+ this.data.titleName.forEach((element, ind) => {
+ if (element.id == is_fn) {
+ tabind = ind;
+ }
+ });
+ this.setData({
+ tab: tabind
+ });
+ this.setData({
+ api: this.data.titleName[this.data.tab].url
+ });
+ let type = this.data.titleName[this.data.tab].id;
+ this.setData({
+ [`isLoadMore${this.data.tab}`]: false,
+ [`total_page${this.data.tab}`]: 0,
+ [`page${this.data.tab}`]: 1
+ });
+ if (type === "business_merchant") {
+ let point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
+ this.setData({
+ dataJson: {
+ lng: point.lng ? point.lng : '',
+ lat: point.lat ? point.lat : '',
+ city_name: this.data.city,
+ page: this.data.page0
+ }
+ });
+ } else {
+ switch (type) {
+ case "business_discount":
+ this.setData({
+ dataJson: {
+ page: this.data.page1
+ }
+ });
+ break;
+ case "business_coupon":
+ this.setData({
+ dataJson: {
+ page: this.data.page2
+ }
+ });
+ break;
+ case "business_goods_gift":
+ this.setData({
+ dataJson: {
+ page: this.data.page3
+ }
+ });
+ break;
+ }
+ }
+ this.getList();
+ },
+ chooseTabData(e) {
+ let index = 0;
+ let title = e.detail.title;
+ // if (title == '商家') {
+ // index = 0;
+ // } else if (title == '折扣') {
+ // index = 1;
+ // } else if (title == '优惠券') {
+ // index = 2;
+ // } else if (title == '礼包产品') {
+ // index = 3;
+ // }
+ // title后台可以自定义
+ this.data.titleName.forEach((element, ind) => {
+ console.log(element, ind);
+ if (element.text == title) {
+ index = ind;
+ }
+ });
+ this.chooseTab(" ", this.data.titleName[index].id);
+ },
+ getList() {
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.api);
+ this.setData({loading: true});
+ app._getNetWork({
+ url: urlStr,
+ data: this.data.dataJson,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.tab === 1) {
+ that.setData({
+ pd_classfy_arr: res.data.store_category,
+ pd_date_arr: res.data.date_time
+ });
+ //赋初值日期和门店分类id
+ that.setData({
+ pd_category_id: res.data.store_category[0].id,
+ pd_date: res.data.date_time[0]
+ });
+ that.getPdData();
+ } else {
+ that.setData({
+ [`shopList${that.data.tab}`]: res.data.data,
+ [`total_page${that.data.tab}`]: res.data.last_page
+ });
+ }
+ if (that.data[`total_page${that.data.tab}`] <= 1) {
+ that.setData({
+ [`isLoadMore${that.data.tab}`]: false,
+ });
+ } else {
+ that.setData({
+ [`isLoadMore${that.data.tab}`]: true
+ });
+ }
+ } else {
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // })
+ console.log(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ complete: function () {
+ that.setData({loading: false});
+ },
+ });
+ },
+ getPdData() {
+ let that = this;
+ let point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
+ let json = {
+ lng: point.lng,
+ lat: point.lat,
+ city_name: this.data.city,
+ page: this.data.page1,
+ week: this.data.pd_date.week_num,
+ category_id: this.data.pd_category_id,
+ day: this.data.pd_date.day
+ };
+ let urlStr = app.getNetAddresss("plugin.universal-card.frontend.store-discount.privilege");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ total_page1: res.data.last_page,
+ shopList1: res.data.data,
+ });
+ if (that.data.total_page1 <= 1) {
+ that.setData({
+ isLoadMore1: false
+ });
+ } else {
+ that.setData({
+ isLoadMore1: true
+ });
+ }
+ } else {
+ that.setData({
+ isLoadMore1: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 跳转到店铺
+ toRouter(e) {
+ let item = e.currentTarget.dataset.item;
+ if (item.specify_show == 1) {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + item.id + '&fromHome=1'
+ });
+ } else {
+ if (item.store_decorate == 1) {
+ wx.navigateTo({
+ url: "/packageG/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageC/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
+ });
+ }
+ }
+ },
+ //跳转至分类
+ toClassify(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oCategory/o2oCategory?id=' + id + '&city=' + this.data.city + '&point=' + JSON.stringify(
+ this.data.point)
+ });
+ },
+ gophone(e) {
+ let mobile = e.currentTarget.dataset.mobile;
+ wx.makePhoneCall({
+ phoneNumber: mobile
+ });
+ },
+ goToAdress(e) {
+ let latitude = e.currentTarget.dataset.items.latitude;
+ let longitude = e.currentTarget.dataset.items.longitude;
+ let store_name = e.currentTarget.dataset.items.store_name;
+ // app.getGeocoder(e.currentTarget.dataset.items.address.city + e.currentTarget.dataset.items.address.detailed_address).then((point)=>{
+ // wx.openLocation({
+ // latitude: point.lat,
+ // longitude: point.lng,
+ // scale: 18,
+ // name: store_name
+ // });
+ // })
+ let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name
+ });
+ },
+ getMoreList() {
+ let that = this;
+ //获取更多数据
+ this.setData({
+ [`isLoadMore${this.data.tab}`]: false
+ });
+
+ let point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
+ if (this.data[`page${this.data.tab}`] >= this.data[`total_page${this.data.tab}`]) {
+ return;
+ } else {
+ this.data[`page${this.data.tab}`] = this.data[`page${this.data.tab}`] + 1;
+ switch (this.data.tab) {
+ case 0:
+ this.setData({
+ dataJson: {
+ lng: point.lng ? point.lng : '',
+ lat: point.lat ? point.lat : '',
+ city_name: this.data.city,
+ page: this.data.page0
+ }
+ });
+ break;
+ case 2:
+ this.setData({
+ dataJson: {
+ page: this.data.page2
+ }
+ });
+ break;
+ case 3:
+ this.setData({
+ dataJson: {
+ page: this.data.page3
+ }
+ });
+ break;
+ }
+ let urlStr = app.getNetAddresss(that.data.api);
+ this.setData({loading: true});
+ app._getNetWork({
+ url: urlStr,
+ data: that.data.dataJson,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.tab !== 1) {
+ that.setData({
+ [`shopList${that.data.tab}`]: that.data[`shopList${that.data.tab}`].concat(res.data.data),
+ [`total_page${that.data.tab}`]: res.data.last_page
+ });
+ }
+ if (that.data[`page${that.data.tab}`] >= that.data[`total_page${that.data.tab}`]) {
+ that.setData({
+ [`isLoadMore${that.data.tab}`]: false
+ });
+ } else {
+ that.setData({
+ [`isLoadMore${that.data.tab}`]: true
+ });
+ }
+ } else {
+ that.setData({
+ [`page${that.data.tab}`]: [`page${that.data.tab}`] - 1,
+ [`isLoadMore${that.data.tab}`]: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ complete: function () {
+ that.setData({loading: false});
+ },
+ });
+ }
+ },
+ //特权折扣--搜索--门店分类
+ pdClassfySearch(e) {
+ let index = e.currentTarget.dataset.index;
+ let id = e.currentTarget.dataset.id;
+ //1.改变选中状态
+ this.setData({
+ pd_index: index
+ });
+ //2.修改搜索参数--门店分类
+ this.setData({
+ pd_category_id: id
+ });
+ //3.初始化分页数据
+ this.pdInitData();
+ //4.执行搜索返回数据(带上日期的搜索值)
+ this.getPdData();
+ },
+ //特权折扣--分页
+ pdInitData() {
+ this.setData({
+ isLoadMore1: false,
+ page1: 1,
+ total_page1: 0,
+ shopList1: []
+ });
+ },
+ //特权折扣--搜索--日期
+ pdDateSearch(e) {
+ let index = e.currentTarget.dataset.index;
+ let date = e.currentTarget.dataset.date;
+ //1.改变选中状态
+ this.setData({
+ pd_date_index: index
+ });
+ //2.修改搜索参数--日期
+ this.setData({
+ pd_date: date
+ });
+ //3.初始化分页数据
+ this.pdInitData();
+ //4.执行搜索返回数据(带上门店分类的搜索值)
+ this.getPdData();
+ },
+ //跳转至门店首页
+ gotoShop(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + id
+ });
+ },
+ getMorePdData() {
+ let that = this;
+ this.setData({
+ isLoadMore1: false
+ });
+ if (this.data.page1 >= this.data.total_page1) {
+ return;
+ } else {
+ this.setData({
+ page1: this.data.page1 + 1
+ });
+ let point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
+ let json = {
+ lng: point.lng,
+ lat: point.lat,
+ city_name: this.data.city,
+ page: this.data.page1,
+ week: this.data.pd_date.week_num,
+ category_id: this.data.pd_category_id,
+ day: this.data.pd_date.day
+ };
+ let urlStr = app.getNetAddresss("plugin.universal-card.frontend.store-discount.privilege");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data.data;
+ that.setData({
+ shopList1: that.data.shopList1.concat(myData)
+ });
+ } else {
+ that.setData({
+ page1: that.data.page1 - 1,
+ isLoadMore1: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ //领取优惠券
+ getCoupon(e) {
+ let id = e.currentTarget.dataset.id;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.coupon-get");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ coupon_id: id
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showModal({
+ title: '提示',
+ content: '领取成功',
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ console.log(res.confirm);
+ }
+ }
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ toGood(e) {
+ let item = e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + item.id
+ });
+ },
+ },
+ observers: {
+ 'datas': function () {
+ if (this.data.datas) {
+ if (this.data.isStore) {
+ this.setData({
+ titleName: this.data.datas,
+ point: this.data.shopPoint,
+ city: this.data.shopCity,
+ });
+ this.chooseTab(" ", "business_merchant");
+ } else {
+ this.setData({
+ titleName: this.data.data
+ });
+ this.location();
+ }
+ console.log(this.data.titleName, 'titleName', this.data.isStore);
+ }
+ },
+ 'listStyle': function() {
+ this.setData({
+ openTemplate: this.data.listStyle == 1 ? "02" : "01"
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/packageC/mycomponent/business/business.json b/packageC/mycomponent/business/business.json
new file mode 100644
index 0000000..0d75ea4
--- /dev/null
+++ b/packageC/mycomponent/business/business.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-icon": "../../../dist/icon/index",
+ "van-loading": "../../../dist/loading/index",
+ "storeList02": "../storeList02/storeList02"
+ }
+}
diff --git a/packageC/mycomponent/business/business.wxml b/packageC/mycomponent/business/business.wxml
new file mode 100644
index 0000000..61c8e5c
--- /dev/null
+++ b/packageC/mycomponent/business/business.wxml
@@ -0,0 +1,218 @@
+
+
+
+
+
+
+
+
+
+
+ 商家休息中
+
+
+
+
+
+
+
+ {{ items.has_one_category.name }}
+
+
+
+ 暂无分类
+
+
+
+
+ {{ items.store_name }}
+
+
+
+ {{items.average_score}}分
+ 已售{{ items.order_total }}单
+
+ {{ items.distance }}{{ items.unit }}
+
+
+ {{items.address.city}}
+ {{items.address.detailed_address}}
+
+
+
+ 优惠
+ {{ coupon.name }}
+
+
+ 赠送
+ {{ items.store_point.point }}
+ {{ items.store_love.award_proportion }}
+
+
+ {{ items.goods_show.search_class_name || "抵扣" }}
+ {{ items.store_love.deduction_proportion }}
+ {{ items.store_point.max_point_deduct }}
+ {{ items.store_point.commission_deduct }}
+
+
+
+ {{dispatch}}
+
+
+
+
+
+
+
+
+
+
+
+ {{good.title}}
+ {{language['money']}}{{good.price}}
+
+
+ {{ item.name }}:{{ item.value }}
+
+
+
+
+
+
+
+
+
+
+ 数据加载中
+ 暂无数据~
+ 加载更多
+
+
+
+
+
+
+
+
+
+ {{ classfy.name }}
+
+
+
+
+
+
+ {{ date.week }}
+ {{ date.ye }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.store_name }}
+ 距离{{ item.distance }}km
+
+
+ {{ item.has_many_privilege[0].title }}
+
+
+ {{ item.has_many_privilege[0].discount_value }}折
+
+ 立即使用
+
+
+
+
+
+
+
+ 数据加载中...
+ 暂无数据~
+ 加载更多
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.store && item.store.store_name? item.store.store_name: " "}}
+
+
+
+ {{ item.name }}
+
+ 满{{ item.enough }}立减{{ item.deduct }}{{language['元']}}
+
+
+ {{ item.discount }}折优惠
+
+
+
+
+ {{language['money']}}{{ item.deduct }}
+
+
+ {{ item.discount }}折
+
+
+
+ 立即领取
+
+
+
+
+
+
+
+
+ 数据加载中...
+ 暂无数据~
+ 加载更多
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+ {{language['money']}}{{ item.vip_level_status&&item.vip_level_status.status==1?item.vip_level_status.word:item.price }}
+ {{language['money']}}{{ item.market_price }}
+
+
+
+
+
+
+ 数据加载中...
+ 暂无数据~
+ 加载更多
+
+
+
+
+
diff --git a/packageC/mycomponent/business/business.wxss b/packageC/mycomponent/business/business.wxss
new file mode 100644
index 0000000..261788f
--- /dev/null
+++ b/packageC/mycomponent/business/business.wxss
@@ -0,0 +1,727 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.list {
+ display: flex;
+ padding: 24rpx;
+ border-top: 2rpx solid #e7e9e4;
+ background: #fff;
+ font-size: 24rpx;
+ color: #333;
+ text-align: left;
+ position: relative;
+}
+
+.list .store-img {
+ width: 132rpx;
+}
+
+.list .store-img .store-logo {
+ width: 128rpx;
+ height: 128rpx;
+ overflow: hidden;
+ position: relative;
+
+ /* border: 2rpx solid #e8e8e8; */
+}
+
+.list .store-img .store-logo .img-mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 128rpx;
+ height: 128rpx;
+ z-index: 10;
+ border: 2rpx solid #e8e8e8;
+ font-size: 24rpx;
+ background-color: #3b4043;
+ opacity: 0.6;
+}
+
+.list .store-img .store-logo .img-text {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 128rpx;
+ height: 128rpx;
+ z-index: 15;
+ line-height: 128rpx;
+ text-align: center;
+ font-size: 24rpx;
+ color: white;
+}
+
+.list .store-img .store-logo .img {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+
+.list .store-img .store-logo .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.list .store-category {
+ margin-top: 12rpx;
+}
+
+.list .store-category .span {
+ width: 128rpx;
+ height: 40rpx;
+ display: block;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 24rpx;
+ line-height: 40rpx;
+ background-color: #ff6333;
+ border-radius: 10rpx;
+ color: #fff;
+}
+
+
+/* .store-intro {
+ flex: 1;
+ position: relative;
+ margin-left: 20rpx;
+}
+
+.store-intro .a8q {
+ height: 40rpx;
+ line-height: 40rpx;
+ overflow: hidden;
+ display: flex;
+ flex: 1;
+}
+
+.store-intro .a8q .h2 {
+ max-width: 320rpx;
+ font-size: 32rpx;
+ color: #333;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ display: inline-block;
+ margin-top: 0;
+ font-weight: bold;
+ flex: 1;
+}
+
+.store-intro .a8q .store_honor_icon1 {
+ display: inline-block;
+ width: 176rpx;
+ height: 40rpx;
+ font-size: 24rpx;
+ text-align: right;
+ margin-right: 4rpx;
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-size: 32rpx auto;
+}
+
+.store-intro .a8r {
+ font-size: 0;
+ padding-top: 20rpx;
+ overflow: hidden;
+}
+
+.store-intro .a8r .i8 {
+ display: inline-block;
+ background-color: #f5f5f5;
+ font-size: 0;
+ border-radius: 4rpx;
+ color: #18bdad !important;
+ line-height: 0;
+ overflow: hidden;
+}
+
+.store-intro .a8r .i8 .da {
+ display: inline-block;
+ line-height: 1;
+ padding: 4rpx;
+ font-size: 24rpx;
+}
+
+.store-intro .a8v {
+ height: 28rpx;
+ margin-top: 16rpx;
+ overflow: hidden;
+ font-size: 0;
+} */
+
+.order {
+ display: flex;
+}
+
+/* .store-intro .a8v .a8d {
+ overflow: hidden;
+ display: inline-block;
+ position: relative;
+}
+
+.store-intro .a8v .a8w {
+ font-size: 24rpx;
+ line-height: 28rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #999;
+ display: inline-block;
+}
+
+.store-intro .a8v .a8w .span {
+ color: #ff9800;
+}
+
+.store-intro .a8v .a8w .line_split {
+ display: inline-block;
+ width: 16rpx;
+ height: 20rpx;
+ background: url(//static-o2o.360buyimg.com/daojia/new/images/index/icon_line_split.jpg) no-repeat center 0.125rem;
+} */
+
+.store_honor_box {
+ width: 160rpx;
+}
+
+.store_honor_box .store_honor_icon1 {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+}
+
+.store_honor_box.span {
+ color: #8c8c8c;
+}
+
+.rebate_box {
+ background: #fff;
+}
+
+.rebate_box .content_b_a .tab_b {
+ background: #fff;
+ overflow-x: scroll;
+ white-space: nowrap;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.rebate_box .content_b_a .tab_b .tab_b_box {
+ display: flex;
+ font-size: 30rpx;
+}
+
+.rebate_box .content_b_a .tab_b .tab_b_box .li {
+ margin: 0 24rpx;
+ height: 84rpx;
+ line-height: 84rpx;
+ color: #666;
+}
+
+.rebate_box .content_b_a .tab_b .tab_b_box .current {
+ font-weight: bold;
+ color: #daac5e;
+ border-bottom: solid 0.1875rem #daac5e;
+}
+
+.rebate_box .content_b_a .tab_b .tab_b_box .li:last-child {
+ padding-right: 24rpx;
+}
+
+.rebate_box .content_b_a .tab_c {
+ background: #fafafa;
+}
+
+.rebate_box .content_b_a .tab_c .tab_c_box {
+ display: flex;
+}
+
+.rebate_box .content_b_a .tab_c .tab_c_box .li {
+ flex: 1;
+ padding: 20rpx 0;
+ color: #666;
+}
+
+.rebate_box .content_b_a .tab_c .tab_c_box .li .span {
+ display: block;
+ line-height: 40rpx;
+ font-size: 26rpx;
+ text-align: center;
+}
+
+.rebate_box .content_b_a .tab_c .tab_c_box .current {
+ background: rgba(218, 172, 94, 0.6);
+ color: #fff;
+}
+
+.rebate_box .content_b_a .goods_list {
+ padding: 0 24rpx;
+}
+
+.rebate_box .content_b_a .goods_list .goods {
+ display: flex;
+ padding: 32rpx 0;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.rebate_box .content_b_a .goods_list .goods .img {
+ width: 128rpx;
+ height: 128rpx;
+ border: solid 2rpx #e8e8e8;
+ overflow: hidden;
+ margin-right: 24rpx;
+}
+
+.rebate_box .content_b_a .goods_list .goods .img image {
+ width: 100%;
+}
+
+.rebate_box .content_b_a .goods_list .info {
+ width: 550rpx;
+}
+
+.rebate_box .content_b_a .goods_list .info .li {
+ display: flex;
+ justify-content: space-between;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_a {
+ margin-bottom: 8rpx;
+ font-size: 30rpx;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_a .span:first-child {
+ max-width: 360rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_a .span:last-child {
+ color: #8c8c8c;
+ font-size: 28rpx;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_b .span {
+ background: #f5f5f5;
+ font-size: 24rpx;
+ color: #18bdad;
+ padding: 0 8rpx;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_c {
+ color: #daac5e;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_c .span {
+ font-size: 32rpx;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_c .button {
+ border: solid 2rpx #daac5e;
+ padding: 4rpx 16rpx;
+ font-size: 26rpx;
+ border-radius: 6rpx;
+ color: #daac5e;
+}
+
+.coupon_list {
+ background: #fff;
+ padding: 20rpx 0;
+}
+
+.coupon_list .coupon {
+ background: #fff;
+ border: none;
+ margin: 20rpx auto;
+ width: 690rpx;
+ height: 200rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/coupon_b.png");
+ background-size: 690rpx 200rpx;
+ background-repeat: no-repeat;
+ display: flex;
+}
+
+.coupon_list .coupon .left {
+ width: 248rpx;
+ height: 180rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+}
+
+.coupon_list .coupon .left .img {
+ margin: 0 auto;
+ width: 72rpx;
+ height: 72rpx;
+ border-radius: 60rpx;
+ overflow: hidden;
+ margin-bottom: 16rpx;
+}
+
+.coupon_list .coupon .left .img image {
+ width: 100%;
+}
+
+.coupon_list .coupon .left .p {
+ width: 248rpx;
+ padding: 0 20rpx;
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 28rpx;
+ text-align: center;
+}
+
+.coupon_list .coupon .right {
+ width: 442rpx;
+ height: 180rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20rpx;
+ position: relative;
+}
+
+.coupon_list .coupon .right .right_a .li {
+ width: 256rpx;
+ line-height: 36rpx;
+ color: #daac5e;
+ text-align: left;
+ font-size: 26rpx;
+}
+
+.coupon_list .coupon .right .right_b .li:first-child {
+ color: #daac5e;
+ font-size: 28rpx;
+}
+
+.coupon_list .coupon .right .right_b .li:first-child .span {
+ font-size: 20px;
+}
+
+.coupon_list .coupon .right .right_b .li:last-child .button {
+ border: none;
+ background: #daac5e;
+ color: #fff;
+ font-size: 12px;
+ border-radius: 32rpx;
+ padding: 8rpx 16rpx;
+}
+
+.coupon_list .coupon .right .received_b {
+ position: absolute;
+ top: 0;
+ left: 40%;
+}
+
+.coupon_list .coupon .right .received_b icon {
+ font-size: 120rpx;
+ color: #daac5e;
+ opacity: 0.3;
+}
+
+.gift_box {
+ padding: 8rpx;
+ background: #fff;
+}
+
+.gift_box .fe-mod-8-main-name-buy {
+ height: 40rpx;
+ width: 60rpx;
+ float: right;
+ background-repeat: no-repeat;
+}
+
+.gift_box .buy-1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_3.png");
+ background-size: 60rpx 40rpx;
+}
+
+.gift_box .fe-mod-8-hp-line {
+ border: 2rpx solid #e5e5e5;
+ display: block;
+ background: #fff;
+ margin: 10rpx 0;
+ height: 180rpx;
+ padding: 10rpx;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-img {
+ height: 160rpx;
+ width: 160rpx;
+ background: #f2f2f2;
+ float: left;
+ position: relative;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-img .saleimg {
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-img image {
+ width: 100%;
+ height: 100%;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info {
+ height: 160rpx;
+ background: #fff;
+ padding-left: 180rpx;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .title {
+ text-align: left;
+ height: 80rpx;
+ font-size: 28rpx;
+ color: #333;
+ line-height: 40rpx;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .price {
+ height: 60rpx;
+ width: 100%;
+ margin-top: 20rpx;
+ font-size: 28rpx;
+ color: #bbb;
+ line-height: 60rpx;
+ float: left;
+ overflow: hidden;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .price .p1 {
+ float: left;
+ color: #f60;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .price .p2 {
+ font-size: 24rpx;
+ padding-left: 20rpx;
+ text-decoration: line-through;
+ float: left;
+ line-height: 64rpx;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .price .p3 {
+ color: #999;
+ padding-left: 20rpx;
+ float: left;
+ font-size: 24rpx;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .price .p4 {
+ color: #999;
+ padding-left: 20rpx;
+ float: left;
+ font-size: 24rpx;
+ width: 320rpx;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ font-weight: bold;
+}
+
+.store-intro2 {
+ flex: 1;
+ position: relative;
+ margin-left: 24rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.store-intro2 .h2 {
+ max-width: 544rpx;
+ font-size: 32rpx;
+ color: #333;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: inline-block;
+ margin-top: 0;
+ font-weight: bold;
+ flex: 1;
+}
+
+.store-intro2 .score-box {
+ display: flex;
+ width: 100%;
+ color: #666;
+ padding: 6rpx 0;
+ height: 40rpx;
+ line-height: 40rpx;
+}
+
+.store-intro2 .score-box .score-left {
+ flex: 1;
+ align-self: center;
+ justify-self: center;
+ display: flex;
+}
+
+.store-intro2 .score-box .score-left .icon-card_collect_b {
+ color: #ffba00;
+ display: flex;
+ align-items: center;
+}
+
+.store-intro2 .score-box .score-right {
+ color: #ff2c29;
+ flex: 0 0 160rpx;
+ text-align: right;
+}
+
+.store-intro2 .score-box .score-right .iconfont {
+ display: inline-flex;
+ color: #ff2c29;
+ font-size: 20px;
+ height: 24px;
+ line-height: 24px;
+}
+
+.store-intro2 .discount-box {
+ display: flex;
+ flex-direction: column;
+}
+
+.store-intro2 .discount-box .discount-item {
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.store-intro2 .discount-box .red {
+ color: #ff2c29;
+}
+
+.store-intro2 .dispatch-box {
+ display: flex;
+ padding: 16rpx 0;
+ overflow-x: auto;
+}
+
+.store-intro2 .dispatch-box .span {
+ margin-right: 12.8rpx;
+ padding: 0 9.6rpx;
+ color: #666;
+ border-radius: 20rpx;
+ border: solid 2rpx #ff8400;
+ flex-shrink: 0;
+}
+
+.goods-box {
+ display: flex;
+
+ /* width: 556.8rpx; */
+ overflow-x: scroll;
+ margin: 0 20rpx;
+}
+
+.flexBox {
+ width: 183rpx;
+ height: 300rpx;
+ flex-shrink: 0;
+}
+
+.goods-box .good-item {
+ width: 180rpx;
+ margin-right: 16rpx;
+ font-size: 30rpx;
+}
+
+.goods-box .good-item .good-img {
+ width: 180rpx;
+ height: 180rpx;
+ border-radius: 10rpx;
+}
+
+.goods-box .good-item .good-img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.goods-box .good-item .good-title {
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 24rpx;
+}
+
+.goods-box .good-item .good-price {
+ font-size: 22rpx;
+ color: #ff2c29;
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+/* 门店拼团 */
+.show_price_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.show_price {
+ font-size: 11px;
+ color: #ff2c29;
+ border: solid #ff2c29 1px;
+ padding: 1px 4px;
+ margin-top: 5px;
+}
+
+.red_white {
+ color: #fff;
+ background: #ff2c29;
+ margin-right: 5px;
+}
+
+.white_red {
+ color: #ff2c29;
+ background: #fff;
+}
+
+.store_deduction_style {
+ background: #ff2c29;
+ color: #fff !important;
+ border: 1px solid #ff2c29;
+ padding: 0 5px;
+ font-size: 10px;
+}
+
+.store_cash_back_style {
+ border: 1px solid #ff2c29;
+ color: #ff2c29;
+ padding: 0 5px;
+ font-size: 10px;
+ margin-left: 5px;
+}
+
+.bottom-status {
+ width: 100%;
+ height: 50px;
+ line-height: 50px;
+ text-align: center;
+}
+
+.loading-box {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+/* 门店拼团 */
diff --git a/packageC/mycomponent/carcontent/carcontent.js b/packageC/mycomponent/carcontent/carcontent.js
new file mode 100644
index 0000000..2be6489
--- /dev/null
+++ b/packageC/mycomponent/carcontent/carcontent.js
@@ -0,0 +1,45 @@
+// var app = getApp();
+Component({
+ properties: {
+ list: {
+ type: null
+ },
+ state: {
+ type: null
+ },
+ shopid: {
+ type: null
+ }
+ },
+ data: {
+ articles: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {},
+ moved() {},
+ detached() {}
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {}
+ },
+
+ methods: {
+ gocatelist(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageC/microshop/micro_shop_share_carelist/micro_shop_share_carelist?id=' + id + '&shop_id=' + this.data
+ .shopid
+ });
+ }
+ }
+});
diff --git a/packageC/mycomponent/carcontent/carcontent.json b/packageC/mycomponent/carcontent/carcontent.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/carcontent/carcontent.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/carcontent/carcontent.wxml b/packageC/mycomponent/carcontent/carcontent.wxml
new file mode 100644
index 0000000..765deeb
--- /dev/null
+++ b/packageC/mycomponent/carcontent/carcontent.wxml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+ {{catshop.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/carcontent/carcontent.wxss b/packageC/mycomponent/carcontent/carcontent.wxss
new file mode 100644
index 0000000..aa93e00
--- /dev/null
+++ b/packageC/mycomponent/carcontent/carcontent.wxss
@@ -0,0 +1,92 @@
+/* pages/carcontent1/carcontent1.wxss */
+.carcontent {
+ background: #eee;
+ color: #686868;
+ margin-bottom: 120rpx;
+ margin-top: 3%;
+}
+
+.carcontent .branch {
+ margin: 0 3%;
+}
+
+.carcontent .sote {
+ clear: both;
+ overflow: hidden;
+ margin-bottom: 20rpx;
+}
+
+.carcontent .h3 {
+ text-align: left;
+ font-size: 24rpx;
+ margin-left: 3%;
+ margin-bottom: 0;
+ padding: 10rpx 0 0;
+ font-weight: bold;
+ display: block;
+ clear: both;
+ color: #999;
+}
+
+.carcontent .h3 .a {
+ color: #333;
+}
+
+.carcontent .fa-bookmark::before {
+ margin-right: 12rpx;
+}
+
+.carcontent .a .span {
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #686868;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: block;
+}
+
+.carcontent .branch image {
+ width: 100%;
+}
+
+.carcontent .thumb {
+ line-height: 22.5vw;
+ overflow: hidden;
+ box-sizing: border-box;
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+ position: relative;
+}
+
+.carcontent .ul {
+ clear: both;
+ width: 94%;
+ overflow: hidden;
+ padding: 4% 0 0 4%;
+ margin: 3% 3% 0;
+ background: #fff;
+ box-sizing: border-box;
+}
+
+.carcontent .li {
+ width: 29%;
+ text-align: center;
+ float: left;
+ margin-bottom: 20rpx;
+ margin-right: 4%;
+ font-size: 24rpx;
+ background: #fff;
+}
+
+.carcontent .li image {
+ width: 98%;
+ right: 0;
+ height: 98%;
+ position: absolute;
+}
+
+.carcontent .li:nth-child(3n) {
+ margin-right: 0;
+}
diff --git a/packageC/mycomponent/carcontent1/carcontent1.js b/packageC/mycomponent/carcontent1/carcontent1.js
new file mode 100644
index 0000000..26ca115
--- /dev/null
+++ b/packageC/mycomponent/carcontent1/carcontent1.js
@@ -0,0 +1,53 @@
+// var app = getApp();
+Component({
+ properties: {
+ list: {
+ type: null
+ },
+ state: {
+ type: null
+ },
+ shopid: {
+ type: null
+ },
+ formCard: {
+ type: null
+ }
+ },
+ data: {
+ articles: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {},
+ moved() {},
+ detached() {}
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {}
+ },
+
+ methods: {
+ gocatelist(e) {
+ let id = e.currentTarget.dataset.id;
+ if (this.data.formCard) {
+ wx.navigateTo({
+ url: '/packageB/member/business_card/CardGoods/CardGoods' + '?id=' + id + '&card_id=' + this.data.formCard
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageC/microshop/catelist1/catelist1?id=' + id + '&shop_id=' + this.data
+ });
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/carcontent1/carcontent1.json b/packageC/mycomponent/carcontent1/carcontent1.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/carcontent1/carcontent1.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/carcontent1/carcontent1.wxml b/packageC/mycomponent/carcontent1/carcontent1.wxml
new file mode 100644
index 0000000..5507890
--- /dev/null
+++ b/packageC/mycomponent/carcontent1/carcontent1.wxml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+ {{catshop.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/carcontent1/carcontent1.wxss b/packageC/mycomponent/carcontent1/carcontent1.wxss
new file mode 100644
index 0000000..aa93e00
--- /dev/null
+++ b/packageC/mycomponent/carcontent1/carcontent1.wxss
@@ -0,0 +1,92 @@
+/* pages/carcontent1/carcontent1.wxss */
+.carcontent {
+ background: #eee;
+ color: #686868;
+ margin-bottom: 120rpx;
+ margin-top: 3%;
+}
+
+.carcontent .branch {
+ margin: 0 3%;
+}
+
+.carcontent .sote {
+ clear: both;
+ overflow: hidden;
+ margin-bottom: 20rpx;
+}
+
+.carcontent .h3 {
+ text-align: left;
+ font-size: 24rpx;
+ margin-left: 3%;
+ margin-bottom: 0;
+ padding: 10rpx 0 0;
+ font-weight: bold;
+ display: block;
+ clear: both;
+ color: #999;
+}
+
+.carcontent .h3 .a {
+ color: #333;
+}
+
+.carcontent .fa-bookmark::before {
+ margin-right: 12rpx;
+}
+
+.carcontent .a .span {
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #686868;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: block;
+}
+
+.carcontent .branch image {
+ width: 100%;
+}
+
+.carcontent .thumb {
+ line-height: 22.5vw;
+ overflow: hidden;
+ box-sizing: border-box;
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+ position: relative;
+}
+
+.carcontent .ul {
+ clear: both;
+ width: 94%;
+ overflow: hidden;
+ padding: 4% 0 0 4%;
+ margin: 3% 3% 0;
+ background: #fff;
+ box-sizing: border-box;
+}
+
+.carcontent .li {
+ width: 29%;
+ text-align: center;
+ float: left;
+ margin-bottom: 20rpx;
+ margin-right: 4%;
+ font-size: 24rpx;
+ background: #fff;
+}
+
+.carcontent .li image {
+ width: 98%;
+ right: 0;
+ height: 98%;
+ position: absolute;
+}
+
+.carcontent .li:nth-child(3n) {
+ margin-right: 0;
+}
diff --git a/packageC/mycomponent/carcontent3/carcontent3.js b/packageC/mycomponent/carcontent3/carcontent3.js
new file mode 100644
index 0000000..fb67a86
--- /dev/null
+++ b/packageC/mycomponent/carcontent3/carcontent3.js
@@ -0,0 +1,72 @@
+// var app = getApp();
+Component({
+ properties: {
+ list: {
+ type: null
+ },
+ state: {
+ type: null
+ },
+ shopid: {
+ type: null
+ }
+ },
+ data: {
+ articles: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ // console.log('listlist',this.data.list)
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ gotourl_2(e){
+ try {
+ wx.navigateTo({
+ url: e.currentTarget.dataset.url
+ });
+ } catch (err) {
+ wx.redirectTo({
+ url: '/packageG/index/index'
+ });
+ }
+ },
+ gotourl(e){
+ try {
+ wx.navigateTo({
+ url: e.currentTarget.dataset.url
+ });
+ } catch (err) {
+ wx.redirectTo({
+ url: '/packageG/index/index'
+ });
+ }
+ },
+ gocatelist(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageB/member/category/catelist/catelist?id=' + id + '&fromHome=1'
+ });
+ }
+ },
+});
diff --git a/packageC/mycomponent/carcontent3/carcontent3.json b/packageC/mycomponent/carcontent3/carcontent3.json
new file mode 100644
index 0000000..1aa2362
--- /dev/null
+++ b/packageC/mycomponent/carcontent3/carcontent3.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-collapse": "../../dist/collapse/index",
+ "van-collapse-item": "../../dist/collapse-item/index",
+ "van-transition": "../../dist/transition/index",
+ "van-popup": "../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/carcontent3/carcontent3.wxml b/packageC/mycomponent/carcontent3/carcontent3.wxml
new file mode 100644
index 0000000..d0b31e7
--- /dev/null
+++ b/packageC/mycomponent/carcontent3/carcontent3.wxml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+ {{catshop.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/carcontent3/carcontent3.wxss b/packageC/mycomponent/carcontent3/carcontent3.wxss
new file mode 100644
index 0000000..8e0e194
--- /dev/null
+++ b/packageC/mycomponent/carcontent3/carcontent3.wxss
@@ -0,0 +1,93 @@
+/* pages/carcontent1/carcontent1.wxss */
+.carcontent {
+ background: #eee;
+ color: #686868;
+ margin-bottom: 120rpx;
+
+ /* margin-top: 3%; */
+}
+
+.carcontent .branch {
+ margin: 0 3%;
+}
+
+.carcontent .sote {
+ clear: both;
+ overflow: hidden;
+ margin-bottom: 20rpx;
+}
+
+.carcontent .h3 {
+ text-align: left;
+ font-size: 24rpx;
+ margin-left: 3%;
+ margin-bottom: 0;
+ padding: 10rpx 0 0;
+ font-weight: bold;
+ display: block;
+ clear: both;
+ color: #999;
+}
+
+.carcontent .h3 .a {
+ color: #333;
+}
+
+.carcontent .fa-bookmark::before {
+ margin-right: 12rpx;
+}
+
+.carcontent .a .span {
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #686868;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: block;
+}
+
+.carcontent .branch image {
+ width: 100%;
+}
+
+.carcontent .thumb {
+ line-height: 22.5vw;
+ overflow: hidden;
+ box-sizing: border-box;
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+ position: relative;
+}
+
+.carcontent .ul {
+ clear: both;
+ width: 94%;
+ overflow: hidden;
+ padding: 4% 0 0 4%;
+ margin: 3% 3% 0;
+ background: #fff;
+ box-sizing: border-box;
+}
+
+.carcontent .li {
+ width: 29%;
+ text-align: center;
+ float: left;
+ margin-bottom: 20rpx;
+ margin-right: 4%;
+ font-size: 24rpx;
+ background: #fff;
+}
+
+.carcontent .li image {
+ width: 98%;
+ right: 0;
+ height: 98%;
+ position: absolute;
+}
+
+.carcontent .li:nth-child(3n) {
+ margin-right: 0;
+}
diff --git a/packageC/mycomponent/catchform/catchform.js b/packageC/mycomponent/catchform/catchform.js
new file mode 100644
index 0000000..c01b39d
--- /dev/null
+++ b/packageC/mycomponent/catchform/catchform.js
@@ -0,0 +1,65 @@
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {},
+ /**
+ * 组件的初始数据
+ */
+ data: {},
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ //点击即触发获取formId
+ catchSubmit: function(e) {
+ console.log(e);
+ try {
+ if (e.detail.formId != 'the formId is a mock one') {
+ // var that = this;
+ let urlStr = app.getNetAddresss("order.mini-app.form-id");
+ let uid = "";
+ let formId = e.detail.formId;
+ try {
+ const value = wx.getStorageSync('uid');
+ if (value) {
+ uid = value;
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ urlStr += '&formID=' + formId;
+ urlStr += '&memberId=' + uid;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res.result);
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ } catch (err) {
+ //todo
+ }
+ //触发回调
+ this.callback(e);
+ },
+ /**
+ * 捕获点击回调
+ */
+ callback: function(e) {
+ try {
+ this.triggerEvent("callback", e);
+ } catch (err) {
+ //todo
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/catchform/catchform.json b/packageC/mycomponent/catchform/catchform.json
new file mode 100644
index 0000000..e5ddf34
--- /dev/null
+++ b/packageC/mycomponent/catchform/catchform.json
@@ -0,0 +1,5 @@
+{
+ "component": true,
+ "usingComponents": {
+ }
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/catchform/catchform.wxml b/packageC/mycomponent/catchform/catchform.wxml
new file mode 100644
index 0000000..d1336a7
--- /dev/null
+++ b/packageC/mycomponent/catchform/catchform.wxml
@@ -0,0 +1,5 @@
+
diff --git a/packageC/mycomponent/catchform/catchform.wxss b/packageC/mycomponent/catchform/catchform.wxss
new file mode 100644
index 0000000..6e65bd5
--- /dev/null
+++ b/packageC/mycomponent/catchform/catchform.wxss
@@ -0,0 +1,15 @@
+form.catchForm button.catchBtn {
+ border: none;
+ text-align: inherit;
+ padding: 0;
+ margin: 0;
+ line-height: inherit;
+ background: transparent;
+ color: inherit;
+ border-radius: 0;
+ font-size: inherit;
+}
+
+form.catchForm button.catchBtn::after {
+ border: none;
+}
diff --git a/packageC/mycomponent/comment/comment.js b/packageC/mycomponent/comment/comment.js
new file mode 100644
index 0000000..e299d36
--- /dev/null
+++ b/packageC/mycomponent/comment/comment.js
@@ -0,0 +1,51 @@
+// var app = getApp();
+Component({
+ properties: {
+ commentInfo: {
+ type: null
+ },
+ type: {
+ type: null
+ },
+ score: {
+ type: null
+ },
+ total: {
+ type: null
+ },
+ storeid: {
+ type: null
+ }
+ },
+ data: {
+
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {},
+ moved() {},
+ detached() {}
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {}
+ },
+
+ methods: {
+ gotoCommentList() {
+ if (this.data.type == 2) {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + this.data.storeid + '&fromHome=1&activeType=comment'
+ });
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/comment/comment.json b/packageC/mycomponent/comment/comment.json
new file mode 100644
index 0000000..540f379
--- /dev/null
+++ b/packageC/mycomponent/comment/comment.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-rate": "../../../dist/rate/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/comment/comment.wxml b/packageC/mycomponent/comment/comment.wxml
new file mode 100644
index 0000000..fdc47e5
--- /dev/null
+++ b/packageC/mycomponent/comment/comment.wxml
@@ -0,0 +1,34 @@
+
+
+ 精选口碑
+ 好评率{{score}}
+
+
+ 查看全部({{total}})
+
+
+
+
+
+
+
+
+
+
+
+ {{item.nick_name}}
+
+
+
+ {{item.content}}
+
+
+
+
+
+
+
+ 抱歉,暂无评论 ~
+
+
+
diff --git a/packageC/mycomponent/comment/comment.wxss b/packageC/mycomponent/comment/comment.wxss
new file mode 100644
index 0000000..1fcd0e7
--- /dev/null
+++ b/packageC/mycomponent/comment/comment.wxss
@@ -0,0 +1,84 @@
+.sift {
+ /* height: 332rpx; */
+ background: #fff;
+ margin-top: 20rpx;
+ padding: 0 24rpx;
+ overflow: hidden;
+}
+
+.sift-title {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ font-size: 28rpx;
+ margin-top: 20rpx;
+}
+
+.swiper-kb {
+ box-shadow: 0 3px 15px #e6e6e6;
+ margin-top: 20rpx;
+ margin-left: 20rpx;
+}
+
+.swiper-kb .figure {
+ display: flex;
+}
+
+.swiper-kb .figure image {
+ width: 60rpx;
+ height: 60rpx;
+ margin-right: 20rpx;
+ margin-left: 21rpx;
+ margin-top: 30rpx;
+ border-radius: 100%;
+}
+
+.swiper-kb .figure .figtxt {
+ margin-top: 25rpx;
+ flex: 1;
+}
+
+.swiper-kb .figure .figtxt text {
+ height: 17px;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ margin-right: 10rpx;
+}
+
+.figure_right {
+ padding: 0 24rpx;
+ margin-top: 10rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+.tit_a {
+ margin-left: 24rpx;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.tit_a text {
+ font-size: 28rpx;
+ color: #ed0606;
+}
+
+.sift-right {
+ display: flex;
+ align-items: center;
+ color: #ed0606;
+ font-size: 28rpx;
+ flex: 1;
+ justify-content: flex-end;
+}
+
+.sift-right van-icon {
+ margin-top: 10rpx;
+}
diff --git a/packageC/mycomponent/count/count.js b/packageC/mycomponent/count/count.js
new file mode 100644
index 0000000..41abe26
--- /dev/null
+++ b/packageC/mycomponent/count/count.js
@@ -0,0 +1,166 @@
+var app = getApp();
+
+Component({
+ // 目前组件,只接受时间戳,其他的没有做
+ // 现在的时间,和结束时间,都必须从后台获取,因为客户端时间不一致
+ properties: {
+ nowTime: {
+ type: Number
+ },
+ overTime: {
+ type: Number
+ },
+ getTime: {
+ type: Number
+ }
+ },
+ data: {
+ time: null,
+ timer: null,
+ content: '',
+ flag: true,
+ text: ['天', '时', '分', '秒'],
+ newtime: null,
+ timers: null,
+ newcontent: '',
+ newflag: true
+ },
+ ready() {
+ if (!app._isTextEmpty(this.properties.getTime)) {
+ this.timer();
+ this.setData({
+ flag: false
+ });
+ } else {
+ this.setData({
+ newflag: false
+ });
+ this.time();
+ }
+ },
+ detached() {
+ // 页面被被销毁的时候,清除定时器
+ clearInterval(this.data.timer);
+ },
+ methods: {
+ time() {
+ this.data.timer = setInterval(() => {
+ this.countDown();
+ let time = this.data.time;
+ time = time - 1;
+ this.setData({
+ time: time
+ });
+ }, 1000);
+ },
+ countDown() {
+ // 解构赋值
+ let {
+ overTime,
+ nowTime,
+ timer
+ } = this.data;
+ let time;
+
+ if (overTime < nowTime) {
+ clearInterval(timer);
+ this.setData({
+ flag: false
+ });
+ return true;
+ } else {
+ // 只有在第一次赋值
+ if (!this.data.time) {
+ let temporary = overTime - nowTime;
+ this.setData({
+ time: temporary
+ });
+ }
+ time = this.data.time;
+ if (time === 0) {
+ clearInterval(timer);
+ this.setData({
+ flag: false
+ });
+ return true;
+ }
+ let day, hour, minute, second, content = '';
+ // 计算、天、时、分、秒
+ day = Math.floor(time / (60 * 60 * 24));
+ hour = Math.floor((time % (60 * 60 * 24)) / (60 * 60));
+ minute = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) / 60);
+ second = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) % 60);
+ let array = [day, hour, minute, second];
+ // 处理数据,如果、天、时、分、秒小于10,则拼接成09这种形式
+ let timeList = array.map((item, index) => item < 10 ? `0${item}` : item);
+ // 输出,进行字符拼接
+ timeList.forEach((item, index) => {
+ content += `${item}${this.data.text[index]}`;
+ });
+ this.setData({
+ content: content
+ });
+ }
+ },
+ timer() {
+ this.setData({
+ timers: setInterval(() => {
+ this.countStartDown();
+ let time = this.data.newtime;
+ time = time - 1;
+ this.setData({
+ newtime: time
+ });
+ }, 1000)
+ });
+ },
+ countStartDown() {
+ // 解构赋值
+ let {
+ getTime,
+ nowTime,
+ timers
+ } = this.data;
+ let time;
+ if (getTime < nowTime) {
+ clearInterval(timers);
+ this.setData({
+ newflag: false
+ });
+ return true;
+ } else {
+ // 只有在第一次赋值
+ if (!this.data.newtime) {
+ let temporary = getTime - nowTime;
+ this.setData({
+ newtime: temporary
+ });
+ }
+ time = this.data.newtime;
+ if (time === 0) {
+ clearInterval(timers);
+ this.setData({
+ newflag: false
+ });
+ return true;
+ }
+ let day, hour, minute, second, content = '';
+ // 计算、天、时、分、秒
+ day = Math.floor(time / (60 * 60 * 24));
+ hour = Math.floor((time % (60 * 60 * 24)) / (60 * 60));
+ minute = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) / 60);
+ second = Math.floor(((time % (60 * 60 * 24)) % (60 * 60)) % 60);
+ let array = [day, hour, minute, second];
+ // 处理数据,如果、天、时、分、秒小于10,则拼接成09这种形式
+ let timeList = array.map((item, index) => item < 10 ? `0${item}` : item);
+ // 输出,进行字符拼接
+ timeList.forEach((item, index) => {
+ content += `${item}${this.data.text[index]}`;
+ });
+ this.setData({
+ newcontent: content
+ });
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/count/count.json b/packageC/mycomponent/count/count.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/count/count.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/count/count.wxml b/packageC/mycomponent/count/count.wxml
new file mode 100644
index 0000000..c25b6df
--- /dev/null
+++ b/packageC/mycomponent/count/count.wxml
@@ -0,0 +1,2 @@
+{{content}}
+{{newcontent}}
\ No newline at end of file
diff --git a/packageC/mycomponent/count/count.wxss b/packageC/mycomponent/count/count.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/packageC/mycomponent/goodsList1/goodsList1.js b/packageC/mycomponent/goodsList1/goodsList1.js
new file mode 100644
index 0000000..85ffc9f
--- /dev/null
+++ b/packageC/mycomponent/goodsList1/goodsList1.js
@@ -0,0 +1,130 @@
+// var app = getApp();
+Component({
+ properties: {
+ goods: {
+ type: null
+ },
+ text: {
+ type: null
+ },
+ num: {
+ type: null
+ },
+ loading: {
+ type: null
+ }
+ },
+ data: {
+ language: '',
+ selectedGoodsID:[],
+ selectedGoods:[]
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+ methods: {
+ gogoods(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ // var urlStr = app.getNetAddresss("goods.goods.get-goods");
+ // urlStr += "&id=" + id;
+ // app._getNetWork({
+ // showToastIn: false,
+ // url: urlStr,
+ // success: function(resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // if (res.data.is_course == 1) {
+ // //CourseDetail goods_id: id
+ // } else if (res.data.goods_type == 1) {
+ // wx.navigateTo({
+ // url: '/packageA/detail_v2/detail_v2?id=' + id + '&tag=o2o' + '&store_id=' + res.data.store_id
+ // });
+ // } else {
+ // wx.navigateTo({
+ // url: '/packageA/detail_v2/detail_v2?id=' + id
+ // });
+ // }
+ // } else {
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // });
+ // }
+
+ // },
+ // fail: function(res) {
+
+ // }
+ // });
+ },
+ // 选择商品的方法
+ addGood(e) {
+ let val = e.currentTarget.dataset.id;
+ let flag = true;
+ //通过该对象的属性(属性为具体的商品ID)的真假值来判断是否选中
+ this.data.selectedGoods.map((item)=> {
+ if(item.id == val) {
+ flag = false;
+ item.value = !item.value;
+ if(item.value) {
+ this.data.selectedGoodsID.push(val);
+ }else {
+ this.data.selectedGoodsID = this.data.selectedGoodsID.filter((item)=> {
+ return item != val;
+ });
+ }
+ }
+ });
+ // console.log(val,'va',flag)
+ let obj = {
+ id: val,
+ value: flag
+ };
+ if(flag) {
+ this.data.selectedGoodsID.push(val);
+ this.data.selectedGoods.push(obj);
+ }
+
+ this.setData({
+ selectedGoodsID: this.data.selectedGoodsID,
+ selectedGoods: this.data.selectedGoods
+ });
+ // let num = 0;
+ //计算已经选中的商品个数,通过遍历对象查找对象属性为true的个数
+ // for (var key in this.data.selectedGoods) {
+ // if (this.data.selectedGoods[key]) {
+ // num++;
+ // }
+ // }
+ // console.log(this.data.selectedGoods,'va')
+ //向外传递已选商品的个数
+ this.triggerEvent('selectTotal', this.data.selectedGoods);
+ }
+ }
+});
diff --git a/packageC/mycomponent/goodsList1/goodsList1.json b/packageC/mycomponent/goodsList1/goodsList1.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/goodsList1/goodsList1.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/goodsList1/goodsList1.wxml b/packageC/mycomponent/goodsList1/goodsList1.wxml
new file mode 100644
index 0000000..5e15edb
--- /dev/null
+++ b/packageC/mycomponent/goodsList1/goodsList1.wxml
@@ -0,0 +1,49 @@
+
+ var inOf = function (val, str) { if (val) { return val.indexOf(str) } };
+ module.exports.inOf = inOf;
+
+
+
+ {{text}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{items.title}}
+
+
+
+
+ {{language['money']}}{{items.vip_level_status&&items.vip_level_status.status==1?items.vip_level_status.word:items.price}}
+
+
+
+
+ 分红 {{language['money']}}{{items.bonus_money}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/goodsList1/goodsList1.wxss b/packageC/mycomponent/goodsList1/goodsList1.wxss
new file mode 100644
index 0000000..aaf8fbc
--- /dev/null
+++ b/packageC/mycomponent/goodsList1/goodsList1.wxss
@@ -0,0 +1,137 @@
+.goodslist {
+ background: #f5f5f5;
+}
+
+.goodslist .h3 {
+ width: 65%;
+ position: relative;
+ margin: 0 auto 30rpx;
+ height: 40rpx;
+ padding: 20rpx 0 0;
+}
+
+.goodslist .h3 .title {
+ width: 45%;
+ text-align: center;
+ padding: 0 20rpx;
+ background: #f5f5f5;
+ position: absolute;
+ z-index: 9;
+ left: 0;
+ right: 0;
+ margin: auto;
+ font-size: 28rpx;
+ color: #666;
+}
+
+.goodslist .h3 .spas {
+ border-bottom: 2rpx solid #d9d9d9;
+ position: absolute;
+ z-index: 5;
+ top: 40rpx;
+ width: 100%;
+}
+
+.goodslist .mai {
+ width: 100%;
+ overflow: hidden;
+}
+
+.goodslist .main2 .list {
+ display: flex;
+ align-items: stretch;
+ background: #fff;
+ margin-bottom: 12rpx;
+ height: 190rpx;
+}
+
+.goodslist .main2 .imgs {
+ -ms-flex: 2;
+ flex: 2;
+ box-sizing: border-box;
+ padding: 20rpx;
+ padding-right: 0;
+ overflow: hidden;
+}
+
+.goodslist .a {
+ color: #2b2f33;
+}
+
+.goodslist .main2 .imgs image {
+ width: 100%;
+ height: 100%;
+}
+
+.goodslist .main2 .shop_info {
+ flex: 6;
+ box-sizing: border-box;
+ padding: 20rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.goodslist .main2 .shop_info .proTit {
+ font-weight: normal;
+ text-align: justify;
+ padding: 0;
+ margin: 0;
+ line-height: 40rpx;
+ height: 80rpx;
+ overflow: hidden;
+ width: 90%;
+}
+
+.goodslist .a {
+ color: #2b2f33;
+}
+
+.goodslist .main2 .shop_info .span {
+ flex: 1;
+ text-align: left;
+}
+
+.goodslist .main2 .shop_info .span .a {
+ color: #f23030;
+ font-weight: bold;
+ font-size: 24rpx;
+}
+
+.goodslist .main2 .shop_info .span {
+ flex: 1;
+ text-align: left;
+}
+
+.goodslist .main2 .shop_info .span .a {
+ color: #f23030;
+ font-weight: bold;
+ font-size: 24rpx;
+}
+
+.goodslist .main2 .add {
+ flex: 1;
+ box-sizing: border-box;
+ padding: 20rpx;
+ padding-right: 0;
+ overflow: hidden;
+}
+
+.goodslist .main2 .noActive {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/add.png") no-repeat 32rpx 80rpx;
+ background-size: 40rpx 40rpx;
+}
+
+.goodslist .main2 .active {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/addcheck.png") no-repeat 32rpx 80rpx;
+ background-size: 40rpx 40rpx;
+}
+
+.loadNomore {
+ padding-bottom: 160rpx;
+}
+
+.goodslist .loadNomore image {
+ display: block;
+ width: 20%;
+ margin: 0 auto;
+}
diff --git a/packageC/mycomponent/group_level/group_level.js b/packageC/mycomponent/group_level/group_level.js
new file mode 100644
index 0000000..57a51d2
--- /dev/null
+++ b/packageC/mycomponent/group_level/group_level.js
@@ -0,0 +1,65 @@
+var app = getApp();
+Component({
+ properties: {
+ data: {
+ type: []
+ },
+ params: {
+ type: null
+ }
+ },
+ data: {
+ language: '',
+ datas: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ let arr = this.properties.data;
+ arr.map(item => {
+ if (!app._isTextEmpty(item.end_time)) {
+ item.nowTime = new Date().getTime() / 1000;
+ if (!app._isTextEmpty(item.start_time)) {
+ let start_time = new Date(item.start_time).getTime() / 1000;
+ if (start_time > item.nowTime) {
+ item.ishow = false;
+ item.getTime = new Date(item.start_time).getTime() / 1000;
+ } else {
+ item.ishow = true;
+ }
+ }
+ item.overTime = new Date(item.end_time).getTime() / 1000;
+ }
+ });
+ let dataArr = this.properties.data;
+ dataArr.map(item => {
+ if (app._isTextEmpty(item.min_price)) {
+ item.min_price = '';
+ }
+ if (app._isTextEmpty(item.max_price)) {
+ item.max_price = '';
+ }
+ });
+
+ this.setData({
+ datas: dataArr
+ });
+ },
+ moved() {},
+ detached() {}
+ },
+
+ methods: {
+ // 去开团
+ buy(e) {
+ let item = e.target.dataset.item || e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + item.id + '&name=group'
+ });
+ }
+ }
+
+});
diff --git a/packageC/mycomponent/group_level/group_level.json b/packageC/mycomponent/group_level/group_level.json
new file mode 100644
index 0000000..e7eb931
--- /dev/null
+++ b/packageC/mycomponent/group_level/group_level.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "count": "../count/count"
+ }
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/group_level/group_level.wxml b/packageC/mycomponent/group_level/group_level.wxml
new file mode 100644
index 0000000..7efea92
--- /dev/null
+++ b/packageC/mycomponent/group_level/group_level.wxml
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+ {{params.title}}
+
+
+
+
+
+
+
+
+
+ 距开始:
+
+
+
+
+
+
+
+
+ {{item.goods_title}}
+
+
+
+
+
+ {{language['money']}}
+ {{ item.vip_level_status.word }}
+
+ {{ item.min_price }}
+
+
+
+
+ {{language['money']}} {{item.max_price}}
+
+
+
+
+
+ {{language['money']}}
+
+ {{ item.vip_level_status.word }}
+
+
+ {{ item.min_price }}
+
+
+
+
+
+
+
+
+ 满
+ {{item.member_request}}
+ 人成团
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 距开始:
+
+
+
+
+
+
+
+ {{item.goods_title}}
+
+
+
+ {{language['money']}}
+ {{ item.vip_level_status.word }}
+
+ {{ item.min_price }}
+
+
+
+
+ {{language['money']}} {{item.max_price}}
+
+
+
+
+
+ {{language['money']}}
+ {{ item.vip_level_status.word }}
+
+ {{ item.min_price }}
+
+
+
+
+
+
+
+ 满
+ {{item.member_request}}
+ 人成团
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 距开始:
+
+
+
+
+
+
+
+
+ {{item.goods_title}}
+
+
+ {{language['money']}} {{item.min_price}}
+
+
+ {{language['money']}} {{item.max_price}}
+
+
+
+
+ {{language['money']}} {{item.min_price}}
+
+
+
+
+ 满
+ {{item.member_request}}
+ 人成团
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 距开始:
+
+
+
+
+
+
+
+ {{item.goods_title}}
+
+
+
+ {{language['money']}}
+ {{ item.vip_level_status.word }}
+
+ {{ item.min_price }}
+
+
+
+
+ {{language['money']}} {{item.max_price}}
+
+
+
+
+
+ {{language['money']}}
+ {{ item.vip_level_status.word }}
+
+ {{ item.min_price }}
+
+
+
+
+
+
+ 满
+ {{item.member_request}}
+ 人成团
+
+
+
+
+ 去开团 >
+
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/group_level/group_level.wxss b/packageC/mycomponent/group_level/group_level.wxss
new file mode 100644
index 0000000..a1d7f4c
--- /dev/null
+++ b/packageC/mycomponent/group_level/group_level.wxss
@@ -0,0 +1,611 @@
+.rush-buy {
+ /* background: none !important; */
+ padding: 1rpx 0;
+}
+
+.rush-buy .buy-5 {
+ border: solid #f15353 2rpx !important;
+ color: #f15353 !important;
+ border-radius: 20rpx !important;
+ background-color: #fff !important;
+}
+
+.rush-buy .buy-6 {
+ border: solid #f15353 2rpx !important;
+ color: #fff !important;
+ border-radius: 20rpx !important;
+ background-color: red !important;
+}
+
+.rush-buy .buy-7 {
+ border: solid #f15353 2rpx !important;
+ color: #f15353 !important;
+ border-radius: 10rpx !important;
+ background-color: #fff !important;
+}
+
+.rush-buy .buy-8 {
+ border: solid #f15353 2rpx !important;
+ color: #fff !important;
+ border-radius: 10rpx !important;
+ background-color: red !important;
+}
+
+.rush-buy .sale-xp {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-xp.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-rx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-rx.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-tj {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-tj.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-xs {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-xs.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-by {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-by.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-cx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-cx.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .h2 {
+ font-weight: normal;
+}
+
+.rush-buy .double-row {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 16rpx 24rpx;
+ justify-content: space-between;
+}
+
+.rush-buy .double-row .list-box {
+ background-color: #fff;
+ width: 49%;
+ margin-right: 2%;
+ margin-bottom: 16rpx;
+ border-radius: 16rpx;
+}
+
+.rush-buy .double-row .list-box .img {
+ /* height: 49vw;
+ overflow: hidden;
+ background-color: #ccc;
+ position: relative; */
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ background-color: #ccc;
+ position: relative;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+ background-size: 100% 100%;
+}
+
+.rush-buy .double-row .list-box .img image {
+ width: 100%;
+ height: 47vw;
+}
+
+.rush-buy .double-row .list-box .img .time-box {
+ width: 100%;
+ position: absolute;
+ min-height: 60rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 0rpx;
+ text-align: left;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ color: #fff;
+ padding: 0 20rpx;
+ box-sizing: border-box;
+}
+
+.rush-buy .double-row .list-box .img .time-box .span {
+ color: #fff;
+ line-height: 60rpx;
+ font-size: 14px;
+ text-align: left;
+}
+
+.rush-buy .double-row .list-box .text {
+ /* padding: 12rpx; */
+ padding: 12rpx 16rpx;
+}
+
+.rush-buy .double-row .list-box .text .h2 {
+ line-height: 40rpx;
+ height: 80rpx;
+ font-size: 14px;
+ text-align: left;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.rush-buy .double-row .list-box .text .price {
+ line-height: 48rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 16px;
+}
+
+.rush-buy .double-row .list-box .text .price .left {
+ color: #f15353;
+ font-weight: bold;
+ font-size: 18px;
+}
+
+.rush-buy .double-row .list-box .text .price .right {
+ font-size: 14px;
+ text-decoration: line-through;
+ color: #8c8c8c;
+}
+
+.rush-buy .double-row .list-box .text .price .small {
+ font-size: 12px;
+}
+
+.rush-buy .double-row .list-box .text .rob {
+ line-height: 48rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.rush-buy .double-row .list-box .text .rob .left .big {
+ color: #f15353;
+ font-size: 14px;
+}
+
+.rush-buy .double-row .list-box .text .rob button {
+ background-color: #f15353;
+ color: #fff;
+ font-size: 12px;
+ height: 52rpx;
+ border-radius: 8rpx;
+ padding: 0 12rpx;
+ display: inline-block;
+ border: none;
+}
+
+.rush-buy .double-row .list-box:last-child {
+ margin-bottom: 0;
+}
+
+.rush-buy .double-row .list-box:nth-last-child(2) {
+ margin-bottom: 0;
+}
+
+.rush-buy .double-row .list-box:nth-child(2n) {
+ margin-right: 0;
+}
+
+.rush-buy .single-row {
+ background-color: #fff;
+ border-bottom: solid 2rpx #ebebeb;
+ margin: 16rpx 24rpx;
+ border-radius: 16rpx;
+}
+
+.rush-buy .single-row .img {
+ /* position: relative;
+ background-color: #ccc;
+ width: 100vw;
+ height: 100vw;
+ overflow: hidden; */
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+ position: relative;
+ background-color: #ccc;
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ background-size: 100% 100%;
+ background-repeat: no-repeat;
+}
+
+.rush-buy .single-row .img image {
+ width: 100%;
+ height: 95vw;
+}
+
+.rush-buy .single-row .img .time-box {
+ width: 100%;
+ position: absolute;
+ height: 80rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 0rpx;
+ text-align: left;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ padding: 0 20rpx;
+ box-sizing: border-box;
+}
+
+.rush-buy .single-row .img .time-box .span {
+ color: #fff;
+ line-height: 80rpx;
+ font-size: 32rpx;
+ text-align: left;
+}
+
+.rush-buy .single-row .text {
+ padding: 12rpx 20rpx;
+}
+
+.rush-buy .single-row .text .title {
+ display: flex;
+ justify-content: space-between;
+ font-size: 14px;
+}
+
+.rush-buy .single-row .text .title .h2 {
+ flex: 3;
+ font-size: 16px;
+ line-height: 48rpx;
+ height: 96rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ text-align: left;
+}
+
+.rush-buy .single-row .text .title .span {
+ text-align: right;
+ flex: 1;
+ font-size: 16px;
+}
+
+.rush-buy .single-row .text .title .span .big {
+ font-size: 20px;
+ color: #f15353;
+}
+
+.rush-buy .single-row .text .price {
+ display: flex;
+ justify-content: space-between;
+ font-size: 14px;
+ margin-top: 20rpx;
+}
+
+.rush-buy .single-row .text .price .left {
+ font-size: 18px;
+ color: #f15353;
+ line-height: 52rpx;
+ width: 100%;
+}
+
+.rush-buy .single-row .text .price .left .small {
+ font-size: 12px;
+}
+
+.rush-buy .single-row .text .price .left .price-b {
+ margin-left: 20rpx;
+ color: #999;
+ text-decoration: line-through;
+ font-size: 14px;
+}
+
+.rush-buy .single-row .text .price button {
+ border: none;
+ color: #fff;
+ height: 60rpx;
+ font-size: 14px;
+ border-radius: 6rpx;
+ padding: 0 20rpx;
+}
+
+.rush-buy .single-row .text .rob {
+ text-align: left;
+ height: 52rpx;
+ line-height: 52rpx;
+
+ /* display: flex; */
+
+ /* justify-content: space-between; */
+}
+
+.rush-buy .single-row .text .rob .left {
+ float: left;
+}
+
+.rush-buy .single-row .text .rob .left .big {
+ color: #f15353;
+}
+
+.rush-buy .single-row .text .rob button {
+ height: 52rpx;
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ font-size: 12px;
+ line-height: 52rpx;
+ border-radius: 8rpx;
+ padding: 0 20.8rpx;
+ float: right;
+}
+
+.rush-buy .three-row {
+ margin: 16rpx 24rpx;
+ display: flex;
+ flex-wrap: wrap;
+
+ /* justify-content: space-between */
+}
+
+dl:nth-child(3n) {
+ margin-right: 0;
+}
+
+/* .rush-buy .three-row .dl:nth-child(3n) {
+ margin-right: 0;
+} */
+dl:nth-child(-n + 3) {
+ margin-top: 0;
+}
+
+.rush-buy .three-row .dl {
+ width: 32%;
+ background-color: #fff;
+ margin-bottom: 16rpx;
+ border-radius: 16rpx;
+ overflow: hidden;
+}
+
+.rush-buy .three-row .dl:nth-child(3n) {
+ margin-right: 0rpx;
+}
+
+.rush-buy .three-row .dl .img {
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+ position: relative;
+
+ /* height: 212rpx; */
+
+ /* background-color: #ccc; */
+}
+
+.rush-buy .three-row .dl .img image {
+ width: 100%;
+ height: 224rpx;
+}
+
+.rush-buy .three-row .dl .img .time-box {
+ width: 100%;
+ position: absolute;
+ min-height: 60rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 0rpx;
+ text-align: left;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ padding: 0 8rpx;
+ box-sizing: border-box;
+}
+
+.rush-buy .three-row .dl .img .time-box .span {
+ color: #fff;
+ line-height: 60rpx;
+ font-size: 12px;
+ text-align: left;
+}
+
+.rush-buy .three-row .dl .text {
+ padding: 12rpx;
+}
+
+.rush-buy .three-row .dl .text .h2 {
+ text-align: left;
+ font-size: 12px;
+ line-height: 36rpx;
+ height: 72rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.rush-buy .three-row .dl .text .price {
+ line-height: 48rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 13px;
+}
+
+.rush-buy .three-row .dl .text .price .price-a {
+ color: #f15353;
+}
+
+.rush-buy .three-row .dl .text .price .price-b {
+ color: #999;
+ text-decoration: line-through;
+}
+
+.rush-buy .three-row .dl .text .price .small {
+ font-size: 12px;
+}
+
+.rush-buy .three-row .dl .text .rob {
+ text-align: left;
+ line-height: 48rpx;
+}
+
+.rush-buy .three-row .dl .text .rob .left .big {
+ color: #f15353;
+}
+
+.rush-buy .three-row .dl .text .button button {
+ width: 100%;
+ height: 52rpx;
+ border: none;
+ background-color: #f15353;
+ line-height: 45rpx;
+ color: #fff;
+ font-size: 12px;
+ border-radius: 8rpx;
+ padding: 0 8rpx;
+}
+
+.rush-buy .across-row .list {
+ background-color: #fff;
+ display: flex;
+}
+
+.rush-buy .across-row .list .img {
+ width: 38vw;
+ height: 38vw;
+ padding: 12rpx;
+ position: relative;
+}
+
+.rush-buy .across-row .list .img image {
+ width: 100%;
+ height: 100%;
+
+ /* padding: 12rpx; */
+}
+
+.rush-buy .across-row .list .img .time-box {
+ width: 92%;
+ position: absolute;
+ min-height: 60rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 12rpx;
+ left: 12rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ text-align: center;
+}
+
+.rush-buy .across-row .list .img .time-box .span {
+ color: #fff;
+ line-height: 60rpx;
+ font-size: 14px;
+ text-align: left;
+}
+
+.rush-buy .across-row .list .text {
+ width: 62vw;
+ position: relative;
+ padding: 20rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.rush-buy .across-row .list .text .h2 {
+ line-height: 48rpx;
+ height: 96rpx;
+ text-align: left;
+ font-size: 16px;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.rush-buy .across-row .list .text .price {
+ line-height: 60rpx;
+ display: flex;
+ font-size: 16px;
+}
+
+.rush-buy .across-row .list .text .price .small {
+ font-size: 12px;
+}
+
+.rush-buy .across-row .list .text .price .price-a {
+ color: #f15353;
+}
+
+.rush-buy .across-row .list .text .price .price-b {
+ color: #999;
+ text-decoration: line-through;
+ padding-left: 8rpx;
+ font-size: 12px;
+}
+
+.rush-buy .across-row .list .text .rob {
+ position: absolute;
+ bottom: 20rpx;
+ font-size: 14px;
+ line-height: 48rpx;
+ text-align: left;
+}
+
+.rush-buy .across-row .list .text .rob .big {
+ color: #f15353;
+}
+
+.rush-buy .across-row .list .text .button {
+ position: absolute;
+ bottom: 20rpx;
+ right: 20rpx;
+ text-align: left;
+}
+
+.rush-buy .across-row .list .text .button .button_1 {
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ border-radius: 8rpx;
+ text-align: center;
+}
diff --git a/packageC/mycomponent/grouplist/grouplist.js b/packageC/mycomponent/grouplist/grouplist.js
new file mode 100644
index 0000000..26d887f
--- /dev/null
+++ b/packageC/mycomponent/grouplist/grouplist.js
@@ -0,0 +1,45 @@
+// packageC/mycomponent/grouplist/grouplist.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ grouplist: {
+ type: null
+ },
+ store_id: {
+ type: null
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ language: '',
+ list: []
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ goGroup(e) {
+ let id = e.target.dataset.id || e.currentTarget.dataset.id;
+ console.log(e, id, '参数');
+
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id +'/'+this.data.store_id+ '&name=group'
+ });
+ }
+ },
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+ moved() {},
+ detached() {}
+ },
+});
\ No newline at end of file
diff --git a/packageC/mycomponent/grouplist/grouplist.json b/packageC/mycomponent/grouplist/grouplist.json
new file mode 100644
index 0000000..f8b80e8
--- /dev/null
+++ b/packageC/mycomponent/grouplist/grouplist.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/grouplist/grouplist.wxml b/packageC/mycomponent/grouplist/grouplist.wxml
new file mode 100644
index 0000000..075f026
--- /dev/null
+++ b/packageC/mycomponent/grouplist/grouplist.wxml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+ -
+ {{ item.title }}
+
+ -
+ {{language['money']}} {{ item.has_many_option_levels[0].group_price }} {{language['money']}} {{ item.has_many_option_levels[0].has_one_fight_groups_option.option_price }}
+
+ -
+
+
+ {{ item.has_many_option_levels[0].member_num }}人
+
+
+
+ 去开团
+
+
+
+
+
+
diff --git a/packageC/mycomponent/grouplist/grouplist.wxss b/packageC/mycomponent/grouplist/grouplist.wxss
new file mode 100644
index 0000000..c5c8056
--- /dev/null
+++ b/packageC/mycomponent/grouplist/grouplist.wxss
@@ -0,0 +1,107 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.group-box .goods_box {
+ display: flex;
+ padding: 20rpx;
+ border-bottom: solid 1rpx #ebebeb;
+}
+
+.group-box .goods_box .goods_img {
+ width: 240rpx;
+ height: 240rpx;
+ background: #f2f2f2;
+ overflow: hidden;
+ border-radius: 8rpx;
+ margin-right: 20rpx;
+}
+
+.group-box .goods_box .goods_img image {
+ width: 100%;
+ height: 100%;
+}
+
+.group-box .goods_box .goods_info {
+ width: 450rpx;
+ text-align: left;
+}
+
+.group-box .goods_box .goods_info .name {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.group-box .goods_box .goods_info .price {
+ font-size: 32rpx;
+ margin-top: 24rpx;
+ color: #f15353;
+ display: flex;
+ line-height: 32rpx;
+}
+
+.group-box .goods_box .goods_info .price view {
+ font-size: 24rpx;
+}
+
+.group-box .goods_box .goods_info .price view:last-child {
+ color: #8c8c8c;
+ margin-left: 20rpx;
+}
+
+.group-box .goods_box .goods_info .number {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-top: 52rpx;
+}
+
+.group-box .goods_box .goods_info .number .left {
+ display: flex;
+ align-items: center;
+}
+
+.group-box .goods_box .goods_info .number .left .iconfont {
+ font-size: 48rpx;
+ color: #f15353;
+ margin-right: 12rpx;
+}
+
+.group-box .goods_box .goods_info .number .left view {
+ color: #f15353;
+ font-size: 28rpx;
+ border-left: solid 2rpx #ebebeb;
+ padding-left: 12rpx;
+}
+
+.group-box .goods_box .goods_info .number .go_group {
+ width: 160rpx;
+ height: 56rpx;
+ border-radius: 8rpx;
+ background: #f15353;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.group-box .goods_box .goods_info .number .go_group view {
+ color: #fff;
+ font-size: 28rpx;
+}
+
+.group-box .goods_box .goods_info .number .go_group .fa {
+ color: #fff;
+ font-size: 32rpx;
+ margin-left: 20rpx;
+}
+
+.group-box .goods_box .goods_info .number .go_group .fa::before {
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
diff --git a/packageC/mycomponent/hospitalTab/hospital.js b/packageC/mycomponent/hospitalTab/hospital.js
new file mode 100644
index 0000000..ae04b7d
--- /dev/null
+++ b/packageC/mycomponent/hospitalTab/hospital.js
@@ -0,0 +1,52 @@
+// mycomponent/hospital.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ sta:String,
+ staTwo: String,
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ imag1: 'https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/tab_my_active.png',
+ imag2: 'https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/tab_my_normal.png',
+ image1: 'https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/tab_index_active.png',
+ image2: 'https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/tab_index_normal.png',
+ },
+ lifetimes: {
+ // // 在组件实例进入页面节点树时执行
+ attached(){
+ console.log(this.data.sta);
+ console.log(this.data.staTwo);
+ },
+ // 在组件实例被从页面节点树移除时执行
+ detached: function() {
+
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+
+ methods: {
+ go(e){
+ console.log(e.currentTarget.id);
+ if(e.currentTarget.id == 'sy'){
+ wx.redirectTo({
+ url: '/packageC/hospital/hospital_ind/hospital_ind',
+ });
+
+ }
+ if (e.currentTarget.id == 'wd'){
+ wx.redirectTo({
+ url: '/packageC/hospital/mycenter/mycenter',
+ });
+
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/hospitalTab/hospital.wxss b/packageC/mycomponent/hospitalTab/hospital.wxss
new file mode 100644
index 0000000..2c8d783
--- /dev/null
+++ b/packageC/mycomponent/hospitalTab/hospital.wxss
@@ -0,0 +1,64 @@
+/* mycomponent/hospital.wxss */
+
+.tabBox {
+ width: 100%;
+ height: 98rpx;
+ background-color: #fff;
+ box-shadow: 0rpx -5rpx 7rpx 0rpx rgba(146, 146, 146, 0.05);
+ border: solid 1rpx rgba(61, 61, 61, 0.15);
+ position: fixed;
+ bottom: 0;
+ display: flex;
+ justify-content: space-around;
+ flex-wrap: nowrap;
+ align-items: center;
+}
+
+/* .tabBox view {
+ width: 50%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+} */
+
+.one {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.one view {
+ display: flex;
+ flex-direction: column;
+}
+
+.two {
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.two view {
+ display: flex;
+ flex-direction: column;
+}
+
+.tabBox view image {
+ width: 43rpx;
+ height: 47rpx;
+ margin: 0 auto;
+}
+
+.coText {
+ font-size: 20rpx;
+ color: rgba(255, 139, 71, 1);
+ text-align: center;
+}
+
+.chText {
+ font-size: 20rpx;
+ color: rgba(102, 102, 102, 1);
+ text-align: center;
+}
diff --git a/packageC/mycomponent/hotel/date_picker/date_picker.js b/packageC/mycomponent/hotel/date_picker/date_picker.js
new file mode 100644
index 0000000..9a91ccd
--- /dev/null
+++ b/packageC/mycomponent/hotel/date_picker/date_picker.js
@@ -0,0 +1,150 @@
+Component({
+ properties: {
+ top: {
+ type: null,
+ },
+ type: {
+ type: null,
+ },
+ start: {
+ type: null,
+ },
+ end: {
+ type: null,
+ },
+ },
+ data: {
+ date_obj_arr: [],
+ m_index: 8888,
+ d_index: 9999,
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.getData();
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ getData() {
+ //获取日期数组
+ let month_arr = this.getMonthsArr();
+ //获取今天的日期和月份
+ let now_month =
+ new Date().getMonth() + 1 < 10
+ ? "0" + (new Date().getMonth() + 1)
+ : new Date().getMonth() + 1 + "";
+ let current_day = new Date().getDate();
+ month_arr.forEach((item) => {
+ //获取天数
+ let days = this.getMonthDay(item.year, item.month),
+ day_arr = [],
+ null_arr = [];
+ //获取null个数
+ let nulls = new Date(item.full).getDay();
+ //处理天数数组
+ for (let i = 0; i < days; i++) {
+ let obj = {};
+ obj["all_date"] = item.full + `-${i + 1}`;
+ if (current_day == i + 1 && now_month == item.month) {
+ obj["value"] = "今天";
+ } else {
+ obj["value"] = i + 1;
+ }
+ if (current_day > obj.value && now_month == item.month) {
+ obj["isOld"] = "-1";
+ } else if (current_day < obj.value && now_month == item.month) {
+ obj["isOld"] = "1";
+ } else {
+ if (now_month == item.month) {
+ obj["isOld"] = "0";
+ } else {
+ obj["isOld"] = "1";
+ }
+ }
+
+ day_arr.push(obj);
+ }
+ //获取null数组
+ for (let i = 0; i < nulls; i++) {
+ null_arr.push("null");
+ }
+ item.null = null_arr; //加入数组null
+ item.day = day_arr; //加入数组day_arr
+ });
+ this.setData({
+ date_obj_arr: month_arr,
+ });
+ },
+ getMonthDay(year, month) {
+ let d = new Date(year, month, 0);
+ return d.getDate();
+ },
+ //获取month循环数组(获取动态12个月数组)
+ getMonthsArr() {
+ let dataArr = [],
+ data = new Date(),
+ year = data.getFullYear(),
+ currentObj = {};
+ currentObj.year = year.toString();
+ currentObj.month =
+ data.getMonth() + 1 < 10
+ ? "0" + (data.getMonth() + 1)
+ : data.getMonth() + 1 + "";
+ currentObj.full = currentObj.year + "-" + currentObj.month;
+ for (let i = 0; i < 11; i++) {
+ data.setDate(1);
+ data.setMonth(data.getMonth() + 1); //每次循环一次 月份值加1
+ // let current_month = data.getMonth();
+ let obj = {};
+ obj.year = data.getFullYear().toString();
+ obj.month =
+ data.getMonth() + 1 < 10
+ ? "0" + (data.getMonth() + 1)
+ : data.getMonth() + 1 + "";
+ obj.full = obj.year + "-" + obj.month;
+ dataArr.push(obj);
+ }
+ dataArr.unshift(currentObj);
+ return dataArr;
+ },
+ close() {
+ this.triggerEvent("close", this.data.type);
+ },
+ chooseDate(e) {
+ let index1 = e.currentTarget.dataset.index;
+ let index2 = e.currentTarget.dataset.dayindex;
+ let date = e.currentTarget.dataset.alldate;
+ this.toggle(index1, index2);
+ this.triggerEvent("timeChange", {
+ type: this.data.type,
+ date: date,
+ });
+ },
+ toggle(index1, index2, date) {
+ //切换选中
+ if (this.data.m_index == index1 && this.data.d_index == index2) {
+ return;
+ } else {
+ this.setData({
+ m_index: index1,
+ d_index: index2,
+ });
+ }
+ },
+ },
+});
diff --git a/packageC/mycomponent/hotel/date_picker/date_picker.json b/packageC/mycomponent/hotel/date_picker/date_picker.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/hotel/date_picker/date_picker.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/hotel/date_picker/date_picker.wxml b/packageC/mycomponent/hotel/date_picker/date_picker.wxml
new file mode 100644
index 0000000..5be686d
--- /dev/null
+++ b/packageC/mycomponent/hotel/date_picker/date_picker.wxml
@@ -0,0 +1,44 @@
+
+
+
+ 选择{{ type }}日期
+
+
+
+
+ 日
+ 一
+ 二
+ 三
+ 四
+ 五
+ 六
+
+
+
+
+
+ {{ item.full }}
+
+
+
+ {{ day_item.value }}
+
+
+ {{ day_item.value }}
+ {{day_index == d_index && index == m_index ? type : ""}}
+
+
+ {{ day_item.value }}
+ {{ day_index == d_index && index == m_index ? type : ""}}
+
+
+
+
+
+
diff --git a/packageC/mycomponent/hotel/date_picker/date_picker.wxss b/packageC/mycomponent/hotel/date_picker/date_picker.wxss
new file mode 100644
index 0000000..ed82a61
--- /dev/null
+++ b/packageC/mycomponent/hotel/date_picker/date_picker.wxss
@@ -0,0 +1,101 @@
+.time_box {
+ display: inline;
+ text-align: center;
+}
+
+.time_box .fixed {
+ top: 20%;
+}
+
+.time_box .box {
+ margin-top: 140rpx;
+}
+
+.time_box .title {
+ background: #fff;
+ line-height: 80rpx;
+ text-align: center;
+ display: flex;
+}
+
+.time_box .title .h3 {
+ width: 100%;
+ font-size: 32rpx;
+}
+
+.time_box .title icon {
+ font-size: 32rpx;
+ color: #999;
+ position: absolute;
+ right: 20rpx;
+ line-height: 80rpx;
+}
+
+.time_box .week_box {
+ background: #f5f5f5;
+}
+
+.time_box .week_box .week {
+ display: flex;
+}
+
+.time_box .week_box .week .li {
+ width: 107rpx;
+ font-size: 30rpx;
+ line-height: 60rpx;
+}
+
+.time_box .week_box .week .li:last-child,
+.time_box .week_box .week .li:first-child {
+ color: #f15353;
+}
+
+.time_box .month_box {
+ background: #fff;
+ margin-bottom: 20rpx;
+}
+
+.time_box .month_box .h4 {
+ line-height: 72rpx;
+ text-align: center;
+ border-bottom: solid 2rpx #ebebeb;
+ font-size: 30rpx;
+ font-weight: normal;
+}
+
+.time_box .month_box .month {
+ padding: 20rpx 0;
+}
+
+.time_box .month_box .month .row {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.time_box .month_box .month .row .li {
+ flex-direction: row;
+ width: 107rpx;
+ font-size: 30rpx;
+ height: 90rpx;
+}
+
+.time_box .month_box .month .row .cur {
+ background: #53a1f1;
+ border-radius: 8rpx;
+ color: #fff;
+}
+
+.choose {
+ background: #333;
+ color: #fff;
+}
+
+.choose1 {
+ background: #333;
+ color: #fff;
+}
+
+.cur_choose {
+ border: solid 2rpx #53a1f1;
+ background: #eaf4fd;
+}
diff --git a/packageC/mycomponent/hotel/list/list.js b/packageC/mycomponent/hotel/list/list.js
new file mode 100644
index 0000000..1904c3f
--- /dev/null
+++ b/packageC/mycomponent/hotel/list/list.js
@@ -0,0 +1,62 @@
+Component({
+ properties: {
+ hoteldatas: {
+ type: null
+ },
+ show: {
+ type: null
+ },
+ start: {
+ type: null
+ },
+ end: {
+ type: null
+ }
+ },
+ data: {
+ language: '',
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ gotoHomePage(e) {
+ let value = e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: '/packageC/hotel/HotelHome/HotelHome?id=' + value.id + '&city=' + value.address.city + '&start=' + (this.data
+ .start ? this.data
+ .start : '') + '&end=' + (this.data.end ? this.data.end : '')
+ });
+ },
+ goChooseRoom(e) {
+ let value = e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: '/packageC/hotel/HotelChooseRoom/HotelChooseRoom?id=' + value.id + '&start=' + (this.data.start ? this.data
+ .start : '') + '&end=' + (this.data.end ? this.data.end : '')
+ });
+ }
+ }
+});
diff --git a/packageC/mycomponent/hotel/list/list.json b/packageC/mycomponent/hotel/list/list.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/hotel/list/list.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/hotel/list/list.wxml b/packageC/mycomponent/hotel/list/list.wxml
new file mode 100644
index 0000000..9b7e47f
--- /dev/null
+++ b/packageC/mycomponent/hotel/list/list.wxml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+ {{ item.hotel_name }}
+ {{ item.has_one_category.name }}
+
+
+ 4.8棒{{ item.order_total }}+人消费
+
+ 距我{{ item.distance }}{{ item.unit }}
+
+ 最新预定:{{item.order_time.day == 0? item.order_time.hour == 0? item.order_time.min == 0? "一分钟之前": (item.order_time.min+'分钟之前'): (item.order_time.hour+'小时之前'): (item.order_time.day+'天之前')}}
+
+
+
+ {{language['money']}}
+ {{ item.room_amount?item.room_amount:'' }}
+ 起
+
+
+ 订房
+
+
+
+
diff --git a/packageC/mycomponent/hotel/list/list.wxss b/packageC/mycomponent/hotel/list/list.wxss
new file mode 100644
index 0000000..03de514
--- /dev/null
+++ b/packageC/mycomponent/hotel/list/list.wxss
@@ -0,0 +1,106 @@
+.goods {
+ display: flex;
+ margin-bottom: 20rpx;
+}
+
+.goods .img {
+ width: 200rpx;
+ height: 200rpx;
+ background: #f8f8f8;
+ overflow: hidden;
+ margin: 0 20rpx;
+}
+
+.goods .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.goods .info {
+ text-align: left;
+ width: 512rpx;
+ padding-right: 20rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ padding-bottom: 20rpx;
+}
+
+.goods .info .info_a {
+ font-size: 32rpx;
+ font-weight: bold;
+ line-height: 48rpx;
+ max-height: 96rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+.goods .info .info_a .font {
+ font-size: 24rpx;
+ color: #8c8c8c;
+ font-weight: normal;
+ margin-left: 20rpx;
+}
+
+.goods .info .info_b {
+ font-size: 24rpx;
+ color: #8c8c8c;
+}
+
+.goods .info .info_b .span {
+ font-size: 40rpx;
+ color: #337ef9;
+ font-weight: bold;
+ margin-right: 20rpx;
+}
+
+.goods .info .info_b .span .font {
+ font-size: 28rpx;
+ font-weight: normal;
+}
+
+.goods .info .info_c {
+ font-size: 24rpx;
+ color: #8c8c8c;
+}
+
+.goods .info .info_d {
+ font-size: 24rpx;
+ color: #259b24;
+}
+
+.goods .info .info_e {
+ color: #f15353;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.goods .info .info_e .left {
+ display: flex;
+ align-items: center;
+}
+
+.goods .info .info_e .span {
+ font-size: 40rpx;
+ font-weight: bold;
+}
+
+.goods .info .info_e .font:last-child {
+ color: #8c8c8c;
+}
+
+.goods .info .info_e .boder-btn {
+ letter-spacing: 1px;
+ margin: 20rpx 0 0 20rpx;
+ background-color: #f15353;
+ font-size: 32rpx;
+ font-weight: 500;
+ width: 115rpx;
+ height: 44rpx;
+ line-height: 44rpx;
+ text-align: center;
+ border-radius: 6rpx;
+ border: 2rpx solid #f15353;
+ color: #fff;
+}
diff --git a/packageC/mycomponent/member/member_fight_groups/member_fight_groups.js b/packageC/mycomponent/member/member_fight_groups/member_fight_groups.js
new file mode 100644
index 0000000..f50e40a
--- /dev/null
+++ b/packageC/mycomponent/member/member_fight_groups/member_fight_groups.js
@@ -0,0 +1,76 @@
+Component({
+ properties: {
+ member_order: {
+ type: null
+ },
+ Order: {
+ type: null
+ },
+ Params: {
+ type: null
+ }
+ },
+ data: {
+ groups_order: {}
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ if (this.data.member_order && this.data.member_order.fight_groups_order) {
+ this.data.member_order.fight_groups_order.forEach(item => {
+ if (item.status == 0) {
+ this.setData({
+ 'groups_order.waitPay': item.total
+ });
+ } else if (item.status == 1) {
+ this.setData({
+ 'groups_order.waitSure': item.total
+ });
+ } else if (item.status == 2) {
+ this.setData({
+ 'groups_order.waitEnter': item.total
+ });
+ } else if (item.status == 11) {
+ this.setData({
+ 'groups_order.waitCheckOut': item.total
+ });
+ }
+ });
+ }
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ gohotelOrderlist(e) {
+ let status = e.currentTarget.dataset.status;
+ let ordertype = e.currentTarget.dataset.ordertype;
+ if(status == 5){
+ wx.navigateTo({
+ url: '/packageD/member/myOrder/Aftersaleslist/Aftersaleslist?orderType='+ ordertype
+ });
+ return;
+ }
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2?status=' + status + '&orderType=' + ordertype
+ });
+ },
+ }
+});
diff --git a/packageC/mycomponent/ment_microshop/ment_microshop.js b/packageC/mycomponent/ment_microshop/ment_microshop.js
new file mode 100644
index 0000000..bd3e4c2
--- /dev/null
+++ b/packageC/mycomponent/ment_microshop/ment_microshop.js
@@ -0,0 +1,62 @@
+Component({
+ properties: {
+ datas: {
+ type: null,
+ },
+ shopid: {
+ type: null,
+ },
+ },
+ data: {}, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ // this.getseve();
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ this.getseve();
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {
+ // this.getseve();
+ },
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ gomicroShopShareCarelist(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url:
+ "/packageC/microshop/micro_shop_share_carelist/micro_shop_share_carelist?id=" +
+ id +
+ "&shop_id=" +
+ this.data.shopid,
+ });
+ //'micro_shop_share_carelist',{id:item.id}
+ },
+ getseve() {
+ var query = wx.createSelectorQuery().in(this);
+ var that = this;
+ query
+ .select(".ul")
+ .boundingClientRect(function (rect) {
+ console.log(rect);
+ that.setData({
+ heights: rect.height,
+ });
+ })
+ .exec();
+ },
+ },
+});
diff --git a/packageC/mycomponent/ment_microshop/ment_microshop.json b/packageC/mycomponent/ment_microshop/ment_microshop.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/packageC/mycomponent/ment_microshop/ment_microshop.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageC/mycomponent/ment_microshop/ment_microshop.wxml b/packageC/mycomponent/ment_microshop/ment_microshop.wxml
new file mode 100644
index 0000000..b58d6f9
--- /dev/null
+++ b/packageC/mycomponent/ment_microshop/ment_microshop.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
diff --git a/packageC/mycomponent/ment_microshop/ment_microshop.wxss b/packageC/mycomponent/ment_microshop/ment_microshop.wxss
new file mode 100644
index 0000000..5b81d83
--- /dev/null
+++ b/packageC/mycomponent/ment_microshop/ment_microshop.wxss
@@ -0,0 +1,44 @@
+
+.microshop .ul {
+ margin-top: 28rpx;
+ padding: 0;
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box;
+}
+
+.microshop .ul .li {
+ width: 25%;
+ margin-bottom: 20rpx;
+}
+
+.microshop .ul .li .image {
+ height: 3.28rem;
+
+ /* height: 94rpx; */
+ overflow: hidden;
+}
+
+.microshop .ul .li .image {
+ display: flex;
+ justify-content: center;
+}
+
+.microshop .ul .li image {
+ width: 92rpx;
+ height: 92rpx;
+ vertical-align: middle;
+}
+
+.microshop .ul .li .p {
+ margin: 0;
+ font-size: 24rpx;
+ line-height: 36rpx;
+ max-height: 72rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -webkit-line-clamp: 2;
+ padding: 0 16rpx;
+ display: block;
+ text-align: center;
+}
diff --git a/packageC/mycomponent/microIndex_footer/microIndex_footer.js b/packageC/mycomponent/microIndex_footer/microIndex_footer.js
new file mode 100644
index 0000000..a89a77e
--- /dev/null
+++ b/packageC/mycomponent/microIndex_footer/microIndex_footer.js
@@ -0,0 +1,89 @@
+// mycomponent/microIndex_footer.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ activeId: {
+ type: null,
+ },
+ self: {
+ type: null,
+ },
+ },
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.getiPnoneBottom();
+ },
+ moved() {},
+ detached() {},
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ iPnoneBottomBol: false,
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ goTo(e) {
+ let id = e.currentTarget.dataset.id;
+ switch (id) {
+ case "1":
+ if (id != this.data.activeId) {
+ wx.redirectTo({
+ url: "/packageC/micro_communities/microIndex/microIndex",
+ });
+ }
+ break;
+ case "2":
+ if (id != this.data.activeId) {
+ wx.redirectTo({
+ url: "/packageC/micro_communities/microAttention/microAttention",
+ });
+ }
+ break;
+ case "3":
+ wx.navigateTo({
+ url: "/packageC/micro_communities/microRelease/microRelease",
+ });
+ break;
+ case "4":
+ if (id == this.data.activeId && !this.data.self) {
+ //doNothing
+ } else {
+ wx.redirectTo({
+ url: "/packageC/micro_communities/microhomepage/microhomepage",
+ });
+ }
+ break;
+ case "5":
+ wx.reLaunch({
+ url: "/packageG/member_v2/member_v2",
+ });
+ break;
+ default:
+ console.log("error");
+ }
+ },
+ getiPnoneBottom() {
+ let that = this;
+ try {
+ var value = wx.getStorageSync("iPhoneBottom");
+ if (value) {
+ that.setData({
+ iPnoneBottomBol: true,
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ },
+});
diff --git a/packageC/mycomponent/microIndex_footer/microIndex_footer.json b/packageC/mycomponent/microIndex_footer/microIndex_footer.json
new file mode 100644
index 0000000..f8b80e8
--- /dev/null
+++ b/packageC/mycomponent/microIndex_footer/microIndex_footer.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/microIndex_footer/microIndex_footer.wxml b/packageC/mycomponent/microIndex_footer/microIndex_footer.wxml
new file mode 100644
index 0000000..c37ceaa
--- /dev/null
+++ b/packageC/mycomponent/microIndex_footer/microIndex_footer.wxml
@@ -0,0 +1,51 @@
+
+
+
diff --git a/packageC/mycomponent/microIndex_footer/microIndex_footer.wxss b/packageC/mycomponent/microIndex_footer/microIndex_footer.wxss
new file mode 100644
index 0000000..470be50
--- /dev/null
+++ b/packageC/mycomponent/microIndex_footer/microIndex_footer.wxss
@@ -0,0 +1,51 @@
+/* mycomponent/microIndex_footer.wxss */
+.footer {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ height: 100rpx;
+ background: #fff;
+ box-sizing: border-box;
+ z-index: 100;
+}
+
+.footer .ul {
+ box-sizing: border-box;
+ width: 100%;
+ height: 100rpx;
+ padding: 16rpx;
+ display: flex;
+}
+
+.footer .ul .a {
+ width: 25%;
+ font-size: 12px;
+ color: #828282;
+ display: flex;
+ justify-content: center;
+}
+
+.footer .ul .a .li .top {
+ display: flex;
+ justify-content: center;
+}
+
+.footer .ul .openMyShop {
+ width: 72rpx;
+ height: 72rpx;
+ border-radius: 50%;
+ line-height: 40rpx;
+ box-sizing: border-box;
+ text-align: center;
+ position: relative;
+ bottom: 0;
+ font-size: 28rpx;
+ z-index: 100;
+ margin: 0 auto;
+}
+
+.footer .ul .normalIcon {
+ width: 40rpx;
+ height: 40rpx;
+ display: inline-block;
+}
diff --git a/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.js b/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.js
new file mode 100644
index 0000000..e5b68c1
--- /dev/null
+++ b/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.js
@@ -0,0 +1,101 @@
+var posterBehavior = require('../../../poster/poster');
+
+var app = getApp();
+
+Component({
+ behaviors: [posterBehavior],
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ activeID:{
+ value:0,
+ type:Number
+ },
+ store_id:{
+ value:0,
+ type:Number
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ listData:{}
+ },
+ observers:{
+ 'isshow':function(isshow){
+ console.log("==============",this.data.listData[this.data.activeID],this.properties.activeID);
+ if(isshow && !this.data.listData[this.data.activeID] && this.data.getFlag){
+ this.data.getFlag=false;
+ this.getPosterPic();
+ }else if(this.data.listData[this.data.activeID] !='' ){
+ this.setData({
+ poster: this.data.listData[this.data.activeID],
+ });
+ }
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ async getPosterPic(){
+ var urlStr = app.getNetAddresss("plugin.fight-groups.frontend.controllers.group-poster.generate-goods-poster");
+ this.setData({
+ poster: "",
+ });
+ let that = this;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data:{
+ id:that.properties.activeID,
+ store_id:that.data.store_id
+ },
+ success: (resdata)=> {
+ let res = resdata.data;
+ if(res.result!=1){
+ wx.showToast({
+ title: res.msg,
+ });
+ return;
+ }
+ this.data.listData[this.data.data] = res.data.image_url;
+ this.setData({
+ poster: res.data.image_url,
+ });
+ },
+ complete:()=>{
+ this.data.getFlag=true;
+ }
+
+ });
+ },
+ saveImg(){
+ console.log("执行",this.data.poster);
+ var imgSrc = this.data.poster;
+ var imgPath = wx.env.USER_DATA_PATH+'/solitaire_qrcode'+'haibao'+ '.png';
+ var imageData = imgSrc.replace(/^data:image\/\w+;base64,/, "");
+ var fs = wx.getFileSystemManager();
+ fs.writeFileSync(imgPath, imageData, "base64");
+ wx.saveImageToPhotosAlbum({
+ filePath: imgPath,
+ success: (data)=> {
+ fs.unlinkSync(imgPath);
+ wx.showToast({
+ title: '保存成功',
+ icon: 'none',
+ duration: 2000
+ });
+ },
+ fail: function(err) {
+ console.log(err);
+ }
+ });
+ },
+
+
+ }
+});
diff --git a/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.json b/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.json
new file mode 100644
index 0000000..8562088
--- /dev/null
+++ b/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.wxml b/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.wxml
new file mode 100644
index 0000000..a4b085f
--- /dev/null
+++ b/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.wxml
@@ -0,0 +1,2 @@
+
+
diff --git a/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.wxss b/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.wxss
new file mode 100644
index 0000000..ad48ba4
--- /dev/null
+++ b/packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.wxss
@@ -0,0 +1,2 @@
+/* packageC/mycomponent/o2ogroup_qrcode/o2ogroup_qrcode.wxss */
+@import "/poster/poster.wxss";
diff --git a/packageC/mycomponent/o2oment/o2oment.js b/packageC/mycomponent/o2oment/o2oment.js
new file mode 100644
index 0000000..39f5d19
--- /dev/null
+++ b/packageC/mycomponent/o2oment/o2oment.js
@@ -0,0 +1,43 @@
+Component({
+ properties: {
+ datas: {
+ type: null
+ },
+ cityData: {
+ type: null
+ },
+ pointData: {
+ type: null
+ },
+ },
+ data: {}, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {console.log(this.properties.datas,'asdaa');},
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ goo2oCategory(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oCategory/o2oCategory?id=' + id + '&city=' + this.data.cityData + '&point=' + JSON.stringify(
+ this.data.pointData)+'&name='+e.currentTarget.dataset.name
+ });
+ }
+ }
+
+});
diff --git a/packageC/mycomponent/o2oment/o2oment.json b/packageC/mycomponent/o2oment/o2oment.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/o2oment/o2oment.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/o2oment/o2oment.wxml b/packageC/mycomponent/o2oment/o2oment.wxml
new file mode 100644
index 0000000..f31dc7b
--- /dev/null
+++ b/packageC/mycomponent/o2oment/o2oment.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
diff --git a/packageC/mycomponent/o2oment/o2oment.wxss b/packageC/mycomponent/o2oment/o2oment.wxss
new file mode 100644
index 0000000..8028d31
--- /dev/null
+++ b/packageC/mycomponent/o2oment/o2oment.wxss
@@ -0,0 +1,46 @@
+/* pages/o2oment/o2oment.wxss */
+.o2oment .ul {
+ /* margin-top: 28rpx; */
+ padding: 0;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.o2oment .ul .li {
+ width: 20%;
+ margin-bottom: 20rpx;
+}
+
+.o2oment .ul .li .image {
+ height: 11vw;
+ overflow: hidden;
+}
+
+.o2oment .ul .li .image {
+ display: flex;
+ justify-content: center;
+}
+
+.o2oment .ul .li image {
+ width: 50%;
+ vertical-align: middle;
+ height: 90%;
+ border-radius: 50%;
+}
+
+.o2oment .ul .li .p {
+ margin: 0;
+ font-size: 24rpx;
+ line-height: 36rpx;
+ max-height: 72rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -webkit-line-clamp: 2;
+ padding: 0 16rpx;
+ display: block;
+ text-align: center;
+}
+
+.sw_list_6 {
+ height: 160rpx;
+}
diff --git a/packageC/mycomponent/option_menu/option_menu.js b/packageC/mycomponent/option_menu/option_menu.js
new file mode 100644
index 0000000..cb091c6
--- /dev/null
+++ b/packageC/mycomponent/option_menu/option_menu.js
@@ -0,0 +1,220 @@
+// packageC/mycomponent/option_menu/option_menu.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ ok_subs_select:{
+ value:null,
+ type:Number
+ },
+ successLocation:{
+ value:false,//有定位信息
+ type: Boolean
+ },
+ },
+ observers: {
+ 'successLocation': function(res) {
+ this.setData({
+ _successLocation: res
+ });
+ },
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ parentActive: null,
+ _successLocation: false,
+
+ subs_select: null,
+ activeType: "",
+ isshowO2oOptionMenu: false, //是否开启组件
+ option: [],
+ selectOption: [], //二级筛选器选项
+ isShowSubContent: false, //二级筛选器选项显隐,
+
+ },
+ lifetimes: {
+ attached: function () {
+ // 在组件实例进入页面节点树时执行
+ console.log("筛选器===========");
+ this.getStoreSearchMenu();
+ },
+ detached: function () {
+ // 在组件实例被从页面节点树移除时执行
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onOptionsItemClick(e) {
+ // console.log(e.currentTarget.dataset.item)
+ let item = e.currentTarget.dataset.item;
+ if (!this.data._successLocation) {
+ wx.showToast({
+ duration: 3000,
+ title: '定位中,请稍等...',
+ icon: 'none'
+ });
+ return;
+ }
+
+ if (!item.subs && this.data.parentActive == item.value) {
+ //取消筛选
+ this.resetFilter();
+ return;
+ }
+
+
+ if (item.subs) {
+ if (this.data.activeType == item.value && this.data.isShowSubContent) {
+ this.cloneFilter();
+ return;
+ }
+ this.setData({
+ selectOption: item.child,
+ isShowSubContent: true,
+ subs_select: this.data.ok_subs_select
+ });
+ } else {
+ this.setData({
+ isShowSubContent: false,
+ subs_select: null
+ });
+ }
+ this.setData({
+ activeType: item.value
+ });
+ if (!item.subs && item.value != "goods_show") {
+ this.setData({
+ parentActive: this.data.activeType
+ });
+ // this.getData();
+ this.triggerEvent('changeOptiones',{
+ tag: false,
+ activeType: this.data.activeType,
+ subs_select: this.data.subs_select
+ });
+ } else if (item.value == "goods_show") {
+ this.setData({
+ parentActive: this.data.activeType
+ });
+ // this.getData(true);
+ this.triggerEvent('changeOptiones',{
+ tag: true,
+ activeType: this.data.activeType,
+ subs_select: this.data.subs_select
+ });
+ }
+ },
+ getStoreSearchMenu() {
+ var that = this;
+ var urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.get-store-search-praise');
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function (resdata) {
+ var response = resdata.data;
+ if (response.result == 1) {
+ let option = [];
+ if (response.data.is_category_ids == 1) {
+ option.push({
+ text: "门店分类",
+ value: "classify",
+ subs: true,
+ child: response.data.categories
+ });
+ }
+ if (response.data.is_distance == 1) {
+ option.push({
+ text: "离我最近",
+ value: "distance",
+ subs: true,
+ child: [{
+ name: "1km内",
+ id: 1
+ },
+ {
+ name: "3km内",
+ id: 3
+ },
+ {
+ name: "5km内",
+ id: 5
+ },
+ {
+ name: "10km内",
+ id: 10
+ }
+ ]
+ });
+ }
+ if (response.data.is_open_praise == 1) {
+ option.push({
+ text: "好评优先",
+ value: "is_open_praise",
+ subs: false
+ });
+ }
+ if (response.data.is_open_sales_volume == 1) {
+ option.push({
+ text: "销量最高",
+ value: "is_open_sales_volume",
+ subs: false
+ });
+ }
+ if (response.data.goods_show == 1) {
+ option.push({
+ text: "优惠力度",
+ value: "goods_show",
+ subs: false
+ });
+ }
+ that.setData({
+ option,
+ isshowO2oOptionMenu: true
+ });
+ }
+ },
+ fail: function (res) {}
+ });
+ },
+ onSubOptionsItemClick(e) {
+ let subs_select = this.data.subs_select == e.currentTarget.dataset.items.id ? null : e.currentTarget.dataset.items.id;
+ this.setData({
+ subs_select
+ });
+ },
+ cloneFilter() {
+ this.setData({
+ isShowSubContent: false
+ });
+ },
+ resetFilter() {
+ this.setData({
+ subs_select: null,
+ parentActive: null,
+ isShowSubContent: false
+ });
+ this.triggerEvent('resetFilter',{});
+ },
+ filterData() {
+ if (this.data.subs_select) {
+ this.setData({
+ parentActive: this.data.activeType
+ });
+ }
+ this.triggerEvent('changeOptiones',{
+ tag: false,
+ activeType: this.data.activeType,
+ subs_select: this.data.subs_select
+ });
+ this.setData({
+ isShowSubContent: false
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageC/mycomponent/option_menu/option_menu.json b/packageC/mycomponent/option_menu/option_menu.json
new file mode 100644
index 0000000..dc72bda
--- /dev/null
+++ b/packageC/mycomponent/option_menu/option_menu.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "/dist/transition/index",
+ "van-sticky": "/dist/sticky/index",
+ "van-overlay": "/dist/overlay/index",
+ "van-icon": "/dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/option_menu/option_menu.wxml b/packageC/mycomponent/option_menu/option_menu.wxml
new file mode 100644
index 0000000..305cd35
--- /dev/null
+++ b/packageC/mycomponent/option_menu/option_menu.wxml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageC/mycomponent/option_menu/option_menu.wxss b/packageC/mycomponent/option_menu/option_menu.wxss
new file mode 100644
index 0000000..6753537
--- /dev/null
+++ b/packageC/mycomponent/option_menu/option_menu.wxss
@@ -0,0 +1,119 @@
+/* packageC/mycomponent/option_menu/option_menu.wxss */
+@import "/mycss/iconfont.wxss";
+
+.o2o-option-menu-list {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ height: 80rpx;
+ line-height: 80rpx;
+ font-size: 10px;
+ background: #fff;
+ z-index: 99;
+ position: relative;
+}
+
+.o2o-option-menu-list .o2o-option-menu-list-child {
+ display: flex;
+ align-items: center;
+ font-size: 12px;
+}
+
+.active-ment-class {
+ color: #ff2c29;
+ font-weight: 700;
+}
+
+.active-text-color {
+ color: #999 !important;
+}
+
+.rotate-icon {
+ transform: rotate(180deg);
+ -webkit-transform: rotate(180deg);
+ transition: transform 0.5s;
+}
+
+.close-icon {
+ transform: rotate(0deg);
+ -webkit-transform: rotate(0deg);
+ transition: transform 0.5s;
+}
+
+.options-sub-content {
+ position: absolute;
+ width: 100%;
+ height: 436rpx;
+ top: 78rpx;
+ left: 0;
+ padding: 0 24rpx;
+ background-color: #fff;
+ text-align: left;
+ display: flex;
+ flex-direction: column;
+}
+
+.options-sub-content .options-sub-content-list {
+ flex: 1;
+ overflow: hidden;
+ overflow-y: auto;
+ scrollbar-width: none;
+
+ /* firefox */
+ -ms-overflow-style: none;
+
+ /* IE 10+ */
+}
+
+.options-sub-content .options-sub-content-list::-webkit-scrollbar {
+ display: none;
+
+ /* Chrome Safari */
+}
+
+.options-sub-content .options-sub-content-list-item {
+ position: relative;
+}
+
+.options-sub-content .options-sub-content-list-item::after {
+ height: 1rpx;
+ position: absolute;
+ z-index: 0;
+ bottom: 0;
+ left: 0;
+ content: "";
+ width: 100%;
+ background-image: linear-gradient(0deg, #ececec 50%, transparent 0);
+}
+
+.options-sub-content .options-select {
+ height: 88rpx;
+ line-height: 88rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+.options-sub-content .options-select .options-select-btn {
+ width: 49%;
+ text-align: center;
+ color: #fe5e56;
+ font-size: 16px;
+}
+
+.options-sub-content .options-select .options-select-btn:nth-child(1) {
+ border-right: 1rpx solid #ececec;
+ color: #999;
+}
+
+.folds-enter-active {
+ transition: all 0.3s ease;
+}
+
+.folds-leave-active {
+ transition: all 0s ease;
+}
+
+.folds-enter,
+.folds-leave-to {
+ height: 0;
+}
diff --git a/packageC/mycomponent/sort/sort.js b/packageC/mycomponent/sort/sort.js
new file mode 100644
index 0000000..7990a4c
--- /dev/null
+++ b/packageC/mycomponent/sort/sort.js
@@ -0,0 +1,142 @@
+Component({
+ properties: {
+ params: {
+ type: null
+ }
+ },
+ data: {
+ //跟据数字选颜色
+ hascolor: '',
+ //根据数据显示上下箭头颜色
+ colorshow: '',
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ toggle(e) {
+ let idx = e.currentTarget.dataset.idx;
+ let order_field = '';
+ switch (idx) {
+ case 1:
+ this.setData({
+ hascolor: 1
+ });
+ if (this.data.colorshow == '1_2') {
+ this.setData({
+ colorshow: '1_1'
+ });
+ order_field = 'comment_num';
+ this.triggerEvent('sortIn', {
+ order_field: order_field,
+ order_by: 'asc'
+ });
+ } else {
+ this.setData({
+ colorshow: '1_2'
+ });
+ order_field = 'comment_num';
+ this.triggerEvent('sortIn', {
+ order_field: order_field,
+ order_by: 'desc'
+ });
+ }
+ break;
+ case 2:
+ this.setData({
+ hascolor: 2
+ });
+ if (this.data.colorshow == '2_2') {
+ this.setData({
+ colorshow: '2_1',
+ });
+ order_field = 'show_sales';
+ this.triggerEvent('sortIn', {
+ order_field: order_field,
+ order_by: 'asc'
+ });
+ } else {
+ this.setData({
+ colorshow: '2_2',
+ });
+ order_field = 'show_sales';
+ this.triggerEvent('sortIn', {
+ order_field: order_field,
+ order_by: 'desc'
+ });
+ }
+ break;
+ case 3:
+ this.setData({
+ hascolor: 3,
+ });
+ if (this.data.colorshow == '3_2') {
+ this.setData({
+ colorshow: '3_1'
+ });
+ order_field = 'price';
+ this.triggerEvent('sortIn', {
+ order_field: order_field,
+ order_by: 'asc'
+ });
+ } else {
+ this.setData({
+ colorshow: '3_2'
+ });
+ order_field = 'price';
+ this.triggerEvent('sortIn', {
+ order_field: order_field,
+ order_by: 'desc'
+ });
+ }
+ break;
+ case 5:
+ this.setData({
+ hascolor: 5,
+ });
+ if (this.data.colorshow == '5_2') {
+ this.setData({
+ colorshow: '5_1'
+ });
+ order_field = 'id';
+ this.triggerEvent('sortIn', {
+ order_field: order_field,
+ order_by: 'asc'
+ });
+ } else {
+ this.setData({
+ colorshow: '5_2'
+ });
+ order_field = 'id';
+ this.triggerEvent('sortIn', {
+ order_field: order_field,
+ order_by: 'desc'
+ });
+ }
+ break;
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/sort/sort.json b/packageC/mycomponent/sort/sort.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageC/mycomponent/sort/sort.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/sort/sort.wxml b/packageC/mycomponent/sort/sort.wxml
new file mode 100644
index 0000000..bc6ffff
--- /dev/null
+++ b/packageC/mycomponent/sort/sort.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+ 评价
+
+
+
+
+
+
+
+
+ 综合
+
+
+
+
+
+
+
+
+
+
+ 销量
+
+
+
+
+
+
+
+
+
+
+ 价格
+
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/sort/sort.wxss b/packageC/mycomponent/sort/sort.wxss
new file mode 100644
index 0000000..fc9f362
--- /dev/null
+++ b/packageC/mycomponent/sort/sort.wxss
@@ -0,0 +1,79 @@
+/* pages/sort/sort.wxss */
+.sort_box {
+ height: 80rpx;
+ line-height: 80rpx;
+ display: flex;
+ background: #fff;
+ border-top: solid 2rpx #ebebeb;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.sort_box .ul {
+ display: flex;
+ justify-content: center;
+ position: relative;
+ font-size: 15px;
+ flex: 1;
+}
+
+.sort_box .sort_icon {
+ width: 80rpx;
+ height: 80rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.sort_box .sort_icon .photo_icon {
+ width: 48rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.sort_box .sort_icon .photo_icon icon {
+ font-size: 48rpx;
+}
+
+.sort_box .ul .li {
+ display: flex;
+}
+
+.sort_box .ul .li .left.sel {
+ color: #f15353;
+}
+
+.sort_box .ul .li .right {
+ display: flex;
+ flex-wrap: wrap;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ width: 22rpx;
+}
+
+.icon_up {
+ width: 0;
+ height: 0;
+ border-right: 8rpx solid transparent;
+ border-left: 8rpx solid transparent;
+ border-bottom: 8rpx solid #999;
+ margin-bottom: 2rpx;
+}
+
+.icon_up.sel {
+ border-bottom: 8rpx solid #f15353;
+}
+
+.icon_down {
+ margin-top: 2rpx;
+ width: 0;
+ height: 0;
+ border-right: 8rpx solid transparent;
+ border-left: 8rpx solid transparent;
+ border-top: 8rpx solid #999;
+}
+
+.icon_down.sel {
+ border-top: 8rpx solid #f15353;
+}
diff --git a/packageC/mycomponent/star/star.js b/packageC/mycomponent/star/star.js
new file mode 100644
index 0000000..2910d7c
--- /dev/null
+++ b/packageC/mycomponent/star/star.js
@@ -0,0 +1,64 @@
+Component({
+ properties: {
+ score: {
+ type: null
+ },
+ },
+ data: {
+ itemClassesData: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let itemClassesData = this.itemClasses();
+ this.setData({
+ itemClassesData:itemClassesData
+ });
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ itemClasses() {
+ let result = [];
+ let lengths = 5;
+ let score = Math.floor(this.data.score * 2) / 2; //例如:把分数处理成在4.5以上及4.5就变成向上取整5,在4.5以下就变成4.5
+ //是否需要半星
+ let starhalf = score % 1 != 0 ? true : false;
+ //几颗全星
+ let fullstar = Math.floor(score);
+ for (var i = 0; i < fullstar; i++) { //放全星
+ result.push('');
+ }
+ if (starhalf) { //放半星
+ result.push('half');
+ }
+ if (result.length < lengths) { //如果没有满到五个星就用灰色的星星补齐
+ var offstar = lengths - result.length;
+ for (var j = 0; j < offstar; j++) {
+ result.push('zo');
+ }
+ }
+ if (this.score <= 0.5) {
+ result = ['', '', '', '', ''];
+ }
+ return result;
+ }
+ }
+
+});
diff --git a/packageC/mycomponent/star/star.json b/packageC/mycomponent/star/star.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/star/star.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/star/star.wxml b/packageC/mycomponent/star/star.wxml
new file mode 100644
index 0000000..14e9f0a
--- /dev/null
+++ b/packageC/mycomponent/star/star.wxml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/packageC/mycomponent/star/star.wxss b/packageC/mycomponent/star/star.wxss
new file mode 100644
index 0000000..8f733f8
--- /dev/null
+++ b/packageC/mycomponent/star/star.wxss
@@ -0,0 +1,30 @@
+/* pages/star/star.wxss */
+.a8v .a8d {
+ height: 24rpx;
+ padding-top: 4rpx;
+ overflow: hidden;
+ position: relative;
+}
+
+.a8d .a79 {
+ font-size: 0;
+}
+
+.a8d .a79 .i {
+ display: inline-block;
+ width: 20rpx;
+ height: 20rpx;
+ background-position: 0 0;
+ background-image: url('http://static-o2o.360buyimg.com/daojia/new/images/icon/newStar.png');
+ background-repeat: no-repeat;
+ background-size: auto 20rpx;
+ margin-right: 2rpx;
+}
+
+.a8d .a79 .i.half {
+ /* background-position: -40rpx 0; */
+}
+
+.a8d .a79 .i.zo {
+ /* background-position: -82rpx 0; */
+}
diff --git a/packageC/mycomponent/storeList/storeList.js b/packageC/mycomponent/storeList/storeList.js
new file mode 100644
index 0000000..840445f
--- /dev/null
+++ b/packageC/mycomponent/storeList/storeList.js
@@ -0,0 +1,178 @@
+var app = getApp();
+Component({
+ properties: {
+ stores: {
+ type: null
+ },
+ loading: {
+ type: null
+ },
+ page: {
+ type: null
+ },
+ totalPage: {
+ type: null
+ },
+ text: {
+ type: null
+ },
+ cityData: {
+ type: null
+ },
+ pointData: {
+ type: null
+ },
+ classifytype: {
+ type: null
+ },
+ is_open: {
+ type: null
+ },
+ noText:{
+ type:Boolean,
+ value:false
+ },
+ listStyle: {
+ type: null
+ },
+ },
+ data: {
+ language: '',
+ list: [],
+ show: false,
+ skipshow: false,
+ openTemplate: '01'
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ if (this.data.page >= this.data.totalPage) {
+ this.setData({
+ show: false
+ });
+ } else {
+ this.setData({
+ show: true
+ });
+ }
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ if (this.data.classifytype && this.data.classifytype == 1) {
+ this.setData({
+ skipshow: true
+ });
+ }
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ toGood(e) {
+ let id=e.currentTarget.dataset.goods_id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+ goToAdress(e) {
+ let latitude = e.currentTarget.dataset.items.latitude;
+ let longitude = e.currentTarget.dataset.items.longitude;
+ let store_name = e.currentTarget.dataset.items.store_name;
+ let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name
+ });
+ },
+ toRouter(e) {
+ let specify_show = e.currentTarget.dataset.items.specify_show;
+ let item = e.currentTarget.dataset.items;
+ if (specify_show == 1) {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + item.id
+ });
+ } else {
+ if(item.store_decorate == 1) {
+ wx.navigateTo({
+ url: "/packageG/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
+ });
+ }else {
+ wx.navigateTo({
+ url: "/packageC/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
+ });
+ }
+ }
+ },
+ //跳转至分类
+ toClassify(e) {
+ let id = e.currentTarget.dataset.id;
+ if (this.data.skipshow) {
+ wx.redirectTo({
+ url: '/packageC/o2o/o2oCategory/o2oCategory?id=' + id + '&city=' + this.data.cityData + '&point=' + JSON.stringify(
+ this.data.pointData)
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oCategory/o2oCategory?id=' + id + '&city=' + this.data.cityData + '&point=' + JSON.stringify(
+ this.data.pointData)
+ });
+ }
+ },
+ gophone(e) {
+ let mobile = e.currentTarget.dataset.mobile;
+ wx.makePhoneCall({
+ phoneNumber: mobile
+ });
+ },
+ getMoreStores() {
+ this.triggerEvent("changList");
+ }
+ },
+ observers: {
+ 'totalPage': function() {
+ if (this.data.page >= this.data.totalPage) {
+ this.setData({
+ show: false
+ });
+ } else {
+ this.setData({
+ show: true
+ });
+ }
+ },
+ 'page': function() {
+ if (this.data.page >= this.data.totalPage) {
+ this.setData({
+ show: false
+ });
+ } else {
+ this.setData({
+ show: true
+ });
+ }
+ },
+ 'listStyle': function() {
+ this.setData({
+ openTemplate: this.data.listStyle == 1 ? "02" : "01"
+ });
+ }
+ }
+});
diff --git a/packageC/mycomponent/storeList/storeList.json b/packageC/mycomponent/storeList/storeList.json
new file mode 100644
index 0000000..26f5fb3
--- /dev/null
+++ b/packageC/mycomponent/storeList/storeList.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index",
+ "cStar": "../star/star",
+ "storeList02": "../storeList02/storeList02"
+ }
+}
diff --git a/packageC/mycomponent/storeList/storeList.wxml b/packageC/mycomponent/storeList/storeList.wxml
new file mode 100644
index 0000000..83c3009
--- /dev/null
+++ b/packageC/mycomponent/storeList/storeList.wxml
@@ -0,0 +1,139 @@
+
+ {{text}}
+
+
+
+
+
+
+
+
+ 商家休息中
+
+
+
+
+
+
+
+ {{ items.has_one_category.name }}
+
+
+
+ 暂无分类
+
+
+
+
+ {{ items.store_name }}
+
+
+
+ {{items.average_score}}分
+ 已售{{ items.order_total }}单
+
+ {{ items.distance }}{{ items.distance?items.unit:'' }}
+
+
+ {{items.address.city}}
+ {{items.address.detailed_address}}
+
+
+
+ 优惠
+ {{ coupon.name }}
+
+
+ 赠送
+ {{ items.store_point.point }}
+ {{ items.store_love.award_proportion }}
+
+
+ {{ items.goods_show.search_class_name || "抵扣" }}
+ {{ items.store_love.deduction_proportion }}
+ {{ items.store_point.max_point_deduct }}
+ {{ items.store_point.commission_deduct }}
+
+
+ 满减
+ {{ reduction }}
+
+
+ 包邮
+ {{ items.store_full_package }}
+
+
+
+ {{dispatch}}
+
+
+
+
+
+
+ {{ items.store_name }}
+
+ 距离{{ items.distance }}{{ items.unit }}
+
+
+
+
+
+ {{ items.dispatch }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 已售{{ items.order_total }}单
+
+
+
+
+ {{ items.store_point.point }}
+ {{ items.store_point.max_point_deduct }}
+
+
+ {{ items.store_love.award_proportion }}
+ {{ items.store_love.deduction_proportion }}
+
+
+
+
+
+
+
+
+
+
+ {{good.title}}
+ {{language['money']}}{{good.price}}
+
+
+ {{ item.name }}:{{ item.value }}
+
+
+
+
+
+
+
+
+
+
+ 没有更多喽~
+
+
+ 加载更多
+
+
+
diff --git a/packageC/mycomponent/storeList/storeList.wxss b/packageC/mycomponent/storeList/storeList.wxss
new file mode 100644
index 0000000..219a725
--- /dev/null
+++ b/packageC/mycomponent/storeList/storeList.wxss
@@ -0,0 +1,439 @@
+/* pages/storeList/storeList.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.goodslist {
+ background: #f5f5f5;
+}
+
+.goodslist .component-title {
+ background: #fff;
+ padding: 20rpx;
+ text-align: left;
+ font-weight: bold;
+ font-size: 36rpx;
+}
+
+.goodslist .h3 {
+ width: 65%;
+ position: relative;
+ margin: 0 auto 30rpx;
+ height: 40rpx;
+ padding: 20rpx 0 0;
+ overflow: hidden;
+}
+
+.goodslist .h3 .title {
+ width: 48%;
+ text-align: center;
+ padding: 0 20rpx;
+ background: #f5f5f5;
+ position: absolute;
+ z-index: 9;
+ left: 0;
+ right: 0;
+ margin: auto;
+ font-size: 28rpx;
+ color: #666;
+}
+
+.goodslist .h3 .spas {
+ border-bottom: 2rpx solid #d9d9d9;
+ position: absolute;
+ z-index: 5;
+ top: 40rpx;
+ width: 100%;
+}
+
+.goodslist .store {
+ height: auto;
+ width: 100%;
+ background: #fff;
+
+ /* margin-top: 20rpx; */
+ border-bottom: 2rpx solid #f5f3f3;
+}
+
+.goodslist .store .list {
+ position: relative;
+ padding: 24rpx;
+
+ /* border-top: 2rpx solid #e7e9e4; */
+ background: #fff;
+ font-size: 28rpx;
+ color: #333;
+ text-align: left;
+ display: flex;
+}
+
+.goodslist .store .list .store-img .store-logo {
+ width: 128rpx;
+ height: 128rpx;
+ overflow: hidden;
+ position: relative;
+
+ /* border: 2rpx solid #e8e8e8; */
+}
+
+.goodslist .store .list .store-img .store-logo .img-mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 128rpx;
+ height: 128rpx;
+ z-index: 10;
+ border: 2rpx solid #e8e8e8;
+ font-size: 24rpx;
+ background-color: #3b4043;
+ opacity: 0.6;
+}
+
+.goodslist .store .list .store-img .store-logo .img-text {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 128rpx;
+ height: 128rpx;
+ z-index: 15;
+ line-height: 128rpx;
+ text-align: center;
+ font-size: 24rpx;
+ color: white;
+}
+
+.goodslist .store .list .store-img .store-logo .img {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+
+.goodslist .store .list .store-img .store-logo .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.goodslist .classify {
+ margin-top: 12rpx;
+}
+
+.goodslist .classify .span {
+ width: 128rpx;
+ height: 40rpx;
+ display: block;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 24rpx;
+ line-height: 40rpx;
+ background-color: #ff6333;
+ border-radius: 10rpx;
+ color: #fff;
+}
+
+/* .goodslist .store .list .store-intro {
+ position: relative;
+ margin-left: 24rpx;
+ flex: 1;
+}
+
+.goodslist .store .list .store-intro .a8q {
+ height: 40rpx;
+ line-height: 40rpx;
+ overflow: hidden;
+ display: flex;
+ justify-content: space-between;
+}
+
+.goodslist .store .list .store-intro .a8q .h2 {
+ max-width: 320rpx;
+ font-size: 32rpx;
+ color: #333;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: inline-block;
+ margin-top: 0;
+ font-weight: bold;
+ flex: 1;
+}
+
+.goodslist .store .list .store-intro .a8q .store_honor_icon {
+ width: 176rpx;
+ height: 40rpx;
+ font-size: 24rpx;
+ text-align: right;
+ color: #8c8c8c;
+} */
+
+.goodslist .messageContent {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding-top: 20rpx;
+}
+
+/* .goodslist .store .list .store-intro .a8r {
+ overflow: hidden;
+ width: 328rpx;
+}
+
+.goodslist .store .list .store-intro .a8r .i8 {
+ background-color: #f5f5f5;
+ font-size: 0;
+ border-radius: 4rpx;
+ color: #00c25e;
+ font-weight: normal;
+ line-height: 0;
+ overflow: hidden;
+}
+
+.goodslist .store .list .store-intro .a8r .i8 .da {
+ line-height: 1;
+ padding: 4rpx;
+ font-size: 24rpx;
+}
+ */
+.goodslist .messageContent .store_message {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ width: 140rpx;
+}
+
+/* .goodslist .store .list .store-intro .a8v {
+ margin-top: 16rpx;
+ overflow: hidden;
+ font-size: 0;
+ display: flex;
+ align-items: center;
+}
+
+.goodslist .store .list .store-intro .a8v .a8w {
+ font-size: 24rpx;
+ line-height: 28rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #999;
+ display: flex;
+ align-items: center;
+}
+
+.goodslist .store .list .store-intro .a8v .a8w .line_split {
+ width: 2rpx;
+ height: 18rpx;
+ margin-right: 10rpx;
+ background: #999;
+}
+
+.goodslist .store .list .store-intro .discount {
+ margin-top: 10rpx;
+}
+
+.goodslist .store .list .store-intro .discount .p {
+ font-size: 22rpx;
+ line-height: 28rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #999;
+}
+ */
+
+.store-intro2 {
+ flex: 1;
+ position: relative;
+ margin-left: 24rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.store-intro2 .h2 {
+ max-width: 544rpx;
+ font-size: 28rpx;
+ color: #333;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: inline-block;
+ margin-top: 0;
+ font-weight: bold;
+ flex: 1;
+}
+
+.store-intro2 .score-box {
+ display: flex;
+ width: 100%;
+ color: #666;
+ padding: 6rpx 0;
+ height: 40rpx;
+ line-height: 40rpx;
+}
+
+.store-intro2 .score-box .score-left {
+ flex: 1;
+ align-self: center;
+ justify-self: center;
+ display: flex;
+}
+
+.store-intro2 .score-box .score-left .icon-card_collect_b {
+ color: #ffba00;
+ display: flex;
+ align-items: center;
+}
+
+.store-intro2 .score-box .score-right {
+ color: #ff2c29;
+ flex: 0 0 160rpx;
+ text-align: right;
+}
+
+.store-intro2 .score-box .score-right .iconfont {
+ display: inline-flex;
+ color: #ff2c29;
+ font-size: 20px;
+ height: 24px;
+ line-height: 24px;
+}
+
+.store-intro2 .discount-box {
+ display: flex;
+ flex-direction: column;
+}
+
+.store-intro2 .discount-box .discount-item {
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.store-intro2 .discount-box .red {
+ color: #ff2c29;
+}
+
+.store-intro2 .dispatch-box {
+ display: flex;
+ padding: 16rpx 0;
+}
+
+.store-intro2 .dispatch-box .span {
+ margin-left: 12.8rpx;
+ padding: 0 9.6rpx;
+ color: #666;
+ border-radius: 20rpx;
+ border: solid 2rpx #ff8400;
+}
+
+.goods-box {
+ display: flex;
+ width: 100%;
+ overflow-x: scroll;
+}
+
+.flexBox {
+ width: 183rpx;
+ height: 300rpx;
+ flex-shrink: 0;
+}
+
+.goods-box .good-item {
+ width: 180rpx;
+ margin: 0 10rpx;
+ font-size: 30rpx;
+}
+
+.goods-box .good-item:last-child {
+ padding-right: 30rpx;
+}
+
+.goods-box .good-item .good-img {
+ width: 180rpx;
+ height: 180rpx;
+ border-radius: 10rpx;
+ background-color: #f2f2f2;
+}
+
+.goods-box .good-item .good-img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.goods-box .good-item .good-title {
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 24rpx;
+}
+
+.goods-box .good-item .money {
+ font-size: 22rpx;
+ color: #ff2c29;
+}
+
+.goods-box .good-item .good-price {
+ color: #ff2c29;
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.nomessage {
+ width: 100%;
+ height: 100rpx;
+ line-height: 100rpx;
+ text-align: center;
+}
+
+/* 门店拼团 */
+.show_price_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.show_price {
+ font-size: 11px;
+ color: #ff2c29;
+ border: solid #ff2c29 1px;
+ padding: 1px 4px;
+ margin-top: 5px;
+}
+
+.red_white {
+ color: #fff;
+ background: #ff2c29;
+ margin-right: 5px;
+}
+
+.white_red {
+ color: #ff2c29;
+ background: #fff;
+}
+
+.store_deduction_style {
+ background: #ff2c29;
+ color: #fff !important;
+ border: 1px solid #ff2c29;
+ padding: 0 5px;
+ font-size: 10px;
+}
+
+.store_cash_back_style {
+ border: 1px solid #ff2c29;
+ color: #ff2c29;
+ padding: 0 5px;
+ font-size: 10px;
+ margin-left: 5px;
+}
+
+/* 门店拼团 */
+
+.storeLis {
+ border-bottom: 1rpx solid #b2b2;
+ padding-bottom: 40rpx;
+}
diff --git a/packageC/mycomponent/storeList02/storeList02.js b/packageC/mycomponent/storeList02/storeList02.js
new file mode 100644
index 0000000..11ebc10
--- /dev/null
+++ b/packageC/mycomponent/storeList02/storeList02.js
@@ -0,0 +1,57 @@
+// packageC/mycomponent/storeList02/storeList02.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ items: {
+ type: null
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ //跳转至分类
+ toClassify(e) {
+ let id = e.currentTarget.dataset.id;
+ if (this.data.skipshow) {
+ wx.redirectTo({
+ url: '/packageC/o2o/o2oCategory/o2oCategory?id=' + id + '&city=' + this.data.cityData + '&point=' + JSON.stringify(
+ this.data.pointData)
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oCategory/o2oCategory?id=' + id + '&city=' + this.data.cityData + '&point=' + JSON.stringify(
+ this.data.pointData)
+ });
+ }
+ },
+ goToAdress(e) {
+ let latitude = e.currentTarget.dataset.items.latitude;
+ let longitude = e.currentTarget.dataset.items.longitude;
+ let store_name = e.currentTarget.dataset.items.store_name;
+ let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name
+ });
+ },
+ toGood(e) {
+ let id=e.currentTarget.dataset.goods_id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+ }
+});
diff --git a/packageC/mycomponent/storeList02/storeList02.json b/packageC/mycomponent/storeList02/storeList02.json
new file mode 100644
index 0000000..dfa2916
--- /dev/null
+++ b/packageC/mycomponent/storeList02/storeList02.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index",
+ "van-rate": "../../../dist/rate/index",
+ "cStar": "../star/star"
+ }
+}
diff --git a/packageC/mycomponent/storeList02/storeList02.wxml b/packageC/mycomponent/storeList02/storeList02.wxml
new file mode 100644
index 0000000..dbd0ba9
--- /dev/null
+++ b/packageC/mycomponent/storeList02/storeList02.wxml
@@ -0,0 +1,88 @@
+
+
+
+
+
+ 商家休息中
+
+
+
+ {{ items.store_name }}
+
+
+
+ {{ items.average_score }}分
+
+ 已售{{ items.order_total }}单
+
+
+
+ {{ items.has_one_category.name || "暂无分类" }}
+
+
+ {{ items.address.city }}
+ {{ items.address.detailed_address }}
+
+
+
+
+ {{ items.distance }}{{ items.unit }}
+
+
+
+
+ {{ dispatch }}
+
+
+
+
+
+
+ 优惠
+ {{ coupon.name }}
+
+
+ 赠送
+ {{ items.store_point.point }}
+ {{ items.store_love.award_proportion }}
+
+
+ {{ items.goods_show && items.goods_show.search_class_name ? items.goods_show.search_class_name : "抵扣" }}
+ {{ items.store_love.deduction_proportion }}
+ {{ items.store_point.max_point_deduct }}
+ {{
+ items.store_point.commission_deduct
+ }}
+
+
+ 满减
+ {{ reduction }}
+
+
+ 包邮
+ {{ items.store_full_package }}
+
+
+
+
+
+
+
+
+
+ {{good.title}}
+ {{language['money']}}{{good.price}}
+
+
+ {{ item.name }}:{{ item.value }}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageC/mycomponent/storeList02/storeList02.wxss b/packageC/mycomponent/storeList02/storeList02.wxss
new file mode 100644
index 0000000..e77ab13
--- /dev/null
+++ b/packageC/mycomponent/storeList02/storeList02.wxss
@@ -0,0 +1,321 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.storelist02 {
+ background: #f5f5f5;
+ padding: 20rpx 0 0;
+}
+
+.storelist02 .list-02 {
+ margin: 0 20rpx;
+ background: #fff;
+ overflow: hidden;
+ border-radius: 8px;
+ padding: 20rpx;
+}
+
+.storelist02 .list-02 .list-top {
+ width: 100%;
+ display: flex;
+}
+
+.storelist02 .list-02 .list-top .store-img {
+ width: 240rpx;
+ height: 168rpx;
+ background-color: #d5d5d5;
+ border-radius: 5px;
+ position: relative;
+ overflow: hidden;
+}
+
+.storelist02 .list-02 .list-top .store-img .store-logo {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+
+.storelist02 .list-02 .list-top .store-img .img-mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ display: inline-block;
+ background-color: rgba(59, 64, 67, 0.6);
+}
+
+.storelist02 .list-02 .list-top .store-img .img-text {
+ text-align: center;
+ color: #fff;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ left: 0;
+ width: 100%;
+}
+
+.storelist02 .list-02 .store-info {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ margin-left: 16rpx;
+ justify-content: space-between;
+}
+
+.storelist02 .list-02 .store-info .store-name {
+ font-size: 16px;
+ color: #303030;
+ text-align: left;
+}
+
+.storelist02 .list-02 .store-info .store-score,
+.storelist02 .list-02 .store-info .store-address {
+ display: flex;
+ justify-content: space-between;
+ font-size: 10px;
+}
+
+.storelist02 .list-02 .store-info .store-score .left,
+.storelist02 .list-02 .store-info .store-address .left {
+ display: flex;
+ align-items: center;
+}
+
+.storelist02 .list-02 .store-info .store-score .left .score,
+.storelist02 .list-02 .store-info .store-address .left .score {
+ color: #969696;
+ margin-left: 16rpx;
+}
+
+.storelist02 .list-02 .store-info .store-score .right,
+.storelist02 .list-02 .store-info .store-address .right {
+ color: #ee7d07;
+}
+
+.storelist02 .list-02 .store-info .store-address {
+ display: flex;
+ overflow: hidden;
+}
+
+.storelist02 .list-02 .store-info .store-address .left {
+ overflow: hidden;
+}
+
+.storelist02 .list-02 .store-info .store-address .left .category {
+ max-width: 96rpx;
+ color: #f08316;
+}
+
+.storelist02 .list-02 .store-info .store-address .left .address {
+ max-width: 200rpx;
+ color: #464646;
+}
+
+.storelist02 .list-02 .store-info .store-address .right {
+ display: flex;
+ align-items: center;
+ color: #969696;
+}
+
+.storelist02 .list-02 .store-info .store-address .right i {
+ color: #ec544a;
+}
+
+.storelist02 .list-02 .store-info .shadow-box {
+ width: 100%;
+ position: relative;
+}
+
+.storelist02 .list-02 .store-info .shadow-box::before {
+ content: "";
+ position: absolute;
+ top: -3px;
+ right: -14px;
+ width: 22px;
+ height: 22px;
+ background-size: 100% 100%;
+ background-image: url(https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/input-shadow.png);
+ z-index: 10;
+}
+
+.storelist02 .list-02 .store-info .dispatch-box {
+ display: flex;
+ width: 100%;
+ overflow-x: scroll;
+ scrollbar-width: none;
+
+ /* Firefox */
+ -ms-overflow-style: none;
+
+ /* IE 10+ */
+}
+
+.storelist02 .list-02 .store-info .dispatch-box .dispatch-item {
+ height: 15px;
+ line-height: 15px;
+ background-color: #f08316;
+ border-radius: 2px;
+ padding: 0 6px;
+ margin-right: 6px;
+ flex-shrink: 0;
+ font-size: 10px;
+ color: #fff;
+}
+
+.storelist02 .list-02 .store-info .dispatch-box::-webkit-scrollbar {
+ display: none;
+
+ /* Chrome Safari */
+}
+
+.storelist02 .list-02 .discount-box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.storelist02 .list-02 .discount-box .discount-item {
+ margin-right: 8px;
+ height: 30rpx;
+ line-height: 30rpx;
+ margin-top: 16rpx;
+ color: #282828;
+ font-size: 10px;
+ display: flex;
+}
+
+.storelist02 .list-02 .discount-box .discount-item .red {
+ border-radius: 2px;
+ background-color: #ec544a;
+ padding: 0 6px;
+ color: #fff;
+ position: relative;
+ line-height: 16px;
+}
+
+.storelist02 .list-02 .discount-box .discount-item .red::after {
+ content: "";
+ position: absolute;
+ top: 0;
+ right: -5px;
+ bottom: 0;
+ border-top: 8px solid transparent;
+ border-left: 6px solid #ec544a;
+ border-bottom: 8px solid transparent;
+}
+
+.storelist02 .list-02 .goods-box {
+ margin: 16rpx 0 0;
+ display: flex;
+ overflow-x: scroll;
+ scrollbar-width: none;
+
+ /* Firefox */
+ -ms-overflow-style: none;
+
+ /* IE 10+ */
+
+ /* 门店拼团 */
+
+ /* 门店拼团 */
+}
+
+.storelist02 .list-02 .goods-box .good-item {
+ width: 192rpx;
+ margin-right: 17rpx;
+ font-size: 15px;
+ text-align: left;
+ display: flex;
+ flex-direction: column;
+}
+
+.storelist02 .list-02 .goods-box .good-item .good-img {
+ width: 192rpx;
+ height: 192rpx;
+ border-radius: 5px;
+}
+
+.storelist02 .list-02 .goods-box .good-item .good-img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 5px;
+}
+
+.storelist02 .list-02 .goods-box .good-item .good-title {
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 12px;
+}
+
+.storelist02 .list-02 .goods-box .good-item .good-price {
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 11px;
+ color: #ff2c29;
+}
+
+.storelist02 .list-02 .goods-box .show_price_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.storelist02 .list-02 .goods-box .show_price {
+ font-size: 11px;
+ color: #ff2c29;
+ border: solid #ff2c29 1px;
+ padding: 1px 4px;
+ margin-top: 5px;
+}
+
+.storelist02 .list-02 .goods-box .red_white {
+ color: #fff;
+ background: #ff2c29;
+ margin-right: 5px;
+}
+
+.storelist02 .list-02 .goods-box .white_red {
+ color: #ff2c29;
+ background: #fff;
+}
+
+.storelist02 .list-02 .goods-box .store_deduction_style {
+ background: #ff2c29;
+ color: #fff;
+ padding: 0 5px;
+ font-size: 10px;
+}
+
+.storelist02 .list-02 .goods-box .store_cash_back_style {
+ border: 1px solid #ff2c29;
+ color: #ff2c29;
+ padding: 0 5px;
+ font-size: 10px;
+}
+
+.storelist02 .list-02 .goods-box::-webkit-scrollbar {
+ display: none;
+
+ /* Chrome Safari */
+}
+
+.storelist02 .text-ellipsis {
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+.storelist02 .line {
+ width: 1px;
+ height: 50%;
+ background: #bbb;
+ margin: 0 5px;
+}
diff --git a/packageC/mycomponent/temp/article/article.js b/packageC/mycomponent/temp/article/article.js
new file mode 100644
index 0000000..1d36814
--- /dev/null
+++ b/packageC/mycomponent/temp/article/article.js
@@ -0,0 +1,67 @@
+var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ }
+ },
+ data: {
+ articles: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ this.getMoreArticle();
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ getMoreArticle() {
+ var that = this;
+ var urlStr = app.getNetAddresss("plugin.article.api.article-page.page");
+ urlStr += '&pageSize=' + that.data.params.shownum;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ articles: res.data.data,
+ });
+ }
+ },
+ fail: function(res) {
+
+ }
+ });
+ },
+ gotoArticle(e) {
+ let item = e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: '/packageA/member/article/articleContent/articleContent?article_id=' + item.articleid
+ });
+ },
+ }
+});
diff --git a/packageC/mycomponent/temp/article/article.json b/packageC/mycomponent/temp/article/article.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/article/article.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/article/article.wxml b/packageC/mycomponent/temp/article/article.wxml
new file mode 100644
index 0000000..983315a
--- /dev/null
+++ b/packageC/mycomponent/temp/article/article.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
diff --git a/packageC/mycomponent/temp/article/article.wxss b/packageC/mycomponent/temp/article/article.wxss
new file mode 100644
index 0000000..cdde306
--- /dev/null
+++ b/packageC/mycomponent/temp/article/article.wxss
@@ -0,0 +1,65 @@
+/* pages/article/article.wxss */
+.art-list {
+ background-color: #fff;
+}
+
+.art-list .art-box,
+.art-list .art-box1 {
+ text-align: left;
+ padding-left: 28rpx;
+}
+
+.art-list .art-box .box:last-child,
+.art-list .art-box1 .box:last-child {
+ border: none;
+}
+
+.art-list .art-box .box,
+.art-list .art-box1 .box {
+ border-bottom: solid 2rpx #ebebeb;
+ padding-right: 28rpx;
+ display: flex;
+ padding: 20rpx 0;
+}
+
+.art-list .art-box .box .ul,
+.art-list .art-box1 .box .ul {
+ margin-left: 28rpx;
+ width: 426rpx;
+ font-size: 32rpx;
+ text-align: left;
+ position: relative;
+}
+
+.art-list .art-box .box .ul .title,
+.art-list .art-box1 .box .ul .title {
+ line-height: 48rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.art-list .art-box .box .ul .browse-number,
+.art-list .art-box1 .box .ul .browse-number {
+ color: #8c8c8c;
+ position: absolute;
+ bottom: 0;
+ height: 48rpx;
+ line-height: 48rpx;
+}
+
+.art-list .art-box .box .img,
+.art-list .art-box1 .box .img {
+ width: 240rpx;
+ height: 168rpx;
+ background-color: #ccc;
+ overflow: hidden;
+}
+
+.art-list .art-box .box .img image,
+.art-list .art-box1 .box .img image {
+ width: 100%;
+ height: 100%;
+}
diff --git a/packageC/mycomponent/temp/banner/banner.js b/packageC/mycomponent/temp/banner/banner.js
new file mode 100644
index 0000000..0bfe884
--- /dev/null
+++ b/packageC/mycomponent/temp/banner/banner.js
@@ -0,0 +1,110 @@
+// var app = getApp();
+Component({
+ properties: {
+ datas: {
+ type: null
+ }
+ },
+ data: {
+ Height: 0,
+ LastHeight: 0
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ console.log('kkkkkk::', this.data.datas);
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ imgHeight: function(e) {
+ var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
+ var imgh = e.detail.height; //图片高度
+ var imgw = e.detail.width; //图片宽度
+ var swiperH = winWid * imgh / imgw + "px"; //等比设置swiper的高度。 即 屏幕宽度 / swiper高度 = 图片宽度 / 图片高度 ==》swiper高度 = 屏幕宽度 * 图片高度 / 图片宽度
+ if (parseInt(swiperH) > this.data.LastHeight) {
+ this.setData({
+ Height: swiperH, //设置高度
+ });
+ this.data.LastHeight = parseInt(swiperH);
+ }
+ },
+ goimgurl(e) {
+ let item = e.currentTarget.dataset.item;
+ if (item.hrefChoice && item.hrefChoice == 2) {
+ if (item.appID) {
+ if (item.miniUrl) {
+ try {
+ wx.navigateToMiniProgram({
+ appId: item.appID,
+ path: item.miniUrl,
+ extraData: {},
+ envVersion: 'release',
+ success(res) {
+ // 打开成功
+ },
+ fail(res){
+ wx.showToast({
+ title: '小程序跳转失败',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '小程序跳转失败',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ wx.showToast({
+ title: '请设置跳转小程序后的跳转链接',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ wx.showToast({
+ title: '请设置小程序所需跳转appId',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ let url = item.hrefurl;
+ try {
+ wx.navigateTo({
+ url: url
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '链接设置错误',
+ icon: 'none',
+ duration: 2000
+ });
+ //TODO handle the exception
+ }
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/banner/banner.json b/packageC/mycomponent/temp/banner/banner.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/banner/banner.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/banner/banner.wxml b/packageC/mycomponent/temp/banner/banner.wxml
new file mode 100644
index 0000000..0fedfde
--- /dev/null
+++ b/packageC/mycomponent/temp/banner/banner.wxml
@@ -0,0 +1,17 @@
+
+
+
+ 一个轮播都没有...
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/temp/banner/banner.wxss b/packageC/mycomponent/temp/banner/banner.wxss
new file mode 100644
index 0000000..d159c8e
--- /dev/null
+++ b/packageC/mycomponent/temp/banner/banner.wxss
@@ -0,0 +1,11 @@
+/* pages/banner/banner.wxss */
+.nophoto {
+ line-height: 300rpx;
+ text-align: center;
+ color: #999;
+ font-size: 32rpx;
+}
+
+.banner image {
+ width: 100%;
+}
diff --git a/packageC/mycomponent/temp/blank/blank.js b/packageC/mycomponent/temp/blank/blank.js
new file mode 100644
index 0000000..63c5129
--- /dev/null
+++ b/packageC/mycomponent/temp/blank/blank.js
@@ -0,0 +1,38 @@
+Component({
+ properties: {
+ params: {
+ type: null
+ }
+ },
+ data: {
+ Height:''
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+
+ }
+});
diff --git a/packageC/mycomponent/temp/blank/blank.json b/packageC/mycomponent/temp/blank/blank.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/packageC/mycomponent/temp/blank/blank.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageC/mycomponent/temp/blank/blank.wxml b/packageC/mycomponent/temp/blank/blank.wxml
new file mode 100644
index 0000000..ec759ed
--- /dev/null
+++ b/packageC/mycomponent/temp/blank/blank.wxml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/packageC/mycomponent/temp/blank/blank.wxss b/packageC/mycomponent/temp/blank/blank.wxss
new file mode 100644
index 0000000..c86e763
--- /dev/null
+++ b/packageC/mycomponent/temp/blank/blank.wxss
@@ -0,0 +1 @@
+/* pages/blank/blank.wxss */
diff --git a/packageC/mycomponent/temp/coupon/coupon.js b/packageC/mycomponent/temp/coupon/coupon.js
new file mode 100644
index 0000000..8427b37
--- /dev/null
+++ b/packageC/mycomponent/temp/coupon/coupon.js
@@ -0,0 +1,115 @@
+var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ }
+ },
+ data: {
+ language: '',
+ coupon_list: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ if (this.data.params.addmethod == "0") {
+ this.autoGetData();
+ } else {
+ this.setData({
+ coupon_list: this.data.data
+ });
+ }
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ autoGetData() {
+ var that = this;
+ var urlStr = app.getNetAddresss("coupon.member-coupon.coupons-for-designer");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ coupon_list: res.data.data,
+ });
+ }
+ },
+ fail: function(res) {
+
+ }
+ });
+ },
+ selectedcoupon(e) {
+ let index = e.currentTarget.dataset.index;
+ let item = e.currentTarget.dataset.item;
+ if (item.api_availability == 3) {
+ return;
+ }
+ //领取
+ var that = this;
+ var urlStr = app.getNetAddresss("coupon.member-coupon.get-coupon");
+ urlStr += '&coupon_id=' + item.coupon_id;
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var temp = res.data;
+ that.setData({
+ ['coupon_list[' + index + ']']: temp
+ });
+ wx.showToast({
+ icon: 'none',
+ title: '优惠券领取成功',
+ duration: 1500
+ });
+ } else {
+ if(res.data.reason){
+ wx.showModal({
+ title:res.msg,
+ content:res.data.reason,
+ showCancel:false
+ });
+ }else{
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ }
+ },
+ fail: function(res) {
+
+ }
+ });
+ },
+ },
+
+});
diff --git a/packageC/mycomponent/temp/coupon/coupon.json b/packageC/mycomponent/temp/coupon/coupon.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/packageC/mycomponent/temp/coupon/coupon.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageC/mycomponent/temp/coupon/coupon.wxml b/packageC/mycomponent/temp/coupon/coupon.wxml
new file mode 100644
index 0000000..d458113
--- /dev/null
+++ b/packageC/mycomponent/temp/coupon/coupon.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ {{language['money']}}
+ {{item.deduct}}
+ {{item.discount}}折
+ 已抢光
+ 已领取
+ 立即领取
+
+ {{item.name}}
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/temp/coupon/coupon.wxss b/packageC/mycomponent/temp/coupon/coupon.wxss
new file mode 100644
index 0000000..400d154
--- /dev/null
+++ b/packageC/mycomponent/temp/coupon/coupon.wxss
@@ -0,0 +1,100 @@
+/* pages/coupon/coupon.wxss */
+.coupon_page .coupon_box {
+ padding: 0 20rpx;
+ background-color: #fafafa;
+}
+
+.coupon_page .coupon_box view {
+ word-break: normal;
+}
+
+.coupon_page .coupon_box .coupon_bg_box {
+ padding: 20rpx 0;
+ display: flex;
+ overflow: hidden;
+ overflow-x: auto;
+}
+
+.coupon_page .coupon_box .coupon_bg_box .coupon_bg {
+ background: #f74546;
+ border-radius: 8rpx;
+ margin-right: 36rpx;
+
+ /* min-width: 336rpx; */
+ height: 150rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/coupon_font.png");
+ background-repeat: no-repeat;
+ background-size: 128rpx;
+ background-position: 0 0;
+ position: relative;
+ display: inline-table;
+}
+
+.coupon_page .coupon_box .coupon_bg_box .coupon_bg .coupon_info {
+ text-align: center;
+ min-width: 336rpx;
+}
+
+.coupon_page .coupon_box .coupon_bg_box .coupon_bg .coupon_info .li:first-child {
+ padding: 20rpx 20rpx 0 48rpx;
+ color: #fff;
+ display: flex;
+ justify-content: flex-end;
+ align-items: flex-end;
+ font-size: 32rpx;
+}
+
+.coupon_page .coupon_box .coupon_bg_box .coupon_bg .coupon_info .li:first-child .font {
+ font-weight: bold;
+ font-size: 62rpx;
+ line-height: 60rpx;
+}
+
+.coupon_page .coupon_box .coupon_bg_box .coupon_bg .coupon_info .li:first-child .font .span {
+ font-weight: normal;
+ font-size: 32rpx;
+}
+
+.coupon_page .coupon_box .coupon_bg_box .coupon_bg .coupon_info .li:first-child .receive {
+ line-height: 40rpx;
+ display: block;
+ width: 112rpx;
+ height: 40rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/coupon_receive.png");
+ background-size: 112rpx 40rpx;
+ background-repeat: no-repeat;
+ font-size: 24rpx;
+ color: #f15353;
+ margin-left: 20rpx;
+}
+
+.coupon_page .coupon_box .coupon_bg_box .coupon_bg .coupon_info .li:last-child {
+ width: 100%;
+ border-top: dashed 1px #fff;
+ line-height: 40rpx;
+ text-align: center;
+ position: absolute;
+ bottom: 0;
+ font-size: 24rpx;
+ color: #fff;
+}
+
+.coupon_page .coupon_box .coupon_bg_box .coupon_bg .spare_left {
+ width: 16rpx;
+ height: 16rpx;
+ background-color: #fafafa;
+ border-radius: 8rpx;
+ position: absolute;
+ left: -8rpx;
+ bottom: 32rpx;
+}
+
+.coupon_page .coupon_box .coupon_bg_box .coupon_bg .spare_right {
+ width: 16rpx;
+ height: 16rpx;
+ background-color: #fafafa;
+ border-radius: 8rpx;
+ position: absolute;
+ right: -8rpx;
+ bottom: 32rpx;
+}
diff --git a/packageC/mycomponent/temp/flashsale/flashsale.js b/packageC/mycomponent/temp/flashsale/flashsale.js
new file mode 100644
index 0000000..aa27e6c
--- /dev/null
+++ b/packageC/mycomponent/temp/flashsale/flashsale.js
@@ -0,0 +1,211 @@
+var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ index: {
+ type: null
+ },
+ data: {
+ type: null
+ },
+ designer: {
+ type: null
+ },
+ sessionurl: {
+ type: null
+ },
+ Identification: {
+ type: null
+ },
+ grouid: {
+ type: null
+ },
+ total: {
+ type: null
+ },
+ bottomShow: {
+ type: null
+ },
+ isBottomnum: {
+ type: null
+ }
+ },
+ data: {
+ language: '',
+ showMore: true,
+ page: 1,
+ total_page: 0,
+ isLoadMore: true
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ this.triggerEvent('isLoadMorebtn', this.data.isLoadMore);
+ let nowTime = new Date().getTime();
+ for (let i = 0; i < this.data.data.length; i++) {
+ let start_time = this.data.data[i].start_time;
+ let beginTime = new Date(start_time).getTime();
+ this.setData({
+ ['data[' + i + '].day']: '00',
+ ['data[' + i + '].hou']: '00',
+ ['data[' + i + '].min']: '00',
+ ['data[' + i + '].sec']: '00',
+ });
+ if (nowTime > beginTime) {
+ this._countDown(i, this.data.data[i].end_time);
+ this.setData({
+ ['data[' + i + '].begShow']: true
+ });
+ } else {
+ this._countDown(i, this.data.data[i].start_time);
+ this.setData({
+ ['data[' + i + '].begShow']: false
+ });
+ }
+ }
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+ methods: {
+ getMoreData() {
+ let that = this;
+ if (that.data.page >= that.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: that.data.page + 1
+ });
+ let urlStr = app.getNetAddresss('home-page.get-page-goods');
+ urlStr += '&page=' + that.data.page;
+ urlStr += '&group_id=' + that.data.grouid;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let data = that.data.data;
+ that.setData({
+ data: data.concat(res.data.data)
+ });
+ if (that.data.page >= that.data.total_page) {
+ that.setData({
+ isLoadMore: false
+ });
+ that.triggerEvent('isLoadMorebtn', that.data.isLoadMore);
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ that.triggerEvent('isLoadMorebtn', that.data.isLoadMore);
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ showTime(time) {
+ let nowTime = new Date().getSeconds;
+ let beginTime = new Date(time).getSeconds;
+ if (nowTime >= beginTime) {
+ return true;
+ } else {
+ return false;
+ }
+ },
+ //倒计时
+ _countDown: function(index, endTime_1) {
+ let newTime = new Date().getTime();
+ let endTime = new Date(endTime_1).getTime();
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt(time % (60 * 60 * 24) / 3600);
+ let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
+ let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
+ this.setData({
+ ['data[' + index + '].day']: this._timeFormat(day),
+ ['data[' + index + '].hou']: this._timeFormat(hou),
+ ['data[' + index + '].min']: this._timeFormat(min),
+ ['data[' + index + '].sec']: this._timeFormat(sec),
+ });
+ } else { //活动已结束,全部设置为'00'
+ this.setData({
+ ['data[' + index + '].day']: '00',
+ ['data[' + index + '].hou']: '00',
+ ['data[' + index + '].min']: '00',
+ ['data[' + index + '].sec']: '00',
+ });
+ }
+ if (endTime - newTime < 0) {
+ this.setData({
+ ['data[' + index + '].day']: '00',
+ ['data[' + index + '].hou']: '00',
+ ['data[' + index + '].min']: '00',
+ ['data[' + index + '].sec']: '00',
+ });
+ } else {
+ setTimeout(this._countDown.bind(this, index, endTime_1), 1000);
+ }
+ },
+ //小于10的格式化函数
+ _timeFormat(param) { //小于10的格式化函数
+ return param < 10 ? '0' + param : param;
+ },
+ buy(e) {
+ let item = e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + item.goodid
+ });
+ },
+ },
+ observers: {
+ 'isBottomnum': function(num) {
+ console.log(num);
+ this.getMoreData();
+ },
+ 'params': function() {
+ this.setData({
+ showMore: true,
+ page: 1,
+ total_page: 0,
+ isLoadMore: true
+ });
+ this.triggerEvent('isLoadMorebtn', this.data.isLoadMore);
+ this.setData({
+ total_page: Math.ceil(this.data.total / 12)
+ });
+ if (this.data.page >= this.data.total_page) {
+ this.setData({
+ isLoadMore: false
+ });
+ this.triggerEvent('isLoadMorebtn', this.data.isLoadMore);
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/flashsale/flashsale.json b/packageC/mycomponent/temp/flashsale/flashsale.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/flashsale/flashsale.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/flashsale/flashsale.wxml b/packageC/mycomponent/temp/flashsale/flashsale.wxml
new file mode 100644
index 0000000..cd07401
--- /dev/null
+++ b/packageC/mycomponent/temp/flashsale/flashsale.wxml
@@ -0,0 +1,175 @@
+
+
+
+ {{params.title}}
+
+
+
+
+
+
+ 距离结束还剩:
+
+
+ 距离开始还剩:
+
+
+ {{item.day}}
+ 天
+ {{item.hou}}
+ 时
+ {{item.min}}
+ 分
+ {{item.sec}}
+ 秒
+
+
+
+
+
+ {{item.name}}
+ 仅剩
+ {{item.stock}}件
+
+
+
+
+ {{language['money']}}{{item.pricenow}}
+
+ {{language['money']}}{{item.priceold}}
+
+
+
+ {{language['money']}}{{item.pricenow}}
+
+ 立即抢购
+
+
+
+
+
+
+
+
+
+
+ 距开始还剩:
+
+
+ {{item.day}}
+ 天
+ {{item.hou}}
+ 时
+ {{item.min}}
+ 分
+ {{item.sec}}
+ 秒
+
+
+
+
+ {{item.name}}
+
+
+ {{language['money']}}{{item.pricenow}}
+
+ {{language['money']}}{{item.priceold}}
+
+
+
+ {{language['money']}}{{item.pricenow}}
+
+
+ 仅剩
+ {{item.stock}}件
+ 立即抢购
+
+
+
+
+
+
+
+
+
+
+
+ 距开始还剩:
+
+
+ {{item.day}}
+ 天
+ {{item.hou}}
+ 时
+ {{item.min}}
+ 分
+ {{item.sec}}
+ 秒
+
+
+
+
+ {{item.name}}
+
+
+ {{language['money']}}{{item.pricenow}}
+
+
+
+ {{language['money']}}{{item.pricenow}}
+
+
+ 仅剩
+ {{item.stock}}件
+
+
+ 立即抢购
+
+
+
+
+
+
+
+
+
+
+
+ 距开始还剩:
+
+
+ {{item.day}}
+ 天
+ {{item.hou}}
+ 时
+ {{item.min}}
+ 分
+ {{item.sec}}
+ 秒
+
+
+
+
+ {{item.name}}
+
+
+ {{language['money']}}{{item.pricenow}}
+
+ {{language['money']}}{{item.priceold}}
+
+
+
+ {{language['money']}}{{item.pricenow}}
+
+
+ 仅剩
+ {{item.stock}}件
+
+
+ 立即抢购
+
+
+
+
+
+
diff --git a/packageC/mycomponent/temp/flashsale/flashsale.wxss b/packageC/mycomponent/temp/flashsale/flashsale.wxss
new file mode 100644
index 0000000..b11e92d
--- /dev/null
+++ b/packageC/mycomponent/temp/flashsale/flashsale.wxss
@@ -0,0 +1,561 @@
+/* pages/flashsale/flashsale.wxss */
+.rush-buy .time-box .content {
+ display: flex;
+ align-items: center;
+ color: #fff;
+ font-size: 28rpx;
+ text-align: left;
+}
+
+.rush-buy {
+ padding: 1rpx 0;
+ margin-top: 20rpx;
+
+ /* background: none !important; */
+}
+
+.rush-buy .buy-5 {
+ border: solid #f15353 2rpx !important;
+ color: #f15353 !important;
+ border-radius: 20rpx !important;
+ background-color: #fff !important;
+}
+
+.rush-buy .buy-6 {
+ border: solid #f15353 2rpx !important;
+ color: #fff !important;
+ border-radius: 20rpx !important;
+ background-color: red !important;
+}
+
+.rush-buy .buy-7 {
+ border: solid #f15353 2rpx !important;
+ background: #fff !important;
+ color: #f15353 !important;
+ border-radius: 10rpx !important;
+}
+
+.rush-buy .buy-8 {
+ border: solid #f15353 2rpx !important;
+ color: #fff !important;
+ border-radius: 10rpx !important;
+ background-color: red !important;
+}
+
+.rush-buy .sale-xp {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-xp.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-rx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-rx.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-tj {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-tj.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-xs {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-xs.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: 0rpx;
+ left: 0rpx;
+}
+
+.rush-buy .sale-by {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/sale-by.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-cx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com//img/sale-cx.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .h2 {
+ font-weight: normal;
+}
+
+.rush-buy .double-row {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 16rpx 24rpx;
+}
+
+.rush-buy .double-row .list-box {
+ margin-right: 2%;
+ margin-bottom: 16rpx;
+ background-color: #fff;
+ width: 49%;
+ border-radius: 16rpx;
+}
+
+.rush-buy .double-row .list-box .img {
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ background-color: #ccc;
+ position: relative;
+ background-size: 100% 100%;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+}
+
+.rush-buy .double-row .list-box .img image {
+ width: 100%;
+ height: 46vw;
+}
+
+.rush-buy .double-row .list-box .img .time-box {
+ width: 100%;
+ position: absolute;
+ min-height: 60rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 0;
+ text-align: left;
+ padding: 0 20rpx;
+}
+
+.rush-buy .double-row .list-box .img .time-box .span {
+ color: #fff;
+ line-height: 60rpx;
+ font-size: 28rpx;
+ text-align: left;
+}
+
+.rush-buy .double-row .list-box .text {
+ padding: 12rpx 16rpx;
+}
+
+.rush-buy .double-row .list-box .text .h2 {
+ line-height: 40rpx;
+ height: 80rpx;
+ font-size: 28rpx;
+ text-align: left;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.rush-buy .double-row .list-box .text .price {
+ line-height: 48rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 32rpx;
+}
+
+.rush-buy .double-row .list-box .text .price .left {
+ color: #f15353;
+ font-weight: bold;
+ font-size: 36rpx;
+}
+
+.rush-buy .double-row .list-box .text .price .right {
+ font-size: 28rpx;
+ text-decoration: line-through;
+ color: #8c8c8c;
+}
+
+.rush-buy .double-row .list-box .text .price .small {
+ font-size: 24rpx;
+}
+
+.rush-buy .double-row .list-box .text .rob {
+ line-height: 48rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 24rpx;
+ color: #8c8c8c;
+}
+
+.rush-buy .double-row .list-box .text .rob .left .big {
+ color: #f15353;
+ font-size: 28rpx;
+}
+
+.rush-buy .double-row .list-box .text .rob .button_1 {
+ background-color: #f15353;
+ color: #fff;
+ font-size: 24rpx;
+ height: 52rpx;
+ border-radius: 8rpx;
+ padding: 0 12rpx;
+ display: inline-block;
+ border: none;
+ line-height: 52rpx;
+}
+
+.rush-buy .double-row .list-box:last-child {
+ margin-bottom: 0;
+}
+
+.rush-buy .double-row .list-box:nth-last-child(2) {
+ margin-bottom: 0;
+}
+
+.rush-buy .double-row .list-box:nth-child(2n) {
+ margin-right: 0;
+}
+
+.rush-buy .single-row {
+ background-color: #fff;
+ margin: 16rpx 24rpx;
+ border-radius: 16rpx;
+}
+
+.rush-buy .single-row .img {
+ position: relative;
+ background-color: #ccc;
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ background-size: 100% 100%;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+}
+
+.rush-buy .single-row .img image {
+ width: 100%;
+ height: 93vw;
+}
+
+.rush-buy .single-row .img .time-box {
+ width: 100%;
+ position: absolute;
+ min-height: 80rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 0;
+ text-align: left;
+ padding: 0 20rpx;
+}
+
+.rush-buy .single-row .img .time-box .span {
+ color: #fff;
+ line-height: 80rpx;
+ font-size: 32rpx;
+ text-align: left;
+}
+
+.rush-buy .single-row .text {
+ padding: 12rpx 20rpx;
+}
+
+.rush-buy .single-row .text .title {
+ display: flex;
+ justify-content: space-between;
+ font-size: 28rpx;
+}
+
+.rush-buy .single-row .text .title .h2 {
+ flex: 3;
+ font-size: 32rpx;
+ line-height: 48rpx;
+ height: 96rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ text-align: left;
+}
+
+.rush-buy .single-row .text .title .span {
+ text-align: right;
+ flex: 1;
+ font-size: 32rpx;
+}
+
+.rush-buy .single-row .text .title .span .big {
+ font-size: 20px;
+ color: #f15353;
+}
+
+.rush-buy .single-row .text .price {
+ display: flex;
+ justify-content: space-between;
+ font-size: 28rpx;
+ margin-top: 20rpx;
+}
+
+.rush-buy .single-row .text .price .left {
+ font-size: 36rpx;
+ color: #f15353;
+ line-height: 52rpx;
+}
+
+.rush-buy .single-row .text .price .left .small {
+ font-size: 24rpx;
+}
+
+.rush-buy .single-row .text .price .left .price-b {
+ margin-left: 20rpx;
+ color: #999;
+ text-decoration: line-through;
+ font-size: 28rpx;
+}
+
+.rush-buy .single-row .text .price .button_1 {
+ border: none;
+ color: #fff;
+ height: 60rpx;
+ font-size: 28rpx;
+ border-radius: 6rpx;
+ padding: 0 20rpx;
+ line-height: 60rpx;
+}
+
+.rush-buy .single-row .img .time-box {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 120rpx;
+ background: rgba(201, 21, 35, 0.85);
+ color: #fff;
+ font-size: 38rpx;
+}
+
+.rush-buy .single-row .img .time-box .content {
+ font-size: 38rpx;
+}
+
+.rush-buy .three-row {
+ margin: 16rpx 24rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.rush-buy .three-row .dl:nth-child(3n) {
+ margin-right: 0;
+}
+
+.rush-buy .three-row .dl {
+ width: 32%;
+ background-color: #fff;
+ margin-right: 2%;
+ margin-bottom: 16rpx;
+ border-radius: 16rpx;
+}
+
+.rush-buy .three-row .dl .img {
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+ position: relative;
+ height: 0;
+ padding-bottom: 100%;
+ background-size: 100% 100%;
+ background-color: #ccc;
+}
+
+.rush-buy .three-row .dl .img image {
+ width: 100%;
+ height: 30vw;
+}
+
+.rush-buy .three-row .dl .img .time-box {
+ width: 100%;
+ position: absolute;
+ min-height: 60rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 0;
+ text-align: left;
+ padding: 0 8rpx;
+}
+
+.rush-buy .three-row .dl .img .time-box .span {
+ color: #fff;
+ line-height: 60rpx;
+ font-size: 24rpx;
+ text-align: left;
+}
+
+.rush-buy .three-row .dl .text {
+ padding: 12rpx;
+}
+
+.rush-buy .three-row .time-box .content {
+ font-size: 24rpx;
+}
+
+.rush-buy .three-row .dl .text .h2 {
+ text-align: left;
+ font-size: 24rpx;
+ line-height: 36rpx;
+ height: 72rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.rush-buy .three-row .dl .text .price {
+ line-height: 48rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 28rpx;
+}
+
+.rush-buy .three-row .dl .text .price .price-a {
+ color: #f15353;
+}
+
+.rush-buy .three-row .dl .text .price .price-b {
+ color: #999;
+ text-decoration: line-through;
+}
+
+.rush-buy .three-row .dl .text .price .small {
+ font-size: 24rpx;
+}
+
+.rush-buy .three-row .dl .text .rob {
+ text-align: left;
+ line-height: 48rpx;
+}
+
+.rush-buy .three-row .dl .text .rob .left .big {
+ color: #f15353;
+}
+
+.rush-buy .three-row .dl .text .button .button_1 {
+ width: 100%;
+ height: 52rpx;
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ font-size: 24rpx;
+ border-radius: 8rpx;
+ padding: 0 8rpx;
+ line-height: 52rpx;
+ text-align: center;
+ margin-left: -4%;
+}
+
+.rush-buy .across-row .list {
+ background-color: #fff;
+ display: flex;
+}
+
+.rush-buy .across-row .list .img {
+ width: 38vw;
+ height: 38vw;
+ position: relative;
+}
+
+.rush-buy .across-row .list .img image {
+ width: 100%;
+ height: 36vw;
+ padding: 12rpx;
+}
+
+.rush-buy .across-row .list .img .time-box {
+ width: 100%;
+ position: absolute;
+ min-height: 60rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 6rpx;
+ left: 12rpx;
+ text-align: center;
+}
+
+.rush-buy .across-row .list .img .time-box .span {
+ color: #fff;
+ line-height: 60rpx;
+ font-size: 28rpx;
+ text-align: left;
+}
+
+.rush-buy .across-row .list .text {
+ width: 62vw;
+ position: relative;
+ padding: 20rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.rush-buy .across-row .list .text .h2 {
+ line-height: 48rpx;
+ height: 96rpx;
+ text-align: left;
+ font-size: 32rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.rush-buy .across-row .list .text .price {
+ line-height: 60rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 32rpx;
+}
+
+.rush-buy .across-row .list .text .price .small {
+ font-size: 24rpx;
+}
+
+.rush-buy .across-row .list .text .price .price-a {
+ color: #f15353;
+}
+
+.rush-buy .across-row .list .text .price .price-b {
+ color: #999;
+ text-decoration: line-through;
+}
+
+.rush-buy .across-row .list .text .rob {
+ position: absolute;
+ bottom: 20rpx;
+ font-size: 28rpx;
+ line-height: 48rpx;
+ text-align: left;
+}
+
+.rush-buy .across-row .list .text .rob .big {
+ color: #f15353;
+}
+
+.rush-buy .across-row .list .text .button {
+ position: absolute;
+ bottom: 20rpx;
+ right: 20rpx;
+ text-align: left;
+}
+
+.rush-buy .across-row .list .text .button .button_1 {
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ border-radius: 8rpx;
+ padding: 12rpx 24rpx;
+}
diff --git a/packageC/mycomponent/temp/goods/goods.js b/packageC/mycomponent/temp/goods/goods.js
new file mode 100644
index 0000000..83fe73d
--- /dev/null
+++ b/packageC/mycomponent/temp/goods/goods.js
@@ -0,0 +1,152 @@
+var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ index: {
+ type: null
+ },
+ data: {
+ type: null
+ },
+ designer: {
+ type: null
+ },
+ sessionurl: {
+ type: null
+ },
+ Identification: {
+ type: null
+ },
+ grouid: {
+ type: null
+ },
+ total: {
+ type: null
+ },
+ bottomShow: {
+ type: null
+ },
+ isBottomnum: {
+ type: null
+ }
+ },
+ data: {
+ language: '',
+ showMore: true,
+ page: 1,
+ total_page: 0,
+ isLoadMore: true
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ this.triggerEvent('isLoadMorebtn', this.data.isLoadMore);
+ // this.setData({
+ // total_page: Math.ceil(this.data.total / 12)
+ // })
+ // if (this.data.page >= this.data.total_page) {
+ // this.setData({
+ // isLoadMore: false
+ // })
+ // }
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ gotoDetail(e) {
+ let id = e.currentTarget.dataset.good.goodid;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+ // 获取更多数据
+ getMoreData() {
+ let that = this;
+ if (that.data.page >= that.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: that.data.page + 1
+ });
+ let urlStr = app.getNetAddresss('home-page.get-page-goods');
+ urlStr += '&page=' + that.data.page;
+ urlStr += '&group_id=' + that.data.grouid;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let data = that.data.data;
+ that.setData({
+ data: data.concat(res.data.data)
+ });
+ if (that.data.page >= that.data.total_page) {
+ that.setData({
+ isLoadMore: false
+ });
+ that.triggerEvent('isLoadMorebtn', that.data.isLoadMore);
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ that.triggerEvent('isLoadMorebtn', that.data.isLoadMore);
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ }
+ },
+ observers: {
+ 'isBottomnum': function(num) {
+ if(num>1){
+ this.getMoreData();
+ }
+
+ },
+ 'params': function() {
+ this.setData({
+ showMore: true,
+ page: 1,
+ total_page: 0,
+ isLoadMore: true
+ });
+ this.triggerEvent('isLoadMorebtn', this.data.isLoadMore);
+ this.setData({
+ total_page: Math.ceil(this.data.total / 12)
+ });
+ if (this.data.page >= this.data.total_page) {
+ this.setData({
+ isLoadMore: false
+ });
+ this.triggerEvent('isLoadMorebtn', this.data.isLoadMore);
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/goods/goods.json b/packageC/mycomponent/temp/goods/goods.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/packageC/mycomponent/temp/goods/goods.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageC/mycomponent/temp/goods/goods.wxml b/packageC/mycomponent/temp/goods/goods.wxml
new file mode 100644
index 0000000..ae6467f
--- /dev/null
+++ b/packageC/mycomponent/temp/goods/goods.wxml
@@ -0,0 +1,143 @@
+
+
+
+
+ {{params.title || "请填写商品组标题" }}
+
+
+ 一个商品都没有...
+
+
+
+
+
+
+
+
+
+
+
+ {{ good.name }}
+
+
+
+ {{language['money']}}{{ good.vip_level_status&&good.vip_level_status.status==1?good.vip_level_status.word:good.pricenow }}
+ {{language['money']}}{{ good.priceold }}
+
+
+
+ 会员价:{{ good.vip_level_status&&good.vip_level_status.status==1?good.vip_level_status.word:good.vip_price }}
+
+ 赠送{{ good.award_proportion }}%{{designer.love_name || "爱心值"}}
+
+
+ {{language['售罄']}}
+ {{language['已下架']}}
+ {{language['不存在']}}
+ {{language['不存在']}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ good.name }}
+
+
+ {{language['money']}}{{ good.vip_level_status&&good.vip_level_status.status==1?good.vip_level_status.word:good.pricenow }}
+ {{language['money']}}{{ good.priceold }}
+ 会员价:{{ good.vip_level_status&&good.vip_level_status.status==1?good.vip_level_status.word:good.vip_price }}
+
+ 赠送{{ good.award_proportion }}%{{designer.love_name || "爱心值"}}
+
+
+ 销量:{{ good.sales }}{{ good.unit }}
+
+
+
+
+
+
+ {{language['售罄']}}
+ {{language['已下架']}}
+ {{language['不存在']}}
+ {{language['不存在']}}
+
+
+
+
+
+
+
+
+ 入住:
+
+ xxxx
+
+
+ 退房:
+
+ xxxxx
+
+
+ 住:xxx晚
+
+
+
+
+
+
+
+
+
+
+ {{ good.name }}
+
+ {{ prams.title }}:{{ prams.value }}
+
+
+
+ {{language['money']}}{{ good.todayoprice }}
+ {{language['money']}}{{ good.todaycprice }}
+
+ 预定
+
+
+
+ 预定
+
+
+
+
+ {{language['售罄']}}
+ {{language['已下架']}}
+ {{language['不存在']}}
+ {{language['不存在']}}
+
+
+
+
+
+
+
+ {{language['加载更多']}}
+
+
+ {{language['没有更多了']}}~~
+
+
+
+
diff --git a/packageC/mycomponent/temp/goods/goods.wxss b/packageC/mycomponent/temp/goods/goods.wxss
new file mode 100644
index 0000000..03bb3d4
--- /dev/null
+++ b/packageC/mycomponent/temp/goods/goods.wxss
@@ -0,0 +1,471 @@
+/* pages/goods/goods.wxss */
+.nogoods {
+ line-height: 340rpx;
+ text-align: center;
+ color: #999;
+ font-size: 32rpx;
+}
+
+.goods .loadMore {
+ background: #f5f5f5;
+ width: 100%;
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: center;
+ clear: both;
+}
+
+.goods .fe-mod-8-hp-line-info .title {
+ text-align: left;
+}
+
+.goods .fe-mod:hover {
+ border: 4rpx dashed rgba(0, 0, 0, 0);
+ cursor: default;
+}
+
+.goods .fe-mod,
+.goods .fe-mod:hover {
+ border: 0;
+}
+
+.goods .jiudroom {
+ background: #fff;
+}
+
+.goods .jiudroom .li .roomimg {
+ position: absolute;
+ height: 170rpx;
+ width: 170rpx;
+ left: 20rpx;
+}
+
+.goods .jiudroom .li {
+ position: relative;
+ padding: 20rpx 140rpx 20rpx 210rpx;
+ height: 212rpx;
+ border-bottom: 2rpx solid #ececec;
+ font-size: 24rpx;
+}
+
+.goods .jiudroom-price {
+ right: 20rpx;
+ top: 20rpx;
+ width: 140rpx;
+ text-align: center;
+}
+
+.goods .pa {
+ position: absolute !important;
+}
+
+.goods .jiudroom-price .ins {
+ text-decoration: none;
+ font-size: 24rpx;
+ color: #f88917;
+}
+
+.goods .jiudroom-price .del {
+ color: #999;
+ text-decoration: line-through;
+}
+
+.goods .jiudroom-text .h1 {
+ font-size: 32rpx;
+ margin-bottom: 28rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ width: 100%;
+ overflow: hidden;
+ font-weight: normal;
+ margin-top: -2rpx;
+}
+
+.goods .btnbook {
+ background: #f88917;
+ border-radius: 6rpx;
+ color: #fff;
+ border: none;
+ width: 100%;
+ height: 68rpx;
+ line-height: 68rpx;
+ font-size: 28rpx;
+ margin-top: 10rpx;
+}
+
+.goods .fe-mod-8 {
+ height: auto;
+ overflow: hidden;
+ background: #fff;
+}
+
+.goods .fe-mod-8 .a,
+.goods .fe-mod-8 .a:hover {
+ color: inherit;
+ text-decoration: none;
+}
+
+.goods .fe-mod-8-title {
+ padding: 0 16rpx;
+ font-size: 32rpx;
+ color: #666;
+ text-align: left;
+}
+
+.goods .fe-mod-8-good {
+ height: auto;
+ width: 50%;
+ box-sizing: border-box;
+ float: left;
+}
+
+.goods .fe-mod-8-main {
+ height: auto;
+
+ /* padding: 10rpx;
+ background: #fff; */
+}
+
+.goods .fe-mod-8-main-img {
+ position: relative;
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ background-size: 100% 100% !important;
+ background-position: center;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+}
+
+.goods .fe-mod-8-main-img.oo2 {
+ /* min-height: 43vw; */
+ background: #fff;
+ position: relative;
+ text-align: center;
+}
+
+.goods .fe-mod-8-main-img.oo2 image {
+ width: 43vw;
+ height: 43vw;
+}
+
+.goods .fe-mod-8-main-img.oo3 {
+ /* min-height: 25vw; */
+ position: relative;
+ text-align: center;
+}
+
+.goods .fe-mod-8-main-img.oo3 image {
+ width: 100%;
+ height: 100%;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+}
+
+.goods .fe-mod-8 .new {
+ height: 60rpx;
+ width: 60rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/ico_new.png") no-repeat;
+ background-size: 60rpx;
+ position: absolute;
+ top: -2rpx;
+ left: -2rpx;
+}
+
+.goods .fe-mod-8 .saleimg {
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.goods .fe-mod-8 .sale-xp {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-xp.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-rx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-rx.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-tj {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-tj.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-xs {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/sale-xs.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-by {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/sale-by.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-cx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/sale-cx.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .recom {
+ height: 60rpx;
+ width: 60rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_recom.png") no-repeat;
+ position: absolute;
+ top: -2rpx;
+ left: -2rpx;
+}
+
+.goods .fe-mod-8 .hot {
+ height: 60rpx;
+ width: 60rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_hot.png") no-repeat;
+ background-size: 60rpx;
+ position: absolute;
+ top: -2rpx;
+ left: -2rpx;
+}
+
+.goods .fe-mod-8-main-name {
+ height: auto;
+ font-size: 28rpx;
+ text-align: center;
+ line-height: 40rpx;
+ color: #999;
+ margin-top: 10rpx;
+
+ /* border-top: solid 1rpx #ccc; */
+ padding: 0 16rpx;
+}
+
+.goods .fe-mod-8-main-name-name {
+ height: 80rpx;
+ text-align: left;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ color: #333;
+}
+
+.goods .fe-mod-8-main-name-buy {
+ height: 40rpx;
+ width: 60rpx;
+ float: right;
+ background-repeat: no-repeat;
+}
+
+.goods .fe-mod-8 .buy-1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_1.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8 .buy-2 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_2.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8 .buy-3 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_3.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8 .buy-4 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_4.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8-main-price {
+ height: 48rpx;
+ width: 100%;
+ font-size: 14px;
+ text-align: left;
+ line-height: 48rpx;
+ color: #fff;
+ background: rgba(0, 0, 0, 0.2);
+ padding-left: 6rpx;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ content: "...";
+}
+
+.goods .fe-mod-8-hp-line {
+ height: 180rpx;
+ background: #fff;
+ padding: 10rpx;
+ box-sizing: border-box;
+}
+
+.goods .fe-mod-8-hp-line-img {
+ height: 160rpx;
+ width: 160rpx;
+ background: #ddd;
+ position: relative;
+}
+
+.goods .fe-mod-8-hp-line-img image {
+ height: 100%;
+ width: 100%;
+}
+
+.goods .fe-mod-8-hp-line-info {
+ height: 160rpx;
+ background: #fff;
+ padding-left: 20rpx;
+ flex: 1;
+}
+
+.goods .fe-mod-8-hp-line-info .title {
+ height: 80rpx;
+ font-size: 28rpx;
+ color: #333;
+ line-height: 40rpx;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.goods .fe-mod-8-hp-line-info .price {
+ height: 60rpx;
+ width: 100%;
+ margin-top: 20rpx;
+ font-size: 28rpx;
+ color: #bbb;
+ line-height: 60rpx;
+ float: left;
+ overflow: hidden;
+ padding: 0;
+ box-sizing: border-box;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p1 {
+ float: left;
+ color: #f60;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p2 {
+ font-size: 24rpx;
+ padding-left: 10rpx;
+ text-decoration: line-through;
+ float: left;
+ line-height: 64rpx;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p3 {
+ color: #999;
+ padding-left: 20rpx;
+ float: left;
+ font-size: 24rpx;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p4 {
+ color: #999;
+ padding-left: 20rpx;
+ float: left;
+ font-size: 24rpx;
+ width: 160rpx;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ font-weight: bold;
+}
+
+.goods .new-goods {
+ /* padding: 8rpx; */
+ width: calc(98% - 32rpx);
+ float: left;
+ margin: 16rpx 24rpx;
+ border-radius: 16rpx;
+}
+
+.goods .card-price {
+ color: #f60;
+ overflow: hidden;
+ position: relative;
+ height: 40rpx;
+ text-align: left;
+ margin: 0 16rpx;
+}
+
+.goods .colorBlack {
+ color: #999;
+}
+
+.goods .good-new {
+ /* padding: 8rpx; */
+ margin-bottom: 2%;
+ border-radius: 16rpx;
+ background: #fff;
+}
+
+.goods .good-new a {
+ /* border: 2rpx solid #e5e5e5; */
+ border-radius: 16rpx;
+ display: block;
+ background: #fff;
+}
+
+.goods .add-cart {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+}
+
+.goods .fe-mod-8-hp-line {
+ border: 2rpx solid #e5e5e5;
+ display: flex;
+ background: #fff;
+ margin: 10rpx 0;
+}
+
+.statusShow {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
+
+.statusShow .statusShowLi {
+ height: 80rpx;
+ background-color: rgba(0, 0, 0, 0.3);
+ line-height: 80rpx;
+ text-align: center;
+ color: #fff;
+ font-size: 26rpx;
+ border-bottom-left-radius: 16rpx;
+ border-bottom-right-radius: 16rpx;
+}
+
+.goods .good-new.width100 {
+ margin-right: 0;
+}
+
+.goods .good-new.width50 {
+ margin-right: 2%;
+}
+
+.goods .good-new.width50:nth-child(2n) {
+ margin-right: 0;
+}
+
+.goods .good-new.width33 {
+ margin-right: 2%;
+}
+
+.goods .good-new.width33:nth-child(3n) {
+ margin-right: 0;
+}
diff --git a/packageC/mycomponent/temp/headline/headline.js b/packageC/mycomponent/temp/headline/headline.js
new file mode 100644
index 0000000..0fa4cda
--- /dev/null
+++ b/packageC/mycomponent/temp/headline/headline.js
@@ -0,0 +1,67 @@
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ },
+ page_id: {
+ type: null
+ }
+ },
+ data: {
+ data_2: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ console.log(this.data.page_id);
+ // if (this.data.params.shownum == 2) {
+ // let arr_1 = [];
+ // for (let i = 0; i < this.data.data.length; i += 2) {
+ // let arr_2 = []
+ // if (this.data.data[i]) {
+ // arr_2.push(this.data.data[i])
+ // }
+ // if (this.data.data[i + 1]) {
+ // arr_2.push(this.data.data[i + 1])
+ // }
+ // arr_1.push(arr_2);
+ // }
+ // this.setData({
+ // data_2: arr_1
+ // })
+ // console.log(arr_1,this.data.data)
+ // }
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ gotoList() {
+ wx.setStorageSync('headline', this.data.data);
+ wx.navigateTo({
+ url: '/packageA/member/article/ArticleList/ArticleList'
+ });
+ }
+ },
+
+});
diff --git a/packageC/mycomponent/temp/headline/headline.json b/packageC/mycomponent/temp/headline/headline.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/packageC/mycomponent/temp/headline/headline.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageC/mycomponent/temp/headline/headline.wxml b/packageC/mycomponent/temp/headline/headline.wxml
new file mode 100644
index 0000000..24e0c8e
--- /dev/null
+++ b/packageC/mycomponent/temp/headline/headline.wxml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+ 热议
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 热议
+ {{item.title}}
+
+
+
+
+
+
diff --git a/packageC/mycomponent/temp/headline/headline.wxss b/packageC/mycomponent/temp/headline/headline.wxss
new file mode 100644
index 0000000..c9d4904
--- /dev/null
+++ b/packageC/mycomponent/temp/headline/headline.wxss
@@ -0,0 +1,86 @@
+/* pages/headline/headline.wxss */
+.headline-box {
+ margin-top: 2rpx;
+ display: flex;
+ height: 120rpx;
+}
+
+.headline-box .img {
+ margin-right: 20rpx;
+ width: 15%;
+ padding: 12rpx;
+ box-sizing: border-box;
+}
+
+.headline-box .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.headline-box .more {
+ width: 15%;
+}
+
+.headline-box .li {
+ display: flex;
+ align-items: center;
+ height: 30px;
+}
+
+.headline-box .left {
+ color: #f15353;
+ border: solid 2rpx #f15353;
+ padding: 0 8rpx;
+ border-radius: 4rpx;
+ margin-right: 20rpx;
+}
+
+.headline-box .right {
+ text-align: left;
+ width: 500rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.headline {
+ margin-top: 2rpx;
+ display: flex;
+ height: 60rpx;
+
+ /* background-color: #fff; */
+ padding: 10rpx 0;
+}
+
+.headline .img {
+ width: 15%;
+ padding: 0 12rpx;
+ margin-right: 20rpx;
+ box-sizing: border-box;
+}
+
+.headline .more {
+ width: 15%;
+}
+
+.headline .li {
+ display: flex;
+ align-items: center;
+ height: 60rpx;
+}
+
+.headline .left {
+ color: #f15353;
+ border: solid 2rpx #f15353;
+ padding: 0 8rpx;
+ border-radius: 4rpx;
+ margin-right: 20rpx;
+}
+
+.headline .right {
+ text-align: left;
+ width: 500rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
diff --git a/packageC/mycomponent/temp/line/line.js b/packageC/mycomponent/temp/line/line.js
new file mode 100644
index 0000000..63c5129
--- /dev/null
+++ b/packageC/mycomponent/temp/line/line.js
@@ -0,0 +1,38 @@
+Component({
+ properties: {
+ params: {
+ type: null
+ }
+ },
+ data: {
+ Height:''
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+
+ }
+});
diff --git a/packageC/mycomponent/temp/line/line.json b/packageC/mycomponent/temp/line/line.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/line/line.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/line/line.wxml b/packageC/mycomponent/temp/line/line.wxml
new file mode 100644
index 0000000..539e81c
--- /dev/null
+++ b/packageC/mycomponent/temp/line/line.wxml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/packageC/mycomponent/temp/line/line.wxss b/packageC/mycomponent/temp/line/line.wxss
new file mode 100644
index 0000000..308e13c
--- /dev/null
+++ b/packageC/mycomponent/temp/line/line.wxss
@@ -0,0 +1,6 @@
+/* pages/line/line.wxss */
+.line .fe-mod-5-line {
+ height: 0;
+ margin: 20rpx 0;
+ border-top: 4rpx dashed #999;
+}
diff --git a/packageC/mycomponent/temp/liveList/liveList.js b/packageC/mycomponent/temp/liveList/liveList.js
new file mode 100644
index 0000000..25714b0
--- /dev/null
+++ b/packageC/mycomponent/temp/liveList/liveList.js
@@ -0,0 +1,801 @@
+var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null,
+ },
+ },
+ data: {
+ active: 1,
+ status: "",
+ announceList: "",
+ broadcastlist: "",
+ apiType: "recommend",
+ playBackData: "",
+ playBackShow: false,
+ allLivelistData: [],
+ allLivelistData_activitys1: [],
+ allLivelistData_activitys2: [],
+ all_colOneHeight: 0,
+ all_colTwoHeight: 0,
+ //more
+ isLoadMore_all: true,
+ page_all: 1,
+ total_page_all: 0,
+ recommendData_activitys1: [],
+ recommendData_activitys2: [],
+ broadcastlist_activitys1: [],
+ broadcastlist_activitys2: [],
+ announceList_activitys1: [],
+ announceList_activitys2: [],
+ playBackData_activitys1: [],
+ playBackData_activitys2: [],
+ recommendData: [],
+ re_colOneHeight: 0,
+ re_colTwoHeight: 0,
+ br_colOneHeight: 0,
+ br_colTwoHeight: 0,
+ an_colOneHeight: 0,
+ an_colTwoHeight: 0,
+ pl_colOneHeight: 0,
+ pl_colTwoHeight: 0,
+ RecommendBol: true,
+ allLiveBol: true,
+ broadcastlistBol: true,
+ announceListBol: true,
+ playBackDataBol: true,
+ //more
+ isLoadMore_br: true,
+ page_br: 1,
+ total_page_br: 0,
+ //more
+ isLoadMore_an: true,
+ page_an: 1,
+ total_page_an: 0,
+ //more
+ isLoadMore_pl: true,
+ page_pl: 1,
+ total_page_pl: 0,
+ showNumber: 10,
+ notload_all: true,
+ notload_br: true,
+ notload_an: true,
+ notload_pl: true,
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {},
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+ methods: {
+ goliveList() {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ },
+ golistPage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 3) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=live",
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/foreshow/foreshow?id=" + id,
+ });
+ } else if (status == 4) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=video" +
+ "&backid=" +
+ backid,
+ });
+ }
+ },
+ getMorePdData_all() {
+ const that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-all-live-list"
+ );
+ that.setData({
+ isLoadMore_all: false, // 防止多次请求分页数据
+ });
+ if (this.data.page_all >= this.data.total_page_all) {
+ return;
+ } else {
+ this.data.page_all = this.data.page_all + 1;
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: this.data.page_all,
+ page_size: this.data.showNumber,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore_all: true,
+ allLivelistData: that.data.allLivelistData.concat(
+ res.data.data
+ ),
+ });
+ if (that.data.total_page_all == that.data.page_all) {
+ that.setData({
+ notload_all: false,
+ });
+ }
+ } else {
+ that.setData({
+ page_all: that.data.page_all - 1,
+ isLoadMore_all: false,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ getMorePdData_br() {
+ const that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-list"
+ );
+ that.setData({
+ isLoadMore_br: false, // 防止多次请求分页数据
+ });
+ if (this.data.page_br >= this.data.total_page_br) {
+ return;
+ } else {
+ this.data.page_br = this.data.page_br + 1;
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ status: 3,
+ page: this.data.page_br,
+ page_size: this.data.showNumber,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore_br: true,
+ broadcastlist: that.data.broadcastlist.concat(res.data.data),
+ });
+ if (that.data.total_page_br == that.data.page_br) {
+ that.setData({
+ notload_br: false,
+ });
+ }
+ } else {
+ that.setData({
+ page_br: that.data.page_br - 1,
+ isLoadMore_br: false,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ getMorePdData_an() {
+ const that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-list"
+ );
+ that.setData({
+ isLoadMore_an: false, // 防止多次请求分页数据
+ });
+ if (this.data.page_an >= this.data.total_page_an) {
+ return;
+ } else {
+ this.data.page_an = this.data.page_an + 1;
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ status: 2,
+ page: this.data.page_an,
+ page_size: this.data.showNumber,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore_an: true,
+ announceList: that.data.announceList.concat(res.data.data),
+ });
+ if (that.data.total_page_an == that.data.page_an) {
+ that.setData({
+ notload_an: false,
+ });
+ }
+ } else {
+ that.setData({
+ page_an: that.data.page_an - 1,
+ isLoadMore_an: false,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ getMorePdData_pl() {
+ const that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.play-back"
+ );
+ that.setData({
+ isLoadMore_pl: false, // 防止多次请求分页数据
+ });
+ if (this.data.page_pl >= this.data.total_page_pl) {
+ return;
+ } else {
+ this.data.page_pl = this.data.page_pl + 1;
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: this.data.page_pl,
+ page_size: this.data.showNumber,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore_pl: true,
+ playBackData: that.data.playBackData.concat(res.data.data),
+ });
+ if (that.data.total_page_pl == that.data.page_pl) {
+ that.setData({
+ notload_pl: false,
+ });
+ }
+ } else {
+ that.setData({
+ page_pl: that.data.page_pl - 1,
+ isLoadMore_pl: false,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ onImageError(options) {
+ let index = options.target.dataset.index;
+ let seltype = options.target.dataset.seltype;
+ // let currentId = options.currentTarget.id;
+ console.log("图片加载发生错误");
+ this.onImageLoad({
+ target: {
+ dataset: {
+ index: index,
+ seltype: seltype,
+ },
+ },
+ detail: {
+ width: 2340,
+ height: 1080,
+ },
+ });
+ },
+ /**
+ * 图片加载函数
+ * 图片加载完成后,根据图片的高度,依次往第一列和第二列中推入数据
+ */
+ onImageLoad(options) {
+ let index = options.target.dataset.index;
+ let seltype = options.target.dataset.seltype;
+ let imageWidth = options.detail.width; // 图片宽度
+ let imageHeight = options.detail.height; // 图片高度
+ let activityObj = null;
+ let scle = imageWidth / imageHeight;
+ if (seltype == "recommend") {
+ let activitys = this.data.recommendData; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.recommendData_activitys1;
+ let activitys2 = this.data.recommendData_activitys2;
+ if (this.data.re_colOneHeight <= this.data.re_colTwoHeight) {
+ this.data.re_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.re_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ recommendData_activitys1: activitys1,
+ recommendData_activitys2: activitys2,
+ });
+ } else if (seltype == "AllLivelist") {
+ let activitys = this.data.allLivelistData; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.allLivelistData_activitys1;
+ let activitys2 = this.data.allLivelistData_activitys2;
+ if (this.data.all_colOneHeight <= this.data.all_colTwoHeight) {
+ this.data.all_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.all_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ allLivelistData_activitys1: activitys1,
+ allLivelistData_activitys2: activitys2,
+ });
+ } else if (seltype == "liveList_1") {
+ let activitys = this.data.broadcastlist; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.broadcastlist_activitys1;
+ let activitys2 = this.data.broadcastlist_activitys2;
+ if (this.data.br_colOneHeight <= this.data.br_colTwoHeight) {
+ this.data.br_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.br_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ broadcastlist_activitys1: activitys1,
+ broadcastlist_activitys2: activitys2,
+ });
+ } else if (seltype == "liveList_2") {
+ let activitys = this.data.announceList; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.announceList_activitys1;
+ let activitys2 = this.data.announceList_activitys2;
+ if (this.data.an_colOneHeight <= this.data.an_colTwoHeight) {
+ this.data.an_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.an_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ announceList_activitys1: activitys1,
+ announceList_activitys2: activitys2,
+ });
+ } else if (seltype == "playBack") {
+ let activitys = this.data.playBackData; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.playBackData_activitys1;
+ let activitys2 = this.data.playBackData_activitys2;
+ if (this.data.pl_colOneHeight <= this.data.pl_colTwoHeight) {
+ this.data.pl_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.pl_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ playBackData_activitys1: activitys1,
+ playBackData_activitys2: activitys2,
+ });
+ }
+ },
+ //跳转直播预告
+ goforeshow(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageD/directSeeding/foreshow/foreshow?id=" + id,
+ });
+ },
+ goPlayBackData(e) {
+ let roomid = e.currentTarget.dataset.roomid;
+ let backid = e.currentTarget.dataset.backid;
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ roomid +
+ "&playerType=video" +
+ "&backid=" +
+ backid,
+ });
+ },
+ //跳转直播页
+ golivePage(e) {
+ let id = e.currentTarget.dataset.id;
+ let status = e.currentTarget.dataset.status;
+ let memberid = e.currentTarget.dataset.memberid;
+ console.log(e);
+ if (status == 1) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=live",
+ });
+ } else {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/anchorDetail/anchorDetail?id=" + memberid,
+ });
+ }
+ },
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ this.setData({
+ active: index,
+ });
+ if (index == 0 && this.data.allLiveBol) {
+ this.data.apiType = "AllLivelist";
+ this.getAllLivelist();
+ this.data.allLiveBol = false;
+ } else if (index == 1 && this.data.RecommendBol) {
+ this.data.apiType = "recommend";
+ this.getRecommend();
+ this.data.RecommendBol = false;
+ } else if (index == 2 && this.data.broadcastlistBol) {
+ this.data.apiType = "liveList";
+ this.data.status = 3;
+ this.getLiveList(3);
+ this.data.broadcastlistBol = false;
+ } else if (index == 3 && this.data.announceListBol) {
+ this.data.apiType = "liveList";
+ this.data.status = 2;
+ this.getLiveList(2);
+ this.data.announceListBol = false;
+ } else if (index == 4 && this.data.playBackDataBol) {
+ this.data.apiType = "playBack";
+ this.getplayBack();
+ this.data.playBackDataBol = false;
+ }
+ },
+ getplayBack() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.play-back"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: 1,
+ page_size: this.data.showNumber,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ playBackData: res.data.data,
+ total_page_pl: res.data.last_page,
+ });
+ if (that.data.total_page_pl == that.data.page_pl) {
+ that.setData({
+ notload_pl: false,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getLiveList(type) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ status: type,
+ page: 1,
+ page_size: this.data.showNumber,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (type == 2) {
+ that.setData({
+ total_page_an: res.data.last_page,
+ announceList: res.data.data,
+ });
+ if (that.data.total_page_an == that.data.page_an) {
+ that.setData({
+ notload_an: false,
+ });
+ }
+ } else if (type == 3) {
+ that.setData({
+ total_page_br: res.data.last_page,
+ broadcastlist: res.data.data,
+ });
+ if (that.data.total_page_br == that.data.page_br) {
+ that.setData({
+ notload_br: false,
+ });
+ }
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getRecommend() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-recommend"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page_size: this.data.showNumber,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ recommendData: res.data,
+ });
+ } else {
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // })
+ console.log(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getAllLivelist() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-all-live-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page_size: this.data.showNumber,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ allLivelistData: res.data.data,
+ total_page_all: res.data.last_page,
+ });
+ if (that.data.total_page_all == that.data.page_all) {
+ that.setData({
+ notload_all: false,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getPlayBackShow() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live-list.record");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ playBackShow: res.data.result == 1 ? true : false,
+ });
+ if (!that.data.playBackShow) {
+ that.setData({
+ active: 1,
+ });
+ that.data.apiType = "recommend";
+ that.getRecommend();
+ that.data.RecommendBol = false;
+ }
+ } else {
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // })
+ console.log(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ gopage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 1) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=live",
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=video" +
+ "&backid=" +
+ backid,
+ });
+ }
+ },
+ },
+ observers: {
+ params: function () {
+ this.setData({
+ active: 1,
+ status: "",
+ announceList: "",
+ broadcastlist: "",
+ apiType: "recommend",
+ playBackData: "",
+ playBackShow: false,
+ recommendData_activitys1: [],
+ recommendData_activitys2: [],
+ broadcastlist_activitys1: [],
+ broadcastlist_activitys2: [],
+ announceList_activitys1: [],
+ announceList_activitys2: [],
+ playBackData_activitys1: [],
+ playBackData_activitys2: [],
+ recommendData: [],
+ re_colOneHeight: 0,
+ re_colTwoHeight: 0,
+ br_colOneHeight: 0,
+ br_colTwoHeight: 0,
+ an_colOneHeight: 0,
+ an_colTwoHeight: 0,
+ pl_colOneHeight: 0,
+ pl_colTwoHeight: 0,
+ RecommendBol: true,
+ allLiveBol: true,
+ broadcastlistBol: true,
+ announceListBol: true,
+ playBackDataBol: true,
+ //more
+ isLoadMore_br: true,
+ page_br: 1,
+ total_page_br: 0,
+ //more
+ isLoadMore_an: true,
+ page_an: 1,
+ total_page_an: 0,
+ //more
+ isLoadMore_pl: true,
+ page_pl: 1,
+ total_page_pl: 0,
+ showNumber: 10,
+ allLivelistData: [],
+ allLivelistData_activitys1: [],
+ allLivelistData_activitys2: [],
+ all_colOneHeight: 0,
+ all_colTwoHeight: 0,
+ //more
+ isLoadMore_all: true,
+ page_all: 1,
+ total_page_all: 0,
+ notload_all: true,
+ notload_br: true,
+ notload_an: true,
+ notload_pl: true,
+ });
+ let showNumber = this.data.params.number;
+ if (showNumber) {
+ this.data.showNumber = showNumber;
+ }
+ if (this.data.params.type && this.data.params.type == 0) {
+ this.setData({
+ active: 0,
+ });
+ this.data.apiType = "AllLivelist";
+ this.getAllLivelist();
+ this.data.allLiveBol = false;
+ } else if (this.data.params.type && this.data.params.type == 1) {
+ this.setData({
+ active: 1,
+ });
+ this.data.apiType = "recommend";
+ this.getRecommend();
+ this.data.RecommendBol = false;
+ } else if (this.data.params.type && this.data.params.type == 2) {
+ this.setData({
+ active: 2,
+ });
+ this.data.apiType = "liveList";
+ this.data.status = 3;
+ this.getLiveList(3);
+ this.data.broadcastlistBol = false;
+ } else if (this.data.params.type && this.data.params.type == 3) {
+ this.setData({
+ active: 3,
+ });
+ this.data.apiType = "liveList";
+ this.data.status = 2;
+ this.getLiveList(2);
+ this.data.announceListBol = false;
+ } else if (this.data.params.type && this.data.params.type == 4) {
+ this.setData({
+ active: 4,
+ });
+ this.data.apiType = "playBack";
+ this.getplayBack();
+ this.data.playBackDataBol = false;
+ } else {
+ this.setData({
+ active: 1,
+ });
+ this.data.apiType = "recommend";
+ this.getRecommend();
+ this.data.RecommendBol = false;
+ }
+ this.getPlayBackShow();
+ },
+ },
+});
diff --git a/packageC/mycomponent/temp/liveList/liveList.json b/packageC/mycomponent/temp/liveList/liveList.json
new file mode 100644
index 0000000..e2221e3
--- /dev/null
+++ b/packageC/mycomponent/temp/liveList/liveList.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/liveList/liveList.wxml b/packageC/mycomponent/temp/liveList/liveList.wxml
new file mode 100644
index 0000000..9c99faf
--- /dev/null
+++ b/packageC/mycomponent/temp/liveList/liveList.wxml
@@ -0,0 +1,563 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+
+ 预告
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+
+ 预告
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+
+ 预告
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+ 加载更多
+
+
+ 前往直播列表>
+
+
+
+
+
+
+
+
+
+ 前往直播列表>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+ 前往直播列表>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+ 加载更多
+
+
+ 前往直播列表>
+
+
+
+
+
+
+
+
+
+ 前往直播列表>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+ 加载更多
+
+
+ 前往直播列表>
+
+
+
+
+
+
+
+
+
+ 前往直播列表>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+ 加载更多
+
+
+ 前往直播列表>
+
+
+
+
+
+
+
+
+
+ 前往直播列表>
+
+
+
+
+
+
diff --git a/packageC/mycomponent/temp/liveList/liveList.wxss b/packageC/mycomponent/temp/liveList/liveList.wxss
new file mode 100644
index 0000000..7fb0274
--- /dev/null
+++ b/packageC/mycomponent/temp/liveList/liveList.wxss
@@ -0,0 +1,241 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.liveList {
+ background: #fff;
+}
+
+.living_content {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ padding-top: 40rpx;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.liveList .living {
+ width: 340rpx;
+ padding-bottom: 56rpx;
+ position: relative;
+ background-color: #fff;
+ border-radius: 25rpx;
+ margin-bottom: 13rpx;
+}
+
+.liveList .living .bg {
+ width: 340rpx;
+ min-height: 230rpx;
+ background-color: #fff;
+ border-radius: 25rpx;
+ position: relative;
+}
+
+.liveList .living .bg image {
+ border-radius: 25rpx;
+ width: 100%;
+
+ /* height: 100%; */
+}
+
+.liveList .living .bg .content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+}
+
+.liveList .living .bg .content .live_top {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 19rpx;
+ padding-left: 10rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_left {
+ min-width: 206rpx;
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.liveList .living .bg .content .live_top .live_top_left .left {
+ width: 90rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .live_top_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.liveList .living .bg .content .live_top .seeding_left {
+ /* min-width: 206rpx; */
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.liveList .living .bg .content .live_top .seeding_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #999;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .seeding_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.liveList .living .bg .content .live_top .advance_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .live_top_right {
+ width: 59rpx;
+ position: relative;
+ margin-right: 7rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .little_icon {
+ width: 50rpx;
+ height: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .little_icon .icon-zb_goods {
+ color: #ffa303;
+ font-size: 50rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .num {
+ min-width: 50rpx;
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+ height: 22rpx;
+ background-color: #fff;
+ border-radius: 9rpx;
+ position: absolute;
+ right: -2rpx;
+ top: 6rpx;
+ font-size: 20rpx;
+ line-height: 22rpx;
+ color: #f00;
+ text-align: center;
+ overflow: hidden;
+}
+
+.liveList .living .bg .live_bottom {
+ position: absolute;
+ height: 72rpx;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #fff;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+}
+
+.liveList .living .bootom {
+ position: absolute;
+ display: flex;
+ bottom: 10rpx;
+ left: 0;
+ right: 0;
+}
+
+.liveList .living .bootom .left {
+ width: 56rpx;
+ height: 56rpx;
+ background-color: #fff;
+ border: solid 4rpx #fff;
+ border-radius: 50%;
+ margin-right: 9rpx;
+ margin-left: 6rpx;
+}
+
+.liveList .living .bootom .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.liveList .living .bootom .right {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-top: 20rpx;
+ flex: 1;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.loading {
+ width: 100%;
+ height: 400rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.loading .content {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.loading .content image {
+ width: 100%;
+ height: 100%;
+}
+
+.liveListnav .liveListnav_child {
+ padding: 0;
+}
+
+.livecontent {
+ text-align: center;
+ font-size: 24rpx;
+ width: 100%;
+}
diff --git a/packageC/mycomponent/temp/location/location.js b/packageC/mycomponent/temp/location/location.js
new file mode 100644
index 0000000..0f348fc
--- /dev/null
+++ b/packageC/mycomponent/temp/location/location.js
@@ -0,0 +1,79 @@
+var location = require("../../../../mybehaviors/location/location");
+Component({
+ behaviors: [location],
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ },
+ is_url: {
+ type: null
+ }
+ },
+ data: {
+ address: "",
+ point: {
+ lat: '',
+ lng: ''
+ },
+ city: ""
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ this._getLocation();
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ tolocation() {
+ if (this.data.data[0].home){
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation/o2oLocation?tag=home'
+ });
+ }else if(this.properties.is_url){
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation/o2oLocation?tag=diy'
+ });
+ }else{
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation/o2oLocation'
+ });
+ }
+
+ },
+ tosearch() {
+ if (!this.data.city) {
+ wx.showToast({
+ icon: 'none',
+ title: '请先选择城市',
+ duration: 1000
+ });
+ return;
+ }
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oSearch/o2oSearch?city=' + this.data.city + '&point=' + JSON.stringify(this.data.point)
+ });
+ },
+ }
+});
diff --git a/packageC/mycomponent/temp/location/location.json b/packageC/mycomponent/temp/location/location.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/packageC/mycomponent/temp/location/location.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageC/mycomponent/temp/location/location.wxml b/packageC/mycomponent/temp/location/location.wxml
new file mode 100644
index 0000000..c4ec968
--- /dev/null
+++ b/packageC/mycomponent/temp/location/location.wxml
@@ -0,0 +1,22 @@
+
+
diff --git a/packageC/mycomponent/temp/location/location.wxss b/packageC/mycomponent/temp/location/location.wxss
new file mode 100644
index 0000000..b3272ec
--- /dev/null
+++ b/packageC/mycomponent/temp/location/location.wxss
@@ -0,0 +1,78 @@
+/* pages/location/location.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.menu {
+ background-color: #fff;
+}
+
+.location-search {
+ border: 1px dashed #ccc;
+ z-index: 99;
+ margin: auto;
+ text-align: center;
+ width: 100%;
+ height: 68rpx;
+ line-height: 68rpx;
+ display: flex;
+ align-items: center;
+}
+
+.location-search .location {
+ margin: 0 3%;
+ width: 44%;
+ color: #fff;
+ height: 60rpx;
+ line-height: 60rpx;
+ overflow: hidden;
+ text-align: left;
+ padding-left: 30rpx;
+ font-size: 24rpx;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+}
+
+.location-search .location .left {
+ display: flex;
+ align-items: center;
+ padding-bottom: 10rpx;
+}
+
+.location-search .location .middle {
+ height: 100%;
+ overflow: hidden;
+}
+
+.location-search .location .right {
+ display: flex;
+ align-items: center;
+ padding-bottom: 6rpx;
+}
+
+.location-search .search-form-box {
+ margin: 0 3%;
+ width: 34%;
+ color: #fff;
+ border-radius: 30rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ overflow: hidden;
+ text-align: left;
+ padding-left: 30rpx;
+ font-size: 24rpx;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+}
+
+.location-search .search-form-box .left {
+ display: flex;
+ align-items: center;
+ padding-bottom: 10rpx;
+}
+
+.location-search .search-form-box .right {
+ display: flex;
+ align-items: center;
+}
diff --git a/packageC/mycomponent/temp/menu/menu.js b/packageC/mycomponent/temp/menu/menu.js
new file mode 100644
index 0000000..6c120bd
--- /dev/null
+++ b/packageC/mycomponent/temp/menu/menu.js
@@ -0,0 +1,100 @@
+// var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ }
+ },
+ data: {
+
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ gohrefurl(e) {
+ let item = e.currentTarget.dataset.item;
+ if (item.hrefChoice && item.hrefChoice == 2) {
+ if (item.appID) {
+ if (item.miniUrl) {
+ try {
+ wx.navigateToMiniProgram({
+ appId: item.appID,
+ path: item.miniUrl,
+ extraData: {},
+ envVersion: 'release',
+ success(res) {
+ // 打开成功
+ },
+ fail(res) {
+ wx.showToast({
+ title: '小程序跳转失败',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '小程序跳转失败',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ wx.showToast({
+ title: '请设置跳转小程序后的跳转链接',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ wx.showToast({
+ title: '请设置小程序所需跳转appId',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ let url = item.hrefurl;
+ try {
+ wx.navigateTo({
+ url: url
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '链接设置错误',
+ icon: 'none',
+ duration: 2000
+ });
+ //TODO handle the exception
+ }
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/menu/menu.json b/packageC/mycomponent/temp/menu/menu.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/packageC/mycomponent/temp/menu/menu.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageC/mycomponent/temp/menu/menu.wxml b/packageC/mycomponent/temp/menu/menu.wxml
new file mode 100644
index 0000000..2d4e6fe
--- /dev/null
+++ b/packageC/mycomponent/temp/menu/menu.wxml
@@ -0,0 +1,12 @@
+
+
diff --git a/packageC/mycomponent/temp/menu/menu.wxss b/packageC/mycomponent/temp/menu/menu.wxss
new file mode 100644
index 0000000..a980cb4
--- /dev/null
+++ b/packageC/mycomponent/temp/menu/menu.wxss
@@ -0,0 +1,24 @@
+/* pages/menu/menu.wxss */
+.menu .ul {
+ display: flex;
+ padding: 20rpx 0;
+}
+
+.menu .ul .li {
+ flex: 1;
+}
+
+.menu .ul .li .a {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+}
+
+.menu .ul .li image {
+ width: 70%;
+}
+
+.menu .ul .li .h5 {
+ color: #000;
+}
diff --git a/packageC/mycomponent/temp/notice/notice.js b/packageC/mycomponent/temp/notice/notice.js
new file mode 100644
index 0000000..3a22d47
--- /dev/null
+++ b/packageC/mycomponent/temp/notice/notice.js
@@ -0,0 +1,51 @@
+// var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ }
+ },
+ data: {
+ Height: ''
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {},
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ gonoticehref(e) {
+ let url = e.currentTarget.dataset.url;
+ try {
+ wx.navigateTo({
+ url: url
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '链接设置错误',
+ icon: 'none',
+ duration: 2000
+ });
+ //TODO handle the exception
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/notice/notice.json b/packageC/mycomponent/temp/notice/notice.json
new file mode 100644
index 0000000..790c071
--- /dev/null
+++ b/packageC/mycomponent/temp/notice/notice.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-notice-bar": "../../../dist/notice-bar/index"
+ }
+}
diff --git a/packageC/mycomponent/temp/notice/notice.wxml b/packageC/mycomponent/temp/notice/notice.wxml
new file mode 100644
index 0000000..51f5c36
--- /dev/null
+++ b/packageC/mycomponent/temp/notice/notice.wxml
@@ -0,0 +1,5 @@
+
+
+ {{params.notice|| '请填写内容,可设置是否滚动显示'}}
+
diff --git a/packageC/mycomponent/temp/notice/notice.wxss b/packageC/mycomponent/temp/notice/notice.wxss
new file mode 100644
index 0000000..465117d
--- /dev/null
+++ b/packageC/mycomponent/temp/notice/notice.wxss
@@ -0,0 +1,5 @@
+/* pages/notice/notice.wxss */
+.scroll-notice {
+ line-height: 64rpx;
+ text-align: center;
+}
diff --git a/packageC/mycomponent/temp/picture/picture.js b/packageC/mycomponent/temp/picture/picture.js
new file mode 100644
index 0000000..ef547dc
--- /dev/null
+++ b/packageC/mycomponent/temp/picture/picture.js
@@ -0,0 +1,60 @@
+// var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ }
+ },
+ data: {
+ showBol:false
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ setTimeout(()=>{
+ this.setData({
+ showBol:true
+ });
+ },1000);
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ gohrefurl(e) {
+ let url = e.currentTarget.dataset.url;
+ try {
+ wx.navigateTo({
+ url: url
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '链接设置错误',
+ icon: 'none',
+ duration: 2000
+ });
+ //TODO handle the exception
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/picture/picture.json b/packageC/mycomponent/temp/picture/picture.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/packageC/mycomponent/temp/picture/picture.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageC/mycomponent/temp/picture/picture.wxml b/packageC/mycomponent/temp/picture/picture.wxml
new file mode 100644
index 0000000..7c020e8
--- /dev/null
+++ b/packageC/mycomponent/temp/picture/picture.wxml
@@ -0,0 +1,9 @@
+
+
+ 一张图片都没有...
+
+
+
+
+
+
diff --git a/packageC/mycomponent/temp/picture/picture.wxss b/packageC/mycomponent/temp/picture/picture.wxss
new file mode 100644
index 0000000..b521e68
--- /dev/null
+++ b/packageC/mycomponent/temp/picture/picture.wxss
@@ -0,0 +1,5 @@
+/* pages/picture/picture.wxss */
+.picture image {
+ display: block;
+ width: 100%;
+}
diff --git a/packageC/mycomponent/temp/pictures/pictures.js b/packageC/mycomponent/temp/pictures/pictures.js
new file mode 100644
index 0000000..67246a4
--- /dev/null
+++ b/packageC/mycomponent/temp/pictures/pictures.js
@@ -0,0 +1,57 @@
+// var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ }
+ },
+ data: {
+
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ goimgurl(e) {
+ let url = e.currentTarget.dataset.url;
+ console.log(url);
+ try {
+ wx.navigateTo({
+ url: url
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '链接设置错误:' + url,
+ icon: 'none',
+ duration: 2000
+ });
+ //TODO handle the exception
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/pictures/pictures.json b/packageC/mycomponent/temp/pictures/pictures.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/pictures/pictures.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/pictures/pictures.wxml b/packageC/mycomponent/temp/pictures/pictures.wxml
new file mode 100644
index 0000000..802501e
--- /dev/null
+++ b/packageC/mycomponent/temp/pictures/pictures.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/temp/pictures/pictures.wxss b/packageC/mycomponent/temp/pictures/pictures.wxss
new file mode 100644
index 0000000..35c48ca
--- /dev/null
+++ b/packageC/mycomponent/temp/pictures/pictures.wxss
@@ -0,0 +1,41 @@
+.imagebox_1 .ul {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.imagebox_1 .ul .li {
+ width: 50%;
+}
+
+.imagebox_1 .ul .li image {
+ display: block;
+ width: 101%;
+}
+
+.imagebox_2 .ul {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.imagebox_2 .ul .li {
+ width: 33.3333333%;
+}
+
+.imagebox_2 .ul .li image {
+ display: block;
+ width: 101%;
+}
+
+.imagebox_3 .ul {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.imagebox_3 .ul .li {
+ width: 25%;
+}
+
+.imagebox_3 .ul .li image {
+ display: block;
+ width: 101%;
+}
diff --git a/packageC/mycomponent/temp/picturesque/picturesque.js b/packageC/mycomponent/temp/picturesque/picturesque.js
new file mode 100644
index 0000000..67246a4
--- /dev/null
+++ b/packageC/mycomponent/temp/picturesque/picturesque.js
@@ -0,0 +1,57 @@
+// var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ }
+ },
+ data: {
+
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ goimgurl(e) {
+ let url = e.currentTarget.dataset.url;
+ console.log(url);
+ try {
+ wx.navigateTo({
+ url: url
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '链接设置错误:' + url,
+ icon: 'none',
+ duration: 2000
+ });
+ //TODO handle the exception
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/picturesque/picturesque.json b/packageC/mycomponent/temp/picturesque/picturesque.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/picturesque/picturesque.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/picturesque/picturesque.wxml b/packageC/mycomponent/temp/picturesque/picturesque.wxml
new file mode 100644
index 0000000..db5a949
--- /dev/null
+++ b/packageC/mycomponent/temp/picturesque/picturesque.wxml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/temp/picturesque/picturesque.wxss b/packageC/mycomponent/temp/picturesque/picturesque.wxss
new file mode 100644
index 0000000..9c81fb2
--- /dev/null
+++ b/packageC/mycomponent/temp/picturesque/picturesque.wxss
@@ -0,0 +1,42 @@
+.imgbox {
+ display: flex;
+}
+
+.imgbox .left {
+ width: 50%;
+}
+
+.imgbox .left image {
+ display: block;
+ width: 100%;
+ height: 100%;
+}
+
+.imgbox .right {
+ width: 50%;
+}
+
+.imgbox .right .ul {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.imgbox .right .ul .li_1 {
+ width: 100%;
+}
+
+.imgbox .right .ul .li_1 image {
+ display: block;
+ width: 100%;
+}
+
+.imgbox .right .ul .li_2,
+.imgbox .right .ul .li_3 {
+ width: 50%;
+}
+
+.imgbox .right .ul .li_2 image,
+.imgbox .right .ul .li_3 image {
+ display: block;
+ width: 100%;
+}
diff --git a/packageC/mycomponent/temp/qrcode/qrcode.js b/packageC/mycomponent/temp/qrcode/qrcode.js
new file mode 100644
index 0000000..d14ef38
--- /dev/null
+++ b/packageC/mycomponent/temp/qrcode/qrcode.js
@@ -0,0 +1,501 @@
+// mycomponent/temp/qrcode/qrcode.js
+var app = getApp();
+import drawQrcode from "../../../../utils/weapp.qrcode.esm.js";
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ isshow: {
+ value: false,
+ type: Boolean,
+ },
+ showcarrfootBol: {
+ type: null,
+ },
+ iPnoneBottomBol: {
+ type: null,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ errorFlag: false,
+ errorMsg: "",
+ poster: "",
+ poster_id: 0,
+ loading: 0,
+ getFlag: true,
+ step: 1.5,
+ },
+ ready() {
+ // this.getPosterPic();
+ },
+ observers: {
+ isshow: function (isshow) {
+ if (isshow && this.data.poster == "" && this.data.getFlag) {
+ this.getPosterPic();
+ this.data.getFlag = false;
+ }
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ loadImgError(err) {
+ this.setData({
+ errorFlag: true,
+ errorMsg: err.detail.errMsg,
+ });
+ },
+ // 隐藏二维码
+ clicktapshow() {
+ this.setData({
+ isshow: false,
+ });
+ // wx.showTabBar({})
+ },
+ previewImage() {
+ wx.showToast({
+ title: "长按分享好友",
+ icon: "none",
+ duration: 1800,
+ });
+ wx.previewImage({
+ urls: [this.data.poster], // 当前显示图片的链接
+ });
+ },
+ async getPosterPic() {
+ let posterSize = await this.getMyCanvasMessage(640, 1008);
+ var urlStr = app.getNetAddresss("member.qrcode.get-poster");
+ this.setData({
+ canvasWidth: posterSize.width,
+ canvasHeight: posterSize.height,
+ });
+ //this.startDrawCanvas(posterSize,{});
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result != 1) {
+ return;
+ }
+ if (res.data.center_show == 0) {
+ this.setData({
+ loading: 100,
+ poster: res.data.image_url,
+ });
+ } else if (res.data.center_show == 1) {
+ this.data.poster_id = resdata.data.data.id;
+ this.startDrawCanvas(posterSize, resdata.data.data);
+ } else if (res.data.center_show == 2) {
+ this.getPosterTp2();
+ }
+ },
+ });
+ },
+ getPosterTp2() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.poster");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.image_url == "" || res.data.image_url == null) {
+ wx.showToast({
+ title: "请稍等" + res.data.image_url,
+ icon: "none",
+ duration: 2000,
+ });
+ setTimeout(() => {
+ this.getPosterTp2();
+ }, 500);
+ } else if (res.data.image_url != "") {
+ setTimeout(() => {
+ that.setData({
+ poster: res.data.image_url,
+ });
+ }, 1000);
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ if (this.data.timer) {
+ clearInterval(this.data.timer);
+ }
+ wx.hideLoading({});
+ console.log(res);
+ },
+ });
+ },
+
+ //工具
+ //开始绘制
+ async startDrawCanvas(posterSize, posterData) {
+ const ctx = wx.createCanvasContext("myCanvas", this);
+ //this.drawRoundRectPath(ctx,posterSize.width,posterSize.height,30);
+ ctx.setFillStyle("#fff");
+ ctx.fillRect(0, 0, posterSize.width, posterSize.height);
+ //ctx.draw();
+
+ //下载背景
+ let bgImg = await this.readDownPicInfo(posterData.background);
+ //绘制背景图片
+ if (bgImg.height > bgImg.width) {
+ let p = posterSize.height / posterSize.contentScale / bgImg.height;
+ bgImg.height = bgImg.height * p;
+ bgImg.width = bgImg.width * p;
+ } else {
+ let p = posterSize.width / posterSize.contentScale / bgImg.width;
+ bgImg.width = bgImg.width * p;
+ bgImg.height = bgImg.height * p;
+ }
+ this.drawCanvasImage(ctx, {
+ left: 0,
+ top: 0,
+ width: bgImg.width / this.data.step,
+ height: bgImg.height / this.data.step,
+ img: bgImg.img,
+ contentScale: posterSize.contentScale,
+ });
+ this.setData({ loading: 10 });
+
+ //绘制其他内容
+ let otherData = posterData.style_data;
+ for (let i = 0; i < otherData.length; i++) {
+ let item = otherData[i];
+ //绘制昵称
+ item.contentScale = posterSize.contentScale;
+ console.log(item);
+ if (item.type == "nickname") {
+ this.drawCanvasText(ctx, item);
+ } else if (item.type == "img" || item.type == "head") {
+ // 代表后台有图片
+ // //下载和读取图片
+ let file = await this.readDownPicInfo(item.src);
+ item.img = file.img;
+ this.drawCanvasImage(ctx, item);
+ } else if (item.type == "qr_shop" || item.type == "qr_app_share") {
+ //需要自己将链接生成二维码
+ let img = await this.getQRCodeUrl(item);
+ item.img = img;
+ this.drawCanvasImage(ctx, item);
+ }
+ console.log("loading", loading);
+ let loading = parseInt((80 / otherData.length) * (i + 1));
+ this.setData({ loading: loading + 10 });
+ }
+ console.log("执行完成");
+ ctx.draw(
+ false,
+ setTimeout(async () => {
+ let img = await this.toimage("myCanvas", posterSize);
+ this.setData({
+ loading: 100,
+ poster: img,
+ });
+ this.upQrcodeImg(img);
+ }, 1000)
+ );
+ },
+ //绘制图片
+ drawCanvasImage(ctx, imgInfo) {
+ let step = this.data.step;
+ ctx.drawImage(
+ imgInfo.img,
+ imgInfo.left * imgInfo.contentScale * step,
+ imgInfo.top * imgInfo.contentScale * step,
+ imgInfo.width * imgInfo.contentScale * step,
+ imgInfo.height * imgInfo.contentScale * step
+ ); // 推进去图片
+ },
+ //绘制文字
+ drawCanvasText(ctx, textInfo) {
+ let step = this.data.step;
+ console.log(step);
+ let size = textInfo.size * textInfo.contentScale;
+ let top = textInfo.top * textInfo.contentScale + size;
+ ctx.setFontSize(size * step);
+ ctx.setFillStyle(textInfo.color);
+ ctx.fillText(
+ textInfo.src,
+ textInfo.left * textInfo.contentScale * step,
+ top * step
+ );
+ console.log("完成");
+ },
+ //导出图片
+ toimage(canvasId, posterSize) {
+ return new Promise((resolve, reject) => {
+ console.log(canvasId, posterSize);
+ wx.canvasToTempFilePath(
+ {
+ x: 0,
+ y: 0,
+ // quality:1,
+ width: posterSize.width,
+ height: posterSize.height,
+ destWidth: posterSize.width * 4,
+ destHeight: posterSize.height * 4,
+ canvasId: canvasId,
+ success: (res) => {
+ var tempFilePath = res.tempFilePath;
+ resolve(tempFilePath);
+ },
+ fail: (res) => {
+ wx.showToast({
+ title: "图片导出失败" + res,
+ icon: "success",
+ duration: 2000,
+ });
+ },
+ },
+ this
+ );
+ });
+ },
+ drawRoundRectPath(ctx, width, height, radius) {
+ ctx.beginPath(0);
+ //从右下角顺时针绘制,弧度从0到1/2PI
+ ctx.arc(width - radius, height - radius, radius, 0, Math.PI / 2);
+ //矩形下边线
+ ctx.lineTo(radius, height);
+ //左下角圆弧,弧度从1/2PI到PI
+ ctx.arc(radius, height - radius, radius, Math.PI / 2, Math.PI);
+ //矩形左边线
+ ctx.lineTo(0, radius);
+ //左上角圆弧,弧度从PI到3/2PI
+ ctx.arc(radius, radius, radius, Math.PI, (Math.PI * 3) / 2);
+ //上边线
+ ctx.lineTo(width - radius, 0);
+ //右上角圆弧
+ ctx.arc(width - radius, radius, radius, (Math.PI * 3) / 2, Math.PI * 2);
+ //右边线
+ ctx.lineTo(width, height - radius);
+ ctx.closePath();
+ ctx.clip();
+ },
+ //下载和读取图片
+ readDownPicInfo(url) {
+ return new Promise((resolve, reject) => {
+ wx.downloadFile({
+ url, //仅为示例,并非真实的资源
+ success: (res) => {
+ wx.getImageInfo({
+ src: res.tempFilePath,
+ success(res1) {
+ //确保是一张图片
+ resolve({
+ img: res.tempFilePath,
+ width: res1.width,
+ height: res1.height,
+ });
+ },
+ fail: (err) => {
+ this.data.getFlag = true;
+ console.log("图片读取出错", err.errMsg);
+ wx.showToast({
+ title: "图片读取出错" + err.errMsg,
+ icon: "success",
+ duration: 2000,
+ });
+ },
+ });
+ },
+ fail: (res) => {
+ this.data.getFlag = true;
+ console.log("图片下载出错", res);
+ wx.showToast({
+ title: "图片下载出错" + res,
+ icon: "none",
+ duration: 2000,
+ });
+ },
+ });
+ });
+ },
+ // 获取海报画布宽高
+ getMyCanvasMessage(w, h) {
+ return new Promise((resolve, reject) => {
+ wx.getSystemInfo({
+ success: (res) => {
+ let scale = h / w;
+ let width = res.screenWidth - res.screenWidth * 0.2;
+ let height = width * scale;
+ let contentScale = width / w;
+ (width = width * this.data.step),
+ (height = height * this.data.step);
+ resolve({
+ width,
+ height,
+ contentScale,
+ });
+ },
+ fail: (res) => {
+ this.data.getFlag = true;
+ },
+ });
+ });
+ },
+ getQRCodeUrl(item) {
+ return new Promise((resolve, reject) => {
+ let step = this.data.step;
+ this.setData(
+ {
+ tempQRCodeCanvasWidth: item.width * item.contentScale * step,
+ tempQRCodeCanvasHeight: item.height * item.contentScale * step,
+ },
+ async () => {
+ drawQrcode({
+ width: (item.width * item.contentScale - 10) * step,
+ height: (item.height * item.contentScale - 10) * step,
+ canvasId: "tempQRCode",
+ background: "#fff",
+ _this: this,
+ x: 5 * step,
+ y: 5 * step,
+ text: item.src,
+ callback: () => {
+ setTimeout(async () => {
+ let img = await this.toimage("tempQRCode", {
+ width: item.width * item.contentScale * step,
+ height: item.height * item.contentScale * step,
+ });
+ resolve(img);
+ }, 500);
+ },
+ });
+ }
+ );
+ });
+ },
+ pxToNum(px) {
+ let num = px.substring(0, px.length - 2);
+ return parseInt(num);
+ },
+ upQrcodeImg(imgFile) {
+ let urlStr = app.getNetAddresss("upload.uploadPic");
+ console.log(imgFile);
+ wx.uploadFile({
+ url: urlStr,
+ filePath: imgFile,
+ name: "file",
+ header: { "Content-Type": "multipart/form-data" },
+ formData: {
+ // 和服务器约定的token, 一般也可以放在header中
+ _wx_token: wx.getStorageSync("wx_token"),
+ ingress: 0,
+ },
+ success: (res) => {
+ let data = JSON.parse(res.data);
+ console.log("上传成功", data);
+ if (data.result == 1) {
+ //data.data.img_url
+ console.log(data.data.img_url);
+ this.addPosterRecord(data.data.img_url);
+ }
+ },
+ fail: function (e) {
+ console.log("上传失败一一一", e);
+ },
+ });
+ },
+ addPosterRecord(img_url) {
+ var urlStr = app.getNetAddresss("member.qrcode.poster-record");
+ console.log("开始写记录");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data: {
+ image: img_url,
+ poster_id: this.data.poster_id,
+ },
+ success: (resdata) => {},
+ });
+ },
+ async checkWritePotosAlbum() {
+ var _this = this;
+ let writePhotosAlbum = await this.getAuthSetting(
+ "scope.writePhotosAlbum"
+ );
+ if (!writePhotosAlbum) {
+ wx.showModal({
+ title: "请开启授权",
+ content: "是否跳转设置页开启授权",
+ success(res) {
+ if (res.confirm) {
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting["scope.writePhotosAlbum"]) {
+ _this.saveImg();
+ } else {
+ console.log("还是没授权");
+ }
+ },
+ });
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ return;
+ }
+ this.saveImg();
+ },
+ saveImg() {
+ console.log("执行");
+ var imgSrc = this.data.poster;
+ wx.downloadFile({
+ url: imgSrc,
+ success: function (res) {
+ wx.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success: (data) => {
+ wx.showToast({
+ title: "保存成功",
+ icon: "none",
+ duration: 2000,
+ });
+ },
+ fail: function (err) {
+ console.log(err);
+ },
+ });
+ },
+ });
+ },
+ getAuthSetting(authName) {
+ return new Promise((resolve, reject) => {
+ wx.getSetting({
+ success(res) {
+ if (!res.authSetting[authName]) {
+ wx.authorize({
+ scope: authName,
+ success() {
+ resolve(true);
+ },
+ fail() {
+ resolve(false);
+ },
+ });
+ } else resolve(true);
+ },
+ fail() {
+ resolve(false);
+ },
+ });
+ });
+ },
+ },
+});
diff --git a/packageC/mycomponent/temp/qrcode/qrcode.json b/packageC/mycomponent/temp/qrcode/qrcode.json
new file mode 100644
index 0000000..5faf70c
--- /dev/null
+++ b/packageC/mycomponent/temp/qrcode/qrcode.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/qrcode/qrcode.wxml b/packageC/mycomponent/temp/qrcode/qrcode.wxml
new file mode 100644
index 0000000..1e19ebd
--- /dev/null
+++ b/packageC/mycomponent/temp/qrcode/qrcode.wxml
@@ -0,0 +1,30 @@
+
+
+
+
diff --git a/packageC/mycomponent/temp/qrcode/qrcode.wxss b/packageC/mycomponent/temp/qrcode/qrcode.wxss
new file mode 100644
index 0000000..3e61a0b
--- /dev/null
+++ b/packageC/mycomponent/temp/qrcode/qrcode.wxss
@@ -0,0 +1,66 @@
+/* mycomponent/temp/qrcode/qrcode.wxss */
+.posterPopup_style .icon_btn {
+ width: 100%;
+ position: relative;
+
+ /* height: 120rpx; */
+ background: #fff;
+ text-align: center;
+ display: flex;
+ justify-content: space-around;
+}
+
+.posterPopup_style .icon_btn .box {
+ width: 50%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+ padding: 20rpx 0;
+}
+
+.posterPopup_style .icon_btn image {
+ width: 80rpx;
+ height: 80rpx;
+ margin-bottom: 8rpx;
+}
+
+.posterPopup_style .icon_close {
+ width: 100%;
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ background: #efefef;
+ color: #333;
+}
+
+.code_box {
+ width: 500rpx;
+
+ /* height: 970rpx; */
+
+ /* position: absolute;
+ left: 50%; */
+ display: block;
+ margin: 0 auto;
+ border-radius: 12rpx;
+}
+
+.code_box image {
+ width: 100%;
+ border-radius: 12rpx;
+}
+
+.code_box .loading {
+ height: 800rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.code_box .loading .text {
+ color: #fff;
+ font-size: 36rpx;
+}
diff --git a/packageC/mycomponent/temp/richtext/richtext.js b/packageC/mycomponent/temp/richtext/richtext.js
new file mode 100644
index 0000000..57b9b2f
--- /dev/null
+++ b/packageC/mycomponent/temp/richtext/richtext.js
@@ -0,0 +1,59 @@
+// var app = getApp();
+// var WxParse = require('../../../wxParse/wxParse.js');
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ content: {
+ type: null
+ }
+ },
+ data: {
+
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ if (this.data.content) {
+ // let article = this.data.content;
+ /**
+ * WxParse.wxParse(bindName , type, data, target,imagePadding)
+ * 1.bindName绑定的数据名(必填)
+ * 2.type可以为html或者md(必填)
+ * 3.data为传入的具体数据(必填)
+ * 4.target为Page对象,一般为this(必填)
+ * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
+ */
+ // try {
+ // WxParse.wxParse('article', 'html', article, this);
+ // } catch (e) {
+ // //TODO handle the exception
+ // }
+
+ }
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+
+ }
+});
diff --git a/packageC/mycomponent/temp/richtext/richtext.json b/packageC/mycomponent/temp/richtext/richtext.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/packageC/mycomponent/temp/richtext/richtext.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageC/mycomponent/temp/richtext/richtext.wxml b/packageC/mycomponent/temp/richtext/richtext.wxml
new file mode 100644
index 0000000..362b41d
--- /dev/null
+++ b/packageC/mycomponent/temp/richtext/richtext.wxml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/packageC/mycomponent/temp/richtext/richtext.wxss b/packageC/mycomponent/temp/richtext/richtext.wxss
new file mode 100644
index 0000000..59141bf
--- /dev/null
+++ b/packageC/mycomponent/temp/richtext/richtext.wxss
@@ -0,0 +1,4 @@
+/* pages/richtext/richtext.wxss */
+.richtext {
+ padding: 19rpx;
+}
diff --git a/packageC/mycomponent/temp/search/search.js b/packageC/mycomponent/temp/search/search.js
new file mode 100644
index 0000000..ed32d3b
--- /dev/null
+++ b/packageC/mycomponent/temp/search/search.js
@@ -0,0 +1,42 @@
+Component({
+ properties: {
+ params: {
+ type: null
+ }
+ },
+ data: {
+ Height: ''
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ tosearch() {
+ wx.navigateTo({
+ url: '/packageB/member/category/search_v2/search_v2'
+ });
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/search/search.json b/packageC/mycomponent/temp/search/search.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/search/search.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/search/search.wxml b/packageC/mycomponent/temp/search/search.wxml
new file mode 100644
index 0000000..b0856e9
--- /dev/null
+++ b/packageC/mycomponent/temp/search/search.wxml
@@ -0,0 +1,7 @@
+
+
+
+
+ {{params.placeholder }}
+
+
diff --git a/packageC/mycomponent/temp/search/search.wxss b/packageC/mycomponent/temp/search/search.wxss
new file mode 100644
index 0000000..cbcff88
--- /dev/null
+++ b/packageC/mycomponent/temp/search/search.wxss
@@ -0,0 +1,32 @@
+/* pages/search_1/search_1.wxss */
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.search {
+ background: #fff;
+ padding: 12rpx 40rpx;
+}
+
+.search .soso {
+ width: 100%;
+ height: 56rpx;
+ line-height: 56rpx;
+ background: #f5f5f5;
+ padding: 0 20rpx;
+ text-align: left;
+ border-radius: 32rpx;
+ color: #8c8c8c;
+ box-sizing: border-box;
+}
+
+.search .soso icon {
+ color: #999;
+ line-height: 56rpx;
+ margin-right: 12rpx;
+ font-size: 32rpx;
+ margin-top: -10rpx;
+}
+
+.search .soso icon.style1 {
+ float: right;
+}
diff --git a/packageC/mycomponent/temp/shop/shop.js b/packageC/mycomponent/temp/shop/shop.js
new file mode 100644
index 0000000..afc80ff
--- /dev/null
+++ b/packageC/mycomponent/temp/shop/shop.js
@@ -0,0 +1,70 @@
+var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ }
+ },
+ data: {
+ title: '',
+ logo: ''
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.getData();
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ getData() {
+ var that = this;
+ var urlStr = app.getNetAddresss("setting.get");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ title: res.data.name?res.data.name:'',
+ logo: res.data.logo?res.data.logo:''
+ });
+ } else {
+ console.log(res.msg);
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // })
+ }
+
+ },
+ fail: function(res) {
+
+ }
+ });
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/shop/shop.json b/packageC/mycomponent/temp/shop/shop.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/shop/shop.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/shop/shop.wxml b/packageC/mycomponent/temp/shop/shop.wxml
new file mode 100644
index 0000000..49b44b5
--- /dev/null
+++ b/packageC/mycomponent/temp/shop/shop.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ {{title|| 'XX商城'}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{title|| 'XX商城'}}
+
+
diff --git a/packageC/mycomponent/temp/shop/shop.wxss b/packageC/mycomponent/temp/shop/shop.wxss
new file mode 100644
index 0000000..cc7d4b5
--- /dev/null
+++ b/packageC/mycomponent/temp/shop/shop.wxss
@@ -0,0 +1,141 @@
+/* pages/shop/shop.wxss */
+.shop image {
+ width: 100%;
+ vertical-align: middle;
+ border: 0;
+}
+
+.shop .fe-mod {
+ height: auto;
+ position: relative;
+}
+
+.shop .fe-mod-9-nav {
+ height: 80rpx;
+ width: 25%;
+ padding-top: 10rpx;
+ float: left;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.shop .fe-mod-9-nav i {
+ font-size: 36rpx;
+}
+
+.shop .fe-mod-9-nav-on {
+ border-bottom: 6rpx solid #dd2322;
+ padding-bottom: 4rpx;
+ padding-top: 10rpx;
+}
+
+.shop .fe-mod-9-shopname {
+ height: 48rpx;
+ width: 100%;
+ position: absolute;
+ bottom: 110rpx;
+ left: 0;
+}
+
+.shop .fe-mod-9-name {
+ height: 48rpx;
+ width: auto;
+ background: rgba(0, 0, 0, 0.2);
+ line-height: 48rpx;
+ margin: auto;
+ display: table;
+ border-radius: 48rpx;
+ font-size: 14px;
+ color: #fff;
+ padding: 0 30rpx;
+}
+
+.shop .fe-mod-9-shoplogo {
+ height: 160rpx;
+ width: 160rpx;
+ padding: 8rpx;
+ border: 2rpx solid #fff;
+ border-radius: 90rpx;
+ margin-left: -80rpx;
+ position: absolute;
+ bottom: 176rpx;
+ left: 50%;
+}
+
+.shop .fe-mod-9-shoplogo-img {
+ height: 140rpx;
+ width: 140rpx;
+ border-radius: 140rpx;
+ overflow: hidden;
+ border: solid 2rpx #fff;
+ margin: 10rpx auto 0;
+}
+
+.shop .fe-mod-9-shoplogo-img image {
+ border-radius: 50%;
+ width: 140rpx;
+ height: 140rpx;
+}
+
+.shop .fe-mod-10 {
+ min-height: 200rpx;
+}
+
+.shop .fe-mod-10 image {
+ width: 100%;
+}
+
+.shop .fe-mod-10-menu {
+ height: 90rpx;
+ padding: 10rpx 0 0 180rpx;
+ text-align: center;
+ background: #fff;
+}
+
+.shop .fe-mod-10-menu a {
+ color: inherit;
+}
+
+.shop .fe-mod-10-nav {
+ height: 80rpx;
+ width: 25%;
+ float: left;
+}
+
+.shop .fe-mod-10-nav span {
+ font-size: 36rpx;
+ color: #000;
+ line-height: 36rpx;
+}
+
+.shop .fe-mod-10-nav nav {
+ font-size: 24rpx;
+}
+
+.shop .fe-mod-10-shoplogo {
+ height: 132rpx;
+ width: 132rpx;
+ background: #ccc;
+ position: absolute;
+ left: 28rpx;
+ bottom: 44rpx;
+ border: 2rpx solid #fff;
+ box-shadow: 0 0 4rpx rgba(0, 0, 0, 0.1);
+}
+
+.shop .fe-mod-10-shoplogo image {
+ height: 128rpx;
+ width: 128rpx;
+}
+
+.shop .fe-mod-10-shopname {
+ height: 80rpx;
+ width: auto;
+ position: absolute;
+ left: 180rpx;
+ bottom: 100rpx;
+ line-height: 80rpx;
+ font-size: 36rpx;
+ color: #fff;
+ text-shadow: 4rpx 4rpx 4rpx rgba(0, 0, 0, 0.2);
+}
diff --git a/packageC/mycomponent/temp/sign/sign.js b/packageC/mycomponent/temp/sign/sign.js
new file mode 100644
index 0000000..f2ab890
--- /dev/null
+++ b/packageC/mycomponent/temp/sign/sign.js
@@ -0,0 +1,98 @@
+var app = getApp();
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ host :{
+ type: null
+ }
+ },
+ data: {
+ signdata: {},
+ tapnow:true
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ this.setData({
+ signdata: this.data.params
+ });
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ signnow() {
+ let that = this;
+ if(!that.data.tapnow){
+ console.log('点击限制!!!');
+ return;
+ }
+ that.setData({
+ tapnow : false
+ });
+ let urlStr = app.getNetAddresss("plugin.sign.Frontend.Modules.Sign.Controllers.sign.sign");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let signdata = that.data.signdata;
+ signdata.text = `已${signdata.sign_name}`;
+ let numDate = Number(
+ signdata.button_hint.replace(/[^0-9]/gi, "")
+ );
+ signdata.button_hint = numDate + 1 + "天";
+ that.setData({
+ signdata: signdata
+ });
+ //下面这个是h5链接,无法跳装
+ // let reslink = res.data.success_url;
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ setTimeout(function() {
+ that.setData({
+ tapnow : true
+ });
+ }, 1500); //延迟时间
+
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/sign/sign.json b/packageC/mycomponent/temp/sign/sign.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/sign/sign.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/sign/sign.wxml b/packageC/mycomponent/temp/sign/sign.wxml
new file mode 100644
index 0000000..83ddb26
--- /dev/null
+++ b/packageC/mycomponent/temp/sign/sign.wxml
@@ -0,0 +1,11 @@
+
+
+
+
+ {{signdata.text}}
+ {{signdata.button_hint}}
+
+
+
diff --git a/packageC/mycomponent/temp/sign/sign.wxss b/packageC/mycomponent/temp/sign/sign.wxss
new file mode 100644
index 0000000..4104f96
--- /dev/null
+++ b/packageC/mycomponent/temp/sign/sign.wxss
@@ -0,0 +1,39 @@
+/* pages/search_1/search_1.wxss */
+.showsign {
+ width: 100%;
+ height: 416rpx;
+ z-index: 100;
+ position: relative;
+ overflow: hidden;
+}
+
+.showsign .signnow {
+ width: 152rpx;
+ height: 152rpx;
+ border-radius: 50%;
+ position: absolute;
+ top: 20%;
+ left: calc(50% - 76rpx);
+ text-align: center;
+}
+
+.showsign .signnow .h1 {
+ margin: 22rpx 0 16rpx 0;
+}
+
+.showsign .header {
+ width: 100%;
+ position: absolute;
+ top: 70%;
+ left: 0;
+ color: #fff;
+ height: 60rpx;
+}
+
+.showsign .header .span {
+ text-align: center;
+ line-height: 60rpx;
+ background: rgba(138, 138, 138, 0.4);
+ padding: 0 16rpx;
+ border-radius: 16rpx;
+}
diff --git a/packageC/mycomponent/temp/store/store.js b/packageC/mycomponent/temp/store/store.js
new file mode 100644
index 0000000..cb09629
--- /dev/null
+++ b/packageC/mycomponent/temp/store/store.js
@@ -0,0 +1,197 @@
+var location = require("../../../../mybehaviors/location/location");
+
+var app = getApp();
+Component({
+ behaviors: [location],
+ properties: {
+ params: {
+ type: null
+ }
+ },
+ data: {
+ stores: [],
+ address: "",
+ point: {
+ lat: '',
+ lng: ''
+ },
+ city: "",
+ showMore: false,
+ page: 1,
+ total_page: 0,
+ loading: true,
+ language: ''
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ this._getLocation(() => {this.getStores();});
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ toGood(e) {
+ let id=e.currentTarget.dataset.goods_id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+
+ getStores() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.store.get-store-list-to-page");
+ let point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
+ urlStr += '&page=' + that.data.page;
+ urlStr += '&lng=' + (point.lng?point.lng:'');
+ urlStr += '&lat=' + (point.lat?point.lat:'');
+ urlStr += '&kwd=';
+ urlStr += '&city_name=' + this.data.city;
+ urlStr += '&pagesize=' + this.data.params.num;
+ urlStr += '&showshop=' + this.data.params.showshop;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ showMore: true,
+ stores: res.data.data
+ });
+ if (res.data.last_page) {
+ that.setData({
+ total_page: res.data.last_page
+ });
+ } else if (res.data.lastPage) {
+ that.setData({
+ total_page: res.data.lastPage
+ });
+ }
+ if (that.data.page >= that.data.total_page) {
+ that.setData({
+ loading: false
+ });
+ } else {
+ that.setData({
+ loading: true
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ toRouter(e) {
+ let specify_show = e.currentTarget.dataset.items.specify_show;
+ let id = e.currentTarget.dataset.items.id;
+ if (specify_show == 1) {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + id
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageC/o2o/HomeSeller/HomeSeller?store_id=' + id
+ });
+ }
+ },
+ //跳转至分类
+ toClassify(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oCategory/o2oCategory?id=' + id + '&city=' + this.data.city + '&point=' + JSON.stringify(
+ this.data.point)
+ });
+ },
+ gophone(e) {
+ let mobile = e.currentTarget.dataset.mobile;
+ wx.makePhoneCall({
+ phoneNumber: mobile
+ });
+ },
+ goToAdress(e) {
+ let latitude = e.currentTarget.dataset.items.latitude;
+ let longitude = e.currentTarget.dataset.items.longitude;
+ let store_name = e.currentTarget.dataset.items.store_name;
+ let point = app.BMapTransqqMap(parseFloat(longitude),parseFloat(latitude));
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name
+ });
+ },
+ getMoreStores() {
+ let that = this;
+ if (this.data.page == this.data.total_page) {
+ that.setData({
+ loading: false
+ });
+ return;
+ }
+ if (this.data.page > this.data.total_page) {
+ that.setData({
+ loading: false
+ });
+ return;
+ } else {
+ that.setData({
+ page: this.data.page + 1
+ });
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.store.get-store-list-to-page');
+ let point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
+ urlStr += '&page=' + this.data.page;
+ urlStr += '&lng=' + (point.lng?point.lng:'');
+ urlStr += '&lat=' + (point.lat?point.lat:'');
+ urlStr += '&kwd=';
+ urlStr += '&city_name=' + this.data.city;
+ urlStr += '&pagesize=' + this.data.params.num;
+ urlStr += '&showshop=' + this.data.params.showshop;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let stores = that.data.stores;
+ that.setData({
+ stores: stores.concat(res.data.data)
+ });
+ if (that.data.page == that.data.total_page) {
+ that.setData({
+ loading: false
+ });
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ loading: false
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ }
+});
diff --git a/packageC/mycomponent/temp/store/store.json b/packageC/mycomponent/temp/store/store.json
new file mode 100644
index 0000000..4413bd9
--- /dev/null
+++ b/packageC/mycomponent/temp/store/store.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "cStar": "../../star/star",
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageC/mycomponent/temp/store/store.wxml b/packageC/mycomponent/temp/store/store.wxml
new file mode 100644
index 0000000..d1bc3ee
--- /dev/null
+++ b/packageC/mycomponent/temp/store/store.wxml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+ 商家休息中
+
+
+
+
+
+ {{ items.has_one_category.name }}
+ 暂无分类
+
+
+
+
+ {{ items.store_name }}
+
+
+
+ {{items.average_score}}分
+ 已售{{ items.order_total }}单
+
+ {{ items.distance }}{{ items.unit }}
+
+
+
+ 优惠
+ {{ coupon.name }}
+
+
+ 赠送
+ {{ items.store_point.point }}
+ {{ items.store_love.award_proportion }}
+
+
+ 抵扣
+ {{ items.store_love.deduction_proportion }}
+ {{ items.store_point.max_point_deduct }}
+
+
+
+ {{dispatch}}
+
+
+
+
+
+
+
+
+
+
+ {{good.title}}
+ {{language['money']}}{{good.price}}
+
+
+
+
+
+ 加载更多
+
+
+ 没有更多喽~
+
+
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/store/store.wxss b/packageC/mycomponent/temp/store/store.wxss
new file mode 100644
index 0000000..6719596
--- /dev/null
+++ b/packageC/mycomponent/temp/store/store.wxss
@@ -0,0 +1,333 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.store-list {
+ padding: 24rpx;
+ border-top: 2rpx solid #e7e9e4;
+ background: #fff;
+ font-size: 24rpx;
+ color: #333;
+ text-align: left;
+ position: relative;
+}
+
+.store-list .store-img {
+ width: 132rpx;
+}
+
+.store-list .store-img .store-logo {
+ width: 128rpx;
+ height: 128rpx;
+ overflow: hidden;
+ position: relative;
+
+ /* border: 2rpx solid #e8e8e8; */
+}
+
+.store-list .store-img .store-logo .img-mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 128rpx;
+ height: 128rpx;
+ z-index: 10;
+ border: 2rpx solid #e8e8e8;
+ font-size: 24rpx;
+ background-color: #3b4043;
+ opacity: 0.6;
+}
+
+.store-list .store-img .store-logo .img-text {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 128rpx;
+ height: 128rpx;
+ z-index: 15;
+ line-height: 128rpx;
+ text-align: center;
+ font-size: 24rpx;
+ color: white;
+}
+
+.store-list .store-img .store-logo .img {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ border-radius: 50%;
+}
+
+.store-list .store-img .store-logo .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.store-list .store-category {
+ margin-top: 12rpx;
+}
+
+.store-list .store-category .span {
+ width: 128rpx;
+ height: 40rpx;
+ display: block;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 24rpx;
+ line-height: 40rpx;
+ background-color: #ff6333;
+ border-radius: 10rpx;
+ color: #fff;
+}
+
+.store-intro {
+ flex: 1;
+ position: relative;
+ margin-left: 20rpx;
+}
+
+.store-intro .a8q {
+ height: 40rpx;
+ line-height: 40rpx;
+ overflow: hidden;
+ display: flex;
+ flex: 1;
+}
+
+.store-intro .a8q .h2 {
+ max-width: 320rpx;
+ font-size: 32rpx;
+ color: #333;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ display: inline-block;
+ margin-top: 0;
+ font-weight: bold;
+ flex: 1;
+}
+
+.store-intro .a8q .store_honor_icon1 {
+ display: inline-block;
+ width: 176rpx;
+ height: 40rpx;
+ font-size: 24rpx;
+ text-align: right;
+ margin-right: 4rpx;
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-size: 32rpx auto;
+}
+
+.store-intro .a8r {
+ font-size: 0;
+ padding-top: 20rpx;
+ overflow: hidden;
+}
+
+.store-intro .a8r .i8 {
+ display: inline-block;
+ background-color: #f5f5f5;
+ font-size: 0;
+ border-radius: 4rpx;
+ color: #18bdad !important;
+ line-height: 0;
+ overflow: hidden;
+}
+
+.store-intro .a8r .i8 .da {
+ display: inline-block;
+ line-height: 1;
+ padding: 4rpx;
+ font-size: 24rpx;
+}
+
+.store-intro .a8v {
+ height: 28rpx;
+ margin-top: 16rpx;
+ overflow: hidden;
+ font-size: 0;
+}
+
+.order {
+ display: flex;
+}
+
+.store-intro .a8v .a8d {
+ overflow: hidden;
+ display: inline-block;
+ position: relative;
+}
+
+.store-intro .a8v .a8w {
+ font-size: 24rpx;
+ line-height: 28rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #999;
+ display: inline-block;
+}
+
+.store-intro .a8v .a8w .span {
+ color: #ff9800;
+}
+
+.store-intro .a8v .a8w .line_split {
+ display: inline-block;
+ width: 16rpx;
+ height: 20rpx;
+ background: url(//static-o2o.360buyimg.com/daojia/new/images/index/icon_line_split.jpg) no-repeat center 0.125rem;
+}
+
+.store_honor_box {
+ display: inline-block;
+ position: absolute;
+ text-align: right;
+ right: 32rpx;
+ width: 160rpx;
+}
+
+.store_honor_box .store_honor_icon1 {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+}
+
+.store_honor_box.span {
+ color: #8c8c8c;
+}
+
+.store-intro2 {
+ flex: 1;
+ position: relative;
+ margin-left: 24rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.store-intro2 .h2 {
+ max-width: 544rpx;
+ font-size: 32rpx;
+ color: #333;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: inline-block;
+ margin-top: 0;
+ font-weight: bold;
+ flex: 1;
+}
+
+.store-intro2 .score-box {
+ display: flex;
+ width: 100%;
+ color: #666;
+ padding: 6rpx 0;
+ height: 40rpx;
+ line-height: 40rpx;
+}
+
+.store-intro2 .score-box .score-left {
+ flex: 1;
+ align-self: center;
+ justify-self: center;
+ display: flex;
+}
+
+.store-intro2 .score-box .score-left .icon-card_collect_b {
+ color: #ffba00;
+ display: flex;
+ align-items: center;
+}
+
+.store-intro2 .score-box .score-right {
+ color: #ff2c29;
+ flex: 0 0 160rpx;
+ text-align: right;
+}
+
+.store-intro2 .discount-box {
+ display: flex;
+ flex-direction: column;
+}
+
+.store-intro2 .discount-box .discount-item {
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.store-intro2 .discount-box .red {
+ color: #ff2c29;
+}
+
+.store-intro2 .dispatch-box {
+ display: flex;
+ padding: 16rpx 0;
+}
+
+.store-intro2 .dispatch-box .span {
+ margin-right: 12.8rpx;
+ padding: 0 9.6rpx;
+ color: #666;
+ border-radius: 20rpx;
+ border: solid 2rpx #ff8400;
+}
+
+.listNew {
+ display: flex;
+}
+
+.goods-box {
+ display: flex;
+ width: 100%;
+ overflow-x: scroll;
+}
+
+.flexBox {
+ width: 183rpx;
+ height: 300rpx;
+ flex-shrink: 0;
+}
+
+.goods-box .good-item {
+ width: 180rpx;
+ margin-right: 18rpx;
+ font-size: 30rpx;
+}
+
+.goods-box .good-item .good-img {
+ width: 180rpx;
+ height: 180rpx;
+ border-radius: 10rpx;
+}
+
+.goods-box .good-item .good-img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.goods-box .good-item .good-title {
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 24rpx;
+}
+
+.goods-box .good-item .money {
+ font-size: 22rpx;
+ color: #ff2c29;
+}
+
+.goods-box .good-item .good-price {
+ color: #ff2c29;
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
diff --git a/packageC/mycomponent/temp/storeGoods/goods.js b/packageC/mycomponent/temp/storeGoods/goods.js
new file mode 100644
index 0000000..769bba7
--- /dev/null
+++ b/packageC/mycomponent/temp/storeGoods/goods.js
@@ -0,0 +1,214 @@
+var location = require("../../../../mybehaviors/location/location");
+var app = getApp();
+Component({
+ behaviors: [location],
+ properties: {
+ params: {
+ type: null
+ },
+ index: {
+ type: null
+ },
+ data: {
+ type: null
+ },
+ designer: {
+ type: null
+ },
+ sessionurl: {
+ type: null
+ },
+ Identification: {
+ type: null
+ },
+ grouid: {
+ type: null
+ },
+ total: {
+ type: null
+ },
+ },
+ data: {
+ language: '',
+ showMore: true,
+ page: 1,
+ total_page: 0,
+ isLoadMore: true,
+ goodsShow:true
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+
+ this._getLocation(() => {this.getdata();});
+ // this.setData({
+ // total_page: Math.ceil(this.data.total / 12)
+ // })
+ // if (this.data.page >= this.data.total_page) {
+ // this.setData({
+ // isLoadMore: false
+ // })
+ // }
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+
+ gotoDetail(e) {
+ let id = e.currentTarget.dataset.good.goodid;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+ // 获取更多数据
+ getMoreData() {
+ let that = this;
+ console.log(that.data.current_page, that.data.last_page);
+ if (that.data.current_page >= that.data.last_page) {
+ return;
+ } else {
+ that.setData({
+ page: that.data.page + 1
+ });
+ let ressa = wx.getStorageSync("address-point");
+ console.log(that.data.params.display_num);
+ let urlStr = app.getNetAddresss('plugin.nearby-store-goods.frontend.controllers.designer.get-goods');
+ let point = app.qqMapTransBMap(parseFloat(ressa.point.lng), parseFloat(ressa.point.lat));
+ urlStr += '&page=' + that.data.page;
+ urlStr += "&lng=" + point.lng;
+ urlStr += "&lat=" + point.lat;
+ urlStr += "&city_name=" + ressa.city;
+ urlStr += "&display_num=" + that.data.params.displaynum;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let data = that.data.data;
+ that.setData({
+ data: data.concat(res.data.data),
+ current_page: res.data.current_page,
+ last_page: res.data.last_page
+ });
+ if (that.data.current_page <= that.data.last_page) {
+ that.setData({
+ isLoadMore: false
+ });
+ } else if (that.data.current_page > that.data.last_page){
+ that.setData({
+ isLoadMore: true
+ });
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ getdata(){
+ var that =this;
+ let ressa = wx.getStorageSync("address-point");
+ let point = {};
+ console.log(that.data.params.display_num);
+ let urlStr = app.getNetAddresss('plugin.nearby-store-goods.frontend.controllers.designer.get-goods');
+ if(ressa) {
+ point = app.qqMapTransBMap(parseFloat(ressa.point.lng), parseFloat(ressa.point.lat));
+ }else {
+ point = {lng:'',lat:''};
+ }
+
+ urlStr += '&page=' + that.data.page;
+ urlStr += "&lng=" + point.lng;
+ urlStr += "&lat=" + point.lat;
+ urlStr += "&city_name=" + ressa.city;
+ urlStr += "&display_num=" + that.data.params.displaynum;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var isdata = [];
+ that.setData({
+ data: isdata.concat(res.data.data),
+ current_page: res.data.current_page,
+ last_page: res.data.last_page
+ });
+ wx.setStorageSync('fjstore', res.data.data);
+ if(res.data.current_page < res.data.last_page){
+ that.setData({
+ isLoadMore: true
+ });
+ } else if (res.data.current_page >= res.data.last_page){
+ that.setData({
+ isLoadMore: false
+ });
+ }
+ console.log(res.data.data);
+ if(res.data.data <= 0){
+ that.setData({
+ goodsShow:false
+ });
+ }
+ console.log(res);
+ console.log(that.data.isLoadMore);
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ observers: {
+ 'params': function() {
+ console.log(this.data.params);
+ this.setData({
+ showMore: true,
+ page: 1,
+ total_page: 0,
+ isLoadMore: true
+ });
+ this.setData({
+ total_page: this.data.total
+ });
+ console.log(this.data.total_page);
+ if (this.data.page >= this.data.total_page) {
+ this.setData({
+ isLoadMore: false
+ });
+ }
+ }
+ }
+});
diff --git a/packageC/mycomponent/temp/storeGoods/goods.json b/packageC/mycomponent/temp/storeGoods/goods.json
new file mode 100644
index 0000000..ac28323
--- /dev/null
+++ b/packageC/mycomponent/temp/storeGoods/goods.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/packageC/mycomponent/temp/storeGoods/goods.wxml b/packageC/mycomponent/temp/storeGoods/goods.wxml
new file mode 100644
index 0000000..3e3f763
--- /dev/null
+++ b/packageC/mycomponent/temp/storeGoods/goods.wxml
@@ -0,0 +1,125 @@
+
+
+
+
+ {{params.title || "请填写商品组标题" }}
+
+
+ 一个商品都没有...
+
+
+
+
+
+
+
+
+
+ {{good.distance}}{{good.distance_unit}}
+
+
+ {{ good.name }}
+
+
+ {{language['money']}}{{ good.pricenow }}
+ {{language['money']}}{{ good.priceold }}
+
+
+
+ 会员价:{{ good.vip_price }}
+
+ 赠送{{ good.award_proportion }}%{{designer.love_name || "爱心值"}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{good.distance}}{{good.distance_unit}}
+
+
+ {{ good.name }}
+
+
+ {{language['money']}}{{ good.pricenow }}
+ {{language['money']}}{{ good.priceold }}
+ 会员价:{{ good.vip_price }}
+
+ 赠送{{ good.award_proportion }}%{{designer.love_name || "爱心值"}}
+
+
+ 销量:{{ good.sales }}{{ good.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 入住:
+
+ xxxx
+
+
+ 退房:
+
+ xxxxx
+
+
+ 住:xxx晚
+
+
+
+
+
+
+
+
+
+
+ {{ good.name }}
+
+ {{ prams.title }}:{{ prams.value }}
+
+
+
+ {{language['money']}}{{ good.todayoprice }}
+ {{language['money']}}{{ good.todaycprice }}
+
+ 预定
+
+
+
+ 预定
+
+
+
+
+
+
+
+
+
+ {{language['加载更多']}}
+
+
+
+ {{language['没有更多了']}}~~
+
+
+
+
diff --git a/packageC/mycomponent/temp/storeGoods/goods.wxss b/packageC/mycomponent/temp/storeGoods/goods.wxss
new file mode 100644
index 0000000..b899355
--- /dev/null
+++ b/packageC/mycomponent/temp/storeGoods/goods.wxss
@@ -0,0 +1,451 @@
+/* pages/goods/goods.wxss */
+.nogoods {
+ line-height: 340rpx;
+ text-align: center;
+ color: #999;
+ font-size: 32rpx;
+}
+
+.goods .loadMore {
+ background: #f5f5f5;
+ width: 100%;
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: center;
+ clear: both;
+}
+
+.goods .fe-mod-8-hp-line-info .title {
+ text-align: left;
+}
+
+.goods .fe-mod:hover {
+ border: 4rpx dashed rgba(0, 0, 0, 0);
+ cursor: default;
+}
+
+.goods .fe-mod,
+.goods .fe-mod:hover {
+ border: 0;
+}
+
+.goods .jiudroom {
+ background: #fff;
+}
+
+.goods .jiudroom .li .roomimg {
+ position: absolute;
+ height: 170rpx;
+ width: 170rpx;
+ left: 20rpx;
+}
+
+.goods .jiudroom .li {
+ position: relative;
+ padding: 20rpx 140rpx 20rpx 210rpx;
+ height: 212rpx;
+ border-bottom: 2rpx solid #ececec;
+ font-size: 24rpx;
+}
+
+.goods .jiudroom-price {
+ right: 20rpx;
+ top: 20rpx;
+ width: 140rpx;
+ text-align: center;
+}
+
+.goods .pa {
+ position: absolute !important;
+}
+
+.goods .jiudroom-price .ins {
+ text-decoration: none;
+ font-size: 24rpx;
+ color: #f88917;
+}
+
+.goods .jiudroom-price .del {
+ color: #999;
+ text-decoration: line-through;
+}
+
+.goods .jiudroom-text .h1 {
+ font-size: 32rpx;
+ margin-bottom: 28rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ width: 100%;
+ overflow: hidden;
+ font-weight: normal;
+ margin-top: -2rpx;
+}
+
+.goods .btnbook {
+ background: #f88917;
+ border-radius: 6rpx;
+ color: #fff;
+ border: none;
+ width: 100%;
+ height: 68rpx;
+ line-height: 68rpx;
+ font-size: 28rpx;
+ margin-top: 10rpx;
+}
+
+.goods .fe-mod-8 {
+ height: auto;
+ overflow: hidden;
+ background: #fff;
+}
+
+.goods .fe-mod-8 .a,
+.goods .fe-mod-8 .a:hover {
+ color: inherit;
+ text-decoration: none;
+}
+
+.goods .fe-mod-8-title {
+ padding: 0 16rpx;
+ font-size: 32rpx;
+ color: #666;
+ text-align: left;
+}
+
+.goods .fe-mod-8-good {
+ height: auto;
+ width: 50%;
+ box-sizing: border-box;
+ float: left;
+}
+
+.goods .fe-mod-8-main {
+ height: auto;
+
+ /* padding: 10rpx;
+ background: #fff; */
+}
+
+.goods .fe-mod-8-main-img {
+ position: relative;
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ background-size: 100% 100% !important;
+ background-position: center;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+}
+
+.distance {
+ position: absolute;
+ top: 0;
+ right: 20rpx;
+ color: #fff;
+ border-radius: 10rpx;
+ background: #ff2c29;
+ padding: 0 10rpx;
+}
+
+.goods .fe-mod-8-main-img.oo2 {
+ /* min-height: 43vw; */
+ background: #fff;
+ position: relative;
+ text-align: center;
+}
+
+.goods .fe-mod-8-main-img.oo2 image {
+ width: 43vw;
+ height: 43vw;
+}
+
+.goods .fe-mod-8-main-img.oo3 {
+ /* min-height: 25vw; */
+ position: relative;
+ text-align: center;
+}
+
+.goods .fe-mod-8-main-img.oo3 image {
+ width: 100%;
+ height: 100%;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+}
+
+.goods .fe-mod-8 .new {
+ height: 60rpx;
+ width: 60rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/ico_new.png") no-repeat;
+ background-size: 60rpx;
+ position: absolute;
+ top: -2rpx;
+ left: -2rpx;
+}
+
+.goods .fe-mod-8 .saleimg {
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.goods .fe-mod-8 .sale-xp {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-xp.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-rx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-rx.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-tj {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/sale-tj.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-xs {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/sale-xs.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-by {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/sale-by.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .sale-cx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/sale-cx.png");
+ background-size: 100rpx;
+}
+
+.goods .fe-mod-8 .recom {
+ height: 60rpx;
+ width: 60rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_recom.png") no-repeat;
+ position: absolute;
+ top: -2rpx;
+ left: -2rpx;
+}
+
+.goods .fe-mod-8 .hot {
+ height: 60rpx;
+ width: 60rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_hot.png") no-repeat;
+ background-size: 60rpx;
+ position: absolute;
+ top: -2rpx;
+ left: -2rpx;
+}
+
+.goods .fe-mod-8-main-name {
+ height: auto;
+ font-size: 28rpx;
+ text-align: center;
+ line-height: 40rpx;
+ color: #999;
+ margin-top: 10rpx;
+
+ /* border-top: solid 1rpx #ccc; */
+ padding: 0 16rpx;
+}
+
+.goods .fe-mod-8-main-name-name {
+ height: 80rpx;
+ text-align: left;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ color: #333;
+}
+
+.goods .fe-mod-8-main-name-buy {
+ height: 40rpx;
+ width: 60rpx;
+ float: right;
+ background-repeat: no-repeat;
+}
+
+.goods .fe-mod-8 .buy-1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_1.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8 .buy-2 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_2.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8 .buy-3 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_3.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8 .buy-4 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_4.png");
+ background-size: 60rpx 40rpx;
+}
+
+.goods .fe-mod-8-main-price {
+ height: 48rpx;
+ width: 100%;
+ font-size: 14px;
+ text-align: left;
+ line-height: 48rpx;
+ color: #fff;
+ background: rgba(0, 0, 0, 0.2);
+ padding-left: 6rpx;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ content: "...";
+}
+
+.goods .fe-mod-8-hp-line {
+ height: 180rpx;
+ background: #fff;
+ padding: 10rpx;
+}
+
+.goods .fe-mod-8-hp-line-img {
+ height: 160rpx;
+ width: 160rpx;
+ background: #ddd;
+ position: relative;
+}
+
+.distance_hp {
+ position: absolute;
+ bottom: 10rpx;
+ right: 10rpx;
+ color: #fff;
+ border-radius: 10rpx;
+ background: #ff2c29;
+ padding: 0 10rpx;
+}
+
+.goods .fe-mod-8-hp-line-img image {
+ height: 100%;
+ width: 100%;
+}
+
+.goods .fe-mod-8-hp-line-info {
+ height: 160rpx;
+ background: #fff;
+ padding-left: 20rpx;
+ flex: 1;
+}
+
+.goods .fe-mod-8-hp-line-info .title {
+ height: 80rpx;
+ font-size: 28rpx;
+ color: #333;
+ line-height: 40rpx;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.goods .fe-mod-8-hp-line-info .price {
+ height: 60rpx;
+ width: 100%;
+ margin-top: 20rpx;
+ font-size: 28rpx;
+ color: #bbb;
+ line-height: 60rpx;
+ float: left;
+ overflow: hidden;
+ padding: 0;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p1 {
+ float: left;
+ color: #f60;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p2 {
+ font-size: 24rpx;
+ padding-left: 10rpx;
+ text-decoration: line-through;
+ float: left;
+ line-height: 64rpx;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p3 {
+ color: #999;
+ padding-left: 20rpx;
+ float: left;
+ font-size: 24rpx;
+}
+
+.goods .fe-mod-8-hp-line-info .price .p4 {
+ color: #999;
+ padding-left: 20rpx;
+ float: left;
+ font-size: 24rpx;
+ width: 160rpx;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ font-weight: bold;
+}
+
+.goods .new-goods {
+ /* padding: 8rpx; */
+ width: calc(98% - 16rpx);
+ float: left;
+ margin: 16rpx 24rpx;
+ border-radius: 16rpx;
+}
+
+.goods .card-price {
+ color: #f60;
+ overflow: hidden;
+ position: relative;
+ height: 40rpx;
+ text-align: left;
+ margin: 0 16rpx;
+}
+
+.goods .colorBlack {
+ color: #999;
+}
+
+.goods .good-new {
+ /* padding: 8rpx; */
+ margin-bottom: 2%;
+ border-radius: 16rpx;
+ background: #fff;
+}
+
+.goods .good-new a {
+ /* border: 2rpx solid #e5e5e5; */
+ border-radius: 16rpx;
+ display: block;
+ background: #fff;
+}
+
+.goods .add-cart {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+}
+
+.goods .fe-mod-8-hp-line {
+ border: 2rpx solid #e5e5e5;
+ display: flex;
+ background: #fff;
+ margin: 10rpx 0;
+}
diff --git a/packageC/mycomponent/temp/title/title.js b/packageC/mycomponent/temp/title/title.js
new file mode 100644
index 0000000..63c5129
--- /dev/null
+++ b/packageC/mycomponent/temp/title/title.js
@@ -0,0 +1,38 @@
+Component({
+ properties: {
+ params: {
+ type: null
+ }
+ },
+ data: {
+ Height:''
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+
+ }
+});
diff --git a/packageC/mycomponent/temp/title/title.json b/packageC/mycomponent/temp/title/title.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/title/title.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/title/title.wxml b/packageC/mycomponent/temp/title/title.wxml
new file mode 100644
index 0000000..3f4f635
--- /dev/null
+++ b/packageC/mycomponent/temp/title/title.wxml
@@ -0,0 +1,7 @@
+
+
+
+ {{params.title1}}
+ {{params.title2}}
+
+
diff --git a/packageC/mycomponent/temp/title/title.wxss b/packageC/mycomponent/temp/title/title.wxss
new file mode 100644
index 0000000..70459c0
--- /dev/null
+++ b/packageC/mycomponent/temp/title/title.wxss
@@ -0,0 +1,10 @@
+/* pages/title/title.wxss */
+.title .h3,
+.title .h4 {
+ padding: 4rpx 0;
+ font-weight: bold;
+}
+
+.title view {
+ padding: 20rpx;
+}
diff --git a/packageC/mycomponent/temp/video/video.js b/packageC/mycomponent/temp/video/video.js
new file mode 100644
index 0000000..423ab6a
--- /dev/null
+++ b/packageC/mycomponent/temp/video/video.js
@@ -0,0 +1,77 @@
+Component({
+ properties: {
+ params: {
+ type: null
+ },
+ data: {
+ type: null
+ }
+ },
+ data: {
+ video: {},
+ imgurlshow: true,
+ isVideo: false
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.setData({
+ video: this.data.data[0]
+ });
+ if (this.data.video.option === "1") {
+ this.setData({
+ imgurl: this.data.video.imgurl
+ });
+ } else {
+ this.setData({
+ imgurl: ""
+ });
+ }
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+
+ }, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ this.isMp4(this.data.video.hrefurl);
+ this.videoContext = wx.createVideoContext('myVideo', this);
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ //判断是否MP4
+ isMp4(src) {
+ if (src.endsWith(".mp4")) {
+ this.setData({
+ isVideo: true
+ });
+ } else {
+ this.setData({
+ isVideo: false
+ });
+ }
+ },
+ imgurlshowbtn() {
+ this.videoContext.play();
+ this.setData({
+ imgurlshow: false
+ });
+ },
+ bindended() {
+ this.setData({
+ imgurlshow: true
+ });
+ }
+ },
+});
diff --git a/packageC/mycomponent/temp/video/video.json b/packageC/mycomponent/temp/video/video.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageC/mycomponent/temp/video/video.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/mycomponent/temp/video/video.wxml b/packageC/mycomponent/temp/video/video.wxml
new file mode 100644
index 0000000..e6bf25a
--- /dev/null
+++ b/packageC/mycomponent/temp/video/video.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 视频组件只支持mp4格式
+
diff --git a/packageC/mycomponent/temp/video/video.wxss b/packageC/mycomponent/temp/video/video.wxss
new file mode 100644
index 0000000..ae21afa
--- /dev/null
+++ b/packageC/mycomponent/temp/video/video.wxss
@@ -0,0 +1 @@
+/* pages/title/title.wxss */
diff --git a/packageC/o2o/AddClassify/AddClassify.js b/packageC/o2o/AddClassify/AddClassify.js
new file mode 100644
index 0000000..8136552
--- /dev/null
+++ b/packageC/o2o/AddClassify/AddClassify.js
@@ -0,0 +1,176 @@
+// pages/AddClassify/AddClassify.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ classify_name: '',
+ isOpen: '',
+ judgeState: true,
+ classify_id: '',
+ store_id: '',
+ level: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.classify_id) {
+ this.setData({
+ classify_id: options.classify_id
+ });
+ }
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ if (options.level) {
+ this.setData({
+ level: options.level
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ //确定添加
+ sureAdd() {
+ let isEnabled = '';
+ if (this.data.isOpen == '1') {
+ isEnabled = 1;
+ } else if (this.data.isOpen == '0') {
+ isEnabled = 0;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods-category.add-category');
+ let json = {};
+ that.judge();
+ if (that.data.judgeState == true) {
+ if (that.data.classify_id == 'add') {
+ json = {
+ store_id: that.data.store_id,
+ name: that.data.classify_name,
+ enabled: isEnabled,
+ level: that.data.level,
+ };
+ } else {
+ json = {
+ store_id: that.data.store_id,
+ name: that.data.classify_name,
+ enabled: isEnabled,
+ parent_id: that.data.classify_id,
+ level: that.data.level,
+ };
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: '添加成功',
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateTo({
+ url: '/packageC/o2o/GoodsClassify/GoodsClassify?store_id=' + that.data.store_id
+ });
+ }, 1500); //延迟时间
+ }
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {}
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '分类信息不完整',
+ duration: 1500
+ });
+ }
+ },
+ judge() {
+ this.setData({
+ judgeState: true
+ });
+ if (this.data.classify_name == '' || this.data.isOpen == '') {
+ this.setData({
+ judgeState: false
+ });
+ }
+ },
+ classifyNameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ classify_name: val
+ });
+ },
+ isOpenChange(e) {
+ let val = e.detail;
+ this.setData({
+ isOpen: val
+ });
+ }
+});
diff --git a/packageC/o2o/AddClassify/AddClassify.json b/packageC/o2o/AddClassify/AddClassify.json
new file mode 100644
index 0000000..dea82df
--- /dev/null
+++ b/packageC/o2o/AddClassify/AddClassify.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "商品分类",
+ "usingComponents": {
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index"
+ }
+}
diff --git a/packageC/o2o/AddClassify/AddClassify.wxml b/packageC/o2o/AddClassify/AddClassify.wxml
new file mode 100644
index 0000000..99a1116
--- /dev/null
+++ b/packageC/o2o/AddClassify/AddClassify.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ 分类名称:
+
+
+
+
+
+ 是否开启
+
+
+
+ 是
+ 否
+
+
+
+
+ 确认添加
+
+
+
diff --git a/packageC/o2o/AddClassify/AddClassify.wxss b/packageC/o2o/AddClassify/AddClassify.wxss
new file mode 100644
index 0000000..29d43be
--- /dev/null
+++ b/packageC/o2o/AddClassify/AddClassify.wxss
@@ -0,0 +1,61 @@
+/* pages/AddClassify/AddClassify.wxss */
+.add-class .box .name,
+.add-class .box .recommend {
+ display: -ms-flexbox;
+ display: flex;
+ height: 88rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ font-size: 32rpx;
+ padding: 0 28rpx;
+ background: #fff;
+}
+
+.add-class .box .name .li:first-child,
+.add-class .box .recommend .li:first-child {
+ width: 220rpx;
+ text-align: left;
+}
+
+.add-class .box .name .li,
+.add-class .box .recommend .li {
+ display: flex;
+ align-items: center;
+}
+
+.add-class .box .name .li van-radio-group,
+.add-class .box .recommend .li van-radio-group {
+ display: flex;
+ align-items: center;
+ width: 200rpx;
+ justify-content: space-between;
+}
+
+.add-class .box .name icon,
+.add-class .box .recommend icon {
+ font-size: 24rpx;
+ color: #f15353;
+ margin-right: 12rpx;
+}
+
+.add-class .box .bottom {
+ border-top: solid 2rpx #ebebeb;
+ width: 100%;
+ position: fixed;
+ bottom: 0;
+ background-color: #fff;
+ padding: 0 28rpx;
+ font-size: 32rpx;
+ box-sizing: border-box;
+}
+
+.add-class .box .bottom .button {
+ color: #fff;
+ width: 100%;
+ height: 80rpx;
+ line-height: 80rpx;
+ border-radius: 6rpx;
+ background-color: #f15353;
+ border: none;
+ margin: 12rpx 0;
+ text-align: center;
+}
diff --git a/packageC/o2o/FirstEdit/FirstEdit.js b/packageC/o2o/FirstEdit/FirstEdit.js
new file mode 100644
index 0000000..cbfc2d7
--- /dev/null
+++ b/packageC/o2o/FirstEdit/FirstEdit.js
@@ -0,0 +1,204 @@
+// pages/FirstEdit/FirstEdit.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ classify_name: '',
+ isOpen: '',
+ judgeState: true,
+ classify_id: '',
+ store_id: '',
+ level: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.classify_id) {
+ this.setData({
+ classify_id: options.classify_id
+ });
+ }
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ if (options.level) {
+ this.setData({
+ level: options.level
+ });
+ }
+ this.getJson();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ getJson() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods-category.detail-category');
+ let json = {
+ id: that.data.classify_id
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ classify_name: res.data.name
+ });
+ if (res.data.enabled == 1) {
+ that.setData({
+ isOpen: '1'
+ });
+ } else if (res.data.enabled == 0) {
+ that.setData({
+ isOpen: '0'
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {}
+ });
+ },
+ classifyNameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ classify_name: val
+ });
+ },
+ isOpenChange(e) {
+ let val = e.detail;
+ this.setData({
+ isOpen: val
+ });
+ },
+ //确定编辑
+ sureEdit() {
+ let isEnabled = '';
+ if (this.data.isOpen == '1') {
+ isEnabled = 1;
+ } else if (this.data.isOpen == '0') {
+ isEnabled = 0;
+ }
+ var that = this;
+ that.judge();
+ if (that.data.judgeState == true) {
+ let json = {
+ store_id: that.data.store_id,
+ name: that.data.classify_name,
+ enabled: isEnabled,
+ id: that.data.classify_id,
+ level: that.data.level,
+ };
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods-category.edit-category');
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: '修改成功',
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateTo({
+ url: '/packageC/o2o/GoodsClassify/GoodsClassify?store_id=' + that.data.store_id
+ });
+ }, 1500); //延迟时间
+ }
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {}
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '分类信息不完整',
+ duration: 1500
+ });
+ }
+ },
+ judge() {
+ this.setData({
+ judgeState: true
+ });
+ if (this.data.classify_name == '' || this.data.isOpen == '') {
+ this.setData({
+ judgeState: false
+ });
+ }
+ },
+});
diff --git a/packageC/o2o/FirstEdit/FirstEdit.json b/packageC/o2o/FirstEdit/FirstEdit.json
new file mode 100644
index 0000000..28669a0
--- /dev/null
+++ b/packageC/o2o/FirstEdit/FirstEdit.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "商品分类",
+ "usingComponents": {
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index"
+ }
+}
diff --git a/packageC/o2o/FirstEdit/FirstEdit.wxml b/packageC/o2o/FirstEdit/FirstEdit.wxml
new file mode 100644
index 0000000..3e67e50
--- /dev/null
+++ b/packageC/o2o/FirstEdit/FirstEdit.wxml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ 分类名称:
+
+
+
+
+
+ 是否开启
+
+
+
+ 是
+ 否
+
+
+
+
+ 确认编辑
+
+
+
+
diff --git a/packageC/o2o/FirstEdit/FirstEdit.wxss b/packageC/o2o/FirstEdit/FirstEdit.wxss
new file mode 100644
index 0000000..7468651
--- /dev/null
+++ b/packageC/o2o/FirstEdit/FirstEdit.wxss
@@ -0,0 +1,63 @@
+/* pages/FirstEdit/FirstEdit.wxss */
+
+/* pages/AddClassify/AddClassify.wxss */
+.add-class .box .name,
+.add-class .box .recommend {
+ display: -ms-flexbox;
+ display: flex;
+ height: 88rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ font-size: 32rpx;
+ padding: 0 28rpx;
+ background: #fff;
+}
+
+.add-class .box .name .li:first-child,
+.add-class .box .recommend .li:first-child {
+ width: 220rpx;
+ text-align: left;
+}
+
+.add-class .box .name .li,
+.add-class .box .recommend .li {
+ display: flex;
+ align-items: center;
+}
+
+.add-class .box .name .li van-radio-group,
+.add-class .box .recommend .li van-radio-group {
+ display: flex;
+ align-items: center;
+ width: 200rpx;
+ justify-content: space-between;
+}
+
+.add-class .box .name icon,
+.add-class .box .recommend icon {
+ font-size: 24rpx;
+ color: #f15353;
+ margin-right: 12rpx;
+}
+
+.add-class .box .bottom {
+ border-top: solid 2rpx #ebebeb;
+ width: 100%;
+ position: fixed;
+ bottom: 0;
+ background-color: #fff;
+ padding: 0 28rpx;
+ font-size: 32rpx;
+ box-sizing: border-box;
+}
+
+.add-class .box .bottom .button {
+ color: #fff;
+ width: 100%;
+ height: 80rpx;
+ line-height: 80rpx;
+ border-radius: 6rpx;
+ background-color: #f15353;
+ border: none;
+ margin: 12rpx 0;
+ text-align: center;
+}
diff --git a/packageC/o2o/GoodsClassify/GoodsClassify.js b/packageC/o2o/GoodsClassify/GoodsClassify.js
new file mode 100644
index 0000000..f5799dc
--- /dev/null
+++ b/packageC/o2o/GoodsClassify/GoodsClassify.js
@@ -0,0 +1,337 @@
+// pages/GoodsClassify/GoodsClassify.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ classify_data: [],
+ store_id: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ this.getJson();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+ wx.reLaunch({
+ url:'/packageC/o2o/storeManage/storeManage?store_id='+this.data.store_id,
+ })
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ getJson() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods-category.get-category-by-store-id');
+ let json = {
+ store_id: parseInt(that.data.store_id)
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ classify_data: []
+ });
+ for (let i = 0; i < res.data.list.length; i++) {
+ res.data.list[i].btn_active = false;
+ res.data.list[i].level_active = false;
+ for (var k = 0; k < res.data.list[i].childrens.length; k++) {
+ res.data.list[i].childrens[k].btn_active = false;
+ res.data.list[i].childrens[k].level_active = false;
+ }
+ }
+ that.setData({
+ classify_data: res.data.list
+ });
+ that.emptyMore();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '暂无商品分类,请添加分类',
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {}
+ });
+ },
+ //清空
+ emptyMore() {
+ for (var i = 0; i < this.data.classify_data.length; i++) {
+ this.setData({
+ ['classify_data[' + i + '].btn_active']: false,
+ ['classify_data[' + i + '].level_active']: false
+ });
+ for (var k = 0; k < this.data.classify_data[i].childrens.length; k++) {
+ this.setData({
+ ['classify_data[' + i + '].childrens[' + k + '].btn_active']: false,
+ ['classify_data[' + i + '].childrens[' + k + '].level_active']: false
+ });
+ }
+ }
+ },
+ //展开
+ oneLevel(e) {
+ let index = e.currentTarget.dataset.index;
+ let level = e.currentTarget.dataset.num;
+ if (level == 1) {
+ if (this.data.classify_data[index].level_active == true) {
+ this.emptyMore();
+ } else {
+ if (this.data.classify_data[index].childrens.length != 0) {
+ this.emptyMore();
+ this.setData({
+ ['classify_data[' + index + '].level_active']: true
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '此类暂无数据',
+ duration: 1500
+ });
+ }
+ }
+ } else if (level == 2) {
+ if (this.data.classify_data[index].childrens[index2].level_active == true) {
+ this.emptyMore();
+ this.setData({
+ ['classify_data[' + index + '].level_active']: true
+ });
+ } else {
+ if (this.data.classify_data[index].childrens[index2].thirds.length != 0) {
+ this.emptyMore();
+ this.setData({
+ ['classify_data[' + index + '].level_active']: true,
+ ['classify_data[' + index + '].childrens[' + index2 + '].level_active']: true
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '此类暂无数据',
+ duration: 1500
+ });
+ }
+ }
+ }
+ },
+ //更多
+ levelMore(e) {
+ let level = e.currentTarget.dataset.num;
+ let index = e.currentTarget.dataset.index;
+ let index2 = e.currentTarget.dataset.indexc;
+ if (level == 1) {
+ if (this.data.classify_data[index].btn_active == true) {
+ this.emptyMore();
+ } else {
+ this.emptyMore();
+ this.setData({
+ ['classify_data[' + index + '].btn_active']: true
+ });
+ }
+ } else if (level == 2) {
+ if (this.data.classify_data[index].childrens[index2].btn_active == true) {
+ this.emptyMore();
+ this.setData({
+ ['classify_data[' + index + '].level_active']: true
+ });
+ } else {
+ this.emptyMore();
+ this.setData({
+ ['classify_data[' + index + '].level_active']: true,
+ ['classify_data[' + index + '].childrens[' + index2 + '].btn_active']: true
+ });
+ }
+ } else if (level == 3) {
+ if (this.data.classify_data[index].childrens[index2].thirds[index3].btn_active == true) {
+ this.emptyMore();
+ this.setData({
+ ['classify_data[' + index + '].level_active']: true,
+ ['classify_data[' + index + '].childrens[' + index2 + '].level_active']: true
+ });
+ } else {
+ this.emptyMore();
+ this.setData({
+ ['classify_data[' + index + '].level_active']: true,
+ ['classify_data[' + index + '].childrens[' + index2 + '].level_active']: true,
+ ['classify_data[' + index + '].childrens[' + index2 + '].thirds[' + index3 + '].btn_active']: true
+ });
+ }
+ }
+
+ },
+ classifyRoute(e) {
+ let params = e.currentTarget.dataset.num;
+ let level = e.currentTarget.dataset.numc;
+ let index = e.currentTarget.dataset.index;
+ let index2 = e.currentTarget.dataset.indexc;
+ if (params == 1) {
+ if (level == 2) {
+ wx.navigateTo({
+ url: '/packageC/o2o/AddClassify/AddClassify?store_id=' + this.data.store_id + '&classify_id=' + this.data.classify_data[
+ index].id + '&level=' + level
+ });
+ } else if (level == 3) {
+ wx.navigateTo({
+ url: '/packageC/o2o/AddClassify/AddClassify?store_id=' + this.data.store_id + '&classify_id=' + this.classify_data[
+ index].childrens[index2].id + '&level=' + level
+ });
+ }
+ } else if (params == 2) {
+ if (level == 1) {
+ wx.navigateTo({
+ url: '/packageC/o2o/FirstEdit/FirstEdit?store_id=' + this.data.store_id + '&classify_id=' + this.data.classify_data[
+ index].id + '&level=' + level
+ });
+ } else if (level == 2) {
+ wx.navigateTo({
+ url: '/packageC/o2o/FirstEdit/FirstEdit?store_id=' + this.data.store_id + '&classify_id=' + this.data.classify_data[
+ index].childrens[index2].id + '&level=' + level
+ });
+ } else if (level == 3) {
+ wx.navigateTo({
+ url: '/packageC/o2o/FirstEdit/FirstEdit?store_id=' + this.data.store_id + '&classify_id=' + this.data.classify_data[
+ index].childrens[index2].thirds[index3].id + '&level=' + level
+ });
+ }
+ }
+ },
+ //删除
+ deleteClassify(e) {
+ let params = e.currentTarget.dataset.num;
+ let index = e.currentTarget.dataset.index;
+ let index2 = e.currentTarget.dataset.indexc;
+ var that = this;
+ wx.showModal({
+ title: '提示',
+ content: '此操作将永久删除该分类, 是否继续?',
+ success(res) {
+ if (res.confirm) {
+ let deleteId = '';
+ if (params == 1) {
+ console.log(params);
+ deleteId = that.data.classify_data[index].id;
+ if (that.data.classify_data[index].childrens.length != 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '先清空二级分类',
+ duration: 1500
+ });
+ return;
+ }
+ } else if (params == 2) {
+ deleteId = that.data.classify_data[index].childrens[index2].id;
+
+ } else if (params == 3) {
+ deleteId = that.data.classify_data[index].childrens[index2].thirds[index3].id;
+ }
+ let json = {
+ id: deleteId
+ };
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods-category.del-category');
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let classify_data = that.data.classify_data;
+ if (params == 1) {
+ classify_data.splice(index, 1);
+ } else if (params == 2) {
+ classify_data[index].childrens.splice(index2, 1);
+ } else if (params == 3) {
+ classify_data[index].childrens[index2].thirds.splice(index3, 1);
+ }
+ that.setData({
+ classify_data: classify_data
+ });
+ wx.showToast({
+ icon: 'none',
+ title: '删除成功',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+
+ },
+ fail: function(res) {}
+ });
+ } else if (res.cancel) {
+ wx.showToast({
+ icon: 'none',
+ title: '已取消删除',
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ addClassify() {
+ wx.navigateTo({
+ url: '/packageC/o2o/AddClassify/AddClassify?store_id=' + this.data.store_id + '&classify_id=add' + '&level=1'
+ });
+ },
+});
diff --git a/packageC/o2o/GoodsClassify/GoodsClassify.json b/packageC/o2o/GoodsClassify/GoodsClassify.json
new file mode 100644
index 0000000..5f7b34a
--- /dev/null
+++ b/packageC/o2o/GoodsClassify/GoodsClassify.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "商品分类",
+ "usingComponents": {}
+}
diff --git a/packageC/o2o/GoodsClassify/GoodsClassify.wxml b/packageC/o2o/GoodsClassify/GoodsClassify.wxml
new file mode 100644
index 0000000..7c25dd1
--- /dev/null
+++ b/packageC/o2o/GoodsClassify/GoodsClassify.wxml
@@ -0,0 +1,66 @@
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+ 添加
+
+
+
+ 编辑
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+ {{val.name}}
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+ 添加分类
+
+
+
diff --git a/packageC/o2o/GoodsClassify/GoodsClassify.wxss b/packageC/o2o/GoodsClassify/GoodsClassify.wxss
new file mode 100644
index 0000000..ce2f128
--- /dev/null
+++ b/packageC/o2o/GoodsClassify/GoodsClassify.wxss
@@ -0,0 +1,182 @@
+/* pages/GoodsClassify/GoodsClassify.wxss */
+.goods-class .list .box-a {
+ padding-left: 28rpx;
+ border-top: solid 2rpx #ebebeb;
+ display: flex;
+ justify-content: space-between;
+ position: relative;
+ background: #fff;
+}
+
+.goods-class .list .box-a .left {
+ display: flex;
+ padding: 20rpx 0;
+ font-size: 32rpx;
+}
+
+.goods-class .list .box-a .left .span {
+ line-height: 80rpx;
+}
+
+.goods-class .list .box-a .right {
+ display: flex;
+ padding: 20rpx 0;
+ margin-right: 20rpx;
+}
+
+.goods-class .list .box-a .right icon {
+ font-size: 48rpx;
+ color: #c9c9c9;
+ width: 80rpx;
+ line-height: 80rpx;
+ position: relative;
+ z-index: 3;
+}
+
+.goods-class .list .box-b {
+ background: #fafafa;
+ padding-left: 56rpx;
+ border-top: solid 2rpx #ebebeb;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ position: relative;
+}
+
+.goods-class .list .box-b .left {
+ display: -ms-flexbox;
+ display: flex;
+ margin-left: 40rpx;
+ padding: 20rpx 0;
+ font-size: 32rpx;
+}
+
+.goods-class .list .box-b .left .span {
+ line-height: 80rpx;
+}
+
+.goods-class .list .box-b .right {
+ display: -ms-flexbox;
+ display: flex;
+ padding: 20rpx 0;
+ margin-right: 20rpx;
+}
+
+.goods-class .list .box-b .right icon {
+ font-size: 48rpx;
+ color: #c9c9c9;
+ width: 80rpx;
+ line-height: 80rpx;
+ position: relative;
+ z-index: 3;
+}
+
+.goods-class .bottom {
+ border-top: solid 2rpx #ebebeb;
+ width: 100%;
+ position: fixed;
+ bottom: 0;
+ background-color: #fff;
+ padding: 0 28rpx;
+ font-size: 32rpx;
+ box-sizing: border-box;
+}
+
+.goods-class .bottom .button {
+ color: #fff;
+ width: 100%;
+ height: 80rpx;
+ line-height: 80rpx;
+ border-radius: 3rpx;
+ background-color: #f15353;
+ border: none;
+ margin: 12rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.goods-class .list .box-a .more {
+ z-index: 2;
+ background: rgba(51, 51, 51, 0.9);
+ border-radius: 8rpx;
+ color: #f0f0f0;
+ width: 240rpx;
+ position: absolute;
+ right: 98rpx;
+ top: 84rpx;
+}
+
+.goods-class .list .box-a .more .ul {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: center;
+ justify-content: center;
+}
+
+.goods-class .list .box-a .more .ul .li {
+ -ms-flex: 1;
+ flex: 1;
+ text-align: center;
+}
+
+.goods-class .list .box-a .more .ul .li icon {
+ display: block;
+ margin-top: 4rpx;
+ font-size: 36rpx;
+ color: rgb(255, 255, 255);
+}
+
+.goods-class .list .box-a .more .icon {
+ position: absolute;
+ right: 20rpx;
+ top: -42rpx;
+}
+
+.goods-class .list .box-a .more .icon icon {
+ font-size: 48rpx;
+ color: rgba(51, 51, 51, 0.9);
+}
+
+.goods-class .list .box-b .more {
+ z-index: 2;
+ background: rgba(51, 51, 51, 0.9);
+ border-radius: 8rpx;
+ color: #f0f0f0;
+ width: 240rpx;
+ position: absolute;
+ right: 98rpx;
+ top: 84rpx;
+}
+
+.goods-class .list .box-b .more .ul {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: center;
+ justify-content: center;
+}
+
+.goods-class .list .box-b .more .ul .li {
+ -ms-flex: 1;
+ flex: 1;
+ text-align: center;
+}
+
+.goods-class .list .box-b .more .ul .li icon {
+ display: block;
+ margin-top: 4rpx;
+ font-size: 36rpx;
+ color: rgb(255, 255, 255);
+}
+
+.goods-class .list .box-b .more .icon {
+ position: absolute;
+ right: 20px;
+ top: -42rpx;
+}
+
+.goods-class .list .box-b .more .icon icon {
+ font-size: 48rpx;
+ color: rgba(51, 51, 51, 0.9);
+}
diff --git a/packageC/o2o/HomeSeller/HomeSeller.js b/packageC/o2o/HomeSeller/HomeSeller.js
new file mode 100644
index 0000000..167ab78
--- /dev/null
+++ b/packageC/o2o/HomeSeller/HomeSeller.js
@@ -0,0 +1,607 @@
+// pages/HomeSeller/HomeSeller.js
+// var WxParse = require('../../../wxParse/wxParse.js');
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ category: [],
+ mainInfo: {},
+ telephone: "",
+ path: '',
+ title: '',
+ info: {},
+ infoShow: false,
+ // pet_status: false,
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+
+ isShow: false,
+ //
+ store_member: [],
+ store_room: [], //直播间列表
+
+ micro_communities: [],
+ get_recommend_goods: [],
+ commentList: [],
+ //门店配送 start +++++++++++++++++++++++
+ delivery_note: "", //门店配送说明
+ delivery_area: [
+ [116.403322, 39.920255]
+ ], // 配送范围经纬度
+ locations: [116.403322, 39.920255], //门店经纬度
+ delivery_status: 0, //是否开启门店配送
+ markers_2: [{ // 获取返回结果,放到mks数组中
+ latitude: 23.099994,
+ longitude: 113.324520,
+ iconPath: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //图标路径
+ width: 20,
+ height: 25,
+ callout: {
+ padding: '10rpx',
+ borderRadius: '5rpx'
+ }
+ }],
+ polygons_2: [{
+ points: [],
+ fillColor: "#FF88887F",
+ strokeColor: "#FFF",
+ strokeWidth: 2,
+ zIndex: 1
+ }],
+ delivery: {
+ longitude: "113.324520",
+ latitude: "23.099994"
+ },
+ delivery_amount: 0, //门店起送金额
+ // end ---------------------------
+ // 门店独立余额
+ // 1:显示余额模块0:不显示模块
+ is_open: 0,
+ // 余额名称
+ balanceTitle: '',
+ // 会员拥有该门店的余额数量
+ member_balance: '',
+ // 1:显示充值按钮0:不显示充值按钮
+ show_button: 0,
+ // 是否显示二维码
+ show_qr_code: false,
+ // 门店独立余额 end
+
+ tabList: [],
+ menuList: [], //标签的数组集合
+ tabName: "门店详情",
+ tabIndex: 0,
+ isLoading: false //是否处于请求状态
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.scene) {
+ let scene = decodeURIComponent(options.scene);
+ if (scene) {
+ var info_arr = [];
+ info_arr = scene.split(',');
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split('=');
+ console.log(chil_arr);
+ if (chil_arr[0] == 'store_id') {
+ this.setData({
+ store_id: chil_arr[1]
+ });
+ }
+ if (chil_arr[0] == 'mid') {
+ app._setMid(chil_arr[1]);
+ }
+ }
+ }
+ }
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ this.getStoreInfo();
+ this.getBalance();
+ // this.checked_pet()
+ },
+ toStoreBalance(e) {
+ let key = e.currentTarget.dataset.key;
+ if (key == 'balance') {
+ wx.navigateTo({
+ url: '/packageI/independenceBalance/storeBalance/balance_recharge?store_id=' + this.data.store_id,
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageI/independenceBalance/independenceBalance?store_id=' + this.data.store_id,
+ });
+ }
+ },
+ copybtn(e) {
+ let wechatCode = e.currentTarget.dataset.wechat;
+ wx.setClipboardData({
+ data: wechatCode ? wechatCode : '',
+ success(res) {
+ wx.showToast({
+ icon: 'none',
+ title: '复制成功',
+ duration: 1000
+ });
+ }
+ });
+ },
+ chooseTab(e) {
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ tabIndex: e.currentTarget.dataset.index,
+ tabName: item.name
+ });
+ if (this.data.tabIndex == '门店活动') {
+ wx.navigateTo({
+ url: '/packageD/ActivityDetail/ActivityDetail?id=' + tab.id + '&store_id=' + this.data.store_id
+ });
+ } else if (this.data.tabIndex == '赛车成绩') {
+ wx.navigateTo({
+ url: '/packageH/turmaroundTime/turmaroundIndex/turmaroundIndex?id=' + this.data.store_id,
+ });
+ } else if (item.value == 80){
+ wx.navigateTo({
+ url: '/packageF/storeSign/storeSign/storeSign?id='+this.data.store_id,
+ })
+ return
+ }
+
+ this.getTabsData(); //请求标签数据
+ },
+ getTabsData() {
+ if (!this.data.menuList[this.data.tabIndex].url) {
+ // getStoreInfo()方法返回并处理menuList数组
+ // 如该标签数据需要请求api获取,让后端返回请求接口的api;
+ console.log("menu_list该标签没有返回请求api");
+ return;
+ }
+ if (this.data.menuList[this.data.tabIndex].list.length > 0) {
+ this.data.isLoadMore = this.data.menuList[this.data.tabIndex].isLoadMore;
+ return;
+ }
+ let _totalPage = 1;
+ let _list = [];
+ this.data.isLoading = true;
+ let urlStr = app.getNetAddresss(this.data.menuList[this.data.tabIndex].url);
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ page: 1,
+ store_id: this.data.store_id
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ if (this.data.tabName == "门店微贴") {
+ _totalPage = res.data.last_page;
+ _list = this.setCommunities(res.data.data);
+ } else if (this.data.tabName == "门店员工") {
+ _list = res.data;
+ } else if (res.data?.data) {
+ _totalPage = res.data.last_page;
+ _list = res.data.data;
+ } else {
+ console.log("getTabsData()::error", res.data);
+ }
+ this.data.isLoadMore = true;
+ this.data.menuList[this.data.tabIndex].isLoadMore = true;
+ this.data.menuList[this.data.tabIndex].total_page = _totalPage;
+ if (!this.data.menuList[this.data.tabIndex].total_page) {
+ this.data.menuList[this.data.tabIndex].total_page = 0;
+ }
+ this.setData({
+ ['menuList[' + this.data.tabIndex + '].list']: _list
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+
+ setCommunities(_data) {
+ let arr = [];
+ _data.map(item => {
+ arr.push({
+ id: item.id,
+ title: item.title,
+ praise_num: item.praise_num,
+ has_one_stick_user: {
+ avatar: item.user_avatar,
+ nickname: item.user_nickname,
+ },
+ has_many_image: [{
+ url: item.image,
+ stick_id: item.id
+ }]
+ });
+ });
+ return arr;
+ },
+
+ toCard(e) {
+ let id = e.currentTarget.dataset.cardid;
+ if (id) {
+ wx.navigateTo({
+ url: '/packageB/member/business_card/BusinessCard/BusinessCard?card_id=' + id +
+ '&mark=card'
+ });
+ }
+ },
+ gomenphone(e) {
+ let mobile = e.currentTarget.dataset.phone;
+ wx.makePhoneCall({
+ phoneNumber: mobile
+ });
+ },
+ toGood(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.setData({
+ tabName: '门店详情',
+ tabIndex: 0
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline: function () {
+ return {
+ title: this.data.title,
+ };
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ this._share();
+ return {
+ title: this.data.title,
+ path: this.data.path
+ };
+ },
+ //获取页面主要信息
+ getStore(data) {
+ this.setData({
+ mainInfo: data,
+ telephone: data.store_mobile,
+ commentList: data.comment
+ });
+ },
+ _share() {
+ let uid = wx.getStorageSync('yz_uid');
+ let _title = this.data.mainInfo.store_name || '';
+ let _link = '/packageC/o2o/HomeSeller/HomeSeller?share_tag=2&mid=' + uid + '&store_id=' + this.data.store_id;
+ this.setData({
+ title: _title,
+ path: _link
+ });
+ },
+ goToAdress() {
+ let latitude = this.data.mainInfo.lat;
+ let longitude = this.data.mainInfo.lng;
+ let store_name = this.data.mainInfo.store_name;
+ let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name
+ });
+ },
+ gophone() {
+ let mobile = this.data.mainInfo.store_mobile;
+ wx.makePhoneCall({
+ phoneNumber: mobile
+ });
+ },
+ goToShop() {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + this.data.store_id + '&fromHome=1'
+ });
+ },
+ goToCrash() {
+ wx.navigateTo({
+ url: '/packageC/cashier/cashier_pay/cashier_pay?store_id=' + this.data.store_id + '&fromHome=1'
+ });
+ },
+ getStoreInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.get-store-info.get-the-provider");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ store_id: this.data.store_id,
+ url: ""
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.store_decorate && res.data.store_decorate.datas) {
+ // 判断是否门店装修跳转 "/packageG/o2o/HomeSeller/HomeSeller"
+ wx.redirectTo({
+ url: '/packageG/o2o/HomeSeller/HomeSeller?store_id=' + that.data.store_id
+ });
+ return;
+ }
+ that.getStore(res.data.store_info);
+ that.setTabsList(res.data.menu_list);
+ that.setData({
+ isShow: true,
+ get_recommend_goods: res.data.get_recommend_goods
+ });
+
+ if (!app._isTextEmpty(res.data.store_information)) {
+ res.data.store_information = res.data.store_information.replace(/
{
+ arr_delivery_area.push([Number(item.R), Number(item.Q)]);
+ });
+ that.setData({
+ delivery_area: arr_delivery_area,
+ locations: [Number(locations.longitude).toFixed(6), Number(locations.latitude).toFixed(6)]
+ });
+ if (that.data.locations && that.data.locations.length > 0) {
+ that.setData({
+ "markers_2[0].longitude": that.data.locations[0],
+ "markers_2[0].latitude": that.data.locations[1],
+ "delivery.longitude": that.data.locations[0],
+ "delivery.latitude": that.data.locations[1],
+ });
+ }
+ if (that.data.delivery_area && that.data.delivery_area.length > 0) {
+ let points = [];
+ for (let i = 0; i < that.data.delivery_area.length; i++) {
+ points.push({
+ longitude: that.data.delivery_area[i][0],
+ latitude: that.data.delivery_area[i][1]
+ });
+ }
+ that.setData({
+ "polygons_2[0].points": points,
+ });
+ }
+ }
+ // end ----------------------------
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ setTabsList(_data){
+ let tabList = [];
+ let menuList = [];
+ // 处理并重新组装新数组和请求api
+ _data.forEach((val, index) => {
+ if (val.is_show) {
+ tabList.push(val);
+ menuList.push({
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ list: [],
+ url: val.api
+ });
+ }
+ });
+ this.setData({tabList,menuList});
+ },
+ // checked_pet() {
+ // if (wx.getStorageSync('is_open_pet') == 1) {
+ // this.setData({
+ // pet_status: true
+ // })
+ // }
+ // },
+ //直播间跳转
+ gopage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 1) {
+ wx.navigateTo({
+ url: '/packageD/directSeeding/livePage/livePage?id=' + id + '&playerType=live'
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url: '/packageD/directSeeding/livePage/livePage?id=' + id + '&playerType=video' + '&backid=' + backid
+ });
+ } else if (status == 3) {
+ wx.navigateTo({
+ url: '/packageD/directSeeding/foreshow/foreshow?id=' + id
+ });
+ }
+ },
+
+ _getMoreData() {
+ let that = this;
+ this.data.menuList[this.data.tabIndex].isLoadMore = false;
+ this.data.isLoadMore = false; // 防止多次请求分页数据
+
+ if (this.data.menuList[this.data.tabIndex].page >= this.data.menuList[this.data.tabIndex].total_page) {
+ return;
+ } else {
+ let _list = [];
+ let _json = { store_id: this.data.store_id };
+ this.data.menuList[this.data.tabIndex].page = this.data.menuList[this.data.tabIndex].page + 1;
+ _json.page = this.data.menuList[this.data.tabIndex].page;
+ let urlStr = app.getNetAddresss(this.data.menuList[this.data.tabIndex].url);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: _json,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.data.isLoadMore = true;
+
+ if (this.tabName == "门店微贴") {
+ _list = this.setCommunities(res.data);
+ } else if (this.tabName == "门店员工") {
+ _list = res;
+ } else if (res&&res.data) {
+ _list = res.data;
+ } else {
+ console.log("getTabsData()::error", res);
+ }
+ this.setData({
+ ['menuList[' + this.data.tabIndex + '].list']: this.data.menuList[this.data.tabIndex].list.concat(_list)
+ });
+ } else {
+ this.data.menuList[this.data.tabIndex].page = this.data.menuList[this.data.tabIndex].page - 1;
+ this.data.menuList[this.data.tabIndex].isLoadMore = false;
+ this.data.isLoadMore = false;
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ }
+ },
+ // 门店独立余额
+ goToCode() {
+ wx.navigateTo({
+ url: '/packageC/cashier/cashier_qr/cashier_qr?name=storeBalance&store_id=' + this.data.store_id,
+ });
+ },
+ getBalance() {
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.balance.setting.index");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ store_id: this.data.store_id,
+ },
+ success: (resdata) => {
+ console.log(resdata);
+ let res = resdata.data;
+ this.setData({
+ is_open: res.data.is_open,
+ balanceTitle: res.data.title,
+ member_balance: res.data.member_balance,
+ show_button: res.data.show_button,
+ show_qr_code: res.data.show_qr_code,
+ });
+ },
+ fail: function (res) {
+ wx.showToast({
+ title: res.data.msg,
+ duration: 1000,
+ icon: 'none'
+ });
+ }
+ });
+ }
+ // yuyue() {
+ // if (wx.getStorageSync('pet_status') == 1) {
+ // wx.navigateTo({
+ // url: '/packageA/member/editmobile/editmobile',
+ // })
+ // }
+ // if (wx.getStorageSync('pet_status') == 3) {
+ // wx.navigateTo({
+ // url: '/packageC/hospital/memberinfo/memberinfo',
+ // })
+ // }
+ // if (wx.getStorageSync('pet_status') == 4) {
+ // wx.navigateTo({
+ // url: '/packageC/hospital/preorder/preorder',
+ // })
+ // }
+ // }
+});
\ No newline at end of file
diff --git a/packageC/o2o/HomeSeller/HomeSeller.json b/packageC/o2o/HomeSeller/HomeSeller.json
new file mode 100644
index 0000000..7b22e23
--- /dev/null
+++ b/packageC/o2o/HomeSeller/HomeSeller.json
@@ -0,0 +1,11 @@
+{
+ "navigationBarTitleText": "商家",
+ "usingComponents": {
+ "Waterfalls_flow": "../../mycomponent/Waterfalls_flow/Waterfalls_flow",
+ "van-icon": "../../../dist/icon/index",
+ "cComment": "../../mycomponent/comment/comment",
+ "cGrouplist": "../../mycomponent/grouplist/grouplist",
+ "mp-html":"/mycomponent/mp-html/index",
+ "deposit-ladder-cell": "../../components/deposit-ladder-cell/deposit-ladder-cell"
+ }
+}
diff --git a/packageC/o2o/HomeSeller/HomeSeller.wxml b/packageC/o2o/HomeSeller/HomeSeller.wxml
new file mode 100644
index 0000000..e9bef59
--- /dev/null
+++ b/packageC/o2o/HomeSeller/HomeSeller.wxml
@@ -0,0 +1,343 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{mainInfo.store_address}}
+
+
+
+ {{mainInfo.store_mobile}}
+
+
+
+
+
+
+
+
+
+ 进店选购
+
+
+
+
+
+
+
+
+
+
+ 营业时间:{{mainInfo.business_hours}}
+
+
+
+
+
+
+
+
+ 门店简介:
+ {{mainInfo.store_introduce}}
+
+
+
+
+
+
+ 商家详情:
+
+
+ 暂无详情...
+
+
+
+
+
+
+
+
+
+
+
+ 直播间
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ {{balanceTitle}}
+
+ {{language['money']}}
+ {{member_balance}}
+
+
+ 充值
+
+
+
+ {{item.name}}
+
+
+
+ 营业时间
+ {{ mainInfo.business_hours }}
+
+
+
+ 门店地址
+
+
+ {{ mainInfo.store_address }}
+
+
+ 门店配送起送价
+ {{language['money']}}{{delivery_amount}}
+
+
+
+
+
+ 配送范围
+
+
+
+
+
+
+
+
+
+
+
+ 门店简介
+ {{ mainInfo.store_introduce }}
+
+
+ 门店详情介绍
+ 暂无详情...
+
+
+
+
+
+
+ 推荐商品
+
+
+
+
+
+ {{good.title}}
+
+
+
+
+
+ {{ contentChild.name }}{{ contentChild.value }}%
+
+
+
+
+
+ {{language['money']}}{{good.price}}
+
+
+ {{ item.name }}:{{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ {{member.realname}}
+ 联系方式:{{member.phone}}
+ 微信号:{{member.wechat || '无'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 进店选购
+
+
+ 我的二维码
+
+
+
+
\ No newline at end of file
diff --git a/packageC/o2o/HomeSeller/HomeSeller.wxss b/packageC/o2o/HomeSeller/HomeSeller.wxss
new file mode 100644
index 0000000..cf8a292
--- /dev/null
+++ b/packageC/o2o/HomeSeller/HomeSeller.wxss
@@ -0,0 +1,703 @@
+/* pages/HomeSeller/HomeSeller.wxss */
+.all .load {
+ text-align: center;
+ margin: 200rpx auto;
+}
+
+.all .load image {
+ width: 90rpx;
+}
+
+.living_content {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+
+ /* padding-left: 20rpx;
+ padding-right: 20rpx; */
+ padding-top: 25rpx;
+ background-color: #fff;
+}
+
+.living_title {
+ display: flex;
+ align-items: center;
+ padding-left: 17rpx;
+ background: #fff;
+ padding-top: 25rpx;
+}
+
+.living_title .left {
+ margin-right: 14rpx;
+ display: flex;
+ align-items: center;
+ height: 50rpx;
+}
+
+.living_title .left .iconfont {
+ height: 50rpx;
+ display: flex;
+ align-items: center;
+ color: #ff2c29;
+ font-size: 42rpx;
+}
+
+.living_title .right {
+ height: 50rpx;
+ font-size: 32rpx;
+ line-height: 50rpx;
+ color: #000;
+}
+
+.home_seller2 {
+ background: #fff;
+}
+
+.home_seller2 .header_box {
+ width: 95%;
+ display: flex;
+ background-color: #fff;
+ padding: 16rpx 0 16rpx 25rpx;
+ margin: 0 auto;
+ position: relative;
+}
+
+.home_seller2 .header_box .img {
+ flex: 0 0 96rpx;
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 4rpx;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.home_seller2 .header_box .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.home_seller2 .header_box .name {
+ flex: 1;
+}
+
+.home_seller2 .header_box .name .li {
+ font-size: 32rpx;
+ font-weight: bold;
+ line-height: 48rpx;
+ text-align: left;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 416rpx;
+}
+
+.home_seller2 .header_box .name .tel {
+ font-size: 26rpx;
+}
+
+.home_seller2 .header_box .btn {
+ flex: 0 0 170rpx;
+ display: flex;
+}
+
+.home_seller2 .header_box .btn .button {
+ align-self: center;
+ justify-self: center;
+ border-radius: 32rpx;
+ border: solid 2rpx #ff2c29;
+ color: #ff2c29;
+ padding: 8rpx 20rpx;
+}
+
+.home_seller2 .tab-box {
+ padding: 16rpx 25.6rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.home_seller2 .tab-box .li {
+ padding: 6.4rpx 16rpx;
+ color: #999;
+ margin: 0 16rpx 9.6rpx 0;
+ font-weight: bold;
+}
+
+.home_seller2 .tab-box .choose {
+ background-image: linear-gradient(#ff2c29, #ff2c29), linear-gradient(#ff7747, #ff7747);
+ color: #fff;
+ border-radius: 28rpx;
+}
+
+.home_seller2 .detail-box {
+ padding: 16rpx 25.6rpx;
+ text-align: left;
+}
+
+.home_seller2 .detail-box .detail-item {
+ margin-bottom: 16rpx;
+}
+
+.home_seller2 .detail-box .detail-title {
+ flex: 1;
+ font-size: 32rpx;
+ font-weight: bold;
+ margin-bottom: 16rpx;
+}
+
+.home_seller2 .detail-box .icon-all_daohang {
+ flex: 0 0 32rpx;
+ font-size: 52rpx;
+ color: #ff2c29;
+}
+
+.home_seller2 .detail-box .time {
+ font-weight: bold;
+ font-size: 32rpx;
+ color: #ff2c29;
+}
+
+.home_seller2 .goods-box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.home_seller2 .goods-box .good-item {
+ width: 48.5%;
+ margin-bottom: 16rpx;
+ font-size: 30rpx;
+}
+
+.home_seller2 .goods-box .good-item .good-img {
+ width: 100%;
+ height: 320rpx;
+ border-radius: 10rpx;
+}
+
+.home_seller2 .goods-box .good-item .good-img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.home_seller2 .goods-box .good-item .good-title {
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.home_seller2 .goods-box .good-item .good-price {
+ color: #ff2c29;
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.home_seller2 .goods-box .good-item:nth-child(odd) {
+ margin: 0 16rpx 16rpx 0;
+}
+
+.home_seller2 .live-box {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 16rpx 25.6rpx;
+}
+
+.home_seller2 .live-box .live-item {
+ width: 48.5%;
+ margin-bottom: 16rpx;
+ position: relative;
+ padding-bottom: 32rpx;
+}
+
+.home_seller2 .live-box .live-item .live-img-box {
+ position: relative;
+ width: 100%;
+ height: 384rpx;
+ color: #fff;
+}
+
+.home_seller2 .live-box .live-item .live-img-box img {
+ width: 100%;
+ height: 100%;
+ border-radius: 24rpx;
+}
+
+.home_seller2 .live-box .live-item .live-img-box .left-top {
+ position: absolute;
+ left: 16rpx;
+ top: 16rpx;
+ font-size: 24rpx;
+}
+
+.home_seller2 .live-box .live-item .live-img-box .left-top .status {
+ background: #ff2c29;
+ border-radius: 10rpx;
+ padding: 4rpx 6rpx;
+}
+
+.home_seller2 .live-box .live-item .live-img-box .left-top .gray {
+ background: #999;
+}
+
+.home_seller2 .live-box .live-item .live-img-box .right-top {
+ position: absolute;
+ top: 9.6rpx;
+ right: 32rpx;
+}
+
+.home_seller2 .live-box .live-item .live-img-box .right-top .icon-zb_goods {
+ font-size: 56rpx;
+ color: #ffa303;
+}
+
+.home_seller2 .live-box .live-item .live-img-box .right-top .goods-num {
+ position: absolute;
+ top: 6rpx;
+ right: -20rpx;
+ font-size: 20rpx;
+ color: #ff2c29;
+ background: #fff;
+ border-radius: 18rpx;
+ padding: 2rpx 4rpx;
+}
+
+.home_seller2 .live-box .live-item .live-img-box .bottom-title {
+ position: absolute;
+ bottom: 32rpx;
+ left: 16rpx;
+ text-align: left;
+ display: -webkit-box;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.home_seller2 .live-box .live-item .title-box {
+ width: 80%;
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.live-box .blank {
+ width: 160rpx;
+ height: 160rpx;
+ margin: 0 auto;
+}
+
+.live-box .blank image {
+ width: 100%;
+ height: 100%;
+ margin: 0 auto;
+}
+
+.home_seller2 .member-box {
+ padding: 16rpx 25.6rpx;
+}
+
+.home_seller2 .member-box .member-item {
+ display: flex;
+ border-bottom: 2rpx solid #eee;
+ padding: 16rpx 0;
+}
+
+.home_seller2 .member-box .member-item .img-box {
+ flex: 0 0 96rpx;
+ width: 96rpx;
+ height: 96rpx;
+}
+
+.home_seller2 .member-box .member-item .img-box image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.home_seller2 .member-box .member-item .text-box {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ text-align: left;
+ margin-left: 16rpx;
+ font-size: 24rpx;
+}
+
+.home_seller2 .member-box .member-item .text-box .name {
+ font-weight: bold;
+ font-size: 28rpx;
+}
+
+.home_seller2 .member-box .member-item .phone-box {
+ display: flex;
+ margin-left: 16rpx;
+ flex: 0 0 224rpx;
+ font-size: 24rpx;
+}
+
+.home_seller2 .member-box .member-item .phone-box .icon-box {
+ align-items: center;
+ display: flex;
+}
+
+.home_seller2 .member-box .member-item .phone-box .icon-all_phone,
+.home_seller2 .member-box .member-item .phone-box .icon-card_weixin1 {
+ color: #ff2c29;
+ font-size: 56rpx;
+}
+
+.home_seller2 .member-box .member-item .phone-box .icon-advertise-next {
+ display: flex;
+ align-self: center;
+ font-size: 40rpx;
+}
+
+.home_seller2 .fixed-box {
+ position: fixed;
+ bottom: 230rpx;
+ right: 0;
+ background: #ffca9b;
+ width: 112rpx;
+ height: 90rpx;
+ border-radius: 40rpx 0 0 40rpx;
+}
+
+.home_seller2 .fixed-box2 {
+ position: fixed;
+ bottom: 80rpx;
+ right: 0;
+ background: #ffca9b;
+ width: 112rpx;
+ height: 90rpx;
+ border-radius: 40rpx 0 0 40rpx;
+}
+
+.home_seller2 .fixed-box .red-box,
+.home_seller2 .fixed-box2 .red-box {
+ font-size: 28rpx;
+ display: inline-block;
+ padding: 5rpx;
+ margin-top: 0;
+ margin-left: -16rpx;
+ width: 80rpx;
+ height: 80rpx;
+ background: #ff2c29;
+ color: #fff;
+ border-radius: 50%;
+ text-align: center;
+ line-height: 36rpx;
+}
+
+.living_content .living {
+ width: 340rpx;
+ padding-bottom: 56rpx;
+ position: relative;
+ background-color: #fff;
+ border-radius: 25rpx;
+ margin-bottom: 13rpx;
+}
+
+.living_content .living .bg {
+ width: 340rpx;
+ height: 420rpx;
+ background-color: #fff;
+ border-radius: 25rpx;
+ position: relative;
+}
+
+.living_content .living .bg image {
+ width: 100%;
+ height: 100%;
+ border-radius: 25rpx;
+}
+
+.living_content .living .bg .content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+}
+
+.living_content .living .bg .content .live_top {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 19rpx;
+ padding-left: 10rpx;
+}
+
+.living_content .living .bg .content .live_top .live_top_left {
+ min-width: 206rpx;
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.living_content .living .bg .content .live_top .live_top_left .left {
+ width: 90rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.living_content .living .bg .content .live_top .live_top_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.living_content .living .bg .content .live_top .seeding_left {
+ min-width: 206rpx;
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.living_content .living .bg .content .live_top .seeding_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #999;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.living_content .living .bg .content .live_top .seeding_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.living_content .living .bg .content .live_top .advance_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.living_content .living .bg .content .live_top .live_top_right {
+ width: 59rpx;
+ position: relative;
+ margin-right: 7rpx;
+}
+
+.living_content .living .bg .content .live_top .live_top_right .little_icon {
+ width: 50rpx;
+ height: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.living_content .living .bg .content .live_top .live_top_right .little_icon .icon-zb_goods {
+ color: #ffa303;
+ font-size: 50rpx;
+}
+
+.living_content .living .bg .content .live_top .live_top_right .num {
+ min-width: 50rpx;
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+ height: 22rpx;
+ background-color: #fff;
+ border-radius: 9rpx;
+ position: absolute;
+ right: -2rpx;
+ top: 6rpx;
+ font-size: 20rpx;
+ line-height: 22rpx;
+ color: #f00;
+ text-align: center;
+ overflow: hidden;
+}
+
+.living_content .living .bg .live_bottom {
+ position: absolute;
+ height: 72rpx;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #fff;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+}
+
+.living_content .living .bootom {
+ position: absolute;
+ display: flex;
+ bottom: 10rpx;
+ left: 0;
+ right: 0;
+}
+
+.living_content .living .bootom .left {
+ width: 56rpx;
+ height: 56rpx;
+ background-color: #fff;
+ border: solid 4rpx #fff;
+ border-radius: 50%;
+ margin-right: 9rpx;
+ margin-left: 6rpx;
+}
+
+.living_content .living .bootom .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.living_content .living .bootom .right {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-top: 20rpx;
+ flex: 1;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.loading {
+ width: 100%;
+ height: 400rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.loading .content {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.loading .content image {
+ width: 100%;
+ height: 100%;
+}
+
+/* 门店配送 */
+.delivery_info .detail_a {
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+ font-weight: bold;
+}
+
+.delivery_info .detail_a icon {
+ margin-right: 10rpx;
+}
+
+/* 门店拼团 */
+.show_price_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.show_price {
+ font-size: 11px;
+ color: #ff2c29;
+ border: solid #ff2c29 1px;
+ padding: 1px 4px;
+ margin-top: 5px;
+}
+
+.red_white {
+ color: #fff;
+ background: #ff2c29;
+ margin-right: 5px;
+}
+
+.white_red {
+ color: #ff2c29;
+ background: #fff;
+}
+
+/* 门店拼团 */
+
+/* 独立余额start */
+.circleBox {
+ width: 100%;
+ height: 230.08rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/independenceBalance.png");
+ background-repeat: no-repeat;
+ background-size: cover;
+ margin-top: 24rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.circleBox .circleLeft {
+ margin-left: 64.96rpx;
+ color: #ffd772;
+ font-size: 26.88rpx;
+ text-align: left;
+}
+
+.circleBox .circleLeft .priceCir {
+ margin-top: 16rpx;
+ margin-bottom: 25.6rpx;
+ font-size: 26.88rpx;
+}
+
+.circleBox .circleLeft .priceCir .pric {
+ font-size: 56rpx;
+}
+
+.circleBox .circleRight {
+ width: 140.16rpx;
+ height: 49.92rpx;
+ background-color: #f6db97;
+ border-radius: 24.96rpx;
+ font-size: 26.88rpx;
+ color: #494247;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-right: 64.96rpx;
+}
+
+.goods_content_show {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0;
+}
+
+.goods_content_show .goods_content_show_item {
+ font-size: 11px;
+ color: #666;
+ margin: 0 8px 0 0;
+}
diff --git a/packageC/o2o/StoreSearch/StoreSearch.js b/packageC/o2o/StoreSearch/StoreSearch.js
new file mode 100644
index 0000000..0e7789d
--- /dev/null
+++ b/packageC/o2o/StoreSearch/StoreSearch.js
@@ -0,0 +1,232 @@
+// pages/StoreSearch/StoreSearch.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ inputs: '',
+ pageNum: 1,
+ goods: [], //goodList 数据
+ goload: false, //loadmore--if
+ styleObj: {
+ display: 'inline-block',
+ marginRight: '25px',
+ backgroundColor: 'white',
+ marginLeft: '5px',
+ position: 'static'
+ },
+ jumpSo: true,
+ store_id: '',
+ loading: false, //goodList--boolean
+ allLoaded: true, //loadmore-all,
+ classifyBol: true,
+ showHistory:false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ if(options.goods_ids){
+ this.getIds(options.goods_ids);
+ }
+
+ },
+ serachTag(event) {
+ let value = event.detail;
+ this.setData({
+ inputs:value,
+ });
+ console.log(this.data.inputs);
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ getIds(ids){
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.get-goods-by-ids');
+ urlStr += '&store_id=' + this.data.store_id;
+ urlStr += '&goods_ids=' + ids;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ pageNum: Number(that.data.pageNum) + 1,
+ loading: false,
+ allLoaded: false
+ });
+ if (res.data.total <= 0) {
+ that.setData({
+ loading: true,
+ allLoaded: true
+ });
+ return;
+ }
+ //let goods = that.data.goods;
+ that.setData({
+ goods: res.data.data
+ });
+
+ if (res.data.current_page == res.data.last_page) {
+ that.setData({
+ loading: true,
+ allLoaded: true
+ });
+ return;
+ }
+ } else {
+ that.setData({
+ loading: true,
+ allLoaded: true
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this.gotoSearch();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ this.gotoSearch()
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ inpbtn(e) {
+ let val = e.detail.value;
+ this.setData({
+ inputs: val,
+ });
+ },
+ inpFocus(e){
+ this.setData({
+ showHistory:true
+ });
+ },
+ inpBlur(e){
+ let val = e.detail.value;
+ this.setData({
+ inputs: val,
+ showHistory:false
+ });
+ },
+ search() {
+ this.setData({
+ pageNum: 1,
+ goods: [],
+ goload: true
+ });
+ this.gotoSearch();
+ },
+ //搜索请求
+ gotoSearch() {
+ if(this.data.inputs){
+ this.selectComponent("#search_history").appendKeywords(this.data.inputs);
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.get-goods-by-kwd');
+ urlStr += '&store_id=' + this.data.store_id;
+ urlStr += '&kwd=' + this.data.inputs;
+ urlStr += '&page=' + this.data.pageNum;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ pageNum: Number(that.data.pageNum) + 1,
+ loading: false,
+ allLoaded: false
+ });
+ if (res.data.total <= 0) {
+ that.setData({
+ loading: true,
+ allLoaded: true
+ });
+ return;
+ }
+ let goods = that.data.goods;
+ that.setData({
+ goods: goods.concat(res.data.data)
+ });
+
+ if (res.data.current_page == res.data.last_page) {
+ that.setData({
+ loading: true,
+ allLoaded: true
+ });
+ return;
+ }
+ } else {
+ that.setData({
+ loading: true,
+ allLoaded: true
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ classifyShowBtn() {
+ if (this.data.classifyBol) {
+ this.setData({
+ classifyBol: false
+ });
+ } else {
+ this.setData({
+ classifyBol: true
+ });
+ }
+ }
+});
diff --git a/packageC/o2o/StoreSearch/StoreSearch.json b/packageC/o2o/StoreSearch/StoreSearch.json
new file mode 100644
index 0000000..9c76884
--- /dev/null
+++ b/packageC/o2o/StoreSearch/StoreSearch.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "商品搜索",
+ "usingComponents": {
+ "cGoodsList": "../../../mycomponent/goodsList/goodsList",
+ "sarch-history":"/mycomponent/searchHistory/searchHistory"
+ }
+}
diff --git a/packageC/o2o/StoreSearch/StoreSearch.wxml b/packageC/o2o/StoreSearch/StoreSearch.wxml
new file mode 100644
index 0000000..4b94657
--- /dev/null
+++ b/packageC/o2o/StoreSearch/StoreSearch.wxml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageC/o2o/StoreSearch/StoreSearch.wxss b/packageC/o2o/StoreSearch/StoreSearch.wxss
new file mode 100644
index 0000000..b9c6d24
--- /dev/null
+++ b/packageC/o2o/StoreSearch/StoreSearch.wxss
@@ -0,0 +1,63 @@
+/* pages/StoreSearch/StoreSearch.wxss */
+.search_1 {
+ position: relative;
+}
+
+.search {
+ overflow: hidden;
+ background: #fff;
+ border-bottom: 2rpx solid #f5f5f5;
+ width: 100%;
+ padding-bottom: 10rpx;
+}
+
+.search .searchBox {
+ position: relative;
+ font-size: 28rpx;
+ width: 540rpx;
+ height: 60rpx;
+ margin: 0 auto;
+ display: flex;
+ align-items: center;
+ background: #f2f2f2 none;
+ box-sizing: border-box;
+ border-radius: 30rpx;
+ padding: 0 20rpx;
+}
+
+.search .searchBox input {
+ vertical-align: middle;
+ border: none;
+ box-sizing: border-box;
+ outline: 0;
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+ width: 480rpx;
+ z-index: 10;
+}
+
+.search .searchBox .img-icon {
+ width: 60rpx;
+ height: 60rpx;
+ color: #a9a9a9;
+ opacity: 2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.search .searchBox .img-icon .img-icon-btn {
+ width: 32rpx;
+ height: 32rpx;
+ margin: 0 auto;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/search.png") no-repeat center center;
+ background-size: 80% 80%;
+}
+
+.classifyShow {
+ position: absolute;
+ right: 32rpx;
+ top: 0;
+}
diff --git a/packageC/o2o/card/CardChooseMembership/CardChooseMembership.js b/packageC/o2o/card/CardChooseMembership/CardChooseMembership.js
new file mode 100644
index 0000000..03f708e
--- /dev/null
+++ b/packageC/o2o/card/CardChooseMembership/CardChooseMembership.js
@@ -0,0 +1,144 @@
+// pages/CardChooseMembership/CardChooseMembership.js
+var app = getApp();
+const DATA_URL = "plugin.universal-card.api.home.get-goods";
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ nickname: "",
+ thumb: "",
+ level_name: "",
+ priceArr: [],
+ isOpen: false,
+ currentIndex: 0,
+ option_id: 0,
+ goods_id: 0,
+ date: "",
+ levelId: "",
+ goodsId: ""
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.goods_id) {
+ this.setData({
+ goodsId: options.goods_id
+ });
+ }
+ if (options.level_id) {
+ this.setData({
+ levelId: options.level_id
+ });
+ }
+ this.initData();
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ initData() {
+ this.setData({
+ nickname: "",
+ thumb: "",
+ level_name: "",
+ priceArr: [],
+ isOpen: false,
+ currentIndex: 0,
+ option_id: 0,
+ goods_id: 0
+ });
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(DATA_URL);
+ urlStr += '&goods_id=' + this.data.goodsId;
+ urlStr += '&level_id=' + this.data.levelId;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isOpen: app._isTextEmpty(res.data.expire_date) ? false : true,
+ nickname: res.data.nickname,
+ thumb: res.data.thumb,
+ level_name: res.data.level_name,
+ priceArr: res.data.level_date,
+ goods_id: res.data.goods_id,
+ option_id: res.data.level_date[0].option_id,
+ date: res.data.expire_date
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ toggle(e) {
+ let index = e.currentTarget.dataset.index;
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ currentIndex: index,
+ option_id: item.option_id
+ });
+ },
+ open() {
+ //普通商品
+ wx.navigateTo({
+ url: '/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&goodsId=' + this.data.goods_id +
+ '&optionsId=' + this.data.option_id + '&total=1'
+ });
+ }
+});
diff --git a/packageC/o2o/card/CardChooseMembership/CardChooseMembership.json b/packageC/o2o/card/CardChooseMembership/CardChooseMembership.json
new file mode 100644
index 0000000..02b1648
--- /dev/null
+++ b/packageC/o2o/card/CardChooseMembership/CardChooseMembership.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "选择周期",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/o2o/card/CardChooseMembership/CardChooseMembership.wxml b/packageC/o2o/card/CardChooseMembership/CardChooseMembership.wxml
new file mode 100644
index 0000000..f43626f
--- /dev/null
+++ b/packageC/o2o/card/CardChooseMembership/CardChooseMembership.wxml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+ {{date}}到期,购买后有效期将顺延
+
+
+ 会员套餐
+
+
+
+
+ {{item.time}}天
+
+
+ {{item.vip_level_status&&item.vip_level_status.status==1?item.vip_level_status.word:item.market_price}}{{language['元']}}{{item.vip_level_status&&item.vip_level_status.status==1?item.vip_level_status.word:item.price}}{{language['元']}}
+
+
+
+
+
+ {{isOpen?"立即续费":"立即开通"}}
+
+
+
diff --git a/packageC/o2o/card/CardChooseMembership/CardChooseMembership.wxss b/packageC/o2o/card/CardChooseMembership/CardChooseMembership.wxss
new file mode 100644
index 0000000..8a0501d
--- /dev/null
+++ b/packageC/o2o/card/CardChooseMembership/CardChooseMembership.wxss
@@ -0,0 +1,109 @@
+/* pages/CardChooseMembership/CardChooseMembership.wxss */
+.choose_cycle .content .header {
+ background: #3b3b4f;
+ padding: 40rpx;
+ display: flex;
+}
+
+.choose_cycle .content .header .user {
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 60rpx;
+ border: solid 4rpx #fff;
+ overflow: hidden;
+}
+
+.choose_cycle .content .header .user image {
+ width: 100%;
+ height: 100%;
+}
+
+.choose_cycle .content .header .name {
+ text-align: left;
+ color: #fff;
+ margin-left: 20rpx;
+}
+
+.choose_cycle .content .header .name .li:first-child {
+ line-height: 60rpx;
+ font-size: 36rpx;
+ font-weight: bold;
+ max-width: 480rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.choose_cycle .content .header .name .li:last-child {
+ font-size: 28rpx;
+ line-height: 60rpx;
+}
+
+.choose_cycle .content .meal {
+ background: #fff;
+}
+
+.choose_cycle .content .meal .h1 {
+ line-height: 100rpx;
+ font-size: 36rpx;
+ padding: 0 28rpx;
+ text-align: left;
+}
+
+.choose_cycle .content .meal .meal_list {
+ padding: 20rpx 28rpx;
+}
+
+.choose_cycle .content .meal .meal_list .li {
+ line-height: 80rpx;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ padding: 0 20rpx;
+ font-size: 32rpx;
+ margin: 12rpx 0;
+}
+
+.choose_cycle .content .meal .meal_list .current {
+ background: rgba(218, 172, 94, 0.1);
+ border-radius: 6rpx;
+}
+
+.choose_cycle .content .meal .meal_list .li .span:first-child {
+ display: flex;
+}
+
+.choose_cycle .content .meal .meal_list .li .span:first-child icon {
+ font-size: 48rpx;
+ color: #ccc;
+ line-height: 80rpx;
+ margin-right: 20rpx;
+}
+
+.choose_cycle .content .meal .meal_list .current .span:first-child icon {
+ color: #333;
+}
+
+.choose_cycle .content .meal .meal_list .li .span:last-child .font {
+ text-decoration: line-through;
+ color: #8c8c8c;
+ margin-right: 20rpx;
+}
+
+.choose_cycle .content .btn {
+ margin-top: 40rpx;
+}
+
+.choose_cycle .content .btn .button {
+ width: 600rpx;
+ height: 84rpx;
+ border-radius: 24rpx;
+ background: #3b3b4f;
+ color: #fff;
+ font-size: 36rpx;
+ border: none;
+ text-align: center;
+ line-height: 84rpx;
+ margin: 0 auto;
+}
diff --git a/packageC/o2o/card/CardOpenMembership/CardOpenMembership.js b/packageC/o2o/card/CardOpenMembership/CardOpenMembership.js
new file mode 100644
index 0000000..24ceac8
--- /dev/null
+++ b/packageC/o2o/card/CardOpenMembership/CardOpenMembership.js
@@ -0,0 +1,107 @@
+// pages/member/rankingListSecond/rankingListSecond.js
+const OPEN_INDEX_URL = "plugin.universal-card.api.home.get-level";
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ listArr: []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.initData();
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ initData() {
+ this.setData({
+ listArr: []
+ });
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(OPEN_INDEX_URL);
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ listArr: res.data.member_level
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ openSubmit(e) {
+ let value = e.currentTarget.dataset.item;
+ //判断是否有周期,有周期跳转至选择周期,没有周期直接订单页
+ if (!app._isTextEmpty(value.has_one_universal_level.goods_spec)) {
+ wx.navigateTo({
+ url: '/packageC/o2o/card/new_card/new_card?level_id=' + value.id+'&spec=goods_spec'
+ });
+ } else {
+ // 没有周期跳转到选择商品,然后再去选周期
+ // 购买指定商品
+ wx.navigateTo({
+ url: '/packageC/o2o/card/new_card/new_card?level_id=' + value.id,
+ });
+ }
+ }
+});
diff --git a/packageC/o2o/card/CardOpenMembership/CardOpenMembership.json b/packageC/o2o/card/CardOpenMembership/CardOpenMembership.json
new file mode 100644
index 0000000..e77fdd1
--- /dev/null
+++ b/packageC/o2o/card/CardOpenMembership/CardOpenMembership.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText":"开通会员",
+ "usingComponents": {
+ }
+}
diff --git a/packageC/o2o/card/CardOpenMembership/CardOpenMembership.wxml b/packageC/o2o/card/CardOpenMembership/CardOpenMembership.wxml
new file mode 100644
index 0000000..7705b9e
--- /dev/null
+++ b/packageC/o2o/card/CardOpenMembership/CardOpenMembership.wxml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+ {{item.level_name}}
+ 有效期:{{item.validity}}天
+ {{item.discount}}折优惠 更多特权
+
+
+
+
+
+
+
diff --git a/packageC/o2o/card/CardOpenMembership/CardOpenMembership.wxss b/packageC/o2o/card/CardOpenMembership/CardOpenMembership.wxss
new file mode 100644
index 0000000..8bbc2d1
--- /dev/null
+++ b/packageC/o2o/card/CardOpenMembership/CardOpenMembership.wxss
@@ -0,0 +1,192 @@
+.open_member {
+ background: #f5f5f5;
+
+ /* padding-top: 40px; */
+ padding-bottom: 40rpx;
+}
+
+.open_member .content .type_a {
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/card_a.png');
+ background-size: 600rpx 354rpx;
+ background-repeat: no-repeat;
+}
+
+.open_member .content .type_a .name {
+ background: linear-gradient(to right, rgba(224, 203, 164, 0), #b89763);
+}
+
+.open_member .content .type_a .info_c span {
+ background: linear-gradient(to right, #b89763, #e0cba4);
+}
+
+.open_member .content .type_b {
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/card_b.png');
+ background-size: 600rpx 354rpx;
+ background-repeat: no-repeat;
+}
+
+.open_member .content .type_b .name {
+ background: linear-gradient(to right, rgba(119, 118, 130, 0), #434247);
+}
+
+.open_member .content .type_b .info_c span {
+ background: linear-gradient(to right, #434247, #777682);
+}
+
+.open_member .content .type_c {
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/card_c.png');
+ background-size: 600rpx 354rpx;
+ background-repeat: no-repeat;
+}
+
+.open_member .content .type_c .name {
+ background: linear-gradient(to right, rgba(143, 133, 133, 0), #564740);
+}
+
+.open_member .content .type_c .info_c span {
+ background: linear-gradient(to right, #564740, #8f8585);
+}
+
+.open_member .content .type_a,
+.open_member .content .type_b,
+.open_member .content .type_c {
+ width: 600rpx;
+ height: 354rpx;
+ border-radius: 16rpx;
+ margin: 40rpx auto;
+ box-shadow: 0rpx 4rpx 16rpx #ccc;
+}
+
+.open_member .content .type_a .top,
+.open_member .content .type_b .top,
+.open_member .content .type_c .top {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 32rpx 24rpx;
+}
+
+.open_member .content .type_a .top .li:first-child,
+.open_member .content .type_b .top .li:first-child,
+.open_member .content .type_c .top .li:first-child {
+ padding: 0 20rpx;
+ color: #fff;
+ font-size: 14px;
+ display: flex;
+ line-height: 56rpx;
+}
+
+.open_member .content .type_a .top .li:first-child i,
+.open_member .content .type_b .top .li:first-child i,
+.open_member .content .type_c .top .li:first-child i {
+ font-size: 40rpx;
+ color: #fff;
+ line-height: 56rpx;
+ margin-right: 12rpx;
+}
+
+.open_member .content .type_a .top .li:last-child button,
+.open_member .content .type_b .top .li:last-child button,
+.open_member .content .type_c .top .li:last-child button {
+ border: none;
+ width: 140rpx;
+ height: 48rpx;
+ border-radius: 60rpx;
+ background: #fff;
+ color: #333;
+ font-size: 13px;
+}
+
+.open_member .content .type_a .info,
+.open_member .content .type_b .info,
+.open_member .content .type_c .info {
+ color: #fff;
+}
+
+.open_member .content .type_a .info .info_a,
+.open_member .content .type_b .info .info_a,
+.open_member .content .type_c .info .info_a {
+ font-size: 16px;
+}
+
+.open_member .content .type_a .info .info_a span,
+.open_member .content .type_b .info .info_a span,
+.open_member .content .type_c .info .info_a span {
+ font-size: 36px;
+ font-weight: bold;
+}
+
+.open_member .content .type_a .info .info_b,
+.open_member .content .type_b .info .info_b,
+.open_member .content .type_c .info .info_b {
+ font-size: 14px;
+ line-height: 56rpx;
+}
+
+.open_member .content .type_a .info .info_c span,
+.open_member .content .type_b .info .info_c span,
+.open_member .content .type_c .info .info_c span {
+ font-size: 14px;
+ line-height: 56rpx;
+ padding: 4rpx 20rpx;
+}
+
+.open_member .content .vip_box {
+ width: 710rpx;
+ border-radius: 8rpx;
+ margin: 20rpx auto;
+ background: #fff;
+ display: flex;
+ align-items: center;
+ padding: 40rpx 28rpx;
+ position: relative;
+ box-sizing: border-box;
+}
+
+.open_member .content .vip_box .img {
+ width: 142rpx;
+ height: 142rpx;
+ border-radius: 120rpx;
+ background: #ccc;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.open_member .content .vip_box .img image {
+ width: 142rpx;
+ height: 142rpx;
+}
+
+.open_member .content .vip_box .text {
+ text-align: left;
+}
+
+.open_member .content .vip_box .text .text_a {
+ font-size: 18px;
+ font-weight: bold;
+ line-height: 60rpx;
+}
+
+.open_member .content .vip_box .text .text_b,
+.open_member .content .vip_box .text .text_c {
+ font-size: 14px;
+ color: #8c8c8c;
+ line-height: 48rpx;
+}
+
+.open_member .content .vip_box .btn {
+ position: absolute;
+ right: 20rpx;
+}
+
+.open_member .content .vip_box .btn button {
+ border: none;
+ background: #daac5e;
+ color: #fff;
+ border-radius: 8rpx;
+ height: 72rpx;
+ font-size: 16px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
diff --git a/packageC/o2o/card/new_card/new_card.js b/packageC/o2o/card/new_card/new_card.js
new file mode 100644
index 0000000..3893020
--- /dev/null
+++ b/packageC/o2o/card/new_card/new_card.js
@@ -0,0 +1,120 @@
+// packageC/o2o/card/new_card/new_card.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ dainfo:'',
+ spec:false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ id: options.level_id
+ });
+ if(options.spec == 'goods_spec'){
+ this.setData({
+ spec:true
+ });
+ }
+ this.getData();
+ },
+ openSubmit(){
+
+ if(this.data.spec){
+ wx.navigateTo({
+ url: '/packageC/o2o/card/CardChooseMembership/CardChooseMembership?goods_id=' + this.data.dainfo + '&level_id=' + this.data.member_level.has_one_universal_level.member_level_id
+ });
+ }else{
+ wx.navigateTo({
+ url: '/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&optionsId=&total=1&goodsId=' + this.data.dainfo,
+ });
+
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ radiong(e){
+ console.log(e);
+ this.setData({
+ dainfo: Number(e.detail)
+ });
+ },
+ getData(){
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.universal-card.api.home.getLevel');
+ let json = {
+ level_id: this.data.id
+ };
+ app._getNetWork({
+ url: urlStr,
+ data:json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ member_goods: res.data.member_goods,
+ member_level: res.data.member_level,
+ dainfo: (res.data.member_goods.length > 0) ? res.data.member_goods[0].id : ''
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageC/o2o/card/new_card/new_card.json b/packageC/o2o/card/new_card/new_card.json
new file mode 100644
index 0000000..bd2c48b
--- /dev/null
+++ b/packageC/o2o/card/new_card/new_card.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "开通会员",
+ "usingComponents": {
+ "van-radio": "../../../../dist/radio/index",
+ "van-radio-group": "../../../../dist/radio-group/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/o2o/card/new_card/new_card.wxml b/packageC/o2o/card/new_card/new_card.wxml
new file mode 100644
index 0000000..1705c95
--- /dev/null
+++ b/packageC/o2o/card/new_card/new_card.wxml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+ {{member_level.level_name}}
+ 有效期:{{member_level.validity}}天
+ {{member_level.discount}}折优惠 更多特权
+
+
+
+ 请选择升级商品
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{item.price}}
+ {{language['元']}}
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
\ No newline at end of file
diff --git a/packageC/o2o/card/new_card/new_card.wxss b/packageC/o2o/card/new_card/new_card.wxss
new file mode 100644
index 0000000..20fe708
--- /dev/null
+++ b/packageC/o2o/card/new_card/new_card.wxss
@@ -0,0 +1,160 @@
+/* packageC/o2o/card/new_card/new_card.wxss */
+#CardOpenMembershipList {
+ padding-bottom: 140rpx;
+}
+
+#CardOpenMembershipList .btn {
+ width: 100%;
+ height: 97.92rpx;
+ background-color: white;
+ box-shadow: 0 0 17.92rpx 0 rgba(169, 169, 169, 0.24);
+ position: fixed;
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+#CardOpenMembershipList .btn .sbutton {
+ border: none;
+ background-color: #3b3b4f;
+ color: #fff;
+ border-radius: 8rpx;
+ width: 626rpx;
+ height: 84.16rpx;
+ font-size: 16px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+#CardOpenMembershipList .shopbox {
+ width: 710rpx;
+ height: 199rpx;
+ margin: 20rpx;
+ background-color: white;
+ border-radius: 5.12rpx;
+ overflow: hidden;
+}
+
+#CardOpenMembershipList .shopbox .inbox {
+ margin: 23.04rpx 21.12rpx 28.16rpx 21.12rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+#CardOpenMembershipList .shopbox .inbox .shop-photo {
+ width: 148.16rpx;
+ height: 148.16rpx;
+ margin-right: 18.88rpx;
+}
+
+#CardOpenMembershipList .shopbox .inbox .shop-photo image {
+ width: 100%;
+ height: 100%;
+}
+
+#CardOpenMembershipList .shopbox .inbox .minbox {
+ flex: 1;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+#CardOpenMembershipList .shopbox .inbox .minbox .shop-right {
+ width: 365.12rpx;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+#CardOpenMembershipList .shopbox .inbox .minbox .shop-right .shop-right-top {
+ width: 365.12rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ justify-content: space-between;
+}
+
+#CardOpenMembershipList .shopbox .inbox .minbox .shop-right .shop-right-bottom {
+ width: 365.12rpx;
+ text-align: left;
+ display: flex;
+ justify-content: flex-start;
+}
+
+#CardOpenMembershipList .shopbox .inbox .minbox .checkbox {
+ margin: 0 auto;
+}
+
+#CardOpenMembershipList .shopbox .inbox .minbox .checkbox .check {
+ width: 32rpx;
+ height: 32rpx;
+ border-radius: 50%;
+ border: 1px solid #333;
+}
+
+#CardOpenMembershipList .text-left {
+ text-align: left;
+ margin-left: 20rpx;
+}
+
+#CardOpenMembershipList .vip_box {
+ width: 22.1875rem;
+ border-radius: 0.25rem;
+ margin: 20rpx auto;
+ background: #fff;
+ display: flex;
+ align-items: center;
+ padding: 40rpx 0;
+ position: relative;
+}
+
+#CardOpenMembershipList .vip_box .img {
+ width: 144rpx;
+ height: 144rpx;
+ border-radius: 120rpx;
+ background: #ccc;
+ overflow: hidden;
+ margin-right: 20rpx;
+ margin-left: 20rpx;
+}
+
+#CardOpenMembershipList .vip_box .img image {
+ width: 144rpx;
+ height: 144rpx;
+}
+
+#CardOpenMembershipList .vip_box .text {
+ text-align: left;
+}
+
+#CardOpenMembershipList .vip_box .text .text_a {
+ font-size: 18px;
+ font-weight: bold;
+ line-height: 60rpx;
+}
+
+#CardOpenMembershipList .vip_box .text .text_b,
+#CardOpenMembershipList .vip_box .text .text_c {
+ font-size: 14px;
+ color: #8c8c8c;
+ line-height: 48rpx;
+}
+
+/* #CardOpenMembershipList .vip_box .btn {
+ position: absolute;
+ right: 20rpx;
+}
+#CardOpenMembershipList .vip_box .btn .sbutton {
+ border: none;
+ background: #daac5e;
+ color: #fff;
+ border-radius: 8rpx;
+ width: 176rpx;
+ height: 72rpx;
+ font-size: 16px;
+} */
diff --git a/packageC/o2o/createGroup/createGroup.js b/packageC/o2o/createGroup/createGroup.js
new file mode 100644
index 0000000..0f43ab3
--- /dev/null
+++ b/packageC/o2o/createGroup/createGroup.js
@@ -0,0 +1,1054 @@
+// packageC/o2o/createGroup/createGroup.js
+var app = getApp();
+import uitil from '../../../utils/util.js';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ id: 0,
+ store_id: 0,
+ disableds: false,
+ titleText: '创建活动',
+ kwd: "",
+ show: false,
+ showSearchGood: false,
+ listOne: [],
+ start_time: "",
+ end_time: "",
+
+ cat_level: 2, //分类等级 2级或者3级
+ category1: 0,
+ category2: 0,
+ category1_disabled: false,
+ category2_disabled: true,
+ categoryOption1: [{
+ text: "不限分类",
+ value: 0
+ }],
+ categoryOption2: [{
+ text: "不限分类",
+ value: 0,
+ child: []
+ }],
+ activeCategoryID: "",
+
+ minDate: new Date().getTime(),
+ showStartTime: false,
+ currentStartTime: "",
+ showEndTime: false,
+ currentEndTime: "",
+
+ goodradio: "",
+
+ tab: "all",
+ new_url: false, //新增活动弹出框
+ step: 1, //下一步
+ has_option: 0, //是否开启规格
+ search_form: {},
+ search_goods: {},
+ category_list: [],
+ goods_list: [],
+ list: [],
+ keywords: '',
+ form: {},
+ fight_groups_lottery_set: '',
+ data: '',
+ // has_many_options:has_many_options,//规格
+ has_one_goods: '', //回显商品信息
+ is_edit: '', //是否允许编辑
+ //商品分页
+ goods_total: 0,
+ goods_per_size: 0,
+ goods_current_page: 0,
+
+ // 优惠券
+ coupon_result: [],
+ coupon_show: false,
+ coupon_keyword: "",
+ coupon_list: [],
+ // choose_coupon_list:[],
+ // 爱心值
+ love_name: '',
+ loves: '',
+ is_open_integral: '',
+
+ //门店
+ store_show: false,
+ store_list: [],
+ store_keyword: "",
+ store_obj: '',
+
+ loading: false,
+ table_loading: false,
+ rules: {
+ title: {
+ required: true,
+ message: "请输入活动标题"
+ }
+ },
+ startPos: undefined
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.store_id) {
+ this.data.store_id = options.store_id;
+ }
+ if(options.id){
+ this.setData({
+ disableds: true
+ });
+ this.data.id = options.id;
+ this.editData();
+ }else{
+ this.initFun();
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ initFun(_editData) {
+ let _data = {
+ fight_groups_lottery: false,
+ keywords: {
+ share_title: ["\u62fc\u56e2\u6d3b\u52a8\u540d\u79f0", "\u5546\u54c1\u6700\u9ad8\u4ef7", "\u5546\u54c1\u6700\u4f4e\u4ef7"],
+ share_content: ["\u62fc\u56e2\u6d3b\u52a8\u540d\u79f0", "\u5546\u54c1\u6700\u9ad8\u4ef7", "\u5546\u54c1\u6700\u4f4e\u4ef7"],
+ desc_title: [
+ "\u56e2\u957f\u540d\u79f0",
+ "\u62fc\u56e2\u65f6\u95f4\u5012\u8ba1\u65f6",
+ "\u62fc\u56e2\u6d3b\u52a8\u540d\u79f0",
+ "\u5546\u54c1\u6700\u9ad8\u4ef7",
+ "\u5546\u54c1\u6700\u4f4e\u4ef7",
+ "\u62fc\u56e2\u4eba\u6570"
+ ],
+ desc_content: [
+ "\u56e2\u957f\u540d\u79f0",
+ "\u62fc\u56e2\u65f6\u95f4\u5012\u8ba1\u65f6",
+ "\u62fc\u56e2\u6d3b\u52a8\u540d\u79f0",
+ "\u5546\u54c1\u6700\u9ad8\u4ef7",
+ "\u5546\u54c1\u6700\u4f4e\u4ef7",
+ "\u62fc\u56e2\u4eba\u6570"
+ ]
+ },
+ loves: true,
+ love_name: "\u7231\u5fc3\u503c",
+ is_open_integral: false
+ };
+ let data = _editData ? _editData : _data;
+ let keywords = data.keywords;
+ let love_name = data.love_name ? data.love_name : "";
+ let loves = data.loves ? data.loves : false;
+ let fight_groups_lottery_set = data.fight_groups_lottery_set ? data.fight_groups_lottery_set : false;
+ let fight_groups_lottery_info = data.fight_groups_lottery_info ? data.fight_groups_lottery_info : {};
+ let is_open_integral = data.is_open_integral ? data.is_open_integral : false;
+ let store_obj = data.has_one_store_cashier ? data.has_one_store_cashier : {};
+
+ if (fight_groups_lottery_set.open_type == 1 && fight_groups_lottery_info.is_open == undefined) {
+ fight_groups_lottery_info.is_open = 1;
+ }
+
+ console.log(fight_groups_lottery_info.is_separate_rules);
+ let form = {
+ goods_id: "",
+ goods_name: "",
+ is_lead: 0,
+ barrage: 0,
+ hide_num: "1",
+ setting: "",
+ share_title: "原价¥<<商品最高价>>,现价¥<<商品最低价>>起,参加<<拼团活动名称>>即可享受",
+ share_content: "活动商品数量有限,先到先得。",
+ desc_title: "我已经参加了<<团长名称>>发起的拼团。",
+ desc_content: "凑足<<拼团人数>>人即可享受拼团优惠,我已经参加,你也来吧。",
+ has_many_level: [],
+ has_many_options: [], //规格
+
+ is_love: 0,
+ love: "",
+ is_balance: 0,
+ balance: "",
+ is_coupon: 0,
+ fight_groups_lottery_info: fight_groups_lottery_info,
+
+ coupon: [], //优惠券
+ business_type: 1,
+ store_id: this.data.store_id,
+ start_time: '',
+ end_time: '',
+ ...data
+ };
+ let has_one_goods = {};
+ let is_edit = false;
+ if (form.id) {
+ if (form.start_time) {
+ form.start_time = parseInt(form.start_time * 1000);
+ }
+ if (form.end_time) {
+ form.end_time = parseInt(form.end_time * 1000);
+ }
+ has_one_goods = {
+ ...form.has_one_goods
+ };
+ if (form.status == 1 || form.status == 0) {
+ is_edit = true;
+ }
+ }
+
+ this.setData({
+ keywords: keywords,
+ form: form,
+ fight_groups_lottery_set: fight_groups_lottery_set,
+ data: data,
+ has_one_goods: has_one_goods,
+ is_edit: is_edit,
+ love_name: love_name,
+ loves: loves,
+ is_open_integral: is_open_integral,
+ store_obj: store_obj
+ });
+ },
+ showTextPopup(){
+ wx.showModal({
+ title: '提示',
+ showCancel: false,
+ content: '勾选此选项则手机端商品详情页底部仅展示“去参团”,不展示“一键开团”',
+ success (res) {
+ if (res.confirm) {
+ console.log('用户点击确定');
+ }
+ }
+ });
+ },
+ showTextPopup1(){
+ wx.showModal({
+ title: '提示',
+ showCancel: false,
+ content: '参与过该活动一次的视为老用户,老用户只允许开团不允许参团。此场景适合设置特价商品,用于鼓励老用户开团,协助店铺拉新。',
+ success (res) {
+ if (res.confirm) {
+ console.log('用户点击确定');
+ }
+ }
+ });
+ },
+ editData() {
+ //获取活动数据
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.fight-groups-store.edit");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ id: that.data.id
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.initFun(res.data);
+ that.setData({
+ start_time: uitil.formatTimeTwo(res.data.start_time, 'Y/M/D h:m:s'),
+ currentStartTime: res.data.start_time*1000,
+ currentEndTime: res.data.end_time*1000
+ });
+ if(res.data.end_time){
+ that.setData({
+ end_time: uitil.formatTimeTwo(res.data.end_time, 'Y/M/D h:m:s')
+ });
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ onChangetitle(event) {
+ this.data.form.title = event.detail;
+ },
+ getCategoryOne() {
+ if (this.data.disableds) {
+ return;
+ }
+ if (this.data.listOne.length > 0) {
+ this.setData({
+ showSearchGood: true
+ });
+ return;
+ }
+ //获取一级分类列表
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.fight-groups-store.get-category");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let category1_list = res.data;
+ let categoryOption1 = that.data.categoryOption1;
+ if (category1_list.length > 0) {
+ category1_list.forEach((val, index) => {
+ categoryOption1.push({
+ text: val.name,
+ value: val.id
+ });
+ });
+ that.getChildCate(1, "", false);
+ }
+ that.setData({
+ categoryOption1,
+ showSearchGood: true
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ onChangeCate(e) {
+ this.setData({
+ kwd: e.detail,
+ });
+ },
+ getChildCate() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.fight-groups-store.search-goods");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ category: that.data.activeCategoryID,
+ goods_name: that.data.kwd,
+ page: that.data.page
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ listOne: res.data.data,
+ isLoadMore: res.data.last_page > 1?true:false,
+ total_page: res.data.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getMore(){
+ this.data.page +=1;
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.fight-groups-store.search-goods");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ category: that.data.activeCategoryID,
+ goods_name: that.data.kwd,
+ page: that.data.page
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let listOne = that.data.listOne.concat(res.data.data);
+ that.setData({
+ listOne: listOne,
+ isLoadMore: that.data.page >= res.data.total_page ?false:true
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ cloneSearchGood() {
+ this.setData({
+ showSearchGood: false
+ });
+ },
+ selectCate1({ detail }) {
+ //一级分类发生变化触发
+ this.data.kwd = "";
+ if (detail) {
+ this.data.activeCategoryID = detail;
+ this.getCategorytwo(detail, true);
+ this.getChildCate();
+ } else {
+ console.log("不限一级分类");
+ this.initData();
+ this.data.activeCategoryID = "";
+ this.getChildCate();
+ }
+ },
+ selectCate2({ detail }) {
+ //二级分类发生变化触发
+ if (detail) {
+ this.data.activeCategoryID = detail;
+ this.getChildCate();
+ } else {
+ console.log("不限二级分类");
+ this.data.activeCategoryID = this.data.category1;
+ this.getChildCate();
+ }
+ },
+ getCategorytwo(_cid, _open) {
+ //获取一级分类的下级分类列表(二级三级)
+ let that = this;
+ let categoryOption2 = [{
+ text: "不限分类",
+ value: 0,
+ child: []
+ }];
+ this.setData({
+ categoryOption2,
+ category2: 0,
+ category2_disabled: true
+ });
+ if (_cid == 0) {
+ return;
+ }
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.fight-groups-store.get-category-json");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ parent_id: _cid,
+ level: 2
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+
+ let category2_list = response.data;
+ let categoryOption2 = that.data.categoryOption2;
+ if (category2_list.length > 0) {
+ category2_list.forEach((val, index) => {
+ categoryOption2.push({
+ text: val.name,
+ value: val.id
+ });
+ });
+ that.setData({
+ categoryOption2,
+ });
+ if (_open) {
+ that.setData({
+ category2_disabled: false
+ });
+ that.selectComponent('#categoryShow2').toggle();
+ }
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ initData() {
+ this.setData({
+ kwd: '',
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ listOne: [],
+ cat_level: 2,
+ category1: 0,
+ category2: 0,
+ category1_disabled: false,
+ category2_disabled: true,
+ categoryOption2: [{
+ text: "不限分类",
+ value: 0,
+ child: []
+ }]
+ });
+ },
+ clickGoodRadio(e) {
+ let data = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index;
+ if(data.has_many_activity_goods_count >= 1){
+ return;
+ }
+ this.setData({
+ goodradio: index,
+ ['has_one_goods.title']: data.title,
+ ['has_one_goods.id']: data.id,
+ ['has_one_goods.thumb']: data.thumb,
+ ['has_one_goods.price']: data.price,
+ ['has_one_goods.stock']: data.stock,
+ ['has_one_goods.sku']: data.sku,
+ });
+ this.data.new_url = false;
+ this.data.has_option = data.has_option; //是否开启规格
+ if (this.data.has_option) {
+ this.setData({
+ ['form.has_many_options']: data.has_many_options //规格
+ });
+ } else {
+ this.setData({
+ ['form.has_many_options']: []
+ });
+ }
+ // 规格价格数据处理
+
+ // if(this.form.has_many_options.length>0) {
+ if (this.data.has_option) {
+ this.data.form.has_many_options.forEach((item, index) => {
+ this.data.form.has_many_options[index].option_price = item.product_price;
+ this.data.form.has_many_options[index].option_id = item.id;
+ this.data.form.has_many_options[index].option_title = item.title;
+ this.data.form.has_many_options[index].has_many_option_level = [];
+ this.data.form.has_many_options[index].buy_limit = "0";
+ this.data.form.has_many_options[index].stock = item.stock;
+ });
+ } else {
+ this.data.form.has_many_options.push({
+ option_title: "单规格",
+ option_price: data.price,
+ stock: data.stock,
+ buy_limit: "0",
+ has_many_option_level: []
+ });
+ }
+ console.log(this.data.form.has_many_options);
+ let form = this.data.form;
+ this.setData({
+ form,
+ ['form.goods_id']: this.data.has_one_goods.id,
+ ['form.goods_name']: this.data.has_one_goods.title,
+ showSearchGood: false
+ });
+ },
+ showTime(e) {
+ let tag = e.currentTarget.dataset.index;
+ if (this.data.disableds) {
+ return;
+ }
+ if (tag == 1) {
+ this.setData({
+ showStartTime: true
+ });
+ }
+ if (tag == 2) {
+ this.setData({
+ showEndTime: true
+ });
+ }
+ },
+ confirmStartTime(value) {
+ this.setData({
+ showStartTime: false,
+ start_time: uitil.formatTimeTwo(value.detail / 1000, 'Y/M/D h:m:s'),
+ ['form.start_time']: parseInt(value.detail / 1000)
+ });
+ },
+ confirmEndtTime(value) {
+ this.setData({
+ showEndTime: false,
+ end_time: uitil.formatTimeTwo(value.detail / 1000, 'Y/M/D h:m:s'),
+ ['form.end_time']: parseInt(value.detail / 1000)
+ });
+ },
+ cancelStartTime() {
+ this.setData({
+ showStartTime: false,
+ start_time: '',
+ ['form.start_time']: ''
+ });
+ },
+ cancelEndtTime() {
+ this.setData({
+ showEndTime: false,
+ end_time: '',
+ ['form.end_time']: ''
+ });
+ },
+ // 新增层级
+ addTier() {
+ if (this.data.form.has_many_level.length >= 3) {
+ wx.showToast({
+ title: '最多可设置3个阶梯',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ let has_many_level = this.data.form.has_many_level;
+ has_many_level.push({
+ level_num: this.data.form.has_many_level.length + 1,
+ member_num: "",
+ expire_in: ""
+ });
+ this.setData({
+ ['form.has_many_level']: has_many_level
+ });
+ },
+ delTier(e) {
+ let index = e.currentTarget.dataset.index;
+ let has_many_level = this.data.form.has_many_level;
+ has_many_level.splice(index, 1);
+ // 层级重新排序
+ has_many_level.forEach((item, index1) => {
+ item.level_num = index1 + 1;
+ });
+ this.setData({
+ ['form.has_many_level']: has_many_level
+ });
+ },
+ changeLevelInput(e) {
+ //修改层级信息
+ let index = e.currentTarget.dataset.index;
+ let tag = e.currentTarget.dataset.tag;
+ if (tag == 'member_num') {
+ this.setData({
+ ['form.has_many_level[' + index + '].member_num']: e.detail.value
+ });
+ } else {
+ this.setData({
+ ['form.has_many_level[' + index + '].expire_in']: e.detail.value
+ });
+ }
+ },
+ onChangeMenu(event) {
+ this.setData({
+ ['form.menu_show']: event.detail
+ });
+ },
+ inputHideNum(event) {
+ this.setData({
+ ['form.hide_num']: event.detail
+ });
+ },
+ onChangeCoupon(event) {
+ this.setData({
+ ['form.is_coupon']: event.detail
+ });
+ },
+ // 打开选择优惠券
+ openCoupon() {
+ this.searchCoupon(1);
+ },
+ onChangeCouInput(e) {
+ this.setData({
+ coupon_keyword: e.detail,
+ });
+ },
+ // 搜索优惠券
+ searchCoupon(tag) {
+ var that = this;
+ if (tag==1&&that.data.coupon_list.length > 0) {
+ this.setData({
+ coupon_show: true
+ });
+ return;
+ }
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.fight-groups-store.coupon");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ keyword: that.data.coupon_keyword
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ coupon_list: res.data,
+ coupon_show: true
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ chooseCoupon(e) {
+ let item = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index + '';
+ let is_true = true;
+ let that = this;
+
+ let coupon = this.data.form.coupon;
+ let coupon_result = that.data.coupon_result;
+ coupon.some((item1, index1) => {
+ if (item1.id == item.id) {
+ is_true = false;
+ coupon.splice(index1, 1);
+ coupon_result.splice(index, 1);
+ that.setData({
+ ['form.coupon']: coupon,
+ coupon_result: coupon_result
+ });
+ return true;
+ }
+ });
+ if (is_true) {
+ coupon.push({
+ id: item.id,
+ name: item.name,
+ coupon_num: "1"
+ });
+ coupon_result.push(index);
+ that.setData({
+ ['form.coupon']: coupon,
+ coupon_result: coupon_result
+ });
+ }
+ },
+ // 删除优惠券
+ delCoupon(e) {
+ let index = e.currentTarget.dataset.index;
+ this.data.form.coupon.splice(index, 1);
+ this.data.coupon_result.splice(index, 1);
+ this.setData({
+ ['form.coupon']: this.data.form.coupon,
+ coupon_result: this.data.coupon_result
+ });
+ },
+ onCloneCoupon() {
+ this.setData({
+ coupon_show: false
+ });
+ },
+ changeCouponInput(e) {
+ //修改层级信息
+ let index = e.currentTarget.dataset.index;
+ this.setData({
+ ['form.coupon[' + index + '].coupon_num']: e.detail.value
+ });
+ },
+ onChangeLead(event) {
+ this.setData({
+ ['form.is_lead']: event.detail
+ });
+ },
+ inputLead(event) {
+ this.setData({
+ ['form.setting']: event.detail
+ });
+ },
+ inputShare(event){
+ let tag = event.currentTarget.dataset.tag;
+ this.setData({
+ startPos: event.detail.cursor,
+ ['form.'+tag]: event.detail.value
+ });
+ },
+ inputblurShare(event){
+ this.setData({
+ startPos: event.detail.cursor,
+ });
+ },
+ // 添加关键词
+ addContent(event) {
+ let name = event.currentTarget.dataset.name;
+ let index = event.currentTarget.dataset.index;
+ let x = event.currentTarget.dataset.num;
+
+ // console.log(name,this.selectComponent('#'+name));
+ // let ref = this.selectComponent('#'+name)
+ // this.$refs[name];
+
+ let words = "";
+ if (x == 1) {
+ words = "<<" + this.data.keywords.share_title[index] + ">>";
+ }
+ if (x == 2) {
+ words = "<<" + this.data.keywords.share_content[index] + ">>";
+ }
+ if (x == 3) {
+ words = "<<" + this.data.keywords.desc_title[index] + ">>";
+ }
+ if (x == 4) {
+ words = "<<" + this.data.keywords.desc_content[index] + ">>";
+ }
+ console.log(words);
+ setTimeout(() => {
+ this.insertInputTxt(name, words, x);
+ }, 200);
+
+ },
+ insertInputTxt(ref, words, x) {
+ // let name = "";
+ // name = this.selectComponent('#'+name).value;
+ var startPos = this.data.startPos;
+ var endPos = this.data.startPos;
+
+ var txt = this.data.form[ref];
+ // const query = wx.createSelectorQuery()
+ // // query.select('#share_title').focus()
+ // console.log('txttxttxttxttxttxttxt',query.select('#share_title'));
+ if (startPos === undefined || endPos === undefined) {
+ startPos = txt.length;
+ endPos= txt.length;
+ console.log('startPos==========',startPos);
+ }
+ var result = txt.substring(0, startPos) + words + txt.substring(endPos);
+ // name.value = result;
+ // name.focus();
+ // name.selectionStart = startPos + words.length;
+ // name.selectionEnd = startPos + words.length;
+ // console.log(name.value);
+ this.setData({
+ startPos:undefined,
+ ['form.'+ref]: result
+ });
+ },
+ // 下一步
+ next() {
+ console.log(this.data.form);
+ if (!this.data.form.title) {
+ wx.showToast({
+ title: '活动标题不能为空!',
+ icon: 'none',
+ duration: 1000
+ });
+ return false;
+ }
+ if (!this.data.has_one_goods.title) {
+ wx.showToast({
+ title: '请选择活动商品!',
+ icon: 'none',
+ duration: 1000
+ });
+ return false;
+ }
+ if (this.data.form.has_many_level.length == 0) {
+ wx.showToast({
+ title: '层级不能为空!',
+ icon: 'none',
+ duration: 1000
+ });
+ return false;
+ }
+ if (!this.data.form.start_time) {
+ wx.showToast({
+ title: '开始时间不能为空!',
+ icon: 'none',
+ duration: 1000
+ });
+ return false;
+ }
+ if (this.data.form.end_time && this.data.form.start_time >= this.data.form.end_time) {
+ wx.showToast({
+ title: '开始时间不能大于或者等于结束时间!',
+ icon: 'none',
+ duration: 1000
+ });
+ return false;
+ }
+ if (this.data.form.menu_show == 1) {
+ if (this.data.form.hide_num < 1) {
+ wx.showToast({
+ title: '展示设置->可参的团数不能少于1',
+ icon: 'none',
+ duration: 1000
+ });
+ return false;
+ }
+ }
+
+ this.data.form.has_many_level.some(item => {
+ if (!item.member_num || !item.expire_in) {
+ wx.showToast({
+ title: '层级信息不完成!',
+ icon: 'none',
+ duration: 1000
+ });
+ return true;
+ } else if (item.member_num == 1) {
+ wx.showToast({
+ title: '拼团人数不能为1',
+ icon: 'none',
+ duration: 1000
+ });
+ return true;
+ } else {
+ this.setData({
+ step:2
+ });
+ }
+ console.log(this.data.step);
+ });
+ // 添加层级价格
+ if (!this.data.form.id) {
+ let has_many_options = this.data.form.has_many_options;
+ if (this.data.has_option) {
+ for (let i = 0; i < has_many_options.length; i++) {
+ has_many_options[i].has_many_option_level = [];
+ }
+ for (let i = 0; i < has_many_options.length; i++) {
+ for (let j = 0; j < this.data.form.has_many_level.length; j++) {
+ has_many_options[i].has_many_option_level.push({ group_price: "", member_num: this.data.form.has_many_level[j].member_num });
+ }
+ }
+ console.log(this.data.form);
+ } else {
+ has_many_options[0].has_many_option_level = [];
+ for (let j = 0; j < this.data.form.has_many_level.length; j++) {
+ has_many_options[0].has_many_option_level.push({ group_price: "0", member_num: this.data.form.has_many_level[j].member_num });
+ }
+ }
+ this.setData({
+ ['form.has_many_options']: has_many_options
+ });
+ }
+ },
+ last() {
+ this.setData({
+ step:1
+ });
+ },
+ changeGroupPrice(event) {
+ let index = event.currentTarget.dataset.index;
+ let index1 = event.currentTarget.dataset.index1;
+ this.setData({
+ ['form.has_many_options[' + index + '].has_many_option_level[' + index1 + '].group_price']: event.detail.value
+ });
+ },
+ changeStock(event) {
+ let index = event.currentTarget.dataset.index;
+ this.setData({
+ ['form.has_many_options[' + index + '].stock']: event.detail.value
+ });
+ },
+ changeLimit(event) {
+ let index = event.currentTarget.dataset.index;
+ this.setData({
+ ['form.has_many_options[' + index + '].buy_limit']: event.detail.value
+ });
+ },
+ submitForm() {
+ var that = this;
+ delete this.data.form.goods_name;
+ delete this.data.form.loves;
+ delete this.data.form.love_name;
+
+ //手机端创建门店拼团活动暂时没有拼团奖励对接 start
+ delete this.data.form.is_open_integral;
+ delete this.data.form.fight_groups_lottery;
+ delete this.data.form.fight_groups_lottery_info;
+ //手机端创建门店拼团活动暂时没有拼团奖励对接 end
+
+ console.log(this.data.form);
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.fight-groups-store.save");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ form_data: that.data.form
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.navigateTo({
+ url: '/packageC/o2o/storeManage/storeManage'
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageC/o2o/createGroup/createGroup.json b/packageC/o2o/createGroup/createGroup.json
new file mode 100644
index 0000000..f1a60f8
--- /dev/null
+++ b/packageC/o2o/createGroup/createGroup.json
@@ -0,0 +1,16 @@
+{
+ "navigationBarTitleText": "创建活动",
+ "usingComponents": {
+ "van-field": "../../../dist/field/index",
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-dropdown-menu": "../../../dist/dropdown-menu/index",
+ "van-dropdown-item": "../../../dist/dropdown-item/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-search": "../../../dist/search/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "van-datetime-picker": "../../../dist/datetime-picker/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/o2o/createGroup/createGroup.wxml b/packageC/o2o/createGroup/createGroup.wxml
new file mode 100644
index 0000000..35cf18f
--- /dev/null
+++ b/packageC/o2o/createGroup/createGroup.wxml
@@ -0,0 +1,295 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ has_one_goods.title }}
+ 库存:{{ has_one_goods.stock }}
+ 价格:¥{{ has_one_goods.price }}
+
+
+
+
+
+
+ PS:结束时间可不填,若不填商品详情页也不展示结束时间;不填则活动不会自动结束,需手动结束!
+
+
+
+ 拼团层级
+ + 新增一个拼团层级
+ 最多可设置3个阶梯
+
+
+
+ 层级
+ 拼团人数
+ 拼团时间
+ 操作
+
+
+ 暂无数据
+
+ {{ item.level_num }}
+ 人
+ 小时
+ 删除
+
+
+
+
+
+ 展示设置
+
+ 隐藏开关
+
+
+ 当可参的团数达到
+ 时,隐藏开团按钮
+
+ 团长福利
+
+ 团长送优惠券
+
+
+
+
+ + 选择优惠券
+
+
+ {{ item.name }}
+ 赠送 张
+ 删除
+
+
+
+
+
+ 老拉新
+
+ 开启老拉新
+
+
+
+
+
+ 活动分享
+
+ 标题
+
+
+
+
+
+ 点击添加数据
+
+ {{ item }}
+
+
+
+
+ 商家说明
+
+
+
+
+
+ 点击添加数据
+
+ {{ item }}
+
+
+
+
+ 活动详情分享
+ 标题
+
+
+
+
+
+ 点击添加数据
+
+ {{ item }}
+
+
+
+
+ 商家说明
+
+
+
+
+
+ 点击添加数据
+
+ {{ item }}
+
+
+
+
+ 下一步
+
+
+
+
+
+
+ 规格
+ 原价(元)
+ 拼团价格
+ 活动库存
+ 限购件数(0为不限购)
+
+
+
+
+ {{ item.option_title }}
+ {{ item.option_price }}
+
+
+ {{ item1.member_num }}人团 元
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上一步
+ 保存
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+ ID:{{ item.id }}
+ 库存:{{ item.stock }}
+
+ ¥{{ item.price }}
+
+
+
+
+
+
+ 加载更多
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+
+
+
+
+
+
+ ¥{{ item.deduct }}
+
+ 满{{ item.enough }}可用
+
+
+ {{ item.discount }}折
+
+ 满{{ item.enough }}立享
+
+
+
+
+ {{ item.name }}
+ 剩余数量:{{ item.total - item.enough > 0 ? item.total - item.enough : 0 }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageC/o2o/createGroup/createGroup.wxss b/packageC/o2o/createGroup/createGroup.wxss
new file mode 100644
index 0000000..b6670f7
--- /dev/null
+++ b/packageC/o2o/createGroup/createGroup.wxss
@@ -0,0 +1,537 @@
+@charset "UTF-8";
+
+#createGroup .upload-img-box {
+ padding: 20rpx;
+ display: flex;
+ background: #fff;
+ border-bottom: 1rpx solid #f5f5f5;
+}
+
+#createGroup .upload-img-box .selest-goods {
+ display: flex;
+ width: 100%;
+}
+
+#createGroup .upload-img-box .selest-goods image {
+ width: 124rpx;
+ height: 124rpx;
+ margin: 0 28rpx 0 0;
+}
+
+#createGroup .upload-img-box .selest-goods .goods-right {
+ flex: 1;
+ text-align: left;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ overflow: hidden;
+}
+
+#createGroup .upload-img-box .selest-goods .goods-right .g-titles {
+ font-size: 24rpx;
+ color: #666;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+.search-good-class {
+ display: flex;
+ flex-direction: column;
+}
+
+.search-good-class .classic {
+ background: #fff;
+}
+
+.search-good-class .big-title {
+ font-size: 40rpx;
+ color: #000;
+ font-weight: bold;
+ text-align: left;
+ padding: 28rpx 28rpx 0;
+}
+
+.search-good-class .search-goodlist {
+ text-align: left;
+ flex: 1;
+ overflow: scroll;
+}
+
+.search-good-class .search-goodlist .search-goodlist-main-right {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.search-good-class .search-goodlist .search-goodlist-main {
+ display: flex;
+ flex: 1;
+ margin-left: 28rpx;
+ margin-bottom: 20rpx;
+}
+
+.search-good-class .search-goodlist .search-goodlist-main image {
+ width: 200rpx;
+ height: 200rpx;
+ margin: 0 28rpx 0 0;
+ border-radius: 16rpx;
+}
+
+.search-good-class .search-goodlist .search-goodlist-main .good-title {
+ line-height: 40rpx;
+ color: #000;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.search-good-class .search-goodlist .search-goodlist-main .good-other {
+ display: flex;
+ justify-content: space-between;
+ font-size: 24rpx;
+}
+
+.search-good-class .search-goodlist .search-goodlist-main .good-price {
+ color: #ff2c29;
+ font-weight: bold;
+}
+
+.file-diystyle {
+ display: flex;
+ background: #fff;
+ align-items: center;
+ line-height: 0.75rem;
+ padding: 0.3125rem 0.5rem;
+ color: #646566;
+}
+
+.coupon_list .shopCoupon {
+ margin: 16rpx 28rpx;
+ width: 630rpx;
+ box-shadow: 1rpx 4rpx 14rpx 6rpx rgba(81, 81, 81, 0.52);
+ position: relative;
+ margin-bottom: 32rpx;
+}
+
+.coupon_list .shopCoupon .shopCouponNew {
+ width: 630rpx;
+ height: 216rpx;
+ display: flex;
+}
+
+.goodchild .van-radio__label {
+ flex: 1;
+ padding-right: 1rem;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .left {
+ width: 264rpx;
+ height: 216rpx;
+ position: relative;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .left .postLeft {
+ position: absolute;
+ right: 0.5rem;
+ top: 0;
+ width: 265rpx;
+ height: 218rpx;
+ background-repeat: no-repeat;
+ background-size: cover;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .left .postLeft .line {
+ width: 204rpx;
+ border: dashed 1rpx #f5f5f5;
+ margin-left: 19rpx;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .left .postLeft .Chapter_number {
+ font-size: 19rpx;
+ color: #fff;
+ position: absolute;
+ top: 11rpx;
+ left: 19rpx;
+ width: 64rpx;
+ text-align: center;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .left .postLeft .textOne {
+ font-size: 52rpx;
+ color: #fff;
+ margin-top: 25.6rpx;
+ margin-bottom: 19.2rpx;
+ word-break: break-all;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .left .postLeft .textTwo {
+ font-size: 22.08rpx;
+ line-height: 26.88rpx;
+ color: #fff;
+ margin-top: 23.04rpx;
+ margin-bottom: 16rpx;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .left .postLeft .tapBox {
+ width: 149.12rpx;
+ height: 42.88rpx;
+ background-color: #fff;
+ border-radius: 13.76rpx;
+ line-height: 46.08rpx;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .left .postLeft .tapBox span {
+ color: #fba560;
+ font-size: 25.28px;
+ letter-spacing: 2.56px;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .right {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ text-align: left;
+ padding: 24rpx 28rpx 24rpx 0;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .right .coupon_name {
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.coupon_list .shopCoupon .shopCouponNew .right .coupon_total {
+ font-size: 24rpx;
+}
+
+#createGroup .text {
+ font-size: 20rpx;
+ color: #f36f6f;
+ padding: 20rpx;
+ text-align: left;
+ background: #fff;
+ margin-bottom: 20rpx;
+}
+
+#createGroup .btn-class {
+ padding: 0 8rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ border: solid 1rpx #f14e4e;
+ display: block;
+ font-size: 24rpx;
+ border-radius: 4rpx;
+}
+
+#createGroup .bg-color {
+ background: #f14e4e;
+ color: #fff;
+}
+
+#createGroup .add-margin {
+ margin: 0 20rpx;
+}
+
+#createGroup .small-text {
+ font-size: 24rpx;
+ color: #999;
+}
+
+#createGroup .del-color,
+#createGroup .icon-ht_tips {
+ color: #f14e4e;
+}
+
+#createGroup .level-box {
+ padding: 0 30rpx;
+ background: #fff;
+}
+
+#createGroup .level-box .add-level {
+ border-bottom: 1rpx solid #ebebeb;
+}
+
+#createGroup .level-box .add-level .add-level-title {
+ height: 52rpx;
+ line-height: 52rpx;
+ background-color: #f3f3f3;
+ display: flex;
+}
+
+#createGroup .level-box .add-level .w20 {
+ width: 20%;
+}
+
+#createGroup .level-box .add-level .w30 {
+ width: 30%;
+ display: flex;
+ align-items: center;
+}
+
+#createGroup .level-box .add-level .no-blank {
+ padding: 28rpx 0;
+}
+
+#createGroup .level-box .add-level .level-edit {
+ display: flex;
+ align-items: center;
+ color: #202020;
+ height: 100rpx;
+ line-height: 100rpx;
+}
+
+#createGroup .level-box .add-level .level-edit input {
+ width: 120rpx;
+ height: 40rpx;
+ border: solid 1rpx #999;
+}
+
+#createGroup .big-titel {
+ display: flex;
+ align-items: center;
+ width: 100%;
+ height: 100rpx;
+ line-height: 100rpx;
+ font-size: 30rpx;
+}
+
+#createGroup .coupon-box {
+ display: flex;
+ font-size: 24rpx;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ background: #fff;
+}
+
+#createGroup .coupon-box .select-btn {
+ width: 160rpx;
+ margin: 20rpx 0;
+}
+
+#createGroup .coupon-box .coupon-list {
+ width: 100%;
+ padding: 0 30rpx;
+}
+
+#createGroup .coupon-box .coupon-list .coupon-child {
+ display: flex;
+ align-items: center;
+ width: 100%;
+ height: 68rpx;
+ flex-wrap: nowrap;
+}
+
+#createGroup .coupon-box .coupon-list .coupon-child .coupon-name {
+ padding: 0 8rpx;
+ width: 172rpx;
+ height: 46rpx;
+ background-color: #e6e6e6;
+ border-radius: 4rpx;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+#createGroup .coupon-box .coupon-list .coupon-child .coupon-num {
+ flex: 1;
+ text-align: left;
+ padding: 0 20rpx;
+ display: flex;
+ align-items: center;
+}
+
+#createGroup .coupon-box .coupon-list .coupon-child .coupon-num input {
+ width: 120rpx;
+ height: 40rpx;
+ border: solid 1rpx #999;
+}
+
+#createGroup .coupon-box .coupon-list .coupon-child .coupon-del {
+ width: 20%;
+}
+
+#createGroup .share-config {
+ padding: 0 30rpx 32rpx;
+ background: #fff;
+}
+
+#createGroup .share-config .config-title {
+ height: 76rpx;
+ line-height: 76rpx;
+ text-align: left;
+}
+
+#createGroup .share-config .config-content {
+ border: 1rpx solid #eaeaea;
+}
+
+#createGroup .share-config .add-confid {
+ margin: 16rpx 0;
+ display: flex;
+}
+
+#createGroup .share-config .add-confid .add-btn {
+ flex: 1;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+#createGroup .share-config .add-confid .add-btn .btn-class {
+ color: #f14e4e;
+ margin-left: 16rpx;
+ margin-bottom: 16rpx;
+}
+
+#createGroup .next-btn {
+ width: 612rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ background-color: #f14e4e;
+ margin: 32rpx auto;
+ color: #fff;
+ text-align: center;
+}
+
+.btn-main {
+ display: flex;
+ justify-content: space-around;
+}
+
+.btn-main .next-btn {
+ width: 300rpx;
+}
+
+#createGroup #groupDataStatistics {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ overflow-x: scroll;
+ background: #fff;
+}
+
+#createGroup #groupDataStatistics .list {
+ display: flex;
+ align-items: center;
+ margin-bottom: 20rpx;
+ background: #fff;
+ width: fit-content;
+ padding: 20rpx 0;
+}
+
+#createGroup #groupDataStatistics .list .list-small {
+ width: 156rpx;
+ flex-shrink: 0;
+}
+
+#createGroup #groupDataStatistics .list .list-big {
+ flex-shrink: 0;
+ width: 316rpx;
+}
+
+#createGroup #groupDataStatistics .list .list-child {
+ margin: 16rpx 0;
+}
+
+#createGroup #groupDataStatistics .list .list-child input {
+ width: 144rpx;
+ height: 40rpx;
+ border: solid 1rpx #999;
+}
+
+#createGroup #groupDataStatistics .list-main {
+ max-height: 70vh;
+ overflow: scroll;
+}
+
+#createGroup #groupDataStatistics .line {
+ height: 90rpx;
+ line-height: 90rpx;
+ margin: 0;
+ padding: 0;
+}
+
+#createGroup #groupDataStatistics .line .list-small,
+#createGroup #groupDataStatistics .line .list-big {
+ background: #f5f5f5;
+}
+
+.checkbox-box {
+ position: relative;
+ display: flex;
+ box-sizing: border-box;
+ width: 100%;
+ padding: 10px 16px;
+ font-size: 14px;
+ line-height: 24px;
+ background-color: #fff;
+ color: #646566;
+}
+
+.checkbox-box::after {
+ position: absolute;
+ box-sizing: border-box;
+ transform-origin: center;
+ content: " ";
+ pointer-events: none;
+ right: 16px;
+ bottom: 0;
+ left: 16px;
+ border-bottom: 1px solid #ebedf0;
+ transform: scaleY(0.5);
+}
+
+.checkbox-box .label-box {
+ width: 172rpx;
+}
+
+.checkbox-box .checkbox-main {
+ display: flex;
+ align-items: center;
+}
+
+.checkbox-box .checkbox-main icon {
+ margin-left: 10rpx;
+ margin-top: -10rpx;
+}
+
+.config-content textarea {
+ min-height: 36px;
+}
+
+.good-more-btn {
+ padding: 30rpx 0 20rpx;
+ font-size: 30rpx;
+ text-align: center;
+ color: #999;
+}
+
+.disableds-input {
+ background: #e4e7ed;
+ border: none !important;
+ color: #c0c4cc;
+}
diff --git a/packageC/o2o/groupDataStatistics/groupDataStatistics.js b/packageC/o2o/groupDataStatistics/groupDataStatistics.js
new file mode 100644
index 0000000..ab6c130
--- /dev/null
+++ b/packageC/o2o/groupDataStatistics/groupDataStatistics.js
@@ -0,0 +1,94 @@
+// packageC/o2o/groupDataStatistics/groupDataStatistics.js
+let app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ list:[],
+ id:null
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.id) {
+ this.setData({
+ id: options.id
+ });
+ }
+ this.getData();
+ },
+
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.fight-groups-store.data-statistics");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: this.data.id
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ list: res.data
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+});
\ No newline at end of file
diff --git a/packageC/o2o/groupDataStatistics/groupDataStatistics.json b/packageC/o2o/groupDataStatistics/groupDataStatistics.json
new file mode 100644
index 0000000..0bae677
--- /dev/null
+++ b/packageC/o2o/groupDataStatistics/groupDataStatistics.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "数据统计",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/o2o/groupDataStatistics/groupDataStatistics.wxml b/packageC/o2o/groupDataStatistics/groupDataStatistics.wxml
new file mode 100644
index 0000000..813232c
--- /dev/null
+++ b/packageC/o2o/groupDataStatistics/groupDataStatistics.wxml
@@ -0,0 +1,22 @@
+
+
+
+ 规格
+ 成团销量
+ 库存
+ 销量明细
+
+
+
+ {{ item.option_title }}
+ {{ item.num }}
+ {{ item.stock }}
+
+
+ {{ child.member_num }}人团 系统成团:{{ child.purchase_quantity_system }}
+ 虚拟成团:{{ child.purchase_quantity_virtual }}
+
+
+
+
+
diff --git a/packageC/o2o/groupDataStatistics/groupDataStatistics.wxss b/packageC/o2o/groupDataStatistics/groupDataStatistics.wxss
new file mode 100644
index 0000000..ab2cf34
--- /dev/null
+++ b/packageC/o2o/groupDataStatistics/groupDataStatistics.wxss
@@ -0,0 +1,59 @@
+/* packageC/o2o/groupDataStatistics/groupDataStatistics.wxss */
+#groupDataStatistics .list {
+ display: flex;
+ width: 100%;
+ background: #fff;
+ align-items: center;
+ text-align: center;
+}
+
+#groupDataStatistics .list .list-25 {
+ width: 25%;
+}
+
+#groupDataStatistics .list .list-18 {
+ width: 18%;
+}
+
+#groupDataStatistics .list .list-17 {
+ width: 17%;
+}
+
+#groupDataStatistics .list .list-40 {
+ width: 40%;
+}
+
+#groupDataStatistics .list .list-40 .list-child {
+ display: flex;
+ flex-direction: column;
+ text-align: right;
+ margin-bottom: 8rpx;
+}
+
+#groupDataStatistics .list .list-40 .list-child .list-child-margin {
+ margin-bottom: 8rpx;
+}
+
+#groupDataStatistics .line {
+ position: relative;
+ height: 90rpx;
+ line-height: 90rpx;
+}
+
+#groupDataStatistics .line::after {
+ height: 1rpx;
+ position: absolute;
+ z-index: 0;
+ bottom: 0;
+ left: 0;
+ content: "";
+ width: 100%;
+ background-image: linear-gradient(0deg, #ececec 50%, transparent 0);
+}
+
+#groupDataStatistics .list-main .list {
+ padding: 20rpx;
+ margin-bottom: 20rpx;
+ text-align: center;
+ box-sizing: border-box;
+}
diff --git a/packageC/o2o/o2oCategory/o2oCategory.js b/packageC/o2o/o2oCategory/o2oCategory.js
new file mode 100644
index 0000000..1551374
--- /dev/null
+++ b/packageC/o2o/o2oCategory/o2oCategory.js
@@ -0,0 +1,200 @@
+// pages/o2oCategory/o2oCategory.js
+var location = require("../../../mybehaviors/location/location");
+
+var app = getApp();
+Page({
+ behaviors: [location],
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ id: "",
+ city: "",
+ point: {
+ lat: "",
+ lng: "",
+ },
+ page: 1,
+ total_page: 0,
+ stores: [],
+ loading: false,
+ allLoaded: false,
+ isLoadMore: true,
+ openTemplate: 0 //门店列表样式
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ console.log(options);
+ if(options.name){
+ this.setData({
+ title:options.name
+ });
+ wx.setNavigationBarTitle({
+ title: options.name,
+ });
+ }
+ if (options.id) {
+ this.setData({
+ id: options.id,
+ });
+ }
+ if (options.city) {
+ this.setData({
+ city: options.city,
+ point: JSON.parse(options.point),
+ });
+ this.getStoresByCategoryIdLngAndLat();
+ } else {
+ this._getLocation(() => {this.getStoresByCategoryIdLngAndLat();});
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getStoresByCategoryIdLngAndLat() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.store.get-store-list-by-category-id-to-page"
+ );
+ let point = app.qqMapTransBMap(
+ parseFloat(this.data.point.lng),
+ parseFloat(this.data.point.lat)
+ );
+ if (!point.lng) {
+ (point.lng = ""), (point.lat = "");
+ }
+ urlStr += "&category_id=" + this.data.id;
+ urlStr += "&lng=" + point.lng;
+ urlStr += "&lat=" + point.lat;
+ urlStr += "&city_name=" + this.data.city;
+ urlStr += "&page=" + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ stores: res.data.data,
+ openTemplate: res.data.store_list_style || 0
+ });
+ if (res.data.last_page) {
+ that.setData({
+ total_page: res.data.last_page,
+ });
+ } else if (res.data.lastPage) {
+ that.setData({
+ total_page: res.data.lastPage,
+ });
+ }
+ } else {
+ that.setData({
+ stores: [],
+ });
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ setTimeout(() => {
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getMoreData() {
+ var that = this;
+ if (this.data.page == this.data.total_page) {
+ return;
+ }
+ if (this.data.page >= this.data.total_page) {
+ that.setData({
+ loading: true,
+ allLoaded: true,
+ });
+ return;
+ } else {
+ this.setData({
+ page: this.data.page + 1,
+ });
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.store.get-store-list-by-category-id-to-page"
+ );
+ let point = app.qqMapTransBMap(
+ parseFloat(this.data.point.lng),
+ parseFloat(this.data.point.lat)
+ );
+ urlStr += "&category_id=" + this.data.id;
+ urlStr += "&lng=" + point.lng;
+ urlStr += "&lat=" + point.lat;
+ urlStr += "&city_name=" + this.data.city;
+ urlStr += "&page=" + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ loading: false,
+ allLoaded: false,
+ });
+ let stores = that.data.stores;
+ that.setData({
+ stores: stores.concat(res.data.data),
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ loading: true,
+ allLoaded: true,
+ isLoadMore: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+});
diff --git a/packageC/o2o/o2oCategory/o2oCategory.json b/packageC/o2o/o2oCategory/o2oCategory.json
new file mode 100644
index 0000000..da34f58
--- /dev/null
+++ b/packageC/o2o/o2oCategory/o2oCategory.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "搜索",
+ "usingComponents": {
+ "cStoreList": "../../mycomponent/storeList/storeList"
+ }
+}
diff --git a/packageC/o2o/o2oCategory/o2oCategory.wxml b/packageC/o2o/o2oCategory/o2oCategory.wxml
new file mode 100644
index 0000000..81c680f
--- /dev/null
+++ b/packageC/o2o/o2oCategory/o2oCategory.wxml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/packageC/o2o/o2oCategory/o2oCategory.wxss b/packageC/o2o/o2oCategory/o2oCategory.wxss
new file mode 100644
index 0000000..0976625
--- /dev/null
+++ b/packageC/o2o/o2oCategory/o2oCategory.wxss
@@ -0,0 +1 @@
+/* pages/o2oCategory/o2oCategory.wxss */
diff --git a/packageC/o2o/o2oCity/o2oCity.js b/packageC/o2o/o2oCity/o2oCity.js
new file mode 100644
index 0000000..8d27f8a
--- /dev/null
+++ b/packageC/o2o/o2oCity/o2oCity.js
@@ -0,0 +1,447 @@
+// pages/o2oCity/o2oCity.js
+var QQMapWX = require('../../../mymap/qqmap-wx-jssdk.min.js');
+var qqmapsdk;
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ city: '',
+ suggestion: [],
+ suggestion1: [],
+ suggestionshow1: false,
+ suggestionshow: false,
+ address_detail: '',
+ address_latitude: '',
+ address_longitude: '',
+ mksData: [],
+ markers: [],
+ mapmessageData: {
+ title: '',
+ message: '',
+ latitude: '',
+ longitude: '',
+ city: ''
+ },
+ scaleData: 16,
+ mapshow: false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if(options.id){
+ this.setData({
+ id:options.id
+ });
+ }
+ if(!app.globalData.qqmapkey) {
+ app._getTemplate().then(res => {
+ qqmapsdk = new QQMapWX({
+ key: app.globalData.qqmapkey
+ });
+ if (options.tag) {
+ this.setData({
+ tag: options.tag
+ });
+ }
+ if (options.city) {
+ this.setData({
+ city: options.city
+ });
+ }
+ this._getLocation();
+ });
+ }else {
+ qqmapsdk = new QQMapWX({
+ key: app.globalData.qqmapkey
+ });
+ if (options.tag) {
+ this.setData({
+ tag: options.tag
+ });
+ }
+ if (options.city) {
+ this.setData({
+ city: options.city
+ });
+ }
+ this._getLocation();
+ }
+
+ },
+ _getLocation() {
+ let _this = this;
+
+ qqmapsdk.getSuggestion({
+ //获取输入框值并设置keyword参数
+ keyword: _this.data.city, //用户输入的关键词,可设置固定值,如keyword:'KFC'
+ region: _this.data.city, //设置城市名,限制关键词所示的地域范围,非必填参数
+ sig: app.globalData.qqmapsig,
+ success: function(res) { //搜索成功后的回调
+ var sug = [];
+ for (var i = 0; i < res.data.length; i++) {
+ sug.push({ // 获取返回结果,放到sug数组中
+ title: res.data[i].title,
+ id: res.data[i].id,
+ addr: res.data[i].address,
+ city: res.data[i].city,
+ district: res.data[i].district,
+ latitude: res.data[i].location.lat,
+ longitude: res.data[i].location.lng
+ });
+ }
+ _this.setData({ //设置suggestion属性,将关键词搜索结果以列表形式展示
+ suggestion1: sug,
+ suggestionshow1: true
+ });
+ },
+ fail: function(error) {
+ console.error(error);
+ },
+ complete: function(res) {
+
+ }
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ goback() {
+ wx.navigateBack({
+ delta: 1
+ });
+ this.setData({
+ mapshow: false,
+ address_detail: '',
+ suggestionshow1: true
+ });
+ },
+ searchconfirmbtn(e) {
+ var val = e.detail.value;
+ this.addressinp(val);
+ },
+ addressinpbtn(e) {
+ var val = e.detail.value;
+ this.addressinp(val);
+ },
+ addressinp(val) {
+ var _this = this;
+ if (!val) {
+ this.setData({
+ suggestionshow: false
+ });
+ return;
+ }
+ //调用关键词提示接口
+ qqmapsdk.getSuggestion({
+ //获取输入框值并设置keyword参数
+ keyword: val, //用户输入的关键词,可设置固定值,如keyword:'KFC'
+ region: _this.data.city, //设置城市名,限制关键词所示的地域范围,非必填参数
+ sig: app.globalData.qqmapsig,
+ success: function(res) { //搜索成功后的回调
+ var sug = [];
+ for (var i = 0; i < res.data.length; i++) {
+ sug.push({ // 获取返回结果,放到sug数组中
+ title: res.data[i].title,
+ id: res.data[i].id,
+ addr: res.data[i].address,
+ city: res.data[i].city,
+ district: res.data[i].district,
+ latitude: res.data[i].location.lat,
+ longitude: res.data[i].location.lng
+ });
+ }
+ _this.setData({ //设置suggestion属性,将关键词搜索结果以列表形式展示
+ suggestion: sug,
+ suggestionshow: true
+ });
+ },
+ fail: function(error) {
+ console.error(error);
+ },
+ complete: function(res) {
+
+ }
+ });
+ },
+ //点击数据回填方法
+ backfill1: function(e) {
+ console.log(e.currentTarget.id,"e.currentTarget.id");
+ var id = e.currentTarget.id;
+ for (var i = 0; i < this.data.suggestion1.length; i++) {
+ if (i == id) {
+ this.setData({
+ address_detail: this.data.suggestion1[i].title,
+ address_latitude: this.data.suggestion1[i].latitude,
+ address_longitude: this.data.suggestion1[i].longitude,
+ 'mapmessageData.title': this.data.suggestion1[i].title,
+ 'mapmessageData.message': this.data.suggestion1[i].addr,
+ 'mapmessageData.latitude': this.data.suggestion1[i].latitude,
+ 'mapmessageData.longitude': this.data.suggestion1[i].longitude,
+ 'mapmessageData.city': this.data.suggestion1[i].city,
+ suggestionshow1: false,
+ mapshow: true
+ });
+ this.nearby_search();
+ }
+ }
+ },
+ //数据回填方法
+ backfill: function(e) {
+ console.log(e.currentTarget.id,"e.currentTarget.id");
+ var id = e.currentTarget.id;
+ for (var i = 0; i < this.data.suggestion.length; i++) {
+ if (i == id) {
+ this.setData({
+ address_detail: this.data.suggestion[i].title,
+ address_latitude: this.data.suggestion[i].latitude,
+ address_longitude: this.data.suggestion[i].longitude,
+ 'mapmessageData.title': this.data.suggestion[i].title,
+ 'mapmessageData.message': this.data.suggestion[i].addr,
+ 'mapmessageData.latitude': this.data.suggestion[i].latitude,
+ 'mapmessageData.longitude': this.data.suggestion[i].longitude,
+ 'mapmessageData.city': this.data.suggestion[i].city,
+ suggestionshow: false,
+ mapshow: true
+ });
+ this.nearby_search();
+ }
+ }
+ },
+ // 事件触发,调用接口
+ nearby_search: function() {
+ var _this = this;
+ // 调用接口
+ qqmapsdk.search({
+ keyword: this.data.address_detail, //搜索关键词
+ location: {
+ latitude: this.data.address_latitude,
+ longitude: this.data.address_longitude
+ }, //设置周边搜索中心点
+ sig: app.globalData.qqmapsig,
+ success: function(res) { //搜索成功后的回调
+ // console.log('ccccc', res)
+ var mks = [];
+ var mksData = [];
+ for (var i = 0; i < res.data.length; i++) {
+ mks.push({ // 获取返回结果,放到mks数组中
+ title: res.data[i].title,
+ id: res.data[i].id,
+ latitude: res.data[i].location.lat,
+ longitude: res.data[i].location.lng,
+ iconPath: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //图标路径
+ width: 20,
+ height: 25,
+ callout: {
+ padding: '10rpx',
+ borderRadius: '5rpx',
+ content: res.data[i].title
+ }
+ });
+ mksData.push({
+ address: res.data[i].address,
+ title: res.data[i].title,
+ latitude: res.data[i].location.lat,
+ longitude: res.data[i].location.lng,
+ id: res.data[i].id,
+ city: res.data[i].ad_info.city ? res.data[i].ad_info.city : res.res.data[i].ad_info.province
+ });
+ }
+ _this.setData({ //设置markers属性,将搜索结果显示在地图中
+ markers: mks,
+ mksData: mksData
+ });
+ },
+ fail: function(res) {
+ console.log(res);
+ },
+ complete: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getmarkertap(e) {
+ let markerId = e.markerId;
+ for (var i = 0; i < this.data.mksData.length; i++) {
+ let id = this.data.mksData[i].id;
+ if (markerId == id) {
+ this.setData({
+ 'mapmessageData.title': this.data.mksData[i].title,
+ 'mapmessageData.message': this.data.mksData[i].address,
+ 'mapmessageData.latitude': this.data.mksData[i].latitude,
+ 'mapmessageData.longitude': this.data.mksData[i].longitude,
+ 'mapmessageData.city': this.data.mksData[i].city
+ });
+ }
+ }
+ },
+ addbtn() {
+ let mapCtx = wx.createMapContext('myMap');
+ let that = this;
+ mapCtx.getScale({
+ success: function(e) {
+ let scale = e.scale;
+ that.setData({
+ scaleData: scale + 1
+ });
+ }
+ });
+ },
+ minusbtn() {
+ let mapCtx = wx.createMapContext('myMap');
+ let that = this;
+ mapCtx.getScale({
+ success: function(e) {
+ let scale = e.scale;
+ that.setData({
+ scaleData: scale - 1
+ });
+ }
+ });
+ },
+ buttonbtn() {
+ if(this.data.tag == 'activityHome' || this.data.tag == 'activitySearch' || this.data.tag == 'activitySort'){
+ wx.setStorage({
+ key: "address-point",
+ data: { point: { lat: this.data.mapmessageData.latitude, lng: this.data.mapmessageData.longitude }, city: this.data.mapmessageData.city }
+ });
+ }else if(this.data.tag == 'storeConsume'){
+ wx.setStorage({
+ key: "address-point",
+ data: { point: { lat: this.data.mapmessageData.latitude, lng: this.data.mapmessageData.longitude }, city: this.data.mapmessageData.message }
+ });
+ }else if(this.data.tag && this.data.tag.indexOf("project_verification")!==-1){
+ wx.setStorage({
+ key: "address-point",
+ data: { point: { lat: this.data.mapmessageData.latitude, lng: this.data.mapmessageData.longitude }, city: this.data.mapmessageData.message }
+ });
+ switch(this.data.tag){
+ case "project_verification/MyProject":
+ wx.reLaunch({
+ url: '/packageH/project_verification/MyProject/MyProject?location_change=1&Location='+JSON.stringify(this.data.mapmessageData),
+ });
+ break;
+ case "project_verification/VerificationProjectList":
+ wx.reLaunch({
+ url: '/packageH/project_verification/VerificationProjectList/VerificationProjectList?location_change=1',
+ });
+ break;
+ }
+ return;
+ }else{
+ wx.setStorage({
+ key: "address-point",
+ data: { point: { lat: this.data.mapmessageData.latitude, lng: this.data.mapmessageData.longitude }, city: this.data.mapmessageData.city }
+ });
+ }
+ wx.setStorage({
+ key: "address-status",
+ data: '1'
+ });
+ if (this.data.tag == "hotel") {
+ wx.reLaunch({
+ url: '/packageC/hotel/HotelIndex/HotelIndex?addressData=' + JSON.stringify(this.data.mapmessageData)
+ });
+ } else if (this.data.tag == "home") {
+ wx.reLaunch({
+ url: '/packageG/index/index?addressData=' + JSON.stringify(this.data.mapmessageData)
+ });
+ } else if (this.data.tag == "diy") {
+ let urls = wx.getStorageSync('diyurl');
+ wx.reLaunch({
+ url:urls
+ });
+ } else if (this.data.tag == "easyRefuel") {
+ wx.reLaunch({
+ url: '/packageD/easyRefuel/easyRefuel'
+ });
+ } else if(this.data.tag == 'activityHome'){
+ wx.reLaunch({
+ url: '/packageC/Myshaky/activityHome/activityHome?addressData=' + JSON.stringify(this.data.mapmessageData),
+ });
+ } else if(this.data.tag == 'activitySearch'){
+ wx.reLaunch({
+ url: '/packageC/Myshaky/activityHome/activityHome?addressData=' + JSON.stringify(this.data.mapmessageData),
+ });
+ } else if(this.data.tag == 'activitySort'){
+ wx.navigateBack({
+ delta: 2,
+ });
+ } else if(this.data.tag == "appointment"){
+ wx.reLaunch({
+ url: '/packageE/appointment/appointment_index'
+ });
+ } else if(this.data.tag == "communityStore"){
+ wx.reLaunch({
+ url: '/packageH/o2o/communityStore/communityStore'
+ });
+ } else if(this.data.tag == "communityStoreDetails"){
+ let urls = wx.getStorageSync('communityStoreDetailsUrl');
+ wx.reLaunch({
+ url: urls
+ });
+ } else if(this.data.tag == "storeConsume"){
+ wx.reLaunch({
+ url: '/packageH/o2o/storeConsumeIndex/storeConsumeIndex?addressData=' + JSON.stringify(this.data.mapmessageData) + '&id='+this.data.id
+ });
+ } else if(this.data.tag == "tagCloud"){
+ wx.navigateBack({
+ delta: 2
+ });
+ } else {
+ wx.reLaunch({
+ url: '/packageC/o2o/o2oHome/o2oHome?addressData=' + JSON.stringify(this.data.mapmessageData)
+ });
+ }
+ }
+});
diff --git a/packageC/o2o/o2oCity/o2oCity.json b/packageC/o2o/o2oCity/o2oCity.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageC/o2o/o2oCity/o2oCity.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/o2o/o2oCity/o2oCity.wxml b/packageC/o2o/o2oCity/o2oCity.wxml
new file mode 100644
index 0000000..9739cd8
--- /dev/null
+++ b/packageC/o2o/o2oCity/o2oCity.wxml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+ {{ city }}
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+ {{item.title}}----{{item.addr}}
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+ {{mapmessageData.title}}
+
+
+ 地址:{{mapmessageData.message}}
+
+
+
+
+ 使用该地址
+
+
+
+
+
diff --git a/packageC/o2o/o2oCity/o2oCity.wxss b/packageC/o2o/o2oCity/o2oCity.wxss
new file mode 100644
index 0000000..91cf38d
--- /dev/null
+++ b/packageC/o2o/o2oCity/o2oCity.wxss
@@ -0,0 +1,157 @@
+/* pages/o2oCity/o2oCity.wxss */
+.position {
+ background-color: #fff;
+ display: flex;
+ justify-content: space-between;
+ height: 90rpx;
+ align-items: center;
+ padding: 0 20rpx;
+}
+
+.position .left {
+ display: flex;
+ align-items: center;
+}
+
+.position .left .leftcontent {
+ display: flex;
+ align-items: center;
+ padding-bottom: 10rpx;
+}
+
+.position .left .rightcontent {
+ display: flex;
+ align-items: center;
+}
+
+.position .left .icon {
+ color: #666;
+ font-size: 32rpx;
+ margin-right: 8rpx;
+}
+
+.position .left .span {
+ font-size: 28rpx;
+ width: 128rpx;
+ text-align: left;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: flex;
+ align-items: center;
+}
+
+.position .search_box {
+ display: flex;
+ justify-content: flex-start;
+ padding: 0 20rpx;
+ width: 400rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ border-radius: 32rpx;
+ background-color: #f5f5f5;
+}
+
+.search_box icon {
+ color: #999;
+ font-size: 32rpx;
+ margin-top: -5rpx;
+}
+
+.search_box input {
+ border: none;
+ margin-left: 20rpx;
+ max-width: 360rpx;
+ height: 100%;
+ flex: 1;
+}
+
+.position .right {
+ line-height: 90rpx;
+ min-width: 80rpx;
+ font-size: 30rpx;
+ color: #8c8c8c;
+}
+
+.seachboxBottom {
+ position: absolute;
+ z-index: 1024;
+ background-color: #fefefe;
+ border: 1px solid #d1d1d1;
+ width: 60%;
+ overflow: hidden;
+ top: 90rpx;
+ left: 200rpx;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+}
+
+.seachboxBottom .seachboxContent {
+ padding-top: 5rpx;
+ padding-bottom: 5rpx;
+}
+
+.ten {
+ position: absolute;
+ right: 20rpx;
+ bottom: 50rpx;
+ z-index: 500;
+ width: 70rpx;
+ background-color: white;
+ border-radius: 6rpx;
+ border: 2rpx solid #ccc;
+ box-shadow: 2rpx 2rpx 20rpx 0 #ccc;
+}
+
+.ten .ten_l {
+ margin: auto;
+ font-size: 52rpx;
+ line-height: 86rpx;
+ text-align: center;
+ color: #666;
+ height: 100%;
+}
+
+.mapmessage {
+ display: flex;
+ padding: 10rpx;
+ justify-content: space-between;
+}
+
+.mapmessage .left {
+ width: 500rpx;
+}
+
+.mapmessage .left .bottom {
+ color: #999;
+}
+
+.mapmessage .right {
+ width: 200rpx;
+ overflow: hidden;
+ padding-top: 20rpx;
+}
+
+.mapmessage .right .button {
+ border: 1px solid #eee;
+ width: 198rpx;
+ height: 58rpx;
+ line-height: 58rpx;
+ border-radius: 10rpx;
+ text-align: center;
+ background: #09bb07;
+ color: #fff;
+ font-size: 28rpx;
+}
+
+.address-list {
+ background: #fff;
+ text-align: left;
+ padding: 10rpx 20rpx;
+}
+
+.address-list-item {
+ min-height: 64rpx;
+ padding: 5rpx 0;
+ border-bottom: 1px solid #eee;
+}
diff --git a/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.js b/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.js
new file mode 100644
index 0000000..15a92d0
--- /dev/null
+++ b/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.js
@@ -0,0 +1,324 @@
+// packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.js
+let app = getApp();
+import util from '../../../utils/util';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ keywords:'',
+ store_id: 0,
+ activeName: 0,
+ titleArr: ['全部活动', '未开始', '活动中', '已结束'],
+ dataList: [],
+
+ showEndP: false,
+ cloneIndex: 0,
+ has_many_level: {},
+ activeItem: {},
+ activeID:0,
+ posterShow:false,
+
+ showShare: false,
+ options: [
+ { name: '分享好友', icon: 'wechat', openType: 'share' },
+ { name: '分享海报', icon: 'poster' },
+ ],
+
+ isLoadMore: true
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ this.setNewArr();
+ },
+ setNewArr() {
+ this.data.titleArr.forEach((val, index) => {
+ this.data.dataList.push({
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ list: []
+ });
+ });
+ console.log("dataList:::", this.data.dataList);
+ this.handleClick();
+ },
+ clickShare(e){
+ this.setData({
+ activeItem:e.target.dataset.item,
+ activeID:e.target.dataset.item.id,
+ showShare:true
+ });
+ },
+ onClose(){
+ this.setData({
+ showShare:false
+ });
+ },
+ onSelect(event){
+ if(event.detail.name=='分享海报'){
+ this.setData({
+ posterShow:true
+ });
+ }
+ },
+ tabClick(e){
+ this.setData({
+ activeName:e.detail.index
+ });
+ this.handleClick();
+ },
+ handleClick() {
+ let that = this;
+ if (this.data.dataList[this.data.activeName].list.length > 0) {
+ return;
+ }
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.fight-groups-store.index");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: this.data.activeName,
+ store_id: this.data.store_id,
+ page:this.data.page,
+ title: this.data.keywords
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ ['dataList[' + that.data.activeName + '].isLoadMore']: true,
+ ['dataList[' + that.data.activeName + '].total_page']: res.data.last_page,
+ ['dataList[' + that.data.activeName + '].list']: res.data.data
+ });
+ for (let index = 0; index < that.data.dataList[that.data.activeName].list.length; index++) {
+ let start_time = util.formatTime(new Date(that.data.dataList[that.data.activeName].list[index].start_time * 1000));
+ let end_time = util.formatTime(new Date(that.data.dataList[that.data.activeName].list[index].end_time * 1000));
+ that.setData({
+ ['dataList[' + that.data.activeName + '].list[' + index + '].start_time']: start_time,
+ ['dataList[' + that.data.activeName + '].list[' + index + '].end_time']: end_time,
+ });
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ onSearch(){
+ this.setData({
+ ['dataList[' + this.data.activeName + '].list']: []
+ });
+ this.handleClick();
+ },
+ onChange(e) {
+ this.setData({
+ keywords: e.detail,
+ });
+ },
+ closeEndP() {
+ this.setData({
+ showEndP: false
+ });
+ },
+ endGrouplist(e) {
+ this.setData({
+ cloneIndex: e.currentTarget.dataset.index,
+ has_many_level: e.currentTarget.dataset.item.has_many_level,
+ showEndP: true
+ });
+ },
+ toDataStatistics(e) {
+ let id = e.currentTarget.dataset.id;
+ if (id) {
+ wx.navigateTo({
+ url: '/packageC/o2o/groupDataStatistics/groupDataStatistics?id=' + id
+ });
+ }
+ },
+ toOpenGroupList(e) {
+ let id = e.currentTarget.dataset.id;
+ if (id) {
+ wx.navigateTo({
+ url: '/packageC/o2o/openGroupList/openGroupList?id=' + id+'&store_id=' + this.data.store_id
+ });
+ }
+ },
+ createActivity(){
+ wx.navigateTo({
+ url: '/packageC/o2o/createGroup/createGroup?store_id=' + this.data.store_id
+ });
+ },
+ editActivity(e){
+ let _id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageC/o2o/createGroup/createGroup?store_id=' + this.data.store_id+'&id=' + _id
+ });
+ },
+ closelevel(e){
+ let {num,id,index} = e.currentTarget.dataset;
+ let that = this;
+ wx.showModal({
+ title: '提示',
+ content: `是否手动结束${num}人团`,
+ success (res) {
+ if (res.confirm) {
+ that.closelevelFun(num,id,index);
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ },
+ closelevelFun(num,id,index){
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.fight-groups-store.close-level");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: id
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ if (res.result == 1) {
+ that.setData({
+ ['dataList[' + that.data.activeName + '].list['+ that.data.cloneIndex +'].has_many_level['+ index+'].status']: 2,
+ ['has_many_level[' + index+'].status']: 2
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.dataList[this.data.activeName].isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+ _getMoreData() {
+ let that = this;
+ this.setData({
+ ['dataList[' + that.data.activeName + '].isLoadMore']: false
+ });
+ if (this.data.dataList[this.data.activeName].page >= this.data.dataList[this.data.activeName].total_page) {
+ return;
+ } else {
+ this.data.dataList[this.data.activeName].page = this.data.dataList[this.data.activeName].page + 1;
+ let urlStr = app.getNetAddresss('plugin.fight-groups.frontend.store.fight-groups-store.index');
+ urlStr += "&page=" + this.data.dataList[this.data.activeName].page;
+
+ app._getNetWork({
+ url: urlStr,
+ data:{
+ status: that.data.activeName,
+ store_id: that.data.store_id,
+ page:that.data.page,
+ title: that.data.keywords
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data;
+ that.setData({
+ ['dataList[' + that.data.activeName + '].isLoadMore']: true,
+ ['dataList[' + that.data.activeName + '].list']: that.data.dataList[that.data.activeName].list.concat(myData.data)
+ });
+ }else{
+ that.setData({
+ ['dataList[' + that.data.activeName + '].isLoadMore']: false,
+ ['dataList[' + that.data.activeName + '].page']: that.data.dataList[that.data.activeName].page -1
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function (e) {
+ var value = wx.getStorageSync('yz_uid');
+ var mid = '';
+ if (value) {
+ mid = value;
+ }
+ let _params ={
+ title: '门店拼团',
+ path: '/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist?mid=' + mid
+ };
+ if(JSON.stringify(this.data.activeItem) != "{}"&&e.from=="button"){
+ _params.title= this.data.activeItem.title,
+ _params.path= '/packageA/detail_v2/detail_v2?id=' + this.data.activeItem.id + '/'+this.data.store_id+'&name=group'+'&mid=' + mid,
+ _params.imageUrl=this.data.activeItem.has_one_goods.thumb;
+ }
+ this.data.goodshare_info={};
+ return _params;
+
+ }
+});
\ No newline at end of file
diff --git a/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.json b/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.json
new file mode 100644
index 0000000..20ad3fc
--- /dev/null
+++ b/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.json
@@ -0,0 +1,12 @@
+{
+ "navigationBarTitleText": "门店拼团",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index",
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-search": "../../../dist/search/index",
+ "van-share-sheet": "../../../dist/share-sheet/index",
+ "o2ogroup-qrcode":"../../mycomponent/o2ogroup_qrcode/o2ogroup_qrcode"
+ }
+}
\ No newline at end of file
diff --git a/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.wxml b/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.wxml
new file mode 100644
index 0000000..f8c4de4
--- /dev/null
+++ b/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.wxml
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+ {{ item.status == 0 ? '未开始' : item.status == 1 ? '活动中' : '已结束' }}
+ 编号:{{ item.id }}
+ 编辑
+
+
+ {{ item.title }}
+
+ 开始时间:{{ item.start_time }}
+ 手动结束
+
+
+
+
+ {{ item.has_one_goods.title }}
+
+
+
+
+ 活动推广
+
+
+
+ 数据统计
+
+
+
+ 开团列表
+
+
+
+
+
+ 暂无开团数据...
+
+
+
+
+
+ 拼团层级
+ 成员时间
+ 状态
+ 操作
+
+
+
+ {{ item.member_num }}人团
+ {{ item.expire_in }}小时
+
+ {{ item.status == 0 ? '未开始' : item.status == 1 ? '活动中' : '已结束' }}
+
+
+ 手动结束
+
+
+ 已结束
+
+
+
+
+
+
+
+
+
+
+
+
+ 创建
+
+
+
+
\ No newline at end of file
diff --git a/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.wxss b/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.wxss
new file mode 100644
index 0000000..d93accb
--- /dev/null
+++ b/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.wxss
@@ -0,0 +1,206 @@
+/* packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist.wxss */
+#o2oGroup_activitylist .content {
+ background: #f5f5f5;
+}
+
+#o2oGroup_activitylist .content .li {
+ padding: 0 30rpx;
+ margin-bottom: 20rpx;
+ background: #fff;
+ text-align: left;
+}
+
+#o2oGroup_activitylist .content .li .top-box {
+ height: 84rpx;
+ line-height: 84rpx;
+ display: flex;
+ align-items: center;
+}
+
+#o2oGroup_activitylist .content .li .top-box .avtive-name {
+ padding: 0 20rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ background-color: #949494;
+ border-radius: 4rpx;
+ overflow: hidden;
+ font-size: 24rpx;
+ color: #fff;
+}
+
+#o2oGroup_activitylist .content .li .top-box .Numbering {
+ flex: 1;
+ text-align: left;
+ margin: 0 20rpx;
+}
+
+#o2oGroup_activitylist .content .li .top-box .edit-btn {
+ color: #f14e4e;
+}
+
+#o2oGroup_activitylist .content .li .activity .activity-title {
+ height: 80rpx;
+ line-height: 40rpx;
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+#o2oGroup_activitylist .content .li .activity .activity-box {
+ display: flex;
+ margin: 20rpx 0;
+}
+
+#o2oGroup_activitylist .content .li .activity .activity-box .activity-time {
+ flex: 1;
+ color: #666;
+ font-size: 24rpx;
+}
+
+#o2oGroup_activitylist .content .li .activity .activity-box .activity-end-btn {
+ padding: 0 20rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ background-color: #f14e4e;
+ border-radius: 4rpx;
+ color: #fff;
+ font-size: 24rpx;
+}
+
+#o2oGroup_activitylist .content .li .operate-box {
+ display: flex;
+ align-items: center;
+ padding: 20rpx 0;
+ border-top: 1rpx solid #f2f2f2;
+}
+
+#o2oGroup_activitylist .content .li .operate-box .operate-child {
+ flex: 1;
+ text-align: center;
+ color: #888;
+ height: 32rpx;
+ line-height: 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#o2oGroup_activitylist .content .li .operate-box .operate-child icon {
+ font-size: 28rpx;
+ margin-right: 10rpx;
+}
+
+#o2oGroup_activitylist .content .li .operate-box .line {
+ border-right: 1rpx solid #c8c8c8;
+ border-left: 1rpx solid #c8c8c8;
+}
+
+#o2oGroup_activitylist .content .li .operate-box .operate-child icon::before {
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.blank {
+ margin: 32rpx 0;
+ display: block;
+ text-align: center;
+}
+
+.goods-box {
+ display: flex;
+ padding: 20rpx 0;
+ border-top: 1rpx solid #f2f2f2;
+ border-bottom: 1rpx solid #f2f2f2;
+}
+
+.goods-box image {
+ width: 100rpx;
+ height: 100rpx;
+ margin-right: 20rpx;
+}
+
+.goods-box .good-title {
+ line-height: 40rpx;
+ height: 80rpx;
+ flex: 1;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.EndP-box {
+ width: 100%;
+ max-height: 640rpx;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+ background: #fff;
+ border-radius: 32rpx;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.EndP-box .EndP-box-title {
+ height: 96rpx;
+ line-height: 96rpx;
+ display: flex;
+ align-items: center;
+}
+
+.EndP-box .EndP-box-title .EndP-box-title-child {
+ width: 25%;
+}
+
+.EndP-box .EndP-box-title .end-btn {
+ width: 110rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ background-color: #f14e4e;
+ border-radius: 4rpx;
+ color: #fff;
+}
+
+.EndP-box .EndP-box-main {
+ flex: 1;
+ overflow-y: scroll;
+}
+
+.close-btn {
+ position: absolute;
+ bottom: 30rpx;
+ left: 50%;
+ margin-left: -32rpx;
+}
+
+.close-btn icon {
+ width: 64rpx;
+ height: 64rpx;
+ font-size: 80rpx;
+ color: #fff;
+}
+
+.fixed-btn {
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 50%;
+ background-color: #f14e4e;
+ position: fixed;
+ bottom: 224rpx;
+ left: 50%;
+ transform: translateX(224rpx);
+ color: #fff;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ box-shadow:
+ 0 4rpx 24rpx 0.4rpx
+ rgba(154, 154, 154, 0.95);
+}
diff --git a/packageC/o2o/o2oGrouplist/o2oGrouplist.js b/packageC/o2o/o2oGrouplist/o2oGrouplist.js
new file mode 100644
index 0000000..dc0a816
--- /dev/null
+++ b/packageC/o2o/o2oGrouplist/o2oGrouplist.js
@@ -0,0 +1,211 @@
+// packageC/o2o/o2oGrouplist/o2oGrouplist.js
+var app = getApp();
+var location = require("../../../mybehaviors/location/location");
+
+Page({
+ behaviors: [location],
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ showLocation: false,
+ activeName: 0,
+ isLoading: false,
+ dataList: [{
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ list: []
+ },
+ {
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ list: []
+ }
+ ],
+ isLoadMore: true,
+ titleArr: ["离我最近", "好评优先"],
+
+ lat: 0,
+ lng: 0,
+ city: '',
+ point: {
+ lat: '',
+ lng: ''
+ },
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.city && options.city !== '1') {
+ if (options.city) {
+ this.setData({
+ city: options.city
+ });
+ }
+ if (options.point) {
+ this.setData({
+ point: JSON.parse(options.point)
+ });
+ }
+ this.handleClick();
+ } else {
+ this._getLocation(() => {this.handleClick();});
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+ tabClick(e) {
+ this.setData({
+ activeName: e.detail.index
+ });
+ this.handleClick();
+ },
+ handleClick() {
+ let that = this;
+ if (this.data.dataList[that.data.activeName].list.length > 0) {
+ that.data.isLoadMore = this.data.dataList[that.data.activeName].isLoadMore;
+ return;
+ }
+
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.store-fight-arrondi.get-fight-groups");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: 1,
+ type_id: that.data.activeName + 1,
+ lng: that.data.point.lng,
+ lat: that.data.point.lat
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ ['dataList[' + that.data.activeName + '].isLoadMore']: true,
+ ['dataList[' + that.data.activeName + '].total_page']: res.data.last_page,
+ ['dataList[' + that.data.activeName + '].list']: res.data.data
+ });
+
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ goGroup(e) {
+ let id = e.currentTarget.dataset.id;
+ let storeid = e.currentTarget.dataset.storeid;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + id + '/' + storeid + '&name=group'
+ });
+ },
+ gotoO2oHome(e){
+ let storeid = e.currentTarget.dataset.storeid;
+ wx.navigateTo({
+ url: '/packageC/o2o/HomeSeller/HomeSeller?store_id=' + storeid
+ });
+ },
+
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.dataList[this.data.activeName].isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+ _getMoreData() {
+ let that = this;
+ this.setData({
+ ['dataList[' + that.data.activeName + '].isLoadMore']: false
+ });
+ if (this.data.dataList[this.data.activeName].page >= this.data.dataList[this.data.activeName].total_page) {
+ return;
+ } else {
+ this.data.dataList[this.data.activeName].page = this.data.dataList[this.data.activeName].page + 1;
+ let urlStr = app.getNetAddresss('plugin.fight-groups.frontend.store.store-fight-arrondi.get-fight-groups');
+ urlStr += "&page=" + this.data.dataList[this.data.activeName].page;
+
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: that.data.page,
+ type_id: that.data.activeName + 1,
+ lng: that.data.lng,
+ lat: that.data.lat
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data;
+ that.setData({
+ ['dataList[' + that.data.activeName + '].isLoadMore']: true,
+ ['dataList[' + that.data.activeName + '].list']: that.data.dataList[that.data.activeName].list.concat(myData.data)
+ });
+ } else {
+ that.setData({
+ ['dataList[' + that.data.activeName + '].isLoadMore']: false,
+ ['dataList[' + that.data.activeName + '].page']: that.data.dataList[that.data.activeName].page - 1
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+});
\ No newline at end of file
diff --git a/packageC/o2o/o2oGrouplist/o2oGrouplist.json b/packageC/o2o/o2oGrouplist/o2oGrouplist.json
new file mode 100644
index 0000000..c5247c8
--- /dev/null
+++ b/packageC/o2o/o2oGrouplist/o2oGrouplist.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "门店开团列表",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/o2o/o2oGrouplist/o2oGrouplist.wxml b/packageC/o2o/o2oGrouplist/o2oGrouplist.wxml
new file mode 100644
index 0000000..fa33d51
--- /dev/null
+++ b/packageC/o2o/o2oGrouplist/o2oGrouplist.wxml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+ {{ item.store_name || "---" }}
+ {{ item.distance }}{{ item.unit }}
+
+
+
+
+ {{ item.title }}
+
+ ¥{{ item.has_many_option_levels[0].group_price }}
+ ¥{{ item.has_one_goods.price }}
+
+
+ {{ item.has_many_option_levels[0].member_num }}人
+ 去开团
+
+
+
+
+ 暂无数据...
+
+
+
+
diff --git a/packageC/o2o/o2oGrouplist/o2oGrouplist.wxss b/packageC/o2o/o2oGrouplist/o2oGrouplist.wxss
new file mode 100644
index 0000000..2c5a7dc
--- /dev/null
+++ b/packageC/o2o/o2oGrouplist/o2oGrouplist.wxss
@@ -0,0 +1,131 @@
+/* packageC/o2o/o2oGrouplist/o2oGrouplist.wxss */
+#o2o_grouplist {
+ padding-top: 40px 0 80px;
+ text-align: left;
+}
+
+#o2o_grouplist .content {
+ padding: 16rpx 28rpx;
+}
+
+#o2o_grouplist .content .list {
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+ padding: 24rpx;
+ border-radius: 20rpx;
+ margin-bottom: 24rpx;
+}
+
+#o2o_grouplist .content .list .list-top {
+ widows: 100%;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+#o2o_grouplist .content .list .list-top .o2o-img {
+ width: 60rpx;
+ height: 60rpx;
+ background-color: #fe5e56;
+ border-radius: 50%;
+}
+
+#o2o_grouplist .content .list .list-top .o2o-name {
+ flex: 1;
+ padding: 16rpx;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+#o2o_grouplist .content .list .list-top .distance {
+ color: #666;
+ font-size: 10px;
+}
+
+#o2o_grouplist .content .list .goods-info {
+ display: flex;
+ padding-top: 24rpx;
+}
+
+#o2o_grouplist .content .list .goods-info .goods-img {
+ width: 152rpx;
+ height: 152rpx;
+ background-color: #fac337;
+ border-radius: 12rpx;
+ margin: 0 16rpx 0 0;
+ flex-shrink: 0;
+}
+
+#o2o_grouplist .content .list .goods-info .goods-right {
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+#o2o_grouplist .content .list .goods-info .goods-right .goods-title {
+ width: 100%;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+#o2o_grouplist .content .list .goods-info .goods-right .goods-price {
+ display: flex;
+ align-items: center;
+ color: #f14e4e;
+}
+
+#o2o_grouplist .content .list .goods-info .goods-right .goods-price .small-price {
+ margin-left: 24rpx;
+ color: #999;
+ font-size: 10px;
+}
+
+#o2o_grouplist .content .list .goods-info .goods-right .goods-other {
+ display: flex;
+ font-size: 12px;
+ justify-content: space-between;
+}
+
+#o2o_grouplist .content .list .goods-info .goods-right .goods-other .goods-num {
+ color: #fb8615;
+}
+
+#o2o_grouplist .content .list .goods-info .goods-right .goods-other .goods-num icon {
+ font-size: 12px;
+ margin-right: 2px;
+ display: inline-flex;
+}
+
+#o2o_grouplist .content .list .goods-info .goods-right .goods-other .goods-btn {
+ width: 120rpx;
+ height: 48rpx;
+ line-height: 48rpx;
+ text-align: center;
+ color: #fff;
+ background-color: #fe5e56;
+ border-radius: 4rpx;
+}
+
+.blank {
+ width: 100%;
+ padding: 36rpx 0;
+ text-align: center;
+ color: #999;
+}
diff --git a/packageC/o2o/o2oHome/o2oHome.js b/packageC/o2o/o2oHome/o2oHome.js
new file mode 100644
index 0000000..b785f26
--- /dev/null
+++ b/packageC/o2o/o2oHome/o2oHome.js
@@ -0,0 +1,424 @@
+// pages/o2oHome/o2oHome.js
+var location = require("../../../mybehaviors/location/location");
+
+var app = getApp();
+Page({
+ behaviors: [location],
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ address: "",
+ point: {
+ lat: "",
+ lng: "",
+ },
+ city: "",
+ page: 1,
+ ads: [],
+ total_page: 0,
+ category: [],
+ loading: false,
+ isLoadMore: true,
+ stores: [],
+ carousels: [],
+ bannerData: [],
+ // 选项卡
+ shop: "",
+ is_open: 0,
+ Height: 0,
+ LastHeight: 0,
+
+ hot_arrondi:{},//热门团购模块信息
+ plugin_name:'拓客卡',
+ openTemplate: 0, //门店列表样式
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.mid) {
+ app._setMid(options.mid);
+ }
+ if (options.addressData) {
+ let addressData = JSON.parse(options.addressData);
+ this.setData({
+ "point.lat": addressData.latitude,
+ "point.lng": addressData.longitude,
+ address: addressData.title,
+ title: addressData.title,
+ city: addressData.city,
+ });
+ this.getStorePage();
+ } else {
+ this._getLocation((res) => {
+ let address_on = wx.getStorageSync('address-point');
+ this.setData({
+ address:address_on.city
+ });
+ this.getStorePage();
+ },(err)=>{
+ this.getStorePage();
+ });
+ }
+ // console.log(this.data.city)
+ },
+ imgHeight: function (e) {
+ var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
+ var imgh = e.detail.height; //图片高度
+ var imgw = e.detail.width; //图片宽度
+ var swiperH = (winWid * imgh) / imgw + "px"; //等比设置swiper的高度。 即 屏幕宽度 / swiper高度 = 图片宽度 / 图片高度 ==》swiper高度 = 屏幕宽度 * 图片高度 / 图片宽度
+ if (parseInt(swiperH) > this.data.LastHeight) {
+ this.setData({
+ Height: swiperH, //设置高度
+ });
+ this.data.LastHeight = parseInt(swiperH);
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ this.storeList = this.selectComponent("#storeList");
+ this.business = this.selectComponent("#business");
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ // if (!this.data.loading) {
+ if (this.data.stores.length > 0 && !this.data.is_open) {
+ this.storeList.getMoreStores();
+ }
+ if (this.data.shop && this.data.is_open) {
+ this.business.getMoreList();
+ }
+ // this.getMoreData();
+ // } else {
+ // console.log("没有更多了");
+ // }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline: function () {
+ let value = wx.getStorageSync("yz_uid");
+ let mid = "";
+ if (value) {
+ mid = value;
+ }
+ return {
+ title: "",
+ path: "packageC/o2o/o2oHome/o2oHome?mid=" + mid,
+ // query: `mid=${mid}`
+ };
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ var value = wx.getStorageSync("yz_uid");
+ var mid = "";
+ if (value) {
+ mid = value;
+ }
+ return {
+ path: "/packageC/o2o/o2oHome/o2oHome?mid=" + mid,
+ };
+ },
+
+ getStores(data) {
+ this.setData({
+ total_page: data.last_page,
+ });
+ if (!this.data.total_page) {
+ this.setData({
+ total_page: 0,
+ });
+ }
+
+ if (data.total <= 0 || data.current_page == data.last_page) {
+ this.setData({
+ isLoadMore: false,
+ });
+ }
+ this.setData({
+ stores: data.data,
+ });
+ },
+ getStoresCategory() {
+ var that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.store-category.get-list"
+ );
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ category: res.data ? res.data : [],
+ });
+ let category_10 = that.chunk(that.data.category, 10);
+ that.setData({
+ category_10: category_10,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //默认首页数据
+ _indexData(data) {
+ this.setData({
+ bannerData: data.banner,
+ carousels: data.carousels ? data.carousels : [],
+ ads: data.advs,
+ });
+ },
+ chunk(arr, n) {
+ var result = [];
+ for (var i = 0, len = arr.length; i < len; i += n) {
+ result.push(arr.slice(i, i + n));
+ }
+ return result;
+ },
+ getMoreData() {
+ var that = this;
+ if (this.data.page == this.data.total_page) {
+ return;
+ }
+ if (this.data.page >= this.data.total_page) {
+ that.setData({
+ loading: true,
+ });
+ return;
+ } else {
+ this.setData({
+ page: this.data.page + 1,
+ });
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.store.get-store-list-to-page"
+ );
+ let point = app.qqMapTransBMap(
+ parseFloat(that.data.point.lng),
+ parseFloat(that.data.point.lat)
+ );
+ urlStr += "&kwd=";
+ urlStr += "&lng=" + (point.lng ? point.lng : "");
+ urlStr += "&lat=" + (point.lat ? point.lat : "");
+ urlStr += "&city_name=" + this.data.city;
+ urlStr += "&page=" + this.data.page;
+ urlStr += "&is_aggregation=1";
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data;
+ that.setData({
+ loading: false,
+ });
+
+ if (myData.current_page >= myData.last_page) {
+ that.setData({
+ loading: true
+ });
+ }
+ that.setData({
+ stores: that.data.stores.concat(myData.data)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ loading: true,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ tolocation() {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation/o2oLocation'
+ });
+ },
+ //banner点击
+ bannerClick(e) {
+ let item = e.currentTarget.dataset.item;
+ if(item&&item.min_url){
+ this.goUrl(item.min_url);
+ }else{
+ wx.showToast({
+ title: '请设置链接',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ },
+ goUrl(url) {
+ if (url) {
+ try {
+ wx.navigateTo({
+ url: url
+ });
+ } catch (e) {
+ wx.showToast({
+ title: '链接设置错误:' + url,
+ icon: 'none',
+ duration: 2000
+ });
+ //TODO handle the exception
+ }
+ }
+ },
+ tosearch() {
+ if (!this.data.city) {
+ wx.showToast({
+ icon: 'none',
+ title: '请先选择城市',
+ duration: 1000
+ });
+ return;
+ }
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oSearch/o2oSearch?city=' + this.data.city + '&point=' + JSON.stringify(this.data.point)
+ });
+ },
+ getStorePage() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.store.get-store-page");
+ let point = app.qqMapTransBMap(parseFloat(that.data.point.lng), parseFloat(that.data.point.lat));
+ if(!point.lng){
+ point.lng = '',
+ point.lat = '';
+ }
+ // console.log(point)
+ that.setData({
+ page: 1
+ });
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ kwd: "",
+ lng: point.lng,
+ lat: point.lat,
+ city_name: that.data.city,
+ page: that.data.page
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.store_list) {
+ that.getStores(res.data.store_list);
+ console.log("gggggggggggggggg",res.data.store_list_style);
+ that.setData({
+ openTemplate: res.data.store_list_style || 0
+ });
+ }else{
+ that.setData({
+ stores: []
+ });
+ }
+ if(res.data.customer_development){
+ // 拓客卡插件开启
+ that.setData({
+ customer: res.data.customer_development,
+ plugin_name:res.data.customer_development_name
+ });
+ }
+ that.setData({
+ category: res.data.category_list ? res.data.category_list : [],
+ hot_arrondi: res.data.hot_arrondi||{}
+ });
+ let category_10 = that.chunk(that.data.category, 10);
+ that.setData({
+ category_10: category_10
+ });
+ that._indexData(res.data.get_default);
+ that.getShopData(res.data.get_tab);
+ } else {
+ that.setData({
+ stores: [],
+ page: 1
+ });
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getShopData(data) {
+ this.setData({
+ shop: data
+ });
+ for (let val of this.data.shop) {
+ if (val.is_open) {
+ this.setData({
+ is_open: val.is_open
+ });
+ break;
+ }
+ }
+ console.log(this.data.is_open,"is_open");
+ },
+ gotoGrouplist(){
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oGrouplist/o2oGrouplist'
+ });
+ },
+ toDetail(e){
+ let id = e.currentTarget.dataset.id;
+ let storeid = e.currentTarget.dataset.storeid;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + id +'/'+storeid+ '&name=group'
+ });
+ },
+ tocustomer(e){
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + id
+ });
+ },
+ tokerSetMeal(){
+ wx.navigateTo({
+ url: '/packageH/toker/tokerIndex/tokerIndex?city='+this.data.city+"&point="+JSON.stringify(this.data.point),
+ });
+ }
+});
diff --git a/packageC/o2o/o2oHome/o2oHome.json b/packageC/o2o/o2oHome/o2oHome.json
new file mode 100644
index 0000000..9eea195
--- /dev/null
+++ b/packageC/o2o/o2oHome/o2oHome.json
@@ -0,0 +1,7 @@
+{
+ "usingComponents": {
+ "cMent": "../../mycomponent/o2oment/o2oment",
+ "cStoreList": "../../mycomponent/storeList/storeList",
+ "showbusiness": "../../mycomponent/business/business"
+ }
+}
diff --git a/packageC/o2o/o2oHome/o2oHome.wxml b/packageC/o2o/o2oHome/o2oHome.wxml
new file mode 100644
index 0000000..26a29bf
--- /dev/null
+++ b/packageC/o2o/o2oHome/o2oHome.wxml
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+ {{address || '全国'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看更多
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ ¥ {{ item.has_many_option_levels[0].group_price }}
+
+
+
+
+
+
+
+
+
+
+ {{plugin_name}}
+ 查看更多
+
+
+
+
+
+
+
+ {{item.name}}
+ ¥{{item.pricenow}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageC/o2o/o2oHome/o2oHome.wxss b/packageC/o2o/o2oHome/o2oHome.wxss
new file mode 100644
index 0000000..a378e7d
--- /dev/null
+++ b/packageC/o2o/o2oHome/o2oHome.wxss
@@ -0,0 +1,279 @@
+/* pages/o2oHome/o2oHome.wxss */
+.all {
+ background: #fff;
+}
+
+.search_box .search {
+ height: 88rpx;
+ line-height: 88rpx;
+ display: flex;
+ justify-content: space-between;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 0 28rpx;
+ background-color: #fff;
+}
+
+.search_box .search .left {
+ font-size: 30rpx;
+ display: flex;
+}
+
+.search_box .search .left icon {
+ color: #999;
+ font-size: 32rpx;
+}
+
+.search_box .search .left .span {
+ display: block;
+ margin: 0 8rpx;
+ max-width: 120rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #999;
+}
+
+.search_box .search .left icon:last-child {
+ font-size: 36rpx;
+}
+
+.search_box .search .right {
+ width: 460rpx;
+ height: 60rpx;
+ background: #f5f5f5;
+ display: flex;
+ line-height: 60rpx;
+ border-radius: 32rpx;
+ padding: 0 20rpx;
+ font-size: 28rpx;
+}
+
+.search_box .search .right icon {
+ font-size: 36rpx;
+ color: #999;
+ margin-right: 12rpx;
+ margin-top: -5rpx;
+}
+
+.search_box .search .right input {
+ display: block;
+ border: none;
+ width: 100%;
+ height: 100%;
+}
+
+.c_swipe image {
+ width: 100%;
+}
+
+.oads {
+ display: flex;
+
+ /* margin-top: 16rpx;
+ margin-bottom: 16rpx; */
+}
+
+.oads .oads-right {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ margin: 9rpx;
+}
+
+.oads .oads-right image {
+ width: 48%;
+ height: 30vw;
+ padding: 1px;
+ border-radius: 18rpx;
+}
+
+.oads-img {
+ margin: 0 16rpx;
+}
+
+.oads-img image {
+ width: 100%;
+}
+
+.ment {
+ background: #fff;
+ padding-top: 28rpx;
+}
+
+#o2o_group_cart .main {
+ display: flex;
+ flex-direction: column;
+}
+
+#o2o_group_cart .main .boxTop {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0.875rem;
+}
+
+#o2o_group_cart .main .boxTop .boxIcon {
+ height: 1.25rem;
+ line-height: 1.25rem;
+ color: #424242;
+}
+
+#o2o_group_cart .main .boxTop .boxIcon image {
+ height: 1.25rem;
+ object-fit: contain;
+}
+
+#o2o_group_cart .main .boxTop .topRight {
+ color: #666;
+ font-size: 12px;
+}
+
+#o2o_group_cart .main .boxTop .topRight icon {
+ font-size: 12px;
+ display: inline-flex;
+}
+
+#o2o_group_cart .main .boxList {
+ padding: 0 0.875rem 0.875rem;
+ display: flex;
+}
+
+#o2o_group_cart .main .boxList .boxlis {
+ display: flex;
+ flex-direction: column;
+ width: 6.875rem;
+ margin-left: 0.5rem;
+}
+
+#o2o_group_cart .main .boxList .boxlis .listT {
+ width: 6.875rem;
+ height: 6.875rem;
+ background-color: #e3e3e3;
+ border-radius: 0.5rem;
+ overflow: hidden;
+}
+
+#o2o_group_cart .main .boxList .boxlis .listT image {
+ width: 100%;
+ height: 100%;
+ object-fit: contain;
+}
+
+#o2o_group_cart .main .boxList .boxlis .listB {
+ padding-top: 0.75rem;
+ text-align: left;
+}
+
+#o2o_group_cart .main .boxList .boxlis .listB .listBtitle {
+ width: 100%;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+#o2o_group_cart .main .boxList .boxlis .listB .listBPrice {
+ color: #f14e4e;
+}
+
+#o2o_group_cart .main .boxList .boxlis:nth-child(1) {
+ margin: 0;
+}
+
+.toker {
+ margin: 0 30rpx;
+ border-radius: 20rpx 20rpx 0 0;
+ background-image:
+ linear-gradient(
+ 0deg,
+ #fff 0%,
+ #fe612a 100%
+ );
+ margin-top: 18rpx;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ padding-bottom: 35rpx;
+ box-sizing: border-box;
+}
+
+.toker .tokerTop {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin: 0 0.75rem;
+ margin-top: 0.78rem;
+ padding-bottom: 0.78rem;
+ color: #fff;
+ box-sizing: border-box;
+}
+
+.toker .tokerTop .topRight {
+ display: flex;
+ align-items: center;
+ font-size: 0.75rem;
+}
+
+.toker .tokerList {
+ flex: 1;
+ margin: 0 0.59rem;
+ display: flex;
+ overflow-x: scroll;
+}
+
+.toker .tokerList .tokerlis:last-child {
+ margin-right: 0;
+}
+
+.toker .tokerList .tokerlis {
+ margin-right: 0.56rem;
+ width: 6.41rem;
+ height: 10rem;
+ background-color: #fff;
+ box-shadow: 0 0.06rem 0.22rem 0 rgba(221, 221, 221, 0.59);
+ border-radius: 0.47rem;
+ display: flex;
+ flex-direction: column;
+}
+
+.toker .tokerList .tokerlis .listT {
+ width: 6.41rem;
+ height: 6.41rem;
+ background-color: #e3e3e3;
+ border-radius: 0.47rem 0.47rem 0 0;
+}
+
+.toker .tokerList .tokerlis .listT image {
+ width: 100%;
+ height: 100%;
+ border-radius: 0.47rem 0.47rem 0 0;
+}
+
+.toker .tokerList .tokerlis .listB {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ padding: 0 0.53rem 0 0.56rem;
+}
+
+.toker .tokerList .tokerlis .listB .listBtitle {
+ font-size: 0.81rem;
+ color: #333;
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.toker .tokerList .tokerlis .listB .listBPrice {
+ font-size: 0.81rem;
+ color: #f14e4e;
+ text-align: left;
+}
diff --git a/packageC/o2o/o2oLocation/o2oLocation.js b/packageC/o2o/o2oLocation/o2oLocation.js
new file mode 100644
index 0000000..39af23e
--- /dev/null
+++ b/packageC/o2o/o2oLocation/o2oLocation.js
@@ -0,0 +1,299 @@
+// pages/o2oLocation/o2oLocation.js
+var app = getApp();
+// import utils from '../../../utils/city.js';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ tag: '',
+ sixCity: [],
+ citys: [],
+ city: '',
+ JumpArray: [],
+ position_switch:false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.tag == "activityHome" || options.tag == "activitySearch" || options.tag == 'activitySort' ) {
+ this.setData({
+ tag: options.tag,
+ isHome:true,
+ });
+ }else if(options.tag == "search"){
+ this.setData({
+ tag: options.tag,
+ isHome:true,
+ });
+ }else if(options.tag == "storeConsume"){
+ this.setData({
+ tag: options.tag,
+ id:options.id,
+ });
+ }else if (options.tag) {
+ this.setData({
+ tag: options.tag
+ });
+ }
+ this._getSixCityList();
+ this._getCityList();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _getSixCityList() {
+ let api = '';
+ let that = this;
+ if (this.data.tag == "hotel") {
+ api = "plugin.hotel.frontend.hotel.hotel.get-hot-citys";
+ }else if(this.data.tag == "easyRefuel"){
+ api = "plugin.easy-refuel.frontend.index.getHotCitys";
+ }else if(this.data.tag == "activityHome" || this.data.tag == "activitySearch" || this.data.tag == 'activitySort'){
+ api = "plugin.activity-apply.api.index.getHotCitys";
+ }else if(this.data.tag == "communityStore" || this.data.tag == "communityStoreDetails"){ //社区门店
+ api = "plugin.store-community.frontend.community.getHotCitys";
+ } else {
+ api = 'plugin.store-cashier.frontend.store.store.getHotCitys';
+ }
+ let urlStr = app.getNetAddresss(api);
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ sixCity: res.data.citys
+ });
+ // console.log(that.data.sixCity,res.data.citys);
+ try{
+ if(res.data.position_switch == '1'){
+ that.setData({
+ position_switch:true
+ });
+ }
+ }catch(err){
+ console.log(err);
+ }
+
+ } else {
+ console.log(res.msg);
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ _getCityList() {
+ let api = '';
+ let that = this;
+ if (this.data.tag == "hotel") {
+ api = "plugin.hotel.frontend.hotel.hotel.get-city-initials";
+ }else if(this.data.tag == "easyRefuel"){
+ api = "plugin.easy-refuel.frontend.index.getCitys";
+ } else if(this.data.tag == "activityHome" || this.data.tag == "activitySearch" || this.data.tag == 'activitySort'){
+ api = "plugin.activity-apply.api.index.getCityInitials";
+ } else if(this.data.tag == "communityStore" || this.data.tab=="communityStoreDetails"){
+ api = "plugin.store-community.frontend.community.getCityInitials";
+ }else {
+ api = 'plugin.store-cashier.frontend.store.store.getCityInitials';
+ }
+ let urlStr = app.getNetAddresss(api);
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ citys: res.data.initials
+ });
+ let shortcutListData = res.data.initials.map((group) => {
+ return String(group.title).substr(0, 1);
+ });
+ that.setData({
+ shortcutList: shortcutListData
+ });
+ that.Jumpinit();
+ } else {
+ console.log(res.msg);
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ goback() {
+ wx.navigateBack({
+ delta: 1
+ });
+ },
+ tosearch() {
+ if(this.data.tag == 'storeConsume'){
+ // 门店消费卡进来的
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=' + this.data.tag+'&id='+this.data.id
+ });
+ return;
+ }
+ if (this.data.tag) {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=' + this.data.tag
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc'
+ });
+ }
+ },
+ toGeolocation() {
+ if(this.data.tag == 'storeConsume'){
+ // 门店消费卡进来的
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=' + this.data.tag+'&id='+this.data.id
+ });
+ return;
+ }
+ if (this.data.tag) {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=' + this.data.tag
+ });
+ } else {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc'
+ });
+ }
+ },
+ setCity(e) {
+ let areaname = e.currentTarget.dataset.fulladdress;
+ console.log(e);
+ if(!areaname){
+ this.setData({
+ city: ''
+ });
+ wx.setStorage({
+ key: "address-point",
+ data: { point: { lat: '0', lng: '0' }, city: '' }
+ });
+ let mapmessageData = {
+ title: '',
+ message: '',
+ latitude: '',
+ longitude: '',
+ city: ''
+ };
+ if(this.data.tag == 'home'){
+ wx.reLaunch({
+ url: '/packageG/index/index?addressData=' + JSON.stringify(this.data.mapmessageData)
+ });
+ }else if(this.data.tag == 'diy'){
+ let urls = wx.getStorageSync('diyurl');
+ wx.reLaunch({url:urls});
+ }else{
+ wx.reLaunch({
+ url: '/packageC/o2o/o2oHome/o2oHome?addressData=' + JSON.stringify(mapmessageData)
+ });
+ }
+ }else if (this.data.tag) {
+ this.setData({
+ city: areaname
+ });
+ if (this.data.tag == "activityHome" || this.data.tag == "activitySearch" || this.data.tag == 'activitySort') {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oCity/o2oCity?tag=' + this.data.tag+'&city=' + this.data.city
+ });
+ }else if(this.data.tag == "storeConsume"){
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oCity/o2oCity?tag=' + this.data.tag+'&city=' + this.data.city+'&id='+this.data.id
+ });
+ }else{
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oCity/o2oCity?tag=' + this.data.tag+'&city=' + this.data.city
+ });
+ }
+ } else {
+ this.setData({
+ city: areaname
+ });
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oCity/o2oCity?city=' + this.data.city
+ });
+ }
+ },
+ Jump(e) {
+ let index = e.currentTarget.dataset.index;
+ // let text = e.currentTarget.dataset.text;
+ wx.pageScrollTo({
+ scrollTop: this.data.JumpArray[index],
+ duration: 300
+ });
+ },
+ Jumpinit() {
+ let that = this;
+ const query = wx.createSelectorQuery();
+ query.selectAll('.d_jump').boundingClientRect();
+ query.selectViewport().scrollOffset();
+ query.exec(
+ function(res) {
+ let resData = res["0"];
+ let JumpArray = [];
+ JumpArray = resData.map(function(val) {
+ return val.top;
+ });
+ that.setData({
+ JumpArray: JumpArray
+ });
+ }
+ );
+ }
+});
diff --git a/packageC/o2o/o2oLocation/o2oLocation.json b/packageC/o2o/o2oLocation/o2oLocation.json
new file mode 100644
index 0000000..b4bcc37
--- /dev/null
+++ b/packageC/o2o/o2oLocation/o2oLocation.json
@@ -0,0 +1,5 @@
+{
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/o2o/o2oLocation/o2oLocation.wxml b/packageC/o2o/o2oLocation/o2oLocation.wxml
new file mode 100644
index 0000000..b423269
--- /dev/null
+++ b/packageC/o2o/o2oLocation/o2oLocation.wxml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击定位当前地点
+
+
+
+
+
+
+
+
+
+
+
+ 已开通城市
+
+
+ 全国
+
+
+ {{ item.full_address }}
+
+
+
+
+
+ {{ city.title }}
+
+ {{ item.full_address }}
+
+
+
+
+
+
+ {{ l }}
+
+
+
+
+
\ No newline at end of file
diff --git a/packageC/o2o/o2oLocation/o2oLocation.wxss b/packageC/o2o/o2oLocation/o2oLocation.wxss
new file mode 100644
index 0000000..e3541b1
--- /dev/null
+++ b/packageC/o2o/o2oLocation/o2oLocation.wxss
@@ -0,0 +1,180 @@
+/* pages/o2oLocation/o2oLocation.wxss */
+.x0 {
+ width: 100%;
+ height: 100%;
+ background: #f4f4f4;
+ z-index: 100;
+}
+
+.search_box {
+ height: 90rpx;
+ background: #fff;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 40rpx;
+ position: relative;
+ top: 0;
+ z-index: 10;
+}
+
+.search_box .close {
+ width: 90rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ background: none;
+ overflow: hidden;
+}
+
+.close icon {
+ font-size: 40rpx;
+ color: #666;
+}
+
+.search_box .search {
+ width: 560rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ background-color: #f5f5f5;
+ border-radius: 30rpx;
+ padding: 0 20rpx;
+ display: flex;
+ justify-content: flex-start;
+}
+
+.search icon {
+ font-size: 32rpx;
+ margin-right: 20rpx;
+ color: #999;
+ margin-top: -4rpx;
+}
+
+.search input {
+ display: block;
+ width: 400rpx;
+ max-width: 400rpx;
+ height: 60rpx;
+}
+
+.x0 .x4 {
+ width: 100%;
+ margin-top: 20rpx;
+}
+
+.x0 .x4 .x5 {
+ height: 100rpx;
+ padding: 0 30rpx;
+ background: #fff;
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.x0 .x4 .x5 icon {
+ width: 40rpx;
+ height: 100rpx;
+ background: url('http://static-o2o.360buyimg.com/daojia/new/images/icon/location-eye@2x.png') no-repeat 0 center;
+ background-size: 40rpx 40rpx;
+ margin-right: 20rpx;
+}
+
+.x0 .x4 .x5 .center {
+ flex: 1;
+}
+
+.x0 .x4 .x5 .p {
+ line-height: 100rpx;
+ color: #47b34f;
+ font-size: 32rpx;
+}
+
+.x0 .xc {
+ width: 100%;
+}
+
+.x0 .xc .ul {
+ background: #fff;
+}
+
+.open_city .h1 {
+ font-weight: normal;
+ padding: 0 40rpx;
+ line-height: 100rpx;
+ color: #8c8c8c;
+ font-size: 30rpx;
+ text-align: left;
+}
+
+.open {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0 28rpx;
+}
+
+.open .li {
+ width: 194rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ border-radius: 6rpx;
+ border: solid 2rpx #ebebeb;
+ background: #fff;
+ color: #333;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 15px;
+ margin-right: 16rpx;
+ margin-bottom: 20rpx;
+ text-align: center;
+}
+
+.city_list {
+ background-color: #fff;
+}
+
+.city_a,
+.city_b .letter {
+ line-height: 60rpx;
+ text-align: left;
+ padding-left: 28rpx;
+ background: #f5f5f5;
+}
+
+.city_a,
+.city_b .li {
+ line-height: 80rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ margin-left: 28rpx;
+ text-align: left;
+}
+
+.city_b .li {
+ margin-left: 80rpx;
+}
+
+.right_letter {
+ position: fixed;
+ right: 0;
+ top: 0;
+ z-index: 1;
+ height: 100%;
+ width: 80rpx;
+ text-align: center;
+ box-sizing: border-box;
+}
+
+.letter_box {
+ padding-top: 20rpx;
+ width: 80rpx;
+ position: absolute;
+ right: 0;
+ top: 31%;
+ transform: translate(0, -30%);
+}
+
+.letter_box .li {
+ line-height: 30px;
+ color: #47b34f;
+ font-size: 14px;
+}
diff --git a/packageC/o2o/o2oLocation_loc/o2oLocation_loc.js b/packageC/o2o/o2oLocation_loc/o2oLocation_loc.js
new file mode 100644
index 0000000..eedae94
--- /dev/null
+++ b/packageC/o2o/o2oLocation_loc/o2oLocation_loc.js
@@ -0,0 +1,508 @@
+// pages/o2oLocation_loc/o2oLocation_loc.js
+var QQMapWX = require("../../../mymap/qqmap-wx-jssdk.min.js");
+var qqmapsdk;
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ suggestion: [],
+ address_latitude: "",
+ address_longitude: "",
+ markers: [],
+ address_detail: "",
+ suggestionshow: false,
+ mksData: [],
+ mapmessageData: {
+ title: "",
+ message: "",
+ latitude: "",
+ longitude: "",
+ city: "",
+ },
+ scaleData: 16,
+ tag: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.id) {
+ this.setData({
+ id: options.id,
+ });
+ }
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id,
+ form: JSON.parse(options.form),
+ create: options.create,
+ });
+ }
+ if (!app.globalData.qqmapkey) {
+ app._getTemplate().then((res) => {
+ qqmapsdk = new QQMapWX({
+ key: app.globalData.qqmapkey,
+ });
+ if (options.tag) {
+ this.setData({
+ tag: options.tag,
+ });
+ }
+ this.poscurrent();
+ });
+ } else {
+ qqmapsdk = new QQMapWX({
+ key: app.globalData.qqmapkey,
+ });
+ if (options.tag) {
+ this.setData({
+ tag: options.tag,
+ });
+ }
+ this.poscurrent();
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ searchconfirmbtn(e) {
+ var val = e.detail.value;
+ this.addressinp(val);
+ },
+ addressinpbtn(e) {
+ var val = e.detail.value;
+ this.addressinp(val);
+ },
+ addressinp(val) {
+ var _this = this;
+ if (!val) {
+ this.setData({
+ suggestionshow: false,
+ });
+ return;
+ }
+ //调用关键词提示接口
+ qqmapsdk.getSuggestion({
+ //获取输入框值并设置keyword参数
+ keyword: val, //用户输入的关键词,可设置固定值,如keyword:'KFC'
+ //region:'北京', //设置城市名,限制关键词所示的地域范围,非必填参数
+ sig: app.globalData.qqmapsig,
+ success: function (res) {
+ //搜索成功后的回调
+ var sug = [];
+ for (var i = 0; i < res.data.length; i++) {
+ sug.push({
+ // 获取返回结果,放到sug数组中
+ title: res.data[i].title,
+ id: res.data[i].id,
+ addr: res.data[i].address,
+ city: res.data[i].city,
+ district: res.data[i].district,
+ latitude: res.data[i].location.lat,
+ longitude: res.data[i].location.lng,
+ });
+ }
+ _this.setData({
+ //设置suggestion属性,将关键词搜索结果以列表形式展示
+ suggestion: sug,
+ suggestionshow: true,
+ });
+ },
+ fail: function (error) {
+ console.error(error);
+ },
+ complete: function (res) {},
+ });
+ },
+ //数据回填方法
+ backfill: function (e) {
+ var id = e.currentTarget.id;
+ for (var i = 0; i < this.data.suggestion.length; i++) {
+ if (i == id) {
+ this.setData({
+ address_detail: this.data.suggestion[i].title,
+ address_latitude: this.data.suggestion[i].latitude,
+ address_longitude: this.data.suggestion[i].longitude,
+ "mapmessageData.title": this.data.suggestion[i].title,
+ "mapmessageData.message": this.data.suggestion[i].addr,
+ "mapmessageData.latitude": this.data.suggestion[i].latitude,
+ "mapmessageData.longitude": this.data.suggestion[i].longitude,
+ "mapmessageData.city": this.data.suggestion[i].city,
+ suggestionshow: false,
+ });
+ this.nearby_search();
+ }
+ }
+ },
+ // 事件触发,调用接口
+ nearby_search: function () {
+ var _this = this;
+ // 调用接口
+ qqmapsdk.search({
+ keyword: this.data.address_detail, //搜索关键词
+ location: {
+ latitude: this.data.address_latitude,
+ longitude: this.data.address_longitude,
+ }, //设置周边搜索中心点
+ sig: app.globalData.qqmapsig,
+ success: function (res) {
+ //搜索成功后的回调
+ console.log("ccccc", res);
+ var mks = [];
+ var mksData = [];
+ for (var i = 0; i < res.data.length; i++) {
+ mks.push({
+ // 获取返回结果,放到mks数组中
+ title: res.data[i].title,
+ id: res.data[i].id,
+ latitude: res.data[i].location.lat,
+ longitude: res.data[i].location.lng,
+ iconPath: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //图标路径
+ width: 20,
+ height: 25,
+ callout: {
+ padding: "10rpx",
+ borderRadius: "5rpx",
+ content: res.data[i].title,
+ },
+ });
+ mksData.push({
+ address: res.data[i].address,
+ title: res.data[i].title,
+ latitude: res.data[i].location.lat,
+ longitude: res.data[i].location.lng,
+ id: res.data[i].id,
+ city: res.data[i].ad_info.city
+ ? res.data[i].ad_info.city
+ : res.res.data[i].ad_info.province,
+ });
+ }
+ _this.setData({
+ //设置markers属性,将搜索结果显示在地图中
+ markers: mks,
+ mksData: mksData,
+ });
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ complete: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getmarkertap(e) {
+ let markerId = e.markerId;
+ for (var i = 0; i < this.data.mksData.length; i++) {
+ let id = this.data.mksData[i].id;
+ if (markerId == id) {
+ this.setData({
+ "mapmessageData.title": this.data.mksData[i].title,
+ "mapmessageData.message": this.data.mksData[i].address,
+ "mapmessageData.latitude": this.data.mksData[i].latitude,
+ "mapmessageData.longitude": this.data.mksData[i].longitude,
+ "mapmessageData.city": this.data.mksData[i].city,
+ });
+ }
+ }
+ },
+ addbtn() {
+ let mapCtx = wx.createMapContext("myMap");
+ let that = this;
+ mapCtx.getScale({
+ success: function (e) {
+ let scale = e.scale;
+ that.setData({
+ scaleData: scale + 1,
+ });
+ },
+ });
+ },
+ minusbtn() {
+ let mapCtx = wx.createMapContext("myMap");
+ let that = this;
+ mapCtx.getScale({
+ success: function (e) {
+ let scale = e.scale;
+ that.setData({
+ scaleData: scale - 1,
+ });
+ },
+ });
+ },
+ addressplay() {
+ this.poscurrent();
+ },
+ poscurrent: function () {
+ let that = this;
+ wx.getSetting({
+ success(resData) {
+ if (!resData.authSetting["scope.userLocation"]) {
+ wx.authorize({
+ scope: "scope.userLocation",
+ success() {},
+ fail(msgData) {},
+ complete() {
+ that.getlocaldata();
+ },
+ });
+ }else{
+ that.getlocaldata();
+ }
+ },
+ });
+
+ },
+ getlocaldata() {
+ let that = this;
+ wx.getLocation({
+ type: "gcj02",
+ success(res) {
+ const latitude = res.latitude;
+ const longitude = res.longitude;
+ // const speed = res.speed;
+ // const accuracy = res.accuracy;
+ that._setaddressData({
+ lat: latitude,
+ lng: longitude,
+ });
+ },
+ fail(err) {
+ if (err.errMsg === "getLocation:fail auth deny") {
+ console.log("当初用户拒绝,再次发起授权");
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting["scope.userLocation"]) {
+ wx.showToast({
+ icon: "none",
+ title: "获取权限成功",
+ duration: 1500,
+ });
+ that.getlocaldata();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: "获取权限失败,定位需要用户授权",
+ duration: 1500,
+ });
+ }
+ },
+ });
+ }
+ },
+ });
+ },
+ _setaddressData(e) {
+ let that = this;
+ app.getReverseGeocoder(e.lat,e.lng).then(function (res) {
+ that.setData({
+ address_detail: "",
+ address_latitude: res.location.lat,
+ address_longitude: res.location.lng,
+ "mapmessageData.title": res.formatted_addresses.recommend,
+ "mapmessageData.address_component": res.formatted_addresses,
+ "mapmessageData.message": res.address,
+ "mapmessageData.latitude": res.location.lat,
+ "mapmessageData.longitude": res.location.lng,
+ "mapmessageData.city": res.address_component.city
+ ? res.address_component.city
+ : res.address_component.province,
+ });
+ }).catch(function(err){
+ console.log(err);
+ });
+ },
+ buttonbtn() {
+ var prevPage;
+ var pages;
+ let point = {
+ lat: this.data.address_latitude,
+ lng: this.data.address_longitude,
+ };
+ console.log(this.data.mapmessageData, point, "point");
+ wx.setStorage({
+ key: "address-point",
+ data: {
+ point: point,
+ city: this.data.mapmessageData.city,
+ address_component: this.data.mapmessageData.address_component
+ },
+ });
+ if (this.data.tag == "hotel") {
+ wx.reLaunch({
+ url:
+ "/packageC/hotel/HotelIndex/HotelIndex?addressData=" +
+ JSON.stringify(this.data.mapmessageData),
+ });
+ } else if (this.data.tag == "home") {
+ wx.reLaunch({
+ url:
+ "/packageG/index/index?addressData=" +
+ JSON.stringify(this.data.mapmessageData),
+ });
+ } else if (this.data.tag == "easyRefuel") {
+ wx.reLaunch({
+ url: "/packageD/easyRefuel/easyRefuel",
+ });
+ } else if (this.data.tag == "storeConsume") {
+ wx.reLaunch({
+ url:
+ "/packageH/o2o/storeConsumeIndex/storeConsumeIndex?id=" +
+ this.data.id,
+ });
+ } else if (this.data.tag == "appointment") {
+ console.log(this.data.mapmessageData);
+ let point = {
+ lat: this.data.mapmessageData.latitude,
+ lng: this.data.mapmessageData.longitude,
+ };
+ let pos = {
+ address: this.data.mapmessageData.message,
+ city: this.data.mapmessageData.city,
+ title: this.data.mapmessageData.title,
+ point: point,
+ };
+ pages = getCurrentPages();
+ prevPage = pages[pages.length - 3]; //上一个页面 -3就是上上一个页面
+ prevPage.setData({
+ //本页面数据赋值到上一个页面
+ pos,
+ });
+ wx.navigateBack({
+ delta: 2,
+ });
+ } else if (this.data.tag == "diy") {
+ let urls = wx.getStorageSync("diyurl");
+ wx.reLaunch({
+ url: urls,
+ });
+ } else if (this.data.tag == "activityHome") {
+ wx.reLaunch({
+ url:
+ "/packageC/Myshaky/activityHome/activityHome?city=" +
+ this.data.mapmessageData.city,
+ });
+ } else if (this.data.tag == "store") {
+ wx.navigateTo({
+ url:
+ "/packageD/buy/myOrder_v2/myOrder_v2?tag=" +
+ this.data.tag +
+ "&store_id=" +
+ this.data.store_id +
+ "&form=" +
+ JSON.stringify(this.data.form) +
+ "&create=" +
+ this.data.create +
+ "&is_point=" +
+ JSON.stringify(point),
+ });
+ } else if (this.data.tag == "storeApply") {
+ try {
+ wx.setStorageSync("applyaddresspoint", {
+ address: this.data.mapmessageData.message,
+ point: point,
+ city: this.data.mapmessageData.city,
+ });
+ wx.navigateBack({
+ delta: 1,
+ fail() {},
+ });
+ } catch (e) {
+ console.log(e);
+ }
+ } else if(this.data.tag == "selfCarryApply"){
+ wx.reLaunch({
+ url:
+ "/packageC/selfCarry/selfCarryApply/selfCarryApply?addressData=" +
+ JSON.stringify(this.data.mapmessageData),
+ });
+ }else if(this.data.tag == "communityStore" || this.data.tag == "communityStoreDetails"){
+ let point = {
+ lat: this.data.mapmessageData.latitude,
+ lng: this.data.mapmessageData.longitude,
+ };
+ let pos = {
+ address: this.data.mapmessageData.message,
+ city: this.data.mapmessageData.city,
+ title: this.data.mapmessageData.title,
+ point: point,
+ };
+ pages = getCurrentPages();
+ prevPage = pages[pages.length - 3]; //上一个页面 -3就是上上一个页面
+ prevPage.setData(
+ //本页面数据赋值到上一个页面
+ pos
+ );
+ prevPage._getData();
+ wx.navigateBack({
+ delta: 2,
+ });
+ } else if(this.data.tag.indexOf("project_verification")!==-1){
+ wx.setStorage({
+ key: "address-point",
+ data: { point: { lat: this.data.mapmessageData.latitude, lng: this.data.mapmessageData.longitude }, city: this.data.mapmessageData.message, address_component: this.data.mapmessageData.address_component }
+ });
+ switch(this.data.tag){
+ case "project_verification/MyProject":
+ wx.reLaunch({
+ url: '/packageH/project_verification/MyProject/MyProject?location_change=1',
+ });
+ break;
+ case "project_verification/VerificationProjectList":
+ wx.reLaunch({
+ url: '/packageH/project_verification/VerificationProjectList/VerificationProjectList?location_change=1',
+ });
+ break;
+ }
+ } else if(this.data.tag == "suppligoodsOrde"){
+ wx.navigateBack({
+ delta: 1
+ });
+ } else if(this.data.tag == "tagCloud"){
+ wx.navigateBack({
+ delta: 2
+ });
+ } else {
+ wx.reLaunch({
+ url:
+ "/packageC/o2o/o2oHome/o2oHome?addressData=" +
+ JSON.stringify(this.data.mapmessageData),
+ });
+ }
+ },
+});
diff --git a/packageC/o2o/o2oLocation_loc/o2oLocation_loc.json b/packageC/o2o/o2oLocation_loc/o2oLocation_loc.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageC/o2o/o2oLocation_loc/o2oLocation_loc.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/o2o/o2oLocation_loc/o2oLocation_loc.wxml b/packageC/o2o/o2oLocation_loc/o2oLocation_loc.wxml
new file mode 100644
index 0000000..506cc05
--- /dev/null
+++ b/packageC/o2o/o2oLocation_loc/o2oLocation_loc.wxml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{mapmessageData.title}}
+
+
+ 地址:{{mapmessageData.message}}
+
+
+
+
+ 使用该地址
+
+
+
+
diff --git a/packageC/o2o/o2oLocation_loc/o2oLocation_loc.wxss b/packageC/o2o/o2oLocation_loc/o2oLocation_loc.wxss
new file mode 100644
index 0000000..0396102
--- /dev/null
+++ b/packageC/o2o/o2oLocation_loc/o2oLocation_loc.wxss
@@ -0,0 +1,121 @@
+/* pages/o2oLocation_loc/o2oLocation_loc.wxss */
+.map .seachbox {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-bottom: 10rpx;
+}
+
+.map .search_box {
+ display: flex;
+ justify-content: flex-start;
+ padding: 0 20rpx;
+ width: 624rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ border-radius: 32rpx;
+ background-color: #f5f5f5;
+}
+
+.search_box icon {
+ color: #999;
+ font-size: 32rpx;
+ margin-top: -4rpx;
+}
+
+.search_box input {
+ border: none;
+ margin-left: 20rpx;
+ max-width: 624rpx;
+ display: block;
+ height: 100%;
+ flex: 1;
+}
+
+.seachboxBottom {
+ position: absolute;
+ z-index: 1024;
+ background-color: #fefefe;
+ border: 1px solid #d1d1d1;
+ width: 60%;
+ overflow: hidden;
+ top: 0;
+ left: 50rpx;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+}
+
+.seachboxBottom .seachboxContent {
+ padding-top: 5rpx;
+ padding-bottom: 5rpx;
+}
+
+.ten {
+ position: absolute;
+ right: 20rpx;
+ bottom: 50rpx;
+ z-index: 500;
+ width: 70rpx;
+ background-color: white;
+ border-radius: 6rpx;
+ border: 2rpx solid #ccc;
+ box-shadow: 2rpx 2rpx 20rpx 0 #ccc;
+}
+
+.ten .ten_l {
+ margin: auto;
+ font-size: 52rpx;
+ line-height: 86rpx;
+ text-align: center;
+ color: #666;
+ height: 100%;
+}
+
+.play {
+ position: absolute;
+ left: 20rpx;
+ bottom: 50rpx;
+ z-index: 500;
+ width: 80rpx;
+ height: 80rpx;
+ background-color: white;
+ border-radius: 50%;
+ border: 2rpx solid #ccc;
+}
+
+.play .img {
+ width: 100%;
+ height: 100%;
+}
+
+.mapmessage {
+ display: flex;
+ padding: 10rpx;
+ justify-content: space-between;
+}
+
+.mapmessage .left {
+ width: 500rpx;
+}
+
+.mapmessage .left .bottom {
+ color: #999;
+}
+
+.mapmessage .right {
+ width: 200rpx;
+ overflow: hidden;
+ padding-top: 20rpx;
+}
+
+.mapmessage .right .button {
+ border: 1px solid #eee;
+ width: 198rpx;
+ height: 58rpx;
+ line-height: 58rpx;
+ border-radius: 10rpx;
+ text-align: center;
+ background: #09bb07;
+ color: #fff;
+ font-size: 28rpx;
+}
diff --git a/packageC/o2o/o2oSearch/o2oSearch.js b/packageC/o2o/o2oSearch/o2oSearch.js
new file mode 100644
index 0000000..c114b5e
--- /dev/null
+++ b/packageC/o2o/o2oSearch/o2oSearch.js
@@ -0,0 +1,277 @@
+// pages/o2oSearch/o2oSearch.js
+var location = require("../../../mybehaviors/location/location");
+
+var app = getApp();
+Page({
+ behaviors: [location],
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ city: '',
+ point: {
+ lat: '',
+ lng: ''
+ },
+ stores: [],
+ inputs: "",
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ showPage: false,
+
+ ok_subs_select: null, //筛选器确定请求的二级选项参数
+ successLocation: false, //是否已定位成功,筛选器需要定位信息为参数
+ isOptionMenuMore: false, //是否为筛选器的加载更多
+ activeType: '',
+ subs_select: '',
+ openTemplate: 0, //门店列表样式
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.city && options.city !== '1') {
+ if (options.city) {
+ this.setData({
+ city: options.city
+ });
+ }
+ if (options.point) {
+ this.setData({
+ point: JSON.parse(options.point)
+ });
+ }
+ this.gotoSearch();
+ } else {
+ this._getLocation(() => {this.gotoSearch();});
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ console.log("111111111111111");
+ this.getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ let point = JSON.stringify(this.data.point);
+ return {
+ title: '',
+ path: '/packageC/o2o/o2oSearch/o2oSearch?city=' + this.data.city + '&point=' + point,
+ };
+ },
+ gotoSearch() {
+ var that = this;
+ that.setData({
+ page: 1,
+ successLocation: true
+ });
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods.get-store-goods-by-title');
+ let point = app.qqMapTransBMap(parseFloat(that.data.point.lng), parseFloat(that.data.point.lat));
+ urlStr += '&kwd=' + (this.data.inputs ? this.data.inputs : '');
+ urlStr += '&lng=' + point.lng;
+ urlStr += '&lat=' + point.lat;
+ urlStr += '&city_name=' + this.data.city;
+ urlStr += '&page=' + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ total_page: res.data.last_page,
+ openTemplate: res.data.store_list_style || 0
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ that.setData({
+ stores: res.data.data
+ });
+ } else {
+ that.setData({
+ stores: []
+ });
+ }
+ that.setData({
+ showPage: true
+ });
+ },
+ fail: function (res) {
+ console.log(res);
+ that.setData({
+ showPage: true
+ });
+ }
+ });
+ },
+ //获取更多数据
+ getMoreData() {
+ var that = this;
+
+ let _url = !this.data.isOptionMenuMore ? 'plugin.store-cashier.frontend.store.goods.get-store-goods-by-title' : 'plugin.store-cashier.frontend.store.goods.get-store-search';
+ let urlStr = app.getNetAddresss(_url);
+
+ let point = app.qqMapTransBMap(parseFloat(that.data.point.lng), parseFloat(that.data.point.lat));
+ urlStr += '&lng=' + point.lng;
+ urlStr += '&lat=' + point.lat;
+ urlStr += '&city_name=' + this.data.city;
+
+ if (this.data.isOptionMenuMore) {
+ //筛选器的加载更多
+ urlStr += '&is_type=' + this.data.activeType;
+ if (this.data.activeType == "classify") {
+ urlStr += '&category_id=' + this.data.subs_select;
+ }
+ if (this.data.activeType == "distance") {
+ urlStr += '&is_distance=' + this.data.subs_select;
+ }
+ } else {
+ urlStr += '&kwd=' + (this.data.inputs ? this.data.inputs : '');
+ }
+
+ this.setData({
+ isLoadMore: false
+ }); // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ console.log("111111111111111",this.data.page, this.data.total_page);
+ return;
+ } else {
+ this.setData({
+ page: this.data.page + 1
+ });
+ urlStr += '&page=' + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true
+ });
+ var myData = res.data.data;
+ that.setData({
+ stores: that.data.stores.concat(myData)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ }); // 防止多次请求分页数据
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ inpbtn(e) {
+ let val = e.detail.value;
+ this.setData({
+ inputs: val
+ });
+ },
+ changeOptiones(e) {
+ this.data.isOptionMenuMore = true;
+ this.data.activeType = e.detail.activeType;
+ this.data.subs_select = e.detail.subs_select;
+ console.log(e.detail);
+ let that = this;
+ let point = app.qqMapTransBMap(parseFloat(that.data.point.lng), parseFloat(that.data.point.lat));
+ let json = {
+ lng: point.lng,
+ lat: point.lat,
+ city_name: this.data.city,
+ is_type: e.detail.activeType
+ };
+ if (e.detail.activeType == "classify") {
+ json.category_id = e.detail.subs_select;
+ }
+ if (e.detail.activeType == "distance") {
+ json.is_distance = e.detail.subs_select;
+ }
+ that.setData({
+ stores: []
+ });
+ let _url = "plugin.store-cashier.frontend.store.goods.get-store-search";
+ let urlStr = app.getNetAddresss(_url);
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ page:1,
+ total_page: res.data.last_page
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ that.setData({
+ ok_subs_select: e.detail.subs_select,
+ stores: res.data.data
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageC/o2o/o2oSearch/o2oSearch.json b/packageC/o2o/o2oSearch/o2oSearch.json
new file mode 100644
index 0000000..db47f69
--- /dev/null
+++ b/packageC/o2o/o2oSearch/o2oSearch.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+ "cStoreList": "../../mycomponent/storeList/storeList",
+ "optionMenu": "../../mycomponent/option_menu/option_menu"
+ }
+}
diff --git a/packageC/o2o/o2oSearch/o2oSearch.wxml b/packageC/o2o/o2oSearch/o2oSearch.wxml
new file mode 100644
index 0000000..d6c8d2c
--- /dev/null
+++ b/packageC/o2o/o2oSearch/o2oSearch.wxml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageC/o2o/o2oSearch/o2oSearch.wxss b/packageC/o2o/o2oSearch/o2oSearch.wxss
new file mode 100644
index 0000000..d3dcb7c
--- /dev/null
+++ b/packageC/o2o/o2oSearch/o2oSearch.wxss
@@ -0,0 +1,66 @@
+/* pages/o2oSearch/o2oSearch.wxss */
+.search {
+ overflow: hidden;
+ background: #fff;
+ border-bottom: 2rpx solid #f5f5f5;
+ width: 100%;
+ padding-bottom: 10rpx;
+ position: relative;
+ z-index: 9;
+}
+
+.search .searchBox {
+ position: relative;
+ font-size: 28rpx;
+ width: 600rpx;
+ height: 60rpx;
+ margin: 0 auto;
+ display: flex;
+ align-items: center;
+ background: #f2f2f2 none;
+ box-sizing: border-box;
+ border-radius: 30rpx;
+ padding: 0 20rpx;
+}
+
+.search .searchBox input {
+ vertical-align: middle;
+ border: none;
+ box-sizing: border-box;
+ outline: 0;
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+ width: 480rpx;
+ z-index: 10;
+}
+
+.search .searchBox .img-icon {
+ width: 60rpx;
+ height: 60rpx;
+ color: #a9a9a9;
+ opacity: 2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.search .searchBox .img-icon .img-icon-btn {
+ width: 32rpx;
+ height: 32rpx;
+ margin: 0 auto;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/search.png") no-repeat center center;
+ background-size: 80% 80%;
+}
+
+.loadingimg {
+ width: 4rem;
+ height: 4rem;
+ margin: 50px auto;
+}
+
+.loadingimg image {
+ width: 100%;
+ height: 100%;
+}
diff --git a/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.js b/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.js
new file mode 100644
index 0000000..b2bb6e1
--- /dev/null
+++ b/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.js
@@ -0,0 +1,305 @@
+// packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.js
+var location = require("../../../mybehaviors/location/location");
+var app = getApp();
+Page({
+ behaviors: [location],
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ city: '',
+ point: {
+ lat: '',
+ lng: ''
+ },
+ stores: [],
+ inputs: "",
+
+ //more
+ page: 1, //分页数,当前页数
+ isLoadMore: true, //判断是否要加载更多的标志
+ total_page: 0, //总页数
+ listData: [],
+ networkLoading: false,
+
+ screenMenu: [{
+ name: '商品',
+ api: 'goods.goods.search-goods'
+ }],
+ screenType: ["good"],
+ screenIndex: 0,
+ screenShow: false,
+
+ goods_template: {
+ name: '02'
+ },
+ openTemplate: 0 //门店列表样式
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: async function (options) {
+ await this.getScreenList(options.search_type);
+ if (options.city && options.city !== '1') {
+ if (options.city) {
+ this.setData({
+ city: options.city
+ });
+ }
+ if (options.point) {
+ this.setData({
+ point: JSON.parse(options.point)
+ });
+ }
+ this.getListData();
+ } else {
+ this._getLocation(() => {
+ this.getListData();
+ });
+ }
+
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ console.log("111111111111111");
+ this.getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ setScreenShow() {
+ this.setData({
+ screenShow: !this.data.screenShow
+ });
+ },
+ setScreenIndex(evt) {
+
+ let index = evt.currentTarget.dataset.index;
+ if (index == this.data.screenIndex) return;
+ this.setData({
+ screenIndex: index,
+ screenShow: false
+ });
+ this.getListData();
+ },
+
+ gotoGoods(evt) {
+ let id = evt.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+
+ gotoSupplier(evt) {
+ let id = evt.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/member/supplier/SupplierShop/SupplierShop?id=' + id,
+ });
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ let point = JSON.stringify(this.data.point);
+ return {
+ title: '',
+ path: '/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple?city=' + this.data.city + '&point=' + point,
+ };
+ },
+ initPage() {
+ this.setData({
+ listData: [],
+ networkLoading: false
+ });
+ this.data.page = 1;
+ this.data.total_page = 0;
+ this.data.isLoadMore = true;
+
+ },
+ getListData() {
+ this.initPage();
+ let urlStr = app.getNetAddresss(this.data.screenMenu[this.data.screenIndex].api);
+ let point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
+ urlStr += '&lng=' + point.lng;
+ urlStr += '&lat=' + point.lat;
+ urlStr += '&city_name=' + this.data.city;
+ urlStr += '&page=' + this.data.page;
+ let json = {};
+ if (this.data.screenIndex == 0) {
+ json["search[keyword]"] = this.data.inputs;
+ } else if (this.data.screenMenu[this.data.screenIndex].name == '门店商品') {
+ json["goods_title"] = this.data.inputs;
+ } else {
+ json.kwd = this.data.inputs;
+ }
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ this.setData({
+ networkLoading: true
+ });
+ if (res.result != 1) return app.tips(res.msg);
+ this.setData({
+ isLoadMore: true,
+ total_page: res.data.last_page,
+ listData: res.data.data,
+ });
+ if (!this.data.total_page) {
+ this.data.total_page = 0;
+ }
+
+ if (res.data.hasOwnProperty("store_list_style")) {
+ this.setData({
+ openTemplate: res.data.store_list_style || 0
+ });
+ }
+
+ }
+ });
+ },
+ //获取更多数据
+ getMoreData() {
+ let urlStr = app.getNetAddresss(this.data.screenMenu[this.data.screenIndex].api);
+ let point = app.qqMapTransBMap(parseFloat(this.data.point.lng), parseFloat(this.data.point.lat));
+ urlStr += '&lng=' + point.lng;
+ urlStr += '&lat=' + point.lat;
+ urlStr += '&city_name=' + this.data.city;
+
+ // 防止多次请求分页数据
+ this.data.isLoadMore = false;
+ if (this.data.page >= this.data.total_page) {
+ console.log("111111111111111", this.data.page, this.data.total_page);
+ return;
+ } else {
+ this.data.page++;
+ let json = {
+ page: this.data.page
+ };
+ if (this.data.screenIndex == 0) {
+ json["search[keyword]"] = this.data.inputs;
+ } else if (this.data.screenMenu[this.data.screenIndex].name == '门店商品') {
+ json["goods_title"] = this.data.inputs;
+ } else {
+ json.kwd = this.data.inputs;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+
+ if (res.result == 1) {
+ this.data.isLoadMore = true;
+ var myData = res.data.data;
+ this.setData({
+ listData: this.data.listData.concat(myData)
+ });
+ } else {
+ this.data.isLoadMore = false;
+ this.data.page--;
+ }
+ }
+ });
+ }
+ },
+
+
+ getScreenList(search_type = "good") {
+ return new Promise((resolve, reject) => {
+ let urlStr = app.getNetAddresss('plugins.get-enabled-plugins');
+ app._getNetWork({
+ url: urlStr,
+ success: resdata => {
+ let res = resdata.data;
+
+ let screenMenu = this.data.screenMenu;
+ let screenType = this.data.screenType;
+
+ if (res.data.is_supplier == 1) {
+ screenMenu.push({
+ name: "供应商",
+ api: "plugin.supplier.frontend.supplier.get-supplier-list"
+ });
+ screenType.push("supplier");
+ }
+
+ if (res.data.is_store == 1) {
+ screenMenu.push({
+ name: "门店",
+ api: "plugin.store-cashier.frontend.store.store.get-store-list-to-page"
+ });
+ screenType.push("store");
+ screenMenu.push({
+ name: "门店商品",
+ api: "plugin.store-cashier.frontend.store.store.get-store-list-to-page"
+ });
+ screenType.push("store");
+ }
+
+ if (res.data.is_hotel == 1) {
+ screenMenu.push({
+ name: "酒店",
+ api: "plugin.hotel.frontend.hotel.goods.get-hotel-goods-by-title"
+ });
+ screenType.push("hotel");
+ }
+
+ this.setData({
+ screenMenu,
+ screenType
+ });
+ let index = screenType.indexOf(search_type);
+ if (this.data.screenMenu[index]) {
+ this.setData({
+ screenIndex: index
+ });
+ }
+ resolve();
+ }
+ });
+ });
+ },
+
+});
\ No newline at end of file
diff --git a/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.json b/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.json
new file mode 100644
index 0000000..81e20ce
--- /dev/null
+++ b/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.json
@@ -0,0 +1,8 @@
+{
+ "usingComponents": {
+ "cStoreList": "../../mycomponent/storeList/storeList",
+ "cGoodsList": "/mycomponent/goodsList/goodsList",
+ "hotelList": "../../mycomponent/hotel/list/list",
+ "optionMenu": "../../mycomponent/option_menu/option_menu"
+ }
+}
\ No newline at end of file
diff --git a/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.wxml b/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.wxml
new file mode 100644
index 0000000..948c67c
--- /dev/null
+++ b/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.wxml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+ {{screenMenu[screenIndex].name}}
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.username}}
+ 在售商品{{item.goods_total}}
+
+ 进店
+
+
+
+
+
+
+
+ {{good.has_one_goods.title}}
+ ¥{{good.has_one_goods.vip_level_status && good.has_one_goods.vip_level_status.status == 1
+ ? good.has_one_goods.vip_level_status.word
+ : good.has_one_goods.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.wxss b/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.wxss
new file mode 100644
index 0000000..0ce604b
--- /dev/null
+++ b/packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.wxss
@@ -0,0 +1,227 @@
+/* packageC/o2o/o2oSearchMultiple/o2oSearchMultiple.wxss */
+
+view,
+text {
+ box-sizing: border-box;
+}
+
+.search {
+ display: flex;
+ background: #fff;
+ border-bottom: 2rpx solid #f5f5f5;
+ width: 100%;
+ padding-bottom: 10rpx;
+ position: relative;
+ z-index: 9;
+}
+
+.search .screenBox {
+ position: relative;
+ display: flex;
+ padding-left: 16rpx;
+}
+
+.search .screenBox .srceenText {
+ font-size: 24rpx;
+ color: #f15353;
+}
+
+.search .screenBox .srceenOptions {
+ position: absolute;
+ top: 58rpx;
+ width: 108.992rpx;
+ padding: 6.5rpx 0;
+ background-color: #fff;
+ box-shadow: 0 0 26rpx rgba(198, 198, 198, 0.6);
+}
+
+.search .screenBox .srceenOptions .srceenOptionsItem {
+ padding: 8rpx 0;
+ text-align: center;
+ font-size: 24rpx;
+ color: #404040;
+}
+
+.search .screenBox .srceenOptions .srceenOptionsItem.active {
+ color: #f15353;
+}
+
+.search .screenBox .srceenOptions::before {
+ content: "";
+ position: absolute;
+ top: -10rpx;
+ left: 50%;
+ transform: translateX(-50%);
+ display: block;
+ width: 0;
+ height: 0;
+ border-left: 11rpx solid transparent;
+ border-right: 11rpx solid transparent;
+ border-bottom: 11rpx solid #fff;
+}
+
+.search .searchBox {
+ position: relative;
+ font-size: 28rpx;
+ width: 590rpx;
+ height: 60rpx;
+ margin: 0 auto;
+ display: flex;
+ align-items: center;
+ background: #f2f2f2 none;
+ box-sizing: border-box;
+ border-radius: 30rpx;
+ padding: 0 20rpx;
+}
+
+.search .searchBox input {
+ vertical-align: middle;
+ border: none;
+ box-sizing: border-box;
+ outline: 0;
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+ width: 480rpx;
+ z-index: 10;
+}
+
+.search .searchBox .img-icon {
+ width: 60rpx;
+ height: 60rpx;
+ color: #a9a9a9;
+ opacity: 2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.search .searchBox .img-icon .img-icon-btn {
+ width: 32rpx;
+ height: 32rpx;
+ margin: 0 auto;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/search.png") no-repeat center center;
+ background-size: 80% 80%;
+}
+
+.loadingimg {
+ width: 4rem;
+ height: 4rem;
+ margin: 50px auto;
+}
+
+.loadingimg image {
+ width: 100%;
+ height: 100%;
+}
+
+
+
+
+
+
+
+
+
+/* 供应商列表 */
+.supplierList {
+ padding: 13rpx 30rpx;
+}
+
+.supplierList .supplierItem {
+ width: 100%;
+ margin-bottom: 13rpx;
+ padding: 28rpx 20rpx;
+ background-color: #fff;
+ border-radius: 15rpx;
+}
+
+.supplierList .supplierItem .supplierInfo {
+ display: flex;
+ align-items: center;
+}
+
+.supplierList .supplierItem .supplierInfo .face {
+ width: 80rpx;
+ height: 80rpx;
+ background-color: #cdcdcd;
+ border-radius: 10rpx;
+}
+
+.supplierList .supplierItem .supplierInfo .face image {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 10rpx;
+}
+
+.supplierList .supplierItem .supplierInfo .left-content {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ padding-left: 17rpx;
+ text-align: left;
+}
+
+.supplierList .supplierItem .supplierInfo .left-content .name {
+ font-size: 28rpx;
+ color: #333;
+}
+
+.supplierList .supplierItem .supplierInfo .left-content .desc {
+ font-size: 24rpx;
+ color: #828282;
+}
+
+.supplierList .supplierItem .supplierInfo .btn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 120rpx;
+ height: 50rpx;
+ font-size: 24rpx;
+ color: #fff;
+ background-color: #f15353;
+ border-radius: 25rpx;
+}
+
+.supplierList .supplierItem .supplierGoods {
+ display: grid;
+ grid-template-columns: repeat(3, 198rpx);
+ justify-content: space-between;
+ margin-top: 32rpx;
+}
+
+.supplierList .supplierItem .supplierGoods .supplierGood {
+ width: 100%;
+ text-align: left;
+}
+
+.supplierList .supplierItem .supplierGoods .supplierGood .face {
+ width: 195rpx;
+ height: 195rpx;
+ background-color: #ddd;
+ border-radius: 10rpx;
+}
+
+.supplierList .supplierItem .supplierGoods .supplierGood .face image {
+ width: 195rpx;
+ height: 195rpx;
+ border-radius: 10rpx;
+}
+
+.supplierList .supplierItem .supplierGoods .supplierGood .name {
+ margin-top: 16rpx;
+ font-size: 24rpx;
+ color: #202020;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.supplierList .supplierItem .supplierGoods .supplierGood .price {
+ margin-top: 16rpx;
+ font-size: 24rpx;
+ color: #f15353;
+}
diff --git a/packageC/o2o/o2oStore/o2oStore.js b/packageC/o2o/o2oStore/o2oStore.js
new file mode 100644
index 0000000..6de3b82
--- /dev/null
+++ b/packageC/o2o/o2oStore/o2oStore.js
@@ -0,0 +1,2190 @@
+// packageC/o2o/o2oStore_v2/o2oStore_v2.js
+var specsManage = []; //选择池 用于排序
+var optionsId = ""; //选择后的 规格ID
+var optionsMaxCount = 1;
+var clicktag = 0;
+var scrollY = 0;
+var listHeight = [];
+var listCategoryHeight = [];
+var lastcurrentCategoryheight = "";
+var lastcurrentIndexheight = "";
+var windowHeight = 600;
+try {
+ const res = wx.getSystemInfoSync();
+ windowHeight = res.windowHeight;
+} catch (e) {
+ // Do something when catch error
+}
+var app = getApp();
+// const aloneUrl = 'plugin.store-alone-temp.frontend.microCommunities.index.get-micro-communities';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ showLength: 0,
+
+ language: '',
+ store_id: '',
+ order_id: '', // 订单id参数(从订单页面过来的时候带
+ goodsCarts: {}, //购物车转为goods key的数组
+ showStoreInfo: false,
+ new_comment: {},
+ store: {
+ comment: {
+ average_score: 0,
+ comment_total: 0,
+ new_comment: null
+ },
+ goods_total: 0,
+ order_count: 0,
+ business_hours: "9:00-22:00",
+ store_address: "",
+ store_mobile: "",
+ operating_state: 0
+ },
+ show1: false,
+ carts: [], //购物车商品
+ cartsNum: 0,
+ cartsTotal: 0.0,
+ popNum: '',
+ title: '',
+ path: '',
+ activeName: [], //分类折叠面板
+ secondaryId: "", //二级分类id
+ category_id: '', //一级分类id
+ isBottom: false, //控制到底下一级分类加载
+ category_loading: false, //控制下一级分类加载
+ category_last_loading: false, //控制上一级分类加载
+ category: [],
+ secondCategory: [],
+ goodsList: [],
+ currentCategory: "",
+ goodsCount: 0, //当前商品数量
+ pageCount: 1,
+ specid: "", //规格ID
+ catesId: "",
+ loading: false,
+ allLoaded: true,
+ showGoods: true,
+ goodsInfo: {},
+ showCart: false,
+ popTitle: "",
+ popThumb: "",
+ popStock: "",
+ popCard: {},
+ popPrice: "",
+ popmPrice: "",
+ goodsDescription: "",
+ // 滚动需要的数据
+ secondTitle: [],
+ goods: [],
+ Index: 0,
+ showDis: true,
+ scrollTop: 0,
+ goodsCartsOld: "",
+ tabIndex: 0,
+ tab: ["商品", "评价", "商家"],
+ info: '',
+ toolbar: false,
+ cartchecked: true,
+ goodsBoxheight: "564rpx",
+ storeInfoboxtop: 0,
+ minicartStyle: '',
+ leftPrice: '',
+ buttondisab: true,
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+
+ amout: false,
+ //
+ get_coupon: [],
+ micro_communities: [],
+ get_recommend_goods: [],
+ store_member: [],
+ store_room: [],
+
+ //门店配送 start +++++++++++++++++++++++
+ delivery_note: "", //门店配送说明
+ delivery_area: [
+ [116.403322, 39.920255]
+ ], // 配送范围经纬度
+ locations: [116.403322, 39.920255], //门店经纬度
+ delivery_status: 0, //是否开启门店配送
+ markers_2: [{ // 获取返回结果,放到mks数组中
+ latitude: 23.099994,
+ longitude: 113.324520,
+ iconPath: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //图标路径
+ width: 20,
+ height: 25,
+ callout: {
+ padding: '10rpx',
+ borderRadius: '5rpx'
+ }
+ }],
+ polygons_2: [{
+ points: [],
+ fillColor: "#FF88887F",
+ strokeColor: "#FFF",
+ strokeWidth: 2,
+ zIndex: 1
+ }],
+ delivery: {
+ longitude: "113.324520",
+ latitude: "23.099994"
+ },
+ // end ---------------------------
+ isAeadyLoad: false,
+
+ // 满额减、满额包邮
+ get_store_full_package: '',
+ get_store_full_reduction: [],
+
+ //good more
+ goodPage: 1, //当前页数
+ goodIsLoadMore: true, //判断是否要加载更多的标志
+ goodTotal_page: 0, //总页数
+ flxShow: false, // 控制是否固定顶部
+ delivery_amount: 0, //门店起送金额
+ // 门店独立余额
+ storeAlone: false,
+
+ tabIndex2: '店铺详情',
+ tabList: [],
+ menuList: [], //标签的数组集合
+ tabName: "门店详情",
+ isLoading: false, //是否处于请求状态
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.initData();
+ if (app.globalData.store_alone_temp == 1) {
+ this.setData({
+ storeAlone: true
+ });
+ }
+ if (options.scene) {
+ let scene = decodeURIComponent(options.scene);
+ if (scene) {
+ var info_arr = [];
+ info_arr = scene.split(',');
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split('=');
+ console.log(chil_arr);
+ if (chil_arr[0] == 'store_id') {
+ this.setData({
+ store_id: chil_arr[1]
+ });
+ }
+ if (chil_arr[0] == 'mid') {
+ app._setMid(chil_arr[1]);
+ }
+ }
+ }
+ }
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ if (options.fromOrder == 1) {
+ this.setData({
+ store_id: '',
+ order_id: options.store_id
+ });
+ }
+ if (options.mid) {
+ app._setMid(options.mid);
+ }
+ if (options.activeType === "comment") {
+ this.setData({
+ tabIndex: 1
+ });
+ }
+ this.getStoresDetails();
+ this.data.isAeadyLoad = true;
+ },
+ readImg(e) {
+ console.log(e);
+ let url = e.currentTarget.dataset.url;
+ wx.previewImage({
+ current: url, // 当前显示图片的http链接
+ urls: [url] // 需要预览的图片http链接列表
+ });
+ },
+ gotoGoodDetail(e) {
+ console.log(e);
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+ copybtn(e) {
+ let wechatCode = e.currentTarget.dataset.wechat;
+ wx.setClipboardData({
+ data: wechatCode ? wechatCode : '',
+ success(res) {
+ wx.showToast({
+ icon: 'none',
+ title: '复制成功',
+ duration: 1000
+ });
+ }
+ });
+ },
+ chooseTab(e) {
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ tabIndex2: Number(e.currentTarget.dataset.index),
+ tabName: item.name
+ });
+ if(item.name == '门店签到'){
+ wx.navigateTo({
+ url: '/packageF/storeSign/storeSign/storeSign?id='+this.data.store_id,
+ })
+ return
+ }
+ this.getTabsData(); //请求标签数据
+ },
+ getTabsData() {
+ if (!this.data.menuList[this.data.tabIndex2].url) {
+ // getStoreInfo()方法返回并处理menuList数组
+ // 如该标签数据需要请求api获取,让后端返回请求接口的api;
+ console.log("menu_list该标签没有返回请求api");
+ return;
+ }
+ if (this.data.menuList[this.data.tabIndex2].list.length > 0) {
+ this.data.isLoadMore = this.data.menuList[this.data.tabIndex2].isLoadMore;
+ return;
+ }
+ let _totalPage = 1;
+ let _list = [];
+ this.data.isLoading = true;
+ let urlStr = app.getNetAddresss(this.data.menuList[this.data.tabIndex2].url);
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ page: 1,
+ store_id: this.data.store_id
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ if (this.data.tabName == "门店微贴") {
+ _totalPage = res.data.last_page;
+ _list = this.setCommunities(res.data.data);
+ } else if (this.data.tabName == "门店员工") {
+ _list = res.data;
+ } else if (res.data?.data) {
+ _totalPage = res.data.last_page;
+ _list = res.data.data;
+ } else {
+ console.log("getTabsData()::error", res.data);
+ }
+ this.data.isLoadMore = true;
+ this.data.menuList[this.data.tabIndex2].isLoadMore = true;
+ this.data.menuList[this.data.tabIndex2].total_page = _totalPage;
+ if (!this.data.menuList[this.data.tabIndex2].total_page) {
+ this.data.menuList[this.data.tabIndex2].total_page = 0;
+ }
+ this.setData({
+ ['menuList[' + this.data.tabIndex2 + '].list']: _list
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+
+ setCommunities(_data) {
+ let arr = [];
+ _data.map(item => {
+ arr.push({
+ id: item.id,
+ title: item.title,
+ praise_num: item.praise_num,
+ has_one_stick_user: {
+ avatar: item.user_avatar,
+ nickname: item.user_nickname,
+ },
+ has_many_image: [{
+ url: item.image,
+ stick_id: item.id
+ }]
+ });
+ });
+ return arr;
+ },
+
+ toCard(e) {
+ let id = e.currentTarget.dataset.cardid;
+ if (id) {
+ wx.navigateTo({
+ url: '/packageB/member/business_card/BusinessCard/BusinessCard?card_id=' + id +
+ '&mark=card'
+ });
+ }
+ },
+ gomenphone(e) {
+ let mobile = e.currentTarget.dataset.phone;
+ wx.makePhoneCall({
+ phoneNumber: mobile
+ });
+ },
+ toGood(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + id
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ if (!this.data.isAeadyLoad) {
+ this.getStoresDetails('cart');
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+ this.data.isAeadyLoad = false;
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+ _getMoreData() {
+ let that = this;
+ this.data.menuList[this.data.tabIndex2].isLoadMore = false;
+ this.data.isLoadMore = false; // 防止多次请求分页数据
+
+ if (this.data.menuList[this.data.tabIndex2].page >= this.data.menuList[this.data.tabIndex2].total_page) {
+ return;
+ } else {
+ let _list = [];
+ let _json = { store_id: this.data.store_id };
+ this.data.menuList[this.data.tabIndex2].page = this.data.menuList[this.data.tabIndex2].page + 1;
+ _json.page = this.data.menuList[this.data.tabIndex2].page;
+ let urlStr = app.getNetAddresss(this.data.menuList[this.data.tabIndex2].url);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: _json,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.data.isLoadMore = true;
+
+ if (this.tabName == "门店微贴") {
+ _list = this.setCommunities(res.data);
+ } else if (this.tabName == "门店员工") {
+ _list = res;
+ } else if (res&&res.data) {
+ _list = res.data;
+ } else {
+ console.log("getTabsData()::error", res);
+ }
+ this.setData({
+ ['menuList[' + this.data.tabIndex2 + '].list']: this.data.menuList[this.data.tabIndex2].list.concat(_list)
+ });
+ } else {
+ this.data.menuList[this.data.tabIndex2].page = this.data.menuList[this.data.tabIndex2].page - 1;
+ this.data.menuList[this.data.tabIndex2].isLoadMore = false;
+ this.data.isLoadMore = false;
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline: function () {
+ let that = this;
+ let kuid = wx.getStorageSync('yz_uid');
+ let _title = app._isTextEmpty(that.data.store.store_name) ? "" : that.data.store.store_name;
+ let _link = '/packageC/o2o/o2oStore/o2oStore?fromHome=1&mid=' + kuid + '&store_id=' + this.data.store_id;
+ return {
+ title: _title,
+ path: _link
+ };
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function (res) {
+ let that = this;
+ let kuid = wx.getStorageSync('yz_uid');
+ let _title = app._isTextEmpty(that.data.store.store_name) ? '' : that.data.store.store_name;
+ let _link = '/packageC/o2o/o2oStore/o2oStore?fromHome=1&mid=' + kuid + '&store_id=' + this.data.store_id;
+ return {
+ title: _title,
+ path: _link
+ };
+ },
+ trggleCart() {
+ if (this.data.carts.length === 0) {
+ return;
+ }
+ this.setData({
+ showCart: !this.data.showCart
+ });
+ this.getminicartStyle();
+ },
+ show1Closebtn() {
+ this.setData({
+ show1: false
+ });
+ },
+ initData() {
+ this.setData({
+ tabIndex: 0,
+ category: [],
+ goodsList: [],
+ currentCategory: '',
+ goodsCount: 0,
+ pageCount: 1,
+ cartsNum: 0,
+ cartsTotal: 0.0,
+ carts: [],
+ goodsCarts: {},
+ specid: ""
+ });
+ specsManage = []; //选择池 用于排序
+ optionsId = ""; //选择后的 规格ID
+ optionsMaxCount = 1;
+ clicktag = 0;
+ scrollY = 0;
+ listHeight = [];
+ listCategoryHeight = [];
+ lastcurrentCategoryheight = "";
+ lastcurrentIndexheight = "";
+ },
+ getStoresDetails(flag) {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.get-store-info.get-stores-details");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ order_id: that.data.order_id,
+ },
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.msg === "该商家已过期,去看看其他的吧") {
+ that.setData({
+ showDis: false,
+ show8: true
+ });
+ return;
+ }
+ if (res.result == 1) {
+ res.data.store_information = res.data.store_information.replace(/
{
+ arr_delivery_area.push([Number(item.R), Number(item.Q)]);
+ });
+ that.setData({
+ delivery_area: arr_delivery_area,
+ locations: [Number(locations.longitude).toFixed(6), Number(locations.latitude).toFixed(6)]
+ });
+ if (that.data.locations && that.data.locations.length > 0) {
+ that.setData({
+ "markers_2[0].longitude": that.data.locations[0],
+ "markers_2[0].latitude": that.data.locations[1],
+ "delivery.longitude": that.data.locations[0],
+ "delivery.latitude": that.data.locations[1],
+ });
+ }
+ if (that.data.delivery_area && that.data.delivery_area.length > 0) {
+ let points = [];
+ for (let i = 0; i < that.data.delivery_area.length; i++) {
+ points.push({
+ longitude: that.data.delivery_area[i][0],
+ latitude: that.data.delivery_area[i][1]
+ });
+ }
+ that.setData({
+ "polygons_2[0].points": points,
+ });
+ }
+ }
+ // end ----------------------------
+ if (that.data.store.operating_state === 1) {
+ that.setData({
+ show1: true
+ });
+ }
+ that.setData({
+ get_coupon: res.data.get_coupon,
+ get_recommend_goods: res.data.get_recommend_goods
+ });
+
+
+ let tabList = [
+ { name: "店铺详情", api: "" },
+ { name: "门店员工", api: "plugin.store-cashier.frontend.store.get-store-info.get-store-staff" }
+ ];
+ if (res.data.is_micro_communities == 1) {
+ tabList.push({ name: "门店微贴", api: "plugin.store-cashier.frontend.store.get-store-info.get-micro-communities" });
+ }
+ if (res.data.is_room == 1) {
+ tabList.push({ name: "门店直播", api: "plugin.store-cashier.frontend.store.get-store-info.get-room" });
+ }
+ if (res.data.is_fight_groups == 1) {
+ tabList.push({ name: "门店拼团", api: "plugin.fight-groups.frontend.store.frontend-fight-groups.index" });
+ }
+ if (res.data.is_store_deposit_ladder == 1) {
+ tabList.push({ name: "定金阶梯团", api: "plugin.deposit-ladder.frontend.store.index.activities" });
+ }
+ if(res.data.enabled_store_attendance == 1){
+ tabList.push({ name: "门店签到", api: "plugin.store-attendance.frontend.dashboard.index" });
+ }
+ let menuList = [];
+ // 处理并重新组装新数组和请求api
+ tabList.forEach((val, index) => {
+ menuList.push({
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ list: [],
+ url: val.api
+ });
+ });
+ this.setData({
+ menuList:menuList,
+ tabList:tabList,
+ tabName:'店铺详情',
+ tabIndex2:0,
+ });
+
+ if (flag === 'cart') {
+ that.getFirstCart(res.data.member_cart);
+ } else {
+ that.getAllCategory(res.data.first_category);
+ that.getFirstCart(res.data.member_cart);
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ onChange(e) {
+ this.setData({
+ activeName: e.detail
+ });
+ },
+ upper(e) {
+ this.setData({
+ amout: false,
+ flxShow: false
+ });
+ },
+ binddragend() {
+ if (this.data.isBottom && this.data.goodPage >= this.data.goodTotal_page && !this.data.category_loading) {
+ let category_id = "";
+ for (let i = 0; i < this.data.category.length; i++) {
+ if (this.data.category_id == this.data.category[i].id && this.data.category[i + 1]) {
+ category_id = this.data.category[i + 1].id;
+ break;
+ }
+ }
+ if (category_id) {
+ this.setData({
+ category_id: category_id,
+ });
+ this.getSecondCategory('load', {
+ id: this.data.category_id
+ });
+ }
+ }
+ },
+ bindscrolltolower() {
+ if (this.data.goodIsLoadMore) {
+ this.getMoreGood();
+ }
+ if (this.data.goodPage >= this.data.goodTotal_page && !this.data.category_loading) {
+ this.data.isBottom = true;
+ }
+ },
+ bindrefresherpulling() {
+ this.data.isBottom = false;
+ },
+ bindrefresherrefresh() {
+ this.setData({
+ category_last_loading: true
+ });
+ if (this.data.category_last_loading && !this.data.category_loading) {
+ let category_id = "";
+ for (let i = 0; i < this.data.category.length; i++) {
+ if (this.data.category_id == this.data.category[i].id && this.data.category[i - 1]) {
+ category_id = this.data.category[i - 1].id;
+ break;
+ }
+ }
+ if (category_id) {
+ console.log("加载上一个一级分类");
+ this.setData({
+ category_id: category_id,
+ });
+ this.getSecondCategory('load', {
+ id: this.data.category_id
+ });
+ } else {
+ this.setData({
+ category_last_loading: false
+ });
+ }
+ }
+
+ },
+ foodsScrollbtn(e) {
+ let ytop = e.detail.scrollTop;
+ scrollY = Math.abs(Math.round(ytop));
+ // this.scrollMargin(scrollY)
+ // this.currentCategoryIndexBtn()
+ // this.currentIndexBtn()
+
+ this.data.scrollTop = e.detail.scrollTop;
+ if (windowHeight <= 670) {
+ if (e.detail.scrollTop > 10) {
+ if (!this.data.flxShow) {
+ this.setData({
+ amout: true,
+ flxShow: true
+ });
+ }
+ } else {
+ if (this.data.flxShow) {
+ this.setData({
+ amout: false,
+ flxShow: false
+ });
+ }
+ }
+ }
+ setTimeout(() => {
+ if(this.data.isBottom){
+ this.binddragend();
+ }
+ }, 1000);
+ },
+ getAllCategory(data) {
+ let that = this;
+ data.second_category.unshift({
+ name: '全部',
+ id: '',
+ });
+
+ that.setData({
+ category: data.first_category || [],
+ secondCategory: data.second_category,
+ secondaryId: "",
+ goods: data.goods.data || [],
+ goodTotal_page: data.goods.last_page
+ });
+ this.setData({
+ showLength: Number(5 - this.data.goods.length) > 0 ? Number(5 - this.data.goods.length) : 1,
+ });
+
+ if (this.data.category && this.data.category.length > 0) {
+ that.setData({
+ category_id: this.data.category[0].id
+ });
+ }
+ const query = wx.createSelectorQuery();
+ query.select('#storeInfo_box').boundingClientRect();
+ query.exec(function (res) {
+ that.setData({
+ Height: res[0].height + res[0].top - 60
+ });
+ });
+ //判断加的数据相等和长度
+ this.getgoodsboxheight();
+ },
+ getSecondCategory(e, category_id) {
+ let item = {};
+ if (e == 'load') {
+ item = category_id;
+ } else {
+ item = e.target.dataset.item || e.currentTarget.dataset.item;
+ }
+ this.setData({
+ category_id: item.id,
+ goods: [],
+ amout: false,
+ flxShow: false,
+ category_loading: true,
+ scrollTop: '0',
+ });
+ this.data.isBottom = false;
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.get-store-info.get-second-category');
+ urlStr += '&store_id=' + this.data.store_id;
+ urlStr += '&category_id=' + this.data.category_id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ res.data.second_category.unshift({
+ name: '全部',
+ id: '',
+ });
+
+ that.setData({
+ category_last_loading: false,
+ secondCategory: res.data.second_category,
+ secondaryId: "",
+ goods: res.data.goods.data,
+ goodPage: 1,
+ goodIsLoadMore: true,
+ goodTotal_page: res.data.goods.last_page,
+ });
+ this.setData({
+ showLength: Number(5 - this.data.goods.length) > 0 ? Number(5 - this.data.goods.length) : 1,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ setTimeout(() => {
+ this.setData({
+ category_last_loading: false,
+ category_loading: false,
+ });
+ }, 1500);
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getSecondGoods(e) {
+ let item = e.target.dataset.item || e.currentTarget.dataset.item;
+ this.setData({
+ secondaryId: item.id,
+ activeName: []
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.get-store-info.get-goods');
+ urlStr += '&store_id=' + this.data.store_id;
+ urlStr += '&category_id=' + this.data.category_id;
+ urlStr += '&second_category_id=' + this.data.secondaryId;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goods: res.data.goods.data,
+ goodPage: 1,
+ goodIsLoadMore: true,
+ goodTotal_page: res.data.goods.last_page,
+ });
+ this.setData({
+ showLength: Number(5 - this.data.goods.length) > 0 ? Number(5 - this.data.goods.length) : 1,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getMoreGood() {
+ let that = this;
+
+ this.setData({
+ goodIsLoadMore: false,
+ category_loading: true
+ });
+ if (this.data.goodPage >= this.data.goodTotal_page) {
+ console.log("没有更多了");
+ this.setData({
+ category_loading: false,
+ });
+ } else {
+ console.log("加载更多");
+ this.setData({
+ goodPage: this.data.goodPage + 1
+ });
+
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.get-store-info.get-goods');
+ urlStr += '&store_id=' + this.data.store_id;
+ urlStr += '&category_id=' + this.data.category_id;
+ urlStr += '&second_category_id=' + this.data.secondaryId || 0;
+ urlStr += '&page=' + this.data.goodPage;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodIsLoadMore: true,
+ goods: this.data.goods.concat(res.data.goods.data),
+ });
+
+ if (this.data.goodPage >= this.data.goodTotal_page) {
+ that.setData({
+ goodIsLoadMore: false,
+ });
+ }
+ } else {
+ that.setData({
+ goodIsLoadMore: false,
+ goodPage: this.goodPage - 1,
+ });
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ that.setData({
+ category_loading: false,
+ });
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+
+ },
+ //直播间跳转
+ gopage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 1) {
+ wx.navigateTo({
+ url: '/packageD/directSeeding/livePage/livePage?id=' + id + '&playerType=live'
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url: '/packageD/directSeeding/livePage/livePage?id=' + id + '&playerType=video' + '&backid=' + backid
+ });
+ } else if (status == 3) {
+ wx.navigateTo({
+ url: '/packageD/directSeeding/foreshow/foreshow?id=' + id
+ });
+ }
+ },
+
+ getCategory(data) {
+ let that = this;
+ this.setData({
+ category: data.list || []
+ });
+ if (this.data.category.length > 0) {
+ for (let i = 0; i < this.data.category.length; i++) {
+ if (this.data.category[i].childrens.length > 0) {
+ this.setData({
+ ['category[' + i + '].active']: true
+ });
+ if (this.data.category[i].childrens.length > 0) {
+ this.setData({
+ ['category[' + i + '].childrens[0].active']: true,
+ 'currentCategory': this.data.category[i].childrens[0].name,
+ 'catesId': this.data.category[i].childrens[0].id
+ });
+ // 全部二级商品数据
+ let firstClass = [];
+ let secondTitle = [];
+ this.data.category.forEach((first, index) => {
+ console.log(first);
+ if (first.childrens.length > 0) {
+ // console.log(first.childrens)
+ // return
+ if (first.childrens.length == 1) {
+ firstClass.push(first.childrens);
+ } else if (first.childrens && first.childrens[i].goods.length >= 0) {
+ firstClass.push(first.childrens);
+ }
+ } else {
+ firstClass.push([]);
+ }
+ });
+ firstClass.forEach(second => {
+ if (second.length > 0) {
+ second.forEach(title => {
+ secondTitle.push({
+ id: title.id,
+ name: title.name
+ });
+ });
+ }
+ });
+
+ this.setData({
+ secondTitle: secondTitle,
+ goods: firstClass,
+ });
+ this.setData({
+ showLength: Number(5 - this.data.goods.length) > 0 ? Number(5 - this.data.goods.length) : 1,
+ });
+ const query = wx.createSelectorQuery();
+ query.select('#storeInfo_box').boundingClientRect();
+ query.exec(function (res) {
+ that.setData({
+ Height: res[0].height + res[0].top - 60
+ });
+ });
+ //判断加加的数据相等和长度
+ this.getgoodsboxheight();
+ this._calculateCategoryHeight();
+ this._calculateHeight();
+ this.currentCategoryIndexBtn();
+ this.currentIndexBtn();
+ this.setData({
+ currentCategoryIndex: i
+ });
+ }
+ break;
+ }
+ }
+
+ }
+ },
+ getgoodsboxheight() {
+ let that = this;
+ const query = wx.createSelectorQuery();
+ query.select('#nav').boundingClientRect();
+ const query_1 = wx.createSelectorQuery();
+ query_1.select('#settlecomplete').boundingClientRect();
+ const query_3 = wx.createSelectorQuery();
+ query_3.select('#search_top').boundingClientRect();
+
+ // 判断windowHeight <= 670 从而固定storeInfo_box
+ query.exec(function (res) {
+ query_1.exec(function (res_1) {
+ query_3.exec(function (res_2) {
+ that.setData({
+ goodsBoxheight: windowHeight <= 670 ? windowHeight - res_1[0].height - res_2[0].height - (res[0].top + res[0].height) + that.data.Height + 'px' : windowHeight - res_1[0].height - res_2[0].height - that.data.Height + 'px'
+ });
+ });
+ });
+ });
+ },
+ // 监听可视化高度变化
+ _calculateCategoryHeight() {
+ let height = 0;
+ listCategoryHeight.push(height);
+ const query = wx.createSelectorQuery();
+ query.selectAll('#foodsWrapper .food-list').boundingClientRect();
+ query.exec(function (res) {
+ let foodList = res[0];
+ for (let i = 0; i < foodList.length; i++) {
+ let item = foodList[i];
+ height += item.height;
+ listCategoryHeight.push(height);
+ }
+ });
+ },
+ // 监听可视化高度变化
+ _calculateHeight() {
+ let height = 0;
+ listHeight.push(height);
+ const query_1 = wx.createSelectorQuery();
+ query_1.selectAll('#foodsWrapper .food-list-hook').boundingClientRect();
+ query_1.exec(function (res) {
+ let foodList = res[0];
+ for (let i = 0; i < foodList.length; i++) {
+ let item = foodList[i];
+ height += item.height;
+ listHeight.push(height);
+ }
+ });
+ },
+ // 计算li索引的高度变化
+ currentCategoryIndexBtn() {
+ for (let i = 0; i < listCategoryHeight.length; i++) {
+ let height1 = listCategoryHeight[i];
+ let height2 = listCategoryHeight[i + 1];
+ if ((height2 == undefined) || (scrollY >= height1 && scrollY < height2)) {
+ if (!(lastcurrentCategoryheight === height1)) {
+ this.setData({
+ currentCategoryIndex: i
+ });
+ }
+ lastcurrentCategoryheight = height1;
+ return false;
+ }
+ }
+ this.setData({
+ currentCategoryIndex: 0
+ });
+ },
+ // 计算li索引的高度变化
+ currentIndexBtn() {
+ for (let i = 0; i < listHeight.length; i++) {
+ let height1 = listHeight[i];
+ let height2 = listHeight[i + 1];
+ if (!height2 || (scrollY >= height1 && scrollY < height2)) {
+ if (!(lastcurrentIndexheight === height1)) {
+ this.setData({
+ currentIndex: this.data.secondTitle[i].id
+ });
+ }
+ lastcurrentIndexheight = height1;
+ return false;
+ }
+ }
+ this.setData({
+ currentIndex: 0
+ });
+ },
+ getFirstCart(data) {
+ this.setData({
+ carts: data,
+ goodsCarts: data,
+ cartsNum: 0,
+ cartsTotal: 0
+ });
+ this.data.carts.forEach(item => {
+ // this.setData({
+ // ['goodsCarts[' + item.goods_id + ']']: item
+ // })
+ if (
+ item.goods_id === this.data.goodsInfo.id &&
+ item.option_id === optionsId
+ ) {
+ this.setData({
+ popNum: item.total,
+ popCard: item
+ });
+ }
+ this.setData({
+ cartsNum: this.data.cartsNum + item.total,
+ cartsTotal: this.data.cartsTotal + (item.total * item.goods.price)
+ });
+ });
+ this.setData({
+ goodsCartsTotal: this.calculateTotal(this.data.carts),
+ cartsTotal: parseFloat(this.data.cartsTotal).toFixed(2)
+ });
+ },
+ //搜索跳转
+ searchJump() {
+ wx.navigateTo({
+ url: '/packageC/o2o/StoreSearch/StoreSearch?store_id=' + this.data.store_id + '&fromHome=1'
+ });
+ },
+ //跳转门店优惠券
+ gotoCupcon() {
+ wx.navigateTo({
+ url: '/packageC/o2o/store_coupon/store_coupon?id=' + this.data.store_id
+ });
+ },
+ changeTab(e) {
+ let index = e.currentTarget.dataset.index;
+ this.setData({
+ tabIndex: index,
+ // storeInfoboxtop: 0
+ });
+ this.setData({
+ amout: false,
+ flxShow: false
+ });
+ },
+ goBuy() {
+ wx.navigateTo({
+ url: '/packageC/cashier/cashier_pay/cashier_pay?store_id=' + this.data.store_id
+ });
+ },
+ selectCategoryMenu(e) {
+ let item = e.currentTarget.dataset.items;
+ if (item.childrens[0]) {
+ this.selectMenu(item.childrens[0].id);
+ console.log('kkk', item);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: "该分类暂无商品",
+ duration: 1500
+ });
+ }
+ },
+ // 点击的时候对应变化
+ selectMenuBtn(e) {
+ let id = e.currentTarget.dataset.id;
+ this.selectMenu(id);
+ },
+ //跳转门店商品的详情
+ goToGoodsO2O(e) {
+ let goods = e.currentTarget.dataset.food;
+ if (this.data.store.operating_state !== 1) {
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + goods.goods_id + '&tag=o2o' + '&store_id=' + this.data.store_id
+ });
+ }
+ },
+ //添加有规格商品到购物车
+ addGood(e) {
+ let good = e.currentTarget.dataset.item;
+
+ //价格权限
+ if (good.vip_level_status && good.vip_level_status.status == 1) {
+ wx.showToast({
+ title: good.vip_level_status.tips,
+ icon: 'none',
+ duration: 2000
+ });
+ return false;
+ }
+
+ this.setData({
+ show2: true,
+ goodsInfo: good
+ });
+ this.initPopView(); //初始化弹窗view
+ },
+ numberLeft(e) {
+ if (!this.data.buttondisab) {
+ return;
+ }
+ wx.showLoading({
+ title: '添加商品中'
+ });
+ this.setData({
+ buttondisab: false
+ });
+ let foodData = e.currentTarget.dataset.food;
+ let goodsT = e.currentTarget.dataset.goods;
+ console.log('bb1:::', foodData);
+ console.log('bb2:::', goodsT);
+ if (app._isTextEmpty(goodsT)) {
+ this.updateCart(goodsT.id, -1);
+ } else {
+ this.setData({
+ goodsCartsOld: goodsT.total,
+ ['goodsCarts[' + foodData.id + '].total']: Number(this.data.goodsCarts[foodData.id].total) - 1
+ });
+ clicktag = 0;
+ this.updateCart(this.data.goodsCarts[foodData.id].id, -1);
+ // this.changeCount(foodData.id, '');
+ }
+ },
+ //商品列表 减(弹窗)
+ numberLeft1(e) {
+ if (!this.data.buttondisab) {
+ return;
+ }
+ wx.showLoading({
+ title: '添加商品中'
+ });
+ this.setData({
+ buttondisab: false
+ });
+ let goodsT = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index;
+ if (app._isTextEmpty(goodsT)) {
+ this.updateCart(goodsT.id, -1);
+ } else {
+ this.setData({
+ goodsCartsOld: goodsT.total,
+ ['carts[' + index + '].total']: Number(goodsT.total) - 1
+ });
+ clicktag = 0;
+ this.updateCart(this.data.carts[index].id, -1);
+ // this.changeCount(index, "carts");
+ }
+ },
+ //商品列表 加
+ numberRight(e) {
+ if (!this.data.buttondisab) {
+ return;
+ }
+ wx.showLoading({
+ title: '添加商品中'
+ });
+ this.setData({
+ buttondisab: false
+ });
+ let foodData = e.currentTarget.dataset.food;
+ let goodsT = e.currentTarget.dataset.goods;
+ //价格权限
+ if (foodData.vip_level_status && foodData.vip_level_status.status == 1) {
+ wx.showToast({
+ title: foodData.vip_level_status.tips,
+ icon: 'none',
+ duration: 2000
+ });
+ return false;
+ }
+ console.log('cc1:::', foodData);
+ console.log('cc2:::', goodsT);
+ let goodindex = e.currentTarget.dataset.goodindex;
+ let index = e.currentTarget.dataset.index;
+ let foodindex = e.currentTarget.dataset.foodindex;
+ if (app._isTextEmpty(goodsT)) {
+ this.addCart(foodData, '', goodindex, index, foodindex);
+ } else {
+ this.setData({
+ goodsCartsOld: goodsT.total,
+ ['goodsCarts[' + foodData.id + '].total']: Number(this.data.goodsCarts[foodData.id].total) + 1
+ });
+ this.addCart(foodData, '', goodindex, index, foodindex);
+ }
+ },
+ //商品列表 加(弹窗)
+ numberRight1(e) {
+ if (!this.data.buttondisab) {
+ return;
+ }
+ this.setData({
+ buttondisab: false
+ });
+ wx.showLoading({
+ title: '添加商品中'
+ });
+ let goodsT = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index;
+ if (app._isTextEmpty(goodsT)) {
+ this.addCart(goodsT, "cart");
+ } else {
+ this.setData({
+ goodsCartsOld: goodsT.total,
+ ['carts[' + index + '].total']: Number(goodsT.total) + 1
+ });
+ this.addCart(goodsT, "cart");
+ }
+ },
+ changeCount_2(e) {
+ let that = this;
+ let val = e.detail.value;
+ let index = e.currentTarget.dataset.index;
+ that.setData({
+ ['carts[' + index + '].total']: val
+ });
+ let goodsCartsData = that.data.carts[index];
+ if (goodsCartsData.total < 0) {
+ wx.showToast({
+ icon: 'none',
+ title: "商品数量不能为负数",
+ duration: 1500
+ });
+ that.setData({
+ ['carts[' + index + '].total']: that.data.goodsCartsOld
+ });
+ return;
+ }
+ if (goodsCartsData.total < that.data.goodsCartsOld) {
+ let lowerNum = that.data.goodsCartsOld - goodsCartsData.total;
+ that.updateCart(goodsCartsData.id, -lowerNum);
+ } else if (goodsCartsData.total > that.data.goodsCartsOld) {
+ let addNum = goodsCartsData.total - that.data.goodsCartsOld;
+ that.updateCart(goodsCartsData.id, addNum);
+ }
+ },
+ updateCartBtn(e) {
+ let id = e.currentTarget.dataset.id;
+ let num = e.currentTarget.dataset.num;
+ this.updateCart(id, num);
+ },
+ updateCart(id, num) {
+ if (num < 0) {
+ var total = 0;
+ this.data.carts.forEach(item => {
+ console.log(item);
+ if (item.id == id) {
+ total = item.total;
+ }
+ });
+
+ if (total + num < 0) {
+ if (clicktag === 0) {
+ clicktag = 1;
+ this.delItemByCart(id);
+ setTimeout(function () {
+ clicktag = 0;
+ }, 500);
+ }
+ return;
+ }
+ if (clicktag === 0) {
+ clicktag = 1;
+ this.updateCartRequest(id, num);
+ setTimeout(function () {
+ clicktag = 0;
+ }, 500);
+ }
+ } else {
+ if (clicktag === 0) {
+ clicktag = 1;
+ this.updateCartRequest(id, num);
+ setTimeout(function () {
+ clicktag = 0;
+ }, 500);
+ }
+ }
+ },
+ delItemByCart(cart_id) {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.shoppingCart.member-cart.destroy');
+ urlStr += '&store_id=' + this.data.store_id;
+ urlStr += '&ids=' + cart_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getCart();
+ that.setData({
+ popNum: that.data.popNum - 1,
+ showCart: false
+ });
+ that.getminicartStyle();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ updateCartRequest(id, num) {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.shoppingCart.member-cart.updateNum');
+ urlStr += '&id=' + id;
+ urlStr += '&num=' + num;
+ urlStr += '&store_id=' + this.data.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (num < 0) {
+ that.setData({
+ popNum: that.data.popNum - 1
+ });
+ } else {
+ that.setData({
+ popNum: that.data.popNum + 1
+ });
+ }
+ that.getCart();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ that.getCart();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ changeCount(foodDatid, type) {
+ //this.data.carts[index]
+ let that = this;
+ if (type == 'carts') {
+ if (this.data.carts[foodDatid].total < 0) {
+ wx.showToast({
+ title: "商品数量不能为负数",
+ icon: 'none',
+ duration: 1500
+ });
+ that.setData({
+ ['carts[' + foodDatid + '].total']: that.data.goodsCartsOld
+ });
+ return;
+ }
+ if (this.data.carts[foodDatid].total < that.data.goodsCartsOld) {
+ let lowerNum = that.data.goodsCartsOld - this.data.carts[foodDatid].total;
+ that.updateCart(this.data.carts[foodDatid].id, -lowerNum);
+ } else if (this.data.carts[foodDatid].total > that.data.goodsCartsOld) {
+ let addNum = this.data.carts[foodDatid].total - that.data.goodsCartsOld;
+ that.updateCart(this.data.carts[foodDatid].id, addNum);
+ } else if ((this.data.carts[foodDatid].total == that.data.goodsCartsOld)) {
+ return;
+ }
+ } else {
+ if (this.data.goodsCarts[foodDatid].total < 0) {
+ wx.showToast({
+ title: "商品数量不能为负数",
+ icon: 'none',
+ duration: 1500
+ });
+ that.setData({
+ ['goodsCarts[' + foodDatid + '].total']: that.data.goodsCartsOld
+ });
+ return;
+ }
+ if (this.data.goodsCarts[foodDatid].total < that.data.goodsCartsOld) {
+ let lowerNum = that.data.goodsCartsOld - this.data.goodsCarts[foodDatid].total;
+ that.updateCart(this.data.goodsCarts[foodDatid].id, -lowerNum);
+ console.log('kkkk_0:::');
+ } else if (this.data.goodsCarts[foodDatid].total > that.data.goodsCartsOld) {
+ let addNum = this.data.goodsCarts[foodDatid].total - that.data.goodsCartsOld;
+ that.updateCart(this.data.goodsCarts[foodDatid].id, addNum);
+ console.log('kkkk_1:::');
+ } else if ((this.data.goodsCarts[foodDatid].total == that.data.goodsCartsOld)) {
+ console.log('kkkk_2:::');
+ return;
+ }
+ }
+
+ },
+ changeCount_1(e) {
+ let that = this;
+ let val = e.detail.value;
+ let id = e.currentTarget.dataset.id;
+ that.setData({
+ ['goodsCarts[' + id + '].total']: val
+ });
+ let goodsCartsData = this.data.goodsCarts[id];
+ if (goodsCartsData.total < 0) {
+ wx.showToast({
+ icon: 'none',
+ title: "商品数量不能为负数",
+ duration: 1500
+ });
+ that.setData({
+ ['goodsCarts[' + id + '].total']: that.data.goodsCartsOld
+ });
+ return;
+ }
+ if (goodsCartsData.total < that.data.goodsCartsOld) {
+ let lowerNum = that.data.goodsCartsOld - goodsCartsData.total;
+ that.updateCart(goodsCartsData.id, -lowerNum);
+ } else if (goodsCartsData.total > that.data.goodsCartsOld) {
+ let addNum = goodsCartsData.total - that.data.goodsCartsOld;
+ that.updateCart(goodsCartsData.id, addNum);
+ } else if (goodsCartsData.total == that.data.goodsCartsOld) {
+ return;
+ }
+ },
+ clickCount(e) {
+ let total = e.currentTarget.dataset.total;
+ this.setData({
+ goodsCartsOld: total
+ });
+ },
+ Countstop(e) {
+
+ },
+ addCart(goods, tag, goodindex, index, foodindex) {
+ let that = this;
+ let id = "";
+ if (tag === "cart") {
+ id = goods.goods_id;
+ } else {
+ id = goods.id;
+ }
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.shoppingCart.member-cart.store');
+ urlStr += '&goods_id=' + id;
+ urlStr += '&total=1';
+ urlStr += '&store_id=' + this.data.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getCart();
+ // if (tag === "cart") {
+ // that.getCart();
+ // } else {
+ // that.getCart(goodindex, index, foodindex);
+ // }
+ } else {
+ that.getCart();
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getCart(goodindex, index_1, foodindex) {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.shoppingCart.member-cart.index');
+ urlStr += '&store_id=' + this.data.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ carts: res.data,
+ goodsCarts: res.data,
+ });
+ that.data.cartsNum = 0;
+ that.data.cartsTotal = 0;
+ let cartsNum = 0,
+ cartsTotal = 0;
+ that.data.carts.forEach((item, index) => {
+ // that.setData({
+ // ['goodsCarts[' + item.goods_id + ']']: item
+ // })
+ // if (foodindex && that.data.goods[goodindex][index_1].goods[foodindex].id == item.goods_id) {
+ // that.setData({
+ // ['goods[' + goodindex + '][' + index_1 + '].goods[' + foodindex + '].buyNum']: item.total
+ // })
+ // }
+ if (item.goods_id === that.data.goodsInfo.id && item.option_id === optionsId) {
+ that.setData({
+ popNum: item.total,
+ popCard: item
+ });
+ }
+ cartsNum += item.total;
+ cartsTotal += (item.total * item.goods.price);
+
+ });
+ that.setData({
+ cartsNum,
+ cartsTotal: parseFloat(cartsTotal).toFixed(2),
+ goodsCartsTotal: that.calculateTotal(that.data.carts)
+ });
+
+ }
+ wx.hideLoading();
+ that.setData({
+ buttondisab: true
+ });
+ },
+ fail: function (res) {
+ wx.hideLoading();
+ that.setData({
+ buttondisab: true
+ });
+ console.log(res);
+ }
+ });
+ },
+ //不同规格的同一商品求和
+ calculateTotal(arr) {
+ let newArr = []; // 保存求和后的购物车数量列表
+ let temp = {};
+ let newArr2 = [];
+ for (let i in arr) {
+ let key = arr[i].goods_id;
+ if (temp[key]) {
+ temp[key].total = temp[key].total + arr[i].total; //id相同则把数量相加
+ } else {
+ temp[key] = {};
+ temp[key].goods_id = arr[i].goods_id;
+ temp[key].total = arr[i].total;
+ }
+ }
+ for (let k in temp) {
+ newArr.push(temp[k]);
+ }
+ newArr.forEach(item => {
+ newArr2[item.goods_id] = item;
+ });
+ return newArr2;
+ },
+ selectMenu(id) {
+ console.log(id);
+ this.data.secondTitle.forEach((title, i) => {
+ if (title.id === id) {
+ this.setData({
+ Index: i,
+ scrollTop: listHeight[i]
+ });
+ return i;
+ }
+ });
+ },
+ goToAdress() {
+ let latitude = this.data.store.lat;
+ let longitude = this.data.store.lng;
+ let store_name = this.data.store.store_name;
+ let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name
+ });
+ },
+ gophone() {
+ let mobile = this.data.store.store_mobile;
+ wx.makePhoneCall({
+ phoneNumber: mobile
+ });
+ },
+ isHasDifferType(data) {
+ //门店购物车提交结算的时候,要判断当前购物车中是否同时存在普通商品和安装服务商品,如果同时存在,要弹框提示
+ // 商品不是安装服务商品,直接没有live_install这个字段
+ let open_state = 0; //有安装服务的商品
+ let clone_state = 0; //没安装服务的商品
+ let plugin_name = "";
+ data.forEach(item => {
+ if (item.live_install && item.live_install.open_state == 1) {
+ open_state += 1;
+ plugin_name = item.live_install.plugin_name;
+ } else {
+ clone_state += 1;
+ }
+ });
+ if (open_state != 0 && clone_state != 0) {
+ //都有值说明存在 两种 不同商品类型,提示框显示
+ wx.showModal({
+ title: '提示',
+ content: `普通商品与${plugin_name}商品一同下单将无法享受${plugin_name},是否继续下单?`,
+ success: (res) => {
+ if (res.confirm) {
+ this._goodsOrder(data, true);
+ } else if (res.cancel) {
+ console.log(res.cancel);
+ }
+ }
+ });
+ return false;
+ }
+ return true;
+ },
+ goodsOrder(e) {
+ console.log(e);
+ let val = e.currentTarget.dataset.goodscarts;
+ this._goodsOrder(val);
+ },
+ _goodsOrder(val, status) {
+ let sum = 0;
+ if (!status && !this.isHasDifferType(val)) {
+ return;
+ }
+ this.data.carts.forEach(val => {
+ sum += val.total;
+ });
+ if (sum == 0) {
+ return;
+ }
+ if (val.length == 0 || this.data.carts.length == 0) {
+ return;
+ } else {
+ wx.navigateTo({
+ url: '/packageD/buy/myOrder_v2/myOrder_v2?tag=store&store_id=' + this.data.store_id
+ });
+ }
+ },
+ clearCart() {
+ var that = this;
+ var destroyCarts = [];
+ this.data.carts.forEach(item => {
+ destroyCarts.push(item.id);
+ });
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.shoppingCart.member-cart.destroy');
+ urlStr += '&store_id=' + this.data.store_id;
+ urlStr += '&ids=' + destroyCarts;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getCart();
+ that.setData({
+ showCart: false,
+ popNum: 0
+ });
+ that.getminicartStyle();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ goTOHome() {
+ wx.redirectTo({
+ url: '/packageC/o2o/o2oHome/o2oHome'
+ });
+ },
+ // 关闭弹窗
+ close() {
+ this.setData({
+ show2: false
+ });
+ //确认后清空数值
+ optionsId = "";
+ specsManage = [];
+ this.setData({
+ specid: "",
+ popNum: 0
+ });
+ },
+ //界面选择规格触发事件
+ selectSpecs(e, str, i) {
+ let id = 0;
+ let index = 0;
+ let indexl = 0;
+ // let data = {};
+ if (str == 'first') {
+ id = e.id;
+ index = 0;
+ indexl = i;
+ // data = e;
+ } else {
+ id = e.currentTarget.dataset.itemid;
+ index = e.currentTarget.dataset.index;
+ indexl = e.currentTarget.dataset.indexl;
+ // data = e.currentTarget.dataset.item;
+ }
+
+ //处理选择池
+ this.manageSpecs(indexl, index);
+ //处理规格组合选择状态
+ this.setGoodsSpecs(indexl, index);
+ //设置选择规格后的 价格、照片、库存
+ this.setGoodsSpecsChangeInfo(id);
+ //判断当前购买总量与库存的关系
+ this.getMaxCount();
+ },
+ //处理选择池
+ manageSpecs(indexl, index) {
+ let data = this.data.goodsInfo.has_many_specs[indexl].specitem[index];
+ var specsObject = new Object();
+ specsObject.id = data.id;
+ specsObject.specid = data.specid;
+ specsObject.title = data.title;
+
+ if (specsManage.length > 0) {
+ for (let i = 0; i < specsManage.length; i++) {
+ if (specsManage[i].specid == specsObject.specid) {
+ specsManage.splice(i, 1);
+ }
+ }
+ specsManage.push(specsObject);
+ } else {
+ specsManage.push(specsObject);
+ }
+ //排序
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ var newSpecsManage = [];
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.goodsInfo.has_many_specs[i].id == specsManage[j].specid) {
+ newSpecsManage.push(specsManage[j]);
+ break;
+ }
+ }
+ }
+ specsManage = newSpecsManage;
+ }
+ this.setGoodsDescription();
+ },
+ //处理goodsDescription 数据
+ setGoodsDescription() {
+ var description = "";
+ //相等代表全选了 体现语句
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ description = "已选择 ";
+ for (let i = 0; i < specsManage.length; i++) {
+ description += specsManage[i].title + " ";
+ }
+ this.setData({
+ goodsDescription: description
+ });
+ } else {
+ description = "请选择 ";
+
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ for (let j = 0; j < specsManage.length; j++) {
+ if (this.data.goodsInfo.has_many_specs[i].id != specsManage[j].specid) {
+ description += this.data.goodsInfo.has_many_specs[i].title + " ";
+ break;
+ }
+ }
+ }
+ this.setData({
+ goodsDescription: description
+ });
+ }
+ },
+ //处理规格组合选择状态 过滤数据
+ setGoodsSpecs(indexl, index) {
+ let specs = this.data.goodsInfo.has_many_specs[indexl].specitem[index];
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ if (specs.specid != this.data.goodsInfo.has_many_specs[i].id) {
+ this.setGoodsSpecsStatus(i,
+ specs.id
+ );
+ }
+ }
+ },
+ //处理规格组合选择状态 处理状态 specitem 组合数组(未选中的) id当前选中的ID 根据ID 组合算是否有当前组合
+ setGoodsSpecsStatus(index, id) {
+ let specitem = this.data.goodsInfo.has_many_specs[index].specitem;
+ let options = []; //数据池
+ for (let i = 0; i < this.data.goodsInfo.has_many_options.length; i++) {
+ let _specs = this.data.goodsInfo.has_many_options[i].specs.split("_");
+ for (let j = 0; j < _specs.length; j++) {
+ if (_specs[j] == id) {
+ options.push(this.data.goodsInfo.has_many_options[i]);
+ return;
+ }
+ }
+ }
+ for (let m = 0; m < options.length; m++) {
+ let _specs = options[m].specs.split("_");
+ for (let y = 0; y < _specs.length; y++) {
+ if (_specs[y] != id && options[m].stock == 0) {
+ for (let n = 0; n < specitem.length; n++) {
+ if (_specs[y] == specitem[n].id) {
+ this.setData({
+ ['data.goodsInfo.has_many_specs[' + index + '].specitem[' + n + '].c']: true
+ });
+ return;
+ }
+ }
+ } else if (_specs[y] != id && options[m].stock > 0) {
+ for (let n = 0; n < specitem.length; n++) {
+ if (_specs[y] == specitem[n].id) {
+ this.setData({
+ ['data.goodsInfo.has_many_specs[' + index + '].specitem[' + n + '].c']: false
+ });
+ return;
+ }
+ }
+ }
+ }
+ }
+ },
+ //设置选择规格后的 价格、照片、库存
+ setGoodsSpecsChangeInfo(id) {
+ //根据ID 排序 specsManage.sort();
+ specsManage.sort(function (a, b) {
+ return a.id - b.id;
+ });
+ if (specsManage.length === this.data.goodsInfo.has_many_specs.length) {
+ let goodsSpecs = "";
+ for (let j = 0; j < specsManage.length; j++) {
+ goodsSpecs += specsManage[j].id + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+ this.setData({
+ specid: goodsSpecs
+ });
+ for (let i = 0; i < this.data.goodsInfo.has_many_options.length; i++) {
+ if (goodsSpecs === this.setGoodsSpecsBySort(this.data.goodsInfo.has_many_options[i].specs)) {
+ this.setData({
+ popmPrice: this.data.goodsInfo.has_many_options[i].market_price, //设置价格
+ popPrice: this.data.goodsInfo.has_many_options[i].product_price, //设置价格
+ popThumb: app._isTextEmpty(this.data.goodsInfo.has_many_options[i].thumb) ? this.data.goodsInfo.thumb : this.data
+ .goodsInfo.has_many_options[i].thumb, //设置图片
+ popStock: this.data.goodsInfo.has_many_options[i].stock
+ });
+ optionsId = this.data.goodsInfo.has_many_options[i].id; //设置规格ID,用于生成订单
+ optionsMaxCount = this.data.goodsInfo.has_many_options[i].stock; //库存最大数 用于切换更改买家购买数量
+ if (optionsMaxCount > 0) {
+ this.setData({
+ popNum: 0
+ });
+ }
+ break;
+ }
+ }
+ for (let i = 0; i < this.data.carts.length; i++) {
+ if (this.data.carts[i].goods_id === this.data.goodsInfo.id && this.data.carts[i].option_id === optionsId) {
+ this.setData({
+ popNum: this.data.carts[i].total,
+ popCard: this.data.carts[i]
+ });
+ break;
+ }
+ this.setData({
+ popNum: 0,
+ popCard: {}
+ });
+ }
+ } else {
+ let goodsSpecs = "";
+ for (let j = 0; j < specsManage.length; j++) {
+ goodsSpecs += specsManage[j].id + "_";
+ }
+ this.setData({
+ specid: goodsSpecs
+ });
+ }
+ },
+ //处理商品goodsSpecs 并排序 新方法
+ setGoodsSpecsBySort(specs) {
+ let _specs = specs.split("_"); //先变成数组
+ //_specs.sort();//排序
+ _specs.sort(function (a, b) {
+ return a - b;
+ });
+ // 在组装回去
+ let goodsSpecs = "";
+ for (let j = 0; j < _specs.length; j++) {
+ goodsSpecs += _specs[j] + "_";
+ }
+ goodsSpecs = goodsSpecs.substring(0, goodsSpecs.length - 1); //处理"_"
+
+ return goodsSpecs;
+ },
+ //判断当前购买总量与库存的关系
+ getMaxCount() {
+ if (specsManage.length == this.data.goodsInfo.has_many_specs.length) {
+ if (optionsMaxCount == 0) {
+ //库存不足
+ this.setData({
+ popNum: 0
+ });
+ }
+ if (this.data.popNum > optionsMaxCount) {
+ this.setData({
+ popNum: optionsMaxCount
+ });
+ }
+ }
+ },
+ //弹窗提交确认
+ submitAction() {
+ if (specsManage.length < this.data.goodsInfo.has_many_specs.length) {
+ //请选择规格
+ this.setData({
+ show2: false
+ });
+ wx.showToast({
+ title: this.data.goodsDescription,
+ icon: 'none',
+ duration: 1500
+ });
+ return;
+ }
+ //处理参数
+ this.addCartRequest(this.data.goodsInfo.id, optionsId);
+ },
+ //加入购物车网络操作
+ addCartRequest(_goodsId, _optionsId) {
+ if (optionsMaxCount === 0) {
+ //库存不足
+ wx.showToast({
+ title: "商品库存不足",
+ icon: 'none',
+ duration: 1500
+ });
+ return;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.store-cashier.frontend.shoppingCart.member-cart.store');
+ urlStr += '&goods_id=' + _goodsId;
+ urlStr += '&total=1';
+ urlStr += '&option_id=' + _optionsId;
+ urlStr += '&store_id=' + this.data.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ popNum: that.data.popNum + 1,
+ });
+ that.getCart();
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ showToolbar() {
+ this.setData({
+ toolbar: !this.data.toolbar
+ });
+ },
+ gohome() {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ },
+ goorderlist() {
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2'
+ });
+ },
+ gomember() {
+ wx.reLaunch({
+ url: '/packageG/member_v2/member_v2'
+ });
+ },
+ cartChange(e) {
+ let bol = e.detail;
+ this.setData({
+ cartchecked: bol
+ });
+ },
+ //初始化弹窗view
+ initPopView() {
+ optionsId = "";
+ specsManage = [];
+ this.setData({
+ specid: "",
+ popNum: 0
+ });
+ if (this.data.goodsInfo.has_option === 1) {
+ //是否有规格
+ this.setData({
+ popTitle: this.data.goodsInfo.title,
+ popThumb: this.data.goodsInfo.thumb,
+ popStock: this.data.goodsInfo.stock,
+ popCard: {}
+ });
+ if (!this.data.specid.length) {
+ this.setData({
+ popPrice: this.data.goodsInfo.min_price + "-" + this.data.goodsInfo.max_price
+ });
+ }
+ this.setData({
+ goodsDescription: '请选择'
+ });
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.setData({
+ goodsDescription: this.data.goodsDescription + " " + this.data.goodsInfo.has_many_specs[i].title
+ });
+ }
+
+ if (!this.data.optionsId) {
+ // 默认选择第一个
+ for (let i = 0; i < this.data.goodsInfo.has_many_specs.length; i++) {
+ this.selectSpecs(this.data.goodsInfo.has_many_specs[i].specitem[0], 'first', i);
+ }
+ }
+
+ } else {
+ this.setData({
+ goodsDescription: ""
+ });
+ optionsMaxCount = this.data.goodsInfo.stock; //设置最大购买量
+ }
+ },
+ getminicartStyle() {
+ if (this.data.showCart) {
+ this.setData({
+ minicartStyle: "display: none;transform: translateY(-100%)",
+ leftPrice: "transform: translateX(-60px);"
+ });
+ } else {
+ this.setData({
+ minicartStyle: "transform: translateY(0)",
+ leftPrice: ''
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/packageC/o2o/o2oStore/o2oStore.json b/packageC/o2o/o2oStore/o2oStore.json
new file mode 100644
index 0000000..4b56a0e
--- /dev/null
+++ b/packageC/o2o/o2oStore/o2oStore.json
@@ -0,0 +1,15 @@
+{
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index",
+ "van-rate": "../../../dist/rate/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-collapse": "../../../dist/collapse/index",
+ "van-collapse-item": "../../../dist/collapse-item/index",
+ "van-transition": "../../../dist/transition/index",
+ "Waterfalls_flow": "../../mycomponent/Waterfalls_flow/Waterfalls_flow",
+ "yz_homeButton": "../../../mycomponent/yz_homeButton/yz_homeButton",
+ "cGrouplist": "../../mycomponent/grouplist/grouplist",
+ "deposit-ladder-cell": "../../components/deposit-ladder-cell/deposit-ladder-cell"
+ }
+}
diff --git a/packageC/o2o/o2oStore/o2oStore.wxml b/packageC/o2o/o2oStore/o2oStore.wxml
new file mode 100644
index 0000000..b5d8d7b
--- /dev/null
+++ b/packageC/o2o/o2oStore/o2oStore.wxml
@@ -0,0 +1,532 @@
+
+ var getindexof = function(num, id) {
+ if (num.indexOf(id) >= 0) {
+ return true
+ } else {
+ return false
+ }
+ }
+ module.exports.getindexof = getindexof;
+
+
+
+
+
+
+
+
+
+
+
+ {{ store.store_name }}
+
+
+
+ {{ store.business_hours }}
+
+
+ {{ store.dispatch }}
+
+
+
+
+
+ {{coupon.name}}
+
+
+ 更多优惠券
+
+
+
+
+ {{item}}
+
+ {{get_store_full_package}}
+
+
+ 店铺公告:{{ store.affiche?store.affiche:'' }}
+
+
+
+
+
+
+
+
+
+
+ 购物车是空的
+
+ 请选择商品
+
+
+
+ {{cartsNum}}
+
+
+
+
+ {{language['money']}}{{ cartsTotal }}
+
+ 去结算
+
+
+
+
+
+
+
+
+
+ (已选{{ cartsNum }}件)
+
+
+
+ 清空购物车
+
+
+
+
+
+
+
+ 商家休息中,暂不接受新订单
+
+
+
+ 我知道了
+
+
+
+
+
+
+
+ 该商家已过期,去看看其他的吧
+
+
+
+ 我知道了
+
+
+
+
+
+
+
+
+ {{ popTitle }}
+
+
+
+
+ {{ spec.title }}:
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+ {{language['money']}}{{ popPrice }}
+ 库存:{{popStock}}
+
+
+ 加入购物车
+
+
+
+ {{ popNum }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageC/o2o/o2oStore/o2oStore.wxss b/packageC/o2o/o2oStore/o2oStore.wxss
new file mode 100644
index 0000000..229c36c
--- /dev/null
+++ b/packageC/o2o/o2oStore/o2oStore.wxss
@@ -0,0 +1,2008 @@
+/* packageC/o2o/o2oStore_v2/o2oStore_v2.wxss */
+view {
+ box-sizing: border-box;
+}
+
+.y5 {
+ position: fixed;
+ z-index: 1000;
+ right: 0;
+ bottom: 120rpx;
+ width: 72rpx;
+ height: 72rpx;
+ background: rgba(0, 0, 0, 0.8) url(//static-o2o.360buyimg.com/daojia/new/images/menu/bm.png) 14rpx 14rpx no-repeat;
+ background-size: 130rpx 40rpx;
+ border: 2rpx solid #757575;
+ border-radius: 8rpx 0 0 8rpx;
+}
+
+.y6 {
+ position: absolute;
+ right: -2rpx;
+ bottom: 84rpx;
+ width: 190rpx;
+ border: 2rpx solid #757575;
+ background: rgba(0, 0, 0, 0.8);
+}
+
+.y6 .a {
+ display: block;
+ padding-left: 76rpx;
+ border-bottom: 2rpx solid #4b4b4b;
+ line-height: 70rpx;
+ height: 70rpx;
+ color: #fff;
+ background-image: url(//static-o2o.360buyimg.com/daojia/new/images/icon/bmenu.png);
+ background-repeat: no-repeat;
+ background-size: 32rpx 600rpx;
+}
+
+.y8 {
+ background-position: 20rpx -100rpx;
+}
+
+.yb {
+ background-position: 20rpx -400rpx;
+}
+
+.yc {
+ background-position: 20rpx -500rpx;
+ border: none;
+}
+
+.yd {
+ position: absolute;
+ bottom: -24rpx;
+ right: 20rpx;
+ width: 0;
+ height: 0;
+ z-index: 15;
+ border-width: 12rpx;
+ border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
+ border-style: solid;
+}
+
+.show {
+ display: block;
+}
+
+.hide {
+ display: none;
+}
+
+.tips {
+ line-height: 112rpx;
+}
+
+.btn-sure {
+ padding: 9.6rpx 19.2rpx;
+ background: #f15353;
+ color: #fff;
+}
+
+.all {
+ /* 选规格end */
+}
+
+.all .content {
+ padding-top: 44rpx;
+ background: #6b6060 url(//static-o2o.360buyimg.com/daojia/new/images/store_industry_1.jpg) 0 0 no-repeat;
+ -webkit-background-size: 100%;
+ -moz-background-size: 100%;
+ -ms-background-size: 100%;
+ background-size: 100%;
+}
+
+.all .content .back_search {
+ position: fixed;
+ top: 0;
+ width: 100%;
+ height: 88rpx;
+ line-height: 88rpx;
+ padding: 0 28rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ z-index: 100;
+}
+
+.all .content .back_search .fa {
+ font-size: 56rpx;
+ color: #fff;
+}
+
+.all .content .back_search .iconfont {
+ font-size: 44rpx;
+ color: #fff;
+}
+
+.all .content .search_top {
+ position: fixed;
+ top: 0;
+ width: 100%;
+ height: 88rpx;
+ line-height: 88rpx;
+ padding: 0 28rpx;
+ display: flex;
+ align-items: center;
+
+ /* background: #fff; */
+ z-index: 100;
+}
+
+.all .content .search_top .fa {
+ font-size: 56rpx;
+ color: #f2f2f2;
+}
+
+.all .content .search_top input {
+ background: #fff;
+ font-size: 28rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ width: 600rpx;
+ border-radius: 32rpx;
+ padding-left: 72rpx;
+ margin-left: 15rpx;
+ align-self: center;
+}
+
+.all .content .search_top .iconfont {
+ font-size: 40rpx;
+ color: #8c8c8c;
+ position: absolute;
+ left: 65rpx;
+ align-self: center;
+}
+
+.all .content .storeInfo_box {
+ background: #fff;
+ width: 100%;
+ min-height: 370rpx;
+
+ /* border-radius: 20px 20px 0 0; */
+
+ /* padding: 20rpx; */
+ position: relative;
+ top: 94rpx;
+ left: 0;
+ opacity: 1;
+ padding: 20rpx;
+ box-sizing: border-box;
+}
+
+.all .content .storeInfo_box.amout {
+ margin-top: -280rpx;
+ opacity: 0;
+}
+
+.all .content .storeInfo_box .storeInfo {
+ margin-left: 144rpx;
+}
+
+.all .content .storeInfo_box .storeInfo .name {
+ font-size: 32rpx;
+ font-weight: bold;
+ width: 522rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ text-align: left;
+}
+
+.all .content .storeInfo_box .storeInfo .time {
+ font-size: 24rpx;
+ margin-top: 10rpx;
+ display: flex;
+ align-items: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.all .content .storeInfo_box .storeInfo .time .span {
+ margin-right: 20rpx;
+ line-height: 44rpx;
+ display: flex;
+ align-items: center;
+}
+
+.all .content .storeInfo_box .storeInfo .time .span .icon-service_j {
+ font-size: 36rpx;
+ color: #f15353;
+ margin-right: 8rpx;
+ margin-bottom: 4rpx;
+}
+
+.all .content .storeInfo_box .storeInfo .time .span .icon-service_o {
+ font-size: 36rpx;
+ color: #f15353;
+ margin-right: 8rpx;
+ margin-bottom: 4rpx;
+}
+
+.all .content .storeInfo_box .coupon-box {
+ text-align: left;
+ display: flex;
+ margin-bottom: 12.8rpx;
+}
+
+.all .content .storeInfo_box .coupon-box .coupon-left {
+ flex: 1;
+ overflow-x: scroll;
+ word-break: keep-all;
+ display: flex;
+}
+
+.all .content .storeInfo_box .coupon-box .red-span {
+ color: #f15353;
+ border: 2rpx solid #f15353;
+ border-radius: 10rpx;
+ padding: 0 6.4rpx;
+ margin-right: 16rpx;
+}
+
+.all .content .storeInfo_box .coupon-box .coupon {
+ display: flex;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ margin-left: 19.2rpx;
+ width: 22%;
+ flex: 0 0 22%;
+ color: #f15353;
+}
+
+.all .content .storeInfo_box .reduction-box {
+ text-align: left;
+ display: flex;
+ margin-bottom: 12.8rpx;
+ color: #f15353;
+}
+
+.all .content .storeInfo_box .reduction-box .reduction-left {
+ flex: 1;
+ border: 2rpx solid #f15353;
+ border-radius: 10rpx;
+ padding: 0 6.4rpx;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.all .content .storeInfo_box .reduction-box .reduction-right {
+ width: 192rpx;
+ text-align: center;
+ overflow: hidden;
+ margin-left: 8rpx;
+ border: 2rpx solid #f15353;
+ border-radius: 10rpx;
+ padding: 0 0.4rpx;
+}
+
+.all .content .storeInfo_box .notice-box {
+ text-align: left;
+ font-size: 24rpx;
+ color: #666;
+ display: -webkit-box;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ line-height: 26rpx;
+}
+
+.all .content .storeInfo_box .storeInfo .coupon {
+ margin-top: 10rpx;
+ display: flex;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 40%;
+}
+
+.all .content .storeInfo_box .storeInfo .coupon .span {
+ width: 40rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ text-align: center;
+ display: block;
+ background: #ff9800;
+ margin-right: 10rpx;
+ color: #fff;
+ font-size: 24rpx;
+}
+
+.all .content .storeInfo_box .storeInfo .coupon .fa {
+ color: #c9c9c9;
+ font-size: 32rpx;
+ margin-left: 20rpx;
+}
+
+.all .content .storeInfo_box .storeImg {
+ width: 128rpx;
+ height: 128rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ background: #f2f2f2;
+ position: absolute;
+ left: 20rpx;
+ top: -32rpx;
+}
+
+.all .content .storeInfo_box .storeImg image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.all .content .menu_evaluate_business {
+ background: #fff;
+ padding-top: 14rpx;
+}
+
+.all .content .menu_evaluate_business .nav {
+ height: 80rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 30rpx;
+ position: relative;
+
+ /* border-bottom: solid 2rpx #ebebeb; */
+}
+
+.all .content .menu_evaluate_business .nav .select {
+ display: flex;
+}
+
+.all .content .menu_evaluate_business .nav .select .li {
+ margin-right: 60rpx;
+ font-size: 30rpx;
+ color: #999;
+}
+
+.all .content .menu_evaluate_business .nav .select .li .span {
+ display: inline-block;
+ line-height: 80rpx;
+}
+
+.all .content .menu_evaluate_business .nav .select .li .current {
+ font-size: 32rpx;
+ font-weight: bold;
+ color: #333;
+ position: relative;
+}
+
+.all .content .menu_evaluate_business .nav .select .li .current::after {
+ content: "";
+ width: 100%;
+ height: 6rpx;
+ background: #f15353;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+}
+
+.all .content .menu_evaluate_business .nav .buy_btn {
+ font-size: 24rpx;
+ border: solid 2rpx #f15353;
+ border-radius: 32rpx;
+ height: 52rpx;
+ padding: 0 20rpx;
+ color: #f15353;
+ line-height: 52rpx;
+}
+
+.all .content .menu_evaluate_business .nav .car_btn {
+ font-size: 24rpx;
+ border: solid 2rpx #ff9800;
+ border-radius: 32rpx;
+ height: 52rpx;
+ padding: 0 20rpx;
+ color: #ff9800;
+}
+
+.all .content .goods_box {
+ background: #f2f2f2;
+ display: flex;
+ position: absolute;
+ width: 100%;
+
+ /* height: 63%; */
+
+ /* height: 564rpx; */
+ overflow: hidden;
+}
+
+.all .content .goods_box .sort_box {
+ /* height: 100%;
+ overflow: hidden; */
+ flex: 0 0 160rpx;
+ background: #f9f9f9;
+}
+
+.all .content .goods_box .sort_box .second {
+ background: #fff;
+ position: relative;
+}
+
+.all .content .goods_box .sort_box .second::after {
+ height: 100%;
+ content: "";
+ width: 2rpx;
+ position: absolute;
+ top: 0;
+ right: 0;
+
+ /* border-right: 1px solid #999; */
+ transform: scaleX(0.5);
+}
+
+.all .content .goods_box .sort_box .box .li {
+ text-align: center;
+ color: #999;
+}
+
+.all .content .goods_box .sort_box .box .li .strong {
+ min-height: 92rpx;
+ -webkit-box-pack: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ display: flex;
+ align-items: center;
+ padding: 0 16rpx;
+ font-size: 24rpx;
+}
+
+.all .content .goods_box .sort_box .box .li .strong {
+ border-left: 2rpx #f2f2f2 solid;
+}
+
+.all .content .goods_box .sort_box .box .li .strong.second {
+ border-left: 2rpx #fff solid;
+}
+
+.all .content .goods_box .sort_box .box .li .strong .var {
+ line-height: 40rpx;
+ font-size: 28rpx;
+}
+
+.all .content .goods_box .sort_box .box .li .current {
+ background: #fff;
+ color: #f15353;
+ position: relative;
+}
+
+.all .content .goods_box .sort_box .box .li .current.second {
+ /* border-left: 2rpx #f15353 solid; */
+}
+
+.all .content .goods_box .sort_box .box .current1 .first {
+ color: #333;
+ position: relative;
+ background: #fff;
+}
+
+.all .content .goods_box .sort_box .box .current1 .first .var {
+ /* font-weight: bold; */
+}
+
+.all .content .goods_box .sort_box .box .current1 .first::before {
+ content: "";
+ background: #f15353;
+ width: 8rpx;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: -2rpx;
+}
+
+.all .content .goods_box .goods_list {
+ flex: 1;
+
+ /* height: 100%;
+ overflow: hidden; */
+ background: #fff;
+}
+
+.all .content .goods_box .goods_list .title {
+ /* background: #f2f2f2; */
+ line-height: 60rpx;
+ font-size: 24rpx;
+ padding: 0 20rpx;
+ text-align: left;
+}
+
+.all .content .goods_box .goods_list .Goods {
+ display: flex;
+ padding: 20rpx;
+ flex-wrap: wrap;
+ position: relative;
+ flex-direction: column;
+}
+
+.all .content .goods_box .goods_list .Goods .goodsImg {
+ width: 160rpx;
+ height: 160rpx;
+ background: #f2f2f2;
+ border-radius: 8rpx;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.all .content .goods_box .goods_list .Goods .goodsImg image {
+ width: 100%;
+ height: 100%;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right {
+ flex: 1;
+ position: relative;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .goodsName {
+ text-align: left;
+ width: 362rpx;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .goodsName .name {
+ font-size: 32rpx;
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .goodsName .buy {
+ font-size: 24rpx;
+ color: #8c8c8c;
+ margin-top: 12rpx;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .goodsName .sum {
+ font-size: 18px;
+ color: #f15353;
+ margin-top: 12rpx;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .goodsName .sum1 {
+ box-sizing: border-box;
+ font-size: 32rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ overflow: hidden;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .goodsName .sum1 .span1 {
+ font-size: 13px;
+ background: #f15353;
+ color: #fff;
+ padding: 6rpx 16rpx;
+ border-top-left-radius: 16rpx;
+ border-bottom-right-radius: 16rpx;
+ margin-left: 5px;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .goodsName .sum .span {
+ font-size: 28rpx;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .specBtn {
+ position: absolute;
+ bottom: 20rpx;
+ right: 20rpx;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .specBtn .button {
+ font-size: 24rpx;
+ background: #f15353;
+ color: #fff;
+ border-radius: 32rpx;
+ width: 104rpx;
+ height: 48rpx;
+ line-height: 48rpx;
+ text-align: center;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .addBtn {
+ position: absolute;
+ bottom: 0rpx;
+ right: 0rpx;
+ display: flex;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .content_1 {
+ display: flex;
+ align-items: center;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .addBtn .left {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-right: 10rpx;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .addBtn .center {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .addBtn .right {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-left: 10rpx;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .addBtn .iconfont {
+ width: 56rpx;
+ height: 56rpx;
+ line-height: 56rpx;
+ font-size: 26px;
+ color: #f15353;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .addBtn .icon-store_reduceLine {
+ color: #aaa;
+}
+
+.all .content .goods_box .goods_list .Goods .goods_right .addBtn input {
+ width: 64rpx;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.all .content .evaluate_box {
+ background: #f5f5f5;
+ padding-bottom: 200rpx;
+ position: absolute;
+ width: 100%;
+}
+
+.all .content .evaluate_box .evaluate_number {
+ padding: 30rpx 0;
+ background: #fff;
+ text-align: center;
+}
+
+.all .content .evaluate_box .evaluate_number .evaluate_info {
+ display: flex;
+}
+
+.all .content .evaluate_box .evaluate_number .evaluate_info .li {
+ width: 50%;
+}
+
+.all .content .evaluate_box .evaluate_number .evaluate_info .li .h6 {
+ font-size: 28px;
+}
+
+.all .content .evaluate_box .evaluate_number .evaluate_info .li .span {
+ font-size: 28rpx;
+ color: #8c8c8c;
+}
+
+.all .content .evaluate_box .evaluate_number .evaluate_info .li:first-child {
+ border-right: solid 2rpx #ebebeb;
+}
+
+.all .content .evaluate_box .evaluate_list {
+ margin-top: 20rpx;
+ background: #fff;
+ padding-left: 30rpx;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box {
+ border-bottom: solid 2rpx #ebebeb;
+ padding-right: 30rpx;
+ display: flex;
+ padding-top: 30rpx;
+ flex-direction: column;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .ueser_img {
+ width: 72rpx;
+ height: 72rpx;
+ border-radius: 64rpx;
+ background: #f2f2f2;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .ueser_img image {
+ width: 100%;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .user_info {
+ width: 606rpx;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .user_info .info_a {
+ text-align: left;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .user_info .info_a .name_date {
+ display: flex;
+ justify-content: space-between;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .user_info .info_a .name_date .name {
+ font-size: 28rpx;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .user_info .info_a .name_date .date {
+ font-size: 24rpx;
+ color: #8c8c8c;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .user_info .text {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ margin-top: 10rpx;
+ text-align: left;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .user_info .img_box {
+ display: flex;
+ flex-wrap: wrap;
+ margin-top: 10rpx;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .user_info .img_box .img {
+ width: 190rpx;
+ height: 190rpx;
+ overflow: hidden;
+ background: #f2f2f2;
+ margin-right: 14rpx;
+ margin-bottom: 14rpx;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .user_info .img_box .img image {
+ width: 100%;
+}
+
+.all .content .evaluate_box .evaluate_list .user_box .user_info .img_box .img:nth-child(3n) {
+ margin-right: 0;
+}
+
+.all .content .store_box {
+ background: #fff;
+ min-height: 70vh;
+ padding-top: 36rpx;
+ position: absolute;
+ width: 100%;
+}
+
+.all .content .store_box .top {
+ background-color: #fff;
+ min-height: 208rpx;
+ padding: 0;
+}
+
+.all .content .tab-box {
+ padding: 16rpx 25.6rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.all .content .tab-box .li {
+ padding: 6.4rpx 16rpx;
+ color: #999;
+ margin: 0 16rpx 9.6rpx 0;
+ font-weight: bold;
+}
+
+.all .content .tab-box .choose {
+ background-image: linear-gradient(#ff2c29, #ff2c29), linear-gradient(#ff7747, #ff7747);
+ color: #fff;
+ border-radius: 28rpx;
+}
+
+.all .content .detail-box {
+ padding: 16rpx 25.6rpx;
+ text-align: left;
+}
+
+.all .content .detail-box .detail-item {
+ margin-bottom: 16rpx;
+}
+
+.all .content .detail-box .detail-title {
+ flex: 1;
+ font-size: 32rpx;
+ font-weight: bold;
+ margin-bottom: 16rpx;
+}
+
+.all .content .detail-box .icon-all_daohang {
+ flex: 0 0 32rpx;
+ font-size: 52rpx;
+ color: #ff2c29;
+}
+
+.all .content .detail-box .time {
+ font-weight: bold;
+ font-size: 32rpx;
+ color: #ff2c29;
+}
+
+.all .content .goods-box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.all .content .goods-box .good-item {
+ width: 48.5%;
+ margin-bottom: 16rpx;
+ font-size: 30rpx;
+}
+
+.all .content .goods-box .good-item .good-img {
+ width: 100%;
+ height: 320rpx;
+ border-radius: 10rpx;
+}
+
+.all .content .goods-box .good-item .good-img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.all .content .goods-box .good-item .good-title {
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.all .content .goods-box .good-item .good-price {
+ color: #ff2c29;
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.all .content .goods-box .good-item:nth-child(odd) {
+ margin: 0 16rpx 16rpx 0;
+}
+
+.all .content .live-box {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 16rpx 25.6rpx;
+}
+
+.all .content .live-box .live-item {
+ width: 48.5%;
+ margin-bottom: 16rpx;
+ position: relative;
+ padding-bottom: 32rpx;
+}
+
+.all .content .live-box .live-item .live-img-box {
+ position: relative;
+ width: 100%;
+ height: 384rpx;
+ color: #fff;
+}
+
+.all .content .live-box .live-item .live-img-box img {
+ width: 100%;
+ height: 100%;
+ border-radius: 24rpx;
+}
+
+.all .content .live-box .live-item .live-img-box .left-top {
+ position: absolute;
+ left: 16rpx;
+ top: 16rpx;
+ font-size: 24rpx;
+}
+
+.all .content .live-box .live-item .live-img-box .left-top .status {
+ background: #ff2c29;
+ border-radius: 10rpx;
+ padding: 4rpx 6rpx;
+}
+
+.all .content .live-box .live-item .live-img-box .left-top .gray {
+ background: #999;
+}
+
+.all .content .live-box .live-item .live-img-box .right-top {
+ position: absolute;
+ top: 9.6rpx;
+ right: 32rpx;
+}
+
+.all .content .live-box .live-item .live-img-box .right-top .icon-zb_goods {
+ font-size: 56rpx;
+ color: #ffa303;
+}
+
+.all .content .live-box .live-item .live-img-box .right-top .goods-num {
+ position: absolute;
+ top: 6rpx;
+ right: -20rpx;
+ font-size: 20rpx;
+ color: #ff2c29;
+ background: #fff;
+ border-radius: 18rpx;
+ padding: 2rpx 4rpx;
+}
+
+.all .content .live-box .live-item .live-img-box .bottom-title {
+ position: absolute;
+ bottom: 32rpx;
+ left: 16rpx;
+ text-align: left;
+ display: -webkit-box;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.all .content .live-box .live-item .title-box {
+ width: 80%;
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.all .content .member-box {
+ padding: 16rpx 25.6rpx;
+}
+
+.all .content .member-box .member-item {
+ display: flex;
+ border-bottom: 2rpx solid #eee;
+ padding: 16rpx 0;
+}
+
+.all .content .member-box .member-item .img-box {
+ flex: 0 0 96rpx;
+ width: 96rpx;
+ height: 96rpx;
+}
+
+.all .content .member-box .member-item .img-box image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.all .content .member-box .member-item .text-box {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ text-align: left;
+ margin-left: 16rpx;
+ font-size: 24rpx;
+}
+
+.all .content .member-box .member-item .text-box .name {
+ font-weight: bold;
+ font-size: 28rpx;
+}
+
+.all .content .member-box .member-item .phone-box {
+ display: flex;
+ margin-left: 16rpx;
+ flex: 0 0 224rpx;
+ font-size: 24rpx;
+ align-items: center;
+}
+
+.all .content .member-box .member-item .phone-box .icon-box {
+ align-items: center;
+ display: flex;
+}
+
+.all .content .member-box .member-item .phone-box .icon-all_phone,
+.all .content .member-box .member-item .phone-box .icon-card_weixin1 {
+ color: #ff2c29;
+ font-size: 56rpx;
+}
+
+.all .content .member-box .member-item .phone-box .icon-advertise-next {
+ display: flex;
+ align-self: center;
+ font-size: 40rpx;
+}
+
+.all .content .fixed-box {
+ position: fixed;
+ bottom: 128rpx;
+ right: 0;
+ background: #ffca9b;
+ width: 112rpx;
+ height: 88rpx;
+ border-radius: 40rpx 0 0 40rpx;
+}
+
+.all .content .fixed-box .red-box {
+ font-size: 28rpx;
+ display: inline-block;
+ padding: 5rpx;
+ margin-top: 4rpx;
+ margin-left: -16rpx;
+ width: 80rpx;
+ height: 80rpx;
+ background: #ff2c29;
+ color: #fff;
+ border-radius: 50%;
+ text-align: center;
+ line-height: 36rpx;
+}
+
+.living_content {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+
+ /* padding-left: 20rpx;
+ padding-right: 20rpx; */
+ padding-top: 25rpx;
+ background-color: #fff;
+}
+
+.all .content .store_box .living_content .living {
+ width: 340rpx;
+ padding-bottom: 56rpx;
+ position: relative;
+ background-color: #fff;
+ border-radius: 25rpx;
+ margin-bottom: 13rpx;
+}
+
+.all .content .store_box .living_content .living .bg {
+ width: 340rpx;
+ height: 420rpx;
+ background-color: #fff;
+ border-radius: 25rpx;
+ position: relative;
+}
+
+.all .content .store_box .living_content .living .bg image {
+ width: 100%;
+ height: 100%;
+ border-radius: 25rpx;
+}
+
+.all .content .store_box .living_content .living .bg .content_show {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 19rpx;
+ padding-left: 10rpx;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .live_top_left {
+ min-width: 206rpx;
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .live_top_left .left {
+ width: 90rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .live_top_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .seeding_left {
+ min-width: 206rpx;
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .seeding_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #999;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .seeding_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .advance_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .live_top_right {
+ width: 59rpx;
+ position: relative;
+ margin-right: 7rpx;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .live_top_right .little_icon {
+ width: 50rpx;
+ height: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .live_top_right .little_icon .icon-zb_goods {
+ color: #ffa303;
+ font-size: 50rpx;
+}
+
+.all .content .store_box .living_content .living .bg .content_show .live_top .live_top_right .num {
+ min-width: 50rpx;
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+ height: 22rpx;
+ background-color: #fff;
+ border-radius: 9rpx;
+ position: absolute;
+ right: -2rpx;
+ top: 6rpx;
+ font-size: 20rpx;
+ line-height: 22rpx;
+ color: #f00;
+ text-align: center;
+ overflow: hidden;
+}
+
+.all .content .store_box .living_content .living .bg .live_bottom {
+ position: absolute;
+ height: 72rpx;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #fff;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+}
+
+.all .content .store_box .living_content .living .bootom {
+ position: absolute;
+ display: flex;
+ bottom: 10rpx;
+ left: 0;
+ right: 0;
+}
+
+.all .content .store_box .living_content .living .bootom .left {
+ width: 56rpx;
+ height: 56rpx;
+ background-color: #fff;
+ border: solid 4rpx #fff;
+ border-radius: 50%;
+ margin-right: 9rpx;
+ margin-left: 6rpx;
+}
+
+.all .content .store_box .living_content .living .bootom .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.all .content .store_box .living_content .living .bootom .right {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-top: 20rpx;
+ flex: 1;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.all .content .store_box .top .item {
+ width: 95%;
+ padding: 16rpx 0 16rpx 28rpx;
+}
+
+.all .content .store_box .top .item .li {
+ padding-right: 28rpx;
+ line-height: 58rpx;
+ padding-top: 16rpx;
+ text-align: left;
+ border-bottom: solid 2rpx #ebebeb;
+ display: flex;
+}
+
+.all .content .store_box .top .item .li icon {
+ font-size: 56rpx;
+ color: #666;
+ margin-right: 12rpx;
+}
+
+.all .content .store_box .top .item .li .a {
+ font-size: 32rpx;
+}
+
+.all .content .store_box .top .item .li:last-child {
+ border: none;
+}
+
+.all .content .store_box .store_time {
+ background: #fff;
+ margin: 20rpx 0;
+ padding: 0 28rpx;
+}
+
+.all .content .store_box .store_time .li {
+ line-height: 90rpx;
+ display: flex;
+ position: relative;
+}
+
+.all .content .store_box .store_time .li icon:first-child {
+ font-size: 28px;
+ color: #666;
+ margin-right: 12rpx;
+}
+
+.all .content .store_box .store_time .li .span {
+ font-size: 32rpx;
+}
+
+.all .content .store_box .store_time .li icon:last-child {
+ position: absolute;
+ right: 0;
+ font-size: 48rpx;
+ line-height: 90rpx;
+ color: #c9c9c9;
+}
+
+.all .content .store_box .store_info {
+ background: #fff;
+ padding: 0 28rpx 20rpx 28rpx;
+ text-align: left;
+}
+
+.all .content .store_box .store_info .introduce {
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.all .content .store_box .store_info .introduce .text {
+ padding: 20rpx 0;
+}
+
+.all .content .store_box .store_info .introduce .text .li {
+ display: flex;
+}
+
+.all .content .store_box .store_info .introduce .text .li icon {
+ font-size: 28px;
+ color: #666;
+}
+
+.all .content .store_box .store_info .introduce .text .li .span {
+ font-size: 32rpx;
+ width: 172rpx;
+ margin-left: 12rpx;
+ line-height: 80rpx;
+}
+
+.all .content .store_box .store_info .introduce .text .li .p {
+ font-size: 28rpx;
+ width: 460rpx;
+ line-height: 48rpx;
+ margin-top: 16rpx;
+}
+
+.all .content .store_box .store_info .detail {
+ padding-top: 20rpx;
+}
+
+.all .content .store_box .store_info .detail .detail_a {
+ display: flex;
+}
+
+.all .content .store_box .store_info .detail .detail_a icon {
+ font-size: 56rpx;
+ color: #666;
+}
+
+.all .content .store_box .store_info .detail .detail_a .span {
+ font-size: 32rpx;
+ margin-left: 12rpx;
+ line-height: 64rpx;
+}
+
+.all .content .store_box .store_info .detail .img {
+ height: 240rpx;
+ overflow: hidden;
+ margin: 20rpx 0;
+}
+
+.all .content .store_box .store_info .detail .img image {
+ width: 100%;
+ height: 240rpx;
+}
+
+.all .content .store_box .store_info .detail .p {
+ font-size: 28rpx;
+}
+
+.all .content .Go_settle {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ height: 100rpx;
+ background: #f2f2f2;
+ display: flex;
+ justify-content: space-between;
+ z-index: 2000;
+ align-items: center;
+}
+
+.all .content .Go_settle .iconfontcss {
+ /* background: url(https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/store_car1.png) no-repeat center;
+ background-size: 128rpx; */
+ width: 112rpx;
+ height: 112rpx;
+
+ /* line-height: 128rpx; */
+ position: absolute;
+ left: 20rpx;
+ bottom: 16rpx;
+ transition: transform 0.4s ease-out 0s;
+ background: #b1b1b1;
+ border-radius: 50%;
+ padding: 6.4rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.all .content .Go_settle .iconfontcss .iconfont {
+ color: #fff;
+ font-size: 96rpx;
+}
+
+.all .content .Go_settle .p {
+ font-size: 32rpx;
+ color: #666;
+ padding-left: 160rpx;
+ line-height: 100rpx;
+}
+
+.all .content .Go_settle .button {
+ width: 192rpx;
+ height: 70rpx;
+ border-radius: 30rpx;
+ background: #b1b1b1;
+ color: #fff;
+ font-size: 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.all .content .complete .number {
+ position: absolute;
+ top: -16rpx;
+ left: 104rpx;
+ z-index: 10;
+ padding: 0 10rpx;
+ height: 30rpx;
+ line-height: 30rpx;
+ border-radius: 14rpx;
+ text-align: center;
+ font-size: 24rpx;
+ background: #fff;
+ color: #333;
+}
+
+.all .content .complete .iconfontcss {
+ /* background: url(https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/store_car2.png) no-repeat center;
+ background-size: 128rpx; */
+ width: 112rpx;
+ height: 112rpx;
+
+ /* line-height: 128rpx; */
+
+ /* position: absolute;
+ left: 20rpx;
+ bottom: -0.32rpx; */
+ transition: transform 0.4s ease-out 0s;
+ background: #f15353;
+ border-radius: 50%;
+ padding: 6.4rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.all .content .complete .iconfontcss .icon-all_buycar {
+ color: #fff;
+ font-size: 96rpx;
+}
+
+.all .content .complete .p {
+ color: #f15353;
+ transition: transform 0.4s ease-out 0s;
+}
+
+.all .content .complete .button {
+ height: 70rpx;
+ border-radius: 30rpx;
+ background: #f15353;
+ color: #fff;
+ font-size: 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ align-self: center;
+ justify-self: center;
+}
+
+.all .content .top {
+ display: flex;
+ justify-content: space-between;
+ padding: 0 28rpx;
+ align-items: center;
+ height: 80rpx;
+ font-size: 32rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.all .content .top .iconfontcss {
+ /* display: block; */
+
+ /* background: url(../../../assets/images/store_car2.png) no-repeat center; */
+
+ /* background-size: 2.5rem; */
+ align-self: center;
+ width: 64rpx;
+ height: 64rpx;
+ background: #f15353;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.all .content .top .iconfontcss .icon-all_buycar {
+ font-size: 57rpx;
+ color: #fff;
+}
+
+.all .content .top .select {
+ font-size: 24rpx;
+ color: #8c8c8c;
+ margin-left: 8rpx;
+}
+
+.all .content .top .clear_car {
+ font-size: 28rpx;
+ color: #666;
+ display: flex;
+ align-items: center;
+}
+
+.all .content .top .clear_car .iconfont {
+ font-size: 36rpx;
+ color: #666;
+ margin-right: 8rpx;
+}
+
+.all .content .carPopup {
+ max-height: 640rpx;
+ overflow-y: scroll;
+ padding-bottom: 100rpx;
+}
+
+.all .content .carPopup .goodsList {
+ padding: 0 28rpx;
+}
+
+.all .content .carPopup .goodsList .goods {
+ border-bottom: solid 2rpx #ebebeb;
+ display: flex;
+ position: relative;
+ padding: 20rpx 0;
+ align-items: center;
+}
+
+.all .content .carPopup .goodsList .goods .goods_img {
+ width: 108rpx;
+ height: 108rpx;
+ border-radius: 4rpx;
+ overflow: hidden;
+ background: #f2f2f2;
+ margin-right: 20rpx;
+ margin-left: 20rpx;
+}
+
+.all .content .carPopup .goodsList .goods .goods_img image {
+ width: 100%;
+}
+
+.all .content .carPopup .goodsList .goods .goodsName {
+ width: 440rpx;
+ text-align: left;
+}
+
+.all .content .carPopup .goodsList .goods .goodsName .name {
+ display: flex;
+ align-items: center;
+}
+
+.all .content .carPopup .goodsList .goods .goodsName .name .install-tag {
+ background: #ff6b1b;
+ font-size: 10px;
+ color: #fff;
+ padding: 0 5px;
+ border-radius: 2px;
+ margin-right: 4px;
+}
+
+.all .content .carPopup .goodsList .goods .goodsName .name .goods-names {
+ font-size: 15px;
+ flex: 1;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.all .content .carPopup .goodsList .goods .goodsName .price {
+ color: #f15353;
+ font-size: 32rpx;
+ margin-top: 20rpx;
+}
+
+.all .content .carPopup .goodsList .goods .addBtn {
+ position: absolute;
+ bottom: 20rpx;
+ right: 0;
+ display: flex;
+}
+
+.all .content .carPopup .goodsList .goods .addBtn .iconfont {
+ width: 56rpx;
+ height: 56rpx;
+ line-height: 56rpx;
+ font-size: 52rpx;
+ color: #f15353;
+}
+
+.all .content .carPopup .goodsList .goods .addBtn .icon-store_reduceLine {
+ color: #aaa;
+}
+
+.all .content .carPopup .goodsList .goods .addBtn input {
+ width: 64rpx;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.all .content .spec_box {
+ background: #fff;
+ width: 660rpx;
+ height: 780rpx;
+ border-radius: 20rpx;
+ padding-bottom: 110rpx;
+ overflow: auto;
+ overflow-y: scroll;
+ -webkit-overflow-scrolling: touch;
+}
+
+.all .content .spec_box .spec_box_title {
+ padding-left: 5px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 550rpx;
+ display: inline-block;
+ text-align: center;
+}
+
+.all .content .spec_box .h3 {
+ border-radius: 20rpx 20rpx 0 0;
+ width: 100%;
+ background-color: #fff;
+ position: fixed;
+ line-height: 88rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ font-size: 32rpx;
+}
+
+.all .content .spec_box .h3 icon {
+ position: absolute;
+ right: 28rpx;
+ line-height: 88rpx;
+ color: #999;
+ font-size: 36rpx;
+}
+
+.all .content .spec_box .spec_a {
+ margin-top: 20rpx;
+ background: #fff;
+}
+
+.all .content .spec_box .spec_a .h5 {
+ display: block;
+ line-height: 80rpx;
+ text-align: left;
+ padding-left: 40rpx;
+}
+
+.all .content .spec_box .spec_a .option {
+ display: flex;
+ padding: 0 40rpx;
+ flex-wrap: wrap;
+}
+
+.all .content .spec_box .spec_a .option .li.cur {
+ border: solid 2rpx #f15353;
+ background: #faf0f0;
+}
+
+.all .content .spec_box .spec_a .option .li {
+ padding: 0 6px;
+ min-height: 60rpx;
+ line-height: 60rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ background: #f5f5f5;
+ border: solid 2rpx #ebebeb;
+ border-radius: 6rpx;
+}
+
+.all .content .add_car {
+ text-align: center;
+ width: 100%;
+ height: 110rpx;
+ line-height: 110rpx;
+ background-color: #fff;
+ border-top: solid 2rpx #ebebeb;
+ position: fixed;
+ bottom: 0;
+ border-radius: 0 0 20rpx 20rpx;
+}
+
+.all .content .add_car .car_btn {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 28rpx;
+}
+
+.all .content .add_car .car_btn .left {
+ color: #f15353;
+ font-size: 32rpx;
+ text-align: left;
+ flex: 0 0 416rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.all .content .add_car .car_btn .left .span {
+ font-size: 32rpx;
+}
+
+.all .content .add_car .car_btn .right .span {
+ display: block;
+ width: 178rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ border-radius: 32rpx;
+ background: #f15353;
+ color: #fff;
+ font-size: 28rpx;
+}
+
+.all .Box {
+ position: absolute;
+ bottom: 20rpx;
+ right: 20rpx;
+ display: flex;
+}
+
+.all .Box .iconfont {
+ width: 56rpx;
+ height: 56rpx;
+ line-height: 56rpx;
+ font-size: 26px;
+ color: #f15353;
+}
+
+.all .Box .icon-store_reduceLine {
+ color: #aaa;
+}
+
+.all .Box input {
+ width: 64rpx;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.all .Box .label {
+ right: 70rpx;
+ color: #333;
+ font-size: 24rpx;
+ padding: 0;
+ width: 48rpx;
+ height: 56rpx;
+ overflow: hidden;
+ display: inline-block;
+ text-align: center;
+ line-height: 56rpx;
+ vertical-align: top;
+ -webkit-background-origin: content-box;
+ background-origin: content-box;
+ background-color: transparent;
+}
+
+.all .Box .hide {
+ display: none;
+}
+
+/* .all .content .goods_box .sort_box .box .li .current::before {
+ content: "";
+ background: #f15353;
+ width: 3.2px;
+ width: 0.2rem;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: -1px;
+ left: -0.0625rem;
+} */
+
+/* 门店配送 */
+.delivery_info .detail_a {
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+ font-weight: bold;
+}
+
+.delivery_info .detail_a icon {
+ margin-right: 10rpx;
+}
+
+.catagoryBox {
+ position: absolute;
+ height: 90rpx;
+ left: 170rpx;
+ z-index: 100;
+}
+
+.catagoryBox .van-cell__title {
+ overflow: hidden;
+}
+
+.catagoryBox .van-cell {
+ width: 100%;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+ padding: 10px 15px;
+ box-sizing: border-box;
+ line-height: 24px;
+ position: relative;
+ background-color: #fff;
+ color: #323233;
+ font-size: 14px;
+ overflow: hidden;
+}
+
+.catagoryBox .activetitle .dl {
+ width: 100%;
+ overflow: hidden;
+ flex-wrap: nowrap;
+ overflow-x: auto;
+}
+
+.catagoryBox .activetitle .dl .dt {
+ flex-shrink: 0;
+ margin-bottom: 0;
+ height: 24px;
+ line-height: 24px;
+}
+
+.catagoryBox .dl {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.catagoryBox .dl .dt {
+ font-size: 24rpx;
+ height: 36rpx;
+ line-height: 36rpx;
+ padding: 0 16rpx;
+ border: dashed 2rpx rgb(229, 229, 229);
+ border-radius: 8rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.catagoryBox .dl .addClass {
+ border: dashed 2rpx #ff4949;
+ color: #f15353;
+}
+
+.catagoryBox .dl .addClass1 {
+ border: none;
+ color: #fff;
+ background: #fb5050;
+ border-radius: 28rpx;
+}
+
+.catagoryBox .dl .removeClass1 {
+ border: none;
+}
+
+.catagoryBox.topnavFixed {
+ position: fixed;
+ height: 90rpx;
+ white-space: nowrap;
+
+ /* white-space 属性设置如何处理元素内的空白 */
+ top: 212rpx;
+ left: 170rpx;
+ background: #fff;
+ z-index: 100;
+}
+
+/* 门店拼团 */
+.show_price_box {
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: 20px;
+}
+
+.show_price {
+ font-size: 12px;
+ color: #ff2c29;
+ border: solid #ff2c29 1px;
+ padding: 1px 4px;
+ margin-top: 5px;
+}
+
+.red_white {
+ color: #fff;
+ background: #ff2c29;
+ margin-right: 5px;
+}
+
+.white_red {
+ color: #ff2c29;
+ background: #fff;
+}
+
+/* 门店拼团 */
+
+/* 评论商品 */
+.goodlnfo {
+ height: 80rpx;
+ display: flex;
+ text-align: left;
+ margin: 20rpx 0;
+}
+
+.goodlnfo image {
+ width: 80rpx;
+ height: 80rpx;
+ margin-right: 20rpx;
+}
+
+.goodlnfo .goodMain {
+ flex: 1;
+ margin-right: 20rpx;
+}
+
+.goodlnfo .goodMain .titless {
+ width: 352rpx;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+.goodlnfo .goodMain .price {
+ color: #f15353;
+}
+
+.goodlnfo .sales {
+ width: 20%;
+ line-height: 80rpx;
+ font-size: 24rpx;
+ text-align: right;
+}
+
+.goods_content_show {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0;
+}
+
+.goods_content_show .goods_content_show_item {
+ font-size: 11px;
+ color: #666;
+ margin: 0 8px 0 0;
+}
+
+.reserveTxt {
+ display: flex;
+ align-items: center;
+ text-align: left;
+ font-size: 28rpx;
+ padding: 0 20rpx 0 0;
+ padding-bottom: 20rpx;
+ width: 100%;
+ box-sizing: border-box;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.reserveTxt_R {
+ margin-left: 20rpx;
+}
\ No newline at end of file
diff --git a/packageC/o2o/openGroupDetail/openGroupDetail.js b/packageC/o2o/openGroupDetail/openGroupDetail.js
new file mode 100644
index 0000000..34e5afa
--- /dev/null
+++ b/packageC/o2o/openGroupDetail/openGroupDetail.js
@@ -0,0 +1,93 @@
+// packageC/o2o/openGroupDetail/openGroupDetail.js
+let app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ list: [],
+ page:1
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.id) {
+ this.setData({
+ id: options.id
+ });
+ }
+ this.getData();
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.team-store.search-details");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ team_id: this.data.id
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ list: res.data.data
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+});
\ No newline at end of file
diff --git a/packageC/o2o/openGroupDetail/openGroupDetail.json b/packageC/o2o/openGroupDetail/openGroupDetail.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageC/o2o/openGroupDetail/openGroupDetail.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageC/o2o/openGroupDetail/openGroupDetail.wxml b/packageC/o2o/openGroupDetail/openGroupDetail.wxml
new file mode 100644
index 0000000..05d1946
--- /dev/null
+++ b/packageC/o2o/openGroupDetail/openGroupDetail.wxml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+ 订单编号:{{ item.order_sn }}
+ {{ item.status_message }}
+
+
+
+ {{ item.nickname }}
+
+ 规格:{{ item.option_title }} x{{ item.purchase_quantity }}
+ 拼团总价:{{ item.price }}
+ 实付价格:{{ item.order_price }}
+ 拼团时间:{{ item.created_at }} l 支付时间:{{ timeTranslate.timestampToTime(item.pay_time) }}
+
+
+
diff --git a/packageC/o2o/openGroupDetail/openGroupDetail.wxss b/packageC/o2o/openGroupDetail/openGroupDetail.wxss
new file mode 100644
index 0000000..b3e8507
--- /dev/null
+++ b/packageC/o2o/openGroupDetail/openGroupDetail.wxss
@@ -0,0 +1,58 @@
+/* packageC/o2o/openGroupDetail/openGroupDetail.wxss */
+#openGroup_detail .list .list-child {
+ margin-bottom: 20rpx;
+ background: #fff;
+ text-align: left;
+ padding: 28rpx;
+}
+
+#openGroup_detail .list .list-child .child-top {
+ display: flex;
+ justify-content: space-between;
+ padding-bottom: 20rpx;
+}
+
+#openGroup_detail .list .list-child .child-top .status-name {
+ font-size: 24rpx;
+ color: #f14e4e;
+}
+
+#openGroup_detail .list .list-child .member-info {
+ display: flex;
+ align-items: center;
+ padding-bottom: 20rpx;
+}
+
+#openGroup_detail .list .list-child .member-info .avtor {
+ width: 52rpx;
+ height: 52rpx;
+ border-radius: 50%;
+ margin-right: 20rpx;
+}
+
+#openGroup_detail .list .list-child .member-info .name {
+ flex: 1;
+ font-weight: bold;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+#openGroup_detail .list .list-child .list-cell {
+ padding-bottom: 20rpx;
+}
+
+#openGroup_detail .list .list-child .list-cell em {
+ color: #f14e4e;
+}
+
+#openGroup_detail .list .list-child .tiem {
+ font-size: 24rpx;
+ color: #666;
+}
diff --git a/packageC/o2o/openGroupList/openGroupList.js b/packageC/o2o/openGroupList/openGroupList.js
new file mode 100644
index 0000000..45a459f
--- /dev/null
+++ b/packageC/o2o/openGroupList/openGroupList.js
@@ -0,0 +1,355 @@
+// packageC/o2o/openGroupList/openGroupList.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ showFilter:false,
+ showDatetime:false,
+ currentDate:new Date().getTime(),
+ list:[],
+ id:0,
+ leader_name:'',
+ member_num:'',
+ status:'',
+ statuslist: [
+ {
+ id: 0,
+ name: '提交'
+ },
+ {
+ id: 1,
+ name: '拼团中'
+ },
+ {
+ id: 2,
+ name: '成功'
+ },
+ {
+ id: 3,
+ name: '失败'
+ }
+ ],
+
+ showShare: false,
+ options: [
+ { name: '分享好友', icon: 'wechat', openType: 'share' }
+ ],
+ activeID:0,
+
+ isLoadMore: true,
+ total_page:0,
+ page:1,
+
+ activeInfo:{}
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.id) {
+ this.setData({
+ id: options.id
+ });
+ }
+ this.getData();
+ },
+ getData(tag) {
+ let that = this;
+ let json = {
+ id: this.data.id,
+ store_id: this.options.store_id,
+ page: this.data.page,
+ leader_name: this.data.leader_name,
+ member_num: this.data.member_num,
+ status: this.data.status
+ };
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.team-store.search");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore:true,
+ total_page: res.data.last_page,
+ list: res.data.data
+ });
+ if (!tag) {
+ that.getLevels();
+ }else{
+ that.onClickRight();
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //获取更多数据
+ getMoreData() {
+ const that = this;
+ let urlStr = app.getNetAddresss('plugin.fight-groups.frontend.store.team-store.search');
+ that.data.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: that.data.id,
+ store_id: this.options.store_id,
+ page: that.data.page,
+ leader_name: that.data.leader_name,
+ member_num: that.data.member_num,
+ status: that.data.status
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ list: that.data.list.concat(res.data.data)
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ return;
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ }
+ },
+ getLevels(){
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.team-store.get-levels");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: this.data.id
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ levels: res.data
+ });
+
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ changeEndTime(e){
+ this.setData({
+ changeTimeID:e.currentTarget.dataset.id,
+ currentDate: e.currentTarget.dataset.endtime*1000,
+ showDatetime:true
+ });
+ },
+ toDetail(e){
+ let id = e.currentTarget.dataset.id;
+ if (id) {
+ wx.navigateTo({
+ url: '/packageC/o2o/openGroupDetail/openGroupDetail?id=' + id
+ });
+ }
+ },
+ confirmDate(){
+ this.setData({
+ showDatetime: false
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.team-store.change-end-time");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: this.data.changeTimeID,
+ end_time: this.data.currentDate/1000
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ that.getData();
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ virtualTeam(e){
+ let that = this;
+ wx.showModal({
+ title: '提示',
+ content: '是否虚拟成团',
+ success (res) {
+ if (res.confirm) {
+ let urlStr = app.getNetAddresss("plugin.fight-groups.frontend.store.team-store.virtual-team");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ team_id: e.currentTarget.dataset.id
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1000
+ });
+ that.getData();
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ },
+ onChange(e) {
+ this.setData({
+ leader_name: e.detail,
+ });
+ },
+ confirm(){
+ this.getData(true);
+ },
+ setMember_num(e){
+ let member_num = e.currentTarget.dataset.num;
+ if (this.data.member_num == member_num) {
+ this.setData({
+ member_num:''
+ });
+ return;
+ }
+ this.setData({
+ member_num:member_num
+ });
+ this.confirm();
+ },
+ onInput(event) {
+ this.setData({
+ currentDate: event.detail,
+ });
+ },
+ setStatus(e){
+ let status = e.currentTarget.dataset.id;
+ if (this.data.status === status) {
+ this.setData({
+ status:''
+ });
+ return;
+ }
+ this.setData({
+ status:status
+ });
+ this.confirm();
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ onClickRight(){
+ let status = !this.data.showFilter;
+ this.setData({
+ showFilter:status
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+ clickShare(e){
+ this.setData({
+ activeID:e.target.dataset.id,
+ showShare:true,
+ ['activeInfo.title']: e.target.dataset.title,
+ ['activeInfo.img']: e.target.dataset.img
+ });
+ },
+ onClose(){
+ this.setData({
+ showShare:false
+ });
+ },
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function (e) {
+ var value = wx.getStorageSync('yz_uid');
+ var mid = '';
+ if (value) {
+ mid = value;
+ }
+ let _params ={
+ title: '门店拼团开团列表',
+ path: '/packageC/o2o/openGroupList/openGroupList?mid=' + mid
+ };
+ if(e.from=="button"){
+ _params.title=this.data.activeInfo.title,
+ _params.imageUrl= this.data.activeInfo.img,
+ _params.path= '/packageB/member/group/GroupDetail/GroupDetail?id=' + this.data.activeID + '&store_id='+this.options.store_id+'&mid=' + mid;
+ }
+ console.log("1111111111111",_params);
+ this.data.goodshare_info={};
+ return _params;
+ }
+});
\ No newline at end of file
diff --git a/packageC/o2o/openGroupList/openGroupList.json b/packageC/o2o/openGroupList/openGroupList.json
new file mode 100644
index 0000000..69e2c54
--- /dev/null
+++ b/packageC/o2o/openGroupList/openGroupList.json
@@ -0,0 +1,12 @@
+{
+ "navigationBarTitleText": "开团列表",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-search": "../../../dist/search/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-datetime-picker":"../../../dist/datetime-picker/index",
+ "van-share-sheet": "../../../dist/share-sheet/index",
+ "van-count-down": "../../../dist/count-down/index"
+ }
+}
\ No newline at end of file
diff --git a/packageC/o2o/openGroupList/openGroupList.wxml b/packageC/o2o/openGroupList/openGroupList.wxml
new file mode 100644
index 0000000..a78bab9
--- /dev/null
+++ b/packageC/o2o/openGroupList/openGroupList.wxml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+ 编号:{{ item.id }}
+ {{ item.status_message }}
+
+
+
+ {{ item.nickname }}
+
+ 起止时间:{{ timeTranslate.timestampToTime(item.start_time) }} 至
+ {{ timeTranslate.timestampToTime(item.end_time) }}
+
+
+
+
+
+ {{ item.member_num }}人团 还差{{item.member_num-item.has_many_success_member_count}}人
+
+ 剩余:
+
+
+
+
+
+
+ 分享好友
+
+
+
+ 修改时间
+
+
+
+ 虚拟成团
+
+
+
+ 暂无数据...
+
+
+
+
+
+ 层级
+
+
+ {{ item.member_num }}人团
+
+ 拼团状态
+
+
+ {{item.name}}
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageC/o2o/openGroupList/openGroupList.wxss b/packageC/o2o/openGroupList/openGroupList.wxss
new file mode 100644
index 0000000..9a0fa9e
--- /dev/null
+++ b/packageC/o2o/openGroupList/openGroupList.wxss
@@ -0,0 +1,212 @@
+/* packageC/o2o/openGroupList/openGroupList.wxss */
+#open_group_list .list .list-child {
+ padding: 0 30rpx;
+ background: #fff;
+ margin-bottom: 20rpx;
+}
+
+#open_group_list .list .list-child .top-box {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 76rpx;
+ line-height: 76rpx;
+}
+
+#open_group_list .list .list-child .top-box .Numbering {
+ color: #333;
+}
+
+#open_group_list .list .list-child .top-box .status-name {
+ font-size: 24rpx;
+ color: #f14e4e;
+}
+
+#open_group_list .list .list-child .member-info {
+ display: flex;
+ align-items: center;
+}
+
+#open_group_list .list .list-child .member-info .avtor {
+ width: 52rpx;
+ height: 52rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+#open_group_list .list .list-child .member-info .member-name {
+ flex: 1;
+ text-align: left;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+#open_group_list .list .list-child .activity-time {
+ font-size: 24rpx;
+ text-align: left;
+ padding: 20rpx 0;
+ color: #666;
+ position: relative;
+}
+
+#open_group_list .list .list-child .grouping {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 22rpx;
+ padding: 20rpx 0;
+ position: relative;
+}
+
+#open_group_list .list .list-child .grouping .buy-info {
+ display: flex;
+ align-items: center;
+}
+
+#open_group_list .list .list-child .grouping .buy-info .buy-img {
+ margin: 0 16rpx;
+}
+
+#open_group_list .list .list-child .grouping .buy-info .buy-img image {
+ width: 46rpx;
+ height: 46rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ margin-left: -16rpx;
+}
+
+#open_group_list .list .list-child .grouping .group-countDown {
+ display: flex;
+}
+
+#open_group_list .list .list-child .grouping .van-count-down {
+ font-size: 20rpx;
+ color: #f14e4e;
+}
+
+#open_group_list .list .list-child .activity-time::after,
+#open_group_list .list .list-child .grouping::after {
+ height: 1rpx;
+ position: absolute;
+ z-index: 0;
+ bottom: 0;
+ left: 0;
+ content: "";
+ width: 100%;
+ background-image: linear-gradient(0deg, #ececec 50%, transparent 0);
+}
+
+#open_group_list .list .list-child .operate-box {
+ display: flex;
+ align-items: center;
+ padding: 20rpx 0;
+}
+
+#open_group_list .list .list-child .operate-box .operate-child {
+ flex: 1;
+ text-align: center;
+ font-size: 24rpx;
+ height: 36rpx;
+ line-height: 36rpx;
+ color: #888;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#open_group_list .list .list-child .operate-box .operate-child icon {
+ font-size: 40rpx;
+ color: #8b8b8b;
+ margin-right: 4rpx;
+}
+
+#open_group_list .list .list-child .operate-box .operate-child icon::before {
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#open_group_list .list .list-child .operate-box .operate-child .icon-share {
+ font-size: 24rpx;
+ margin-right: 8rpx;
+}
+
+#open_group_list .list .list-child .operate-box .line {
+ border-left: 1rpx solid #c8c8c8;
+}
+
+#open_group_list .filter-box {
+ color: #666;
+ height: 100%;
+ position: relative;
+}
+
+#open_group_list .filter-box .condition-name {
+ font-size: 24rpx;
+ height: 96rpx;
+ line-height: 96rpx;
+ text-align: left;
+ padding: 0 28rpx;
+}
+
+#open_group_list .filter-box .condition-list {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+#open_group_list .filter-box .condition-list .condition-child {
+ width: 120rpx;
+ height: 54rpx;
+ line-height: 54rpx;
+ background-color: #fff;
+ border: solid 1rpx #dcdcdc;
+ margin: 0 0 28rpx 28rpx;
+ font-size: 24rpx;
+ text-align: center;
+}
+
+#open_group_list .filter-box .condition-list .active-filter {
+ background-color: rgba(241, 78, 78, 0.1);
+ border: solid 1rpx #f14e4e;
+ color: #f14e4e;
+}
+
+#open_group_list .filter-box .filter-submit-box {
+ position: absolute;
+ bottom: 32rpx;
+ left: 0;
+ width: 100%;
+ display: flex;
+ justify-content: space-around;
+}
+
+#open_group_list .filter-box .filter-submit-box .filter-btn {
+ width: 180rpx;
+ height: 68rpx;
+ text-align: center;
+ line-height: 68rpx;
+ color: #f14e4e;
+ background-color: #fff;
+ border: solid 1rpx #f14e4e;
+}
+
+#open_group_list .filter-box .filter-submit-box .ok-bg {
+ background-color: #f14e4e;
+ color: #fff;
+}
+
+.blank {
+ padding: 40% 0 0;
+ text-align: center;
+ color: #666;
+ font-size: 16px;
+}
diff --git a/packageC/o2o/qrCode/qrCode.js b/packageC/o2o/qrCode/qrCode.js
new file mode 100644
index 0000000..ac998be
--- /dev/null
+++ b/packageC/o2o/qrCode/qrCode.js
@@ -0,0 +1,118 @@
+// pages/qrCode/qrCode.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ store_id: "",
+ qr_code: "",
+ keyOn: false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.key) {
+ this.setData({
+ keyOn: true
+ });
+ } else {
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+
+ }
+ this.getCode();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ downLoad(e){
+ let arr = [];
+ arr.push(this.data.qr_code);
+ wx.previewImage({
+ urls: arr,
+ });
+ },
+ getCode() {
+ let that = this;
+ let urlStr;
+ if (this.data.keyOn) {
+ urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods-buy.get-collection-code');
+ } else {
+ urlStr = app.getNetAddresss('plugin.store-cashier.frontend.store.goods-buy.goodsqrcode');
+ urlStr += '&id=' + this.data.store_id;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ qr_code: that.data.keyOn?res.data:res.data.small_qrcode
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageC/o2o/qrCode/qrCode.json b/packageC/o2o/qrCode/qrCode.json
new file mode 100644
index 0000000..f33016f
--- /dev/null
+++ b/packageC/o2o/qrCode/qrCode.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "门店二维码",
+ "usingComponents": {}
+}
diff --git a/packageC/o2o/qrCode/qrCode.wxml b/packageC/o2o/qrCode/qrCode.wxml
new file mode 100644
index 0000000..12dc570
--- /dev/null
+++ b/packageC/o2o/qrCode/qrCode.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+ 扫描二维码,跳转至门店页面
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageC/o2o/qrCode/qrCode.wxss b/packageC/o2o/qrCode/qrCode.wxss
new file mode 100644
index 0000000..55e92bb
--- /dev/null
+++ b/packageC/o2o/qrCode/qrCode.wxss
@@ -0,0 +1,33 @@
+/* pages/qrCode/qrCode.wxss */
+.goodsinfo .detail_good {
+ background: #fff;
+ overflow: hidden;
+}
+
+.goodsinfo .detail_good .goods {
+ padding: 80rpx;
+ width: 100%;
+ box-sizing: border-box;
+ background: #fafafa;
+}
+
+.goodsinfo .detail_good .goods .img {
+ width: 100%;
+ display: block;
+}
+
+.goodsinfo .detail_good .goods .img image {
+ width: 100%;
+ border-radius: 10rpx;
+}
+
+.goodsinfo .detail_good .goods .warp {
+ width: 100%;
+ display: block;
+ padding-top: 50rpx;
+ text-align: center;
+}
+
+.footer .p {
+ text-align: center;
+}
diff --git a/packageC/o2o/storeManage/storeManage.js b/packageC/o2o/storeManage/storeManage.js
new file mode 100644
index 0000000..70a6475
--- /dev/null
+++ b/packageC/o2o/storeManage/storeManage.js
@@ -0,0 +1,282 @@
+// pages/storeManage/storeManage.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ store: {
+ name: "",
+ thumb: "",
+ },
+ store_product_set: false,
+ income: {
+ money_total: 0.0,
+ sure_withdraw_money: 0.0,
+ },
+
+ status:0,
+ storeManageOpen:true
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.checkrouter();
+ this.getStoreInfo();
+ this.showCash();
+ },
+ checkrouter() {
+ try {
+ // 推广中心是否开启该功能,没开启跳转到指定路径
+ let basic_info = wx.getStorageSync("yz_basic_info");
+ let stop_info = basic_info.popularize_page.mini.vue_route;
+ for (let i = 0; i < stop_info.length; i++) {
+ if (stop_info[i] == "storeManage") {
+ this.setData({
+ storeManageOpen:false
+ });
+ if(!basic_info.popularize_page.mini.mini_url){
+ wx.showModal({
+ content: '未开启推广权限',
+ showCancel:false,
+ success:function(res){
+ if(res.confirm){
+ wx.navigateBack({
+ delta: 1
+ });
+ }
+ }
+ });
+ }else{
+ wx.showToast({
+ title: "未开启推广权限",
+ duration: 1000,
+ icon: "none",
+ success: function () {
+ setTimeout(() => {
+ wx.redirectTo({
+ url: basic_info.popularize_page.mini.mini_url,
+ });
+ }, 1000);
+ },
+ });
+ }
+ console.log(basic_info.popularize_page.mini.mini_url + "跳转的路径");
+ return;
+ }
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ getCash(){
+ wx.navigateTo({
+ url: '/packageD/buy/myOrder_v2/myOrder_v2?tag=store&isCash=1',
+ });
+ },
+ // 显示续费按钮
+ showCash() {
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.enter.enable"
+ );
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if(res.result !=1 ) return app.tips(res.msg);
+ this.setData({
+ status:res.data.status
+ });
+ }
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ onShareTimeline(){},
+ goStoreCode(){
+ wx.navigateTo({
+ url: "/packageC/o2o/qrCode/qrCode?store_id=" + this.data.store.store_id+'&key=store',
+ });
+ },
+ goqrCode() {
+ wx.navigateTo({
+ url: "/packageC/o2o/qrCode/qrCode?store_id=" + this.data.store.store_id,
+ });
+ },
+ gostoreOrderlist() {
+ wx.navigateTo({
+ url:
+ "/packageA/member/myOrder_v2/myOrder_v2?status=0" + "&orderType=store",
+ });
+ },
+ gopresentationRecord() {
+ wx.navigateTo({
+ url:
+ "/packageA/member/presentationRecord_v2/presentationRecord_v2?i=" +
+ this.data.store.store_id +
+ "&type=store",
+ });
+ },
+ goCommodityManagement() {
+ wx.navigateTo({
+ url:
+ "/packageA/member/supplier/CommodityManagement/CommodityManagement?store_id=" +
+ this.data.store.store_id +
+ "&store=store",
+ });
+ },
+ goGoodsClassify() {
+ wx.navigateTo({
+ url:
+ "/packageC/o2o/GoodsClassify/GoodsClassify?store_id=" +
+ this.data.store.store_id,
+ });
+ // 'GoodsClassify',{store_id: store.store_id}
+ },
+ getStoreInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.center.index.index"
+ );
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ store: res.data.store,
+ income: res.data.income,
+ nearby: res.data.nearby,
+ specify_show: res.data.specify_show,
+ is_open_code:res.data.is_open_code,
+ my_store_order:res.data.my_store_order
+ });
+ if (res.data.store_product_set == true) {
+ that.setData({
+ store_product_set: res.data.store_product_set,
+ });
+ }
+ if(res.data.show_store_balance_award){
+ that.setData({
+ show_store_balance_award:res.data.show_store_balance_award
+ });
+ }
+ } else {
+ if (res.data.url && res.data.url.search('/o2o/storeApply') >= 0) {
+ wx.redirectTo({
+ url: '/packageA/member/storeApply/storeApply',
+ });
+ return;
+ }
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ gowithdrawal() {
+ wx.navigateTo({
+ url: "/packageA/member/withdrawal/withdrawal",
+ });
+ },
+ // 跳转到优惠券管理
+ goDiscountsGoods() {
+ wx.navigateTo({
+ url:
+ "/packageB/member/commodity_coupon/commodity_coupon/commodity_coupon",
+ });
+ },
+ // 跳转我的门店
+ gomyStore() {
+ if (this.data.specify_show == "1") {
+ wx.navigateTo({
+ url:
+ "/packageC/o2o/o2oStore/o2oStore?store_id=" +
+ this.data.store.store_id +
+ "&fromHome=1",
+ });
+ } else {
+ wx.navigateTo({
+ url:
+ "/packageC/o2o/HomeSeller/HomeSeller?store_id=" +
+ this.data.store.store_id,
+ });
+ }
+ },
+ gotoStoreGroup(e) {
+ let key = e.currentTarget.dataset.key;
+ if(key == 'storeBalance'){
+ wx.navigateTo({
+ url:'/packageA/member/presentationRecord_v2/presentationRecord_v2?orderType='+key,
+ });
+ }else{
+ wx.navigateTo({
+ url:
+ "/packageC/o2o/o2oGroupActivitylist/o2oGroupActivitylist?store_id=" +
+ this.data.store.store_id,
+ });
+ }
+ },
+ //跳转到门店附近推荐商品
+ gorecommendlist() {
+ wx.navigateTo({
+ url:
+ "/packageD/o2o/recommendind/recommendind?store_id=" +
+ this.data.store.store_id,
+ });
+ },
+ //跳转导入商品
+ goAddGoods() {
+ wx.navigateTo({
+ url:
+ "/packageC/o2o/store_add_goods/store_add_goods?store_id=" +
+ this.data.store.store_id +
+ "&store=store",
+ });
+ },
+});
diff --git a/packageC/o2o/storeManage/storeManage.json b/packageC/o2o/storeManage/storeManage.json
new file mode 100644
index 0000000..62c2d60
--- /dev/null
+++ b/packageC/o2o/storeManage/storeManage.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "门店中心",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageC/o2o/storeManage/storeManage.wxml b/packageC/o2o/storeManage/storeManage.wxml
new file mode 100644
index 0000000..207a917
--- /dev/null
+++ b/packageC/o2o/storeManage/storeManage.wxml
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+ 有效期:{{ store.validity }}
+
+
+ 续费
+
+
+
+
+
+ {{language['money']}}{{income.money_total}}
+ 累计实收金额
+
+
+ {{language['money']}}{{income.sure_withdraw_money}}
+ 可提现金额
+
+
+
+
+
+
+
+ 收款二维码
+
+
+
+
+
+
+
+
+ 门店二维码
+
+
+
+
+
+
+
+
+ 我的订单
+
+
+
+
+
+
+
+
+ 我的提成
+
+
+
+
+
+
+
+
+ 商品管理
+
+
+
+
+
+
+
+
+ 商品分类
+
+
+
+
+
+
+
+
+ 优惠券管理
+
+
+
+
+
+
+
+
+ 导入商品
+
+
+
+
+
+
+
+
+ 门店附近推荐商品
+
+
+
+
+
+
+
+
+ 我的门店
+
+
+
+
+
+
+
+
+ 门店拼团
+
+
+
+
+
+
+
+
+ 门店余额充值提成
+
+
+
+
+
+
+
diff --git a/packageC/o2o/storeManage/storeManage.wxss b/packageC/o2o/storeManage/storeManage.wxss
new file mode 100644
index 0000000..6ae71c2
--- /dev/null
+++ b/packageC/o2o/storeManage/storeManage.wxss
@@ -0,0 +1,281 @@
+/* pages/storeManage/storeManage.wxss */
+.header {
+ height: auto;
+ background: #f15353;
+ background-size: 100% 100%;
+ padding: 40rpx;
+ position: relative;
+}
+
+.header .user {
+ display: flex;
+ text-align: center;
+}
+
+.header .user .cashier-name {
+ text-align: left;
+ flex: 2;
+ margin-left: 20rpx;
+ line-height: 60rpx;
+ color: #fff;
+ font-weight: bold;
+ font-size: 36rpx;
+}
+
+.header .user .user-head {
+ height: 104rpx;
+ width: 104rpx;
+ background: #fff;
+ border-radius: 50%;
+ border: 4rpx solid #fff;
+ box-sizing: border-box;
+ float: left;
+ overflow: hidden;
+}
+
+.header .user .user-head image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.header .user .user-info {
+ margin-top: 22rpx;
+ float: left;
+ color: #fff;
+}
+
+.header .user .set {
+ position: absolute;
+ right: 20rpx;
+ top: 20rpx;
+ color: #fff;
+ font-size: 28rpx;
+}
+
+.header .user .user-info .user-name {
+ width: auto;
+ font-size: 28rpx;
+}
+
+.header .user .user-info .user-name .b-tixian {
+ display: flex;
+ justify-content: center;
+ width: 152rpx;
+ margin-top: 16rpx;
+ margin: 0 auto;
+ padding: 10rpx;
+ border-radius: 36rpx;
+ color: #fff;
+ background: rgba(255, 255, 255, 0.3);
+ align-items: center;
+}
+
+.header .user .user-info .user-name .b-tixian icon {
+ margin-top: -6rpx;
+}
+
+.header .user .user-info .user-other {
+ height: 40rpx;
+ width: auto;
+ font-size: 28rpx;
+ line-height: 40rpx;
+ opacity: 0.8;
+}
+
+.header .user-gold {
+ height: 70rpx;
+ width: 94%;
+ padding: 10rpx 3%;
+ border-bottom: 2rpx solid #f5f3f3;
+ background: #fff;
+ font-size: 24rpx;
+ line-height: 70rpx;
+}
+
+.header .user-gold .title {
+ height: 70rpx;
+ width: auto;
+ float: left;
+ color: #666;
+}
+
+.header .user-gold .num {
+ height: 70rpx;
+ width: auto;
+ float: left;
+ color: #f90;
+}
+
+.header .user-gold .draw {
+ width: 160rpx;
+ height: 60rpx;
+ background: #6c9;
+ float: right;
+}
+
+.header .user-op {
+ height: 70rpx;
+ width: 94%;
+ padding: 10rpx 3%;
+ border-bottom: 2rpx solid #f5f3f3;
+ background: #fff;
+ font-size: 24rpx;
+ line-height: 70rpx;
+}
+
+.youxiao {
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+ width: 100%;
+ height: 2.5rem;
+ line-height: 1.25rem;
+ background-color: rgba(244, 118, 119, 1);
+ text-align: center;
+}
+
+.youxiao .left_youxiao .tian {
+ left: 4.06rem;
+ top: 11.63rem;
+ width: 5.44rem;
+ height: 1.31rem;
+ color: rgba(255, 255, 255, 1);
+ font-size: 0.81rem;
+ text-align: left;
+ margin-right: 5rem;
+}
+
+.youxiao .right_youxiao {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.youxiao .right_youxiao text {
+ left: 17.56rem;
+ display: block;
+ top: 11.56rem;
+ width: 4.38rem;
+ height: 1.5rem;
+ line-height: 1.5rem;
+ border-radius: 0.81rem;
+ background-color: rgba(241, 83, 83, 1);
+ color: rgba(255, 255, 255, 1);
+ font-size: 14px;
+ text-align: center;
+}
+
+.money-center {
+ background: #fff;
+ border-bottom: 2rpx solid #f5f3f3;
+ margin-top: 20rpx;
+ overflow: hidden;
+}
+
+.userinfo {
+ background: #fff;
+ margin-bottom: 20rpx;
+}
+
+.userinfo .ul {
+ padding: 32rpx 0;
+}
+
+.userinfo .ul .li {
+ color: #8c8c8c;
+ text-align: center;
+ display: block;
+}
+
+.userinfo .ul .li .span {
+ color: #222;
+ font-size: 28rpx;
+}
+
+.userinfo .ul .li:first-child {
+ border-right: solid 2rpx #ebebeb;
+}
+
+.userinfo .ul .li {
+ box-sizing: border-box;
+ flex: 1;
+ float: left;
+ width: 50%;
+ border: 0;
+}
+
+.userinfo .ul .li .span {
+ color: #f15353;
+ font-size: 36rpx;
+ display: inline-block;
+ margin-bottom: 12rpx;
+ font-weight: bold;
+}
+
+.userinfo .ul .li .small {
+ font-weight: normal;
+ font-size: 48rpx;
+}
+
+.userinfo .ul .li:last-child {
+ border: 0;
+}
+
+.userinfo .ul .li::after {
+ content: "";
+ display: block;
+ clear: both;
+}
+
+.userinfo .ul::after {
+ content: "";
+ display: block;
+ clear: both;
+}
+
+.list1 {
+ height: 88rpx;
+ background: #fff;
+ padding-right: 28rpx;
+ margin-left: 28rpx;
+ border-top: 2rpx solid #ebebeb;
+ font-size: 32rpx;
+ line-height: 88rpx;
+ color: #333;
+ text-align: left;
+ display: flex;
+ justify-content: space-between;
+}
+
+.list1 .left {
+ display: flex;
+ align-items: center;
+}
+
+.list1 .left .span {
+ margin-left: 20rpx;
+}
+
+.list1 .left icon {
+ font-size: 52rpx;
+ color: rgb(241, 83, 83);
+}
+
+.list1 .right {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.list1 .right van-icon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.cart {
+ height: auto;
+ width: 100%;
+ background: #fff;
+}
diff --git a/packageC/o2o/store_add_goods/store_add_goods.js b/packageC/o2o/store_add_goods/store_add_goods.js
new file mode 100644
index 0000000..cd15fd0
--- /dev/null
+++ b/packageC/o2o/store_add_goods/store_add_goods.js
@@ -0,0 +1,394 @@
+// packageC/o2o/store_add_goods/store_add_goods.js
+var app = getApp();
+var obj = {}; // 分类结构
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ columns: [], // picker的结构
+ showPopup2: false,
+ showPopup: false,
+ result: [],
+ min_price: '',
+ max_price: '',
+ keyword: '',
+ status: '',
+ store: '',
+ store_id: '',
+ commodity_data: [],
+ catetory_menus: [], //分类
+ parentid: [],
+ childid: [],
+
+
+ // more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.store) {
+ this.setData({
+ store: options.store
+ });
+ }
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this.initData();
+ this._getJson();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ console.log('没有更多数据');
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {},
+
+ chooseStatus(event) {
+ this.setData({
+ status: event.currentTarget.dataset.status
+ });
+ },
+ onChange1(event) {
+ const { picker, value } = event.detail;
+ picker.setColumnValues(1, obj[value[0].value].list);
+ },
+ onConfirm(event) {
+ this.setData({
+ parentid: event.detail.value[0].value,
+ });
+ if(event.detail.value[1]) {
+ this.setData({
+ childid: event.detail.value[1].value
+ });
+ }else {
+ this.setData({
+ childid: ''
+ });
+ }
+ this.AddGoods();
+ },
+ onClose2() {
+ this.setData({ showPopup2: false });
+ },
+ onSmallInput(event) {
+ let val = event.detail.value;
+ this.setData({
+ min_price: val
+ });
+ },
+ onInput(event) {
+ let val = event.detail.value;
+ this.setData({
+ max_price: val
+ });
+ },
+ onClose() {
+ this.setData({ showPopup: false });
+ },
+ onChange(event) {
+ this.setData({
+ result: event.detail
+ });
+ },
+ inpbtn(e) {
+ let val = e.detail.value;
+ this.setData({
+ keyword: val
+ });
+ },
+ inpbtnclear() {
+ this.setData({
+ keyword: ''
+ });
+ },
+ toShowPopup2() {
+ if(this.data.result.length <= 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '请选选择商品',
+ duration: 1500
+ });
+ return;
+ }
+ this.setData({
+ showPopup2: true
+ });
+ },
+ classifyBolbtn() {
+ this.setData({
+ showPopup: true
+ });
+ },
+ search() {
+ this.setData({ showPopup: false });
+ this._getJson();
+ },
+ AddGoods() {
+ let that = this;
+ let json = {};
+
+ let urls = 'plugin.store-product.api.product.index';
+ json = {
+ store_id: this.data.store_id,
+ updateSelect: 'updateSelect',
+ goods_ids: this.data.result,
+ category: {
+ parentid: [this.data.parentid],
+ childid: [this.data.childid]
+ }
+ };
+ let urlStr = app.getNetAddresss(urls);
+ wx.showToast({
+ title: '导入中',
+ icon: 'loading',
+ duration: 10000,
+ });
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ result: [],
+ showPopup2: false
+ });
+ wx.hideToast();
+ wx.showToast({
+ icon: 'success',
+ title: '导入成功',
+ duration: 1500
+ });
+ } else {
+ wx.hideToast();
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {}
+ });
+ },
+ // 商品数据获取
+ _getJson() {
+ let that = this;
+ let urls = '';
+ let json = {};
+ that.setData({page: 1});
+
+ if (this.data.store == 'store') {
+ urls = 'plugin.store-product.api.product.index';
+ json = {
+ store_id: this.data.store_id,
+ getGoodsInformation: 'getGoodsInformation',
+ page: 1,
+ search :{
+ keyword: this.data.keyword,
+ status: this.data.status,
+ min_price: this.data.min_price,
+ max_price: this.data.max_price
+ }
+ };
+ } else if (this.data.store == 'supplier') {
+ urls = 'plugin.supplier.frontend.goods.get-goods-list';
+ json = {
+ sid: this.data.store_id
+ };
+ }
+ let urlStr = app.getNetAddresss(urls);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ commodity_data: []
+ });
+ if (that.data.store == 'store') {
+ let menus = res.data.getGoodsInformation.catetory_menus;
+
+ if(menus.length > 0 && that.data.columns.length<=0) {
+ let columns = [];
+ res.data.getGoodsInformation.catetory_menus.map(function (item,index ) {
+ let children = [];
+
+ if(item.children) {
+ children = item.children.map(function (child,index ) {
+ return {name:child.name, value:child.id, parent_id:child.parent_id};
+ });
+ }
+ obj[item.id] = {name:item.name, value:item.id, list: children };
+ });
+ columns= [
+ {
+ values: Object.keys(obj).map(key => {return {name: obj[key].name, value: obj[key].value};}),
+ },
+ {
+ values: obj[menus[0].id].list,
+ defaultIndex: 0
+ }
+ ];
+ that.setData({
+ columns: columns
+ });
+ }
+
+ that.setData({
+ catetory_menus: res.data.getGoodsInformation.catetory_menus,
+ total_page: res.data.getGoodsInformation.list.last_page,
+ commodity_data: res.data.getGoodsInformation.list.data
+ });
+ } else if (that.data.store == 'supplier') {
+ for (let i = 0; i < res.data.list.length; i++) {
+ res.data.list[i].edit_active = false;
+ }
+ console.log(res.data, '数组的格式');
+
+ that.setData({
+ total_page: res.data.list.last_page,
+ commodity_data: res.data.list.data
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {}
+ });
+ },
+ // 获取更多数据
+ getMoreData() {
+ const that = this;
+ let urls = '';
+ let json = {};
+ if (that.data.store == 'store') {
+ urls = app.getNetAddresss('plugin.store-product.api.product.index');
+ json = {
+ store_id: that.data.store_id,
+ getGoodsInformation: 'getGoodsInformation',
+ search :{
+ keyword: this.data.keyword,
+ status: this.data.status,
+ min_price: this.data.min_price,
+ max_price: this.data.max_price
+ }
+ };
+ } else if (that.data.store == 'supplier') {
+ urls = app.getNetAddresss('plugin.supplier.frontend.goods.get-goods-list');
+ json = {
+ sid: that.data.store_id
+ };
+ }
+ that.setData({
+ isLoadMore: false
+ });
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: this.data.page + 1
+ });
+ json.page = that.data.page;
+ app._postNetWork({
+ url: urls,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.store == 'store') {
+ that.setData({
+ commodity_data: that.data.commodity_data.concat(res.data.getGoodsInformation.list.data)
+ });
+ } else if (that.data.store == 'supplier') {
+ for (var i = 0; i < res.data.list.data.length; i++) {
+ res.data.list.data[i].edit_active = false;
+ }
+ that.setData({
+ commodity_data: that.data.commodity_data.concat(res.data.list.data)
+ });
+ }
+ that.setData({
+ isLoadMore: true
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ initData() {
+ this.setData({
+ commodity_data: [],
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ });
+ }
+});
diff --git a/packageC/o2o/store_add_goods/store_add_goods.json b/packageC/o2o/store_add_goods/store_add_goods.json
new file mode 100644
index 0000000..008b21f
--- /dev/null
+++ b/packageC/o2o/store_add_goods/store_add_goods.json
@@ -0,0 +1,10 @@
+{
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-dialog": "../../../dist/dialog/index",
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-picker": "../../../dist/picker/index"
+ }
+}
diff --git a/packageC/o2o/store_add_goods/store_add_goods.wxml b/packageC/o2o/store_add_goods/store_add_goods.wxml
new file mode 100644
index 0000000..b67d39a
--- /dev/null
+++ b/packageC/o2o/store_add_goods/store_add_goods.wxml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+ {{language['money']}}
+ {{item.price}}
+
+
+ 状态:{{item.status === 1 ?'上架':'下架'}}
+
+
+
+
+
+
+
+
+
+
+
+ 导入
+
+
+
+
+ 商品状态
+
+ 全部
+ 上架
+ 下架
+
+
+
+ 价格区间
+
+
+
+
+
+
+
+
+
+ 取消
+ 确认
+
+
+
+
+
+
+
+
+ 暂无分类
+
+
+
+
diff --git a/packageC/o2o/store_add_goods/store_add_goods.wxss b/packageC/o2o/store_add_goods/store_add_goods.wxss
new file mode 100644
index 0000000..0eb1d67
--- /dev/null
+++ b/packageC/o2o/store_add_goods/store_add_goods.wxss
@@ -0,0 +1,265 @@
+/* packageC/o2o/store_add_goods/store_add_goods.wxss */
+.search {
+ position: fixed;
+ top: 0;
+ left: 0;
+ overflow: hidden;
+ background: #fff;
+ border-bottom: 2rpx solid #f5f5f5;
+ width: 100%;
+ display: flex;
+ padding-bottom: 10rpx;
+}
+
+.search .searchBox {
+ position: relative;
+ font-size: 28rpx;
+ display: flex;
+ margin-left: 2%;
+ background: #f2f2f2 none;
+ border-radius: 30rpx;
+ width: 568rpx;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.search .searchBox .van-cell {
+ padding: 0;
+ background-color: inherit;
+}
+
+.search .left {
+ margin-left: 60rpx;
+}
+
+.search .right {
+ margin-left: 50rpx;
+ display: flex;
+ text-align: center;
+ align-items: center;
+}
+
+.search .right icon {
+ font-size: 40rpx;
+}
+
+.search .searchBox input {
+ vertical-align: middle;
+ border: none;
+ outline: 0;
+ padding: 6rpx 20rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #8c8c8c;
+ font-size: 28rpx;
+ box-sizing: border-box;
+ flex: 1;
+}
+
+.search .searchBox .img-icon {
+ width: 60rpx;
+ height: 60rpx;
+ margin-left: 10rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.search .searchBox .img-icon .img-icon-btn {
+ width: 32rpx;
+ height: 32rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/search.png") no-repeat center center;
+ background-size: 80% 80%;
+}
+
+.goods-manage .goods-list .goods-list {
+ background-color: #fff;
+ padding-top: 20rpx;
+ padding-left: 20rpx;
+ padding-bottom: 20rpx;
+ display: flex;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.goods-manage .goods-list .goods-list .goods-a {
+ width: 160rpx;
+ height: 160rpx;
+ background-color: #ccc;
+ overflow: hidden;
+}
+
+.goods-manage .goods-list .goods-list .goods-a image {
+ width: 100%;
+ height: 100%;
+}
+
+.goods-manage .goods-list .goods-list .goods-b {
+ margin: 0 28rpx;
+ width: 470rpx;
+ text-align: left;
+ line-height: 40rpx;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .name {
+ height: 80rpx;
+ font-size: 28rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .title-box .p {
+ float: right;
+ padding: 4rpx 12rpx;
+ color: #fff;
+ font-size: 24rpx;
+ border-radius: 16rpx;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .title-box .red {
+ background: #f15353;
+ border: 2rpx solid #f15353;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .title-box .gray {
+ background: #8c8c8c;
+ border: 2rpx solid #8c8c8c;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .price {
+ color: #f15353;
+ font-size: 32rpx;
+ font-weight: bold;
+ flex: 1;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .price .span {
+ font-size: 24rpx;
+}
+
+.goods-manage .goods-list .goods-list:last-child {
+ border: none;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .red {
+ background-color: #f15353;
+ border-radius: 22rpx;
+ color: #fff;
+ text-align: center;
+}
+
+.goods-manage .goods-list .goods-list .goods-b .gray {
+ border: 2rpx solid #f15353;
+ border-radius: 22rpx;
+ color: #f15353;
+ text-align: center;
+}
+
+.goods-manage .van-checkbox {
+ display: flex;
+}
+
+.goods-manage .van-checkbox__icon-wrap {
+ align-self: center;
+}
+
+.goods-manage .status-box {
+ margin-top: 20rpx;
+ display: flex;
+}
+
+.goods-manage .status-box .status {
+ font-size: 26rpx;
+ flex: 0 0 150rpx;
+}
+
+.goods-manage .search-box {
+ margin: 40rpx;
+}
+
+.goods-manage .search-box .search-title {
+ color: #666;
+ margin-bottom: 20rpx;
+}
+
+.goods-manage .bottom-btn {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ background: #fff;
+}
+
+.goods-manage .red-btn {
+ background-color: #f15353;
+ border-radius: 44rpx;
+ color: #fff;
+ width: 80%;
+ margin: 16rpx auto;
+ text-align: center;
+ font-size: 32rpx;
+ line-height: 2;
+}
+
+.goods-manage .choose-box {
+ display: flex;
+}
+
+.goods-manage .choose-item {
+ border: 2rpx solid #999;
+ margin-right: 20rpx;
+ width: 100rpx;
+ border-radius: 20rpx;
+ text-align: center;
+}
+
+.goods-manage .choose-item.red {
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+}
+
+.goods-manage .input-box {
+ display: flex;
+}
+
+.goods-manage .input-item {
+ border: 2rpx solid #999;
+ border-radius: 10rpx;
+ line-height: 2;
+ width: 170rpx;
+ text-align: center;
+}
+
+.goods-manage .btn-box {
+ display: flex;
+ margin: 700rpx auto 0 auto;
+ width: 80%;
+}
+
+.goods-manage .cancel {
+ border: 2rpx solid #999;
+ margin-right: 20rpx;
+ width: 170rpx;
+ line-height: 2;
+ border-radius: 10rpx;
+ text-align: center;
+}
+
+.goods-manage .sure {
+ border-radius: 10rpx;
+ text-align: center;
+ width: 170rpx;
+ line-height: 2;
+ background-color: #f15353;
+ color: #fff;
+}
+
+.goods-manage .noClass {
+ text-align: center;
+ margin-top: 20%;
+ font-size: 32rpx;
+}
diff --git a/packageC/o2o/store_coupon/store_coupon.js b/packageC/o2o/store_coupon/store_coupon.js
new file mode 100644
index 0000000..b6681b9
--- /dev/null
+++ b/packageC/o2o/store_coupon/store_coupon.js
@@ -0,0 +1,192 @@
+// pages/store_coupon/store_coupon.js
+var app = getApp();
+const COUPON_URL = "plugin.store-cashier.frontend.store.couponList.index";
+const GET_COUPIN = "plugin.store-cashier.frontend.store.couponGet.index";
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ loading: false,
+ allLoaded: false,
+ goload: true,
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ cupconList: []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.id) {
+ this.setData({
+ store_id: options.id
+ });
+ }
+ this.initData();
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ initData() {
+ this.setData({
+ loading: false,
+ allLoaded: false,
+ goload: true,
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ cupconList: []
+ });
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(COUPON_URL);
+ urlStr += '&store_id=' + this.data.store_id;
+ urlStr += '&page=' + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ cupconList: res.data.data,
+ total_page: res.data.last_page
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ _getMoreData() {
+ let that = this;
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ that.setData({
+ page: this.data.page + 1
+ });
+ let urlStr = app.getNetAddresss(COUPON_URL);
+ urlStr += '&store_id=' + this.data.store_id;
+ urlStr += '&page=' + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data.data;
+ if (myData.length > 0) {
+ let cupconList = that.data.cupconList;
+ that.setData({
+ cupconList: cupconList.concat(myData)
+ });
+ } else {
+ that.setData({
+ isLoadMore: false
+ });
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ //领取优惠券
+ getCoupon(e) {
+ let that = this;
+ let id = e.currentTarget.dataset.id;
+ let index = e.currentTarget.dataset.index;
+ let urlStr = app.getNetAddresss(GET_COUPIN);
+ urlStr += '&coupon_id=' + id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ ['cupconList[' + index + ']']: res.data
+ });
+ wx.showToast({
+ icon: 'none',
+ title: '领取成功',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+});
diff --git a/packageC/o2o/store_coupon/store_coupon.json b/packageC/o2o/store_coupon/store_coupon.json
new file mode 100644
index 0000000..b06b8a0
--- /dev/null
+++ b/packageC/o2o/store_coupon/store_coupon.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "门店优惠券",
+ "usingComponents": {
+ }
+}
diff --git a/packageC/o2o/store_coupon/store_coupon.wxml b/packageC/o2o/store_coupon/store_coupon.wxml
new file mode 100644
index 0000000..2535634
--- /dev/null
+++ b/packageC/o2o/store_coupon/store_coupon.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ {{item.name}}
+ 满{{item.enough}}{{language['元']}}使用
+ 可领取张数:{{item.available_count}}张
+ 已领取张数:{{item.receive_count}}张
+
+
+ {{language['money']}}{{item.deduct}}
+ {{item.discount}}折
+ 立即领取
+ 已领取
+
+
+
+
diff --git a/packageC/o2o/store_coupon/store_coupon.wxss b/packageC/o2o/store_coupon/store_coupon.wxss
new file mode 100644
index 0000000..f8d6b5f
--- /dev/null
+++ b/packageC/o2o/store_coupon/store_coupon.wxss
@@ -0,0 +1,55 @@
+/* pages/store_coupon/store_coupon.wxss */
+.open_member {
+ background: #fff;
+ min-height: 1320rpx;
+}
+
+.open_member .content .coupon_box {
+ width: 690rpx;
+ height: 200rpx;
+ margin: 40rpx auto;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/o2o_coupon.png");
+ background-repeat: no-repeat;
+ background-size: 100%;
+ color: #ffb84c;
+ font-size: 30rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.open_member .content .coupon_box .coupon_a {
+ width: 490rpx;
+ padding: 0 40rpx;
+}
+
+.open_member .content .coupon_box .coupon_a li {
+ line-height: 40rpx;
+ text-align: left;
+ font-size: 26rpx;
+}
+
+.open_member .content .coupon_box .coupon_b {
+ width: 200rpx;
+}
+
+.open_member .content .coupon_box .coupon_b .p {
+ font-size: 40rpx;
+ line-height: 72rpx;
+}
+
+.open_member .content .coupon_box .coupon_b .p .span {
+ font-size: 32rpx;
+}
+
+.open_member .content .coupon_box .coupon_b .button {
+ width: 136rpx;
+ height: 52rpx;
+ border-radius: 60rpx;
+ background: #ffb84c;
+ color: #fff;
+ border: none;
+ font-size: 24rpx;
+ line-height: 52rpx;
+ text-align: center;
+}
diff --git a/packageD/ActivityDetail/ActivityDetail.js b/packageD/ActivityDetail/ActivityDetail.js
new file mode 100644
index 0000000..d3b61a4
--- /dev/null
+++ b/packageD/ActivityDetail/ActivityDetail.js
@@ -0,0 +1,413 @@
+// packageD/ActivityDetail/ActivityDetail.js
+var app = getApp();
+var WxParse = require("../../wxParse/wxParse.js");
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ store_id: "", // 门店拓客
+ //领取人数大于4
+ lingquBox: true,
+ // 购买人数大于4
+ newGmBox: true,
+ // 活动介绍内容是否全部展示
+ boxShow: true,
+ // 背景图片
+ bosPto: true,
+ audio_link: "",
+ songStop: true,
+ infoList: {},
+
+ poster_open:0,
+ poster_show:false,
+ poster_url:'',
+
+ show:false
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ console.log(options);
+ this.setData({
+ kind: options.id,
+ store_id: options.store_id,
+ });
+ if (options.scene) {
+ let scene = decodeURIComponent(options.scene);
+ if (scene) {
+ var info_arr = [];
+ info_arr = scene.split("&");
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split("=");
+ console.log("59", chil_arr);
+ if (chil_arr[0] == "id") {
+ this.setData({
+ kind: chil_arr[1],
+ });
+ } else if (chil_arr[0] == "mid") {
+ app._setMid(chil_arr[1]);
+ }
+ }
+ }
+ }
+ this.getData();
+ },
+ tapLoadWatch(e){
+ let img = e.currentTarget.dataset.img
+ wx.previewImage({
+ current: img, // 当前显示图片的http链接
+ urls: [img] // 需要预览的图片http链接列表
+ })
+ },
+ setPosterShow(){
+ this.setData({poster_show:!this.data.poster_show});
+ },
+ getPosterImage(){
+ if(this.data.poster_url!='') {
+ this.setData({poster_show:true});
+ return;
+ }
+ let urlStr = app.getNetAddresss(
+ "plugin.share-activity.frontend.activity.get-poster"
+ );
+ app._getNetWork({
+ data: {
+ activity_id: this.data.kind,
+ },
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ poster_show:true,
+ poster_url:res.data.poster
+ });
+ }
+ }
+ });
+ },
+ toGoods() {
+ var diyfrom = this.data.infoList.diyform_id;
+ console.log(diyfrom);
+ let url = "";
+ if (diyfrom) {
+ url =
+ "/packageC/diyform/diyform?scene=" +
+ diyfrom +
+ "&goodsId=" +
+ this.data.infoList.goods_id +
+ "&&optionsId=" +
+ this.data.infoList.option_id +
+ "&&total=" +
+ this.data.infoList.total;
+ if (this.data.store_id) {
+ url = url + "&store_id=" + this.data.store_id;
+ }
+ wx.navigateTo({
+ url: url,
+ });
+ } else {
+ // tag=-2&goodsId=7615&optionsId=&total=1
+ url =
+ "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&goodsId=" +
+ this.data.infoList.goods_id +
+ "&&optionsId=" +
+ this.data.infoList.option_id +
+ "&&total=" +
+ this.data.infoList.total;
+ if (this.data.store_id) {
+ url = url + "&store_id=" + this.data.store_id;
+ }
+ wx.navigateTo({
+ url: url,
+ });
+ }
+ },
+ countdown() {
+ let that = this;
+ let now = new Date();
+ let nowseon = String(Date.parse(now)).substr(0, 10);
+ let end = that.data.infoList.end_time;
+ if (end - nowseon <= 0) {
+ console.log(end, nowseon);
+ that.setData({
+ stop: false,
+ });
+ return;
+ }
+ var msec = end - nowseon;
+ let day = parseInt(msec / 60 / 60 / 24),
+ hr = parseInt((msec / 60 / 60) % 24),
+ min = parseInt((msec / 60) % 60),
+ sec = parseInt(msec % 60);
+ hr = hr > 9 ? hr : "0" + hr;
+ min = min > 9 ? min : "0" + min;
+ sec = sec > 9 ? sec : "0" + sec;
+ that.setData({
+ Day: day,
+ Hour: hr,
+ Min: min,
+ Sec: sec,
+ });
+ // 一秒后递归
+ setTimeout(() => {
+ this.countdown();
+ }, 1000);
+ },
+ handleContact(e) {
+ console.log(e.detail.path);
+ console.log(e.detail.query);
+ },
+ linkTomember() {
+ wx.reLaunch({
+ url: "/packageG/member_v2/member_v2",
+ });
+ },
+ linkToorder() {
+ wx.navigateTo({
+ url: "/packageA/member/myOrder_v2/myOrder_v2?status=0",
+ });
+ },
+ setDataByTabIndex() {
+ this.setData({
+ first_content: this.data.infoList.agreement,
+ });
+ let article = this.data.first_content;
+ if (article.indexOf("") <= -1) {
+ WxParse.wxParse("article", "html", article, this);
+ }
+ console.log("1111111111111111");
+ },
+ replaceDetail(details) {
+ var texts = ""; //待拼接的内容
+ while (details.indexOf("
")
+ ) {
+ texts +=
+ details.substring(0, details.indexOf('style="') + 7) +
+ "max-width:100%;height:auto;margin:0 auto;"; //从
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 活动倒计时
+
+
+
+ 距离活动结束
+ {{infoList.end_date}}
+
+
+
+ {{Day}}
+ 天
+ {{Hour}}
+ :
+ {{Min}}
+ :
+ {{Sec}}
+
+
+
+ 已购
+ {{buy_count}}人
+
+
+
+ {{browse_count}}人浏览
+
+
+
+
+
+
+
+
+
+
+
+ 最新购买列表
+
+
+
+ 共
+ {{buy_count}}人参与购买
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 领取奖励列表
+
+
+
+ 共
+ {{award_count}}人参与
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 活动介绍
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 推广海报
+
+
+
+
+
+
+
+
+ 联系商家
+
+
+
+
+ 我的订单
+
+
+
+
+ 会员中心
+
+
+
+
+ 立即参与
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 长按识别 二维码联系我们
+
+
+
+
+
+
+
+
diff --git a/packageD/ActivityDetail/ActivityDetail.wxss b/packageD/ActivityDetail/ActivityDetail.wxss
new file mode 100644
index 0000000..b34248b
--- /dev/null
+++ b/packageD/ActivityDetail/ActivityDetail.wxss
@@ -0,0 +1,643 @@
+/* packageD/ActivityDetail/ActivityDetail.wxss */
+
+/* .Activity{
+ width: 100%;
+ background-color: rgb(64, 158, 255);
+}
+.banner{
+ width: 100%;
+}
+.banner image{
+ width: 100%;
+} */
+.Activity {
+ /* padding-top: 40px; */
+ padding-bottom: 100px;
+ width: 100%;
+ overflow: hidden;
+}
+
+.Activity .van-popup {
+ border-radius: 10px;
+ background: transparent;
+}
+
+.Activity .popop-box {
+ width: 640rpx;
+ height: 832rpx;
+ margin: 0 auto;
+ border-radius: 10px;
+}
+
+.Activity .popop-box .popup-content {
+ background: #fff;
+ width: 640rpx;
+ height: 704rpx;
+ border-radius: 10px;
+}
+
+.Activity .popop-box .popup-head {
+ padding: 1rem 0;
+ border-bottom: 1px dashed #ebebeb;
+}
+
+.Activity .popop-box .popup-head p {
+ font-size: 14px;
+ font-weight: bold;
+}
+
+.Activity .popop-box .green {
+ background: #37ce50;
+ color: #fff;
+ width: 224rpx;
+ height: 64rpx;
+ margin: 0 auto;
+ border-radius: 32rpx;
+ line-height: 64rpx;
+ display: flex;
+ padding: 0 16rpx;
+ margin-top: 48rpx;
+}
+
+.Activity .popop-box .green img {
+ width: 38.4rpx;
+ height: 38.4rpx;
+ flex: 0 0 48rpx;
+ margin-right: 6.4rpx;
+}
+
+.Activity .popop-box .green span {
+ flex: 1;
+}
+
+.Activity .popop-box .qr {
+ display: flex;
+ flex-direction: column;
+ margin-top: 32rpx;
+}
+
+.Activity .popop-box .qr img {
+ width: 352rpx;
+ height: 352rpx;
+}
+
+.Activity .popop-box .qr span {
+ color: #999;
+}
+
+.Activity .popop-box .close {
+ position: absolute;
+ bottom: 0;
+ left: calc(50% - 32rpx);
+}
+
+.Activity .popop-box .close img {
+ width: 64rpx;
+ height: 64rpx;
+}
+
+.Activity .top_music {
+ z-index: 10;
+ position: fixed;
+ top: 0;
+ background: rgba(0, 0, 0, 0.5);
+ height: 80rpx;
+ line-height: 80rpx;
+ width: 100%;
+ text-align: right;
+}
+
+.Activity .top_music .icon-active_music_open {
+ font-size: 72rpx;
+ color: #fff;
+ display: block;
+ position: absolute;
+ right: 6.4rpx;
+}
+
+.Activity .top_music .icon-active_music_close {
+ font-size: 72rpx;
+ color: #fff;
+ display: block;
+ position: absolute;
+ right: 6.4rpx;
+}
+
+.Activity .top_music .xuanzhuan {
+ animation: xz 2s linear infinite;
+}
+
+@keyframes xz {
+ from {
+ transform: rotate(0deg);
+ }
+
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+.Activity .banner {
+ overflow: hidden;
+ margin: 0 auto;
+ padding: 0;
+}
+
+.Activity .banner image {
+ width: 100%;
+}
+
+.Activity .member-people {
+ width: 384rpx;
+ overflow: hidden;
+ background-color: rgba(0, 0, 0, 0.2);
+ margin: 0 auto;
+ margin-top: 40rpx;
+ border-radius: 16px;
+ height: 64rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.Activity .member-people span {
+ font-size: 14px;
+ color: #fff;
+}
+
+.Activity .number_time {
+ margin: 48rpx auto;
+ align-items: center;
+ background-size: 720rpx 206rpx;
+ color: #333;
+ font-size: 14px;
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.Activity .number_time .active_time {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.Activity .number_time .active_time .span {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 24px;
+ font-weight: bold;
+ background-color: #f2f4f7;
+ padding: 1rem;
+ border-radius: 12px;
+}
+
+.Activity .number_time .active_time .em {
+ font-weight: bold;
+ display: inline-block;
+ padding: 0 16rpx;
+}
+
+.Activity .business {
+ margin: 32rpx;
+ text-align: left;
+ color: #666;
+}
+
+.business .p {
+ display: flex;
+}
+
+.Activity .business .span {
+ color: #ff812d;
+}
+
+.Activity .bottom-line {
+ padding-bottom: 32rpx;
+ border-bottom: 1px solid #ebebeb;
+}
+
+.Activity .bottom-line .p {
+ display: flex;
+}
+
+.Activity .business_box {
+ background: #fff;
+ width: 690rpx;
+ margin: 0 auto;
+ margin-top: 40rpx;
+ border-radius: 16rpx;
+ padding-bottom: 30rpx;
+ position: relative;
+}
+
+.Activity .business_box .title {
+ height: 100rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.Activity .business_box .title .h2 {
+ font-size: 20px;
+ color: #2748d7;
+ margin: 0 40rpx;
+}
+
+.Activity .business_box .title .left {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("http://yunzmall.com/min_img/title_img@2x.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+.Activity .business_box .title .right {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("http://yunzmall.com/min_img/title_img@2x.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+.Activity .business_box .title_b {
+ display: flex;
+ margin: 0 1rem;
+}
+
+.Activity .business_box .title_b .p {
+ flex: 1;
+ text-align: left;
+}
+
+.Activity .business_box .title_b .orange {
+ text-align: right;
+ color: #ff812d;
+}
+
+/* .Activity .business_box .user {
+ display: flex;
+ flex-wrap: wrap;
+} */
+.Activity .business_box .user .img {
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 48rpx;
+ margin: 0 auto;
+ overflow: hidden;
+ background: #f2f2f2;
+ position: absolute;
+ bottom: 20px;
+}
+
+.Activity .business_box .user .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.Activity .ranking_list {
+ background: #fff;
+ width: 690rpx;
+ margin: 40rpx auto 0;
+ border-radius: 16rpx;
+ padding-bottom: 30rpx;
+}
+
+.Activity .ranking_list .title {
+ height: 100rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.Activity .ranking_list .title .h2 {
+ font-size: 20px;
+ color: #2748d7;
+ margin: 0 40rpx;
+}
+
+.Activity .ranking_list .title .left {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("http://yunzmall.com/min_img/title_img@2x.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+.Activity .ranking_list .title .right {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("http://yunzmall.com/min_img/title_img@2x.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+.Activity .ranking_list .store_list {
+ padding: 0 30rpx;
+ height: 560rpx;
+ overflow: hidden;
+
+ /* overflow-y: scroll; */
+}
+
+.Activity .ranking_list .min_list {
+ padding: 0 30rpx;
+ overflow: hidden;
+}
+
+.Activity .ranking_list .store_list .header_box {
+ display: flex;
+ align-items: center;
+ position: relative;
+ font-size: 14px;
+ height: 70px;
+}
+
+.Activity .ranking_list .store_list .header_box .header {
+ flex: 0 0 96rpx;
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 48rpx;
+ overflow: hidden;
+ border: solid 2rpx #ccc;
+ margin-right: 20rpx;
+}
+
+.Activity .ranking_list .store_list .header_box .header image {
+ width: 100%;
+ height: 100%;
+}
+
+.Activity .ranking_list .store_list .header_box .content {
+ flex: 1;
+ display: flex;
+}
+
+.Activity .ranking_list .store_list .header_box .content span {
+ padding: 9.6rpx 0;
+}
+
+.Activity .ranking_list .store_list .header_box .left {
+ text-align: left;
+}
+
+.Activity .ranking_list .store_list .header_box .right {
+ text-align: right;
+}
+
+.Activity .ranking_list .store_list .header_box .left,
+.Activity .ranking_list .store_list .header_box .right {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+
+.Activity .ranking_list .store_list .header_box .time {
+ font-size: 12px;
+ color: #999;
+}
+
+.Activity .ranking_list .store_list .header_box .money {
+ color: #ff812d;
+}
+
+.Activity .ranking_list .store_list .header_box .name,
+.Activity .ranking_list .store_list .header_box .money {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 256rpx;
+}
+
+.Activity .ranking_list .store_list .blank {
+ height: 60px;
+}
+
+.Activity .ranking_list .business .p {
+ display: flex;
+ justify-content: center;
+}
+
+.Activity .active_rule {
+ background: #fff;
+ width: 690rpx;
+ margin: 40rpx auto 0;
+ border-radius: 16rpx;
+}
+
+.Activity .active_rule .title {
+ height: 100rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.Activity .active_rule .title .h2 {
+ font-size: 20px;
+ color: #2748d7;
+ margin: 0 40rpx;
+}
+
+.Activity .active_rule .title .left {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("http://yunzmall.com/min_img/title_img@2x.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+.Activity .active_rule .title .right {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("http://yunzmall.com/min_img/title_img@2x.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+.Activity .active_rule #rule_text {
+ margin: 0 40rpx;
+ text-align: left;
+ color: #666;
+ line-height: 44rpx;
+ overflow: hidden;
+}
+
+.Activity .active_rule .iconfont {
+ width: 80rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ font-size: 24px;
+ color: #ccc;
+ margin: 20rpx auto 0;
+ display: block;
+}
+
+.Activity .store_into {
+ position: fixed;
+ right: 0;
+ top: 60%;
+ z-index: 999;
+}
+
+.Activity .store_into .fixed-box {
+ padding: 6.4rpx 16rpx;
+ background-color: #fff;
+ border-radius: 22px 0 0 22px;
+ opacity: 0.8;
+ display: flex;
+ margin-bottom: 32rpx;
+ position: relative;
+}
+
+.btns {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ left: 0;
+ top: 0;
+ z-index: 9999;
+}
+
+.btns button {
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+}
+
+.Activity .store_into .fixed-box image {
+ width: 64rpx;
+ height: 64rpx;
+ margin-right: 16rpx;
+}
+
+.Activity .store_into .fixed-box .text {
+ width: 64rpx;
+ font-size: 12px;
+}
+
+.Activity .store_into .blue {
+ color: #2892ff;
+}
+
+.Activity .store_into .orange {
+ color: #ff8229;
+}
+
+.Activity .store_into .yellow {
+ color: #ffb126;
+}
+
+.Activity .bottom_btn {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ z-index: 999;
+}
+
+.Activity .bottom_btn .button {
+ width: 100%;
+ height: 100rpx;
+ background: #58c232;
+ font-size: 18px;
+ color: #fff;
+ border: none;
+ text-align: center;
+ line-height: 100rpx;
+}
+
+.overhidden {
+ height: 176rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 5;
+ -webkit-box-orient: vertical;
+}
+
+.text_down {
+ width: 100%;
+ overflow: hidden;
+}
+
+.boxHeight {
+ height: 300rpx;
+ overflow: hidden;
+ margin: 0;
+ transition: 1s;
+}
+
+.noneHri {
+ overflow: hidden;
+ margin: 0;
+ transition: 1s;
+}
+
+.explainWrapper {
+ width: 680rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.explainWrapper .explainTextWrapper {
+ width: 640rpx;
+ height: 1008rpx;
+ background: #fff;
+ border-radius: 18rpx;
+ overflow: hidden;
+}
+
+.explainWrapper .close {
+ color: #fff;
+ font-size: 100rpx;
+}
+
+
+
+.contactWrapper {
+ background: red;
+ width: 20rem;
+ border-radius: 10px;
+}
+.contactWrapper .popup-head {
+ padding: 1rem 0;
+ box-sizing: border-box;
+ border-bottom: 1px dashed #ebebeb;
+}
+.contactWrapper .popup-head .icon-zx_map_tel{
+ font-size: 28rpx;
+ transform: translateY(-4rpx) translateX(6rpx);
+}
+.contactWrapper .green {
+ background: #37ce50;
+ color: #fff;
+ width: 7rem;
+ height: 2rem;
+ margin: 0 auto;
+ border-radius: 1rem;
+ line-height: 2rem;
+ display: flex;
+ padding: 0 0.5rem;
+ margin-top: 1.5rem;
+ box-sizing: border-box;
+}
+.contactWrapper .green text {
+ flex: 1;
+ text-align: center;
+ font-size: 28rpx;
+}
+.contactWrapper .qr {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-top: 1rem;
+ padding-bottom: 1rem;
+}
+.contactWrapper .qr image {
+ width: 11rem;
+ height: 11rem;
+}
+.contactWrapper .qr text {
+ color: #999;
+}
diff --git a/packageD/MyFriendApply/myfriends.js b/packageD/MyFriendApply/myfriends.js
new file mode 100644
index 0000000..a465f26
--- /dev/null
+++ b/packageD/MyFriendApply/myfriends.js
@@ -0,0 +1,198 @@
+// packageD/MyFriendApply/myfriends.js
+var app =getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ tabs: [],
+ selected: 0,
+ tabID: 0,
+ bossList: [],
+ detail: {},
+ uid: 0,
+ inNickName: "",
+ showNoText: false,
+ diyName: "我的朋友",
+
+ //more
+ isLoadMore: true,
+ page: 1,
+ current_page: 0,
+ last_page:0
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getTab();
+ },
+ changeTab(e){
+ console.log(e);
+ this.setData({
+ selected: e.currentTarget.dataset.tab,
+ tabID: e.currentTarget.dataset.tab,
+ page:1,
+ bossList:''
+ });
+ this.getData();
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if(this.data.current_page >= this.data.last_page){
+ wx.showToast({
+ title: '没有更多',
+ icon:'none',
+ duration:1000
+ });
+ }else{
+ var is_page = this.data.page + 1;
+ this.setData({
+ page:is_page
+ });
+ console.log(this.data.page);
+ this.getMoreData();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getTab(){
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.my-friend.api.my-friend.get-columns");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ tabs: res.data.columns,
+ tabID: res.data.columns[0].id,
+ diyName: res.data.my_friend_name ? res.data.my_friend_name :'我的朋友',
+ selected:res.data.columns[0].id,
+ });
+ that.getData();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getData(){
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.my-friend.api.my-friend.get-list");
+ app._postNetWork({
+ url: urlStr,
+ data:{
+ id: that.data.tabID,
+ page:that.data.page
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ var myData = res.data.list.data;
+ that.setData({
+ showNoText: app._isTextEmpty(myData),
+ bossList: myData,
+ last_page:res.data.list.last_page,
+ current_page:res.data.list.current_page
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getMoreData(){
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.my-friend.api.my-friend.get-list");
+ app._postNetWork({
+ url: urlStr,
+ data:{
+ id: that.data.tabID,
+ page:that.data.page
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ var myData = res.data.list.data;
+ that.setData({
+ showNoText: app._isTextEmpty(myData),
+ bossList: that.data.bossList.concat(myData),
+ last_page:res.data.list.last_page,
+ current_page:res.data.list.current_page
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageD/MyFriendApply/myfriends.json b/packageD/MyFriendApply/myfriends.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageD/MyFriendApply/myfriends.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/MyFriendApply/myfriends.wxml b/packageD/MyFriendApply/myfriends.wxml
new file mode 100644
index 0000000..530219f
--- /dev/null
+++ b/packageD/MyFriendApply/myfriends.wxml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+ {{ item.level_name }}
+ ({{ item.count }})
+ ({{ item.count_order }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.has_one_member.nickname }}:({{ item.level_name }})
+
+ 会员ID:{{ item.has_one_member.uid }}
+ {{ item.created_at }}
+
+
+ 直推:{{ item.member_count }}
+ 团队:{{ item.member_child_count }}
+ 业绩:{{ item.order_count }}
+
+
+
+
+ 没有搜索到相关数据
+
+
+
\ No newline at end of file
diff --git a/packageD/MyFriendApply/myfriends.wxss b/packageD/MyFriendApply/myfriends.wxss
new file mode 100644
index 0000000..46094df
--- /dev/null
+++ b/packageD/MyFriendApply/myfriends.wxss
@@ -0,0 +1,133 @@
+/* packageD/MyFriendApply/myfriends.wxss */
+#content .nav .nav_box {
+ border-bottom: solid 0.0625rem #ebebeb;
+ padding: 0 0.625rem;
+ margin-bottom: 0.5rem;
+ background-color: #fff;
+ text-align: center;
+}
+
+#content .nav .nav_box .nav_item {
+ height: 2.75rem;
+ line-height: 2.75rem;
+ display: flex;
+ width: 100%;
+ white-space: nowrap;
+ overflow-x: auto;
+}
+
+#content .nav .nav_box .nav_item .li {
+ margin: 0 0.625rem;
+ font-size: 15px;
+ max-width: 14rem;
+ display: inline-block;
+}
+
+#content .nav .nav_box .nav_item .tab {
+ border-bottom: 5px solid #f15353;
+ color: #f15353;
+ box-sizing: border-box;
+ padding-bottom: 5px;
+}
+
+#content .nav .nav_box .nav::-webkit-scrollbar {
+ display: none;
+}
+
+#content .nav .nav_box::-webkit-scrollbar {
+ display: none;
+}
+
+#content .nav .list_box {
+ margin-top: 0.375rem;
+}
+
+#content .nav .list_box .box .client {
+ background-color: #fff;
+ padding: 0.75rem 1.25rem;
+ display: flex;
+ position: relative;
+ border-bottom: solid 0.0625rem #ebebeb;
+}
+
+#content .nav .list_box .box .client .show_detail {
+ transform: rotate(90deg);
+}
+
+#content .nav .list_box .box .client .img {
+ width: 3rem;
+ height: 3rem;
+ border-radius: 1.5rem;
+ overflow: hidden;
+}
+
+#content .nav .list_box .box .client .img image {
+ width: 3rem;
+ height: 3rem;
+ background-size: cover;
+}
+
+#content .nav .list_box .box .client .name {
+ text-align: left;
+ margin-left: 0.625rem;
+ width: 18rem;
+}
+
+#content .nav .list_box .box .client .name .li .h2 {
+ font-weight: 400;
+ color: #000;
+}
+
+#content .nav .list_box .box .client .name .li .span {
+ font-weight: 400;
+ color: #8c8c8c;
+ font-size: 0.75rem;
+ width: 50%;
+ display: inline-block;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+#content .nav .list_box .box .client .name .li .rightTime {
+ float: right;
+ text-align: right;
+}
+
+#content .nav .list_box .box .client .name .btnList .span {
+ width: auto;
+ padding: 0 0.4rem;
+ height: 1.6rem;
+ line-height: 1.6rem;
+ text-align: center;
+ display: inline-block;
+ background: #000;
+ color: #fff;
+ border-radius: 0.25rem;
+}
+
+#content .nav .list_box .box .client .name .btnList .activeClass {
+ background-color: #f15353;
+}
+
+#content .nav .list_box .box .client .name li:first-child {
+ line-height: 1.5rem;
+ font-size: 15px;
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+#content .nav .list_box .box .client .name li:last-child {
+ font-size: 14px;
+ color: #8c8c8c;
+}
+
+#content .nav .list_box .box .client icon {
+ position: absolute;
+ right: 1.25rem;
+ font-size: 1.75rem;
+ color: #999;
+ line-height: 3rem;
+}
diff --git a/packageD/article/PayarticleList/PayarticleList.js b/packageD/article/PayarticleList/PayarticleList.js
new file mode 100644
index 0000000..878661a
--- /dev/null
+++ b/packageD/article/PayarticleList/PayarticleList.js
@@ -0,0 +1,140 @@
+// packageD/article/PayarticleList/PayarticleList.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ page:1
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ console.log(this.data.current_page, this.data.last_page);
+ if(this.data.current_page >= this.data.last_page){
+ wx.showToast({
+ title: '没有更多',
+ icon:'none',
+ duration:1000
+ });
+ }else{
+ let is_page = this.data.page + 1;
+ this.setData({
+ page:is_page
+ });
+ this.getMore();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ toNoticeInfo(item){
+ console.log(item.currentTarget.dataset.isda.id);
+ wx.navigateTo({
+ url: '/packageA/member/article/articleContent/articleContent?article_id=' + item.currentTarget.dataset.isda.id
+ });
+ },
+ getData(){
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.article-pay.api.index.articlePayData");
+ app._getNetWork({
+ url: urlStr,
+ data:{
+ page:that.data.page,
+ art: 'payed'
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1){
+ that.setData({
+ datas: res.data.getPayed.articles.data,
+ current_page: res.data.getPayed.articles.current_page,
+ last_page: res.data.getPayed.articles.last_page
+ });
+ }
+
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getMore(){
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.article-pay.api.index.articlePayData");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: that.data.page,
+ art: 'payed'
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1) {
+ that.setData({
+ datas: that.data.datas.concat(res.data.getPayed.articles.data),
+ current_page: res.data.getPayed.articles.current_page,
+ last_page: res.data.getPayed.articles.last_page
+ });
+ }
+
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageD/article/PayarticleList/PayarticleList.json b/packageD/article/PayarticleList/PayarticleList.json
new file mode 100644
index 0000000..edd3e77
--- /dev/null
+++ b/packageD/article/PayarticleList/PayarticleList.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "已付费文章",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/article/PayarticleList/PayarticleList.wxml b/packageD/article/PayarticleList/PayarticleList.wxml
new file mode 100644
index 0000000..8b0d352
--- /dev/null
+++ b/packageD/article/PayarticleList/PayarticleList.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+ {{language['money']}}{{item.has_one_article_pay.money}}
+
+ {{item.author}}
+ {{item.virtual_at}}
+
+
+
+
+
diff --git a/packageD/article/PayarticleList/PayarticleList.wxss b/packageD/article/PayarticleList/PayarticleList.wxss
new file mode 100644
index 0000000..e6bcb89
--- /dev/null
+++ b/packageD/article/PayarticleList/PayarticleList.wxss
@@ -0,0 +1,93 @@
+/* packageD/article/PayarticleList/PayarticleList.wxss */
+.box {
+ padding-left: 25rpx;
+ padding-top: 25rpx;
+ padding-bottom: 25rpx;
+ padding-right: 25rpx;
+}
+
+page {
+ background: #fff;
+}
+
+.line {
+ display: flex;
+ align-items: center;
+ padding-bottom: 30rpx;
+ border-bottom: 1rpx solid #ececec;
+ margin-bottom: 20rpx;
+}
+
+.line .left {
+ width: 227rpx;
+ height: 178rpx;
+}
+
+.line .left image {
+ width: 100%;
+ height: 100%;
+}
+
+.line .right {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ height: 178rpx;
+ margin-left: 34rpx;
+ margin-right: 45rpx;
+}
+
+.line .right .top {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.line .right .bottom {
+ display: flex;
+ flex-direction: column;
+}
+
+.line .right .bottom .mun {
+ font-size: 28rpx;
+ font-weight: normal;
+ letter-spacing: 0rpx;
+ color: #ff2c28;
+ display: flex;
+ align-items: center;
+ max-width: 300rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.line .right .bottom .dor {
+ font-size: 24rpx;
+ letter-spacing: 0rpx;
+ color: #ff2c28;
+}
+
+.line .right .bottom .bom {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.name {
+ font-size: 22rpx;
+ color: #666;
+}
+
+.time {
+ font-size: 22rpx;
+ color: #666;
+}
diff --git a/packageD/article/articleList/articleList.js b/packageD/article/articleList/articleList.js
new file mode 100644
index 0000000..a3f59d0
--- /dev/null
+++ b/packageD/article/articleList/articleList.js
@@ -0,0 +1,169 @@
+// packageD/article/articleList/articleList.js
+var app = getApp();
+var yz_pay = require("../../../mycomponent/yz_pay/yz_pay");
+import utils from '../../../utils/util.js';
+Page({
+ behaviors: [yz_pay],
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ id: '',
+ showPopup: false,
+ ios_virtual_pay: false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.setData({
+ id: options.article_id
+ });
+ console.log(options.id);
+ this.getData();
+ try {
+ var value = wx.getStorageSync('ios_virtual_pay');
+ if (value) {
+ this.setData({
+ ios_virtual_pay: value
+ });
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+ var value = wx.getStorageSync("yz_uid");
+ var mid = "";
+ if (value) {
+ mid = value;
+ }
+ return {
+ path: "/packageA/member/article/articleContent/articleContent?article_id=" + this.data.id + "&mid=" + mid,
+ title: this.data.dataInfo&&this.data.dataInfo.title||'',
+ imageUrl: this.data.dataInfo&&this.data.dataInfo.thumb ? this.data.dataInfo.thumb : "",
+ };
+ },
+ showzhifu() {
+ if (this.data.ios_virtual_pay) {
+ wx.showModal({
+ title: '提示',
+ content: '十分抱歉,由于相关规定,你暂时无法在这里充值!',
+ confirmText: '知道了',
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ console.log(res.confirm);
+ }
+ }
+ });
+ return false;
+ }
+ this.getPayData();
+ this.setData({
+ showPopup: true
+ });
+ },
+ tapPay(e) {
+ let is_type = e.currentTarget.dataset.value;
+ let is_money = this.data.dataInfo.money;
+ let name = e.currentTarget.dataset.name;
+ console.log(is_type, is_money, name);
+ let json = {
+ pay_id: is_type,
+ money: is_money,
+ pay_name: name,
+ id: this.data.id,
+ art: 'pay'
+ };
+ let urlStr = app.getNetAddresss("plugin.article-pay.api.index.orderPay");
+ urlStr += '&client_type=2';
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata)=> {
+ let res = resdata.data;
+ if (res.result == 1) {
+ this.rechargePay(is_type, res, res.data.ordersn);
+ }else{
+ wx.showToast({
+ title: res.msg,
+ icon:'none',
+ duration:1000
+ });
+ }
+ },
+ fail: (res)=> {
+ console.log(res);
+ }
+ });
+ },
+ onClose() {
+ this.setData({
+ showPopup: false
+ });
+ },
+ offshow() {
+ this.setData({
+ showPopup: false
+ });
+ },
+ getData() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.article-pay.api.index.articlePayData");
+ urlStr += "&id=" + this.data.id;
+ urlStr += "&art=detail";
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ console.log(res);
+ var time = utils.formatTimeTwo(res.data.payDetail.virtual_created_at, 'Y,M,D').replace(/,/g, ".");
+ that.setData({
+ dataInfo: res.data.payDetail,
+ is_time: time
+ });
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getPayData() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.article-pay.api.index.getPayType");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ that.setData({
+ buttons: res.data.buttons
+ });
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageD/article/articleList/articleList.json b/packageD/article/articleList/articleList.json
new file mode 100644
index 0000000..3fcb470
--- /dev/null
+++ b/packageD/article/articleList/articleList.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "文章列表",
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/article/articleList/articleList.wxml b/packageD/article/articleList/articleList.wxml
new file mode 100644
index 0000000..474ba30
--- /dev/null
+++ b/packageD/article/articleList/articleList.wxml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+ {{dataInfo.title}}
+
+ {{language['money']}}{{dataInfo.money}}
+
+ {{dataInfo.author}}
+ {{is_time}}
+
+
+
+
+
+
+ {{language['money']}}{{dataInfo.money}}
+ 付费阅读
+
+
+
+
+ {{item.name}}
+
+ 取消
+
+
diff --git a/packageD/article/articleList/articleList.wxss b/packageD/article/articleList/articleList.wxss
new file mode 100644
index 0000000..d82a7ff
--- /dev/null
+++ b/packageD/article/articleList/articleList.wxss
@@ -0,0 +1,153 @@
+/* packageD/article/articleList/articleList.wxss */
+.box {
+ padding-left: 25rpx;
+ padding-top: 25rpx;
+ padding-bottom: 25rpx;
+ padding-right: 25rpx;
+}
+
+page {
+ background: #fff;
+}
+
+.line {
+ display: flex;
+ align-items: center;
+}
+
+.line .left {
+ width: 227rpx;
+ height: 178rpx;
+ background: red;
+}
+
+.line .left image {
+ width: 100%;
+ height: 100%;
+}
+
+.line .right {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ height: 178rpx;
+ margin-left: 34rpx;
+ margin-right: 45rpx;
+}
+
+.line .right .top {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.line .right .bottom {
+ display: flex;
+ flex-direction: column;
+}
+
+.line .right .bottom .mun {
+ font-size: 28rpx;
+ font-weight: normal;
+ letter-spacing: 0rpx;
+ color: #ff2c28;
+ display: flex;
+ align-items: center;
+ max-width: 300rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.line .right .bottom .dor {
+ font-size: 24rpx;
+ letter-spacing: 0rpx;
+ color: #ff2c28;
+}
+
+.line .right .bottom .bom {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.name {
+ font-size: 22rpx;
+ color: #666;
+}
+
+.time {
+ font-size: 22rpx;
+ color: #666;
+}
+
+.sureBtm {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ height: 98rpx;
+ background-color: #fff;
+ box-shadow:
+ 0rpx 0rpx 16rpx 0rpx
+ rgba(0, 0, 0, 0.11);
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+ align-items: center;
+}
+
+.smun {
+ display: flex;
+ align-items: center;
+ margin-left: 46rpx;
+}
+
+.paybtn {
+ margin-right: 50rpx;
+ width: 251rpx;
+ height: 68rpx;
+ background-color: #ff2c29;
+ border-radius: 34rpx;
+ text-align: center;
+ line-height: 68rpx;
+ color: #fff;
+}
+
+.showbox {
+ width: 100%;
+
+ /* height: 300px;
+ background: red; */
+ display: flex;
+ flex-direction: column;
+}
+
+.showbox .cle {
+ height: 98rpx;
+ box-shadow:
+ 0 0 16px 0
+ rgba(0, 0, 0, 0.11);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 32rpx;
+ color: #000;
+ margin-top: 20rpx;
+}
+
+.showbox .buw {
+ height: 100rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: #000;
+ border-bottom: 1rpx solid #f2f2f2;
+}
diff --git a/packageD/auction/auction-apply/auction-apply/auction-apply.js b/packageD/auction/auction-apply/auction-apply/auction-apply.js
new file mode 100644
index 0000000..7f75c64
--- /dev/null
+++ b/packageD/auction/auction-apply/auction-apply/auction-apply.js
@@ -0,0 +1,779 @@
+// packageD/auction/auction-apply/auction-apply/auction-apply.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ addressShow: false,
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ retCity: "",
+ auctionValue: {
+ name: "",
+ phone: "",
+ retCity: "",
+ agreementChoose: false,
+ },
+ uploadUrl: "upload.uploadPic",
+ showphone: false,
+ yazshop: "",
+ shenqShow: false,
+ // 真实姓名
+ real_name: "",
+ // 省id
+ province_id: "",
+ // 市id
+ city_id: "",
+ // 区id
+ district_id: "",
+ // 详细地址
+ address: "",
+ // 身份证
+ identity_card: "",
+ // 企业
+ company: "",
+ // 身份证正面照
+ positive: "",
+ // 身份证反面照
+ back: "",
+ // 手持身份证
+ holdID: "",
+ // 营业执照
+ license: "",
+ remark: "",
+ // 协议
+ agreement: "",
+ // 背景
+ banner_img: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ // this.getYanz()
+ this._initAddressInfo();
+ // this.getdata();
+ // this.getAgreement()
+ },
+ getverifyGoods() {
+ var that = this;
+ let json = {
+ art: "verifyGoods",
+ };
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res, "可以申请");
+ that.getAgreement();
+ } else {
+ console.log(res, "需要购买指定商品才能申请");
+ wx.showModal({
+ title: res.msg.msg,
+ success(resData) {
+ if (resData.confirm) {
+ wx.showLoading({
+ title: '加载中',
+ });
+ console.log('用户点击确定');
+ if (!app._isTextEmpty(res.msg.url)) {
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + res.msg.url,
+ success: function (sue) {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ }
+ });
+ } else {
+ wx.reLaunch({
+ url: "/packageG/member_v2/member_v2",
+ success: function (sue) {
+ wx.hideLoading({
+ success: (res) => {},
+ });
+ }
+ });
+ }
+ } else if (resData.cancel) {
+ console.log('用户点击取消');
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ }
+ });
+ // wx.showToast({
+ // title: res.msg.msg,
+ // icon: "none",
+ // duration: 1000,
+ // success() {
+ // setTimeout(() => {
+ // if (!app._isTextEmpty(res.msg.url)) {
+ // wx.navigateTo({
+ // url: "/packageA/detail_v2/detail_v2?id=" + res.msg.url,
+ // });
+ // } else {
+ // wx.reLaunch({
+ // url: "/packageG/member_v2/member_v2",
+ // });
+ // }
+ // }, 1000);
+ // },
+ // });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ isString(str) {
+ return str instanceof String || typeof str == "string";
+ },
+ street(e) {
+ this.setData({
+ street: e.detail.value,
+ });
+ },
+ isArray(arr) {
+ return arr instanceof Array;
+ },
+ tapoff(e) {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ },
+ address(e) {
+ this.setData({
+ address: e.detail.value,
+ });
+ },
+ // 街道开启
+ streetChoose() {
+ console.log(this.data.auctionValue);
+ if (app._isTextEmpty(this.data.auctionValue)) {
+ wx.showToast({
+ icon: "none",
+ title: "请先选择所在地区",
+ duration: 1500,
+ });
+ } else {
+ this.setData({
+ streetShow: true,
+ opren: false,
+ });
+ }
+ },
+ // 街道关闭
+ streetClose(e) {
+ this.setData({
+ streetShow: false,
+ opren: true,
+ });
+ },
+ //获取街道
+ _getStreet(param) {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.memberAddress.street");
+ urlStr += "&district_id=" + param;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ if (!app._isTextEmpty(res.data) && res.data.length > 0) {
+ that.setData({
+ districtVal: res.data,
+ isShowStreet: true,
+ });
+ } else {
+ that.setData({
+ isShowStreet: false,
+ });
+ }
+ } else {
+ that.setData({
+ isShowStreet: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ streetConfirm(e) {
+ let strname = e.target.dataset.strname;
+ console.log(strname, e.target.dataset.info.id);
+ this.setData({
+ streetId: e.target.dataset.info.id,
+ street: strname,
+ streetShow: false,
+ });
+ },
+ identity_card(e) {
+ this.setData({
+ identity_card: e.detail.value,
+ });
+ },
+ mobile(e) {
+ this.setData({
+ mobile: e.detail.value,
+ });
+ },
+ real_name(e) {
+ this.setData({
+ real_name: e.detail.value,
+ });
+ },
+ company(e) {
+ this.setData({
+ company: e.detail.value,
+ });
+ },
+ Chooseinp() {
+ this.setData({
+ "auctionValue.agreementChoose": !this.data.auctionValue.agreementChoose,
+ });
+ },
+ _closeDateLw() {
+ this.setData({
+ addressShow: false,
+ });
+ },
+ onClicksQ() {
+ this.setData({
+ shenqShow: false,
+ });
+ },
+ shenqShow() {
+ this.setData({
+ shenqShow: true,
+ });
+ },
+ addressShowbtn() {
+ this.setData({
+ addressShow: true,
+ });
+ },
+ isCoverLayer() {
+ this.setData({
+ showphone: false,
+ });
+ },
+ resultAdd() {
+ let seleData = this.data.selectAddressData;
+ let retCity =
+ seleData[0].name + " " + seleData[1].name + " " + seleData[2].name;
+ this.setData({
+ "auctionValue.retCity": retCity,
+ addressShow: false,
+ province_id: seleData[0].id,
+ city_id: seleData[1].id,
+ district_id: seleData[2].id,
+ });
+ this._getStreet(seleData[2].id);
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: "provinceData",
+ data: province,
+ });
+ wx.setStorage({
+ key: "cityData",
+ data: city,
+ });
+ wx.setStorage({
+ key: "districtData",
+ data: district,
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true,
+ });
+ },
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data,
+ });
+ that.setData({
+ "selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0],
+ });
+ that._getCityData();
+ },
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = "cityData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json,
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1],
+ });
+ that._getDistrictData();
+ },
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ console.log("地区", "_data", _data);
+ console.log(_data);
+ var that = this;
+ var _keyName = "districtData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json,
+ });
+ console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2],
+ });
+ console.log("over", that.data.selectAddressData);
+ },
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2],
+ });
+ this._initAddressInfo();
+ },
+ remarkinp(e) {
+ this.setData({
+ remark: e.detail.value,
+ });
+ },
+ // 选择图片
+ onRead() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths);
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: "file",
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ fileList1: res.data.img_url,
+ positive: res.data.img_url,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ });
+ },
+ onRead_1() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths);
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: "file",
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ fileList2: res.data.img_url,
+ back: res.data.img_url,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ });
+ },
+ onRead_2() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths);
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: "file",
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ fileList3: res.data.img_url,
+ holdID: res.data.img_url,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ });
+ },
+ onRead_3() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths);
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: "file",
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ fileList4: res.data.img_url,
+ license: res.data.img_url,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getverifyGoods();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ apply() {
+ var that = this;
+ if (!that.data.auctionValue.agreementChoose) {
+ wx.showToast({
+ title: "请阅读并勾选申请协议",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ // if (!that.data.real_name) {
+ // wx.showToast({
+ // title: "请填写姓名",
+ // icon: "none",
+ // duration: 1000,
+ // });
+ // }
+ // if (!that.data.mobile) {
+ // wx.showToast({
+ // title: "请填写手机号",
+ // icon: "none",
+ // duration: 1000,
+ // });
+ // return;
+ // }
+ // if (!that.data.province_id && !that.data.city_id && !district_id) {
+ // wx.showToast({
+ // title: "请选择城市",
+ // icon: "none",
+ // duration: 1000,
+ // });
+ // return;
+ // }
+ // if (!that.data.address) {
+ // wx.showToast({
+ // title: "请填写手机号",
+ // icon: "none",
+ // duration: 1000,
+ // });
+ // return;
+ // }
+ let json = {
+ art: "apply",
+ real_name: that.data.real_name,
+ mobile: that.data.mobile,
+ province_id: that.data.province_id,
+ city_id: that.data.city_id,
+ district_id: that.data.district_id,
+ address: that.data.address,
+ identity_card: that.data.identity_card,
+ company: that.data.company,
+ positive: that.data.positive,
+ back: that.data.back,
+ holdID: that.data.holdID,
+ license: that.data.license,
+ remark: that.data.remark,
+ street_id: that.data.streetId,
+ };
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ showphone: true,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getAgreement() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ app._postNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ agreement: res.data.getAgreement.agreement,
+ banner_img: res.data.getAgreement.banner_img,
+ });
+ if (res.data.is_apply == 0) {
+ that.getApply();
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getYanz() {
+ var that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.auction.api.auctioneer.verifyGoods"
+ );
+ app._postNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ yazshop: 1,
+ showphone: true,
+ });
+ } else {
+ that.setData({
+ yazshop: 0,
+ });
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getApply() {
+ var that = this;
+ let json = {
+ art: "getApply",
+ };
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ real_name: res.data.getApply.real_name,
+ mobile: res.data.getApply.mobile,
+ province_id: res.data.getApply.district_id,
+ city_id: res.data.getApply.city_id,
+ district_id: res.data.getApply.district_id,
+ address: res.data.getApply.address,
+ identity_card: res.data.getApply.identity_card,
+ company: res.data.getApply.company,
+ positive: res.data.getApply.positive,
+ back: res.data.getApply.back,
+ holdID: res.data.getApply.holdID,
+ license: res.data.getApply.license,
+ remark: res.data.getApply.remark,
+ "auctionValue.agreementChoose": true,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
\ No newline at end of file
diff --git a/packageD/auction/auction-apply/auction-apply/auction-apply.json b/packageD/auction/auction-apply/auction-apply/auction-apply.json
new file mode 100644
index 0000000..085bf52
--- /dev/null
+++ b/packageD/auction/auction-apply/auction-apply/auction-apply.json
@@ -0,0 +1,12 @@
+{
+ "navigationBarTitleText": "拍卖官申请",
+ "usingComponents": {
+ "van-checkbox": "../../../../dist/checkbox/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "van-switch": "../../../../dist/switch/index",
+ "van-cell": "../../../../dist/cell/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "yz_uploader": "/mycomponent/yz_uploader/yz_uploader"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auction-apply/auction-apply/auction-apply.wxml b/packageD/auction/auction-apply/auction-apply/auction-apply.wxml
new file mode 100644
index 0000000..1227a08
--- /dev/null
+++ b/packageD/auction/auction-apply/auction-apply/auction-apply.wxml
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+ 申请信息
+
+
+
+ 姓名
+ *
+
+
+
+
+
+ 手机号
+ *
+
+
+
+
+
+ 所在城市
+ *
+
+ {{auctionValue.retCity?auctionValue.retCity:'请选择城市'}}
+
+
+
+ 街道
+ *
+
+
+
+
+
+ 详细地址
+ *
+
+
+
+
+
+ 身份证号码
+ *
+
+
+
+
+
+ 企业名称
+
+
+
+
+
+
+
+
+
+
+ 上传身份证人像面
+ *
+
+
+
+
+
+
+ 上传身份证国徽面
+ *
+
+
+
+
+
+
+ 手持身份证照片
+ *
+
+
+
+
+
+
+ 企业营业执照照片
+
+
+
+
+
+
+ 备注信息
+
+
+
+
+
+
+
+
+
+ 阅读并同意
+ 《申请协议》
+
+
+
+
+提交
+
+
+
+ 取消
+ 确定
+
+
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+ 提交成功
+ 请等待管理员审核
+
+ 确认
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction-apply/auction-apply/auction-apply.wxss b/packageD/auction/auction-apply/auction-apply/auction-apply.wxss
new file mode 100644
index 0000000..1749a71
--- /dev/null
+++ b/packageD/auction/auction-apply/auction-apply/auction-apply.wxss
@@ -0,0 +1,244 @@
+/* packageD/auction/auction-apply/auction-apply/auction-apply.wxss */
+page {
+ background: #fff;
+ height: 100vh;
+}
+
+.content {
+ padding: 0 0.75rem;
+ background: #fff;
+ padding-bottom: 0.5rem;
+}
+
+.content .bannar {
+ margin: 0 25rpx;
+ height: 320rpx;
+ border-radius: 10rpx;
+ margin-bottom: 30rpx;
+}
+
+.content .bannar image {
+ width: 100%;
+ height: 100%;
+ border-radius: 0.25rem;
+ background: #3333;
+}
+
+.content .title {
+ display: flex;
+}
+
+.content .title .line {
+ width: 10rpx;
+ height: 36rpx;
+ background-color: #f40420;
+ border-radius: 0.1875rem;
+ margin-right: 0.75rem;
+}
+
+.content .items {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border-bottom: solid 1px #ededed;
+ padding: 45rpx 0;
+}
+
+.content .items .lefts {
+ display: flex;
+ align-items: center;
+}
+
+.content .items .lefts .xi {
+ color: #f40420;
+}
+
+.content .items .rights {
+ outline: none;
+ border: none;
+ flex: 1;
+ text-align: right;
+ color: #999;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* ----------------------------------------- */
+.statusSet {
+ background: #fff;
+ margin-bottom: 19rpx;
+}
+
+.statusBox {
+ margin-top: 30rpx;
+ box-sizing: border-box;
+}
+
+.statusTitle {
+ font-size: 24rpx;
+ color: rgba(51, 51, 51, 1);
+}
+
+.statusBox text {
+ color: red;
+}
+
+.staImg {
+ width: 641rpx;
+ height: 341rpx;
+ margin-left: 23rpx;
+ margin-top: 22rpx;
+}
+
+.staImg image {
+ width: 96%;
+ height: 97%;
+ border-radius: 10rpx;
+}
+
+.is_area {
+ background: #f2f2f7;
+}
+
+.is_area textarea {
+ margin-top: 34rpx;
+}
+
+/* 协议 */
+.choosebtn {
+ display: flex;
+ align-items: center;
+
+ /* background-color: #f5f5f5; */
+
+ /* padding-left: 30rpx; */
+
+ /* padding-top: 20rpx; */
+ box-sizing: border-box;
+}
+
+.choosebtn .left text {
+ font-size: 20rpx;
+ color: #ff5959;
+}
+
+.choosebtn .left {
+ padding-left: 20rpx;
+ font-size: 20rpx;
+ color: #999;
+}
+
+.choosebtn .right {
+ border-radius: 50%;
+}
+
+.sumbit {
+ width: 700rpx;
+ height: 71rpx;
+ background-color: #ff2c29;
+ border-radius: 36rpx;
+ margin: 0 auto;
+ text-align: center;
+ line-height: 71rpx;
+ font-size: 36rpx;
+ color: #fff;
+ margin-bottom: 40rpx;
+}
+
+/* 弹窗 */
+
+/* 手机窗口 */
+.showtwo_btns {
+ width: 599rpx;
+
+ /* height: 309rpx; */
+ background-color: #fff;
+ border-radius: 31rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.showtwo_btns .title {
+ font-size: 36rpx;
+ color: #000;
+ padding: 53rpx 44rpx 0 43rpx;
+}
+
+.showtwo_btns .title .txt {
+ font-size: 48rpx;
+ color: #000;
+}
+
+.showtwo_btns .title .text {
+ font-size: 27rpx;
+ color: #999;
+}
+
+.showtwo_btns .btn_bottom {
+ width: 408rpx;
+ height: 90rpx;
+ background-color: #ff6333;
+ margin: 0 auto;
+ margin-top: 67rpx;
+ margin-bottom: 52rpx;
+ border-radius: 45rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 36rpx;
+ color: #fff;
+}
+
+.two .van-popup {
+ border-radius: 31rpx;
+}
diff --git a/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.js b/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.js
new file mode 100644
index 0000000..88f68df
--- /dev/null
+++ b/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.js
@@ -0,0 +1,175 @@
+// packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ cash:'',
+ radio:'1'
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getDgetStoreInfoata();
+ },
+ userValinp(e){
+ console.log(e.detail);
+ let ind = e.detail;
+ this.setData({
+ radio:ind
+ });
+ },
+ iscash(e){
+ this.setData({
+ cash:e.detail.value
+ });
+ },
+ sureCash(){
+ let that = this;
+ console.log(that.data.cash);
+ if (!that.data.cash) {
+ wx.showToast({
+ title: '请输入提现金额',
+ icon:'none',
+ duration:1000
+ });
+ return;
+ }
+ let json = {
+ withdraw_money: this.data.cash,
+ withdraw_type: this.data.radio
+ };
+ let urlStr = app.getNetAddresss('plugin.auction.api.prepayment.withdraw.withdraw');
+ app._getNetWork({
+ url: urlStr,
+ data:json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ duration:1000,
+ icon:'none',
+ success(){
+ setTimeout(() => {
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500);
+ }
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ $http
+ .get(
+ "plugin.integral.Frontend.Modules.Integral.Controllers.Withdraw",
+ { change_value: this.cash },
+ `$${this.fun.initWithdrawal()}中`
+ )
+ .then(response => {
+ if (response.result === 1) {
+ this.getData();
+ this.$router.push(this.fun.getUrl("withdrawal"));
+ Toast(`${this.fun.initWithdrawal()}成功`);
+ } else {
+ Toast(response.msg);
+ }
+ })
+ .catch(error => {
+ console.log(error);
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getDgetStoreInfoata(){
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.prepayment.withdraw.page');
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ Data:res.data,
+ integralShow:res.data.alipay,
+ withdraw_status:res.data.wechat
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+});
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.json b/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.json
new file mode 100644
index 0000000..35861d8
--- /dev/null
+++ b/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "提现",
+ "usingComponents": {
+ "van-radio-group": "../../../../dist/radio-group/index",
+ "van-radio": "../../../../dist/radio/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.wxml b/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.wxml
new file mode 100644
index 0000000..bc0b97f
--- /dev/null
+++ b/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.wxml
@@ -0,0 +1,35 @@
+
+
+
+
+ 可提现金额:
+ {{ Data.balance||0}}元
+
+
+
+ 提现金额
+
+ ¥
+
+
+
+
+ 提现到
+
+
+ 提现到微信
+
+
+
+
+ 提现到支付宝
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.wxss b/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.wxss
new file mode 100644
index 0000000..487460b
--- /dev/null
+++ b/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.wxss
@@ -0,0 +1,170 @@
+/* packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash.wxss */
+.content .transfer_info {
+ background: #fff;
+ padding-left: 28rpx;
+ font-size: 16px;
+}
+
+.content .transfer_info .info_a,
+.content .transfer_info .info_b {
+ line-height: 92rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ display: flex;
+ justify-content: flex-start;
+}
+
+.content .transfer_info .info_a span:first-child,
+.content .transfer_info .info_b span:first-child {
+ display: block;
+ text-align: left;
+}
+
+.content .transfer_info .info_a input,
+.content .transfer_info .info_b input {
+ border: none;
+ width: 500rpx;
+}
+
+.content .transfer_sum {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.content .transfer_sum span {
+ display: block;
+ font-size: 16px;
+ line-height: 80rpx;
+ text-align: left;
+}
+
+.content .transfer_sum .sum {
+ text-align: left;
+ font-size: 24px;
+ margin: 30rpx 0;
+ display: flex;
+ align-items: center;
+}
+
+.content .transfer_sum .sum input {
+ margin-left: 12rpx;
+ line-height: 120rpx;
+ width: 90%;
+ font-size: 34px;
+ border: none;
+ display: inline-block;
+}
+
+.content .personal_info {
+ margin-top: 20rpx;
+ background: #fff;
+ padding-left: 28rpx;
+}
+
+.content .personal_info li {
+ line-height: 92rpx;
+ display: flex;
+ font-size: 16px;
+ border-bottom: solid 2rpx #ebebeb;
+ text-align: left;
+}
+
+.content .personal_info li span:first-child {
+ display: block;
+ width: 220rpx;
+}
+
+.content .personal_info li:last-child {
+ border: none;
+}
+
+.content .btn {
+ width: 690rpx;
+ margin: 40rpx auto;
+ height: 92rpx;
+ border-radius: 8rpx;
+ font-size: 16px;
+ color: #fff;
+ background: #f15353;
+ border: none;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.content .notes {
+ color: #8c8c8c;
+}
+
+/* 提现到 */
+.transfer-to {
+ background-color: #fff;
+ margin-top: 32rpx;
+}
+
+.transfer-to .title {
+ text-align: left;
+ padding: 16rpx 28rpx;
+}
+
+.transfer-to .income .top {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ flex-wrap: wrap;
+ padding: 16rpx 28rpx;
+}
+
+.transfer-to .income .top .top-icon {
+ display: flex;
+ align-items: center;
+ font-size: 14px;
+ width: 80%;
+}
+
+.transfer-to .income .top .top-icon .icon-balance_i {
+ color: #64b42e;
+}
+
+.transfer-to .income .top .top-icon .icon-balance_j {
+ color: #069ce7;
+}
+
+.transfer-to .income .top .top-icon .iconfont {
+ font-size: 64rpx;
+ margin-right: 20rpx;
+}
+
+.transfer-to .income .top .text {
+ text-align: left;
+ color: #999;
+}
+
+.transfer-to .income .bottom {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ flex-wrap: wrap;
+ border-top: solid 1px #999;
+ padding: 16rpx 28rpx;
+}
+
+.transfer-to .income .bottom .bottom-icon {
+ display: flex;
+ align-items: center;
+ font-size: 14px;
+ width: 80%;
+}
+
+.transfer-to .income .bottom .bottom-icon .icon-balance_j {
+ color: #069ce7;
+}
+
+.transfer-to .income .bottom .bottom-icon .iconfont {
+ font-size: 64rpx;
+ margin-right: 20rpx;
+}
+
+.transfer-to .income .bottom .text {
+ text-align: left;
+ color: #999;
+}
diff --git a/packageD/auction/auction-mine/auction_collect/auction_collect.js b/packageD/auction/auction-mine/auction_collect/auction_collect.js
new file mode 100644
index 0000000..891dde5
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_collect/auction_collect.js
@@ -0,0 +1,179 @@
+// packageD/auction/auction-mine/auction_collect/auction_collect.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ page: 1
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getdata();
+ },
+ tapGO(e) {
+ console.log(e);
+ let id = e.currentTarget.dataset.item.auctioneer_id;
+ wx.navigateTo({
+ url: "/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop?id="+id,
+ });
+ },
+ //收藏
+ toCollect(e) {
+ // console.log(e.currentTarget.dataset.id)
+ let id = e.currentTarget.dataset.id;
+ let json = {
+ art: 'collectionShop',
+ auctioneer_id: id
+ };
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getdata();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.current_page >= this.data.last_page) {
+ wx.showToast({
+ title: '暂无更多',
+ duration: 1000,
+ icon: 'none'
+ });
+ } else {
+ let pages = this.data.page + 1;
+ this.setData({
+ page: pages
+ });
+ this.getNextdata();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getdata() {
+ let that = this;
+ let json = {
+ art: 'collectionList',
+ page: that.data.page
+ };
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ datas: res.data.collectionList.data,
+ current_page: res.data.collectionList.current_page,
+ last_page: res.data.collectionList.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getNextdata() {
+ let that = this;
+ let json = {
+ art: 'collectionList',
+ page: that.data.page
+ };
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ datas: that.data.datas.concat(res.data.collectionList.data),
+ current_page: res.data.collectionList.current_page,
+ last_page: res.data.collectionList.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_collect/auction_collect.json b/packageD/auction/auction-mine/auction_collect/auction_collect.json
new file mode 100644
index 0000000..c1b3d78
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_collect/auction_collect.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "我的收藏",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_collect/auction_collect.wxml b/packageD/auction/auction-mine/auction_collect/auction_collect.wxml
new file mode 100644
index 0000000..a983f31
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_collect/auction_collect.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ {{item.nick_name}}
+ 已收藏
+
+
+
+ 已认证
+ 拍品:{{item.lot_num}}
+
+
+
+ 取消收藏
+
+
+ 暂无收藏
+
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_collect/auction_collect.wxss b/packageD/auction/auction-mine/auction_collect/auction_collect.wxss
new file mode 100644
index 0000000..6791eca
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_collect/auction_collect.wxss
@@ -0,0 +1,96 @@
+/* packageD/auction/auction-mine/auction_collect/auction_collect.wxss */
+page {
+ background: #fff;
+ height: 100vh;
+}
+
+.collect_box {
+ padding: 20rpx 28rpx 20rpx 36rpx;
+ display: flex;
+ align-items: center;
+
+ /* justify-content: space-between; */
+ background: #fff;
+ border-bottom: 1rpx solid #f2f2f7;
+ justify-content: space-between;
+}
+
+.collect_box image {
+ width: 100rpx;
+ height: 100rpx;
+ border-radius: 50%;
+}
+
+.listBox {
+ display: flex;
+ flex-direction: column;
+ margin-left: 29rpx;
+}
+
+.cxtxt {
+ display: flex;
+ align-items: center;
+ margin-top: 10rpx;
+}
+
+.cxtxt view {
+ width: 94rpx;
+ height: 38rpx;
+ border-radius: 19rpx;
+ border: solid 1rpx #999;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 22rpx;
+ color: #999;
+ margin-left: 12rpx;
+}
+
+.xatxt {
+ display: flex;
+ align-items: center;
+}
+
+.xatxt icon {
+ /* margin-bottom: 10rpx; */
+ color: #ff6333;
+ font-size: 40rpx;
+}
+
+.collect_btn {
+ width: 123rpx;
+ height: 38rpx;
+ border-radius: 19rpx;
+ background-image:
+ linear-gradient(
+ #ff2c29,
+ #ff2c29
+ ),
+ linear-gradient(
+ #ff7001,
+ #ff7001
+ );
+ background-blend-mode:
+ normal,
+ normal;
+ font-size: 24rpx;
+ color: #fff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.nub {
+ display: flex;
+ align-items: center;
+}
+
+.right {
+ margin-left: 13rpx;
+ font-size: 24rpx;
+ color: #666;
+}
+
+/* .collect_box:first-child{
+ border: none;
+} */
diff --git a/packageD/auction/auction-mine/auction_deposit/auction_deposit.js b/packageD/auction/auction-mine/auction_deposit/auction_deposit.js
new file mode 100644
index 0000000..479809c
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_deposit/auction_deposit.js
@@ -0,0 +1,66 @@
+// packageD/auction/auction-mine/auction_deposit/auction_deposit.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+});
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_deposit/auction_deposit.json b/packageD/auction/auction-mine/auction_deposit/auction_deposit.json
new file mode 100644
index 0000000..fab7d1d
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_deposit/auction_deposit.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "保证金",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_deposit/auction_deposit.wxml b/packageD/auction/auction-mine/auction_deposit/auction_deposit.wxml
new file mode 100644
index 0000000..5fb5faa
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_deposit/auction_deposit.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+ 热款拍卖 人气爆款 当代汝瓷精品 简约风 景德镇陶瓷茶杯 整套
+
+
+ ¥50.00
+ 缴纳成功
+
+
+ 02.08 12:30结束
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_deposit/auction_deposit.wxss b/packageD/auction/auction-mine/auction_deposit/auction_deposit.wxss
new file mode 100644
index 0000000..c4493f0
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_deposit/auction_deposit.wxss
@@ -0,0 +1,96 @@
+/* packageD/auction/auction-mine/auction_deposit/auction_deposit.wxss */
+.page {
+ background-color: #fff;
+ height: 100vh;
+}
+
+.content {
+ background-color: #fff;
+ padding: 0 24rpx;
+ padding-top: 0.75rem;
+}
+
+.content .list {
+ display: flex;
+ margin-bottom: 0.75rem;
+}
+
+.content .list .image {
+ display: flex;
+ width: 254rpx;
+ height: 256rpx;
+ border-radius: 10rpx;
+}
+
+.content .list .image image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.content .list .right {
+ display: flex;
+ flex-direction: column;
+ margin-left: 0.5rem;
+ flex: 1;
+ justify-content: space-between;
+}
+
+.content .list .right .title {
+ text-align: left;
+ font-size: 14px;
+ color: #000;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.content .list .right .bottom {
+ text-align: left;
+}
+
+.content .list .right .bottom .cash {
+ display: flex;
+ font-size: 20rpx;
+ color: #f01818;
+ margin-bottom: 10rpx;
+}
+
+.content .list .right .bottom .cash view:nth-child(2) {
+ margin-left: 7rpx;
+}
+
+.content .list .right .bottom .time {
+ /* margin: 0.75rem 0; */
+ margin-bottom: 20rpx;
+ font-size: 20rpx;
+ color: #999;
+}
+
+.content .list:last-child {
+ margin-bottom: 0;
+}
+
+.content .blank {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ position: fixed;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+}
+
+.content .blank img {
+ width: 6rem;
+ height: 6rem;
+}
+
+.content .blank span {
+ margin-top: 15px;
+ color: #ccc;
+ font-size: 14px;
+}
diff --git a/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.js b/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.js
new file mode 100644
index 0000000..7de47ff
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.js
@@ -0,0 +1,2937 @@
+// pages/buy/myOrder_v2/myOrder_v2.js
+// import Dialog from '../../../../dist/dialog/dialog';
+// var WxParse = require('../../../../wxParse/wxParse.js');
+import util from '../../../../utils/util.js';
+var app = getApp();
+var location = require("../../../../mybehaviors/location/location");
+
+Page({
+ behaviors: [location],
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ //不同购买方式
+ options: {}, //路由参数购买方式
+ _root_tag: '',
+ TAG_ACTION_BUY: "-2", //直接购买
+ TAG_ACTION_CART: "-1", //-1购物车结算
+ _goodsId: '',
+ _optionsId: '',
+ _total: 1,
+ _cart_ids: [],
+ _packagJson: {},
+ currentAddId: '',
+ currentAddress: {},
+ //O2O部分
+ store_id: 0,
+ selectedMode: 0,
+ selected: 0,
+ dispatch: [],
+ storeCarts: [],
+ store_info: {},
+ linkinfo: {
+ mobile: '',
+ name: '',
+ },
+ //优惠券标识
+ cup_notice: true,
+ create: true,
+ dispatchName: {
+ 1: '快递',
+ 2: '上门自提',
+ 3: '送货上门',
+ },
+ popupSpecs: false,
+ addressData: [],
+ defaultAddress: {},
+ realname: "", //收件人
+ mobile: "",
+ address: "",
+ order_data: "",
+ dispatch_price: 0,
+ goods_price: 0,
+ price: 0,
+ discount_price: 0,
+ deduction_price: 0,
+ goodsInfo: {},
+ //优惠券
+ popupCouponSpecs: false,
+ checkCouponList: [],
+ coupon_size: 0,
+ use_coupon_size: 0,
+ coupons: [],
+ //积分抵扣 其他抵扣
+ checkDeductionList: [],
+ //新增地址v2------------------------------------------------新增地址v2//
+ form: {
+ username: '',
+ mobile: '',
+ province: '',
+ city: '',
+ district: '',
+ street: '',
+ address: '',
+ isDefault: false,
+ },
+ addressName: "",
+ districtVal: '',
+ popAddAddress: false,
+ strShow: false, //街道显示
+ openDateLw: false,
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ streetShow: false, //街道pop
+ //新增地址v2------------------------------------------------新增地址v2//
+ //个人信息和修改
+ myRealname: "",
+ myIdcard: "",
+ showMyinfo: false,
+ //
+ currentIndex: "999",
+ //是否开启会员权益开关
+ isOpenRight: false,
+ //是否选择权益商品
+ isRightChoose: false,
+ //租赁商品标识
+ isRent: false,
+ //租期
+ rentTime: [],
+ //可以免租的件数
+ rentFree: "",
+ //免押件数
+ rent_deposit_free: 0,
+ //租赁协议
+ agreeCon: {},
+ //免租件数
+ rent_free: 0,
+ rentShow: false,
+ tenancy: '',
+ //留言
+ note: {},
+ //跨境
+ isTaxGoods: false,
+ member_name: '',
+ member_card: '',
+ explain_title: '',
+ explain_content: '',
+ //同意租赁协议
+ agreement: false,
+ agreementShow: false,
+ submit_active: true,
+ //是否显示支付协议
+ AgreementPay: "",
+ //同意支付协议
+ agreementPay: false,
+ //支付协议
+ agreementPayShow: false,
+ show_address: true,
+ // 发票
+ isShowInvoice: true,
+ invoice_status: true,
+ papery_status: "",
+ electron_status: "",
+ person_status: true,
+ unit_status: false,
+ iscur: true,
+ iscur_b: false,
+ iscur_c: true,
+ iscur_d: false,
+ invoice_list: {
+ call: "",
+ company_number: ""
+ },
+ total_items: [],
+ discount_amount_items: [],
+ //服务费
+ service: {},
+ isCash: '',
+ goodsId: '',
+ show1: false,
+ pdOrderType: [{
+ name: "自用",
+ code: "1"
+ }], //pending_order_type使用类型:0:零售 1:自用
+ POChooseType: "0",
+ isOpenTeam: false, //是否为一键开团
+ isJoinTeam: false, //是否为去参团
+ opren: true,
+ is_open_package_deliver: false,
+ selfCarryType: [{
+ name: "快递",
+ dispatch_type_id: 1
+ },
+ {
+ name: "自提",
+ dispatch_type_id: 8
+ }
+ ],
+ selfCarrySelected: 0,
+ point:{
+ lat:'',
+ lng:''
+ },
+ city:'',
+ defaultSelfCarry:{},
+ package_deliver_id: '1'
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ //不同购买方式
+ this.setData({
+ options: options
+ });
+ let isOpenTeam = !app._isTextEmpty(options.level_id);
+ this.setData({
+ isOpenTeam
+ });
+
+ //是否为一键开团
+ let isJoinTeam = !app._isTextEmpty(options.team_id);
+ this.setData({
+ isJoinTeam
+ });
+
+ //是否为去参团
+ if (options.tag) {
+ this.setData({
+ _root_tag: options.tag
+ });
+ }
+ if (wx.getStorageSync("yz_basic_info").globalParameter.is_open_package_deliver == '1') {
+ console.log("开启自提点(杨朗)");
+ if (options.changeSelfCarry){
+ let changeSelfCarry = JSON.parse(options.changeSelfCarry);
+ this.setData({
+ defaultSelfCarry: changeSelfCarry,
+ selfCarrySelected: 1,
+ package_deliver_id: 8
+ });
+ }else{
+ this._getLocation(() => { this.getList();});
+ }
+ this.setData({
+ is_open_package_deliver: true
+ });
+ }
+ if (this.data._root_tag == this.data.TAG_ACTION_BUY ||this.data._root_tag == "auction") {
+ this.setData({
+ _goodsId: options.goodsId,
+ _optionsId: options.optionsId,
+ _total: options.total
+ });
+ this._getDataActionBuy(); //直接购买
+ } else if (this.data._root_tag == this.data.TAG_ACTION_CART) {
+ this.setData({
+ _cart_ids: options.cart_ids ? JSON.parse(options.cart_ids) : [],
+ });
+ this._getDataActionCart(); //购物车结算
+ } else if (this.data._root_tag == 'store') {
+ this.setData({
+ store_id: options.store_id,
+ isCash: options.isCash
+ });
+ if (this.data.isCash === 1) {
+ this.getCashGood();
+ } else {
+ this._initStore();
+ }
+ } else if (this.data._root_tag == "rentCartBuy") {
+ //租赁购物车
+ this.setData({
+ currentIndex: '999',
+ _cart_ids: options.cart_ids ? JSON.parse(options.cart_ids) : [],
+ isRent: true
+ });
+ this._getRentDataActionCart([], []);
+ this._getRentTimeList();
+ this._judgeIsRight();
+ } else if (this.data._root_tag == "rentBuy") {
+ this.setData({
+ currentIndex: '999',
+ isRent: true,
+ _goodsId: options.goodsId,
+ _optionsId: options.optionsId,
+ _total: options.total
+ });
+ this._getRentDataActionCart([], []);
+ this._getRentTimeList();
+ this._judgeIsRight();
+ } else if (this.data._root_tag == "packagBuy") { //套餐购买
+ this.setData({
+ _packagJson: options.packagJson,
+ _cart_ids: options.cart_ids
+ });
+ // this.goPackagBuy()
+ } else if (this.data._root_tag == "POrder") {
+ this.checktag();
+ this.setData({
+ _goodsId: options.goodsId,
+ _optionsId: options.optionsId,
+ _total: options.total,
+ });
+ this._getDataActionBuy();
+ } else if (this.data._root_tag == "fromExchange") {
+ //会员中心-兑换中心-去兑换(商城商品)
+ this.setData({
+ _goodsId: options.goodsId
+ });
+ this.getExchangeData();
+ }
+ this.getParams();
+ // this.getAgreementPay();
+ // this._checkTaxGoods();
+ // this.getIvoice()
+ //加载地址数据初始化
+ this._initAddressInfo();
+ },
+ _checkTaxGoods(data) {
+ if (data.status) {
+ //显示个人信息
+ this.setData({
+ showMyinfo: data.status
+ });
+ this.data.isTaxGoods = true;
+ } else {
+ this.data.isTaxGoods = false;
+ this.setData({
+ showMyinfo: false
+ });
+ //隐藏个人信息
+ }
+ },
+ swichTabTItem(e) {
+ console.log(e.detail.index);
+ this.setData({
+ POChooseType: e.detail.index
+ });
+ },
+ _getMemberInfo(data) {
+ this.setData({
+ member_name: data.realname,
+ member_card: data.idcard,
+ myRealname: data.realname,
+ myIdcard: data.idcard
+ });
+ },
+ _getExplain(data) {
+ this.data.explain_title = data.explain_title;
+ this.data.explain_content = data.explain_content;
+ },
+ //保税真实信息添加
+ alertMyInfo() {
+ wx.navigateTo({
+ url: "/packageB/member/address/myinfo/myinfo?tag=delta"
+ });
+ },
+ gotochangeSelfCarry(){
+ //更换自提点
+ let that = this;
+ wx.navigateTo({
+ url: '/packageC/selfCarry/selfCarry_info/selfCarry_info?tag=' + that.data.options.tag + '&goodsId=' + that.data.options.goodsId +
+ '&optionsId=' + that.data.options.optionsId + '&total=' + that.data.options.total +'&goods='+ JSON.stringify(this._assembleGoods())
+ });
+ },
+ checktag() {
+ console.log('檢查tag');
+
+ let that = this;
+ var urlStr = app.getNetAddresss('plugin.pending-order.frontend.wholesale-area.index');
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ activity: res.data.activity,
+ activity_time: res.data.activity.end_time
+ });
+ var nowTime = Date.parse(util.formatTime(new Date()));
+ var setTime = Date.parse(that.data.activity_time.replace(/-/g, '/'));
+ if (nowTime > setTime) {
+ that.setData({
+ isfot: false
+ });
+ } else {
+ that.setData({
+ isfot: true
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ setDispatch(e) {
+ let title = e.detail.title;
+ if (this.data.dispatchName["1"] === title) {
+ this.setData({
+ selected: 1
+ });
+ } else if (this.data.dispatchName["2"] === title) {
+ this.setData({
+ selected: 2
+ });
+ } else if (this.data.dispatchName["3"] === title) {
+ this.setData({
+ selected: 3
+ });
+ }
+ this._getDataActionStoreCart();
+ },
+ _initStore() {
+ var that = this;
+ that.setData({
+ recipient_name: "",
+ recipient_mobile: ""
+ });
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.get-store-info.get-info-by-store-id");
+ urlStr += "&store_id=" + this.data.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ store_info: res.data,
+ dispatch: res.data.dispatch_type,
+ selected: res.data.dispatch_type[0],
+ recipient_name: res.data.store_carry.name,
+ recipient_mobile: res.data.store_carry.number
+ });
+ that._getDataActionStoreCart();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //门店购物车商品
+ _getDataActionStoreCart() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.index");
+ urlStr += "&store_id=" + this.data.store_id;
+ // that._getStoreInfo();
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ cup_notice: true,
+ storeCarts: []
+ });
+ res.data.forEach(item => {
+ let storeCarts = that.data.storeCarts;
+ storeCarts.push(item.id);
+ that.setData({
+ storeCarts: storeCarts
+ });
+ });
+ that._getStoreCartBuy(that.data.storeCarts);
+ } else {
+ that.setData({
+ cup_notice: true
+ });
+ wx.showToast({
+ icon: 'none',
+ title: '无商品',
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+
+ },
+ _getStoreInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.get-store-info.get-info-by-store-id");
+ urlStr += "&store_id=" + this.data.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ store_info: res.data,
+ dispatch: res.data.dispatch_type
+ });
+ if (that.data.dispatch.length > 0) {
+ if (!that.data.selected) {
+ that.setData({
+ selected: that.data.dispatch[0],
+ });
+ }
+
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //显示地址pop
+ showAddress() {
+ //获取收货地址
+ this._getAddress();
+ },
+ //获取收货地址
+ _getAddress() {
+ this.addressData = [];
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member-address.index");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let defaultAddress = res.data;
+ defaultAddress = res.data.filter(function(item) {
+ return item.isdefault === 1;
+ });
+
+ that.setData({
+ popupSpecs: true,
+ addressData: res.data,
+ defaultAddress: defaultAddress
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //设置地址界面
+ _setAddressViewData(model) {
+ if (model == undefined || model == "" || model == []) {
+ return;
+ }
+ //设置地址id
+ this.data.currentAddId = model.id;
+ this.data.currentAddress = model;
+ this.setData({
+ realname: app._isTextEmpty(model.username) ? "" : model.username,
+ mobile: app._isTextEmpty(model.mobile) ? "" : model.mobile,
+ address: app._isTextEmpty(model.province) ? "" : model.province + " " + model.city + " " + model.district + " " +
+ (app._isTextEmpty(model.street) ? "" : model.street + " ") + model.address
+ });
+ },
+ //门店结算
+ _getStoreCartBuy(cart_ids) {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.cart-buy");
+ urlStr += "&cart_ids=" + cart_ids;
+ urlStr += "&store_id=" + that.data.store_id;
+ urlStr += "&dispatch_type_id=" + that.data.selected;
+ urlStr += "&member_coupon_ids=" + this._assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
+ urlStr += "&address=" + JSON.stringify(this.data.currentAddress);
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsInfo: res.data
+ });
+ that._setViewData(res.data); //设置界面
+ that._setAddressViewData(res.data.dispatch.default_member_address); //设置地址界面
+ that._initCoupon(res.data.discount.member_coupons); //设置优惠券信息
+ if (that.data.is_open_package_deliver) {
+ that.setData({
+ selfCarryType: res.data.dispatch.delivery_method
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //组装优惠券json信息
+ _assembleCoupons() {
+ let coupons = [];
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ coupons.push(this.data.checkCouponList[i].id);
+ }
+ return coupons;
+ },
+ //组装优惠抵扣信息
+ _assembleDeduction() {
+ let deductions = [];
+ for (let i = 0; i < this.data.checkDeductionList.length; i++) {
+ deductions.push(this.data.checkDeductionList[i]);
+ }
+ return deductions;
+ },
+ //设置界面
+ _setViewData(data) {
+ console.log(data.fee_items, '服务费');
+
+ console.log(data, '右束支');
+
+ this.setData({
+ order_data: data.orders,
+ show_address: data.orders[0].need_address,
+ price: data.total_price, //设置总价格(合计)
+ total_items: data.amount_items,
+ discount_amount_items: data.discount_amount_items,
+ service: data.orders[0].order_fees
+ });
+ console.log(this.data.service, '服务费65655656');
+
+ if (this.data._root_tag == 'store' && this.data.price < 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '下单错误',
+ duration: 1500
+ });
+ }
+ },
+ //初始化优惠券
+ _initCoupon(coupon) {
+ if (coupon != undefined && coupon != "" && coupon != null) {
+ this.setData({
+ coupon_size: coupon.length
+ });
+ }
+ let checkCouponList = [];
+ coupon.forEach((item, ind) => {
+ if (item.checked == true) {
+ checkCouponList.push(item);
+ }
+ });
+ this.setData({
+ coupons: coupon,
+ use_coupon_size: checkCouponList.length
+ });
+ },
+ //提货人输入
+ infonamebtn(e) {
+ let infoname = e.detail;
+ this.setData({
+ "linkinfo.name": infoname
+ });
+ },
+ infonameclear() {
+ this.setData({
+ "linkinfo.name": ''
+ });
+ },
+ infomobileclear() {
+ this.setData({
+ "linkinfo.mobile": ''
+ });
+ },
+ //提货人手机输入
+ infomobilebtn(e) {
+ let infomobile = e.detail;
+ this.setData({
+ "linkinfo.mobile": infomobile
+ });
+
+ },
+ addresclosebtn: function() {
+ this.setData({
+ popupSpecs: false
+ });
+ },
+ //选择地址
+ selectAddress(e) {
+ let item = e.currentTarget.dataset.addr;
+ this._setAddressViewData(item); //更新界面 & ID
+ this._requestByAddress(); //选择地址后重新计算
+ //关闭 地址栏
+ this.setData({
+ popupSpecs: false
+ });
+ },
+ //选择地址后重新计算数据
+ _requestByAddress() {
+ //重新计算
+ if (this.data._root_tag == this.data.TAG_ACTION_BUY ||this.data.root_tag == "auction") {
+ this.setData({
+ order_data: ""
+ });
+ this._getDataActionBuy(); //直接购买
+ } else if (this.data._root_tag == 'fromExchange') {
+ this.setData({
+ order_data: ""
+ });
+ this.getExchangeData(0); //直接购买
+ } else if (this.data._root_tag == this.data.TAG_ACTION_CART) {
+ this.setData({
+ order_data: ""
+ });
+ this._getDataActionCart(); //购物车结算
+ } else if (this.data._root_tag == 'store') {
+ this._getDataActionStoreCart(); //门店结算
+ } else if (this.data_root_tag == "rentCartBuy" || this.data._root_tag == "rentBuy") {
+ this._rentGoodBuy();
+ } else if (this.data._root_tag == "packagBuy") { //套餐购买
+ this.setData({
+ order_data: ""
+ });
+ // this.goPackagBuy()
+ }
+ },
+ editAddress() {
+ this.setData({
+ "form.address_id": this.data.defaultAddress[0].id,
+ "form.username": this.data.defaultAddress[0].username,
+ "form.mobile": this.data.defaultAddress[0].mobile,
+ "form.province": this.data.defaultAddress[0].province,
+ "form.city": this.data.defaultAddress[0].city,
+ "form.district": this.data.defaultAddress[0].district,
+ "form.address": this.data.defaultAddress[0].address,
+ "form.street": this.data.defaultAddress[0].street,
+ "form.isDefault": this.data.defaultAddress[0].isDefault === 0 ? false : true
+ });
+ this.setData({
+ popupSpecs: false,
+ create: false,
+ popAddAddress: true,
+ });
+ this._getStreet(this.data.defaultAddress[0].district_id);
+ this.setData({
+ addressName: this.data.form.province + " " + this.data.form.city + " " + this.data.form.district
+
+ });
+
+ },
+ //关闭增加地址
+ popAddressClose() {
+ this.setData({
+ popAddAddress: false
+ });
+ },
+ //收件人输入绑定
+ usernameinp: function(e) {
+ let nameval = e.detail.value;
+ this.setData({
+ "form.username": nameval
+ });
+ },
+ //联系电话输入绑定
+ mobileinp: function(e) {
+ let mobileval = e.detail.value;
+ this.setData({
+ "form.mobile": mobileval
+ });
+ },
+ //默认地址开关值绑定
+ isDefaultChange: function(e) {
+ let isDefault = e.detail;
+ this.setData({
+ "form.isDefault": isDefault
+ });
+ },
+ //详细地址绑定输入
+ addressinp: function(e) {
+ let addressval = e.detail.value;
+ console.log(addressval);
+ this.setData({
+ "form.address": addressval
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function() {
+ this.setData({
+ openDateLw: false
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function() {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function(res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function(res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: 'provinceData',
+ data: province
+ });
+ wx.setStorage({
+ key: 'cityData',
+ data: city
+ });
+ wx.setStorage({
+ key: 'districtData',
+ data: district
+ });
+ that._initAddressInfo();
+ },
+ fail: function(res) {},
+ state: true
+ });
+ }
+ });
+ },
+ // 读取省key
+ _getProvinceData: function() {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data
+ });
+ that.setData({
+ "selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0]
+ });
+ that._getCityData();
+ }
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function() {
+ var _data = this.data.selectAddressData[0];
+ console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = 'cityData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1]
+ });
+ that._getDistrictData();
+ }
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function() {
+ var _data = this.data.selectAddressData[1];
+ console.log("地区", "_data", _data);
+ console.log(_data);
+ var that = this;
+ var _keyName = 'districtData';
+ wx.getStorage({
+ key: _keyName,
+ success: function(res) {
+ console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json
+ });
+ console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2]
+ });
+ console.log("over", that.data.selectAddressData);
+ }
+ });
+ },
+ //打开地址选择器
+ openDateLwtbtn: function() {
+ this.setData({
+ openDateLw: true
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function(e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2]
+ });
+ this._initAddressInfo();
+ },
+ // 确定选择收货地址
+ _okAddress: function() {
+ let seleData = this.data.selectAddressData;
+ this.setData({
+ "form.street": "",
+ "districtVal": "",
+ "addressName": seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name,
+ "form.province": seleData[0].name,
+ "form.city": seleData[1].name,
+ "form.district": seleData[2].name
+ });
+ this._getStreet(seleData[2].id);
+ this._closeDateLw();
+ },
+ //获取街道
+ _getStreet(param) {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.memberAddress.street");
+ urlStr += "&district_id=" + param;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ if (!app._isTextEmpty(res.data) && res.data.length > 0) {
+ that.setData({
+ districtVal: res.data,
+ strShow: true
+ });
+ } else {
+ that.setData({
+ strShow: false
+ });
+ }
+ } else {
+ that.setData({
+ strShow: false
+ });
+ }
+ },
+ fail: function(res) {
+ that.setData({
+ strShow: false
+ });
+ console.log(res);
+ }
+ });
+ },
+ streetChoose() {
+ if (app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请先选择所在地区',
+ duration: 1500
+ });
+ } else {
+ this.setData({
+ streetShow: true,
+ opren: false
+ });
+ }
+ },
+ //关闭选择街道弹窗
+ streetClose: function() {
+ this.setData({
+ streetShow: false,
+ opren: true
+ });
+ },
+ //选择街道
+ streetConfirm(e) {
+ let strname = e.target.dataset.strname;
+ this.setData({
+ "form.street": strname,
+ "streetShow": false,
+ opren: true
+ });
+ },
+ //增加地址
+ appendAddress(e) {
+ let that = this;
+ let apptype = e.currentTarget.dataset.apptype;
+ if (app._isTextEmpty(this.data.form.username)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入收货人姓名",
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入联系电话",
+ duration: 1500
+ });
+ return;
+ }
+ if (!/^[0-9]{1,}$/.test(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入联系电话",
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请选择所在区域",
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.strShow && app._isTextEmpty(this.data.form.street)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请选择所在街道",
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.address)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入详细地址",
+ duration: 1500
+ });
+ return;
+ }
+ let json = {};
+ if (this.data.strShow) {
+ json = {
+ username: this.data.form.username,
+ mobile: this.data.form.mobile,
+ province: this.data.form.province,
+ city: this.data.form.city,
+ district: this.data.form.district,
+ street: this.data.form.street,
+ address: this.data.form.address,
+ isdefault: this.data.form.isDefault ? 1 : 0,
+ address_id: this.data.form.address_id
+ };
+ } else {
+ json = {
+ username: this.data.form.username,
+ mobile: this.data.form.mobile,
+ province: this.data.form.province,
+ city: this.data.form.city,
+ district: this.data.form.district,
+ address: this.data.form.address,
+ isdefault: this.data.form.isDefault ? 1 : 0,
+ address_id: this.data.form.address_id
+ };
+ }
+ let urlStr = '';
+ if (apptype === 'update') {
+ urlStr = app.getNetAddresss('member.member-address.update');
+ } else {
+ urlStr = app.getNetAddresss('member.member-address.store');
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ that.popAddressClose();
+ that._setAddressViewData(res.data);
+ that._requestByAddress(); //选择地址后重新计算
+ that.setData({
+ "form.username": '',
+ "form.mobile": '',
+ "form.province": '',
+ "form.city": '',
+ "form.district": '',
+ "form.street": '',
+ "form.address": '',
+ "form.isDefault": false,
+ addressName: ''
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+
+ }
+ });
+ },
+ //跳转到新增地址
+ addAddress() {
+ //关闭 地址栏
+ this.setData({
+ popupSpecs: false
+ });
+ //新增地址 本地处理
+ this.showAddAddress();
+ },
+ //显示增加地址
+ showAddAddress() {
+ this.setData({
+ "form.username": '',
+ "form.mobile": '',
+ "form.province": '',
+ "form.city": '',
+ "form.district": '',
+ "form.street": '',
+ "form.address": '',
+ "form.isDefault": false,
+ addressName: '',
+ popAddAddress: true,
+ create: true
+ });
+ },
+ //租赁购物车结算
+ _getRentDataActionCart(right, rent) {
+ if (this.data._root_tag == "rentCartBuy") {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.lease-toy.api.order.cart-buy");
+ urlStr += "&lease_rights=" + right;
+ urlStr += "&lease_term=" + rent;
+ urlStr += "&cart_ids=" + this.data._cart_ids;
+ urlStr += "&member_coupon_ids=" + this._assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
+ urlStr += "&address=" + JSON.stringify(this.data.currentAddress);
+ urlStr += "&dispatch_type_id=1";
+ urlStr += "&mark=" + (this.data.options.mark ? this.data.options.mark : 0);
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsInfo: res.data,
+ cup_notice: true,
+ });
+ that._setViewData(res.data); //设置界面
+ that._setAddressViewData(res.data.dispatch.default_member_address); //设置地址界面
+ that._initCoupon(res.data.discount.member_coupons); //设置优惠券信息
+ if (that.data.is_open_package_deliver) {
+ that.setData({
+ selfCarryType: res.data.dispatch.delivery_method
+ });
+ }
+ } else {
+ that.setData({
+ cup_notice: true,
+ });
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ } else if (this.data._root_tag == "rentBuy") {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.lease-toy.api.order.goods-buy");
+ urlStr += "&lease_rights=" + right;
+ urlStr += "&lease_term=" + rent;
+ urlStr += "&goods_id=" + this.data._goodsId;
+ urlStr += "&total=" + this.data._total;
+ urlStr += "&option_id=" + this.data._optionsId;
+ urlStr += "&member_coupon_ids=" + this._assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
+ urlStr += "&address=" + JSON.stringify(this.data.currentAddress);
+ urlStr += "&dispatch_type_id=1";
+ urlStr += "&mark=" + (this.data.options.mark ? this.data.options.mark : 0);
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsInfo: res.data,
+ cup_notice: true,
+ });
+ that._setViewData(res.data); //设置界面
+ that._setAddressViewData(res.data.dispatch.default_member_address); //设置地址界面
+ that._initCoupon(res.data.discount.member_coupons); //设置优惠券信息
+ if (that.data.is_open_package_deliver) {
+ that.setData({
+ selfCarryType: res.data.dispatch.delivery_method
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+
+ },
+ //获取租期列表
+ _getRentTimeList() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.lease-toy.api.lease-term.index");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ rentTime: res.data.list,
+ rentFree: res.data.level.rent_free,
+ agreeCon: res.data.lease_toy_set,
+ rent_deposit_free: res.data.level.deposit_free,
+ rent_free: res.data.level.rent_free,
+ });
+ // let article_1 = that.data.agreeCon.lease_toy_pact ? that.data.agreeCon.lease_toy_pact : '';
+ /**
+ * WxParse.wxParse(bindName , type, data, target,imagePadding)
+ * 1.bindName绑定的数据名(必填)
+ * 2.type可以为html或者md(必填)
+ * 3.data为传入的具体数据(必填)
+ * 4.target为Page对象,一般为this(必填)
+ * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
+ */
+ // WxParse.wxParse('article_1', 'html', article_1, that);
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //判断是否选择权益商品
+ _judgeIsRight() {
+ if (this.data.isOpenRight) {
+ this.setData({
+ isRightChoose: false
+ });
+ } else {
+ this.setData({
+ isRightChoose: true
+ });
+ }
+ },
+ noteHandle(e) {
+ let preid = e.target.dataset.preid;
+ let item = e.target.dataset.item;
+ let val = e.detail.value;
+ this.setData({
+ ["note." + preid]: val
+ });
+ // 触发抵扣事件
+ if (!item.order_deductions[0]) {
+ //临时数据
+ let _deductionItem = {};
+ let tempDeduction_ids = [];
+ if (this.data.checkDeductionList.length > 0) {
+ for (let i = 0; i < this.data.checkDeductionList.length; i++) {
+ if (this.data.checkDeductionList[i].pre_id == item.pre_id) {
+ //先获取回来
+ if (app._isTextEmpty(this.data.checkDeductionList[i].deduction_ids)) {
+ tempDeduction_ids = [];
+ } else {
+ tempDeduction_ids = this.data.checkDeductionList[i].deduction_ids;
+ }
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.splice(i, 1);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ break;
+ }
+ }
+
+
+ if (tempDeduction_ids.length > 0) {
+ for (let j = 0; j < tempDeduction_ids.length; j++) {
+ if (tempDeduction_ids[j] == value.code) {
+ tempDeduction_ids.splice(j, 1);
+ }
+ }
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ } else {
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ }
+
+ } else {
+ if (tempDeduction_ids.length > 0) {
+ for (let j = 0; j < tempDeduction_ids.length; j++) {
+ if (tempDeduction_ids[j] == value.code) {
+ tempDeduction_ids.splice(j, 1);
+ }
+ }
+
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ } else {
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ }
+ }
+ } else {
+ this._screenDiscount(item, item.order_deductions[0]);
+ }
+ },
+ //筛选抵扣
+ _screenDiscount(item, value) {
+ //临时数据
+ let _deductionItem = {};
+ let tempDeduction_ids = [];
+ if (value.checked) {
+ //选中添加
+ if (this.data.checkDeductionList.length > 0) {
+ for (let i = 0; i < this.data.checkDeductionList.length; i++) {
+ if (this.data.checkDeductionList[i].pre_id == item.pre_id) {
+ //先获取回来
+ if (app._isTextEmpty(this.data.checkDeductionList[i].deduction_ids)) {
+ tempDeduction_ids = [];
+ } else {
+ tempDeduction_ids = this.data.checkDeductionList[i].deduction_ids;
+ }
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.splice(i, 1);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ break;
+ }
+ }
+
+ if (tempDeduction_ids.length > 0) {
+
+ for (let j = 0; j < tempDeduction_ids.length; j++) {
+ if (tempDeduction_ids[j] == value.code) {
+ tempDeduction_ids.splice(j, 1);
+ }
+ }
+
+ tempDeduction_ids.push(value.code);
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+
+ } else {
+
+ tempDeduction_ids.push(value.code);
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+
+
+ }
+
+
+ } else {
+
+ if (tempDeduction_ids.length > 0) {
+ for (let j = 0; j < tempDeduction_ids.length; j++) {
+ if (tempDeduction_ids[j] == value.code) {
+ tempDeduction_ids.splice(j, 1);
+ }
+ }
+
+ tempDeduction_ids.push(value.code);
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+
+ } else {
+ tempDeduction_ids.push(value.code);
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+
+ }
+
+ }
+
+ } else { //取消选中
+ if (this.data.checkDeductionList.length > 0) {
+ for (let i = 0; i < this.data.checkDeductionList.length; i++) {
+ if (this.data.checkDeductionList[i].pre_id == item.pre_id) {
+ //先获取回来
+ if (app._isTextEmpty(this.data.checkDeductionList[i].deduction_ids)) {
+ tempDeduction_ids = [];
+ } else {
+ tempDeduction_ids = this.data.checkDeductionList[i].deduction_ids;
+ }
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.splice(i, 1);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ break;
+ }
+ }
+
+
+ if (tempDeduction_ids.length > 0) {
+ for (let j = 0; j < tempDeduction_ids.length; j++) {
+ if (tempDeduction_ids[j] == value.code) {
+ tempDeduction_ids.splice(j, 1);
+ }
+ }
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+
+ } else {
+ //tempDeduction_ids.push(value.code);
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ }
+
+ } else {
+ if (tempDeduction_ids.length > 0) {
+ for (let j = 0; j < tempDeduction_ids.length; j++) {
+ if (tempDeduction_ids[j] == value.code) {
+ tempDeduction_ids.splice(j, 1);
+ }
+ }
+
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ } else {
+ _deductionItem.deduction_ids = tempDeduction_ids;
+ _deductionItem.pre_id = item.pre_id;
+ _deductionItem.note = this.data.note[item.pre_id];
+ let checkDeductionList = this.data.checkDeductionList;
+ checkDeductionList.push(_deductionItem);
+ this.setData({
+ checkDeductionList: checkDeductionList
+ });
+ }
+
+ }
+ }
+
+ },
+ //权益商品选择事件
+ rentSelect(e) {
+ let isOpenRight = e.detail;
+ this.setData({
+ isOpenRight: isOpenRight
+ });
+ //1.判断是否选择权益商品,有则租期按照会员权益日期计算
+ this._clearStorage();
+ this._judgeIsRight();
+ if (this.data.isOpenRight) {
+ let arr = [];
+ this.data.order_data.forEach(val => {
+ val.order.order_goods.forEach(item => {
+ console.log(item);
+ let obj = {
+ goods_id: item.goods_id,
+ total: item.total
+ };
+ arr.push(obj);
+ });
+ });
+ wx.setStorage({
+ key: 'rentTimeRight',
+ data: JSON.stringify(arr)
+ });
+ this._getRentDataActionCart(JSON.stringify(arr), []);
+ } else if (!this.data.isOpenRight) {
+ this.setData({
+ currentIndex: "999"
+ });
+ this._getRentDataActionCart([], []);
+ } else {
+ return;
+ }
+ },
+ //清除localstorage
+ _clearStorage() {
+ wx.removeStorage({
+ key: 'rentTimeSelf'
+ });
+ wx.removeStorage({
+ key: 'rentTimeChoose'
+ });
+ wx.removeStorage({
+ key: 'rentTimeRight'
+ });
+ },
+ //抵扣选择响应
+ discountHandle(e) {
+ let dischecked = e.detail;
+ let dindex = e.currentTarget.dataset.dindex;
+ let orindex = e.currentTarget.dataset.orindex;
+ if (Object.prototype.toString.call(this.data.order_data[orindex].order_deductions) == '[object Object]') {
+ this.setData({
+ ["order_data[" + orindex + "]" + ".order_deductions." + dindex + ".checked"]: dischecked
+ });
+ } else if (Object.prototype.toString.call(this.data.order_data[orindex].order_deductions) == '[object Array]') {
+ this.setData({
+ ["order_data[" + orindex + "]" + ".order_deductions[" + dindex + "]checked"]: dischecked
+ });
+ }
+ this._screenDiscount(this.data.order_data[orindex], this.data.order_data[orindex].order_deductions[dindex]);
+ //重新计算
+ if (this.data._root_tag == this.data.TAG_ACTION_BUY ||this.data._root_tag == "auction") {
+ this._getDataActionBuy(); //直接购买
+ } else if (this.data._root_tag == this.data.TAG_ACTION_CART) {
+ this._getDataActionCart(); //购物车结算
+ } else if (this.data._root_tag == 'fromExchange') {
+ this.getExchangeData(0); //兑换中心
+ } else if (this.data._root_tag == 'store') {
+ this._getDataActionStoreCart(); //门店结算
+ } else if (this.data._root_tag == "rentCartBuy" || this.data._root_tag == "rentBuy") {
+ this._rentGoodBuy();
+ } else if (this.data._root_tag == "packagBuy") { //套餐购买
+ // this.goPackagBuy()
+ }
+ },
+ _rentGoodBuy() {
+ if (this.data.isOpenRight) {
+ let rentTimeRight = "";
+ try {
+ const value = wx.getStorageSync('rentTimeRight');
+ if (value) {
+ rentTimeRight = value;
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ this._getRentDataActionCart(rentTimeRight, []);
+ } else {
+ if (this.data.currentIndex == "999") {
+ let rentTimeSelf = "";
+ try {
+ const value = wx.getStorageSync('rentTimeSelf');
+ if (value) {
+ rentTimeSelf = value;
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ if (!app._isTextEmpty(rentTimeSelf)) {
+ this.getRentDataActionCart([], rentTimeSelf);
+ } else {
+ this._getRentDataActionCart([], []);
+ }
+
+ } else {
+ let rentTimeChoose = "";
+ try {
+ const value = wx.getStorageSync('rentTimeChoose');
+ if (value) {
+ rentTimeChoose = value;
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ if (!app._isTextEmpty(rentTimeChoose)) {
+ this._getRentDataActionCart([], rentTimeChoose);
+ }
+
+ }
+
+ }
+ },
+ //选择自定义租期
+ rentSelfChoose() {
+ this._clearStorage();
+ this.setData({
+ currentIndex: "999"
+ });
+ this.setData({
+ rentShow: true
+ });
+ },
+ rentShowClose(event) {
+ if (event.detail === 'confirm') {
+ if (app._isTextEmpty(this.data.tenancy)) {
+ wx.showToast({
+ icon: 'none',
+ title: '租期不能为空',
+ duration: 1000
+ });
+ return;
+ }
+ let obj = {
+ days: this.data.tenancy,
+ lease_term_id: 0
+ };
+ wx.setStorage({
+ key: 'rentTimeSelf',
+ data: JSON.stringify(obj)
+ });
+ this._getRentDataActionCart([], JSON.stringify(obj));
+ // 异步关闭弹窗
+ setTimeout(() => {
+ this.setData({
+ rentShow: false
+ });
+ }, 1000);
+ } else {
+ this.setData({
+ rentShow: false
+ });
+ console.log("取消自定义租期!!!");
+ }
+ },
+ //自定义租期数值绑定
+ rentShowinp(e) {
+ let rentval = e.detail;
+ this.setData({
+ tenancy: rentval
+ });
+ },
+ //自定义租期值清除
+ rentclear() {
+ this.setData({
+ tenancy: ''
+ });
+ },
+ //选择租期
+ rentTimeChoose(e) {
+ let item = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index;
+ if (this.data.currentIndex == index) {
+ this.setData({
+ currentIndex: "999"
+ });
+ this._clearStorage();
+ this._getRentDataActionCart([], []);
+ } else {
+ this._clearStorage();
+ this.setData({
+ currentIndex: index
+ });
+ let obj = {
+ days: 0,
+ lease_term_id: item.id
+ };
+ wx.setStorage({
+ key: 'rentTimeChoose',
+ data: JSON.stringify(obj)
+ });
+ this._getRentDataActionCart([], JSON.stringify(obj));
+ }
+ },
+ //购物车结算
+ _getDataActionCart() {
+ let that = this;
+ let urlStr = app.getNetAddresss("order.cart-buy");
+ urlStr += "&cart_ids=" + this.data._cart_ids;
+ urlStr += "&member_coupon_ids=" + this._assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
+ urlStr += "&address=" + JSON.stringify(this.data.currentAddress);
+ urlStr += "&dispatch_type_id=1";
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsInfo: res.data,
+ cup_notice: true
+ });
+ that._setViewData(res.data); //设置界面
+ that._setAddressViewData(res.data.dispatch.default_member_address); //设置地址界面
+ that._initCoupon(res.data.discount.member_coupons); //设置优惠券信息
+ if (that.data.is_open_package_deliver) {
+ that.setData({
+ selfCarryType: res.data.dispatch.delivery_method
+ });
+ }
+ } else {
+ that.setData({
+ cup_notice: true
+ });
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //优惠券
+ showCoupon() {
+ if (this.data.coupon_size == 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '暂无优惠券使用',
+ duration: 1500
+ });
+ return;
+ }
+ this.setData({
+ popupCouponSpecs: true
+ });
+ },
+ //选择优惠券
+ selectCoupon(e) {
+ let couponBol = e.detail;
+ let index = e.currentTarget.dataset.index;
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ ["coupons[" + index + "].checked"]: couponBol
+ });
+ this._screenCoupon(couponBol, item);
+ //设置view
+ this._setCouponView();
+ //重新计算
+ if (this.data._root_tag == this.data.TAG_ACTION_BUY || this.data._root_tag == "auction") {
+ this._getDataActionBuy(); //直接购买
+ } else if (this.data._root_tag == this.data.TAG_ACTION_CART) {
+ this._getDataActionCart(); //购物车结算
+ } else if (this.data._root_tag == 'fromExchange') {
+ this.getExchangeData(0); //兑换中心
+ } else if (this.data._root_tag == 'store') {
+ this._getDataActionStoreCart(); //门店结算
+ } else if (this.data._root_tag == "rentCartBuy" || this.data._root_tag == "rentBuy") {
+ this._rentGoodBuy();
+ } else if (this.data._root_tag == "packagBuy") { //套餐购买
+ // this.goPackagBuy()
+ }
+ },
+ //筛选数据优惠券状态
+ _screenCoupon(couponBol, valObj) {
+ var tarValue = valObj;
+ if (couponBol) { //选中添加
+ this.setData({
+ cup_notice: false
+ });
+ if (this.data.checkCouponList.length > 0) {
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ if (this.data.checkCouponList[i].id == tarValue.id) {
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.splice(i, 1);
+ this.setData({
+ checkCouponList: checkCouponList
+ });
+ }
+ }
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.push(tarValue);
+ this.setData({
+ checkCouponList: checkCouponList
+ });
+ } else {
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.push(tarValue);
+ this.setData({
+ checkCouponList: checkCouponList
+ });
+ }
+
+ } else { //取消选中
+ this.setData({
+ cup_notice: true
+ });
+ if (this.data.checkCouponList.length > 0) {
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ if (this.data.checkCouponList[i].id == tarValue.id) {
+ let checkCouponList = this.data.checkCouponList;
+ checkCouponList.splice(i, 1);
+ this.setData({
+ checkCouponList: checkCouponList
+ });
+ }
+ }
+ }
+ }
+ },
+ //设置view
+ _setCouponView() {
+ this.setData({
+ use_coupon_size: this.data.checkCouponList.length
+ });
+ },
+ //关闭优惠卷
+ couponclose() {
+ this.setData({
+ popupCouponSpecs: false
+ });
+ },
+ //租赁协议
+ agreementbtn(e) {
+ let agreeBol = e.detail;
+ this.setData({
+ agreement: agreeBol
+ });
+ },
+ //租赁弹窗显示
+ showAgreement() {
+ this.setData({
+ agreementShow: true
+ });
+ },
+ agreementClose() {
+ this.setData({
+ agreementShow: false
+ });
+ },
+ //直接购买
+ _getDataActionBuy() {
+ let that = this;
+ let _URL_DataActionBuy = ''; // api
+ let urlStr = '';
+ console.log(this.data._root_tag);
+ if (this.data.isOpenTeam) {
+ console.log("一键开团,leveid", this.data.isOpenTeam);
+ _URL_DataActionBuy =
+ "plugin.fight-groups.frontend.controllers.team.pre-open-team";
+ urlStr = app.getNetAddresss(_URL_DataActionBuy);
+ //规格层级id
+ //一键开团 拼团层级id
+ urlStr += "&level_id=" + this.options.level_id;
+ urlStr += "&option_level_id=" + this.options.option_level_id;
+ } else if (this.data.isJoinTeam) {
+ console.log("去参团", this.data.isJoinTeam);
+ //一键开团 拼团层级id
+ //规格层级id
+ _URL_DataActionBuy =
+ "plugin.fight-groups.frontend.controllers.team.pre-join-team";
+ urlStr = app.getNetAddresss(_URL_DataActionBuy);
+ //规格层级id
+ //一键开团 拼团层级id
+ urlStr += "&team_id=" + this.options.team_id;
+ urlStr += "&option_level_id=" + this.options.option_level_id;
+ } else if (this.data._root_tag == 'POrder') {
+ _URL_DataActionBuy = "plugin.pending-order.frontend.goods-buy.index";
+ urlStr = app.getNetAddresss(_URL_DataActionBuy);
+ urlStr += "&pending_order_type=" + this.data.POChooseType;
+ }else if (this.data._root_tag == 'auction') {
+ urlStr = app.getNetAddresss('plugin.auction.api.goods-buy');
+ urlStr += "&auction_sn=" + this.data.options.auction_sn;
+ urlStr += "&fixed_price=" + this.data.options.fixed_price;
+ } else {
+ _URL_DataActionBuy = "order.goods-buy";
+ urlStr = app.getNetAddresss(_URL_DataActionBuy);
+ }
+
+ urlStr += "&goods_id=" + this.data._goodsId;
+ urlStr += "&total=" + this.data._total;
+ urlStr += "&option_id=" + this.data._optionsId;
+ urlStr += "&member_coupon_ids=" + this._assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
+ urlStr += "&address=" + JSON.stringify(this.data.currentAddress);
+ urlStr += "&dispatch_type_id=1";
+ urlStr += "&mark=" + (this.data.options.mark ? this.data.options.mark : 0);
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsInfo: res.data,
+ cup_notice: true
+ });
+ that._setViewData(res.data); //设置界面
+ that._setAddressViewData(res.data.dispatch.default_member_address); //设置地址界面
+ that._initCoupon(res.data.discount.member_coupons); //设置优惠券信息
+
+ if (that.data.is_open_package_deliver) {
+ that.setData({
+ selfCarryType: res.data.dispatch.delivery_method
+ });
+ }
+ } else {
+ if (that.data._root_tag == 'POrder') {
+ that.setData({
+ cup_notice: true
+ });
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ setTimeout(function() {
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1000);
+ }
+ if(that.data._root_tag == 'auction'){
+ wx.navigateBack({
+ delta:1
+ });
+ }
+ that.setData({
+ cup_notice: true
+ });
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getExchangeData(_id) {
+ let that = this;
+ let urlStr = app.getNetAddresss("coupon.exchange-center.exchange-buy");
+ console.log("dkjsakjfaskf", JSON.parse(this.data.options.exchangeData));
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ goods_id: this.data._goodsId,
+ total: this.data._total,
+ option_id: this.data._optionsId,
+ member_coupon_ids: this._assembleCoupons(),
+ orders: JSON.stringify(this._assembleDeduction()),
+ address: JSON.stringify(this.data.currentAddress),
+ dispatch_type_id: 1,
+ mark: this.data.options.mark ? this.data.options.mark : 0,
+ data: JSON.parse(this.data.options.exchangeData),
+ is_exchange: _id == 0 ? 0 : 1
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsInfo: res.data,
+ cup_notice: true
+ });
+ that._setViewData(res.data); //设置界面
+ that._setAddressViewData(res.data.dispatch.default_member_address); //设置地址界面
+ that._initCoupon(res.data.discount.member_coupons); //设置优惠券信息
+ } else {
+ that.setData({
+ cup_notice: true
+ });
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ //提交订单
+ submit() {
+ if (this.data.submit_active == true) {
+ this.data.submit_active = false;
+ if (this.data.AgreementPay && !this.data.isRent) {
+ if (!this.data.agreementPay) {
+ wx.showToast({
+ icon: 'none',
+ title: "请勾选支付协议",
+ duration: 1500
+ });
+ this.data.submit_active = true;
+ return;
+ }
+ }
+ if (this.data.is_open_package_deliver && this.data.package_deliver_id == 8){
+ if (app._isTextEmpty(this.data.defaultSelfCarry.id)) {
+ wx.showModal({
+ title: '提示',
+ content: '请选择自提点',
+ showCancel: false,
+ confirmText: '确定',
+ confirmColor: '#000000',
+ success: (res) => {
+ },
+ fail: function (res) { },
+ complete: function (res) { },
+ });
+ this.data.submit_active = true;
+ return;
+ }
+ if (app._isTextEmpty(this.data.linkinfo.name)) {
+ wx.showModal({
+ title: '提示',
+ content: '请填写提货人姓名',
+ showCancel: false,
+ confirmText: '确定',
+ confirmColor: '#000000',
+ success: (res) => {
+ },
+ fail: function (res) { },
+ complete: function (res) { },
+ });
+ this.data.submit_active = true;
+ return;
+ }
+ if (app._isTextEmpty(this.data.linkinfo.mobile)) {
+ wx.showModal({
+ title: '提示',
+ content: '请输入提货人手机',
+ showCancel: false,
+ confirmText: '确定',
+ confirmColor: '#000000',
+ success: (res) => {
+ },
+ fail: function (res) { },
+ complete: function (res) { },
+ });
+ this.data.submit_active = true;
+ return;
+ }
+ }
+ if (this.data.isRent) {
+ if (this.data.store_id) {
+ this._submitStore();
+ this.data.submit_active = true;
+ return;
+ }
+ if (!this.data.order_data[0].need_address && (this.data.is_open_package_deliver && this.data.package_deliver_id != 8)) {
+ if (app._isTextEmpty(this.data.currentAddId)) {
+ wx.showModal({
+ title: '提示',
+ content: '请选择收货地址',
+ showCancel: false,
+ confirmText: '确定',
+ confirmColor: '#000000',
+ success: (res) => {
+ this.showAddress();
+ },
+ fail: function(res) {},
+ complete: function(res) {},
+ });
+ this.data.submit_active = true;
+ return;
+ }
+ }
+
+ if (!this.data.agreement) {
+ wx.showToast({
+ icon: 'none',
+ title: "请勾选租赁协议",
+ duration: 1500
+ });
+ this.data.submit_active = true;
+ return;
+ }
+
+ let that = this;
+ let urlStr = "";
+ if (this.data._root_tag == 'POrder') {
+ urlStr = app.getNetAddresss("plugin.pending-order.frontend.create.index");
+ urlStr += "&pending_order_type=" + this.data.POChooseType;
+ }else if (this.data._root_tag == "auction") {
+ urlStr = app.getNetAddresss("plugin.auction.api.order-create");
+ urlStr += "&auction_sn="+ this.data.options.auction_sn;
+ } else {
+ urlStr = app.getNetAddresss("plugin.lease-toy.api.order.create");
+ }
+
+ let json = this._assembleJson();
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that._clearStorage();
+ that.data.submit_active = true;
+ wx.redirectTo({
+ url: '../orderPay/orderPay?order_id=' + res.data.order_ids + '&status=2'
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 2000
+ });
+ that.data.submit_active = true;
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+
+ } else {
+ if (this.data.store_id) {
+ this._submitStore();
+ this.data.submit_active = true;
+ return;
+ }
+ if (!this.data.order_data[0].need_address && (!this.data.is_open_package_deliver && this.data.package_deliver_id != '8')) {
+ if (app._isTextEmpty(this.data.currentAddId)) {
+ wx.showModal({
+ title: '提示',
+ content: '请选择收货地址',
+ showCancel: false,
+ confirmText: '确定',
+ confirmColor: '#000000',
+ success: (res) => {
+ this.showAddress();
+ },
+ fail: function(res) {},
+ complete: function(res) {},
+ });
+ this.data.submit_active = true;
+ return;
+ }
+ }
+ // if(!this.data.order_data[0].need_address && !this.data.is_open_package_deliver && this.data.package_deliver_id != '8'){
+ // if (app._isTextEmpty(this.data.currentAddId)){
+ // wx.showModal({
+ // title: '提示',
+ // content: '请选择收货地址',
+ // showCancel: false,
+ // confirmText: '确定',
+ // confirmColor: '#000000',
+ // success: (res) => {
+ // this.showAddress()
+ // },
+ // fail: function (res) { },
+ // complete: function (res) { },
+ // })
+ // this.data.submit_active = true;
+ // return;
+ // }
+ // }
+ let that = this;
+ let json = this._assembleJson();
+ let urlStr;
+ if (this.data.isOpenTeam || this.data.isJoinTeam) {
+ urlStr = app.getNetAddresss("plugin.fight-groups.frontend.controllers.create.index");
+ } else if (this.data._root_tag == 'POrder') {
+ urlStr = app.getNetAddresss("plugin.pending-order.frontend.create.index");
+ urlStr += "&pending_order_type=" + this.data.POChooseType;
+ console.log('进porder');
+ }else if (this.data._root_tag == "auction") {
+ urlStr = app.getNetAddresss("plugin.auction.api.order-create");
+ urlStr += "&auction_sn="+ this.data.options.auction_sn;
+ } else {
+ urlStr = app.getNetAddresss("order.create");
+ }
+
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.data.submit_active = true;
+ if (that.options.option_level_id) {
+ wx.redirectTo({
+ url: '../orderPay/orderPay?order_id=' + res.data.order_ids + '&status=2' + '&name=groups'
+ });
+ return;
+ }
+ console.log('跳转到订单页');
+ wx.redirectTo({
+ url: '/packageD/buy/orderPay/orderPay?order_id=' + res.data.order_ids + '&status=2'
+ });
+
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+
+ }
+
+ }
+
+ },
+ _submitStore() {
+
+ if (this.data.store_info.delivery_information == null || this.data.store_info.delivery_information == 0) {
+ if ((this.data.selected == '1' || this.data.selected == '3') && app._isTextEmpty(this.data.currentAddId)) {
+ if (!this.data.order_data[0].need_address && (this.data.is_open_package_deliver && this.data.package_deliver_id != 8)) {
+ wx.showModal({
+ title: '提示',
+ content: '请选择收货地址',
+ showCancel: false,
+ confirmText: '确定',
+ confirmColor: '#000000',
+ success: (res) => {
+ this.showAddress();
+ },
+ fail: function(res) {},
+ complete: function(res) {},
+ });
+ this.data.submit_active = true;
+ return;
+ }
+ }
+
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.create");
+ let json = {
+ dispatch_type_id: this.data.selected,
+ store_id: this.data.store_id,
+ mobile: this.data.store_info.store_mobile,
+ realname: this.data.store_info.store_name,
+ address: JSON.stringify(this.data.currentAddress),
+ goods: JSON.stringify(this._assembleGoods()),
+ cart_ids: JSON.stringify(this.data.storeCarts),
+ member_coupon_ids: JSON.stringify(this._assembleCoupons()),
+ orders: JSON.stringify(this._assembleDeduction()),
+ invoice_type: (this.data.iscur_c ? 0 : 1),
+ rise_type: (this.data.iscur ? 1 : 0),
+ call: this.data.invoice_list.call,
+ company_number: this.data.invoice_list.company_number
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.redirectTo({
+ url: '../orderPay/orderPay?order_id=' + res.data.order_ids + '&status=2'
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+
+ } else if (this.data.store_info.delivery_information == 1) {
+ if (this.data.selected == '2' && (app._isTextEmpty(this.data.linkinfo.name) || app._isTextEmpty(this.data.linkinfo
+ .mobile))) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入提货人信息",
+ duration: 1500
+ });
+ this.data.submit_active = true;
+ return;
+ }
+
+ if ((this.data.selected == '1' || this.data.selected == '3') && app._isTextEmpty(this.data.currentAddId)) {
+ if (!this.order_data[0].need_address && (this.data.is_open_package_deliver && this.data.package_deliver_id != 8)) {
+ wx.showModal({
+ title: '提示',
+ content: '请选择收货地址',
+ showCancel: false,
+ confirmText: '确定',
+ confirmColor: '#000000',
+ success: (res) => {
+ this.showAddress();
+ },
+ fail: function(res) {},
+ complete: function(res) {},
+ });
+ this.data.submit_active = true;
+ return;
+ }
+ }
+
+ if (this.selected == '2' && !/^[0-9]{1,}$/.test(this.data.linkinfo.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入正确的联系电话",
+ duration: 1500
+ });
+ this.data.submit_active = true;
+ return;
+ }
+
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.create");
+ let json = this._assembleJson();
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.redirectTo({
+ url: '../orderPay/orderPay?order_id=' + res.data.order_ids + '&status=2'
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+
+ },
+ //组装商品信息
+ _assembleGoods() {
+ let newGoods = [];
+ for (let j = 0; j < this.data.goodsInfo.orders.length; j++) {
+ for (let i = 0; i < this.data.goodsInfo.orders[j].order_goods.length; i++) {
+ let model = new Object();
+ model.goods_id = this.data.goodsInfo.orders[j].order_goods[i].goods_id;
+ model.total = this.data.goodsInfo.orders[j].order_goods[i].total;
+ model.option_id = this.data.goodsInfo.orders[j].order_goods[i].goods_option_id;
+ newGoods.push(model);
+ }
+ }
+ return newGoods;
+ },
+ //组装json数据
+ _assembleJson() {
+ let json = {};
+ if (this.data._root_tag == this.data.TAG_ACTION_BUY || this.data._root_tag == "auction") {
+ json = {
+ dispatch_type_id: 1,
+ address: JSON.stringify(this.data.currentAddress),
+ auction_sn:this.data.options.auction_sn,
+ fixed_price: '1',
+ goods: JSON.stringify(this._assembleGoods()),
+ member_coupon_ids: JSON.stringify(this._assembleCoupons()),
+ orders: JSON.stringify(this._assembleDeduction()),
+ mark: this.data.options.mark ? this.data.options.mark : 0,
+ invoice_type: (this.data.iscur_c ? 0 : 1), // 发票
+ rise_type: (this.data.iscur ? 1 : 0),
+ call: this.data.invoice_list.call,
+ company_number: this.data.invoice_list.company_number
+ };
+ //isOpenTeam 一键开团
+ if (this.data.isOpenTeam) {
+ json.level_id = this.options.level_id;
+ json.option_level_id = this.options.option_level_id;
+ } else if (this.data.isJoinTeam) {
+ json.team_id = this.options.team_id;
+ json.option_level_id = this.options.option_level_id;
+ }
+ } else if (this.data._root_tag == this.data.TAG_ACTION_CART) {
+ json = {
+ dispatch_type_id: 1,
+ address: JSON.stringify(this.data.currentAddress),
+ goods: JSON.stringify(this._assembleGoods()),
+ cart_ids: JSON.stringify(this.data._cart_ids),
+ member_coupon_ids: JSON.stringify(this._assembleCoupons()),
+ orders: JSON.stringify(this._assembleDeduction()),
+ invoice_type: (this.data.iscur_c ? 0 : 1), // 发票
+ rise_type: (this.data.iscur ? 1 : 0),
+ call: this.data.invoice_list.call,
+ company_number: this.data.invoice_list.company_number
+ };
+ } else if (this.data._root_tag == 'store') {
+ json = {
+ dispatch_type_id: this.data.selected,
+ store_id: this.data.store_id,
+ mobile: this.data.linkinfo.mobile,
+ realname: this.data.linkinfo.name,
+ address: JSON.stringify(this.data.currentAddress),
+ goods: JSON.stringify(this._assembleGoods()),
+ cart_ids: JSON.stringify(this.data.storeCarts),
+ member_coupon_ids: JSON.stringify(this._assembleCoupons()),
+ orders: JSON.stringify(this._assembleDeduction()),
+ invoice_type: (this.data.iscur_c ? 0 : 1), // 发票
+ rise_type: (this.data.iscur ? 1 : 0),
+ call: this.data.invoice_list.call,
+ company_number: this.data.invoice_list.company_number
+ };
+ } else if (this.data._root_tag == "rentCartBuy" || this.data._root_tag == "rentBuy") {
+ let right = "";
+ try {
+ const value = wx.getStorageSync('rentTimeRight');
+ if (value) {
+ right = value;
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ let choose = "";
+ try {
+ const value = wx.getStorageSync('rentTimeChoose');
+ if (value) {
+ choose = value;
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ let self = "";
+ try {
+ const value = wx.getStorageSync('rentTimeSelf');
+ if (value) {
+ self = value;
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ let r = app._isTextEmpty(right) == null ? [] : right;
+ let assem = {};
+ if (!app._isTextEmpty(choose)) {
+ assem = choose;
+ } else if (!app._isTextEmpty(self)) {
+ assem = self;
+ } else {
+ assem = {};
+ }
+ json = {
+ lease_rights: r,
+ lease_term: assem,
+ dispatch_type_id: 1,
+ address: JSON.stringify(this.data.currentAddress),
+ goods: JSON.stringify(this._assembleGoods()),
+ cart_ids: JSON.stringify(this.data._cart_ids),
+ member_coupon_ids: JSON.stringify(this._assembleCoupons()),
+ orders: JSON.stringify(this._assembleDeduction()),
+ mark: this.data.options.mark ? this.data.options.mark : 0,
+ invoice_type: (this.data.iscur_c ? 0 : 1), // 发票
+ rise_type: (this.data.iscur ? 1 : 0),
+ call: this.data.invoice_list.call,
+ company_number: this.data.invoice_list.company_number
+ };
+ } else if (this.data._root_tag == 'POrder') {
+ // 挂单
+ json = {
+ dispatch_type_id: 1,
+ address: JSON.stringify(this.data.currentAddress),
+ goods: JSON.stringify(this._assembleGoods()),
+ member_coupon_ids: JSON.stringify(this._assembleCoupons()),
+ orders: JSON.stringify(this._assembleDeduction()),
+ mark: this.data.options.mark ? this.data.options.mark : 0,
+ // 发票
+ invoice_type: (this.data.iscur_c ? 0 : 1), // 发票
+ rise_type: (this.data.iscur ? 1 : 0),
+ call: this.data.invoice_list.call,
+ company_number: this.data.invoice_list.company_number
+ };
+ } else if (this.data._root_tag == "fromExchange") {
+ // 兑换中心
+ json = {
+ dispatch_type_id: 1,
+ address: JSON.stringify(this.data.currentAddress),
+ goods: JSON.stringify(this._assembleGoods()),
+ member_coupon_ids: JSON.stringify(this._assembleCoupons()),
+ orders: JSON.stringify(this._assembleDeduction()),
+ mark: this.data.options.mark ? this.data.options.mark : 0,
+ // 发票
+ invoice_type: (this.data.iscur_c ? 0 : 1), // 发票
+ rise_type: (this.data.iscur ? 1 : 0),
+ call: this.data.invoice_list.call,
+ company_number: this.data.invoice_list.company_number
+ };
+ }
+
+ if (this.data.is_open_package_deliver && this.data.package_deliver_id == 8){
+ json.dispatch_type_id = 8;
+ json.package_deliver_id = this.data.defaultSelfCarry.id;
+ json.realname = this.data.linkinfo.name;
+ json.mobile = this.data.linkinfo.mobile;
+ delete json.address;
+ }
+ return json;
+ },
+ setDispatchdeliver(e){
+ console.log("变化配送方式", e.detail.title);
+ let title = e.detail.title;
+ if (title == "快递") {
+ this.setData({
+ package_deliver_id: 1,
+ selfCarrySelected: 0
+ });
+ } else if (title =='上门自提') {
+ this.setData({
+ package_deliver_id: 8,
+ selfCarrySelected: 1
+ });
+ }
+ },
+ //获取是否显示支付协议
+ getAgreementPay() {
+ let that = this;
+ let urlStr = app.getNetAddresss("shop.index.getPayProtocol");
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ AgreementPay: res.data ? res.data : ''
+ });
+ // let article_2 = that.data.AgreementPay ? that.data.AgreementPay : '';
+ /**
+ * WxParse.wxParse(bindName , type, data, target,imagePadding)
+ * 1.bindName绑定的数据名(必填)
+ * 2.type可以为html或者md(必填)
+ * 3.data为传入的具体数据(必填)
+ * 4.target为Page对象,一般为this(必填)
+ * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
+ */
+ // WxParse.wxParse('article_2', 'html', article_2, that);
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ //支付协议
+ agreementPaybtn(e) {
+ let agreeBol = e.detail;
+ this.setData({
+ agreementPay: agreeBol
+ });
+ },
+ showPay() {
+ this.setData({
+ agreementPayShow: true
+ });
+ },
+ showPayClose() {
+ this.setData({
+ agreementPayShow: false
+ });
+ },
+ getIvoice(data) {
+ this.setData({
+ papery_status: parseInt(data.invoice.papery),
+ electron_status: parseInt(data.invoice.electron)
+ });
+ if (!this.data.papery_status && !this.data.electron_status) {
+ this.setData({
+ isShowInvoice: false
+ });
+ }
+ },
+ //门店过期商品下单
+ getCashGood() {
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.enter.getSetGoodsId");
+ let that = this;
+ app._getNetWork({
+ url: urlStr,
+ data: {},
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goods_id: res.data.goods_id
+ });
+ if (!res.data.store) {
+ that.setData({
+ _goodsId: res.data.goods_id,
+ _root_tag: "-2",
+ store_id: 0
+ });
+ that._getDataActionBuy();
+ } else {
+ that.setData({
+ _root_tag: "store"
+ });
+ that.setData({
+ store_info: res.data.store,
+ dispatch: res.data.store.dispatch_type
+ });
+ if (that.data.dispatch.length > 0) {
+ if (!that.data.selected) {
+ that.setData({
+ selected: that.data.dispatch[0].toString()
+ });
+ }
+ }
+ that._getDataActionStoreCart();
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ // 整合了发票、是否显示个人信息接口
+ getParams(cart_ids) {
+ let json = {};
+ let that = this;
+ if (this.data._root_tag == "store" && !cart_ids) {
+ return;
+ } else if (this.data._root_tag == "store" && cart_ids) {
+ this.setData({
+ _cart_ids: cart_ids
+ });
+ }
+ if (this.data._root_tag == this.data.TAG_ACTION_BUY || this.data._root_tag == 'auction') {
+ this.setData({
+ _goodsId: this.data.options.goodsId
+ });
+ let cart_ids = this.data._cart_ids;
+ cart_ids.push(this.data._goodsId);
+ this.setData({
+ _cart_ids: cart_ids
+ });
+ } else if (this.data._root_tag == this.data.TAG_ACTION_CART) {
+ this.setData({
+ _cart_ids: this.data.options.cart_ids ? JSON.parse(this.data.options.cart_ids) : []
+ });
+ } else if (this.data._root_tag == "rentCartBuy") { //加入租赁商品
+ this.setData({
+ _cart_ids: this.data.options.cart_ids ? JSON.parse(this.data.options.cart_ids) : []
+ });
+ } else if (this.data._root_tag == "rentBuy") { //加入租赁立即租
+ this.setData({
+ _goodsId: this.data.options.goodsId
+ });
+ let cart_ids = this.data._cart_ids;
+ cart_ids.push(this.data._goodsId);
+ this.setData({
+ _cart_ids: cart_ids
+ });
+ }
+ let urlStr = app.getNetAddresss("from.div-from.get-params");
+ json = {
+ goods_ids: JSON.stringify(this.data._cart_ids)
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isGetAgreementPay: true,
+ AgreementPay: res.data.getPayProtocol ? res.data.getPayProtocol : ''
+ });
+ that._checkTaxGoods(res.data.isDisplay);
+ that._getMemberInfo(res.data.getMemberInfo);
+ that._getExplain(res.data.explain);
+ that.getIvoice(res.data.sinvoice);
+ } else {
+ that.setData({
+ isGetAgreementPay: false
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ show1btn() {
+ this.setData({
+ show1: true
+ });
+ },
+ closePopup() {
+ this.setData({
+ show1: false
+ });
+ },
+ invoice_type() {
+ if (this.data.iscur_c) {
+ this.setData({
+ iscur_c: false,
+ iscur_d: true
+ });
+ } else {
+ this.setData({
+ iscur_c: true,
+ iscur_d: false
+ });
+ }
+ },
+ invoice_title() {
+ // 清空填写
+ this.setData({
+ 'invoice_list.call': "",
+ 'invoice_list.company_number': ''
+ });
+ if (this.data.iscur) {
+ this.setData({
+ iscur: false,
+ iscur_b: true,
+ person_status: false,
+ unit_status: true
+ });
+ } else {
+ this.setData({
+ iscur: true,
+ iscur_b: false,
+ person_status: true,
+ unit_status: false
+ });
+ }
+ },
+ Subinvoice() {
+ if (app._isTextEmpty(this.data.invoice_list.call)) {
+ wx.showToast({
+ title: '请填写抬头',
+ icon: 'none',
+ duration: 1500
+ });
+ return;
+ }
+ if (
+ this.data.iscur_b &&
+ app._isTextEmpty(this.data.invoice_list.company_number)
+ ) {
+ wx.showToast({
+ title: '请添加纳税人识别号',
+ icon: 'none',
+ duration: 1500
+ });
+ return;
+ }
+ // 页面回显
+ this.setData({
+ invoicename: this.data.iscur_c ? "电子" : "纸质",
+ companyname: this.data.iscur ? "个人" : "单位",
+ showInvoiceTitle: this.data.invoice_list.call,
+ show1: false
+ });
+ },
+ callinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'invoice_list.call': val
+ });
+ },
+ companyNumberinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'invoice_list.company_number': val
+ });
+ },
+
+ getList(){
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.package-deliver.frontend.deliver.getList");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ city_name: that.data.city,
+ lat: that.data.point.lat,
+ lng: that.data.point.lng,
+ kwd: ""
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ defaultSelfCarry: res.data.list.data[0] ? res.data.list.data[0]: "",
+ package_deliver_id: res.data.list.data[0].dispatch_type_id
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: '获取自提点失败',
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
diff --git a/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.json b/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.json
new file mode 100644
index 0000000..b9612af
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.json
@@ -0,0 +1,17 @@
+{
+ "navigationBarTitleText": "我的信息",
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-field": "../../../../dist/field/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-icon": "../../../../dist/icon/index",
+ "van-switch": "../../../../dist/switch/index",
+ "van-cell": "../../../../dist/cell/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "van-dialog": "../../../../dist/dialog/index",
+ "van-checkbox": "../../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../../dist/checkbox-group/index"
+ }
+}
diff --git a/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.wxml b/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.wxml
new file mode 100644
index 0000000..632431b
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.wxml
@@ -0,0 +1,605 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 收件人:{{realname}} {{mobile}}
+ {{address}}
+
+
+ 请点击选择地址
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 自提地点:{{store_info.store_name}} {{store_info.store_mobile}}
+ {{store_info.store_address}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 收件人:{{realname}} {{mobile}}
+ {{address}}
+
+
+ 请点击选择地址
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 自提地点:{{store_info.store_name}} {{store_info.store_mobile}}
+ {{store_info.store_address}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 收件人:{{realname}} {{mobile}}
+ {{address}}
+
+
+ 请点击选择地址
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 收件人:{{realname}} {{mobile}}
+ {{address}}
+
+
+ 请点击选择地址
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 收件人:{{realname}} {{mobile}}
+ {{address}}
+
+
+ 请点击选择地址
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 抱歉,该地区暂无自提点,请更换地区试试!
+
+
+ 自提地点:{{defaultSelfCarry.deliver_name}} {{defaultSelfCarry.deliver_mobile}}
+ {{defaultSelfCarry.full_address}}
+
+ 更换
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 您还可以免费租{{rent_free}}件商品!
+
+
+
+ 店铺名称:{{item.shop_name}}
+
+
+
+
+
+
+
+
+ {{g.title}}
+
+
+
+
+
+ ¥{{(g.goods_price/g.total)}}元/天
+ ×{{g.total}}
+
+
+
+
+
+ 规格: {{g.goods_option_title}}
+ 押金:¥{{g.has_one_lease_goods.goods_deposit}}
+
+
+
+ 租金:¥{{g.price}} ¥{{g.order_lease_goods[0].lease_price}}元/天
+
+
+
+
+
+
+ {{g.title}}
+ 规格: {{g.goods_option_title}}
+
+
+ ¥{{(g.price/g.total)}}
+ ×{{g.total}}
+
+
+
+
+ 买家留言:
+
+
+
+
+
+
+
+
+
+ 会员权益
+
+
+
+
+
+
+ {{isRent?"租金":"商品金额"}}
+
+ ¥{{item.order_goods_price}}
+
+
+
+ 运费:
+
+ ¥{{item.dispatch_price}}
+
+
+
+ {{item.name}}
+
+ ¥{{item.amount}}
+
+
+
+
+
+ 可用{{d.coin}}{{d.name || integral}}
+ 抵扣{{d.amount}}元
+
+
+
+
+
+
+
+
+
+ {{ d.coin }}{{ d.name || integral }}
+ 抵扣{{ d.amount }}元
+
+
+
+
+
+
+
+
+
+ 租期:
+
+
+
+
+ {{item.term_name}}
+ 优惠{{item.term_discount}}%
+
+
+ 自定义
+
+
+
+
+
+
+ 优惠券
+ {{coupon_size}}张可用
+
+
+
+ {{(use_coupon_size==0) ? "未使用":"已使用"+use_coupon_size+"张"}}
+
+
+
+
+
+
+ 发票
+
+ {{ invoicename }}({{ companyname }}—{{ showInvoiceTitle }})
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+ - ¥{{ item.amount }}
+
+
+
+
+ {{ item.name }}
+
+ -¥{{ item.amount }}
+
+
+
+ {{ item.name }}
+
+ ¥{{ item.amount }}
+
+
+
+ 押金(可退还)
+
+ ¥{{goodsInfo.total_deposit}}
+
+
+
+
+
+
+
+ 我已认真阅读并同意该
+ 《租赁协议》
+
+
+
+
+
+
+
+ 《支付协议》
+
+
+
+
+
+
+
+ (押金¥{{goodsInfo.total_deposit}}可退)
+
+
+ 合计:
+
+ ¥
+ {{price}}
+
+
+
+ 提交订单
+
+
+
+
+
+
+
+
+ {{item.username+" "+item.mobile}}
+
+ {{item.province+" "+item.city+" "+item.district+" "+item.street}} {{item.address}}
+
+
+ {{item.province+" "+item.city+" "+item.district}} {{item.address}}
+
+
+ 编辑
+
+
+
+ 新增地址
+
+
+
+
+
+
+
+ 收件人:
+
+
+
+ 联系电话:
+
+
+
+
+
+ 设置默认地址:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{coupon.belongs_to_coupon.deduct}}
+
+ 满{{coupon.belongs_to_coupon.enough}}立减
+
+
+
+ {{coupon.belongs_to_coupon.discount}}折
+
+ 满{{coupon.belongs_to_coupon.enough}}立享
+
+
+
+
+ {{coupon.belongs_to_coupon.name}}
+ {{coupon.time_start}}-{{coupon.time_end}}
+
+
+
+
+
+ 确认
+ 取消
+
+
+
+
+
+ {{agreeCon.pact_title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.wxss b/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.wxss
new file mode 100644
index 0000000..76dee9f
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_goods_order/auction_goods_order.wxss
@@ -0,0 +1,869 @@
+/* packageD/auction/auction-mine/auction_goods_order/auction_goods_order.wxss */
+
+/* pages/buy/myOrder_v2/myOrder_v2.wxss */
+.goodsinfo .addr {
+ display: flex;
+ flex-flow: row wrap;
+ align-items: center;
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.goodsinfo .addr {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+}
+
+.goodsinfo .addr .map_marker {
+ width: 32rpx;
+ height: 34rpx;
+ margin-right: 16rpx;
+}
+
+.goodsinfo .addr .p {
+ flex: 8;
+ text-align: justify;
+ font-weight: bold;
+ line-height: 48rpx;
+ color: #333;
+ font-size: 28rpx;
+}
+
+.goodsinfo .addr .right_change {
+ padding: 4rpx 8rpx;
+ color: #f15353;
+ font-size: 28rpx;
+ border: 1rpx solid #f15353;
+ border-radius: 8rpx;
+}
+
+.goodsinfo .addr .big {
+ font-size: 32rpx;
+ line-height: 58rpx;
+}
+
+.goodsinfo .addr .p .span {
+ font-weight: normal;
+ color: #666;
+}
+
+.goodsinfo .addr .right {
+ flex: 1;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+}
+
+.goodsinfo .addr .angle_right {
+ padding-top: 10rpx;
+ width: 32rpx;
+ margin-right: 16rpx;
+}
+
+.goodsinfo .add-info {
+ overflow-y: scroll;
+ width: 100%;
+ background: #fff;
+ max-height: 50vh;
+ padding-top: 20rpx;
+}
+
+.goodsinfo .add-info .ul {
+ overflow-y: scroll;
+}
+
+.goodsinfo .add-info .ul .li {
+ padding: 20rpx 0;
+ display: flex;
+ position: relative;
+}
+
+.goodsinfo .add-info .li .liia {
+ width: 100%;
+ padding-right: 40rpx;
+ flex: 1;
+ text-align: left;
+ padding-left: 40rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.goodsinfo .add-info .li .liia .name {
+ font-size: 36rpx;
+ color: #222;
+ line-height: 64rpx;
+}
+
+.goodsinfo .add-info .li .liia .address {
+ word-break: break-word;
+ width: 100%;
+ font-size: 24rpx;
+ color: #666;
+ line-height: 40rpx;
+}
+
+.goodsinfo .add-info .li .edit_btn {
+ margin-top: 16rpx;
+ margin-right: 64rpx;
+ height: 64rpx;
+ line-height: 64rpx;
+ flex: 0 0 96rpx;
+ background: #f15353;
+ color: #fff;
+ border-radius: 20rpx;
+ text-align: center;
+}
+
+.goodsinfo .address-plus {
+ background: #f15353;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #fff;
+ width: 100%;
+ border: 0;
+ text-align: center;
+}
+
+.address_a {
+ background-color: #fff;
+ padding-left: 28rpx;
+ margin-top: 20rpx;
+}
+
+.address_a .li {
+ height: 100rpx;
+ padding-right: 28rpx;
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+}
+
+.defaultAdd {
+ background: #fff;
+ padding-left: 28rpx;
+ display: flex;
+ height: 100rpx;
+ padding-right: 28rpx;
+ font-size: 32rpx;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.addName {
+ background: #fff;
+}
+
+.addstreet {
+ background: #fff;
+}
+
+.text_adderss {
+ background: #fff;
+}
+
+.text_adderss input {
+ text-wrap: unset;
+ padding: 20rpx 28rpx;
+ font-size: 28rpx;
+ line-height: 48rpx;
+ min-height: 104rpx;
+}
+
+.adderss_btn .button {
+ margin: 40rpx auto;
+ width: 600rpx;
+ height: 90rpx;
+ border-radius: 10rpx;
+ background: #f15353;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.adderss_btn .button .plus_circle {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.adderss_btn .button .plus_circle van-icon {
+ display: flex;
+ align-items: center;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* -------------------------------- */
+
+.goodsinfo .goods-detail .title {
+ line-height: 72rpx;
+ background-color: #f7f7f7;
+ color: #f15353;
+ text-align: left;
+ padding: 0 28rpx;
+ display: flex;
+ align-items: center;
+}
+
+.goodsinfo .goods-detail .title .span {
+ margin-left: 20rpx;
+}
+
+.goodsinfo .goods-shop {
+ background: #fff;
+ line-height: 72rpx;
+ border-bottom: #e8e8e8 solid 2rpx;
+}
+
+.goodsinfo .goods-shop .p {
+ text-align: left;
+ margin: 0;
+ padding: 0 0 0 28rpx;
+ font-size: 24rpx;
+ color: #555;
+}
+
+.goodsinfo .detail_good {
+ background: #fff;
+ overflow: hidden;
+}
+
+.goodsinfo .detail_good .goods {
+ display: flex;
+ padding: 32rpx 28rpx 0 28rpx;
+}
+
+.goodsinfo .detail_good .goods .img {
+ width: 30%;
+ display: inline-block;
+}
+
+.goodsinfo .detail_good .goods .img image {
+ width: 100%;
+}
+
+.goodsinfo .detail_good .goods .warp {
+ width: 70%;
+ margin-left: 20rpx;
+ position: relative;
+}
+
+.goodsinfo .detail_good .goods .warp .inner {
+ display: flex;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+
+.goodsinfo .detail_good .goods .warp .inner .name {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ height: 80rpx;
+ width: 60%;
+ text-align: left;
+ color: #333;
+ margin-bottom: 20rpx;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+.goodsinfo .detail_good .goods .warp .inner .red {
+ color: #f15353;
+ display: flex;
+}
+
+.goodsinfo .detail_good .goods .warp .inner .red .icon_rent {
+ width: 24rpx;
+ height: 24rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding-top: 10rpx;
+}
+
+.goodsinfo .detail_good .goods .warp .price {
+ display: flex;
+ justify-content: space-between;
+ color: #333;
+}
+
+.goodsinfo .detail_good .goods .option {
+ color: #8c8c8c;
+ font-size: 28rpx;
+}
+
+.goodsinfo .detail_good .goods .warp .price .right {
+ color: #8c8c8c;
+}
+
+.goodsinfo .detail_good .rent-choice {
+ width: 100%;
+ bottom: 0;
+ display: flex;
+ justify-content: space-between;
+ color: #8c8c8c;
+}
+
+.goodsinfo .detail_good .rent-choice .red {
+ color: #f15353;
+ margin-right: 10px;
+ margin-right: 0.625rem;
+ font-size: 14px;
+}
+
+.goodsinfo .detail_good .note {
+ display: flex;
+ margin: 32rpx 16rpx 0 16rpx;
+}
+
+.goodsinfo .detail_good .note .left {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 12px;
+ color: #858585;
+ margin-right: 16rpx;
+}
+
+.goodsinfo .detail_good .note .right {
+ flex: 1;
+ text-align: left;
+}
+
+.goodsinfo .rent-info {
+ background-color: #fff;
+ padding: 20rpx 28rpx;
+ font-size: 28rpx;
+ border-bottom: solid 2rpx #e2e2e2;
+}
+
+.goodsinfo .tbs {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background: #fff;
+ flex-flow: row wrap;
+ padding: 20rpx 28rpx;
+ line-height: 48rpx;
+ border-bottom: #e8e8e8 solid 2rpx;
+ font-size: 30rpx;
+}
+
+.goodsinfo .tbs .list {
+ width: 100%;
+ padding-bottom: 20rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.goodsinfo .tbs .left {
+ text-align: left;
+ color: #333;
+}
+
+.goodsinfo .tbs .right {
+ text-align: right;
+}
+
+.goodsinfo .tbs .right .red {
+ color: #e84e40;
+}
+
+.goodsinfo .tbs .left .span {
+ font-size: 30rpx;
+}
+
+.goodsinfo .rent-time {
+ margin-top: 20rpx;
+ padding: 32rpx 28rpx;
+ background-color: #fff;
+}
+
+.goodsinfo .rent-time .text {
+ font-size: 28rpx;
+ text-align: left;
+ flex: 16%;
+ margin-bottom: 20rpx;
+}
+
+.goodsinfo .rent-time .week {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.goodsinfo .rent-time .week .button {
+ width: 30.4%;
+ border: solid 2rpx #e2e2e2;
+ background-color: #fff;
+ font-size: 24rpx;
+ color: #333;
+ border-radius: 8rpx;
+ height: 120rpx;
+ margin: 10rpx 1.1%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.goodsinfo .rent-time .week .button .span {
+ text-align: center;
+}
+
+.goodsinfo .rent-time .week .button .red {
+ color: #f15353;
+}
+
+.goodsinfo .tbs.coupon-list {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.goodsinfo .tbs .list:nth-last-child(1) {
+ padding-bottom: 0;
+}
+
+.goodsinfo .coubtngroup {
+ display: flex;
+ font-size: 28rpx;
+ text-align: center;
+}
+
+.goodsinfo .coubtngroup .sure {
+ background: #f15353;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #fff;
+ width: 50%;
+}
+
+.goodsinfo .coubtngroup .close {
+ background: #eee;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #333;
+ width: 50%;
+}
+
+.goodsinfo .add-info {
+ overflow-y: scroll;
+ width: 100%;
+ background: #fff;
+ max-height: 50vh;
+ padding-top: 20rpx;
+}
+
+.goodsinfo .add-info .coupon-list-info {
+ width: 99.5vw;
+ display: flex;
+ align-items: center;
+}
+
+.goodsinfo .add-info .checkList {
+ padding-left: 6rpx;
+ margin-right: 20rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray {
+ flex: 1;
+ height: 160rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ display: flex;
+}
+
+.goodsinfo .add-info .coupon_voucher_main {
+ flex: 1;
+ height: 160rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ display: flex;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_left {
+ width: 204rpx;
+ height: 100%;
+ color: #fff;
+ border-radius: 8rpx 0 0 8rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ background-color: #47c1c4;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_left {
+ width: 204rpx;
+ height: 100%;
+ color: #fff;
+ border-radius: 8rpx 0 0 8rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ background-color: #ccc;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_left .coupon_voucher_amount.type_large {
+ margin: 0;
+ font-size: 44rpx;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_left .coupon_voucher_amount.type_large {
+ margin: 0;
+ font-size: 44rpx;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_left .coupon_voucher_limit {
+ font-size: 24rpx;
+ margin-top: 26rpx;
+ margin-bottom: 0;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_left .coupon_voucher_limit {
+ font-size: 24rpx;
+ margin-top: 26rpx;
+ margin-bottom: 0;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_right {
+ flex: 1;
+ padding: 30rpx 30rpx 30rpx 20rpx;
+ border-radius: 0 8rpx 8rpx 0;
+ background-color: #e5f3f3;
+ color: #666;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_right {
+ flex: 1;
+ padding: 30rpx 30rpx 30rpx 20rpx;
+ border-radius: 0 8rpx 8rpx 0;
+ background-color: #eee;
+ color: #666;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_right .coupon_voucher_range {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ font-size: 24rpx;
+ text-align: left;
+ margin: 0;
+ padding: 0;
+ vertical-align: baseline;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_right .coupon_voucher_range {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ font-size: 24rpx;
+ text-align: left;
+ margin: 0;
+ padding: 0;
+ vertical-align: baseline;
+}
+
+.coupon_voucher_main .coupon_voucher_right .coupon_voucher_period {
+ color: #999;
+ font-size: 24rpx;
+ bottom: 0;
+}
+
+.coupon_voucher_main .coupon_voucher_gray .coupon_voucher_period {
+ color: #999;
+ font-size: 24rpx;
+ bottom: 0;
+}
+
+.goodsinfo .tbs .agreement {
+ display: flex;
+}
+
+.goodsinfo .tbs .agreement .left {
+ margin-left: 20rpx;
+}
+
+.goodsinfo .tbs .agreement .left .red {
+ color: red;
+}
+
+.agreementContent {
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+}
+
+.agreementContent .h3 {
+ text-align: center;
+ font-size: 32rpx;
+}
+
+/* .goodsinfo .tbsbottom {
+ margin-bottom: 90rpx;
+} */
+
+.goodsinfo .detail_pay {
+ z-index: 98;
+ font-size: 32rpx;
+ text-align: left;
+ height: 98rpx;
+ background: #fff;
+ padding: 0 0 0 28rpx;
+ border-top: 2rpx solid #eaeaea;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ display: flex;
+ justify-content: space-between;
+}
+
+.goodsinfo .detail_pay .total {
+ font-size: 28rpx;
+ padding-right: 20rpx;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ flex: 3;
+}
+
+.goodsinfo .detail_pay .total .deposit {
+ font-size: 24rpx;
+ color: #999;
+ margin-right: 12rpx;
+}
+
+.goodsinfo .detail_pay .total .font {
+ color: #f15353;
+}
+
+.goodsinfo .span_t {
+ color: #f15353;
+ font-size: 32rpx;
+}
+
+.goodsinfo .detail_pay .order_delete {
+ flex: 1;
+ background: #f15353;
+ justify-content: center;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ position: relative;
+}
+
+.goodsinfo .rent-time .week .active {
+ border: solid 2rpx red;
+}
+
+.invoice {
+ background: #fff;
+ margin-bottom: 20rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ font-size: 30rpx;
+ display: flex;
+ padding: 0 28rpx;
+ border-top: solid 2rpx #ebebeb;
+ border-bottom: solid 2rpx #ebebeb;
+ position: relative;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.invoice .left {
+ display: flex;
+ align-items: center;
+}
+
+.invoice .span {
+ margin-right: 40rpx;
+}
+
+.invoice .span .font {
+ color: #f15353;
+}
+
+.invoice .type {
+ font-size: 24rpx;
+ color: #8c8c8c;
+}
+
+.invoice .right {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.goodsinfo .popup_box {
+ background: #fff;
+ min-height: 820rpx;
+ padding-top: 100rpx;
+ padding-bottom: 140rpx;
+ box-sizing: border-box;
+}
+
+.goodsinfo .popup_box .h1 {
+ width: 100%;
+ position: fixed;
+ top: 0;
+ background: #fff;
+ font-size: 36rpx;
+ height: 100rpx;
+ line-height: 100rpx;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ padding: 0 28rpx;
+ box-sizing: border-box;
+}
+
+.goodsinfo .popup_box .h1 icon {
+ font-size: 32rpx;
+ color: #c9c9c9;
+}
+
+.goodsinfo .popup_box .p {
+ padding: 12rpx 28rpx;
+ background: #f0f9ff;
+ border-top: solid 2rpx #91d5ff;
+ border-bottom: solid 2rpx #91d5ff;
+ font-size: 28rpx;
+ text-align: left;
+ color: #8c8c8c;
+ display: flex;
+}
+
+.goodsinfo .popup_box .p icon {
+ font-size: 36rpx;
+ color: #91d5ff;
+ margin-right: 8px;
+}
+
+.goodsinfo .popup_box .type_box {
+ margin-top: 20rpx;
+}
+
+.goodsinfo .popup_box .type_box .h2 {
+ font-size: 30rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: left;
+ padding: 0 28rpx;
+}
+
+.goodsinfo .popup_box .type_box .type {
+ display: flex;
+ padding: 0 28rpx;
+}
+
+.goodsinfo .popup_box .type_box .type .button {
+ background: #fff;
+ border: solid 2rpx #ebebeb;
+ font-size: 28rpx;
+ width: 192rpx;
+ height: 56rpx;
+ border-radius: 32rpx;
+ margin-right: 40rpx;
+ color: #666;
+ text-align: center;
+ line-height: 56rpx;
+}
+
+.goodsinfo .popup_box .type_box .type .cur.button {
+ background: #f15353;
+ color: #fff;
+ border: none;
+}
+
+.goodsinfo .popup_box .type_box .input_box input {
+ padding: 0 20rpx;
+ width: 100%;
+ height: 72rpx;
+ background: #f5f5f5;
+ border-radius: 32rpx;
+ margin-bottom: 24rpx;
+}
+
+.goodsinfo .popup_box .btn {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ background: #fff;
+ align-items: center;
+ justify-content: center;
+ display: flex;
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+}
+
+.goodsinfo .popup_box .btn .button {
+ width: 90%;
+ height: 84rpx;
+ border-radius: 64rpx;
+ background: #f15353;
+ color: #fff;
+ font-size: 36rpx;
+ border: none;
+ text-align: center;
+ line-height: 84rpx;
+}
diff --git a/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.js b/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.js
new file mode 100644
index 0000000..6159f93
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.js
@@ -0,0 +1,148 @@
+// packageD/auction/auction-mine/auction_integral_love/auction_integral_love.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ integral: 0,
+ transfer_set: 1,
+ withdraw_set_title: 1,
+ name: "",
+ manual_withdraw_set_switch: 1,
+ is_recharge: "1",
+ pop: {}
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ // this.getName();
+
+ },
+ gomingxi(){
+ wx.navigateTo({
+ url: '/packageD/auction/auction-mine/auction_deposit/auction_deposit',
+ });
+ },
+ chongzhi(){
+ wx.navigateTo({
+ url: '/packageD/auction/auction-mine/auction_recharge/auction_recharge',
+ });
+ },
+ tixian(){
+ wx.navigateTo({
+ url: '/packageD/auction/auction-mine/auctionIntegralCash/auctionIntegralCash',
+ });
+ },
+ getDgetStoreInfoata(){
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.prepayment.withdraw.page');
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ Data:res.data
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+ getName() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.integral.Frontend.Controllers.page.get-name');
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ name:res.data
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getDgetStoreInfoata();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+});
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.json b/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.json
new file mode 100644
index 0000000..44e4946
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "预付款",
+ "usingComponents": {
+ "van-icon": "../../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.wxml b/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.wxml
new file mode 100644
index 0000000..1bce486
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.wxml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ 我的保证金(元)
+
+ {{ Data.balance }}
+
+
+
+
+ 提现
+
+
+
+ 充值
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.wxss b/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.wxss
new file mode 100644
index 0000000..84e0a70
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_integral_love/auction_integral_love.wxss
@@ -0,0 +1,94 @@
+/* packageD/auction/auction-mine/auction_integral_love/auction_integral_love.wxss */
+.content .my_balance {
+ background: #fff;
+ padding: 0.625rem 0;
+}
+
+.content .my_balance .balance_a {
+ line-height: 2.5rem;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.content .my_balance .balance_a .icon-wealth-b {
+ background: url("../../../assets/images/member/member_a(55).png") no-repeat center;
+ background-size: 1.125rem;
+ width: 1.125rem;
+ height: 1.125rem;
+ margin-right: 0.375rem;
+}
+
+.content .my_balance .balance_a .icon-wealth-b::before {
+ content: "";
+}
+
+.content .my_balance .balance_a span {
+ font-size: 14px;
+}
+
+.content .my_balance .balance_b {
+ line-height: 190rpx;
+ font-size: 36px;
+ text-align: center;
+}
+
+.content .my_balance .balance_b small {
+ font-size: 24px;
+}
+
+.content .my_balance .balance_c {
+ font-size: 14px;
+ color: #8c8c8c;
+}
+
+.content .list_box,
+.content .list_box_b {
+ background: #fff;
+ padding-left: 0.875rem;
+ border-top: solid 0.0625rem #ebebeb;
+ border-bottom: solid 0.0625rem #ebebeb;
+}
+
+.content .list_box .li,
+.content .list_box_b .li {
+ border-bottom: solid 0.0625rem #ebebeb;
+ padding-right: 0.875rem;
+ display: flex;
+ align-items: center;
+ line-height: 2.875rem;
+ font-size: 16px;
+ position: relative;
+ justify-content: space-between;
+}
+
+.content .list_box .li .iconfont,
+.content .list_box_b .li .iconfont {
+ font-size: 2rem;
+ margin-right: 0.375rem;
+}
+
+.content .list_box .li .icon-balance_a,
+.content .list_box_b .li .icon-balance_a {
+ color: #6cbf6a;
+}
+
+.content .list_box .li .icon-pay_sureprice,
+.content .list_box_b .li .icon-pay_sureprice {
+ color: #4e97ff;
+}
+
+.content .list_box .li .fa,
+.content .list_box_b .li .fa {
+ position: absolute;
+ top: 0;
+ right: 0.875rem;
+ font-size: 1.5rem;
+ color: #ccc;
+ line-height: 2.875rem;
+}
+
+.content .list_box li:last-child,
+.content .list_box_b li:last-child {
+ border: none;
+}
diff --git a/packageD/auction/auction-mine/auction_recharge/auction_recharge.js b/packageD/auction/auction-mine/auction_recharge/auction_recharge.js
new file mode 100644
index 0000000..bf0d0c8
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_recharge/auction_recharge.js
@@ -0,0 +1,159 @@
+// pages/balance_recharge/balance_recharge.js
+const INFO_URL = "plugin.auction.api.prepayment.withdraw.page";
+const LOVE_INDEX_URL = "plugin.auction.api.member-prepayment.recharge";
+var yz_pay = require("../../../../mycomponent/yz_pay/yz_pay");
+var app = getApp();
+Page({
+ behaviors: [yz_pay],
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ credit2: 0,
+ buttons: [],
+ typename: '',
+ recharge: '',
+ ordersn: '',
+ money: '',
+ // 选择的充值方式
+ pay_type: '',
+ balanceLang: '余额'
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ // this.getData(); // 初始化参数
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this.getData();
+ this.getTitle();
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {},
+ // 初始化参数
+ getData(){
+ var that = this;
+ let urlStr = app.getNetAddresss(INFO_URL);
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ value:res.data.balance
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+ getTitle(){
+ var that = this;
+ let urlStr = app.getNetAddresss(LOVE_INDEX_URL);
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ buttons:res.data.buttons
+ });
+ for (let i = 0; i < that.data.buttons.length; i++) {
+ if (that.data.buttons[i]) {
+ that.setData({
+ ['buttons[' + i + '].btclass']: that.btnclass(that.data.buttons[i].value)
+ });
+ }
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+
+ moneyinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ money: val
+ });
+ },
+ // 确认充值
+ confirm(e) {
+ let type = e.currentTarget.dataset.val;
+ this.setData({
+ money: parseFloat(this.data.money),
+ pay_way: type
+ });
+ if (this.data.money <= 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '金额不可低于0元',
+ duration: 1500
+ });
+ return;
+ }
+ let urlStr = app.getNetAddresss('plugin.auction.api.member-prepayment.check-recharge');
+ urlStr += '&client_type=2';
+ urlStr += '&app_type=wechat';
+ urlStr += '&pay_way=' + this.data.pay_way;
+ urlStr += '&money=' + this.data.money;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.rechargePay(type, res, res.data.ordersn);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: (res)=> {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageD/auction/auction-mine/auction_recharge/auction_recharge.json b/packageD/auction/auction-mine/auction_recharge/auction_recharge.json
new file mode 100644
index 0000000..0f4edcf
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_recharge/auction_recharge.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "保证金充值",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_recharge/auction_recharge.wxml b/packageD/auction/auction-mine/auction_recharge/auction_recharge.wxml
new file mode 100644
index 0000000..70b6f2a
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_recharge/auction_recharge.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+ 当前余额:
+ {{ value }}
+
+
+
+ 充值金额
+
+ ¥
+
+
+
+ 充值方式
+
+
+
+ {{ btn.name }}{{ typename }}
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/auction_recharge/auction_recharge.wxss b/packageD/auction/auction-mine/auction_recharge/auction_recharge.wxss
new file mode 100644
index 0000000..5dad586
--- /dev/null
+++ b/packageD/auction/auction-mine/auction_recharge/auction_recharge.wxss
@@ -0,0 +1,123 @@
+/* pages/balance_recharge/balance_recharge.wxss */
+.balance_recharge .content {
+ padding-bottom: 160rpx;
+}
+
+.balance_recharge .content .transfer_info {
+ background: #fff;
+ padding-left: 28rpx;
+ font-size: 32rpx;
+}
+
+.balance_recharge .content .transfer_info .info_a,
+.balance_recharge .content .transfer_info .info_b {
+ line-height: 92rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+}
+
+.balance_recharge .content .transfer_info .info_a .span:first-child,
+.balance_recharge .content .transfer_info .info_b .span:first-child {
+ width: 220rpx;
+ display: block;
+ text-align: left;
+}
+
+.balance_recharge .content .transfer_sum {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.balance_recharge .content .transfer_sum .span {
+ display: block;
+ font-size: 32rpx;
+ line-height: 80rpx;
+ text-align: left;
+}
+
+.balance_recharge .content .transfer_sum .sum {
+ text-align: left;
+ font-size: 48rpx;
+ display: flex;
+ align-items: center;
+}
+
+.balance_recharge .content .transfer_sum .sum input {
+ margin-left: 12rpx;
+ line-height: 120rpx;
+ height: 120rpx;
+ width: 90%;
+ font-size: 68rpx;
+ border: none;
+}
+
+.balance_recharge .content .recharge_way {
+ background: #fff;
+ margin-top: 20rpx;
+}
+
+.balance_recharge .content .recharge_way .h1 {
+ line-height: 80rpx;
+ text-align: left;
+ padding: 0 28rpx;
+ font-size: 32rpx;
+}
+
+.balance_recharge .content .recharge_way .li {
+ position: relative;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-align: center;
+ align-items: center;
+ line-height: 112rpx;
+ font-size: 32rpx;
+ margin-left: 40rpx;
+ padding-right: 40rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.balance_recharge .content .recharge_way .li .iconfont_bg {
+ background: #f15353;
+ width: 72rpx;
+ height: 48rpx;
+ border-radius: 6rpx;
+ display: flex;
+ align-items: center;
+ margin-right: 20rpx;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_d {
+ color: #00908c;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_e {
+ color: #64b42e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_f {
+ color: #fac337;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_g {
+ color: #00508e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_h {
+ color: #fac337;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_i {
+ color: #64b42e;
+}
+
+.balance_recharge .content .recharge_way .li .icon-balance_j {
+ color: #069ce7;
+}
+
+.balance_recharge .content .recharge_way .li .iconfont {
+ font-size: 64rpx;
+ margin-right: 20rpx;
+}
diff --git a/packageD/auction/auction-mine/my_auction/my_auction.js b/packageD/auction/auction-mine/my_auction/my_auction.js
new file mode 100644
index 0000000..03e0995
--- /dev/null
+++ b/packageD/auction/auction-mine/my_auction/my_auction.js
@@ -0,0 +1,196 @@
+// packageD/auction/auction-mine/my_auction/my_auction.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ active:0,
+ page:1
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if(options.id){
+ this.setData({
+ active:options.id
+ });
+ }
+ this.getSearch();
+ },
+ goxiangq(e){
+ console.log(e.currentTarget.dataset.goodid.goods_id);
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_good/auction_good?id='+e.currentTarget.dataset.goodid.goods_id,
+ });
+ },
+ toBuy(e){
+ let item = e.currentTarget.dataset.item.goods_id;
+ wx.navigateTo({
+ url: '/packageD/buy/myOrder_v2/myOrder_v2?goodsId='+item.goods_id+'&tag=auction&total=1&fixed_price=0&auction_sn='+ item.acution_sn,
+ });
+ },
+ itemClick(e){
+ this.setData({
+ active:e.detail.index
+ });
+ this.getSearch();
+ },
+ getSearch(){
+ this.setData({
+ page:1
+ });
+ var that = this;
+ var urlStr = "";
+ if(that.data.active == 0){
+ urlStr = app.getNetAddresss('plugin.auction.api.bid-order.prepayment');
+ }else if(that.data.active == 1){
+ urlStr = app.getNetAddresss('plugin.auction.api.bid-order.biding');
+ }else if(that.data.active == 2){
+ urlStr = app.getNetAddresss('plugin.auction.api.bid-order.bide');
+ }else if(that.data.active == 3){
+ urlStr = app.getNetAddresss('plugin.auction.api.bid-order.finish');
+ }else if(that.data.active == 4){
+
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2?status=0&orderType=auction',
+ success(){
+ wx.showLoading({
+ title: '加载中',
+ icon:'none',
+ duration:1000
+ });
+ }
+ });
+ }
+ app._postNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ datas: res.data.data,
+ current_page:res.data.current_page,
+ last_page:res.data.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if(this.data.current_page >= this.data.last_page){
+ wx.showToast({
+ title: '暂无更多',
+ icon:'none',
+ duration:1000
+ });
+ }else{
+ let pages = this.data.page +1;
+ this.setData({
+ page:pages
+ });
+ this.getNext();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getNext() {
+ var that = this;
+ var urlStr = "";
+ if(that.data.active == 0){
+ urlStr = app.getNetAddresss('plugin.auction.api.bid-order.prepayment');
+ }else if(that.data.active == 1){
+ urlStr = app.getNetAddresss('plugin.auction.api.bid-order.biding');
+ }else if(that.data.active == 2){
+ urlStr = app.getNetAddresss('plugin.auction.api.bid-order.bide');
+ }else if(that.data.active == 3){
+ urlStr = app.getNetAddresss('plugin.auction.api.bid-order.finish');
+ }else if(that.data.active == 4){
+ wx.navigateTo({
+ url: '/packageA/member/myOrder_v2/myOrder_v2?status=0',
+ });
+ }
+ app._postNetWork({
+ url: urlStr,
+ data:{
+ page:that.data.page
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ datas: that.data.datas.concat(res.data.data),
+ current_page:res.data.current_page,
+ last_page:res.data.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageD/auction/auction-mine/my_auction/my_auction.json b/packageD/auction/auction-mine/my_auction/my_auction.json
new file mode 100644
index 0000000..83406f3
--- /dev/null
+++ b/packageD/auction/auction-mine/my_auction/my_auction.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "我的拍卖",
+ "usingComponents": {
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-tab": "../../../../dist/tab/index",
+ "van-swipe-cell": "../../../../dist/swipe-cell/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/my_auction/my_auction.wxml b/packageD/auction/auction-mine/my_auction/my_auction.wxml
new file mode 100644
index 0000000..780d5ea
--- /dev/null
+++ b/packageD/auction/auction-mine/my_auction/my_auction.wxml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.goods.title}}
+
+
+ 当前价:¥
+ {{item.auction_goods_record.price}}
+
+
+ {{item.auction_goods_record.end_shooting}}结束
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.goods.title}}
+
+
+ 当前价¥
+ {{item.auction_goods_record.price}}
+
+
+ {{item.auction_goods_record.end_shooting}}结束
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+ {{item.goods.title}}
+
+
+
+ 当前价:¥
+ {{item.auction_goods_record.price}}
+
+
+ {{item.auction_goods_record.end_shooting}}结束
+
+
+
+ 确认下单
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/my_auction/my_auction.wxss b/packageD/auction/auction-mine/my_auction/my_auction.wxss
new file mode 100644
index 0000000..18d9829
--- /dev/null
+++ b/packageD/auction/auction-mine/my_auction/my_auction.wxss
@@ -0,0 +1,239 @@
+/* packageD/auction/auction-mine/my_auction/my_auction.wxss */
+
+page {
+ height: 100vh;
+ background: #fff;
+}
+
+.content {
+ background-color: #fff;
+ padding: 0 24rpx;
+ padding-top: 0.75rem;
+ margin-bottom: 90rpx;
+}
+
+.content .list {
+ display: flex;
+ margin-bottom: 0.75rem;
+}
+
+.content .list .image {
+ display: flex;
+ width: 254rpx;
+ height: 256rpx;
+ border-radius: 10rpx;
+}
+
+.content .list .image image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.content .list .rights {
+ display: flex;
+ flex-direction: column;
+ margin-left: 0.5rem;
+ flex: 1;
+ justify-content: space-between;
+}
+
+.content .list .rights .title {
+ text-align: left;
+ font-size: 14px;
+ color: #000;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.content .list .rights .bottom {
+ text-align: left;
+}
+
+.content .list .rights .bottom .cash {
+ display: flex;
+ font-size: 20rpx;
+ color: #f01818;
+ margin-bottom: 10rpx;
+}
+
+.content .list .rights .bottom .cash view:nth-child(2) {
+ margin-left: 7rpx;
+}
+
+.content .list .rights .bottom .time {
+ /* margin: 0.75rem 0; */
+ margin-bottom: 20rpx;
+ font-size: 20rpx;
+ color: #999;
+}
+
+.content .list:last-child {
+ margin-bottom: 0;
+}
+
+.content .blank {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ position: fixed;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+}
+
+.content .blank img {
+ width: 6rem;
+ height: 6rem;
+}
+
+.content .blank span {
+ margin-top: 15px;
+ color: #ccc;
+ font-size: 14px;
+}
+
+.right_box {
+ width: 72rpx;
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: #ff2c29;
+ margin-left: 25rpx;
+ font-size: 24rpx;
+ color: #fff;
+}
+
+/* 已拍下 */
+.end_top {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 90rpx;
+ border-bottom: 1rpx solid #cbcbcb;
+}
+
+.end_top_left {
+ margin-left: 38rpx;
+}
+
+.end_top_right {
+ margin-right: 25rpx;
+}
+
+.end_vie {
+ padding: 27rpx 27rpx 16rpx 25rpx;
+}
+
+.end_list {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 128rpx;
+}
+
+.endimage {
+ width: 128rpx;
+ height: 128rpx;
+ border: solid 1rpx #e5e5e5;
+}
+
+.end_conten {
+ display: flex;
+ flex-direction: column;
+ max-width: 407rpx;
+ height: 100%;
+ justify-content: space-between;
+}
+
+.end_rig {
+ display: flex;
+ flex-direction: column;
+ text-align: right;
+ justify-content: space-between;
+ height: 100%;
+}
+
+.tit_name {
+ font-size: 24rpx;
+ color: #999;
+}
+
+.rt {
+ /* margin-top: 10rpx; */
+ font-size: 24rpx;
+ color: #333;
+}
+
+.tt {
+ font-size: 28rpx;
+ color: #999;
+}
+
+.end_btn {
+ display: flex;
+ padding-top: 58rpx;
+ justify-content: space-between;
+}
+
+.btn_tit {
+ font-size: 30rpx;
+ color: #333;
+}
+
+.ones {
+ width: 148rpx;
+ height: 58rpx;
+ border-radius: 6rpx;
+ font-size: 28rpx;
+ color: #333;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border: solid 2rpx #cbcbcb;
+ margin-right: 35rpx;
+}
+
+.twos {
+ width: 148rpx;
+ height: 58rpx;
+ border-radius: 6rpx;
+ font-size: 28rpx;
+ color: #fff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: #f53838;
+}
+
+.cbtn {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.line {
+ width: 100%;
+ height: 20rpx;
+ background: #f2f2f7;
+}
+
+.newbox {
+ display: flex;
+ justify-content: space-between;
+}
+
+.btnbox {
+ width: 128rpx;
+ height: 64rpx;
+ background-color: #f01818;
+ border-radius: 32rpx;
+ text-align: center;
+ line-height: 64rpx;
+ color: #fff;
+}
diff --git a/packageD/auction/auction-mine/my_index/my_index.js b/packageD/auction/auction-mine/my_index/my_index.js
new file mode 100644
index 0000000..43ae600
--- /dev/null
+++ b/packageD/auction/auction-mine/my_index/my_index.js
@@ -0,0 +1,111 @@
+// packageD/auction/auction-mine/my_index/my_index.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getdata();
+ },
+ goinPay(){
+ wx.navigateTo({
+ url: '/packageD/auction/auction-mine/auction_integral_love/auction_integral_love',
+ });
+ },
+ godatain(){
+ wx.navigateTo({
+ url: '/packageD/auction/auction-mine/auction_collect/auction_collect',
+ });
+ },
+ gomyAuction(e){
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageD/auction/auction-mine/my_auction/my_auction?id='+id,
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getdata() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json ={
+ art:'auctioneer'
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ info: res.data.auctioneer
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+});
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/my_index/my_index.json b/packageD/auction/auction-mine/my_index/my_index.json
new file mode 100644
index 0000000..e08d466
--- /dev/null
+++ b/packageD/auction/auction-mine/my_index/my_index.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "我的",
+ "usingComponents": {
+ "van-icon": "../../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/my_index/my_index.wxml b/packageD/auction/auction-mine/my_index/my_index.wxml
new file mode 100644
index 0000000..9fd097c
--- /dev/null
+++ b/packageD/auction/auction-mine/my_index/my_index.wxml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+ {{info.nickname}}
+
+ 我的拍卖
+
+
+
+ 待开拍
+
+
+
+ 竞价中
+
+
+
+ 已结束
+
+
+
+ 待确认
+
+
+
+ 已拍下
+
+
+
+
+
+
+ 保证金/预付款
+
+
+
+
+
+
+
+
+
+ 我的收藏
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction-mine/my_index/my_index.wxss b/packageD/auction/auction-mine/my_index/my_index.wxss
new file mode 100644
index 0000000..5243be5
--- /dev/null
+++ b/packageD/auction/auction-mine/my_index/my_index.wxss
@@ -0,0 +1,98 @@
+/* packageD/auction/auction-mine/my_index/my_index.wxss */
+page {
+ background: #fff;
+ height: 100vh;
+}
+
+.content {
+ background-color: #fff;
+ padding-left: 40rpx;
+ padding-right: 40rpx;
+}
+
+.content .avator {
+ padding-top: 28rpx;
+ padding-bottom: 58rpx;
+ display: flex;
+ align-items: center;
+}
+
+.content .avator .user {
+ width: 84rpx;
+ height: 84rpx;
+ box-sizing: border-box;
+ border-radius: 50%;
+}
+
+.content .avator .user image {
+ border-radius: 50%;
+ width: 100%;
+ height: 100%;
+}
+
+.content .avator .nickname {
+ margin-left: 23rpx;
+ font-size: 28rpx;
+ color: #000;
+}
+
+.content .title {
+ margin-bottom: 63rpx;
+ text-align: left;
+ font-size: 36rpx;
+ color: #000;
+}
+
+.content .icon {
+ width: 100%;
+ display: flex;
+}
+
+.content .icon .li {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+ align-items: center;
+ justify-content: center;
+}
+
+.content .icon .li icon {
+ font-size: 28px;
+ color: #ff2c29;
+}
+
+.content .icon .li .span {
+ font-size: 24rpx;
+ color: #333;
+}
+
+.content .bottom {
+ margin-top: 100rpx;
+}
+
+.content .bottom .item {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.content .bottom .item .left {
+ display: flex;
+ align-items: center;
+}
+
+.content .bottom .item .left icon {
+ font-size: 50rpx;
+ color: #000;
+}
+
+.content .bottom .item .left .span {
+ font-size: 24rpx;
+ color: #000;
+ margin-left: 22rpx;
+}
+
+.content .bottom .item .right icon {
+ font-size: 50rpx;
+ color: #666;
+}
diff --git a/packageD/auction/auction/auction_good/auction_good.js b/packageD/auction/auction/auction_good/auction_good.js
new file mode 100644
index 0000000..eb0d049
--- /dev/null
+++ b/packageD/auction/auction/auction_good/auction_good.js
@@ -0,0 +1,913 @@
+// packageD/auction/auction/auction_good/auction_good.js
+var app = getApp();
+import utils from "../../../../utils/util.js";
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ showone: false,
+ showthr_Mun: "",
+ // bid: 200,
+ in_status: 1,
+ showphone: false,
+ goods_id: "",
+ id: "",
+ now: "",
+ // 海报
+ posterShow: false,
+ // 余额支付状态
+ isclick: true,
+ //计算后的倒计时
+ countDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ password: "",
+ setIntervalMth: '',
+ is_last_bidder: false,
+ isEnd:false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ now: String(Date.parse(new Date())).substring(0, 10),
+ });
+ if (options.scene) {
+ let scene = decodeURIComponent(options.scene);
+ console.log(scene);
+ if (scene) {
+ var info_arr = [];
+ info_arr = scene.split(",");
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split("=");
+ if (chil_arr[0] == "member_id") {
+ this.setData({
+ id: chil_arr[1],
+ });
+ }
+ if (chil_arr[0] == "id") {
+ this.setData({
+ goods_id: chil_arr[1],
+ });
+ }
+ }
+ }
+ }
+ if (options.id) {
+ this.setData({
+ goods_id: options.id,
+ });
+ }
+ if (options.member_id) {
+ this.setData({
+ id: options.member_id,
+ });
+ }
+ this.getStatus();
+ },
+ is_password(e) {
+ console.log(e.detail.value);
+ this.setData({
+ password: e.detail.value,
+ });
+ },
+ onChange(e) {
+ this.setData({
+ timeData: e.detail,
+ });
+ },
+ goto() {
+ wx.navigateBack({
+ delta: 1,
+ });
+ },
+ gotoCart() {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ },
+ gotoMY() {
+ wx.reLaunch({
+ url: "/packageG/member_v2/member_v2",
+ });
+ },
+ showthr_del() {
+ if (Number(Number(this.data.price) - Number(this.data.auction.mini_markup)) < this.data.price) {
+ wx.showToast({
+ title: "出价不能低于当前价格",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ this.setData({
+ price: Number(Number(this.data.price) - Number(this.data.auction.mini_markup)).toFixed(2),
+ });
+ },
+ toRecord() {
+ wx.navigateTo({
+ url: "/packageD/auction/auction/auction_record/auction_record",
+ });
+ },
+ showthr_add() {
+ this.setData({
+ price: Number(Number(this.data.price) + Number(this.data.auction.mini_markup)).toFixed(2),
+ });
+ },
+ isprice(e) {
+ console.log(e.detail.value);
+ this.setData({
+ showthr_Mun: e.detail.value,
+ });
+ console.log(this.data.showthr_Mun);
+ },
+ isCoverLayer_passwork() {
+ wx.showModal({
+ title: "提示",
+ content: "不输入店铺密码无法查看拍品详情",
+ success(res) {
+ if (res.confirm) {
+ console.log("用户点击确定");
+ wx.navigateBack({
+ delta: 1,
+ });
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ },
+ // 店铺密码确认
+ confirm() {
+ let json = {
+ art: "verifyPassword",
+ auction_id: this.data.id,
+ passwd: this.data.password,
+ };
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ showone: false,
+ });
+ that.getStatus();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ isCoverLayer() {
+ this.setData({
+ // showone: false,
+ showtwo: false,
+ showthr: false,
+ showphone: false,
+ });
+ },
+ celquxiao() {
+ this.setData({
+ // showone: false,
+ showtwo: false,
+ showphone: false,
+ });
+ },
+ gotoPay() {
+ console.log("去支付");
+ },
+ goMybtn() {
+ wx.navigateTo({
+ url: "/packageD/auction/auction-mine/my_index/my_index",
+ });
+ },
+ gomyshop(e) {
+ wx.navigateTo({
+ url: "/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop?id=" +
+ this.data.id,
+ });
+ },
+ //点击开始时的时间
+ // timestart: function (e) {
+ // var _this = this;
+ // _this.setData({
+ // timestart: e.timeStamp,
+ // });
+ // },
+
+ // //点击结束的时间
+ // timeend: function (e) {
+ // var _this = this;
+ // _this.setData({
+ // timeend: e.timeStamp,
+ // });
+ // },
+ // 保存图片
+ saveImg() {
+ wx.previewImage({
+ current: 'this.data.posterImg.image_url', // 当前显示图片的http链接
+ urls: [this.data.posterImg.image_url] // 需要预览的图片http链接列表
+ });
+ // var _this = this;
+ // var times = _this.data.timeend - _this.data.timestart;
+ // if (times > 300) {
+ // wx.getSetting({
+ // success(res) {
+ // if (!res.authSetting["scope.writePhotosAlbum"]) {
+ // wx.authorize({
+ // scope: "scope.writePhotosAlbum",
+ // success() {
+ // console.log("授权成功");
+ // },
+ // });
+ // }
+ // },
+ // });
+ // var imgSrc = this.data.posterImg.image_url;
+ // wx.downloadFile({
+ // url: imgSrc,
+ // success: function (res) {
+ // console.log(res);
+ // //图片保存到本地
+ // wx.saveImageToPhotosAlbum({
+ // filePath: res.tempFilePath,
+ // success: function (data) {
+ // wx.showToast({
+ // title: "保存成功",
+ // icon: "none",
+ // duration: 2000,
+ // });
+ // },
+ // fail: function (err) {
+ // console.log(err);
+ // if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
+ // console.log("当初用户拒绝,再次发起授权");
+ // wx.openSetting({
+ // success(settingdata) {
+ // if (settingdata.authSetting["scope.writePhotosAlbum"]) {
+ // wx.showToast({
+ // icon: "none",
+ // title: "获取权限成功,再次长按保存图片",
+ // duration: 1500,
+ // });
+ // } else {
+ // wx.showToast({
+ // icon: "none",
+ // title: "获取权限失败,保存图片需要用户授权",
+ // duration: 1500,
+ // });
+ // }
+ // },
+ // });
+ // }
+ // },
+ // complete(res) {
+ // console.log(res);
+ // },
+ // });
+ // },
+ // });
+ // }
+ },
+ // 立即出价
+ bid() {
+ console.log(this.data.auction.is_prepay == 0);
+ if (this.data.invite_mobile == 0) {
+ wx.navigateTo({
+ url: "/packageA/member/editmobile/editmobile",
+ });
+ } else if (this.data.auction.is_prepay == 0) {
+ // this.auction.is_prepay是否支付保证金
+ wx.showToast({
+ duration: 1000,
+ title: `需先支付${this.data.auction.prepayment}保证金方可出价`,
+ icon: "none",
+ });
+ this.getPayData();
+ } else {
+ this.setData({
+ showthr: true,
+ });
+ }
+ },
+ //获取支付类型参数
+ getPayData() {
+ this.actionSheetItems = [];
+ let json = {
+ goods_id: this.data.goods_id,
+ };
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.prepayment.page");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var response = resdata.data;
+ if (response.result == 1) {
+ let btnData = response.data.buttons;
+ that.setData({
+ btnData: btnData,
+ rewardPayshow: true,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ wx.hideLoading();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ payBtn(e) {
+ var type = e.currentTarget.dataset.value;
+ // var btn = e.currentTarget.dataset.btn;
+ if (type == 3 && !this.data.isclick) {
+ wx.showToast({
+ title: "余额不能重复支付",
+ icon: "none",
+ duration: 1000,
+ });
+ return;
+ }
+ let json = {
+ money: Number(this.data.auction.prepayment),
+ goods_id: Number(this.data.goods_id),
+ pay_way: Number(type),
+ };
+ wx.showLoading({
+ title: "支付中",
+ duration: 1000,
+ icon: "none",
+ });
+ var payParams={};
+ let urlStr = app.getNetAddresss("plugin.auction.api.prepayment.recharge");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ // this.rewardPayshow = false
+ this.setData({
+ rewardPayshow: false,
+ });
+ if (res.result == 1) {
+ switch (type) {
+ case 1: //微信
+ payParams = {
+ timeStamp: res.data.config.timestamp,
+ nonceStr: res.data.config.nonceStr,
+ package: res.data.config.package,
+ signType: res.data.config.signType,
+ paySign: res.data.config.paySign,
+ };
+ console.log('ssssss');
+ this.WXPay(payParams);
+ break;
+ case 55: //微信
+ payParams = {
+ timeStamp: res.data.config.timestamp,
+ nonceStr: res.data.config.nonceStr,
+ package: res.data.config.package,
+ signType: res.data.config.signType,
+ paySign: res.data.config.paySign,
+ };
+ console.log('ssssss');
+ this.WXPay(payParams);
+ break;
+ case 3: //余额
+ if (this.data.isclick) {
+ this.setData({
+ rewardPayshow: false,
+ isclick: false,
+ });
+ this.getData();
+ }
+ break;
+ }
+ wx.hideLoading();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ wx.hideLoading();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ WXPay: function (payParams) {
+ let that = this;
+ let urlStr = app.getNetAddresss("order.mini-app.index");
+ wx.requestPayment({
+ timeStamp: payParams.timeStamp,
+ nonceStr: payParams.nonceStr,
+ package: payParams.package,
+ signType: payParams.signType ? payParams.signType : "MD5",
+ paySign: payParams.paySign,
+ success: function (res) {
+ let json = {
+ formID: payParams.package.slice(10),
+ orderId: that.data.order_id,
+ };
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 0) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ } else {
+ wx.showToast({
+ title: '支付成功',
+ });
+ that.getData();
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ fail: function (res) {
+ wx.showToast({
+ title: "支付失败请稍后重试",
+ icon: "none",
+ duration: 2000,
+ success: function () {},
+ fail: function () {},
+ });
+ },
+ });
+ },
+ //获取时间-限时购
+ _timeCompare(begin) {
+ let beginTime = new Date(parseInt(begin) * 1000);
+ console.log(beginTime);
+ console.log(now >= beginTime);
+ let now = new Date();
+ if (now >= beginTime) {
+ this.setData({
+ isTime: true,
+ });
+ //开启倒计时
+ this._countDown();
+ } else {
+ this.setData({
+ isTime: false,
+ isBegTime: true,
+ begTimeStr: begin * 1000,
+ });
+ //开启距离开始倒计时
+ this.beginDown();
+ }
+ },
+ //倒计时
+ _countDown: function () {
+ let newTime = new Date().getTime();
+ let endTime = this.data.endTime;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt((time % (60 * 60 * 24)) / 3600);
+ let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
+ let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec),
+ };
+ } else {
+ //活动已结束,全部设置为'00'
+ obj = {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ };
+ }
+ this.setData({
+ countDownObj: obj,
+ });
+ if (endTime - newTime < 0) {
+ this.setData({
+ countDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ });
+ } else {
+ setTimeout(this._countDown.bind(this), 1000);
+ }
+ },
+ //倒计时
+ beginDown: function () {
+ let newTime = new Date().getTime();
+ let endTime = this.data.begTimeStr;
+ let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt((time % (60 * 60 * 24)) / 3600);
+ let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
+ let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
+ obj = {
+ day: this._timeFormat(day),
+ hou: this._timeFormat(hou),
+ min: this._timeFormat(min),
+ sec: this._timeFormat(sec),
+ };
+ } else {
+ //活动已结束,全部设置为'00'
+ this.setData({
+ isTime: true,
+ isBegTime: false,
+ });
+ obj = {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ };
+ }
+ this.setData({
+ beginDownObj: obj,
+ });
+ if (endTime - newTime < 0) {
+ this.setData({
+ isTime: true,
+ isBegTime: false,
+ });
+ this.setData({
+ beginDownObj: {
+ day: "00",
+ hou: "00",
+ min: "00",
+ sec: "00",
+ },
+ });
+ } else {
+ setTimeout(this.beginDown.bind(this), 1000);
+ }
+ },
+ //小于10的格式化函数
+ _timeFormat(param) {
+ //小于10的格式化函数
+ return param < 10 ? "0" + param : param;
+ },
+ // 一口价
+ toBuy(e) {
+ wx.navigateTo({
+ url: "/packageD/buy/myOrder_v2/myOrder_v2?goodsId=" +
+ this.data.goods_id +
+ "&tag=auction" +
+ "&total=1" +
+ "&auction_sn=" +
+ this.data.auction.acution_sn +
+ "&fixed_price=1",
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+ clearInterval(this.data.setIntervalMth);
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ // 价格弹窗的出价
+ bidTo() {
+ let json = {
+ goods_id: Number(this.data.goods_id),
+ price: Number(this.data.price),
+ };
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.bid.bid");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ duration: 1000,
+ icon: "none",
+ success() {
+ setTimeout(() => {
+ that.setData({
+ showthr: false,
+ });
+ that.getData();
+ }, 500);
+ },
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ // 海报
+ posterimgTap() {
+ this.setData({
+ posterShow: true,
+ });
+ this.postShow();
+ },
+ posterClose() {
+ this.setData({
+ posterShow: false,
+ });
+ },
+ posterClose_reward() {
+ this.setData({
+ rewardPayshow: false,
+ });
+ },
+ postShow() {
+ wx.showLoading({
+ title: "海报生成中",
+ });
+ let json = {
+ id: this.data.goods_id,
+ };
+ var that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.auction.api.goodsPoster.generateGoodsPoster"
+ );
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ posterImg: res.data,
+ });
+ wx.hideLoading();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ wx.hideLoading();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ toCollect() {
+ let json = {
+ art: "collectionShop",
+ auctioneer_id: this.data.id,
+ };
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getData();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getStatus() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ let json = {
+ member_id: that.data.id,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ status: res.data.getVerify.status,
+ is_verify: res.data.getVerify.is_verify,
+ });
+ if (that.data.is_verify == 0 && that.data.status == 1) {
+ that.setData({
+ showone: true,
+ });
+ } else {
+ that.setData({
+ is_verify: 1,
+ });
+ that.getData();
+ that.data.setIntervalMth = setInterval(() => {
+ console.log('进入倒计时');
+ that.getData(true);
+ }, 10000);
+ that.getInvite();
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getInvite() {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.member.isValidatePage");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ invite_mobile: res.data.invite_mobile,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ finished(e) {
+ this.getData();
+ },
+ finished_start(e) {
+ this.setData({
+ now: String(Date.parse(new Date())).substring(0, 10),
+ });
+ this.getData(false, '');
+ },
+ getData(bor = false, qekey) {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ let json = {
+ member_id: that.data.id,
+ goods_id: that.data.goods_id,
+ art: "goodsDetail",
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ now: String(Date.parse(new Date())).substring(0, 10),
+ auction: res.data.goodsDetail.auction,
+ price: Number(res.data.goodsDetail.auction.now_price).toFixed(2),
+ startTime: utils.formatTimeTwo(
+ res.data.goodsDetail.auction.start_shooting,
+ "Y-M-D h:m:s"
+ ),
+ endTime: utils.formatTimeTwo(
+ res.data.goodsDetail.auction.end_shooting,
+ "Y-M-D h:m:s"
+ ),
+ record: res.data.goodsDetail.auction.bid_record.data.splice(0, 5),
+ record_length: res.data.goodsDetail.auction.bid_record.total
+ });
+ if(res.data.goodsDetail.auction && res.data.goodsDetail.auction.auc_status == '-1'){
+ console.log(res.data.goodsDetail.auction.auc_status,that.data.setIntervalMth)
+ clearInterval(that.data.setIntervalMth);
+ that.setData({
+ isEnd:true
+ })
+ }
+ if (res.data.goodsDetail.auction.bid_record && res.data.goodsDetail.auction.bid_record.is_last_bidder) {
+ that.setData({
+ is_last_bidder: res.data.goodsDetail.auction.bid_record.is_last_bidder
+ });
+ }
+ if (!bor) {
+ that.setData({
+ auctioneer: res.data.goodsDetail.auctioneer,
+ });
+ if (qekey == 'start') {
+ if (that.data.is_last_bidder) {
+ wx.showModal({
+ content: '您是本场出价最高者,3分钟后自动生成订单,请到我的—待确认栏目里确认订单。',
+ duration: 1500,
+ showCancel: false,
+ success: function (e) {
+ that.getData();
+ }
+ });
+ }
+ }
+ }
+ that._timeCompare(that.data.auction.end_shooting);
+ that._timeCompare(that.data.auction.start_shooting);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_good/auction_good.json b/packageD/auction/auction/auction_good/auction_good.json
new file mode 100644
index 0000000..03f298b
--- /dev/null
+++ b/packageD/auction/auction/auction_good/auction_good.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "拍卖详情",
+ "usingComponents": {
+ "van-icon": "../../../../dist/icon/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-count-down":"/dist/count-down/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_good/auction_good.wxml b/packageD/auction/auction/auction_good/auction_good.wxml
new file mode 100644
index 0000000..5880bc2
--- /dev/null
+++ b/packageD/auction/auction/auction_good/auction_good.wxml
@@ -0,0 +1,321 @@
+
+
+ var inOf = function (val) { if (val) { return val.toString().slice(0,1) }};
+ module.exports.inOf = inOf;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 本场拍卖活动已结束
+
+
+
+
+ 距离开拍时间
+
+
+ {{ timeData.days }}
+ 天
+ {{timeData.hours}}
+ 时
+ {{timeData.minutes}}
+ 分
+ {{timeData.seconds}}
+ 秒
+ 0{{ util.inOf(timeData.milliseconds)}}
+
+
+
+
+
+
+ 正在进行
+
+
+
+ {{ timeData.days }}
+ 天
+ {{timeData.hours < 10 ? '0'+timeData.hours : timeData.hours}}
+ 时
+ {{timeData.minutes < 10 ? '0'+timeData.minutes : timeData.minutes}}
+ 分
+ {{ timeData.seconds < 10 ? '0'+timeData.seconds : timeData.seconds }}
+ 秒
+ 0{{ util.inOf(timeData.milliseconds)}}
+
+
+
+
+
+
+
+
+ 起拍价
+
+ ¥{{auction.start_price}}
+
+ 原价 ¥{{auction.market_price}}
+
+
+
+
+
+
+
+
+
+
+ {{auction.title}}
+
+ 浏览{{auction.browse_times}}次
+ 参拍{{auction.participants_num}}人
+
+
+
+
+
+ 拍卖记录
+ ({{record.length}})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.has_one_member.nickname}}
+
+
+ 当前最高
+ 出局
+ {{item.created_at}}
+
+
+ ¥{{item.price}}
+ {{item.number}}次出价
+ {{item.number}}次出价
+
+
+
+
+
+
+
+
+
+ 起拍价
+ ¥{{auction.start_price}}
+
+
+ 加一口
+ ¥{{auction.mini_markup}}
+
+
+
+
+ 保证金
+ ¥{{auction.prepayment}}
+
+
+ 保留价
+ ¥{{auction.mini_deal}}
+
+
+
+
+ 开拍时间
+ {{startTime}}
+
+
+ 结束时间
+ {{endTime}}
+
+
+
+ 周期延时时间:{{auction.delay_plan.delay_cycle_minute}}分钟/次
+
+
+
+ 一口价
+ ¥{{auction.fixed_price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{auctioneer.nick_name || ''}}
+
+
+ {{auctioneer.type_status}}
+ 拍品:{{auctioneer.lot_num || 0}}
+
+
+
+
+ 收藏
+ 已收藏
+ 进店逛逛
+
+
+
+
+ 拍品描述
+ {{auction.describe || '暂无描述'}}
+
+
+ 拍卖详情
+
+
+
+
+ 暂无详情
+
+
+
+
+
+
+
+
+ 我的
+
+
+
+ 店铺
+
+
+ 立即出价
+ ¥({{auction.prepayment}})
+
+
+ 立即出价
+
+ 一口价
+
+ 一口价
+
+
+
+
+
+
+ 请输入店铺密码
+ 密码
+
+ 确认
+
+
+
+
+
+ 商家设置了出价保护,本次出价需缴纳保证金,如违约,保证金将扣除并赔偿给卖家 。
+
+ 取消
+ 去支付
+
+
+
+
+
+
+ 当前价格:¥{{auction.now_price}}
+
+ -
+
+
+
+ +
+
+ 您将出价{{price}}元
+ 出价
+
+
+
+
+
+ 参加拍卖需绑定手机
+
+ 取消
+ 去绑定
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/auction/auction/auction_good/auction_good.wxss b/packageD/auction/auction/auction_good/auction_good.wxss
new file mode 100644
index 0000000..db4dbd5
--- /dev/null
+++ b/packageD/auction/auction/auction_good/auction_good.wxss
@@ -0,0 +1,879 @@
+/* packageD/auction/auction/auction_good/auction_good.wxss */
+
+.goodsdetail {
+ padding-bottom: 120rpx;
+
+ /* transition: all 0.3s; */
+}
+
+.goodsdetail .ithumb {
+ position: relative;
+ overflow: hidden;
+}
+
+.goodsdetail .ithumb swiper {
+ height: 675rpx;
+}
+
+.goodsdetail .ithumb image {
+ width: 100%;
+ height: 100%;
+
+ /* background: yellowgreen; */
+}
+
+/* 拍卖已结束的开始时间 */
+.auction_time_end {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 81rpx;
+
+ /* background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/pm_time_bg@2x.png'); */
+
+ /* background-position: 0rpx;
+ background-repeat: no-repeat;
+ background-size: cover; */
+ background: #999;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ color: #fff;
+}
+
+.auction_time_left_end {
+ margin-left: 28rpx;
+}
+
+/* 距离开始时间 */
+.auction_time {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 81rpx;
+ background: #b52149;
+ background-position: 0rpx;
+ background-repeat: no-repeat;
+ background-size: cover;
+ display: flex;
+ align-items: center;
+ color: #fff;
+}
+
+.auction_time_left {
+ margin-left: 28rpx;
+ margin-right: 18rpx;
+}
+
+.auction_time_left icon {
+ margin-top: -15rpx;
+}
+
+.auction_time_right {
+ display: flex;
+ align-items: center;
+ margin-right: 48rpx;
+}
+
+.auction_time_right .munbox {
+ line-height: 46rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.auction_time_right .muntext {
+ line-height: 46rpx;
+ margin: 0 5rpx;
+ color: #fff;
+}
+
+/* 价格介绍 */
+
+.goodsInfo {
+ background: #fff;
+}
+
+.goodsInfo .infoBox {
+ padding: 24rpx 21rpx 33rpx 23rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.goodsInfo .infoBox .infoBox_fir {
+ display: flex;
+ justify-content: space-between;
+}
+
+.infoBox_fir_left {
+ flex: 1;
+}
+
+.infoBox_fir .infoBox_fir_left .fir_price {
+ font-size: 54rpx;
+ color: #ed0606;
+ display: inline-block;
+}
+
+.infoBox_fir .infoBox_fir_left .fir_price .des {
+ font-size: 28rpx;
+ color: #ed0606;
+ display: inline-block;
+}
+
+.infoBox_fir .infoBox_fir_left .fir_price .des_end {
+ font-size: 28rpx;
+ color: #999;
+ display: inline-block;
+}
+
+.infoBox_fir .infoBox_fir_left .fir {
+ display: inline-block;
+ font-size: 28rpx;
+ color: #ed0606;
+}
+
+.infoBox_fir .infoBox_fir_left .fir_end {
+ display: inline-block;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.infoBox_fir .infoBox_fir_left .cel_price {
+ font-size: 24rpx;
+ color: #999;
+ display: inline-block;
+ margin-left: 13rpx;
+}
+
+.infoBox_fir_right {
+ display: flex;
+ align-items: center;
+}
+
+.infoBox_two {
+ font-size: 32rpx;
+ line-height: 48rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.infoBox_thr {
+ display: flex;
+ justify-content: space-between;
+ font-size: 24rpx;
+ color: #999;
+ margin-top: 39rpx;
+}
+
+/* 拍卖记录 */
+
+.goRecord {
+ background: #fff;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-top: 17rpx;
+
+ /* margin-bottom: 16rpx; */
+ padding: 28rpx 0;
+ padding-bottom: 18rpx;
+}
+
+.goRecord .goRecord_left {
+ font-size: 28rpx;
+ color: #333;
+ display: flex;
+ align-items: center;
+ margin-left: 30rpx;
+}
+
+.goRecord .goRecord_right {
+ margin-right: 24rpx;
+}
+
+/* 拍卖记录 */
+
+.jilu {
+ margin-bottom: 20rpx;
+
+ /* padding-bottom: 35rpx; */
+ background: #fff;
+}
+
+.jilu_list {
+ padding-left: 30rpx;
+ padding-right: 32rpx;
+ display: flex;
+ justify-content: space-between;
+ background: #fff;
+ align-items: center;
+ padding-top: 18rpx;
+}
+
+.jilu .jilu_list:nth-child(2) .jilu_status {
+ font-size: 24rpx;
+ color: #ff2c29;
+}
+
+.jilu_image {
+ width: 48rpx;
+ height: 48rpx;
+ border-radius: 50%;
+ margin-right: 12rpx;
+}
+
+.jilu_image image {
+ width: 48rpx;
+ height: 48rpx;
+ border-radius: 50%;
+}
+
+.jilu_name {
+ font-size: 24rpx;
+ color: #000;
+}
+
+.jilu_status {
+ font-size: 24rpx;
+ color: #999;
+ padding: 0 20rpx;
+}
+
+.jilu_days {
+ font-size: 24rpx;
+ color: #999;
+}
+
+.jilu_time {
+ font-size: 24rpx;
+ color: #999;
+ margin-left: 10rpx;
+}
+
+.jilu_price {
+ font-size: 24rpx;
+ color: #999;
+ margin-left: 41rpx;
+}
+
+.jilu_num {
+ font-size: 24rpx;
+ color: #999;
+ margin-left: 38rpx;
+}
+
+/* 起拍价 */
+
+.infoDetail {
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+}
+
+.infoDetail .detail_list {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 31rpx;
+ padding-bottom: 26rpx;
+}
+
+.detail_list .left {
+ display: flex;
+ width: 50%;
+ text-align: left;
+ padding-left: 24rpx;
+ align-items: center;
+}
+
+.detail_list .left .text {
+ font-size: 28rpx;
+ margin-right: 17rpx;
+ color: #999;
+}
+
+.detail_list .left .mun {
+ font-size: 28rpx;
+ margin-right: 17rpx;
+ color: #000;
+}
+
+.detail_list .right .text {
+ font-size: 28rpx;
+ margin-right: 17rpx;
+ color: #999;
+}
+
+.detail_list .right .mun {
+ font-size: 28rpx;
+ margin-right: 17rpx;
+ color: #000;
+}
+
+.detail_list .right {
+ display: flex;
+ width: 50%;
+ text-align: left;
+ align-items: center;
+}
+
+/* 活动参数动态margin */
+
+.resa {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.ase {
+ margin-bottom: 0;
+}
+
+/* 店铺信息 */
+
+.shopList {
+ background: #fff;
+ margin-top: 20rpx;
+}
+
+.shopList .shopList_box {
+ padding: 32rpx 25rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.shopList .shopList_box .img {
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 10rpx;
+ background: wheat;
+}
+
+.shopList .shopList_box .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.shopList .shopList_box .shopName {
+ display: flex;
+ flex-direction: column;
+ margin-left: 29rpx;
+}
+
+.shopList .shopList_box .shopName .shopName_bot {
+ display: flex;
+ align-items: center;
+}
+
+.shopList .shopList_box .shouc {
+ width: 89rpx;
+ height: 38rpx;
+ border-radius: 19rpx;
+ border: solid 1rpx #ff2c29;
+ font-size: 24rpx;
+ color: #ff2c29;
+ text-align: center;
+ line-height: 38rpx;
+ margin-right: 32rpx;
+}
+
+.shopList .shopList_box .tapIn {
+ width: 123rpx;
+ height: 38rpx;
+ border-radius: 19rpx;
+
+ /* border: solid 1rpx #ff2c29; */
+ background: #ff2c29;
+ font-size: 24rpx;
+ color: #fff;
+ text-align: center;
+ line-height: 38rpx;
+}
+
+.nat {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.ant {
+ display: flex;
+ align-items: center;
+}
+
+/* 底部悬浮 */
+
+.bottom_btn {
+ width: 100%;
+ height: 98rpx;
+ position: fixed;
+ bottom: 0;
+ background: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+}
+
+.mybtn {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.is_come_one {
+ /* padding: 0 20rpx; */
+ background: #ff2c29;
+ border-radius: 32rpx;
+ color: #fff;
+ height: 68rpx;
+ width: 200rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.is_come {
+ /* width: 420rpx; */
+ padding: 0 80rpx;
+ height: 68rpx;
+ background-image: linear-gradient(90deg, #ff9001 0%, #ff4e00 100%), linear-gradient(#ff6c00, #ff6c00);
+ background-blend-mode: normal, normal;
+ border-radius: 34rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+}
+
+.is_come_end {
+ /* width: 420rpx; */
+ padding: 0 100rpx;
+ height: 68rpx;
+
+ /* background-image: linear-gradient(90deg, #ff9001 0%, #ff4e00 100%),
+ linear-gradient(#ff6c00, #ff6c00);
+ background-blend-mode: normal, normal; */
+ background-color: #999;
+ border-radius: 34rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+}
+
+/* .ismybtn {
+}
+
+.runs {
+} */
+
+.particulars {
+ width: 100%;
+ background: #fff;
+ margin-top: 20rpx;
+ overflow: hidden;
+}
+
+.particulars_titile {
+ margin: 30rpx 25rpx;
+}
+
+.particulars_contens {
+ margin: 0 25rpx;
+}
+
+/* 店铺密码弹出框 */
+
+.showbtn {
+ height: 517rpx;
+ width: 100%;
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+ align-content: center;
+ border-radius: 20rpx 20rpx 0rpx 0rpx;
+}
+
+.one .van-popup {
+ border-radius: 20rpx 20rpx 0rpx 0rpx;
+}
+
+.showbtn_txt {
+ text-align: center;
+ font-size: 36rpx;
+ color: #000;
+ padding-top: 43rpx;
+}
+
+.showbtn_mima {
+ font-size: 28rpx;
+ color: #000;
+ margin-left: 29rpx;
+ margin-top: 103rpx;
+}
+
+.showbtn input {
+ border-bottom: 1rpx solid #ececec;
+ margin: 0 25rpx;
+ margin-top: 20rpx;
+ margin-bottom: 95rpx;
+}
+
+.is_sure {
+ width: 700rpx;
+ height: 90rpx;
+ background-color: #ff2c29;
+ border-radius: 45rpx;
+ text-align: center;
+ line-height: 90rpx;
+ color: #fff;
+ margin: 0 auto;
+}
+
+.two .van-popup {
+ border-radius: 31rpx;
+}
+
+.showtwo_btn {
+ width: 599rpx;
+ height: 309rpx;
+ background-color: #fff;
+ border-radius: 31rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.showtwo_btn .title {
+ padding-top: 64rpx;
+ padding-left: 66rpx;
+ padding-right: 67rpx;
+ padding-bottom: 51rpx;
+ font-size: 36rpx;
+ color: #000;
+ line-height: 48rpx;
+ border-bottom: 1rpx solid #e2e2e2;
+}
+
+.showtwo_btn .btn_bottom {
+ flex: 1;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.showtwo_btn .btn_bottom view {
+ height: 100%;
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 36rpx;
+}
+
+.showtwo_btn .btn_bottom view:first-child {
+ border-right: 1rpx solid #e2e2e2;
+}
+
+.showtwo_btn .btn_bottom view:last-child {
+ font-size: 36rpx;
+ color: #ff2c29;
+}
+
+/* 支付弹窗 */
+
+/* .showthr_btn {} */
+
+.showthr_price {
+ display: flex;
+ align-items: center;
+
+ /* margin-top: 138rpx; */
+ margin: 0 auto;
+ margin-top: 138rpx;
+ justify-content: center;
+}
+
+.showthr_top {
+ font-size: 28rpx;
+ color: #000;
+ margin-top: 41rpx;
+ margin-left: 72rpx;
+}
+
+.showthr_txt {
+ font-size: 28rpx;
+ color: #999;
+ text-align: center;
+}
+
+.showthr_cjbtn {
+ width: 700rpx;
+ height: 90rpx;
+ background-color: #ff2c29;
+ border-radius: 45rpx;
+ text-align: center;
+ line-height: 90rpx;
+ margin: 0 auto;
+ font-size: 36rpx;
+ color: #fff;
+ margin-bottom: 73rpx;
+ margin-top: 50rpx;
+}
+
+.showthr_cjbtn_off {
+ width: 700rpx;
+ height: 90rpx;
+ background-color: #999;
+ border-radius: 45rpx;
+ text-align: center;
+ line-height: 90rpx;
+ margin: 0 auto;
+ font-size: 36rpx;
+ color: #fff;
+ margin-bottom: 73rpx;
+ margin-top: 50rpx;
+}
+
+.showthr_inp {
+ width: 200rpx;
+ text-align: center;
+}
+
+.showthr_add {
+ font-size: 40rpx;
+ padding: 0 20rpx;
+}
+
+.showthr_del {
+ font-size: 40rpx;
+ padding: 0 20rpx;
+}
+
+/* 手机窗口 */
+.showtwo_btns {
+ width: 599rpx;
+
+ /* height: 309rpx; */
+ background-color: #fff;
+ border-radius: 31rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.showtwo_btns .title {
+ padding-top: 64rpx;
+ padding-left: 66rpx;
+ padding-right: 67rpx;
+ padding-bottom: 51rpx;
+ font-size: 36rpx;
+ color: #000;
+
+ /* line-height: 196rpx; */
+ border-bottom: 1rpx solid #e2e2e2;
+
+ /* height: 196rpx; */
+}
+
+.showtwo_btns .btn_bottom {
+ /* flex: 1; */
+ height: 112rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.showtwo_btns .btn_bottom view {
+ height: 100%;
+ width: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 36rpx;
+}
+
+.showtwo_btns .btn_bottom view:first-child {
+ border-right: 1rpx solid #e2e2e2;
+}
+
+.showtwo_btns .btn_bottom view:last-child {
+ font-size: 36rpx;
+ color: #ff2c29;
+}
+
+/* 海报 */
+.code_box {
+ width: 670rpx;
+
+ /* height: 970rpx; */
+ position: relative;
+}
+
+.code_box image {
+ width: 100%;
+ border-radius: 12rpx;
+}
+
+.code_box .icon_close {
+ position: absolute;
+ top: 8rpx;
+ right: 0;
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.code_box .icon_close icon {
+ line-height: 80rpx;
+ font-size: 36rpx;
+ color: #999;
+}
+
+/* =========== */
+
+/* 支付弹窗 */
+.reward {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+}
+
+.rewardLine {
+ height: 90rpx;
+ line-height: 90rpx;
+ color: #333;
+ background: #fff;
+ border-bottom: 2rpx solid #eee;
+ font-size: 32rpx;
+ text-align: center;
+}
+
+/* ---------------------------- */
+#hoid {
+ padding: 10rpx;
+ width: 51.2rpx;
+ position: fixed;
+ z-index: 2;
+ height: 72rpx;
+ top: 0;
+}
+
+#cart {
+ right: 0;
+ padding: 10rpx;
+ width: 51.2rpx;
+ position: fixed;
+ z-index: 2;
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ top: 0;
+}
+
+#member {
+ right: 64rpx;
+ padding: 10rpx;
+ width: 51.2rpx;
+ position: fixed;
+ z-index: 2;
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ top: 0;
+}
+
+#back {
+ width: 51.2rpx;
+ height: 51.2rpx;
+ border-radius: 100%;
+ color: #fff;
+ background-color: rgba(0, 0, 0, 0.4);
+ text-indent: 0;
+ line-height: 55rpx;
+ overflow: hidden;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+/* 拍卖记录 */
+.content {
+ background: #fff;
+ padding: 0 24rpx;
+}
+
+.content .liu {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding-top: 32rpx;
+ color: #ff2c29;
+}
+
+.content .record-list {
+ margin-top: 32rpx;
+ background: #fff;
+ padding: 0 0.9375rem 0.5rem 0.9375rem;
+}
+
+.content .record-list .list {
+ margin-bottom: 0.5rem;
+ padding-bottom: 0.5rem;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ border-bottom: 1px solid #eee;
+}
+
+.content .record-list .list .item-top,
+.content .record-list .list .item-bottom {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ font-size: 12px;
+}
+
+.content .record-list .list .item-top {
+ padding-bottom: 0.5rem;
+}
+
+.content .record-list .list .item-bottom {
+ justify-content: space-between;
+}
+
+.content .record-list .list .name {
+ flex: 0 0 8rem;
+ align-items: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: flex;
+}
+
+.content .record-list .list .name .avator {
+ width: 48rpx;
+ height: 48rpx;
+ border-radius: 50%;
+ margin-right: 8rpx;
+ display: flex;
+}
+
+.content .record-list .list .name .avator image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.content .record-list .list .name .nick {
+ font-size: 12px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ display: flex;
+ flex: 1;
+}
+
+/* ----------------------------- */
diff --git a/packageD/auction/auction/auction_index/auction_index.js b/packageD/auction/auction/auction_index/auction_index.js
new file mode 100644
index 0000000..5e1dac1
--- /dev/null
+++ b/packageD/auction/auction/auction_index/auction_index.js
@@ -0,0 +1,228 @@
+// packageD/auction/auction/auction_index/auction_index.js
+var app = getApp();
+import utils from '../../../../utils/util.js';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ page: 1
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getdata();
+ this.getNew();
+ },
+ tolink(e){
+ let urls = e.currentTarget.dataset.item.small_url;
+ wx.navigateTo({
+ url: urls,
+ });
+ },
+ goMy(){
+ wx.navigateTo({
+ url: '/packageD/auction/auction-mine/my_index/my_index',
+ });
+ },
+ gosearch() {
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_search/auction_search',
+ });
+ },
+ toMore(e) {
+ let is_id = e.currentTarget.dataset.is_recommend;
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_more/auction_more?is_recommend=' + is_id,
+ });
+ },
+ toMoreNew(e) {
+ let is_id = e.currentTarget.dataset.is_new;
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_more/auction_more?is_new=' + is_id,
+ });
+ },
+ toDetail(e){
+ let id = e.currentTarget.dataset.id.goods_id;
+ let member_id = e.currentTarget.dataset.id.member_id?e.currentTarget.dataset.id.member_id:e.currentTarget.dataset.id.auctioneer_id;
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_good/auction_good?id='+id+'&member_id='+member_id,
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ // this.getNewMore()
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getNew() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ keyword: '',
+ status: 1,
+ auc_status: '',
+ is_new: 1,
+ is_recommend: '',
+ auctioneer_id: '',
+ art: 'getSearch',
+ page: this.data.page,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ for(let i = 0;i= this.data.last_page) {
+ wx.showToast({
+ title: '没有更多',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ } else {
+ let loadpage = that.data.page + 1;
+ that.setData({
+ page: loadpage
+ });
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ keyword: '',
+ status: 1,
+ auc_status: '',
+ is_new: 1,
+ is_recommend: '',
+ auctioneer_id: '',
+ art: 'getSearch',
+ page: this.data.page,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ datas: that.data.datas.concat(res.data.getSearch.data),
+ current_page: res.data.getSearch.current_page,
+ last_page: res.data.getSearch.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+});
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_index/auction_index.json b/packageD/auction/auction/auction_index/auction_index.json
new file mode 100644
index 0000000..a860429
--- /dev/null
+++ b/packageD/auction/auction/auction_index/auction_index.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "首页",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_index/auction_index.wxml b/packageD/auction/auction/auction_index/auction_index.wxml
new file mode 100644
index 0000000..97bf300
--- /dev/null
+++ b/packageD/auction/auction/auction_index/auction_index.wxml
@@ -0,0 +1,71 @@
+
+
+ 拍卖
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 推荐商品
+ 更多
+
+
+
+
+
+ {{item.end_shooting}}结束
+
+
+ {{item.title}}
+
+ 起拍价
+ ¥
+ {{item.start_price}}
+
+
+
+
+
+
+
+ 最新拍品
+ 更多
+
+
+
+
+
+
+ {{item.end_shooting}}结束
+
+
+ {{item.title}}
+
+ 起拍价
+ ¥
+ {{item.start_price}}
+
+
+
+
+
+没有更多
+点击加载更多
+
+
+ 我的
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_index/auction_index.wxss b/packageD/auction/auction/auction_index/auction_index.wxss
new file mode 100644
index 0000000..d807016
--- /dev/null
+++ b/packageD/auction/auction/auction_index/auction_index.wxss
@@ -0,0 +1,239 @@
+/* packageD/auction/auction/auction_index/auction_index.wxss */
+page {
+ background: #fff;
+}
+
+.heard_top {
+ padding-left: 40rpx;
+ padding-right: 38rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background: #fff;
+ padding-bottom: 24rpx;
+}
+
+.heard_top .heard_right {
+ width: 410rpx;
+ height: 60rpx;
+ border-radius: 30rpx;
+ display: flex;
+ align-items: center;
+ background: #f8f8f8;
+}
+
+.heard_top .heard_right icon {
+ color: #c9c9c9;
+ margin-left: 15rpx;
+ font-size: 40rpx;
+}
+
+.heard_top .heard_right input {
+ margin-left: 27rpx;
+ flex: 1;
+}
+
+.heard_top .heard_lefr {
+ font-size: 36rpx;
+ color: #000;
+}
+
+.select_box {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ background: red;
+ width: 187rpx;
+ display: flex;
+ flex-wrap: wrap;
+ transition: 1s;
+}
+
+/* 轮播 */
+.atlas {
+ padding: 0 25rpx;
+ background-color: #fff;
+ padding-bottom: 37rpx;
+}
+
+.atlas_box {
+ border-radius: 19rpx;
+ width: 700rpx;
+
+ /* height: 320rpx; */
+
+ /* background: yellowgreen; */
+}
+
+.atlas_box image {
+ width: 100%;
+ height: 100%;
+}
+
+/* 商品 */
+.goodsList {
+ margin: 0 24rpx;
+ padding-bottom: 45rpx;
+}
+
+.goods_top {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 49rpx;
+}
+
+.goods_top view:first-child {
+ font-size: 42rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+}
+
+.goods_top view:last-child {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #999;
+}
+
+.goodsList .goods_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.goodsList .conten_box {
+ width: 340rpx;
+ height: 501rpx;
+ border-radius: 10rpx;
+ display: flex;
+ flex-direction: column;
+ margin-bottom: 19rpx;
+
+ /* box-shadow: #f5f5f5 5rpx 10rpx 8rpx 0rpx; */
+ box-shadow: 0 2rpx 10rpx 4rpx rgba(0, 0, 0, 0.08);
+}
+
+.goodsList .conten_box:nth-child(2n-1) {
+ margin-right: 22rpx;
+}
+
+.goodsList .conten_box .conten_img {
+ width: 100%;
+ height: 340rpx;
+
+ /* background: yellowgreen; */
+ border-radius: 10rpx 10rpx 0 0;
+ position: relative;
+}
+
+.pos_box {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ /* width: 206rpx; */
+ height: 48rpx;
+ background-image:
+ linear-gradient(
+ 270deg,
+ #ff6333 0%,
+ #ff2c29 100%
+ ),
+ linear-gradient(
+ #fe8a02,
+ #fe8a02
+ );
+ background-blend-mode:
+ normal,
+ normal;
+ border-radius: 10rpx 0rpx 10rpx 0rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 24rpx;
+ color: #fff;
+ padding: 0 9rpx;
+}
+
+.goodsList .conten_box .conten_img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0 0;
+}
+
+.goodsList .conten_box .conten_detail {
+ flex: 1;
+
+ /* background: yellow; */
+ border-radius: 10rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ padding-left: 14rpx;
+ padding-right: 18rpx;
+ padding-top: 12rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_price {
+ /* display: flex;
+ align-items: center; */
+ font-size: 22rpx;
+ color: #000;
+ padding-left: 17rpx;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.dmon {
+ font-size: 22rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
+
+.money {
+ font-size: 32rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
+
+/* 悬浮 */
+.myBtn {
+ position: fixed;
+ top: 1000rpx;
+ right: 31rpx;
+ width: 80rpx;
+ height: 80rpx;
+ background-color: #ff2c29;
+ box-shadow: 0rpx 0rpx 5rpx 0rpx rgba(237, 11, 11, 0.23);
+ border: solid 1rpx #f51f27;
+ border-radius: 50%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+/* 加载更多 */
+.loadingbox {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 28rpx;
+ color: #999;
+ padding-bottom: 72rpx;
+}
+
+swiper {
+ /* height: 400px; */
+}
diff --git a/packageD/auction/auction/auction_more/auction_more.js b/packageD/auction/auction/auction_more/auction_more.js
new file mode 100644
index 0000000..95b7269
--- /dev/null
+++ b/packageD/auction/auction/auction_more/auction_more.js
@@ -0,0 +1,235 @@
+// packageD/auction/auction/auction_more/auction_more.js
+var app = getApp();
+import utils from '../../../../utils/util.js';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ select: false,
+ is_name: 'Auction',
+ keyword: '',
+ status: '1',
+ page: 1,
+ current_page: 1,
+ last_page: 1,
+ is_new: '',
+ is_recommend: '',
+ auctioneer_id: '',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ console.log(options);
+ if(options.is_recommend){
+ this.setData({
+ is_recommend:options.is_recommend
+ });
+ wx.setNavigationBarTitle({
+ title: '推荐拍品',
+ });
+ }
+ if(options.is_new){
+ this.setData({
+ is_new:options.is_new
+ });
+ wx.setNavigationBarTitle({
+ title: '最新拍品',
+ });
+ }
+ this.getSearch();
+ },
+ toDetail(e){
+ let id = e.currentTarget.dataset.id.goods_id;
+ let member_id = e.currentTarget.dataset.id.member_id?e.currentTarget.dataset.id.member_id:e.currentTarget.dataset.id.auctioneer_id;
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_good/auction_good?id='+id+'&member_id='+member_id,
+ });
+ },
+ gosearch(){
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_search/auction_search',
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if(this.data.current_page >= this.data.last_page){
+ wx.showToast({
+ title: '没有更多了',
+ icon:'none',
+ duration:1000
+ });
+ }else{
+ let pagesa = this.data.page+1;
+ this.setData({
+ page:pagesa
+ });
+ this.getNew();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getSearch() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ keyword: that.data.keyword,
+ status: that.data.status,
+ auc_status: '',
+ is_new: that.data.is_new,
+ is_recommend: that.data.is_recommend,
+ auctioneer_id: '',
+ art: 'getSearch',
+ page: this.data.page,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.getSearch.data.length == 0) {
+ if (that.data.status == 1) {
+ wx.showToast({
+ title: '没有相关拍品',
+ icon: 'none',
+ duration: 1000
+ });
+ } else if (that.data.status == 2) {
+ wx.showToast({
+ title: '没有相关拍卖官',
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ that.setData({
+ datas: []
+ });
+ return;
+ }
+ for (let i = 0; i < res.data.getSearch.data.length; i++) {
+ res.data.getSearch.data[i].end_shooting = utils.formatTimeTwo(res.data.getSearch.data[i].end_shooting, 'Y-M-D h:m:s');
+ }
+ that.setData({
+ datas: res.data.getSearch.data,
+ current_page: res.data.getSearch.current_page,
+ last_page: res.data.getSearch.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getNew() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ keyword: that.data.keyword,
+ status: that.data.status,
+ auc_status: '',
+ is_new: that.data.is_new,
+ is_recommend: that.data.is_recommend,
+ auctioneer_id: '',
+ art: 'getSearch',
+ page: this.data.page,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.getSearch.data.length == 0) {
+ if (that.data.status == 1) {
+ wx.showToast({
+ title: '没有相关拍品',
+ icon: 'none',
+ duration: 1000
+ });
+ } else if (that.data.status == 2) {
+ wx.showToast({
+ title: '没有相关拍卖官',
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ that.setData({
+ datas: []
+ });
+ return;
+ }
+ for (let i = 0; i < res.data.getSearch.data.length; i++) {
+ res.data.getSearch.data[i].end_shooting = utils.formatTimeTwo(res.data.getSearch.data[i].end_shooting, 'Y-M-D h:m:s');
+ }
+ that.setData({
+ datas: this.data.datas.concat(res.data.getSearch.data),
+ current_page: res.data.getSearch.current_page,
+ last_page: res.data.getSearch.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_more/auction_more.json b/packageD/auction/auction/auction_more/auction_more.json
new file mode 100644
index 0000000..169b570
--- /dev/null
+++ b/packageD/auction/auction/auction_more/auction_more.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "推荐拍品",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_more/auction_more.wxml b/packageD/auction/auction/auction_more/auction_more.wxml
new file mode 100644
index 0000000..937856b
--- /dev/null
+++ b/packageD/auction/auction/auction_more/auction_more.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.end_shooting?item.end_shooting:''}}结束
+
+
+ {{item.title}}
+
+ 起拍价
+ ¥
+ {{item.start_price?item.start_price:0}}
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_more/auction_more.wxss b/packageD/auction/auction/auction_more/auction_more.wxss
new file mode 100644
index 0000000..8853f4a
--- /dev/null
+++ b/packageD/auction/auction/auction_more/auction_more.wxss
@@ -0,0 +1,162 @@
+/* packageD/auction/auction/auction_more/auction_more.wxss */
+page {
+ background-color: #fff;
+ height: 100vh;
+}
+
+.content {
+ padding: 0 0.75rem;
+ background-color: #fff;
+}
+
+.content .input {
+ width: 16.8125rem;
+ height: 1.875rem;
+ background-color: #f8f8f8;
+ border-radius: 0.9375rem;
+ margin: 0 auto;
+ margin-top: 0.75rem;
+ margin-bottom: 0.75rem;
+ display: flex;
+ align-items: center;
+}
+
+.content .input icon {
+ color: #c9c9c9;
+ margin-right: 0.75rem;
+ margin-left: 0.75rem;
+}
+
+.content .input input {
+ outline: none;
+ border: none;
+ color: #c9c9c9;
+ font-size: 12px;
+}
+
+/* 商品 */
+
+.goodsList {
+ margin: 0 24rpx;
+ padding-bottom: 45rpx;
+}
+
+.goods_top {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 49rpx;
+}
+
+.goods_top view:first-child {
+ font-size: 42rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+}
+
+.goods_top view:last-child {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #999;
+}
+
+.goodsList .goods_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.goodsList .conten_box {
+ width: 340rpx;
+ height: 501rpx;
+ border-radius: 10rpx;
+ display: flex;
+ flex-direction: column;
+ margin-bottom: 19rpx;
+ box-shadow: 0 4px 10px 4px rgba(0, 0, 0, 0.08);
+}
+
+.goodsList .conten_box:nth-child(2n-1) {
+ margin-right: 22rpx;
+}
+
+.goodsList .conten_box .conten_img {
+ width: 100%;
+ height: 340rpx;
+
+ /* background: yellowgreen; */
+ border-radius: 10rpx 10rpx 0 0;
+ position: relative;
+}
+
+.goodsList .conten_box .conten_img image {
+ width: 100%;
+ height: 100%;
+}
+
+.pos_box {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ /* width: 206rpx; */
+ height: 48rpx;
+ background-image: linear-gradient(270deg, #ff6333 0%, #ff2c29 100%), linear-gradient(#fe8a02, #fe8a02);
+ background-blend-mode: normal, normal;
+ border-radius: 10rpx 0rpx 10rpx 0rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 24rpx;
+ color: #fff;
+ padding: 0 8rpx;
+}
+
+.goodsList .conten_box .conten_img .images {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0 0;
+}
+
+.goodsList .conten_box .conten_detail {
+ flex: 1;
+
+ /* background: yellow; */
+ border-radius: 10rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ padding-left: 14rpx;
+ padding-right: 18rpx;
+ padding-top: 12rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_price {
+ /* display: flex;
+ align-items: center; */
+ font-size: 22rpx;
+ color: #000;
+ padding-left: 17rpx;
+}
+
+.dmon {
+ font-size: 22rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
+
+.money {
+ font-size: 32rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
diff --git a/packageD/auction/auction/auction_record/auction_record.js b/packageD/auction/auction/auction_record/auction_record.js
new file mode 100644
index 0000000..2c46f7f
--- /dev/null
+++ b/packageD/auction/auction/auction_record/auction_record.js
@@ -0,0 +1,137 @@
+// packageD/auction/auction/auction_record/auction_record.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ page: 1,
+ goods_id: '',
+ total_page: 0
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.id) {
+ this.setData({
+ goods_id: options.id
+ });
+ }
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.bid.bid-record');
+ let json = {
+ goods_id: that.data.goods_id,
+ page: that.data.page
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ page: res.data.current_page,
+ total_page: res.data.last_page,
+ info: res.data.data
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getMoreData() {
+ this.data.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ // that.loading = true;
+ return;
+ } else {
+ this.data.page += 1;
+ let urlStr = app.getNetAddresss('plugin.auction.api.bid.bid-record');
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ goods_id: this.data.goods_id,
+ page: this.data.page
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ this.data.isLoadMore = true;
+ if (res.result === 1) {
+ let nextPageData = res.data.data;
+ let info = this.data.info.concat(nextPageData);
+ this.setData({
+ info
+ });
+ } else {
+ this.data.page = this.data.page - 1;
+ this.data.isLoadMore = false;
+ }
+ }
+ });
+ }
+ },
+});
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_record/auction_record.json b/packageD/auction/auction/auction_record/auction_record.json
new file mode 100644
index 0000000..f0f5794
--- /dev/null
+++ b/packageD/auction/auction/auction_record/auction_record.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "拍卖记录",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_record/auction_record.wxml b/packageD/auction/auction/auction_record/auction_record.wxml
new file mode 100644
index 0000000..383e190
--- /dev/null
+++ b/packageD/auction/auction/auction_record/auction_record.wxml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+ {{item.has_one_member.nickname}}
+
+
+ 当前最高
+ 出局
+ {{item.created_at}}
+
+
+ ¥{{item.price}}
+ {{item.number}}次出价
+ {{item.number}}次出价
+
+
+
+
diff --git a/packageD/auction/auction/auction_record/auction_record.wxss b/packageD/auction/auction/auction_record/auction_record.wxss
new file mode 100644
index 0000000..590527c
--- /dev/null
+++ b/packageD/auction/auction/auction_record/auction_record.wxss
@@ -0,0 +1,81 @@
+/* packageD/auction/auction/auction_record/auction_record.wxss */
+page {
+ height: 100vh;
+ background: #fff;
+ border-top: 1rpx solid #f7f7f7;
+}
+
+.content {
+ background: #fff;
+ padding: 0 24rpx;
+}
+
+.content .liu {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding-top: 32rpx;
+ color: #ff2c29;
+}
+
+.content .record-list {
+ margin-top: 32rpx;
+ background: #fff;
+ padding: 0 0.9375rem 0.5rem 0.9375rem;
+}
+
+.content .record-list .list {
+ margin-bottom: 0.5rem;
+ padding-bottom: 0.5rem;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ border-bottom: 1px solid #eee;
+}
+
+.content .record-list .list .item-top,
+.content .record-list .list .item-bottom {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ font-size: 12px;
+}
+
+.content .record-list .list .item-top {
+ padding-bottom: 0.5rem;
+}
+
+.content .record-list .list .item-bottom {
+ justify-content: space-between;
+}
+
+.content .record-list .list .name {
+ flex: 0 0 8rem;
+ align-items: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: flex;
+}
+
+.content .record-list .list .name .avator {
+ width: 48rpx;
+ height: 48rpx;
+ border-radius: 50%;
+ margin-right: 8rpx;
+ display: flex;
+}
+
+.content .record-list .list .name .avator image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.content .record-list .list .name .nick {
+ font-size: 12px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ display: flex;
+ flex: 1;
+}
diff --git a/packageD/auction/auction/auction_search/auction_search.js b/packageD/auction/auction/auction_search/auction_search.js
new file mode 100644
index 0000000..037e9e2
--- /dev/null
+++ b/packageD/auction/auction/auction_search/auction_search.js
@@ -0,0 +1,272 @@
+// packageD/auction/auction/auction_search/auction_search.js
+var app = getApp();
+import utils from '../../../../utils/util.js';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ select: false,
+ is_name: 'Auction',
+ keyword: '',
+ status: '1',
+ page: 1,
+ current_page: 1,
+ last_page: 1,
+ is_new: '',
+ is_recommend: '',
+ auctioneer_id: '',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if(options.is_recommend){
+ this.setData({
+ is_recommend:options.is_recommend
+ });
+ }
+ if(options.is_new){
+ this.setData({
+ is_new:options.is_new
+ });
+ }
+ if(options.status){
+ this.setData({
+ status:options.status
+ });
+ }
+ // this.getSearch();
+ },
+ goshop(e){
+ console.log(e.currentTarget.dataset.id);
+ let kid = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: '/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop?id='+kid,
+ });
+ },
+ selectTap() {
+ this.setData({
+ select: !this.data.select
+ });
+ // console.log(this.data.select)
+ },
+ nametap(e) {
+ this.setData({
+ is_name: e.currentTarget.dataset.name,
+ select: false,
+ status: e.currentTarget.dataset.name == "Auction" ? '2' : '1',
+ datas: [],
+ page: 1,
+ current_page: 1,
+ last_page: 1
+ });
+ this.getSearch();
+ },
+ goSearch(){
+ this.setData({
+ page: 1,
+ current_page: 1,
+ last_page: 1
+ });
+ this.getSearch;
+ },
+ is_keyword(e) {
+ let key = e.detail.value;
+ this.setData({
+ keyword: key,
+ page: 1,
+ current_page: 1,
+ last_page: 1
+ });
+ this.getSearch();
+ },
+ toGoods(e){
+ let id = e.currentTarget.dataset.item.goods_id;
+ let member_id = e.currentTarget.dataset.item.member_id?e.currentTarget.dataset.item.member_id:e.currentTarget.dataset.item.auctioneer_id;
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_good/auction_good?id='+id+'&member_id='+member_id,
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.current_page >= this.data.last_page) {
+ wx.showToast({
+ title: '没有更多',
+ icon: 'none',
+ duration: 1000
+ });
+ } else {
+ let is_page = this.data.page + 1;
+ this.setData({
+ page: is_page
+ });
+ this.getSearchMore();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getSearch() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ keyword: that.data.keyword,
+ status: this.data.status,
+ auc_status: '',
+ is_new: '',
+ is_recommend: '',
+ auctioneer_id: '',
+ art: 'getSearch',
+ page: this.data.page,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.getSearch.data.length == 0) {
+ if (that.data.status == 1) {
+ wx.showToast({
+ title: '没有相关拍品',
+ icon: 'none',
+ duration: 1000
+ });
+ } else if (that.data.status == 2) {
+ wx.showToast({
+ title: '没有相关拍卖官',
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ that.setData({
+ datas: []
+ });
+ return;
+ }
+ for(let i = 0;i
+
+
+ {{status=='1'?'拍品':'拍卖官'}}
+
+
+ 拍品
+ 拍卖官
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.end_shooting?item.end_shooting:''}}结束
+
+
+ {{item.title}}
+
+ 起拍价
+ ¥
+ {{item.start_price?item.start_price:0}}
+
+
+
+
+
+
+
+
+
+
+ {{item.nick_name}}
+ 浏览:{{item.browse_num}}次
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_search/auction_search.wxss b/packageD/auction/auction/auction_search/auction_search.wxss
new file mode 100644
index 0000000..09e0f54
--- /dev/null
+++ b/packageD/auction/auction/auction_search/auction_search.wxss
@@ -0,0 +1,293 @@
+/* packageD/auction/auction/auction_search/auction_search.wxss */
+
+page {
+ background: #fff;
+}
+
+.heard_top {
+ padding-left: 40rpx;
+ padding-right: 43rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background: #fff;
+ padding-bottom: 47rpx;
+}
+
+.heard_top .heard_right {
+ width: 486rpx;
+ height: 60rpx;
+ border-radius: 30rpx;
+ display: flex;
+ align-items: center;
+ background: #f8f8f8;
+}
+
+.heard_top .heard_right icon {
+ color: #c9c9c9;
+ margin-left: 15rpx;
+ font-size: 40rpx;
+}
+
+.heard_top .heard_right input {
+ margin-left: 27rpx;
+ flex: 1;
+}
+
+.heard_top .heard_lefr {
+ font-size: 28rpx;
+ color: #000;
+ position: relative;
+ text-align: center;
+ flex: 1;
+}
+
+.select_box {
+ position: absolute;
+ bottom: -115rpx;
+ left: 0;
+ background: #fff;
+ width: 187rpx;
+ display: flex;
+ flex-direction: column;
+ z-index: 100;
+ transition: 1s;
+ border: 1px solid #ccc;
+}
+
+.select_box_none {
+ /* position: absolute;
+ bottom: -90rpx;
+ left: 0;
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+ z-index: 100;
+ transition: 1s;
+ width: 100%; */
+ display: none;
+}
+
+.select_box_none view {
+ /* text-align: center; */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.select_box_none view:first-child {
+ border-bottom: 1rpx solid #f0f0f0;
+}
+
+.select_box view {
+ /* text-align: center; */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.select_box view:first-child {
+ border-bottom: 1rpx solid #f0f0f0;
+}
+
+/* 商品 */
+
+.goodsList {
+ margin: 0 24rpx;
+ padding-bottom: 45rpx;
+}
+
+.goods_top {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 49rpx;
+}
+
+.goods_top view:first-child {
+ font-size: 42rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+}
+
+.goods_top view:last-child {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #999;
+}
+
+.goodsList .goods_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.goodsList .conten_box {
+ width: 340rpx;
+ height: 501rpx;
+ border-radius: 10rpx;
+ display: flex;
+ flex-direction: column;
+ margin-bottom: 19rpx;
+ box-shadow: 0 4px 10px 4px rgba(0, 0, 0, 0.08);
+}
+
+.goodsList .conten_box:nth-child(2n-1) {
+ margin-right: 22rpx;
+}
+
+.goodsList .conten_box .conten_img {
+ width: 100%;
+ height: 340rpx;
+
+ /* background: yellowgreen; */
+ border-radius: 10rpx 10rpx 0 0;
+ position: relative;
+}
+
+.pos_box {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ /* width: 206rpx; */
+ height: 48rpx;
+ background-image: linear-gradient(270deg, #ff6333 0%, #ff2c29 100%), linear-gradient(#fe8a02, #fe8a02);
+ background-blend-mode: normal, normal;
+ border-radius: 10rpx 0rpx 10rpx 0rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 24rpx;
+ color: #fff;
+ padding: 0 8rpx;
+}
+
+.goodsList .conten_box .conten_img .images {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0 0;
+}
+
+.goodsList .conten_box .conten_detail {
+ flex: 1;
+
+ /* background: yellow; */
+ border-radius: 10rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ padding-left: 14rpx;
+ padding-right: 18rpx;
+ padding-top: 12rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_price {
+ /* display: flex;
+ align-items: center; */
+ font-size: 22rpx;
+ color: #000;
+ padding-left: 17rpx;
+}
+
+.dmon {
+ font-size: 22rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
+
+.money {
+ font-size: 32rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
+
+/* ----------- */
+.Auction {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0 25rpx;
+}
+
+.Auction_list {
+ width: 220rpx;
+ height: 296rpx;
+ background-color: #fff;
+ border-radius: 41rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ box-shadow: 0 0 10px 8px #fafafa;
+ margin-bottom: 32rpx;
+ position: relative;
+}
+
+.Auction_imgsa {
+ position: absolute;
+ top: 0;
+ left: 0;
+ background-color: #000;
+ opacity: 0.45;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 100%;
+ border-radius: 41rpx;
+}
+
+.suo {
+ width: 90rpx;
+ height: 90rpx;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/pm_pic_bg@2x.png');
+ background-size: contain;
+ background-repeat: no-repeat;
+}
+
+.Auction_list:nth-child(3n-2) {
+ margin-right: 19rpx;
+}
+
+.Auction_list:nth-child(3n-1) {
+ margin-right: 19rpx;
+}
+
+.Auction_are {
+ /* padding: 0 36rpx; */
+ text-align: center;
+}
+
+.Auction_wir {
+ /* padding: 0 36rpx; */
+ text-align: center;
+ font-size: 22rpx;
+ max-width: 180rpx;
+ color: #999;
+
+ /* margin-bottom: 31rpx; */
+}
+
+.Auction_img {
+ width: 98rpx;
+ height: 98rpx;
+ background: wheat;
+ border-radius: 50%;
+ margin-top: 37rpx;
+ margin-bottom: 25rpx;
+}
+
+.Auction_img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
diff --git a/packageD/auction/auction/auction_vip/auction_vip.js b/packageD/auction/auction/auction_vip/auction_vip.js
new file mode 100644
index 0000000..c192529
--- /dev/null
+++ b/packageD/auction/auction/auction_vip/auction_vip.js
@@ -0,0 +1,371 @@
+// packageD/auction/auction/auction_vip/auction_vip.js
+var app = getApp();
+import utils from '../../../../utils/util.js';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ select: false,
+ is_name: 'Auction',
+ keyword: '',
+ status: '1',
+ page: 1,
+ current_page: 1,
+ last_page: 1,
+ is_new: '',
+ is_recommend: '',
+ auctioneer_id: '',
+ id: wx.getStorageSync('yz_uid'),
+ password:''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ // if(options.id){
+ // this.setData({
+ // id:options.id
+ // })
+ // }
+ this.getSearch();
+ },
+ goshop(e){
+ let id = e.currentTarget.dataset.info.member_id;
+ wx.navigateTo({
+ url: '/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop?id='+id,
+ });
+ },
+ golist(e){
+ console.log(e);
+ let id = e.currentTarget.dataset.info.goods_id;
+ let member_id = e.currentTarget.dataset.info.member_id;
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_good/auction_good?id='+id+"&member_id="+member_id,
+ });
+ },
+ yanzhen(e){
+ console.log(e.currentTarget.dataset.info.member_id);
+ let item = e.currentTarget.dataset.info;
+ let id = e.currentTarget.dataset.info.goods_id;
+ let member_id = e.currentTarget.dataset.info.member_id;
+ if(item.is_verify == 1){
+ // wx.navigateTo({
+ // url: '/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop?id='+id,
+ // })
+ if(this.data.status == '1'){
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_good/auction_good?id='+id+"&member_id="+member_id,
+ });
+ }else{
+ wx.navigateTo({
+ url: '/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop?id='+id,
+ });
+ }
+ }else{
+ this.setData({
+ showone:true,
+ select_item : item,
+ yanzGoodId:id,
+ yanzMemberId:member_id
+ });
+ }
+ },
+ is_password(e) {
+ this.setData({
+ password: e.detail.value
+ });
+ },
+ isCoverLayer_passwork(e){
+ this.setData({
+ showone:false,
+ password:''
+ });
+ },
+ // 店铺密码确认
+ confirm(){
+ if(app._isTextEmpty(this.data.password)){
+ wx.showToast({
+ title: 'title',
+ });
+ }
+ let json = {
+ art:'verifyPassword',
+ auction_id:this.data.select_item.member_id,
+ passwd:this.data.password
+ };
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ showone:false
+ });
+ if(that.data.status == '1'){
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_good/auction_good?id='+that.data.yanzGoodId+"&member_id="+that.data.select_item.member_id,
+ });
+ }else{
+ wx.navigateTo({
+ url: '/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop?id='+that.data.select_item.member_id,
+ });
+ }
+
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ selectTap() {
+ this.setData({
+ select: !this.data.select
+ });
+ // console.log(this.data.select)
+ },
+ tapinput(e){
+ this.setData({
+ keyword:e.detail.value
+ });
+ },
+ nametap(e) {
+ this.setData({
+ is_name: e.currentTarget.dataset.name,
+ select: false,
+ status: e.currentTarget.dataset.name == "Auction" ? '2' : '1',
+ datas: [],
+ page: 1,
+ current_page: 1,
+ last_page: 1
+ });
+ this.getSearch();
+ },
+ gosearchIn(){
+ console.log('点击搜索');
+ this.getSearch();
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getSearch();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if(this.data.current_page >= this.data.last_page){
+ wx.showToast({
+ title:'没有更多',
+ duration:1000,
+ icon:'none'
+ });
+ }else{
+ this.getMoreSearch();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getMoreSearch() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ keyword: that.data.keyword,
+ status: this.data.status,
+ auc_status: '',
+ is_new: '',
+ is_recommend: '',
+ auctioneer_id: '',
+ art: 'getSearch',
+ page: this.data.page,
+ is_pass:'1'
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.getSearch.data.length == 0) {
+ if (that.data.status == 1) {
+ wx.showToast({
+ title: '没有相关拍品',
+ icon: 'none',
+ duration: 1000
+ });
+ } else if (that.data.status == 2) {
+ wx.showToast({
+ title: '没有相关拍卖官',
+ icon: 'none',
+ duration: 1000
+ });
+ }
+ that.setData({
+ datas: []
+ });
+ return;
+ }
+ for(let i = 0;i
+
+
+ {{status == '1'?'拍品':'拍卖官'}}
+
+
+ 拍品
+ 拍卖官
+
+
+
+
+
+
+
+拍品总数:{{total}}个
+拍卖官总数:{{total}}个
+
+
+
+
+
+ {{item.nick_name}}
+ 浏览:{{item.browse_num}}次
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.end_shooting?item.end_shooting:''}}结束
+
+
+ {{item.title}}
+
+ 起拍价
+ ¥
+ {{item.start_price?item.start_price:0}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请输入店铺密码
+ 密码
+
+ 确认
+
+
\ No newline at end of file
diff --git a/packageD/auction/auction/auction_vip/auction_vip.wxss b/packageD/auction/auction/auction_vip/auction_vip.wxss
new file mode 100644
index 0000000..372112c
--- /dev/null
+++ b/packageD/auction/auction/auction_vip/auction_vip.wxss
@@ -0,0 +1,365 @@
+/* packageD/auction/auction/auction_vip/auction_vip.wxss */
+page {
+ background: #fff;
+}
+
+.heard_top {
+ padding-left: 40rpx;
+ padding-right: 43rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background: #fff;
+ padding-bottom: 20rpx;
+}
+
+.heard_top .heard_right {
+ width: 486rpx;
+ height: 60rpx;
+ border-radius: 30rpx;
+ display: flex;
+ align-items: center;
+ background: #f8f8f8;
+}
+
+.heard_top .heard_right icon {
+ color: #c9c9c9;
+ margin-left: 15rpx;
+ font-size: 40rpx;
+}
+
+.heard_top .heard_right input {
+ margin-left: 27rpx;
+ flex: 1;
+}
+
+.heard_top .heard_lefr {
+ font-size: 28rpx;
+ color: #000;
+ position: relative;
+ text-align: center;
+ flex: 1;
+ margin-bottom: 10rpx;
+}
+
+.select_box {
+ position: absolute;
+ bottom: -115rpx;
+ left: 0;
+ background: #fff;
+ width: 187rpx;
+ display: flex;
+ flex-direction: column;
+ z-index: 100;
+ transition: 1s;
+}
+
+.select_box_none {
+ /* position: absolute;
+ bottom: -90rpx;
+ left: 0;
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+ z-index: 100;
+ transition: 1s;
+ width: 100%; */
+ display: none;
+}
+
+.select_box_none view {
+ /* text-align: center; */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.select_box_none view:first-child {
+ border-bottom: 1rpx solid #f0f0f0;
+}
+
+.select_box view {
+ /* text-align: center; */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.select_box view:first-child {
+ border-bottom: 1rpx solid #f0f0f0;
+}
+
+/* 商品 */
+
+.goodsList {
+ margin: 0 24rpx;
+ padding-bottom: 45rpx;
+}
+
+.goods_top {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 49rpx;
+}
+
+.goods_top view:first-child {
+ font-size: 42rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+}
+
+.goods_top view:last-child {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #999;
+}
+
+.goodsList .goods_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.goodsList .conten_box {
+ width: 340rpx;
+ height: 501rpx;
+ border-radius: 10rpx;
+ display: flex;
+ flex-direction: column;
+ margin-bottom: 19rpx;
+ box-shadow: 0 4px 10px 4px rgba(0, 0, 0, 0.08);
+ position: relative;
+}
+
+.goodsList .conten_box:nth-child(2n-1) {
+ margin-right: 22rpx;
+}
+
+.goodsList .conten_box .conten_img {
+ width: 100%;
+ height: 340rpx;
+
+ /* background: yellowgreen; */
+ border-radius: 10rpx 10rpx 0 0;
+ position: relative;
+}
+
+.pos_box {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ /* width: 206rpx; */
+ height: 48rpx;
+ background-image: linear-gradient(270deg, #ff6333 0%, #ff2c29 100%), linear-gradient(#fe8a02, #fe8a02);
+ background-blend-mode: normal, normal;
+ border-radius: 10rpx 0rpx 10rpx 0rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 24rpx;
+ color: #fff;
+ padding: 0 8rpx;
+}
+
+.goodsList .conten_box .conten_img .images {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0 0;
+}
+
+.goodsList .conten_box .conten_detail {
+ flex: 1;
+
+ /* background: yellow; */
+ border-radius: 10rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ padding-left: 14rpx;
+ padding-right: 18rpx;
+ padding-top: 12rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_price {
+ /* display: flex;
+ align-items: center; */
+ font-size: 22rpx;
+ color: #000;
+ padding-left: 17rpx;
+}
+
+.dmon {
+ font-size: 22rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
+
+.money {
+ font-size: 32rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
+
+/* ----------- */
+.Auction {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0 25rpx;
+}
+
+.Auction_list {
+ width: 220rpx;
+ height: 296rpx;
+ background-color: #fff;
+ border-radius: 41rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ box-shadow: 0 0 10px 8px #fafafa;
+ margin-bottom: 32rpx;
+ position: relative;
+}
+
+.Auction_imgsa {
+ position: absolute;
+ background: red;
+ top: 0;
+ left: 0;
+ background-color: #000;
+ opacity: 0.45;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 100%;
+ border-radius: 41rpx;
+}
+
+.Auction_imgsa2 {
+ position: absolute;
+ background: red;
+ top: 0;
+ left: 0;
+ background-color: #000;
+ opacity: 0.45;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 100%;
+ border-radius: none;
+}
+
+.suo {
+ width: 90rpx;
+ height: 90rpx;
+ background: rgba(255, 255, 255, 0.4);
+ border-radius: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.suo icon {
+ font-size: 28px;
+ color: #fff;
+}
+
+.Auction_list:nth-child(3n-2) {
+ margin-right: 19rpx;
+}
+
+.Auction_list:nth-child(3n-1) {
+ margin-right: 19rpx;
+}
+
+.Auction_are {
+ padding: 0 36rpx;
+ text-align: center;
+}
+
+.Auction_wir {
+ /* padding: 0 36rpx; */
+ text-align: center;
+ font-size: 22rpx;
+ max-width: 180rpx;
+ color: #999;
+ margin-bottom: 31rpx;
+}
+
+.Auction_img {
+ width: 98rpx;
+ height: 98rpx;
+ background: wheat;
+ border-radius: 50%;
+ margin-top: 37rpx;
+ margin-bottom: 25rpx;
+}
+
+.Auction_img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+/* 店铺密码弹出框 */
+
+.showbtn {
+ height: 517rpx;
+ width: 100%;
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+ align-content: center;
+ border-radius: 20rpx 20rpx 0rpx 0rpx;
+}
+
+.one .van-popup {
+ border-radius: 20rpx 20rpx 0rpx 0rpx;
+}
+
+.showbtn_txt {
+ text-align: center;
+ font-size: 36rpx;
+ color: #000;
+ padding-top: 43rpx;
+}
+
+.showbtn_mima {
+ font-size: 28rpx;
+ color: #000;
+ margin-left: 29rpx;
+ margin-top: 103rpx;
+}
+
+.showbtn input {
+ border-bottom: 1rpx solid #ececec;
+ margin: 0 25rpx;
+ margin-top: 20rpx;
+ margin-bottom: 95rpx;
+}
+
+.is_sure {
+ width: 700rpx;
+ height: 90rpx;
+ background-color: #ff2c29;
+ border-radius: 45rpx;
+ text-align: center;
+ line-height: 90rpx;
+ color: #fff;
+ margin: 0 auto;
+}
+
+/* -------------------------------------- */
diff --git a/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.js b/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.js
new file mode 100644
index 0000000..697fddd
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.js
@@ -0,0 +1,66 @@
+// packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+});
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.json b/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.json
new file mode 100644
index 0000000..c288384
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "竞拍服务协议",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.wxml b/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.wxml
new file mode 100644
index 0000000..669a9b2
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.wxml
@@ -0,0 +1,2 @@
+
+
diff --git a/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.wxss b/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.wxss
new file mode 100644
index 0000000..afd884b
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.wxss
@@ -0,0 +1 @@
+/* packageD/auction/auctioneer-manage/auction_agreement/auction_agreement.wxss */
diff --git a/packageD/auction/auctioneer-manage/auction_collect/auction_collect.js b/packageD/auction/auctioneer-manage/auction_collect/auction_collect.js
new file mode 100644
index 0000000..0649b59
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auction_collect/auction_collect.js
@@ -0,0 +1,96 @@
+// packageD/auction/auctioneer-manage/auction_collect/auction_collect.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getdata();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getdata(){
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json={
+ art:'collectionList'
+ };
+ app._postNetWork({
+ url: urlStr,
+ data:json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ info:res.data.auctioneer
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/auction_collect/auction_collect.json b/packageD/auction/auctioneer-manage/auction_collect/auction_collect.json
new file mode 100644
index 0000000..c1b3d78
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auction_collect/auction_collect.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "我的收藏",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/auction_collect/auction_collect.wxml b/packageD/auction/auctioneer-manage/auction_collect/auction_collect.wxml
new file mode 100644
index 0000000..4d48825
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auction_collect/auction_collect.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+ 拍卖王 拍卖小飞侠
+ 已收藏
+
+
+ 已认证
+ 拍品:20
+
+
+
+ 取消收藏
+
+
diff --git a/packageD/auction/auctioneer-manage/auction_collect/auction_collect.wxss b/packageD/auction/auctioneer-manage/auction_collect/auction_collect.wxss
new file mode 100644
index 0000000..dcb6f18
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auction_collect/auction_collect.wxss
@@ -0,0 +1,88 @@
+/* packageD/auction/auctioneer-manage/auction_collect/auction_collect.wxss */
+page {
+ background: #fff;
+}
+
+.box {
+ width: 100%;
+}
+
+.lineBox {
+ padding: 20rpx 0rpx;
+ padding-left: 36rpx;
+ padding-right: 28rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 140rpx;
+ border-bottom: 1rpx solid #f2f2f7;
+}
+
+.pto {
+ flex: 1;
+ display: flex;
+ align-items: center;
+}
+
+.pto image {
+ width: 100rpx;
+ height: 100rpx;
+ border-radius: 50%;
+ margin-right: 30rpx;
+ background: red;
+}
+
+.lineBox .pto .titleBox {
+ display: flex;
+ flex-direction: column;
+}
+
+.top {
+ display: flex;
+ align-items: center;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+}
+
+.bottom {
+ display: flex;
+ align-items: center;
+ font-size: 24rpx;
+}
+
+.bom_sta {
+ display: flex;
+ align-items: center;
+ font-size: 24rpx;
+ color: #000;
+}
+
+.bom_sta icon {
+ color: #ff6333;
+ font-size: 36rpx;
+ margin-right: 11rpx;
+}
+
+.sta {
+ width: 94rpx;
+ height: 38rpx;
+ border-radius: 19rpx;
+ border: solid 1rpx #999;
+ text-align: center;
+ line-height: 38rpx;
+ font-size: 22rpx;
+ color: #999;
+ margin-left: 13rpx;
+}
+
+.btn {
+ width: 123rpx;
+ height: 38rpx;
+ background-color: #ff2c29;
+ border-radius: 19rpx;
+ text-align: center;
+ line-height: 38rpx;
+ color: #fff;
+}
diff --git a/packageD/auction/auctioneer-manage/auctioneer/auctioneer.js b/packageD/auction/auctioneer-manage/auctioneer/auctioneer.js
new file mode 100644
index 0000000..bd56573
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auctioneer/auctioneer.js
@@ -0,0 +1,109 @@
+// packageD/auction/auctioneer-manage/auctioneer/auctioneer.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {},
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getdata();
+ },
+ good_manage() {
+ wx.navigateTo({
+ url: "/packageD/auction/auctioneer-manage/good_manage/good_manage",
+ });
+ },
+ toOrder() {
+ wx.navigateTo({
+ url: "/packageA/member/myOrder_v2/myOrder_v2?status=0&orderType=auction",
+ });
+ },
+ tixian() {
+ wx.reLaunch({
+ url: "/packageG/pages/member/extension/extension",
+ });
+ },
+ myMoney() {
+ wx.navigateTo({
+ url: "/packageD/auction/auctioneer-manage/my_money/my_money?type=auction",
+ });
+ },
+ passwork() {
+ wx.navigateTo({
+ url:
+ "/packageD/auction/auctioneer-manage/password_change/password_change",
+ });
+ },
+ share() {
+ wx.navigateTo({
+ url: "/packageD/auction/auctioneer-manage/shop_share/shop_share",
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getdata() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ let json = {
+ art: "auctioneer",
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ info: res.data.auctioneer,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
diff --git a/packageD/auction/auctioneer-manage/auctioneer/auctioneer.json b/packageD/auction/auctioneer-manage/auctioneer/auctioneer.json
new file mode 100644
index 0000000..62393e8
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auctioneer/auctioneer.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "拍卖官管理",
+ "usingComponents": {
+ "van-icon": "../../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/auctioneer/auctioneer.wxml b/packageD/auction/auctioneer-manage/auctioneer/auctioneer.wxml
new file mode 100644
index 0000000..d2efb97
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auctioneer/auctioneer.wxml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+ {{info.nickname}}
+
+
+ {{info.status}}
+
+
+
+ 收藏:{{info.collection_num}}
+ 浏览:{{info.browse_num}}
+ 参拍:{{info.partake_num}}
+
+
+
+
+ {{info.mini_deal}}
+ 累计拍品金额(元)
+
+
+ {{info.sure_withdraw_money}}
+ 可提现金额(元)
+
+
+
+
+
+
+
+ 提现
+
+
+
+
+ 拍品管理
+
+
+
+ 订单管理
+
+
+
+ 我的收入
+
+
+
+ 店铺密码设置
+
+
+
+
+
diff --git a/packageD/auction/auctioneer-manage/auctioneer/auctioneer.wxss b/packageD/auction/auctioneer-manage/auctioneer/auctioneer.wxss
new file mode 100644
index 0000000..0d18915
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/auctioneer/auctioneer.wxss
@@ -0,0 +1,137 @@
+/* packageD/auction/auctioneer-manage/auctioneer/auctioneer.wxss */
+.auctioneer {
+ overflow: hidden;
+}
+
+.card {
+ background: #fff;
+ padding-top: 32rpx;
+ padding-left: 40rpx;
+ padding-bottom: 30rpx;
+ padding-right: 45rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.card_left {
+ display: flex;
+ flex-direction: column;
+
+ /* align-items: center; */
+ justify-content: space-between;
+ width: 414rpx;
+ height: 233rpx;
+}
+
+.card_left .card_left_top .top_cl {
+ display: flex;
+ align-items: center;
+}
+
+.card_left .card_left_top .top_cl .cl {
+ font-size: 28rpx;
+ color: #000;
+}
+
+.card_left .card_left_top .cla {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 131rpx;
+ height: 37rpx;
+ border-radius: 18rpx;
+ border: solid 1rpx #ff6333;
+ color: #ff6333;
+ margin-left: 13rpx;
+ text-align: center;
+}
+
+.card_left .card_left_top .cla icon {
+ margin-left: 10rpx;
+ margin-top: -5rpx;
+}
+
+.card .card_left .left_list {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 22rpx;
+ color: #666;
+ margin-top: 32rpx;
+}
+
+.card_left .card_left_bottom {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.card_left .card_left_bottom .bottom_cl {
+ text-align: center;
+ font-size: 22rpx;
+ color: #333;
+ margin-right: 34rpx;
+}
+
+.card_left .card_left_bottom .bottom_cl .mun {
+ font-size: 36rpx;
+}
+
+.card_right {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ height: 233rpx;
+ align-items: flex-end;
+}
+
+.card_right .card_pto {
+ width: 96rpx;
+ height: 96rpx;
+
+ /* background-color: #000000; */
+ border-radius: 50%;
+ box-shadow:
+ 0rpx 3rpx 7rpx 0rpx
+ rgba(0, 0, 0, 0.35);
+}
+
+.card_right .card_pto image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.card_right .tixian {
+ width: 139rpx;
+ height: 50rpx;
+ background-color: #ff2c29;
+ border-radius: 25rpx;
+ text-align: center;
+ color: #fff;
+ font-size: 28rpx;
+ line-height: 50rpx;
+}
+
+.select {
+ background: #fff;
+ width: 100%;
+ min-height: 1vh;
+ margin-top: 20rpx;
+ font-size: 24rpx;
+ color: #000;
+}
+
+.select .line_box {
+ padding: 23rpx 36rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.select icon {
+ font-size: 40rpx;
+ margin-right: 10rpx;
+}
diff --git a/packageD/auction/auctioneer-manage/good_manage/good_manage.js b/packageD/auction/auctioneer-manage/good_manage/good_manage.js
new file mode 100644
index 0000000..377e8ae
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/good_manage/good_manage.js
@@ -0,0 +1,402 @@
+// packageD/auction/auctioneer-manage/good_manage/good_manage.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ active: 0,
+ delbox: false,
+ id: wx.getStorageSync("yz_uid"),
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getStatus();
+ this.getData();
+ },
+ sdel(e) {
+ let ind = e.currentTarget.dataset.ind;
+ var list = this.data.datas;
+ console.log(!list[ind].edit_active);
+ list[ind].edit_active = !list[ind].edit_active;
+ this.setData({
+ datas: list,
+ });
+ },
+ gobianji(e) {
+ console.log(e.currentTarget.dataset.good);
+ let goodid = e.currentTarget.dataset.good;
+ wx.navigateTo({
+ url:
+ "/packageD/auction/auctioneer-publish/publish_first/publish_first?good=" +
+ goodid,
+ });
+ },
+ // 上架
+ toUp(e) {
+ var that = this;
+ var goodid = e.currentTarget.dataset.good;
+ var sta = e.currentTarget.dataset.status;
+ var json = {
+ art: "upperLower",
+ goods_id: goodid,
+ status: sta == 0 ? 1 : 0,
+ };
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.data.upperLower,
+ icon: "none",
+ duration: 1000,
+ });
+ that.getSearch();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ commodityDelete(e) {
+ var that = this;
+ let goodid = e.currentTarget.dataset.good;
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ let json = {
+ goods_id: goodid,
+ art: "delGoods",
+ };
+ wx.showModal({
+ title: "提示",
+ content: "此操作将永久删除该拍品, 是否继续? ",
+ success(res) {
+ if (res.confirm) {
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: "拍品删除成功",
+ icon: "none",
+ duration: 1000,
+ });
+ that.getSearch();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
+ });
+ },
+ emptyEditActive() {
+ for (var i = 0; i < this.data.datas.length; i++) {
+ this.data.datas[i].edit_active = false;
+ }
+ this.setData({
+ datas: this.data.datas,
+ });
+ },
+ itemClick(e) {
+ console.log(e);
+ this.setData({
+ active: e.detail.index,
+ });
+ this.getSearch();
+ },
+ goFabu() {
+ console.log(this.data.uncertified_status);
+ if (this.data.renzhen_status == "已认证") {
+ this.getNum();
+ return;
+ }
+ if (this.data.uncertified_status == "2") {
+ wx.showToast({
+ title: "未认证会员不允许发布拍品",
+ icon: "none",
+ duration: 1000,
+ });
+ } else {
+ this.getNum();
+ }
+ },
+ // 拍卖发布数量验证
+ getNum() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ let json = {
+ art: "judgeNum",
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.navigateTo({
+ url:
+ "/packageD/auction/auctioneer-publish/publish_first/publish_first",
+ });
+ } else {
+ that.getverifyGoods();
+ // wx.showToast({
+ // title: res.msg,
+ // icon: "none",
+ // duration: 1000,
+ // success(){
+ // setTimeout(() => {
+ // that.getverifyGoods()
+ // }, 1000);
+ // }
+ // })
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ // 查看是否认证
+ getverifyGoods() {
+ var that = this;
+ let json = {
+ art: "judgeNum2",
+ };
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(that.data.renzhen_status);
+ if (that.data.renzhen_status == "未认证") {
+ wx.navigateTo({
+ url:
+ "/packageD/auction/auction-apply/auction-apply/auction-apply",
+ });
+ } else if (that.data.renzhen_status == "认证中") {
+ // 认证中去编辑申请
+ wx.navigateTo({
+ url:
+ "/packageD/auction/auction-apply/auction-apply/auction-apply?info=get",
+ });
+ }
+ } else {
+ console.log(res, "需要购买指定商品才能申请");
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ success() {
+ setTimeout(() => {
+ var geturl;
+ if (that.isString(res.data.judgeNum2)) {
+ geturl = res.data.judgeNum2.url;
+ } else {
+ geturl = res.data.judgeNum2;
+ }
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + geturl,
+ });
+ }, 1000);
+ },
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ // 获取信息
+ getData() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ let json = {
+ art: "auctioneer",
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ info: res.data.auctioneer,
+ renzhen_status: res.data.auctioneer.status,
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getSearch();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline: function () {
+ if (this.data.current_page >= this.data.last_page) {
+ wx.showToast({
+ title: "暂无更多",
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ if (this.data.current_page >= this.data.last_page) {
+ wx.showToast({
+ title: "暂无更多",
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ getStatus() {
+ var that = this;
+ let urlStr = app.getNetAddresss("plugin.auction.api.index.getAuctionData");
+ let json = {
+ member_id: that.data.id,
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ // console.log(res.data.getVerify.status)
+ that.setData({
+ status: res.data.getVerify.status,
+ uncertified_status: res.data.getAgreement.uncertified_status,
+ is_release_switch: res.data.getAgreement.is_release_switch,
+ });
+ that.getSearch();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getSearch() {
+ let that = this;
+ var urlStr;
+ if (this.data.active == "0") {
+ urlStr = app.getNetAddresss("plugin.auction.api.auction.check");
+ } else if (this.data.active == "1") {
+ urlStr = app.getNetAddresss("plugin.auction.api.auction.biding");
+ } else if (this.data.active == "2") {
+ urlStr = app.getNetAddresss("plugin.auction.api.auction.bid");
+ } else if (this.data.active == "3") {
+ urlStr = app.getNetAddresss("plugin.auction.api.auction.finish");
+ } else if (this.data.active == "4") {
+ urlStr = app.getNetAddresss("plugin.auction.api.auction.bid");
+ }
+ let json = {
+ auctioneer_id: that.data.id,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ for (var i = 0; i < res.data.data.length; i++) {
+ res.data.data[i].edit_active = false;
+ }
+ that.setData({
+ datas: res.data.data,
+ current_page: res.data.data.current_page,
+ last_page: res.data.data.last_page,
+ total: res.data.total,
+ });
+ console.log(that.data.datas);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
diff --git a/packageD/auction/auctioneer-manage/good_manage/good_manage.json b/packageD/auction/auctioneer-manage/good_manage/good_manage.json
new file mode 100644
index 0000000..d8d9e5d
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/good_manage/good_manage.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "拍品管理",
+ "usingComponents": {
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-tab": "../../../../dist/tab/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/good_manage/good_manage.wxml b/packageD/auction/auctioneer-manage/good_manage/good_manage.wxml
new file mode 100644
index 0000000..9f0bd9e
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/good_manage/good_manage.wxml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.has_one_goods.title}}
+
+ 起拍价 ¥{{item.start_price}}
+
+
+
+
+ 编辑
+
+
+
+ {{item.has_one_goods.status=='1'?'下架':'上架'}}
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+ 拍品数量:{{total}}
+ 发布拍品
+
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/good_manage/good_manage.wxss b/packageD/auction/auctioneer-manage/good_manage/good_manage.wxss
new file mode 100644
index 0000000..85cbaf4
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/good_manage/good_manage.wxss
@@ -0,0 +1,166 @@
+/* packageD/auction/auctioneer-manage/good_manage/good_manage.wxss */
+.conBox {
+ padding: 22rpx 24rpx;
+ background: #fff;
+ margin-bottom: 100rpx;
+}
+
+.conBox .dlist {
+ width: 100%;
+ height: 256rpx;
+ display: flex;
+ align-items: center;
+ margin-bottom: 20rpx;
+}
+
+.conBox .dlist .img {
+ width: 254rpx;
+ height: 256rpx;
+ border-radius: 10rpx;
+}
+
+.conBox .dlist .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.conBox .dlist .dlistRight {
+ margin-left: 18rpx;
+ flex: 1;
+ height: 256rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.conBox .dlist .dlistRight .title {
+ margin-right: 22rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ font-size: 28rpx;
+ line-height: 40rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+}
+
+.conBox .dlist .dlistRight .right_bottom {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-right: 22rpx;
+ position: relative;
+}
+
+.conBox .dlist .dlistRight .more {
+ position: absolute;
+ top: -79rpx;
+ right: -10rpx;
+ width: 145rpx;
+
+ /* height: 70rpx; */
+ background-color: #979797;
+ display: flex;
+ transition: 1s;
+ border-radius: 10rpx;
+ justify-content: center;
+}
+
+.apc {
+ opacity: 0;
+}
+
+.opc {
+ opacity: 1;
+}
+
+.conBox .dlist .dlistRight .more .morelist {
+ width: 50%;
+ text-align: center;
+}
+
+.conBox .dlist .dlistRight .right_bottom .mun {
+ font-size: 20rpx;
+ font-weight: normal;
+ font-stretch: normal;
+ line-height: 40rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+}
+
+.conBox .dlist .dlistRight .right_bottom .mun .somoney {
+ font-size: 32rpx;
+ font-weight: normal;
+ font-stretch: normal;
+ line-height: 40rpx;
+ letter-spacing: 0rpx;
+ color: #f01818;
+}
+
+.conBox .dlist .dlistRight .right_bottom .mun .somoney .money {
+ font-size: 20rpx;
+ line-height: 40rpx;
+ letter-spacing: 0rpx;
+ color: #f01818;
+}
+
+.conBox .dlist .dlistRight .right_bottom .iconfont {
+ font-size: 37rpx;
+ color: #999;
+}
+
+.conBox .dlist .dlistRight .right_bottom .more .morelist {
+ font-size: 18rpx;
+ color: #fff;
+ line-height: 40rpx;
+ letter-spacing: 0rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.conBox .dlist .dlistRight .right_bottom .more .morelist .iconfont {
+ font-size: 37rpx;
+ height: 45rpx;
+ margin-top: -9rpx;
+ color: #fff;
+}
+
+.conBox .dlist .dlistRight .right_bottom .more .down {
+ position: absolute;
+ bottom: -36rpx;
+ right: 6rpx;
+ color: #979797;
+}
+
+.btomBox {
+ height: 96rpx;
+ width: 100%;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ display: flex;
+ align-items: center;
+ background: #fff;
+ justify-content: space-between;
+}
+
+.btomBox text {
+ margin-left: 26rpx;
+}
+
+.btomBox view {
+ margin-right: 41rpx;
+ width: 186rpx;
+ height: 60rpx;
+ background: #ff2c29;
+ border-radius: 30rpx;
+ text-align: center;
+ font-size: 28rpx;
+ letter-spacing: 0rpx;
+ color: #fff;
+ line-height: 60rpx;
+}
diff --git a/packageD/auction/auctioneer-manage/my_money/my_money.js b/packageD/auction/auctioneer-manage/my_money/my_money.js
new file mode 100644
index 0000000..a18603d
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/my_money/my_money.js
@@ -0,0 +1,631 @@
+// packageA/member/presentationRecord_v2/presentationRecord_v2.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ selected: "",
+ //代打款
+ waitPay: [],
+ //打款
+ pay: [],
+ //待审核
+ review: [],
+ //无效数据
+ invalid: [],
+ //全部数据
+ all: [],
+ // loadMore
+ loading: false,
+ allLoaded: false,
+ goload: false,
+ orderType: "",
+ ratioDatas: [],
+ api: "",
+ withdrawal_type: "",
+
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.type) {
+ // this.data.withdrawal_type = options.type
+ this.setData({
+ withdrawal_type:options.type
+ });
+ }
+ if(options.from){
+ this.setData({
+ withdrawal_type:options.from
+ });
+ }
+ if (options.orderType) {
+ this.setData({
+ orderType: options.orderType
+ });
+ }
+ this.customizeIncome();
+ if (this.data.orderType == 'supplier') {
+ if (options.member_id) {
+ this.setData({
+ member_id: options.member_id
+ });
+ }
+ wx.setNavigationBarTitle({
+ title: '我的' + this.data.name_of_withdrawal
+ });
+ this.getSupplierNetData();
+ } else if (this.data.orderType === "extension") {
+ this.data.api = "finance.withdraw.withdraw-log";
+ this.getData(0);
+ } else if(this.data.orderType === "auction"){
+ this.getNetData(1);
+ }else {
+ this.setData({
+ orderType: "store"
+ });
+ this.data.status = '3';
+ this.getNetData(this.data.status);
+ }
+ if (this.data.orderType == 'store') {
+ wx.setNavigationBarTitle({
+ title: '我的收入'
+ });
+ } else {
+ wx.setNavigationBarTitle({
+ title: '我的' + this.data.name_of_withdrawal
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ if (this.data.isLoadMore) {
+ console.log("加载更多");
+ if (this.data.orderType === "supplier") {
+ this.getMoreData1(this.data.page, this.data.selected);
+ } else if (this.data.orderType === "extension") {
+ this.getMoreData2(this.data.selected);
+ } else if (this.data.orderType === "store") {
+ this.getMoreData3(this.data.status);
+ }else{
+ this.getMoreData3(this.data.status);
+ }
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ gopresentationDetails(e) {
+ let id = e.currentTarget.dataset.recordid;
+ wx.navigateTo({
+ url: '/packageA/member/presentationDetails/presentationDetails?record_id=' + id
+ });
+ },
+ //自定义提现收入语言
+ customizeIncome() {
+ try {
+ var value = wx.getStorageSync('mailLanguage');
+ if (value) {
+ let mailLanguage = JSON.parse(value);
+ // Do something with return value
+ this.setData({
+ name_of_withdrawal: mailLanguage.income.name_of_withdrawal
+ });
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ //供应商
+ getSupplierNetData() {
+ if (this.data.selected == 0) {
+ //全部
+ this.data.api = "plugin.supplier.frontend.withdraw-log.index";
+ } else if (this.data.selected == 1) {
+ //待审核
+ this.data.api = "plugin.supplier.frontend.withdraw-log.applying";
+ } else if (this.data.selected == 2) {
+ //待打款
+ this.data.api = "plugin.supplier.frontend.withdraw-log.pending";
+ } else if (this.data.selected == 3) {
+ //打款
+ this.data.api = "plugin.supplier.frontend.withdraw-log.already";
+ } else if (this.data.selected == 4) {
+ //无效
+ this.data.api = "plugin.supplier.frontend.withdraw-log.reject";
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.api);
+ urlStr += '&member_id=' + that.data.member_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var mydata = res.data;
+ that.setData({
+ total_page: mydata.total,
+ allLoaded: false
+ });
+ if (!that.data.total_page) {
+ that.setData({
+ total_page: 0
+ });
+ }
+ if (that.data.selected == 0) {
+ // 全部
+ that.setData({
+ all: mydata.data
+ });
+ } else if (that.data.selected == 1) {
+ // 待审核
+ that.setData({
+ review: mydata.data
+ });
+ } else if (that.data.selected == 2) {
+ // 待打款
+ that.setData({
+ waitPay: mydata.data
+ });
+ } else if (that.data.selected == 3) {
+ // 打款
+ that.setData({
+ pay: mydata.data
+ });
+ } else if (that.data.selected == 4) {
+ // 无效
+ that.setData({
+ invalid: mydata.data
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getData(type) {
+ let status = '';
+ if (type == 0) {
+ status = '';
+ } else if (type == 1) {
+ status = '0';
+ } else if (type == 2) {
+ status = '1';
+ } else if (type == 3) {
+ status = '2';
+ } else if (type == 4) {
+ status = '-1';
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-log');
+ that.data.isLoadMore = false;
+ that.data.page = 1;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: status
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.data.allLoaded = false;
+ that.data.isLoadMore = true;
+ that.data.total_page = res.data.last_page;
+ if (!that.data.total_page) {
+ that.data.total_page = 0;
+ }
+ let mydata = res.data.data;
+ if (that.data.selected == 0) {
+ //全部
+ that.setData({
+ all: mydata
+ });
+ } else if (that.data.selected == 1) {
+ //待审核
+ that.setData({
+ review: mydata
+ });
+ } else if (that.data.selected == 2) {
+ //待打款
+ that.setData({
+ waitPay: mydata
+ });
+ } else if (that.data.selected == 3) {
+ //打款
+ that.setData({
+ pay: mydata
+ });
+ } else if (that.data.selected == 4) {
+ //无效
+ that.setData({
+ invalid: mydata
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ getNetData(status) {
+ const that = this;
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-list');
+ that.data.isLoadMore = false;
+ that.data.page = 1;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: status,
+ withdrawal_type: this.data.withdrawal_type
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.data.allLoaded = false;
+ that.data.isLoadMore = true;
+ that.data.total_page = res.data.last_page;
+ if (!that.data.total_page) {
+ that.data.total_page = 0;
+ }
+ let ratioDatas = [];
+ //组装数据
+ let itemDay = {};
+ itemDay.money = res.data.today;
+ itemDay.data = "今日";
+ itemDay.name = "data";
+ ratioDatas.push(itemDay);
+
+ let itemYesterday = {};
+ itemYesterday.money = res.data.yesterday;
+ itemYesterday.data = "昨日";
+ itemYesterday.name = "data";
+ ratioDatas.push(itemYesterday);
+
+ let itemWeek = {};
+ itemWeek.money = res.data.lastweek;
+ itemWeek.data = "本周";
+ itemWeek.name = "data";
+ ratioDatas.push(itemWeek);
+
+ let itemMonth = {};
+ itemMonth.money = res.data.thismonth;
+ itemMonth.data = "本月累计提成";
+ itemMonth.name = "mounth";
+ ratioDatas.push(itemMonth);
+ that.setData({
+ ratioDatas: ratioDatas
+ });
+ var mydata = res.data.data;
+ if (that.data.selected == 0) {
+ //全部
+ that.setData({
+ all: mydata
+ });
+ } else if (that.data.selected == 1) {
+ //待审核
+ that.setData({
+ review: mydata
+ });
+ } else if (that.data.selected == 2) {
+ //待打款
+ that.setData({
+ waitPay: mydata
+ });
+ } else if (that.data.selected == 3) {
+ //无效
+ that.setData({
+ invalid: mydata
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ console.log(index);
+ this.setData({
+ selected: index
+ });
+ if (this.data.orderType === "supplier") {
+ this.getSupplierNetData();
+ } else if (this.data.orderType === "extension") {
+ this.getData(this.data.selected);
+ } else if (this.data.orderType === "store") {
+ if (e.detail.index == 0) {
+ this.data.status = '3';
+ } else if (e.detail.index == 1) {
+ this.data.status = '0';
+ } else if (e.detail.index == 2) {
+ this.data.status = '1';
+ } else if (e.detail.index == 3) {
+ this.data.status = '-1';
+ }
+ this.getNetData(this.data.status);
+ }else{
+ var sta;
+ if (index == 0) {
+ sta = '1';
+ } else if (index == 1) {
+ sta = '0';
+ } else if (index == 2) {
+ sta = '1';
+ } else if (index == 3) {
+ sta = '2';
+ }else if (index == 4) {
+ sta = '-1';
+ }
+ this.getNetData(sta);
+ }
+ },
+ getMoreData1(page, index) {
+ var that = this;
+ if (this.data.page == this.data.total_page) {
+ return;
+ }
+ if (this.data.page >= this.data.total_page) {
+ that.data.loading = true;
+ that.data.allLoaded = true;
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.api);
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ page: that.data.page,
+ member_id: that.data.member_id
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data.data;
+ that.data.loading = false;
+ that.data.allLoaded = false;
+ if (index == 0) {
+ //全部
+ that.setData({
+ all: that.data.all.concat(myData) //数组拼接
+ });
+ } else if (index == 1) {
+ //待审核
+ that.setData({
+ review: that.data.review.concat(myData) //数组拼接
+ });
+ } else if (index == 2) {
+ //待打款
+ that.setData({
+ waitPay: that.data.waitPay.concat(myData)
+ });
+ } else if (index == 3) {
+ //打款
+ that.setData({
+ pay: that.data.pay.concat(myData)
+ });
+ } else if (index == 4) {
+ //无效
+ that.setData({
+ invalid: that.data.invalid.concat(myData)
+ });
+ }
+ } else {
+ that.data.page = that.data.page - 1;
+ that.data.loading = true;
+ that.data.allLoaded = true;
+ that.data.isLoadMore = false;
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ getMoreData2(type) {
+ let status = '';
+ if (type == 0) {
+ status = '';
+ } else if (type == 1) {
+ status = '0';
+ } else if (type == 2) {
+ status = '1';
+ } else if (type == 3) {
+ status = '2';
+ } else if (type == 4) {
+ status = '-1';
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-log');
+ that.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: status,
+ page: that.data.page
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ that.data.isLoadMore = true;
+ that.data.loading = false;
+ that.data.allLoaded = false;
+ if (res.result == 1) {
+ let mydata = res.data.data;
+ if (that.data.selected == 0) {
+ //全部
+ that.setData({
+ all: that.all.concat(mydata)
+ });
+ } else if (that.data.selected == 1) {
+ //待审核
+ that.setData({
+ review: that.review.concat(mydata)
+ });
+ } else if (that.data.selected == 2) {
+ //待打款
+ that.setData({
+ waitPay: that.waitPay.concat(mydata)
+ });
+ } else if (that.data.selected == 3) {
+ //打款
+ that.setData({
+ pay: that.pay.concat(mydata)
+ });
+ } else if (that.data.selected == 4) {
+ //无效
+ that.setData({
+ invalid: that.invalid.concat(mydata)
+ });
+ }
+ } else {
+ that.data.page = that.data.page - 1;
+ that.data.isLoadMore = false;
+ that.data.loading = true;
+ that.data.allLoaded = true;
+ that.data.isLoadMore = false;
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ getMoreData3(status) {
+ let that = this;
+ let urlStr = app.getNetAddresss('finance.withdraw.withdraw-log');
+ that.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: that.data.status,
+ withdrawal_type: that.data.withdrawal_type,
+ page: that.data.page
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ that.data.isLoadMore = true;
+ that.data.loading = false;
+ that.data.allLoaded = false;
+ if (res.result == 1) {
+ let mydata = res.data.data;
+ if (that.data.selected == 0) {
+ //全部
+ that.setData({
+ all: that.all.concat(mydata)
+ });
+ } else if (that.data.selected == 1) {
+ //待审核
+ that.setData({
+ review: that.review.concat(mydata)
+ });
+ } else if (that.data.selected == 2) {
+ //待打款
+ that.setData({
+ waitPay: that.waitPay.concat(mydata)
+ });
+ } else if (that.data.selected == 3) {
+ //无效
+ that.setData({
+ invalid: that.invalid.concat(mydata)
+ });
+ }
+ } else {
+ that.data.page = that.data.page - 1;
+ that.data.isLoadMore = false;
+ that.data.loading = true;
+ that.data.allLoaded = true;
+ that.data.isLoadMore = false;
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ }
+ }
+});
diff --git a/packageD/auction/auctioneer-manage/my_money/my_money.json b/packageD/auction/auctioneer-manage/my_money/my_money.json
new file mode 100644
index 0000000..7a260fd
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/my_money/my_money.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "我的收入",
+ "usingComponents": {
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-tab": "../../../../dist/tab/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/my_money/my_money.wxml b/packageD/auction/auctioneer-manage/my_money/my_money.wxml
new file mode 100644
index 0000000..ba03810
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/my_money/my_money.wxml
@@ -0,0 +1,369 @@
+
+
+
+ {{item.money}}
+
+ {{item.data}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ ¥{{model.apply_money}}
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{model.type_name}}
+ ¥{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ ¥{{model.apply_money}}
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{model.type_name}}
+ ¥{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ ¥{{model.apply_money}}
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{model.type_name}}
+ ¥{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ ¥{{model.apply_money}}
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{model.type_name}}
+ ¥{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+ {{model.apply_sn}}
+ {{model.created_at}}
+
+
+ ¥{{model.apply_money}}
+ {{model.status_obj.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ {{model.type_name}}
+ ¥{{model.amounts}}
+
+
+ {{model.status_name}}
+ {{model.created_at}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+ 订单号:{{model.order_sn}}
+ {{model.created_at}}
+
+
+ 提成+{{model.amount}}
+ {{model.settlement}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/my_money/my_money.wxss b/packageD/auction/auctioneer-manage/my_money/my_money.wxss
new file mode 100644
index 0000000..197651d
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/my_money/my_money.wxss
@@ -0,0 +1,148 @@
+#my_money .today_bonus {
+ width: 100%;
+ height: 164rpx;
+ margin-top: 20rpx;
+ background: #fff;
+ padding: 32rpx 0;
+ box-sizing: border-box;
+ position: relative;
+ border-bottom: 2rpx solid #e2e2e2;
+}
+
+#my_money .today_bonus .li.line {
+ position: absolute;
+ width: 2rpx;
+ height: 104rpx;
+ background: #e2e2e2;
+ top: 32rpx;
+ right: 34%;
+}
+
+#my_money .today_bonus .li.line .careat {
+ width: 12rpx;
+ height: 12rpx;
+ border: 2rpx solid #ddd;
+ border-left: 0;
+ border-bottom: 0;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg);
+ background: #fff;
+ position: absolute;
+ top: 46rpx;
+ right: -6rpx;
+}
+
+#my_money .today_bonus .li {
+ text-align: center;
+ float: left;
+}
+
+#my_money .today_bonus .li .span {
+ font-size: 17.0016px;
+ line-height: 52rpx;
+ display: inline-block;
+ margin-bottom: 20rpx;
+}
+
+#my_money .today_bonus .li .b {
+ font-size: 11.0016px;
+ color: #333;
+}
+
+#my_money .today_bonus .li.data {
+ width: 21%;
+}
+
+#my_money .today_bonus .li.data .span {
+ color: #ffa800;
+}
+
+#my_money .today_bonus .li:first-child,
+#my_money .today_bonus .li:nth-child(2) {
+ border-right: 2rpx solid #e2e2e2;
+}
+
+#my_money .today_bonus .li.mounth {
+ width: 34%;
+}
+
+#my_money .today_bonus .li.mounth .span {
+ color: #fc6a70;
+}
+
+#my_money a {
+ color: #000;
+}
+
+#my_money .mint-navbar {
+ margin-bottom: 4rpx;
+}
+
+#my_money .mint-navbar .mint-tab-item {
+ padding: 28rpx 0;
+}
+
+#my_money .times {
+ text-align: left;
+ text-indent: 20rpx;
+ line-height: 64rpx;
+ background: #fff;
+}
+
+#my_money .tbs {
+ background: #fff;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ padding: 20rpx 28rpx;
+ border-bottom: 2rpx solid #ebebeb;
+ font-size: 14px;
+}
+
+#my_money .tbs .item2 {
+ flex: 3;
+ text-align: left;
+}
+
+#my_money .tbs .item2 li {
+ line-height: 60rpx;
+}
+
+#my_money .tbs .item3 {
+ flex: 2;
+ text-align: right;
+}
+
+#my_money .tbs .item3 .red {
+ color: red;
+}
+
+#my_money .tbs .item3 .green {
+ color: green;
+}
+
+#my_money .tbs .item3 .yellow {
+ color: yellow;
+}
+
+#my_money .tbs .item3 .reduce {
+ color: #e51c23;
+}
+
+#my_money .tbs .item3 span {
+ line-height: 60rpx;
+}
+
+#my_money .tbs .item3 p {
+ line-height: 60rpx;
+ color: #8c8c8c;
+}
+
+.nomessage {
+ color: #999;
+ padding-top: 15px;
+ text-align: center;
+}
diff --git a/packageD/auction/auctioneer-manage/password_change/password_change.js b/packageD/auction/auctioneer-manage/password_change/password_change.js
new file mode 100644
index 0000000..eb9404e
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/password_change/password_change.js
@@ -0,0 +1,158 @@
+// packageD/auction/auctioneer-manage/password_change/password_change.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ switch1Checked:false,
+ id: wx.getStorageSync('yz_uid'),
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+
+ },
+ blackbtn(e){
+ wx.navigateBack({
+ detail:1
+ });
+ },
+ switch1Change(e){
+ console.log(e);
+ this.setData({
+ switch1Checked: e.detail
+ });
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json={
+ status:that.data.switch1Checked?'1':'0',
+ art:'updateStatus'
+ };
+ app._getNetWork({
+ url: urlStr,
+ data:json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if(res.data.updateStatus == '修改成功'){
+ that.setData({
+ switch1Checked:that.data.switch1Checked
+ });
+ }else{
+ wx.showToast({
+ title: res.data.updateStatus,
+ icon:'none',
+ duration:1000
+ });
+ }
+
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ toset(){
+ wx.navigateTo({
+ url: '/packageD/auction/auctioneer-manage/set_password/set_password',
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getData(){
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ member_id: that.data.id,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ status: res.data.getVerify.status,
+ is_verify: res.data.getVerify.is_verify
+ });
+ if (that.data.is_verify == 0 && that.data.status == 1) {
+ that.setData({
+ switch1Checked: true
+ });
+ } else {
+ that.setData({
+ switch1Checked: false
+ });
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/password_change/password_change.json b/packageD/auction/auctioneer-manage/password_change/password_change.json
new file mode 100644
index 0000000..5fb1088
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/password_change/password_change.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "店铺密码设置",
+ "usingComponents": {
+ "van-switch": "../../../../dist/switch/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/password_change/password_change.wxml b/packageD/auction/auctioneer-manage/password_change/password_change.wxml
new file mode 100644
index 0000000..0b6869c
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/password_change/password_change.wxml
@@ -0,0 +1,14 @@
+
+
+
+ 进入店铺需要密码
+
+
+
+
+
+ 密码设置
+
+
+
+返回
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/password_change/password_change.wxss b/packageD/auction/auctioneer-manage/password_change/password_change.wxss
new file mode 100644
index 0000000..5d79c9e
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/password_change/password_change.wxss
@@ -0,0 +1,42 @@
+/* packageD/auction/auctioneer-manage/password_change/password_change.wxss */
+page {
+ background: #fff;
+}
+
+.box {
+ padding: 27rpx 0;
+ margin-left: 43rpx;
+ margin-right: 41rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background: #fff;
+ border-bottom: 1rpx solid #f2f2f7;
+}
+
+.body-view {
+ width: 80rpx;
+ height: 40rpx;
+}
+
+switch {
+ zoom: 0.6;
+}
+
+.box icon {
+ font-size: 40rpx;
+}
+
+.bbtn {
+ width: 589rpx;
+ height: 84rpx;
+ border-radius: 42rpx;
+ border: solid 2rpx #ff2c29;
+ text-align: center;
+ line-height: 84rpx;
+ font-size: 36rpx;
+ letter-spacing: 0rpx;
+ color: #ff2c29;
+ margin: 0 auto;
+ margin-top: 239rpx;
+}
diff --git a/packageD/auction/auctioneer-manage/set_password/set_password.js b/packageD/auction/auctioneer-manage/set_password/set_password.js
new file mode 100644
index 0000000..5b5d497
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/set_password/set_password.js
@@ -0,0 +1,337 @@
+// packageD/auction/auctioneer-manage/set_password/set_password.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ phone: '',
+ yanzm: '',
+ mima: '',
+ imgcode: '',
+ comfigmima: '',
+ from: {
+ country: "86",
+ mobile: "",
+ password: "",
+ confirm_password: "",
+ captcha: ""
+ },
+ codetext: '获取短信验证码',
+ start1: false,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getimgdata();
+ },
+ getyzm() {
+ console.log('获取验证码');
+ if (this.data.start1) {
+ return false;
+ }
+ let time = 60;
+ let that = this;
+ that.setData({
+ "start1": true,
+ "codetext": "(" + time + ")秒后重新获取"
+ });
+ let set = setInterval(function () {
+ that.setData({
+ codetext: "(" + --time + ")秒后重新获取",
+ });
+ }, 1000);
+ setTimeout(function () {
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ }, 60000);
+ that.verificationCode(set);
+ },
+ //发送验证码
+ verificationCode(set) {
+ let that = this;
+ if (app._isTextEmpty(this.data.from.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写手机号',
+ duration: 1500
+ });
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ return;
+ }
+ if (this.data.from.country == "86" && app._isMoblie(this.data.from.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写正确的手机号',
+ duration: 1500
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.from.captcha) && this.data.imgcode) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填图形验证码',
+ duration: 1500
+ });
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false
+ });
+ clearInterval(set);
+ return;
+ } else {
+ let urlStr = app.getNetAddresss("member.register.sendWithdrawCode");
+ urlStr += '&mobile=' + this.data.from.mobile;
+ urlStr += '&state=' + this.data.from.country;
+ urlStr += '&captcha=' + this.data.from.captcha;
+ urlStr += '&code=' + this.data.from.code;
+ urlStr += '&reset=1';
+ urlStr += '&sms_type=2';
+ // 发送获取验证码的请求
+ app._getNetWork({
+ url: urlStr,
+ validateBol: 2,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: '已发送',
+ duration: 1500
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ //刷新图形验证码
+ that.setData({
+ 'form.captcha': '',
+ });
+ that.getimgdata();
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ value_one(e) {
+ console.log(e.detail.value);
+ this.setData({
+ 'from.mobile': e.detail.value
+ });
+ console.log(this.data.from);
+ },
+ value_two(e) {
+ this.setData({
+ 'from.code': e.detail.value
+ });
+ },
+ value_thr(e) {
+ this.setData({
+ 'from.password': e.detail.value
+ });
+ console.log(this.data.from.password);
+ },
+ value_four(e) {
+ this.setData({
+ 'from.confirm_password': e.detail.value
+ });
+ },
+ confirm() {
+ if (app._isTextEmpty(this.data.from.mobile)) {
+ wx.showToast({
+ title: '请填写手机号',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ if (app._isMoblie(this.data.from.mobile) && this.data.from.country == '86') {
+ wx.showToast({
+ title: '请填写正确的手机号',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.from.code)) {
+ wx.showToast({
+ title: '请填验证码',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.from.password)) {
+ wx.showToast({
+ title: '请填写密码',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.from.confirm_password)) {
+ wx.showToast({
+ title: '请填写确认密码',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ art: 'setPassword',
+ repeat: that.data.from.confirm_password,
+ passwd: that.data.from.password,
+ mobile: that.data.from.mobile,
+ code: that.data.from.code
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ success() {
+ setTimeout(() => {
+ wx.navigateTo({
+ url: '/packageD/auction/auctioneer-manage/auctioneer/auctioneer',
+ });
+ }, 1000);
+ }
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //获取图片验证码
+ getimgdata() {
+ let that = this;
+ let urlStr = app.getNetAddresss("home-page.index");
+ app._getNetWork({
+ url: urlStr,
+ validateBol: 2,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.captcha) {
+ that.setData({
+ imgcode: res.data.captcha.img
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ tapin() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ art: 'setPassword',
+ repeat: that.data.form.confirm_password,
+ passwd: that.data.form.password,
+ mobile: that.data.form.mobile,
+ code: that.data.form.code
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res.data);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/set_password/set_password.json b/packageD/auction/auctioneer-manage/set_password/set_password.json
new file mode 100644
index 0000000..176ee19
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/set_password/set_password.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "密码设置",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/set_password/set_password.wxml b/packageD/auction/auctioneer-manage/set_password/set_password.wxml
new file mode 100644
index 0000000..5bbb81a
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/set_password/set_password.wxml
@@ -0,0 +1,40 @@
+
+
+
+
+ 手机号码
+
+
+
+
+
+ 图形验证码
+
+
+
+
+
+
+
+
+ 验证码
+
+
+ {{codetext}}
+
+
+
+ 设置密码
+
+
+
+
+
+
+ 确认密码
+
+
+
+
+ 确定
+
diff --git a/packageD/auction/auctioneer-manage/set_password/set_password.wxss b/packageD/auction/auctioneer-manage/set_password/set_password.wxss
new file mode 100644
index 0000000..ddfb4b4
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/set_password/set_password.wxss
@@ -0,0 +1,66 @@
+/* packageD/auction/auctioneer-manage/set_password/set_password.wxss */
+page {
+ background: #fff;
+}
+
+.box {
+ background: #fff;
+}
+
+.linebox {
+ padding: 37rpx 0;
+ margin: 0 25rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border-bottom: 1rpx solid #efefef;
+}
+
+.left {
+ display: flex;
+ align-items: center;
+}
+
+.left view {
+ width: 150rpx;
+ margin-right: 20rpx;
+ margin-left: 18rpx;
+ font-size: 28rpx;
+ color: #000;
+}
+
+.left input {
+ flex: 1;
+}
+
+.right {
+ font-size: 24rpx;
+ line-height: 50rpx;
+ letter-spacing: 0rpx;
+ color: #ff2c29;
+}
+
+.btn {
+ width: 589rpx;
+ height: 84rpx;
+ background-color: #ff2c29;
+ border-radius: 42rpx;
+ margin: 0 auto;
+ font-size: 36rpx;
+ line-height: 84rpx;
+ letter-spacing: 0rpx;
+ color: #fff;
+ text-align: center;
+ margin-top: 120rpx;
+}
+
+.right.disabled {
+ background-color: #ccc;
+ color: #f0f0f0;
+}
+
+.right.truebled {
+ background-color: #ef4f4f;
+ color: #f0f0f0;
+ padding: 0 10rpx;
+}
diff --git a/packageD/auction/auctioneer-manage/shop_share/shop_share.js b/packageD/auction/auctioneer-manage/shop_share/shop_share.js
new file mode 100644
index 0000000..29bb3bb
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/shop_share/shop_share.js
@@ -0,0 +1,139 @@
+// packageD/auction/auctioneer-manage/shop_share/shop_share.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ tempFilePaths: '',
+ uploadUrl: 'upload.uploadPic',
+ imageUs: []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+
+ },
+ // 获取删除的下标
+ delIntu(e) {
+ var delpaths = this.data.imageUs;
+ let del = e.currentTarget.id;
+ if (del == '0' && delpaths.length == '1') {
+ this.setData({
+ imageUs: ''
+ });
+ return;
+ }
+ var indelpaths = delpaths.splice(del, 1);
+ console.log(del);
+ console.log(indelpaths);
+ this.setData({
+ imageUs: indelpaths
+ });
+ },
+ // 上传图片
+ tapin() {
+ let that = this;
+ let ig = '1';
+ wx.chooseImage({
+ count: 9,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ console.log(res.tempFilePaths);
+ that.unload({
+ tempFilePaths: res.tempFilePaths
+ }, ig);
+ }
+ });
+ },
+ //多张上传方法
+ unload(data, ig) {
+ console.log(ig);
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ var that = this,
+ i = data.i ? data.i : 0,
+ success = data.success ? data.success : 0,
+ fail = data.fail ? data.fail : 0;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: data.tempFilePaths[i],
+ name: 'file',
+ formData: null,
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ console.log(res);
+ console.log(res.data.img);
+ that.setData({
+ imageUs: that.data.imageUs.concat(res.data.img_url)
+ });
+ },
+ fail(e) {
+ fail++;
+ },
+ complete(e) {
+ i++;
+ if (i == data.tempFilePaths.length) { //当图片传完时,停止调用
+ console.log('执行完毕');
+ console.log('成功:' + success + " 失败:" + fail);
+ } else { //若图片还没有传完,则继续调用函数
+ data.i = i;
+ data.success = success;
+ data.fail = fail;
+ that.unload(data, ig); //递归,回调自己
+ }
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+});
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/shop_share/shop_share.json b/packageD/auction/auctioneer-manage/shop_share/shop_share.json
new file mode 100644
index 0000000..7f9c505
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/shop_share/shop_share.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "店铺分享海报",
+ "usingComponents": {
+ "van-icon": "../../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/shop_share/shop_share.wxml b/packageD/auction/auctioneer-manage/shop_share/shop_share.wxml
new file mode 100644
index 0000000..e349ef9
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/shop_share/shop_share.wxml
@@ -0,0 +1,16 @@
+
+
+ 分享图片
+
+
+
+
+
+
+
+
+
+
+
+
+确定
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-manage/shop_share/shop_share.wxss b/packageD/auction/auctioneer-manage/shop_share/shop_share.wxss
new file mode 100644
index 0000000..3735d1f
--- /dev/null
+++ b/packageD/auction/auctioneer-manage/shop_share/shop_share.wxss
@@ -0,0 +1,73 @@
+/* packageD/auction/auctioneer-manage/shop_share/shop_share.wxss */
+page {
+ background: #fff;
+}
+
+.title {
+ font-size: 28rpx;
+ line-height: 50rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+ padding-left: 43rpx;
+ padding-top: 24rpx;
+}
+
+.btn {
+ width: 589rpx;
+ height: 84rpx;
+ background-color: #ff2c29;
+ border-radius: 42rpx;
+ margin: 0 auto;
+ font-size: 36rpx;
+ line-height: 84rpx;
+ letter-spacing: 0rpx;
+ color: #fff;
+ text-align: center;
+ margin-top: 120rpx;
+}
+
+.photo {
+ margin-top: 32rpx;
+ margin-left: 60rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.photo .tapbox {
+ width: 148rpx;
+ height: 148rpx;
+ border-radius: 10rpx;
+ border: 1rpx dashed #000;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ /* margin-left: 20rpx; */
+}
+
+.photo .tapbox image {
+ width: 50rpx;
+ height: 50rpx;
+}
+
+.isphoto {
+ width: 148rpx;
+ height: 148rpx;
+ border-radius: 10rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ position: relative;
+}
+
+.minboxa {
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: ;
+}
+
+.isphoto image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
diff --git a/packageD/auction/auctioneer-publish/publish_first/publish_first.js b/packageD/auction/auctioneer-publish/publish_first/publish_first.js
new file mode 100644
index 0000000..018bc8b
--- /dev/null
+++ b/packageD/auction/auctioneer-publish/publish_first/publish_first.js
@@ -0,0 +1,604 @@
+// packageD/auction/auctioneer-publish/publish_first/publish_first.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ form: {
+ title: '',
+ sku: '',
+ // 拍品图片
+ thumb: '',
+ // 其他图片
+ thumb_url: [],
+ // 拍品详情图片
+ content: '',
+ // 备注
+ describe: '',
+ // 属性名
+ // param_title:'',
+ //属性值
+ // param_value:''
+ },
+ // 属性弹窗
+ showphone: false,
+ // 服务协议
+ checkXy: true,
+ checkXy_show: false,
+ protocol: '',
+ // 属性数组
+ paramArr: [],
+ param_title: [],
+ param_value: [],
+ uploadUrl: 'upload.uploadPic',
+ // 分类数组
+ sectionOptions: [],
+ newoptions: [],
+ // 显示分类
+ addressShow: false,
+ one: 0,
+ two: 0,
+ pickerValue: [0, 0, 0],
+ selectedOptions3: []
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.good) {
+ this.setData({
+ "form.goods_id": options.good
+ });
+ this.getInfo();
+ }
+ this.getAgreement();
+ this.getJson();
+
+ },
+ onClicksQ() {
+ this.setData({
+ checkXy_show: false
+ });
+ },
+ onClicks() {
+ this.setData({
+ checkXy_show: true
+ });
+ },
+ // 删除拍品图片
+ delThumb(e) {
+ let del = e.currentTarget.id;
+ if (del == 0) {
+ this.setData({
+ "form.thumb": ''
+ });
+ }
+ },
+ delcontent(e) {
+ let del = e.currentTarget.id;
+ if (del == 0) {
+ this.setData({
+ "form.content": ''
+ });
+ }
+ },
+ delthumb_url(e) {
+ let del = e.currentTarget.id;
+ if (del == 0) {
+ this.setData({
+ "form.thumb_url": ''
+ });
+ }
+ },
+ Chooseinp() {
+ this.setData({
+ checkXy: !this.data.checkXy
+ });
+ },
+ calshow() {
+ this.setData({
+ showphone: false
+ });
+ },
+ //删除已添加的属性
+ delShuxing(e) {
+ console.log(e.currentTarget.dataset.ind);
+ let ind = e.currentTarget.dataset.ind;
+ if (ind == 0) {
+ this.setData({
+ paramArr: []
+ });
+ return;
+ }
+ this.data.paramArr.splice(ind, 1);
+ },
+ pushAttr() {
+ if (app._isTextEmpty(this.data.param_title)) {
+ wx.showToast({
+ title: '请填写属性名',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.param_value)) {
+ wx.showToast({
+ title: '请填写属性值',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ let json = {
+ attrname: this.data.param_value,
+ attrvalue: this.data.param_title
+ };
+ let sarr = this.data.paramArr;
+ sarr.push(json);
+ this.setData({
+ paramArr: sarr,
+ showphone: false
+ });
+ },
+ // 属性值
+ attrvalue(e) {
+ this.setData({
+ param_value: e.detail.value
+ });
+ },
+ // 属性名
+ attrname(e) {
+ this.setData({
+ param_title: e.detail.value
+ });
+ },
+ isCoverLayer(e) {
+ this.setData({
+ showphone: false
+ });
+ },
+ tapSx(e) {
+ this.setData({
+ showphone: true,
+ param_title: '',
+ param_value: ''
+ });
+ },
+ title(e) {
+ this.setData({
+ "form.title": e.detail.value
+ });
+ },
+ sku(e) {
+ this.setData({
+ "form.sku": e.detail.value
+ });
+ },
+ stock(e){
+ this.setData({
+ "form.stock":e.detail.value
+ });
+ },
+ remarkinp(e) {
+ this.setData({
+ "form.describe": e.detail.value
+ });
+ },
+ upLoad_1() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths);
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ "form.thumb": res.data.img_url,
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ }
+ });
+ },
+ upLoad_2() {
+ let that = this;
+ let ig = '1';
+ wx.chooseImage({
+ count: 9,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ console.log(res.tempFilePaths);
+ that.unload({
+ tempFilePaths: res.tempFilePaths
+ }, ig);
+ }
+ });
+ },
+ upLoad_3() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ console.log(tempFilePaths);
+ let photourl = tempFilePaths[0];
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ that.setData({
+ "form.content": res.data.img_url,
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ }
+ });
+ },
+ //多张上传方法 1
+ unload(data, ig) {
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ var that = this,
+ i = data.i ? data.i : 0,
+ success = data.success ? data.success : 0,
+ fail = data.fail ? data.fail : 0;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: data.tempFilePaths[i],
+ name: 'file',
+ formData: null,
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ that.setData({
+ "form.thumb_url": that.data.form.thumb_url.concat(res.data.img_url)
+ });
+ console.log(that.data.form.thumb_url);
+ },
+ fail(e) {
+ fail++;
+ },
+ complete(e) {
+ i++;
+ if (i == data.tempFilePaths.length) { //当图片传完时,停止调用
+ console.log('执行完毕');
+ console.log('成功:' + success + " 失败:" + fail);
+ } else { //若图片还没有传完,则继续调用函数
+ data.i = i;
+ data.success = success;
+ data.fail = fail;
+ that.unload(data, ig); //递归,回调自己
+ }
+ }
+ });
+ },
+
+ // 获取分类信息
+ getJson() {
+ let that = this;
+ let json = {
+ art: 'getGoodsCategory'
+ };
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ for (let i = 0; i < res.data.getGoodsCategory.length; i++) {
+ that.data.sectionOptions.push({
+ id: res.data.getGoodsCategory[i].id,
+ value: res.data.getGoodsCategory[i].id,
+ label: res.data.getGoodsCategory[i].name,
+ children: []
+ });
+ for (let k = 0; k < res.data.getGoodsCategory[i].childrens.length; k++) {
+ that.data.sectionOptions[i].children.push({
+ id: res.data.getGoodsCategory[i].childrens[k].id,
+ value: res.data.getGoodsCategory[i].childrens[k].id,
+ label: res.data.getGoodsCategory[i].childrens[k].name,
+ childrens: []
+ });
+ if(that.data.cat_level == 3){
+ for (let a = 0; a < res.data.getGoodsCategory[i].childrens[k].childrens.length; a++) {
+ that.data.sectionOptions[i].children[k].childrens.push({
+ id: res.data.getGoodsCategory[i].childrens[k].childrens[a].id,
+ value: res.data.getGoodsCategory[i].childrens[k].childrens[a].id,
+ label: res.data.getGoodsCategory[i].childrens[k].childrens[a].name,
+ });
+ }
+ }
+ }
+ }
+ that.setData({
+ sectionOptions: that.data.sectionOptions
+ });
+ console.log(that.data.sectionOptions);
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 选择方法
+ bindChange(e) {
+ var val = e.detail.value;
+ this.setData({
+ one: val[0],
+ two: val[1],
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2]
+ });
+ },
+ // 选择取消
+ _closeDateLw() {
+ this.setData({
+ addressShow: false
+ });
+ },
+ resultAdd() {
+ // selectedOptions3
+ this.data.selectedOptions3.push(this.data.sectionOptions[this.data.pickerValue[0]].id);
+ if (this.data.sectionOptions[this.data.pickerValue[0]].children[this.data.pickerValue[1]]) {
+ this.data.selectedOptions3.push(this.data.sectionOptions[this.data.pickerValue[0]].children[this.data.pickerValue[1]].id);
+ if(this.data.sectionOptions[this.data.pickerValue[0]].children[this.data.pickerValue[1]].childrens[this.data.pickerValue[2]]){
+ this.data.selectedOptions3.push(this.data.sectionOptions[this.data.pickerValue[0]].children[this.data.pickerValue[1]].childrens[this.data.pickerValue[2]].id);
+ }
+ console.log(this.data.selectedOptions3);
+ this.setData({
+ selectedOptions3: this.data.selectedOptions3,
+ addressShow: false
+ });
+ } else {
+ wx.showToast({
+ title: '至少要选择二级分类',
+ icon: 'none',
+ duration: 1000
+ });
+ this.setData({
+ addressShow: false
+ });
+ }
+
+ // this.data.selectedOptions3.push(this.data.sectionOptions[this.data.pickerValue[0]].children[this.data.pickerValue[1]].id)
+ // this.data.selectedOptions3.push(this.data.sectionOptions[this.data.pickerValue[0]].children[this.data.pickerValue[1]].childrens[this.data.pickerValue[2]].id)
+
+ },
+ xuanzefenl() {
+ this.setData({
+ addressShow: true,
+ selectedOptions3: []
+ });
+ },
+ nextbox() {
+ if (app._isTextEmpty(this.data.form.title)) {
+ wx.showToast({
+ title: '请输入拍品单位',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.sku)) {
+ wx.showToast({
+ title: '请输入拍品单位',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ if (this.data.selectedOptions3.length <= 0) {
+ wx.showToast({
+ title: '请选择商品分类',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.thumb)) {
+ wx.showToast({
+ title: '请上传拍品图片',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ if (!this.data.checkXy) {
+ wx.showToast({
+ title: '请同意竞拍服务协议',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ } else {
+ console.log(this.data.paramArr);
+ let json = {
+ from: this.data.form,
+ param_title: this.data.paramArr.length > 0 ? JSON.stringify(this.data.paramArr.map((item) => {
+ return item.attrvalue;
+ })) : JSON.stringify([]),
+ param_value: this.data.paramArr.length > 0 ? JSON.stringify(this.data.paramArr.map((item) => {
+ return item.attrname;
+ })) : JSON.stringify([]),
+ category: JSON.stringify([this.data.selectedOptions3])
+ };
+ console.log(JSON.stringify(json));
+ let sjson = JSON.stringify(json);
+ if (this.data.form.goods_id) {
+ // 是编辑
+ console.log('是编辑');
+ wx.navigateTo({
+ url: '/packageD/auction/auctioneer-publish/publish_second/publish_second?json=' + sjson + "&&goods_id=" + this.data.form.goods_id,
+ });
+ } else {
+ console.log('是发布');
+ wx.navigateTo({
+ url: '/packageD/auction/auctioneer-publish/publish_second/publish_second?json=' + sjson,
+ });
+ }
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ // 获取协议
+ getAgreement() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._postNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ protocol: res.data.getAgreement.protocol,
+ cat_level:res.data.getAgreement.cat_level
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 编辑
+ getInfo() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ art: 'editGoods',
+ goods_id: this.data.form.goods_id
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let ars = that.data.paramArr;
+ res.data.editGoods.has_many_params.forEach((item, index, key) => {
+ let obj = {};
+ obj.attrvalue = item.value;
+ obj.attrname = item.title;
+ ars.push(obj);
+ });
+ that.setData({
+ "form.title": res.data.editGoods.title,
+ "form.sku": res.data.editGoods.sku,
+ "form.thumb": res.data.editGoods.thumb,
+ "form.describe": res.data.editGoods.has_one_auction_goods.describe,
+ "form.content": res.data.editGoods.content,
+ "form.thumb_url": res.data.editGoods.thumb_url,
+ "form.stock": res.data.editGoods.stock,
+ paramArr: ars,
+ selectedOptions3: res.data.editGoods.has_many_goods_category[0].category_ids.split(','),
+
+ });
+ console.log(that.data);
+
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-publish/publish_first/publish_first.json b/packageD/auction/auctioneer-publish/publish_first/publish_first.json
new file mode 100644
index 0000000..4519518
--- /dev/null
+++ b/packageD/auction/auctioneer-publish/publish_first/publish_first.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "拍品发布",
+ "usingComponents": {
+ "van-icon": "../../../../dist/icon/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-checkbox": "../../../../dist/checkbox/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-publish/publish_first/publish_first.wxml b/packageD/auction/auctioneer-publish/publish_first/publish_first.wxml
new file mode 100644
index 0000000..e5a1f08
--- /dev/null
+++ b/packageD/auction/auctioneer-publish/publish_first/publish_first.wxml
@@ -0,0 +1,148 @@
+
+
+
+ 拍品标题
+
+
+
+
+
+ 拍品单位
+
+
+
+
+
+ 拍品库存
+
+
+
+
+
+ 拍品分类
+ 选择拍品分类
+
+ {{sectionOptions[pickerValue[0]].label}}/{{sectionOptions[pickerValue[0]].children[pickerValue[1]].label}}/{{sectionOptions[pickerValue[0]].children[pickerValue[1]].childrens[pickerValue[0]].label}}
+
+
+
+ 拍品图片
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 其他图片
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 拍品描述
+
+
+
+ 拍品详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 拍品属性
+
+
+ {{item.attrvalue}}:{{item.attrname}}
+
+
+
+
+ 添加属性
+
+
+
+
+
+
+
+ 《竞拍服务协议》
+
+ 下一步
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-publish/publish_first/publish_first.wxss b/packageD/auction/auctioneer-publish/publish_first/publish_first.wxss
new file mode 100644
index 0000000..a28b543
--- /dev/null
+++ b/packageD/auction/auctioneer-publish/publish_first/publish_first.wxss
@@ -0,0 +1,272 @@
+/* packageD/auction/auctioneer-publish/publish_first/publish_first.wxss */
+page {
+ background: #fff;
+ height: 100vh;
+}
+
+.content {
+ padding: 0 25rpx;
+ padding-bottom: 180rpx;
+}
+
+.item {
+ text-align: left;
+ padding-top: 27rpx;
+ padding-bottom: 24rpx;
+ border-bottom: 1rpx solid #ccc;
+}
+
+.items {
+ text-align: left;
+ padding-top: 27rpx;
+ padding-bottom: 14rpx;
+ border-bottom: 1rpx solid #ccc;
+}
+
+.item .title {
+ font-size: 32rpx;
+ color: #000;
+ margin-left: 8rpx;
+ margin-bottom: 25rpx;
+}
+
+.items .title {
+ font-size: 32rpx;
+ color: #000;
+ margin-left: 8rpx;
+ margin-bottom: 25rpx;
+}
+
+.input input {
+ font-size: 32rpx;
+ color: #999;
+ margin-left: 8rpx;
+}
+
+.is_fenlei {
+ max-width: 240rpx;
+ height: 60rpx;
+ background: #fff;
+ border-radius: 30rpx;
+ border: 1px solid #ff2c29;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ color: #000;
+ text-align: center;
+ line-height: 60rpx;
+ padding: 0 10rpx;
+}
+
+.fenlei {
+ width: 229rpx;
+ height: 60rpx;
+ background: #ff2c29;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ border-radius: 30rpx;
+}
+
+.image_thumb {
+ width: 148rpx;
+ height: 148rpx;
+ border-radius: 15rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-right: 20rpx;
+ position: relative;
+}
+
+.postabax {
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+
+.image_thumb image {
+ width: 100%;
+ height: 100%;
+ border-radius: 15rpx;
+}
+
+.image_one {
+ width: 148rpx;
+ height: 148rpx;
+ border: 1rpx dashed #999;
+ border-radius: 15rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.image_one image {
+ width: 50rpx;
+ height: 50rpx;
+}
+
+textarea {
+ width: 100%;
+ background: #fafafa;
+}
+
+.shuxing {
+ width: 229rpx;
+ height: 60rpx;
+ border-radius: 30rpx;
+ border: solid 1rpx #ff1f1c;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 32rpx;
+ color: #ff1f1c;
+ background: #fff;
+}
+
+.shuxingAdd {
+ /* width: 229rpx; */
+ height: 60rpx;
+ border-radius: 30rpx;
+ border: solid 1rpx #ff1f1c;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 32rpx;
+ color: #ff1f1c;
+ background: #fff;
+ padding: 0 10rpx 0 20rpx;
+ margin-right: 20rpx;
+}
+
+.bottom_btn {
+ width: 750rpx;
+ height: 98rpx;
+ background-color: #fff;
+ box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(0, 0, 0, 0.08);
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ z-index: 100;
+}
+
+.btn_left {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-left: 29rpx;
+ color: #ff2c29;
+}
+
+.btn_right {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ background: #ff2c29;
+ width: 186rpx;
+ height: 60rpx;
+ border-radius: 30rpx;
+ margin-right: 41rpx;
+}
+
+/* 弹窗 */
+.pop {
+ border-radius: 32rpx;
+ background-color: #fff;
+}
+
+.pop .top {
+ padding: 32rpx;
+ border-bottom: solid 1px #e2e2e2;
+}
+
+.pop .top .input {
+ display: flex;
+ color: #666;
+ align-items: center;
+ outline: none;
+ border: none;
+ border-bottom: solid 1px #e2e2e2;
+ margin-bottom: 32rpx;
+ width: 100%;
+ padding-bottom: 15rpx;
+}
+
+.pop .top .input:last-child {
+ margin-bottom: 0;
+}
+
+.pop .bottom {
+ display: flex;
+ height: 66rpx;
+ align-items: center;
+}
+
+.pop .bottom view {
+ width: 50%;
+}
+
+.two .van-popup {
+ border-radius: 31rpx;
+}
+
+/* **************** */
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* ----------------------------------------- */
diff --git a/packageD/auction/auctioneer-publish/publish_second/publish_second.js b/packageD/auction/auctioneer-publish/publish_second/publish_second.js
new file mode 100644
index 0000000..c48db5d
--- /dev/null
+++ b/packageD/auction/auctioneer-publish/publish_second/publish_second.js
@@ -0,0 +1,433 @@
+// packageD/auction/auctioneer-publish/publish_second/publish_second.js
+var app = getApp();
+import util from '../../../../utils/util.js';
+// var datime = util.formatTime(new Date());
+import dateUtils from '../../../../utils/dateutils.js';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ endorsement_name: '',
+ params_json: [],
+ onetap: true,
+ twotap: true,
+ date: new Date().getTime(),
+ isShowPicker: false,
+ isShowPicker_two: false,
+ // json
+ form: {
+ market_price: '',
+ mini_markup: '',
+ mini_deal: '',
+ prepayment_mode: '1',
+ advance_proportion: '',
+ advance_money: '',
+ start_shooting: '',
+ end_shooting: '',
+ duration: '',
+ endorsement: '',
+ start_price: '',
+ is_restart: '0',
+ em_proportion: '',
+ em_mode: '1',
+ fixed_price: '',
+ delay_before_minute:'',
+ delay_cycle_minute:''
+ },
+ show: false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.json) {
+ let json = JSON.parse(options.json);
+ this.setData({
+ params_json: json,
+ });
+ }
+ if (options.goods_id) {
+ this.setData({
+ goods_id: options.goods_id
+ });
+ this.getInfo();
+ }
+ this.getAgreement();
+ console.log(this.data.params_json);
+ },
+ back() {
+ wx.navigateBack({
+ delta: 2
+ });
+ },
+ // 日期组件
+ onYMDhms(e) {
+ this.setData({
+ isShowPicker: true,
+ mode: "YMDhm",
+ data: {
+ type: "YMDhm"
+ }
+ });
+ },
+ // 日期组件二
+ onYMDhms_two(e) {
+ this.setData({
+ isShowPicker_two: true,
+ mode: "YMDhm",
+ data: {
+ type: "YMDhm"
+ }
+ });
+ },
+ datePickerCancellEvent(e) {
+ this.setData({
+ isShowPicker: false,
+ isShowPicker_two: false
+ });
+ },
+ datePickerOkEvent(e) {
+ let date = e.detail.date;
+ // var timestamp = Date.parse(new Date());
+ // var starTime = Date.parse(dateUtils.formatLongTime(date, "Y/M/D h:m"));
+ let isshowtime = dateUtils.formatLongTime(date, "Y/M/D h:m");
+ // if(Number(starTime)= Number(endTime)) {
+ wx.showToast({
+ title: '结束时间要大于开始时间',
+ icon: 'none',
+ duration: 1000
+ });
+ return;
+ }
+ this.setData({
+ isShowPicker_two: false,
+ "form.end_shooting": dateUtils.formatLongTime(date, "Y/M/D h:m"),
+ isshowtime2: isshowtime
+ });
+ },
+ lastStep() {
+ wx.navigateBack({
+ // url: '/packageD/auction/auctioneer-publish/publish_first/publish_first',
+ delta: 1
+ });
+ },
+ is_onetap() {
+ this.setData({
+ onetap: !this.data.onetap
+ });
+ },
+ is_twotap() {
+ this.setData({
+ twotap: !this.data.twotap
+ });
+ },
+ line1(e) {
+ let keyValue = e.detail.value;
+ this.setData({
+ "form.market_price": keyValue
+ });
+ },
+ line2(e) {
+ let keyValue = e.detail.value;
+ this.setData({
+ "form.start_price": keyValue
+ });
+ },
+ line3(e) {
+ let keyValue = e.detail.value;
+ this.setData({
+ "form.fixed_price": keyValue
+ });
+ },
+ line4(e) {
+ let keyValue = e.detail.value;
+ this.setData({
+ "form.mini_markup": keyValue
+ });
+ },
+ line5(e) {
+ let keyValue = e.detail.value;
+ this.setData({
+ "form.mini_deal": keyValue
+ });
+ },
+ line6(e) {
+ let keyValue = e.detail.value;
+ this.setData({
+ "form.time_interval": keyValue
+ });
+ },
+ line7(e) {
+ let keyValue = e.detail.value;
+ this.setData({
+ "form.duration": keyValue
+ });
+ },
+ line8(e) {
+ let keyValue = e.detail.value;
+ let keyId = e.currentTarget.dataset.id;
+ console.log(keyId, keyValue);
+ if (keyId == '1') {
+ this.setData({
+ "form.prepayment_mode": keyId,
+ "form.advance_proportion": keyValue
+ });
+ } else if (keyId == '2') {
+ this.setData({
+ "form.prepayment_mode": keyId,
+ "form.advance_money": keyValue
+ });
+ }
+ console.log(this.data.form.prepayment_mode, this.data.form.advance_proportion);
+ },
+ line9(e) {
+ let keyValue = e.detail.value;
+ let keyId = e.currentTarget.dataset.id;
+ console.log(keyId, keyValue);
+ if (keyId == '1') {
+ this.setData({
+ "form.em_mode": keyId,
+ "form.em_proportion": keyValue
+ });
+ } else if (keyId == '2') {
+ this.setData({
+ "form.em_mode": keyId,
+ "form.endorsement": keyValue
+ });
+ }
+ // console.log(this.data.form.em_proportion,this.data.form.endorsement)
+ },
+ tap_delay_before_minute(e){
+ let num = e.detail.value;
+ if(e.currentTarget.dataset.key == "delay"){
+ this.setData({
+ "form.delay_before_minute":num
+ });
+ }else{
+ this.setData({
+ "form.delay_cycle_minute":num
+ });
+ }
+ },
+ line10(e) {
+ let keyValue = e.detail.value;
+ this.setData({
+ "form.dispatch_price": keyValue
+ });
+ },
+ eInvoiceChange(e) {
+ let val = e.detail;
+ this.setData({
+ "form.is_restart": val
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ // 发布获取信息
+ getAgreement() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ is_examine: res.data.getAgreement.is_examine,
+ endorsement_name: res.data.endorsement_name
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 编辑接口
+ getInfo() {
+ var that = this;
+ console.log(this.data.goods_id);
+ let json = {
+ art: 'editGoods',
+ goods_id: this.data.goods_id
+ };
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ "form.advance_money": res.data.editGoods.has_one_auction_goods.advance_money,
+ "form.advance_proportion": res.data.editGoods.has_one_auction_goods.advance_proportion,
+ "form.market_price": res.data.editGoods.market_price,
+ "form.endorsement": res.data.editGoods.has_one_auction_goods.endorsement,
+ "form.em_proportion": res.data.editGoods.has_one_auction_goods.em_proportion,
+ "form.mini_deal": res.data.editGoods.has_one_auction_goods.mini_deal,
+ "form.mini_markup": res.data.editGoods.has_one_auction_goods.mini_markup,
+ "form.start_price": res.data.editGoods.has_one_auction_goods.start_price,
+ "form.start_shooting": util.formatTimeTwo(res.data.editGoods.has_one_auction_goods.start_shooting, 'Y/M/D h:m:s'),
+ "form.end_shooting": util.formatTimeTwo(res.data.editGoods.has_one_auction_goods.end_shooting, 'Y/M/D h:m:s'),
+ "form.fixed_price": res.data.editGoods.has_one_auction_goods.fixed_price,
+ "form.duration": res.data.editGoods.has_one_auction_goods.duration,
+ "form.time_interval": res.data.editGoods.has_one_auction_goods.time_interval,
+ twotap: app._isTextEmpty(res.data.editGoods.has_one_auction_goods.endorsement, ) ? true : false,
+ onetap: app._isTextEmpty(res.data.editGoods.has_one_auction_goods.advance_money) ? true : false,
+ "form.dispatch_price": res.data.editGoods.has_one_auction_goods.dispatch_price,
+ isshowtime1: util.formatTimeTwo(res.data.editGoods.has_one_auction_goods.start_shooting, 'Y/M/D h:m:s'),
+ isshowtime2: util.formatTimeTwo(res.data.editGoods.has_one_auction_goods.end_shooting, 'Y/M/D h:m:s'),
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 发布接口
+ showPop() {
+ let that = this;
+ let json = Object.assign(that.data.params_json.from, that.data.form);
+ if (!app._isTextEmpty(json.content)) {
+ json.content = `
`;
+ }
+ let arrcategory = [];
+ arrcategory[0] = JSON.parse(that.data.params_json.category)[0][0];
+ arrcategory[1] = JSON.parse(that.data.params_json.category)[0][1];
+ json.param_title = JSON.parse(that.data.params_json.param_title);
+ json.param_value = JSON.parse(that.data.params_json.param_value);
+ json.category = arrcategory;
+ json.thumb_url = JSON.stringify(json.thumb_url);
+ json.art = 'releaseGoods';
+ json.start_shooting = String(new Date(json.start_shooting).getTime()).substring(0, 10);
+ json.end_shooting = String(new Date(json.end_shooting).getTime()).substring(0, 10);
+ json.prepayment_mode == 2 ? delete json.advance_proportion : delete json.advance_money;
+ json.em_mode == 2 ? delete json.em_proportion : delete json.endorsement;
+ delete json.em_mode;
+
+ if (!json.start_shooting || json.start_shooting == 'NaN') {
+ app.tips("请选择开始时间");
+ return;
+ }
+ if (!json.end_shooting || json.end_shooting == 'NaN') {
+ app.tips("请选择结束时间");
+ return;
+ }
+ if (Number(json.start_shooting) >= Number(json.end_shooting)) {
+ app.tips("开始时间不能大于结束时间");
+ return;
+ }
+
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ let res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ if (that.data.is_examine) {
+ that.setData({
+ show: true
+ });
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-publish/publish_second/publish_second.json b/packageD/auction/auctioneer-publish/publish_second/publish_second.json
new file mode 100644
index 0000000..4ba4d76
--- /dev/null
+++ b/packageD/auction/auctioneer-publish/publish_second/publish_second.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "拍品发布",
+ "usingComponents": {
+ "date-picker": "../../../mycomponent/member/pickerView/datesfm",
+ "van-radio": "../../../../dist/radio/index",
+ "van-radio-group": "../../../../dist/radio-group/index",
+ "van-popup": "../../../../dist/popup/index"
+ }
+}
diff --git a/packageD/auction/auctioneer-publish/publish_second/publish_second.wxml b/packageD/auction/auctioneer-publish/publish_second/publish_second.wxml
new file mode 100644
index 0000000..a03b37e
--- /dev/null
+++ b/packageD/auction/auctioneer-publish/publish_second/publish_second.wxml
@@ -0,0 +1,125 @@
+
+
+
+
+ 市场价
+
+
+
+
+
+ 起拍价
+
+
+
+
+
+ 一口价
+
+
+
+
+
+ 加一口
+
+
+
+
+
+ 保留价
+
+
+
+
+
+ 起拍时段间隔
+
+
+
+
+
+ 单次竞拍时长
+
+
+
+
+
+
+ 保证金(预付款)
+
+ 比例
+ 固定
+
+
+
+
+
+
+
+
+
+
+
+ {{endorsement_name}}(预付款)
+
+ 比例
+ 固定
+
+
+
+
+
+
+
+
+
+
+ 运费
+
+
+
+
+
+ 选择时间
+
+ {{isshowtime1?isshowtime1:"选择开拍时间"}}
+ -
+ {{isshowtime2?isshowtime2:"选择结束时间"}}
+
+
+
+ 拍卖结束前触发延时时间(分)
+
+
+
+
+
+ 延时周期时间(分)
+
+
+
+
+
+
+
+
+ 上一步
+ 下一步
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-publish/publish_second/publish_second.wxss b/packageD/auction/auctioneer-publish/publish_second/publish_second.wxss
new file mode 100644
index 0000000..dea3489
--- /dev/null
+++ b/packageD/auction/auctioneer-publish/publish_second/publish_second.wxss
@@ -0,0 +1,224 @@
+/* packageD/auction/auctioneer-publish/publish_second/publish_second.wxss */
+
+/* packageD/auction/auctioneer-publish/publish_first/publish_first.wxss */
+page {
+ background: #fff;
+ height: 100vh;
+}
+
+.content {
+ padding: 0 25rpx;
+ padding-bottom: 180rpx;
+}
+
+.item {
+ text-align: left;
+ padding-top: 27rpx;
+ padding-bottom: 24rpx;
+ border-bottom: 1rpx solid #f1f1f1;
+}
+
+.item .title {
+ font-size: 32rpx;
+ color: #000;
+ margin-left: 8rpx;
+ margin-bottom: 25rpx;
+}
+
+.input input {
+ font-size: 32rpx;
+ color: #999;
+ margin-left: 8rpx;
+}
+
+.fenlei {
+ width: 229rpx;
+ height: 60rpx;
+ background: #ff2c29;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ border-radius: 30rpx;
+}
+
+.image_one {
+ width: 148rpx;
+ height: 148rpx;
+ border: 1rpx dashed #999;
+ border-radius: 15rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.image_one image {
+ width: 50rpx;
+ height: 50rpx;
+}
+
+textarea {
+ width: 100%;
+ background: #fafafa;
+}
+
+.shuxing {
+ width: 229rpx;
+ height: 60rpx;
+ border-radius: 30rpx;
+ border: solid 1rpx #ff1f1c;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 32rpx;
+ color: #ff1f1c;
+ background: #fff;
+}
+
+.bottom_btn {
+ width: 750rpx;
+ height: 98rpx;
+ background-color: #fff;
+ box-shadow:
+ 0rpx 0rpx 16rpx 0rpx
+ rgba(0, 0, 0, 0.08);
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ z-index: 2;
+}
+
+.btn_left {
+ width: 186rpx;
+ height: 60rpx;
+ border: solid 1rpx #ff2c29;
+ border-radius: 30rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-left: 29rpx;
+ color: #ff2c29;
+}
+
+.btn_right {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ background: #ff2c29;
+ width: 186rpx;
+ height: 60rpx;
+ border-radius: 30rpx;
+ margin-right: 41rpx;
+}
+
+.tit_rig {
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+ width: 129rpx;
+ height: 42rpx;
+ background-color: #ff6333;
+ border-radius: 21rpx;
+}
+
+.bl {
+ width: 60rpx;
+ height: 36rpx;
+ color: #ff1f1c;
+ background-color: #fff;
+ border-radius: 17rpx;
+ display: flex;
+ justify-content: center;
+ font-size: 22rpx;
+ align-items: center;
+ transition: 1s;
+}
+
+.bls {
+ color: #fff;
+ width: 60rpx;
+ height: 36rpx;
+ border-radius: 17rpx;
+ display: flex;
+ justify-content: center;
+ font-size: 22rpx;
+ align-items: center;
+ transition: 1s;
+}
+
+.gd {
+ width: 60rpx;
+ height: 36rpx;
+ border-radius: 17rpx;
+ background-color: #fff;
+ color: #ff1f1c;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 22rpx;
+ transition: 1s;
+}
+
+.gds {
+ color: #fff;
+ width: 60rpx;
+ height: 36rpx;
+ border-radius: 17rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 22rpx;
+ transition: 1s;
+}
+
+.time {
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+ color: #999;
+}
+
+/* 弹窗0 */
+.popup {
+ padding-top: 92rpx;
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.popup image {
+ margin-bottom: 48rpx;
+}
+
+.popup .success {
+ font-size: 24px;
+ color: #000;
+ margin-bottom: 32rpx;
+ width: 100%;
+ text-align: center;
+}
+
+.popup .span {
+ color: #999;
+ display: inline-block;
+ width: 100%;
+ text-align: center;
+}
+
+.popup .btn {
+ width: 408rpx;
+ height: 90rpx;
+ background-color: #ff6333;
+ border-radius: 46rpx;
+ font-size: 18px;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ box-sizing: border-box;
+ margin-top: 86rpx;
+}
diff --git a/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.js b/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.js
new file mode 100644
index 0000000..93f3165
--- /dev/null
+++ b/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.js
@@ -0,0 +1,432 @@
+// packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.js
+var app = getApp();
+import utils from '../../../../utils/util.js';
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ id: '',
+ active: 0,
+ page: 1,
+ // 商品列表
+ current_page: '',
+ last_page: '',
+ datas: [],
+ now: '',
+ // 密码弹窗
+ showone:false,
+ password:''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.id) {
+ this.setData({
+ id: options.id
+ });
+ }
+ this.setData({
+ now: String(Date.parse(new Date())).substring(0, 10)
+ });
+ this.getStatus();
+ },
+ toSearch(){
+ console.log(this.data.id);
+ wx.navigateTo({
+ url: '/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search?id='+this.data.id,
+ });
+ },
+ is_password(e) {
+ this.setData({
+ password: e.detail.value
+ });
+ },
+ isCoverLayer_passwork() {
+ wx.showModal({
+ title: '提示',
+ content: '不输入店铺密码无法查看店铺详情',
+ success(res) {
+ if (res.confirm) {
+ console.log('用户点击确定');
+ wx.navigateBack({
+ delta:1
+ });
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ },
+ // 店铺密码确认
+ confirm(){
+ if(app._isTextEmpty(this.data.password)){
+ wx.showToast({
+ duration:1000,
+ title: '请输入密码',
+ icon:'none'
+ });
+ return;
+ }
+ let json = {
+ art:'verifyPassword',
+ auction_id:this.data.id,
+ passwd:this.data.password
+ };
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ showone:false
+ });
+ that.getStatus();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ // 收藏
+ toCollect() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ art: 'collectionShop',
+ auctioneer_id: that.data.id
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.info.is_collection == 0) {
+ wx.showToast({
+ title: res.data.collectionShop,
+ icon: 'none',
+ duration: 1000,
+ });
+ } else {
+ wx.showToast({
+ title: '取消收藏成功',
+ icon: 'none',
+ duration: 1000,
+ });
+ }
+ that.getData();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+ itemClick(e) {
+ console.log(e.detail.index);
+ this.setData({
+ active: e.detail.index
+ });
+ this.getSearch();
+ },
+ toMy() {
+ wx.navigateTo({
+ url: '/packageD/auction/auction-mine/my_index/my_index',
+ });
+ },
+ goxiangqin(e) {
+ console.log(e);
+ let kid = e.currentTarget.dataset.id.goods_id;
+ let member_id = this.data.id;
+ wx.navigateTo({
+ url: '/packageD/auction/auction/auction_good/auction_good?id=' + kid + "&member_id=" + member_id,
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.current_page >= this.data.last_page) {
+ if(this.data.last_page == 1){
+ return;
+ }
+ wx.showToast({
+ title: '暂无更多',
+ icon: 'none',
+ duration: 1000
+ });
+ } else {
+ let ispage = this.data.page + 1;
+ this.setData({
+ page:ispage
+ });
+ this.getNextSearch();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getStatus() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ member_id: this.data.id
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var response = resdata.data;
+ if (response.result == 1) {
+ that.setData({
+ status: response.data.getVerify.status,
+ is_verify: response.data.getVerify.is_verify
+ });
+ if (that.data.is_verify == 0 && that.data.status == 1) {
+ that.setData({
+ showone: true
+ });
+ } else {
+ // this.is_verify=1;
+ that.getSearch();
+ that.getData();
+ }
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ success() {
+ setTimeout(() => {
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1000);
+ }
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ member_id: this.data.id,
+ art: 'shop'
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ info: res.data.shop
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ success:function(){
+ setTimeout(() => {
+ wx.navigateBack({
+ delta:1
+ });
+ }, 500);
+ }
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+ getSearch() {
+ let that = this;
+ var url;
+ // let urlStr = app.getNetAddresss('plugin.auction.api.auction.check');
+ let json = {
+ auctioneer_id: this.data.id,
+ page: this.data.page
+ };
+ if (that.data.active == 0) {
+ url = app.getNetAddresss('plugin.auction.api.auction.all');
+ } else if (that.data.active == 1) {
+ url = app.getNetAddresss("plugin.auction.api.auction.biding");
+ } else if (that.data.active == 2) {
+ url = app.getNetAddresss("plugin.auction.api.auction.bid");
+ } else if (that.data.active == 3) {
+ url = app.getNetAddresss("plugin.auction.api.auction.finish");
+ }
+ app._getNetWork({
+ url: url,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ if (res.data.data.length > 0) {
+ for (let i = 0; i < res.data.data.length; i++) {
+ res.data.data[i].endTime = utils.formatTimeTwo(res.data.data[i].end_shooting, 'Y-M-D h:m:s');
+ res.data.data[i].startTime = utils.formatTimeTwo(res.data.data[i].start_shooting, 'Y-M-D h:m:s');
+ }
+ }
+
+ that.setData({
+ current_page: res.data.current_page,
+ last_page: res.data.last_page,
+ datas: res.data.data
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+ getNextSearch() {
+ let that = this;
+ var url;
+ // let urlStr = app.getNetAddresss('plugin.auction.api.auction.check');
+ let json = {
+ auctioneer_id: this.data.id,
+ page: this.data.page
+ };
+ if (that.data.active == 0) {
+ url = app.getNetAddresss('plugin.auction.api.auction.all');
+ } else if (that.data.active == 1) {
+ url = app.getNetAddresss("plugin.auction.api.auction.biding");
+ } else if (that.data.active == 2) {
+ url = app.getNetAddresss("plugin.auction.api.auction.bid");
+ } else if (that.data.active == 3) {
+ url = app.getNetAddresss("plugin.auction.api.auction.finish");
+ }
+ app._getNetWork({
+ url: url,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ if (res.data.data.length > 0) {
+ for (let i = 0; i < res.data.data.length; i++) {
+ res.data.data[i].endTime = utils.formatTimeTwo(res.data.data[i].end_shooting, 'Y-M-D h:m:s');
+ res.data.data[i].startTime = utils.formatTimeTwo(res.data.data[i].start_shooting, 'Y-M-D h:m:s');
+ }
+ }
+ that.setData({
+ current_page: res.data.current_page,
+ last_page: res.data.last_page,
+ datas:that.data.datas.concat(res.data.data)
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+});
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.json b/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.json
new file mode 100644
index 0000000..7438fa5
--- /dev/null
+++ b/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "拍卖官店铺",
+ "usingComponents": {
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-tab": "../../../../dist/tab/index",
+ "van-icon": "../../../../dist/icon/index",
+ "van-popup": "../../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.wxml b/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.wxml
new file mode 100644
index 0000000..8fc6784
--- /dev/null
+++ b/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.wxml
@@ -0,0 +1,122 @@
+
+
+
+ 拍卖官主页
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{info.nickname}}
+
+
+ 已认证
+ 未认证
+ 拍品:{{info.lot_num}}
+
+
+ 收藏
+ 取消收藏
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.endTime}}结束
+ {{item.startTime}}结束
+
+
+ {{item.has_one_goods.title}}
+
+ 起拍价
+ ¥
+ {{item.start_price}}
+
+
+
+
+
+
+ 暂无拍品....
+
+
+
+
+
+ 我的
+
+
+
+
+
+
+ 请输入店铺密码
+ 密码
+
+ 确认
+
+
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.wxss b/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.wxss
new file mode 100644
index 0000000..a3a0938
--- /dev/null
+++ b/packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.wxss
@@ -0,0 +1,300 @@
+/* packageD/auction/auctioneer-shop/auctioneer_shop/auctioneer_shop.wxss */
+
+.heard_top {
+ background: #ff5230;
+ padding-top: 20rpx;
+ overflow: hidden;
+ padding-bottom: 60px;
+}
+
+.heard_top .top {
+ padding: 0 46rpx 0 30rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ color: #fff;
+}
+
+.heard_top .top .txt {
+ font-size: 36rpx;
+ color: #fff;
+}
+
+.inpBox {
+ width: 400rpx;
+ height: 56rpx;
+ border-radius: 28rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ color: #fff;
+ background: #fb9c92;
+}
+
+.inpBox icon {
+ margin-left: 17rpx;
+ margin-right: 27rpx;
+ margin-bottom: 10rpx;
+}
+
+.inpshre {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+
+/* ------------------------ */
+.ind_conten {
+ min-height: 100vh;
+ background: #fff;
+ margin-top: -37rpx;
+ border-radius: 37rpx 37rpx 0rpx 0rpx;
+}
+
+.user_top {
+ display: flex;
+ padding-left: 36rpx;
+ padding-right: 36rpx;
+ margin-bottom: 40rpx;
+}
+
+.user_top image {
+ width: 138rpx;
+ height: 138rpx;
+ border-radius: 50%;
+
+ /* background: red; */
+ margin-top: -41rpx;
+}
+
+.user_top .user_info {
+ display: flex;
+ justify-content: space-between;
+
+ /* align-items: center; */
+ margin-left: 18rpx;
+ margin-top: 17rpx;
+ flex: 1;
+}
+
+.user_info .name_sta {
+ display: flex;
+ align-items: center;
+ height: 35rpx;
+}
+
+.user_info .name_sta icon {
+ font-size: 40rpx;
+}
+
+.user_info .name_sta .td {
+ font-size: 24rpx;
+ color: #666;
+ margin-left: 13rpx;
+}
+
+.info_right {
+ width: 89rpx;
+ height: 38rpx;
+ border-radius: 19rpx;
+ border: solid 1rpx #ff2c29;
+ font-size: 24rpx;
+ color: #ff2c29;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.info_left .name {
+ font-size: 28rpx;
+ color: #000;
+}
+
+/* tab */
+van-tabs .van-tabs .van-hairline--top-bottom::after {
+ border-width: 0;
+}
+
+/* 商品列表 */
+.goodsList {
+ margin: 16rpx 24rpx;
+}
+
+.goodsList .goods_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.goodsList .conten_box {
+ width: 340rpx;
+ height: 501rpx;
+ border-radius: 10rpx;
+ display: flex;
+ flex-direction: column;
+ margin-bottom: 20rpx;
+ box-shadow: 0 0rpx 15rpx 5rpx #f5f5f5;
+}
+
+.goodsList .conten_box:nth-child(2n-1) {
+ margin-right: 22rpx;
+}
+
+.goodsList .conten_box .conten_img {
+ width: 100%;
+ height: 340rpx;
+
+ /* background: yellowgreen; */
+ border-radius: 10rpx 10rpx 0 0;
+ position: relative;
+}
+
+.pos_box {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ /* width: 206rpx; */
+ height: 48rpx;
+ background-image:
+ linear-gradient(
+ 270deg,
+ #ff6333 0%,
+ #ff2c29 100%
+ ),
+ linear-gradient(
+ #fe8a02,
+ #fe8a02
+ );
+ background-blend-mode:
+ normal,
+ normal;
+ border-radius: 10rpx 0rpx 10rpx 0rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 24rpx;
+ color: #fff;
+ padding: 0 10rpx;
+}
+
+.goodsList .conten_box .conten_img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0 0;
+}
+
+.goodsList .conten_box .conten_detail {
+ flex: 1;
+
+ /* background: yellow; */
+ border-radius: 10rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ padding-left: 14rpx;
+ padding-right: 18rpx;
+ padding-top: 12rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_price {
+ /* display: flex;
+ align-items: center; */
+ font-size: 22rpx;
+ color: #000;
+ padding-left: 17rpx;
+}
+
+.dmon {
+ font-size: 22rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
+
+.money {
+ font-size: 32rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
+
+/* 悬浮 */
+.pos_btn {
+ width: 80rpx;
+ height: 80rpx;
+ background-color: #ff2c29;
+ box-shadow: 0rpx 0rpx 5rpx 0rpx rgba(237, 11, 11, 0.23);
+ position: fixed;
+ bottom: 167rpx;
+ right: 21rpx;
+ border-radius: 50%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ color: #fff;
+}
+
+.pos_btn icon {
+ color: #fff;
+ height: 45rpx;
+ font-size: 40rpx;
+ margin-top: -3rpx;
+}
+
+/* 店铺密码弹出框 */
+
+.showbtn {
+ height: 517rpx;
+ width: 100%;
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+ align-content: center;
+ border-radius: 20rpx 20rpx 0rpx 0rpx;
+}
+
+.one .van-popup {
+ border-radius: 20rpx 20rpx 0rpx 0rpx;
+}
+
+.showbtn_txt {
+ text-align: center;
+ font-size: 36rpx;
+ color: #000;
+ padding-top: 43rpx;
+}
+
+.showbtn_mima {
+ font-size: 28rpx;
+ color: #000;
+ margin-left: 29rpx;
+ margin-top: 103rpx;
+}
+
+.showbtn input {
+ border-bottom: 1rpx solid #ececec;
+ margin: 0 25rpx;
+ margin-top: 20rpx;
+ margin-bottom: 95rpx;
+}
+
+.is_sure {
+ width: 700rpx;
+ height: 90rpx;
+ background-color: #ff2c29;
+ border-radius: 45rpx;
+ text-align: center;
+ line-height: 90rpx;
+ color: #fff;
+ margin: 0 auto;
+}
+
+/* -------------------------------------- */
diff --git a/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.js b/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.js
new file mode 100644
index 0000000..25252f4
--- /dev/null
+++ b/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.js
@@ -0,0 +1,173 @@
+// packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ id: '',
+ page:1,
+ keyword:''
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ id : options.id
+ });
+ this.getStatus();
+ },
+ keyword(e){
+ let is_value = e.detail.value;
+ this.setData({
+ keyword:is_value,
+
+ });
+ },
+ gettap(){
+ this.setData({
+ page:1,
+ current_page:1,
+ last_page:1
+ });
+ this.getSearch();
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if(this.data.current_page >= this.data.last_page){
+ wx.showToast({
+ title: '没有更多了',
+ icon:'none',
+ duration:1000
+ });
+ return;
+ }else{
+ let is_page = this.data.page +1;
+ this.setData({
+ page:is_page
+ });
+ this.getSearch();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getSearch(){
+ let json ={
+ keyword:this.data.keyword,
+ status:1,
+ auc_status:'',
+ is_new:'',
+ is_recommend:'',
+ auctioneer_id:this.data.id,
+ art:'getSearch',
+ page:this.data.page,
+ is_pass:this.data.status?'1':'0'
+ };
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ datas:res.data.getSearch.data,
+ current_page:res.data.getSearch.current_page,
+ last_page:res.data.getSearch.last_page
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getStatus() {
+ var that = this;
+ let urlStr = app.getNetAddresss('plugin.auction.api.index.getAuctionData');
+ let json = {
+ member_id: this.data.id
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var response = resdata.data;
+ if (response.result == 1) {
+ that.setData({
+ status: response.data.getVerify.status,
+ });
+ that.getSearch();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1000
+ });
+ }
+ });
+ },
+});
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.json b/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.wxml b/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.wxml
new file mode 100644
index 0000000..929c7ce
--- /dev/null
+++ b/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.wxml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.endTime}}结束
+ {{item.startTime}}结束
+
+
+ {{item.title}}
+
+ 起拍价
+ ¥
+ {{item.start_price}}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.wxss b/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.wxss
new file mode 100644
index 0000000..b908c6d
--- /dev/null
+++ b/packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.wxss
@@ -0,0 +1,139 @@
+/* packageD/auction/auctioneer-shop/auctioneer_shop_search/auctioneer_shop_search.wxss */
+page {
+ background-color: #fff;
+ height: 110vh;
+}
+
+.binxs {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ overflow: hidden;
+ margin-bottom: 60rpx;
+}
+
+.inpBox {
+ padding: 20 0;
+ width: 70%;
+ height: 60rpx;
+ background-color: #f8f8f8;
+ border-radius: 30rpx;
+ display: flex;
+ align-items: center;
+}
+
+.inpBox icon {
+ margin-left: 15rpx;
+ margin-bottom: 10rpx;
+ margin-right: 20rpx;
+}
+
+/* 商品列表 */
+.goodsList {
+ margin: 16rpx 24rpx;
+}
+
+.goodsList .goods_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.goodsList .conten_box {
+ width: 340rpx;
+ height: 501rpx;
+ border-radius: 10rpx;
+ display: flex;
+ flex-direction: column;
+ margin-bottom: 20rpx;
+ box-shadow: 0 0rpx 15rpx 5rpx #f5f5f5;
+}
+
+.goodsList .conten_box:nth-child(2n-1) {
+ margin-right: 22rpx;
+}
+
+.goodsList .conten_box .conten_img {
+ width: 100%;
+ height: 340rpx;
+
+ /* background: yellowgreen; */
+ border-radius: 10rpx 10rpx 0 0;
+ position: relative;
+}
+
+.pos_box {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ /* width: 206rpx; */
+ height: 48rpx;
+ background-image:
+ linear-gradient(
+ 270deg,
+ #ff6333 0%,
+ #ff2c29 100%
+ ),
+ linear-gradient(
+ #fe8a02,
+ #fe8a02
+ );
+ background-blend-mode:
+ normal,
+ normal;
+ border-radius: 10rpx 0rpx 10rpx 0rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 24rpx;
+ color: #fff;
+ padding: 0 10rpx;
+}
+
+.goodsList .conten_box .conten_img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx 10rpx 0 0;
+}
+
+.goodsList .conten_box .conten_detail {
+ flex: 1;
+
+ /* background: yellow; */
+ border-radius: 10rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ padding-left: 14rpx;
+ padding-right: 18rpx;
+ padding-top: 12rpx;
+}
+
+.goodsList .conten_box .conten_detail .conten_price {
+ /* display: flex;
+ align-items: center; */
+ font-size: 22rpx;
+ color: #000;
+ padding-left: 17rpx;
+}
+
+.dmon {
+ font-size: 22rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
+
+.money {
+ font-size: 32rpx;
+ color: #ef3e3e;
+ display: inline-block;
+}
diff --git a/packageD/businessActivity/businessActivity.js b/packageD/businessActivity/businessActivity.js
new file mode 100644
index 0000000..d0752a3
--- /dev/null
+++ b/packageD/businessActivity/businessActivity.js
@@ -0,0 +1,305 @@
+// packageD/businessActivity/businessActivity.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ Data: {},
+ showAll: false, //内容是否全部展示
+ time: "",
+ Day: "", //剩余天
+ Hour: "", //剩余小时
+ Min: "", //剩余分钟
+ Sec: "", //剩余秒
+ stop: false, //判断活动是否结束
+ songStop: true, //判断停止还是播放
+ button: 0, //是否开启悬浮按钮
+ button_name: "", //悬浮按钮名称
+ goods_id: "", //商品id
+ is_store: 0, //联盟商家是否开启
+ wheels: [], //免费详情数据
+ start: "", //活动开始时间
+ end: "", //活动结束时间
+ commission_amount: [], //排行榜数据
+ timeShow: 0, //是否开启倒计时
+ stores: [], //返回的联盟商家数据
+ business: [], //组装后的联盟商家数据
+ link: "",
+ readyState: 0, //音频是否加载完成
+ clientWidths: "",
+ member_count: "", //参与人数
+ shareInfo: {},
+ isSetShare: 0, //是否开启了自定义分享 ,0||关闭
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ id: options.id,
+ });
+ this.initData();
+ this.getData();
+ },
+ linkTo() {
+ if (app._isTextEmpty(this.data.link1)) {
+ wx.navigateTo({
+ url: "/packageA/member/storeApply/storeApply",
+ });
+ }
+ },
+ initData() {
+ this.setData({
+ Data: {},
+ showAll: false, //内容是否全部展示
+ time: "",
+ Day: "", //剩余天
+ Hour: "", //剩余小时
+ Min: "", //剩余分钟
+ Sec: "", //剩余秒
+ stop: false, //判断活动是否结束
+ songStop: true, //判断停止还是播放
+ button: 0, //是否开启悬浮按钮
+ button_name: "", //悬浮按钮名称
+ goods_id: "", //商品id
+ is_store: 0, //联盟商家是否开启
+ wheels: [], //免费详情数据
+ start: "", //活动开始时间
+ end: "", //活动结束时间
+ commission_amount: [], //排行榜数据
+ timeShow: 0, //是否开启倒计时
+ stores: [], //返回的联盟商家数据
+ business: [], //组装后的联盟商家数据
+ link: "",
+ readyState: 0,
+ clientWidths: "",
+ member_count: "",
+ shareInfo: {},
+ isSetShare: 0,
+ });
+ },
+ play(e) {
+ if (e.currentTarget.dataset.info == "plays") {
+ this.innerAudioContext.pause();
+ this.setData({
+ songStop: true,
+ });
+ } else {
+ this.innerAudioContext.play();
+ this.setData({
+ songStop: false,
+ });
+ }
+ },
+ showAlltap(e) {
+ this.setData({
+ showAll: !this.data.showAll,
+ });
+ },
+ //活动倒计时
+ countdown() {
+ // 当前时间戳
+ const now = Date.parse(new Date()) / 1000;
+ if (this.data.end - now <= 0) {
+ this.stop = true;
+ return;
+ }
+ // 相差的秒数
+ const msec = this.data.end - now;
+ // 计算的时间
+ let day = parseInt(msec / 60 / 60 / 24);
+
+ let hr = parseInt((msec / 60 / 60) % 24);
+ let min = parseInt((msec / 60) % 60);
+ let sec = parseInt(msec % 60);
+ // 个位数前补零
+ hr = hr > 9 ? hr : "0" + hr;
+ min = min > 9 ? min : "0" + min;
+ sec = sec > 9 ? sec : "0" + sec;
+ // 控制台打印
+ // this.time=`${day}天 ${hr}小时 ${min}分钟 ${sec}秒`
+ // (this.Day = day), (this.Hour = hr), (this.Min = min), (this.Sec = sec);
+ this.setData({
+ Day: day,
+ Hour: hr,
+ Min: min,
+ Sec: sec,
+ });
+ // 一秒后递归
+ setTimeout(() => {
+ this.countdown();
+ }, 1000);
+ },
+ toGoods(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + id,
+ });
+ },
+ toPage(e) {
+ let val = e.currentTarget.dataset.val;
+ if (!app._isTextEmpty(val.store_name)) {
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + val.id,
+ });
+ } else if (!app._isTextEmpty(val.hotel_name)) {
+ wx.navigateTo({
+ url: "/packageC/hotel/HotelHome/HotelHome?id=" + val.id,
+ });
+ }
+ },
+ gobannerlink(e) {
+ try {
+ wx.navigateTo({
+ url: this.data.link2,
+ });
+ } catch (err) {
+ console.log(err);
+ }
+ },
+ gomiandan(e) {
+ let link = e.currentTarget.dataset.info.link;
+ if (app._isTextEmpty(link)) {
+ return;
+ } else {
+ try {
+ wx.navigateTo({
+ url: link,
+ });
+ } catch (err) {
+ console.log(err);
+ }
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getData() {
+ let urlStr = app.getNetAddresss(
+ "plugin.business-activity.frontend.controllers.activity.getActivityById"
+ );
+ let that = this;
+ app._getNetWork({
+ data: {
+ activity_id: 2,
+ },
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ if (res.data.activity.audio_link) {
+ that.autoPlay();
+ that.innerAudioContext.src = res.data.activity.audio_link;
+ that.innerAudioContext.play();
+ that.setData({
+ songStop: false,
+ });
+ }
+ for (let i = 0; i < res.data.wheels.length; i++) {
+ if (app._isTextEmpty(res.data.wheels[i].has_one_store)) {
+ res.data.wheels[i].showStore = false;
+ } else {
+ res.data.wheels[i].showStore = true;
+ }
+ }
+ that.setData({
+ Data: res.data.activity,
+ button: res.data.activity.button,
+ button_name: res.data.activity.button_name,
+ member_count: res.data.member_count,
+ goods_id: res.data.goods_id,
+ wheels: res.data.wheels,
+ is_store_button: res.data.is_store_button,
+ stores: res.data.stores.concat(res.data.hotels),
+ commission_amount: res.data.commission_amount,
+ start: res.data.activity.countdown_time[0],
+ end: res.data.activity.countdown_time[1],
+ timeShow: that.showTime() ? res.data.activity.countdown : 0,
+ isSetShare: res.data.share_status,
+ shareInfo: res.data.share_data,
+ // 广告链接
+ link1: res.data.activity.miniLink1,
+ // banner链接
+ link2: res.data.activity.miniLink2,
+ miandanPto: true,
+ });
+ console.log(that.data.wheels);
+ wx.setNavigationBarTitle({
+ title: res.data.activity.name,
+ });
+ that.countdown();
+ that.StoreArr();
+ console.log(that.data.business);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //组装返回的联盟商家数据
+ StoreArr() {
+ let n = Math.ceil(this.data.stores.length / 10);
+ let arr = [];
+ for (let i = 1; i <= n; i++) {
+ arr.push(this.data.stores.slice((i - 1) * 10, i * 10));
+ // this.business.push(arr);
+ }
+ this.setData({
+ business: this.data.business.concat(arr),
+ });
+ console.log(this.data.business);
+ },
+ showTime() {
+ let nowTime = new Date().getTime() / 1000;
+ let beginTime = this.data.start;
+ console.log(nowTime >= beginTime);
+ if (nowTime >= beginTime) {
+ return true;
+ } else {
+ return false;
+ }
+ },
+ autoPlay() {
+ this.innerAudioContext = wx.createInnerAudioContext();
+ this.innerAudioContext.onCanplay(() => {});
+ this.innerAudioContext.onPlay(() => {
+ console.log("开始播放");
+ console.log(this.innerAudioContext.duration);
+ });
+ },
+});
diff --git a/packageD/businessActivity/businessActivity.json b/packageD/businessActivity/businessActivity.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageD/businessActivity/businessActivity.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/businessActivity/businessActivity.wxml b/packageD/businessActivity/businessActivity.wxml
new file mode 100644
index 0000000..55d9ccb
--- /dev/null
+++ b/packageD/businessActivity/businessActivity.wxml
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 已参加活动人数{{ member_count }}人
+
+
+
+ 活动倒计时:
+ {{ Day }}天
+ {{ Hour }}时
+ {{ Min }}分
+ {{ Sec }}秒
+
+
+ 活动已结束
+
+
+
+
+
+
+
+
+ {{ Data.s_name ? Data.s_name : "联盟商家" }}
+
+
+
+ 商家排名不分前后
+
+
+
+
+
+
+
+
+
+
+ {{ list.store_name || list.hotel_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ fun.isTextEmpty(Data.rule_name) ? "活动规则" : Data.rule_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ fun.isTextEmpty(Data.wheel_name) ? "免单详情" : Data.wheel_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.has_one_store.store_name }}
+
+ {{ item.has_one_hotel.hotel_name }}
+
+
+
+
+ {{ item.has_one_store.mobile }}
+
+ {{ item.has_one_hotel.mobile }}
+
+
+
+
+ {{ item.has_one_store.address }}
+
+ {{ item.has_one_hotel.address }}
+
+
+
+
+ {{ index + 1 }}/{{ wheels.length }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击查看详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{Data.ranking?Data.ranking:"佣金排行"}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ Data.button_name ? "商家入驻" : Data.button_name }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/businessActivity/businessActivity.wxss b/packageD/businessActivity/businessActivity.wxss
new file mode 100644
index 0000000..3b109ef
--- /dev/null
+++ b/packageD/businessActivity/businessActivity.wxss
@@ -0,0 +1,625 @@
+/* packageD/businessActivity/businessActivity.wxss */
+@charset "UTF-8";
+
+#Activity {
+ /* padding-top: 40px; */
+ padding-bottom: 136px;
+
+ /* width: 100%; */
+}
+
+#Activity .content_box .top_music {
+ z-index: 10;
+ position: fixed;
+
+ /* top: 80rpx; */
+ background: rgba(0, 0, 0, 0.5);
+ height: 80rpx;
+ line-height: 80rpx;
+ width: 100%;
+ padding: 0 2rpx;
+ text-align: right;
+}
+
+#Activity .content_box .top_music .icon-active_music_open {
+ font-size: 72rpx;
+ color: #fff;
+ display: block;
+ position: absolute;
+ right: 6.4rpx;
+}
+
+#Activity .content_box .top_music .icon-active_music_close {
+ font-size: 72rpx;
+ color: #fff;
+ display: block;
+ position: absolute;
+ right: 6.4rpx;
+}
+
+#Activity .content_box .top_music .xuanzhuan {
+ animation: xz 2s linear infinite;
+}
+
+@keyframes xz {
+ from {
+ transform: rotate(0deg);
+ }
+
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+#Activity .content_box .banner {
+ width: 690rpx;
+ overflow: hidden;
+ background: #f2f2f2;
+ margin: 0 auto;
+}
+
+#Activity .content_box .banner a {
+ width: 100%;
+ height: 100%;
+ display: block;
+}
+
+#Activity .content_box .banner image {
+ width: 100%;
+ height: 100%;
+ display: block;
+}
+
+#Activity .content_box .member-people {
+ width: 384rpx;
+ overflow: hidden;
+ background-color: rgba(0, 0, 0, 0.2);
+ margin: 0 auto;
+ margin-top: 40rpx;
+ border-radius: 16px;
+ height: 64rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#Activity .content_box .member-people .span {
+ font-size: 14px;
+ color: #fff;
+}
+
+#Activity .content_box .number_time {
+ width: 720rpx;
+ height: 188.8rpx;
+ margin: 0 auto;
+ margin-top: 40rpx;
+ align-items: center;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/number_time_bg.png");
+ background-repeat: no-repeat;
+ background-size: 720rpx 206rpx;
+ color: #fff;
+ font-size: 14px;
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+#Activity .content_box .number_time .active_number .span {
+ color: #fca232;
+}
+
+#Activity .content_box .number_time .active_time {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#Activity .content_box .number_time .active_time .span {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 24px;
+}
+
+#Activity .content_box .business_box {
+ background: #fff;
+ width: 690rpx;
+ margin: 0 auto;
+ margin-top: 40rpx;
+ border-radius: 16rpx;
+ padding-bottom: 30rpx;
+}
+
+#Activity .content_box .business_box .title {
+ height: 100rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#Activity .content_box .business_box .title .h2 {
+ font-size: 20px;
+ color: #f7806c;
+ margin: 0 40rpx;
+}
+
+#Activity .content_box .business_box .title .left {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/business_title_left.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+#Activity .content_box .business_box .title .right {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/business_title_right.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+#Activity .content_box .business_box .title_b {
+ text-align: center;
+ font-size: 14px;
+ color: #8c8c8c;
+}
+
+#Activity .content_box .business_box .business {
+ margin-top: 30rpx;
+}
+
+#Activity .content_box .business_box .business .user_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+#Activity .content_box .business_box .business .user_box .user {
+ width: 20%;
+ margin-bottom: 32rpx;
+ text-align: center;
+}
+
+#Activity .content_box .business_box .business .user_box .user .img {
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 48rpx;
+ margin: 0 auto;
+ overflow: hidden;
+ background: #f2f2f2;
+}
+
+#Activity .content_box .business_box .business .user_box .user .img image {
+ width: 100%;
+ height: 100%;
+}
+
+#Activity .content_box .business_box .business .user_box .user .span {
+ line-height: 48rpx;
+ display: block;
+ word-break: break-word;
+ padding: 0 8rpx;
+}
+
+#Activity .content_box .active_rule {
+ background: #fff;
+ width: 690rpx;
+ margin: 40rpx auto 0;
+ border-radius: 16rpx;
+}
+
+#Activity .content_box .active_rule .title {
+ height: 100rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#Activity .content_box .active_rule .title .h2 {
+ font-size: 20px;
+ color: #f7806c;
+ margin: 0 40rpx;
+}
+
+#Activity .content_box .active_rule .title .left {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/business_title_left.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+#Activity .content_box .active_rule .title .right {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/business_title_right.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+#Activity .content_box .active_rule .rule_text {
+ /* padding: 0 40rpx;
+ text-align: left;
+ color: #666;
+ line-height:44rpx; */
+
+ /* height:300rpx; */
+ overflow: hidden;
+ margin: 0;
+ transition: 1s;
+}
+
+#Activity .content_box .active_rule .rule_text_es {
+ /* padding: 0 40rpx;
+ text-align: left;
+ color: #666;
+ line-height:44rpx; */
+ overflow: hidden;
+ margin: 0;
+ transition: 1s;
+}
+
+#Activity .content_box .active_rule .iconfont {
+ width: 80rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ font-size: 24px;
+ color: #ccc;
+ margin: 20rpx auto 0;
+ display: block;
+}
+
+#Activity .content_box .free_detail {
+ background: #fff;
+ width: 690rpx;
+ margin: 40rpx auto 0;
+ border-radius: 16rpx;
+ padding-bottom: 30rpx;
+ position: relative;
+}
+
+#Activity .content_box .free_detail .title {
+ height: 100rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#Activity .content_box .free_detail .title .h2 {
+ font-size: 20px;
+ color: #f7806c;
+ margin: 0 40rpx;
+}
+
+#Activity .content_box .free_detail .title .left {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/business_title_left.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+#Activity .content_box .free_detail .title .right {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/business_title_right.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+#Activity .content_box .free_detail .list_box {
+ width: 630rpx;
+ margin: 30rpx auto 0;
+}
+
+.list_box swiper {
+ height: 700rpx;
+}
+
+#Activity .content_box .free_detail .list_box .store_info .top {
+ display: flex;
+ position: relative;
+}
+
+#Activity .content_box .free_detail .list_box .store_info .top .img {
+ width: 120rpx;
+ height: 120rpx;
+ margin-right: 20rpx;
+}
+
+#Activity .content_box .free_detail .list_box .store_info .top .img image {
+ width: 100%;
+ height: 120rpx;
+ border-radius: 60rpx;
+ border: solid 2rpx #ccc;
+}
+
+#Activity .content_box .free_detail .list_box .store_info .top .info {
+ overflow: hidden;
+ width: 400rpx;
+}
+
+#Activity .content_box .free_detail .list_box .store_info .top .info .li {
+ display: flex;
+
+ /* line-height: 40rpx; */
+ align-items: center;
+ height: 40rpx;
+}
+
+#Activity .content_box .free_detail .list_box .store_info .top .info .li .iconfont {
+ margin-right: 8rpx;
+ font-size: 32rpx;
+}
+
+#Activity .content_box .free_detail .list_box .store_info .top .info .li .span {
+ text-align: left;
+}
+
+#Activity .content_box .free_detail .list_box .store_info .top .top_right {
+ position: absolute;
+ right: 0;
+ color: #fca232;
+}
+
+#Activity .content_box .free_detail .list_box .store_info .store_banner {
+ margin-top: 40rpx;
+ width: 100%;
+ background: #f2f2f2;
+ border-radius: 12rpx;
+ overflow: hidden;
+}
+
+#Activity .content_box .free_detail .list_box .store_info .store_banner image {
+ width: 100%;
+}
+
+#Activity .content_box .free_detail .look_detail {
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #8c8c8c;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+#Activity .content_box .free_detail .look_detail .h2 {
+ font-weight: normal;
+ margin: 0 40rpx;
+}
+
+#Activity .content_box .free_detail .look_detail .look_left {
+ width: 48rpx;
+ height: 12rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/look_left.png");
+ background-size: 48rpx 12rpx;
+ background-repeat: no-repeat;
+}
+
+#Activity .content_box .free_detail .look_bottom {
+ position: absolute;
+ bottom: -64rpx;
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+}
+
+#Activity .content_box .free_detail .look_bottom .left,
+#Activity .content_box .free_detail .look_bottom .right {
+ width: 32rpx;
+ height: 108rpx;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/look_bottom.png');
+ background-size: 32rpx 108rpx;
+ background-repeat: no-repeat;
+}
+
+#Activity .content_box .ranking_list {
+ background: #fff;
+ width: 690rpx;
+ margin: 40rpx auto 0;
+ border-radius: 16rpx;
+ padding-bottom: 30rpx;
+}
+
+#Activity .content_box .ranking_list .title {
+ height: 100rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#Activity .content_box .ranking_list .title .h2 {
+ font-size: 20px;
+ color: #f7806c;
+ margin: 0 40rpx;
+}
+
+#Activity .content_box .ranking_list .title .left {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/business_title_left.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+#Activity .content_box .ranking_list .title .right {
+ width: 36rpx;
+ height: 22rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/business_title_right.png");
+ background-repeat: no-repeat;
+ background-size: 36rpx 22rpx;
+}
+
+#Activity .content_box .ranking_list .store_list {
+ padding: 0 30rpx;
+ height: 560rpx;
+ overflow: hidden;
+ overflow-y: scroll;
+}
+
+#Activity .content_box .ranking_list .store_list .header_box {
+ display: flex;
+ align-items: center;
+ position: relative;
+ border-bottom: solid 2rpx #ccc;
+ font-size: 16px;
+ height: 70px;
+}
+
+#Activity .content_box .ranking_list .store_list .header_box .header {
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 48rpx;
+ overflow: hidden;
+ border: solid 2rpx #ccc;
+ margin-right: 20rpx;
+}
+
+#Activity .content_box .ranking_list .store_list .header_box .header image {
+ width: 100%;
+ height: 100%;
+}
+
+#Activity .content_box .ranking_list .store_list .header_box .name {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 320rpx;
+ text-align: left;
+ font-size: 14px;
+}
+
+#Activity .content_box .ranking_list .store_list .header_box .right {
+ position: absolute;
+ right: 0;
+ font-size: 14px;
+ color: #fca232;
+}
+
+#Activity .content_box .ranking_list .store_list .blank {
+ height: 60px;
+}
+
+#Activity .content_box .store_into {
+ position: fixed;
+ bottom: 160rpx;
+ left: 20rpx;
+ display: flex;
+}
+
+#Activity .content_box .store_into .animated {
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+
+ /* 动画时间 */
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+
+ /* 播放后的状态 */
+}
+
+#Activity .content_box .store_into .animated {
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+
+ /* 动作循环的次数:infinite 无限循环 */
+}
+
+#Activity .content_box .store_into .animated {
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+
+ /* 动画时间 */
+}
+
+#Activity .content_box .store_into .up {
+ -webkit-animation-name: upanimation;
+ animation-name: upAnimation;
+
+ /* 动画的名称 */
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+
+ /* 设置动画旋转元素的基点为 */
+ cursor: pointer;
+}
+
+#Activity .content_box .store_into .bag {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/store_into.png");
+ background-size: cover;
+ width: 80px;
+ height: 80px;
+}
+
+#Activity .content_box .store_into .bag .text {
+ margin-left: 37.6rpx;
+ margin-top: 48rpx;
+ color: #fff;
+ width: 64rpx;
+ font-size: 12px;
+}
+
+@keyframes upAnimation {
+ 0%,
+ 100%,
+ 20%,
+ 50%,
+ 80% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 40%,
+ 43% {
+ -webkit-transition-timing-function: cubic-bezier(0.755, 0.5, 0.855, 0.06);
+ transition-timing-function: cubic-bezier(0.755, 0.5, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -30px, 0);
+ transform: translate3d(0, -30px, 0);
+ }
+
+ 70% {
+ -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -15px, 0);
+ transform: translate3d(0, -15px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -4px, 0);
+ transform: translate3d(0, -4px, 0);
+ }
+}
+
+#Activity .content_box .bottom_btn {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+}
+
+#Activity .content_box .bottom_btn button {
+ width: 100%;
+ height: 100rpx;
+ background: #f7806c;
+ font-size: 18px;
+ color: #fff;
+ border: none;
+}
+
+.overhidden {
+ height: 176rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 5;
+ -webkit-box-orient: vertical;
+}
+
+.text_down {
+ width: 100%;
+ overflow: hidden;
+}
diff --git a/packageD/buy/myOrder_v2/myOrder_v2.js b/packageD/buy/myOrder_v2/myOrder_v2.js
new file mode 100644
index 0000000..ca20f1b
--- /dev/null
+++ b/packageD/buy/myOrder_v2/myOrder_v2.js
@@ -0,0 +1,3747 @@
+// pages/buy/myOrder_v2/myOrder_v2.js
+import Toast from "../../../dist/toast/toast";
+import util from "../../../utils/util.js";
+var location = require("../../../mybehaviors/location/location");
+
+var app = getApp();
+// var WxParse = require('../../../wxParse/wxParse.js');
+// var qqmapsdk;
+
+Page({
+ behaviors: [location],
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ plugin_id: "", // 应用市场用来判断请求的接口
+ isDomain: false,
+ clicktag: 0, // 方式提交订单多次点击
+ language: "",
+ //不同购买方式
+ pre_order_url: "", // 预下单的请求url
+ order_url: "", // 提交订单的请求url
+ order_other_json: {}, // 每种类型下单的格外的请求数据
+ isCartsOrder: false, // 判断是不是购物车下单类型
+ options: {}, //路由参数购买方式
+ _root_tag: "",
+ TAG_ACTION_BUY: "-2", //直接购买
+ TAG_ACTION_CART: "-1", //-1购物车结算
+ _goodsId: "",
+ _optionsId: "",
+ _total: 1,
+ _cart_ids: [],
+ currentAddId: "",
+ currentAddress: {},
+ //O2O部分
+ store_id: 0,
+ storeCarts: [],
+ store_info: {},
+ linkinfo: {
+ mobile: "",
+ name: "",
+ },
+ selectedMode: 0,
+ selected: 0,
+ dispatch: [],
+
+ //优惠券标识
+ cup_notice: true,
+ isShowCoupon: false, //是否显示优惠券
+ defaultAddress: {},
+ realname: "", //收件人
+ mobile: "",
+ address: "",
+ order_data: "",
+ dispatch_price: 0,
+ goods_price: 0,
+ price: 0,
+ discount_price: 0,
+ deduction_price: 0,
+ goodsInfo: {},
+ //优惠券
+ popupCouponSpecs: false,
+ checkCouponList: [],
+ coupon_size: 0,
+ use_coupon_size: 0,
+ coupons: [],
+ //积分抵扣 其他抵扣
+ checkDeductionList: [],
+ //个人信息和修改
+ myRealname: "",
+ myIdcard: "",
+ showMyinfo: false,
+ showFrom: false,
+
+ currentIndex: "999",
+ //是否开启会员权益开关
+ isOpenRight: false,
+ //是否选择权益商品
+ isRightChoose: false,
+ //租赁商品标识
+ isRent: false,
+ //租期
+ rentTime: [],
+ //可以免租的件数
+ rentFree: "",
+ //免押件数
+ rent_deposit_free: 0,
+ //租赁协议
+ agreeCon: {},
+ //免租件数
+ rent_free: 0,
+ rentShow: false,
+ tenancy: "",
+ //留言
+ note: {},
+ //跨境
+ isTaxGoods: false,
+ // explain_title: "",
+ // explain_content: "",
+ //同意租赁协议
+ agreement: false,
+ agreementShow: false,
+ submit_active: true,
+ //是否显示支付协议
+ AgreementPay: "",
+ //同意支付协议
+ agreementPay: false,
+ //支付协议
+ agreementPayShow: false,
+ _show_address: false,
+ // 发票
+ isShowInvoice: true, //71182
+ invoiceData: {
+ papery_status: "",
+ electron_status: "",
+ },
+ invoice_list: {},
+
+ total_items: [],
+ discount_amount_items: [],
+ service_fee_items: [],
+ //服务费
+ service: {},
+ isCash: "",
+ goodsId: "",
+ show1: false,
+ isOpenTeam: false, //是否为一键开团
+ isJoinTeam: false, //是否为去参团
+
+ point: {
+ lat: "",
+ lng: "",
+ },
+ city: "",
+ defaultSelfCarry: {},
+ diyShow: false,
+ orders_goods: {},
+ diyform: {
+ form_id: "",
+ diyform_data_id: "",
+ pre_id: "",
+ },
+ // 门店配送 start +++++++++++++++++++++++++++++++++++
+ markers_2: [{
+ // 获取返回结果,放到mks数组中
+ latitude: "",
+ longitude: "",
+ iconPath: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //图标路径
+ width: 20,
+ height: 25,
+ callout: {
+ padding: "10rpx",
+ borderRadius: "5rpx",
+ },
+ },],
+ polygons_2: [{
+ points: [],
+ fillColor: "#FF88887F",
+ strokeColor: "#FFF",
+ strokeWidth: 2,
+ zIndex: 1,
+ },],
+ deliveryScopeShow: false,
+ default_member_address: "",
+ delivery: {
+ longitude: "113.324520",
+ latitude: "23.099994",
+ },
+ delivery_note: "", //门店配送说明
+ delivery_area: [
+ [116.403322, 39.920255]
+ ], // 配送范围经纬度
+ locations: [116.403322, 39.920255], //门店经纬度
+ // 门店配送 end-------------------------
+ integral: "",
+ is_region: 0,
+ activity_id: "",
+ TemplateArray: [],
+
+ orderLocationObj: {
+ positioning_success: 0,
+ province: "",
+ city: ""
+ },
+
+ isCueCoupon: false,
+ openCueCoupon: false,
+
+ getParams_status: false, //是否已请求接口
+ fromStock: "", // 是否是云库存商品
+
+ // 话费慢充
+ show_recharge_mobile: "",
+ recharge_tips: "",
+ recharge_mobile: "",
+
+ // 自定义表单
+ hasGoodOpenDF: false,
+ // 聚合cps
+ iscps: false,
+ cpstype: 2,
+ cpsTxt: "",
+ // end
+ storeSearchBtn: {}, //门店搜索插件自定义下单页按钮
+
+ service_fee: [], //服务费、运费说明
+
+ //上门安装 插件名:live-install
+ minDate: new Date().getTime(),
+ installDateShow: false,
+ installDate: null, //预约时间(10位时间戳)
+ installDateText: "",
+ install_comment: "", //安装备注,不要超过120个字符
+ location: {}, //定位信息
+ showLocation: false,
+ showInstallPop: false,
+ default_deduction: 0, //判断积分抵扣默认是否开启
+
+ showPage: true, //为了解决跳转的时候显示自提点的bug #64574
+ delivery_amount: 0, //门店起送金额
+
+ phone_bill_pro_goods: false, //是否话费充值pro版,根据url是否有mobile来判断
+
+ clickMiniTemplate: false, //判断是否已经点击订阅订单
+ // 供应商定位和经纬度
+ // supp_adress:'',
+ supp_point: {
+ lng: '',
+ lat: '',
+ address: ''
+ },
+ recommend_goods: [], //满额包邮推荐商品
+ // 电费充值规格组合id
+ electricity_Guide: "",
+ electricity: false,
+ // 充值户号
+ eleUser: [],
+ ele_no_showAdress: false,
+ // 二开页面设置插件-胜天半子#79514
+ sexSelect: '1',
+ showArea: false,
+ // 使用微信地址,页面设置插件
+ use_wechat_address: false,
+ design_info: {
+ cityName: "",
+ countyName: "",
+ detailInfo: "",
+ provinceName: "",
+ telNumber: "",
+ userName: "",
+ },
+
+ ferightExplainPop: false,
+ freightExplain: {},
+
+ o2odeliverName: "自提点", //门店自提点自定义名称
+ o2oSelfCarry: {},
+ deliveryTimeShow: false,
+ costSpecShow: false,
+ selectCommunityShow: false,
+ serviceRegionShow: false,
+
+ //同城配送
+ cityDelivery: null,
+ cityDelivery_community: {},
+ cityDelivery_community_id: 0,
+ cityDelivery_deliveryTime: {},
+ yz_subscribe_disabled: false,
+
+ //分时预约商品
+ reserve_tel_name: '',
+ reserve_mobile: '',
+ reserve_order: null,
+ reserve_obj_text: "预约人员",
+ plugin_setting: '', //插件信息 获取默认地址
+ camilo_resources_coupon_type: '', //插件id:140 卡券商品 卡券商品 1直冲2卡券
+ recharge_number: '',
+
+ addressList_caller:"", //地址组件调用着,识别是地址调用还是发票插件调用
+ //油卡充值
+ oil_mobile:"",
+ oil_account:"",
+ oil_pre_id:"",
+
+ consigneeName: '', // 自提点提货人自定义
+ consigneeMobile: '' // 自提点提货人手机号
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ wx.getStorage({
+ key: "yz_basic_info",
+ success: (res) => {
+ this.setData({
+ reserve_obj_text: res.data.lang.reserve_simple.reserve_obj || '预约人员',
+ });
+ },
+ });
+ this.handleQueryData(options);
+ let yz_basic_info = wx.getStorageSync('yz_basic_info');
+ this.setData({
+ vip_show:yz_basic_info.globalParameter.vip_show?yz_basic_info.globalParameter.vip_show:false
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ });
+
+ const value = wx.getStorageSync("integral");
+ const loveName = wx.getStorageSync('yz_basic_info') ? wx.getStorageSync('yz_basic_info').love : '';
+ if (value) {
+ this.setData({
+ integral: value,
+ love_name: loveName
+ });
+ }
+ let plugin_setting = wx.getStorageSync("yz_basic_info").plugin_setting || '';
+ this.setData({
+ plugin_setting
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.data.submit_active = true;
+ this.setData({
+ showPage: true,
+ });
+ if (this.data.selected == 10) {
+ // 供应商订单配送自动定位
+ this._getLocation((res) => {
+ let point = app.qqMapTransBMap(parseFloat(res.location.lng), parseFloat(res.location.lat));
+ this.setData({
+ 'supp_point.lng': point.lng,
+ 'supp_point.lat': point.lat,
+ 'supp_point.address': res.address
+ });
+ });
+ }
+ },
+ tolocation() {
+ wx.navigateTo({
+ url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=suppligoodsOrde',
+ });
+ },
+ setFreightExplainPop() {
+ this.setData({
+ ferightExplainPop: !this.data.ferightExplainPop
+ });
+ },
+ getWxAdress() {
+ wx.chooseAddress({
+ success: (res) => {
+ console.log(res, 'sssss');
+ let e = res;
+ this.setData({
+ userAdress: `${e.provinceName} ${e.cityName} ${e.countyName}`,
+ design_address: `${e.detailInfo}`,
+ design_info: e
+ });
+ this._requestByAddress()
+ }
+ });
+ },
+ async handleQueryData(options) {
+ //不同购买方式
+ this.setData({
+ options: options,
+ });
+
+ if (options.tag) {
+ this.setData({
+ _root_tag: options.tag,
+ });
+ }
+ let userLocationFlag = await this.checkAlbum("scope.userLocation");
+ console.log("userLocationFlag", userLocationFlag);
+ if (!userLocationFlag) {
+ return app.tips("获取位置失败,请重新进入后授权");
+ }
+
+ if (!app.globalData.qqmapkey) {
+ app._getTemplate().then((res) => {
+ this.getCurrentOrderLocation();
+ });
+ } else {
+ this.getCurrentOrderLocation();
+ }
+
+ if (options.fromStock && options.fromStock != '') {
+ this.setData({
+ fromStock: options.fromStock,
+ });
+ }
+
+ // 聚合cps
+ if (options.iscps) {
+ this.setData({
+ _root_tag: "cps",
+ iscps: options.iscps,
+ });
+ }
+ if (options.mobile) {
+ this.setData({
+ phone_bill_pro_goods: true,
+ recharge_mobile: options.mobile
+ });
+ }
+ if (options.cpstype) {
+ this.setData({
+ cpstype: options.cpstype,
+ });
+ }
+ //end
+
+ if (options.activity_id) {
+ this.setData({
+ activity_id: options.activity_id,
+ });
+ }
+
+ if (options.ind) {
+ this.setData({
+ ind: options.ind,
+ });
+ }
+
+ if (options.reserve_order) {
+ this.setData({
+ reserve_order: JSON.parse(options.reserve_order)
+ });
+ }
+
+ //是否为一键开团(拼团)
+ let isOpenTeam = !app._isTextEmpty(options.level_id);
+ //是否为去参团(拼团)
+ let isJoinTeam = !app._isTextEmpty(options.team_id);
+ this.setData({
+ isOpenTeam,
+ isJoinTeam,
+ });
+
+ if (options.changeSelfCarry) {
+ let changeSelfCarry = JSON.parse(options.changeSelfCarry);
+ if (options.ind == 12) {
+ this.setData({
+ o2oSelfCarry: changeSelfCarry,
+ });
+ } else {
+ this.setData({
+ defaultSelfCarry: changeSelfCarry,
+ });
+ }
+ }
+
+ //如果Storage里有保存自提点的信息则自动获取填写
+ let _zdtInfo = wx.getStorageSync("selfCarryInfo");
+ if (_zdtInfo) {
+ _zdtInfo = JSON.parse(_zdtInfo);
+ this.setData({
+ "linkinfo.name": _zdtInfo.distributionUserName || "",
+ "linkinfo.mobile": _zdtInfo.distributionUserMobile || "",
+ });
+ }
+
+ // 设置主要参数
+ this.setData({
+ _goodsId: options.goodsId || "",
+ _optionsId: options.optionsId || "",
+ _total: options.total || 1,
+ });
+
+ if (options.cart_ids && options.cart_ids != 'undefined') {
+ this.setData({
+ _cart_ids: options.cart_ids ? JSON.parse(options.cart_ids) : [],
+ });
+ }
+
+ // if (this.data._root_tag == this.data.TAG_ACTION_BUY || this.data._root_tag == "store") {
+ if (options.store_id && options.store_id != 'undefined') {
+ // 门店拓客
+ this.setData({
+ store_id: options.store_id,
+ });
+ }
+ // }
+
+ if (options.electricity && options.electricity == "electricity") {
+ this.setData({
+ electricity: true
+ });
+ }
+
+ if(options.oil_account && options.oil_mobile){
+ this.setData({
+ oil_account:options.oil_account,
+ oil_mobile:options.oil_mobile
+ });
+ }
+ // 置换亿栈债务人id
+ if(options.debtId){
+ this.setData({
+ debtId:options.debtId
+ })
+ }
+
+ if (this.data._root_tag != "POrder" && this.data._root_tag != "store") {
+ //第请求接口获取配送方式后,取默认第一个的dispatch_type_id再请求预下单接口; 挂单POrder走固定的配送方式
+ this.getDispatchMethod();
+ } else {
+ this.handleBuy();
+ }
+ },
+ // 获取配送方式
+ getDispatchMethod(cart_ids) {
+ if (this.data._root_tag == "communityBuy") {
+ // 社区团购直接设置,走配送方式接口返回为空,前端自定义,自提点不可更换
+ let dispatch = [{ dispatch_type_id: 8, name: "自提点" }];
+ this.setData({
+ dispatch: dispatch,
+ selected: 8
+ });
+ this.handleBuy();
+ return;
+ }
+ let json = {
+ goods_id: this.data._goodsId ? this.data._goodsId.toString() : "",
+ cart_ids: this.data._cart_ids.toString() || cart_ids,
+ store_id: this.data.options.store_id || this.data.options.groupStoreID,
+ model: "",
+ };
+ if (this.data._root_tag == "store") {
+ json.model = "store";
+ }
+ if (this.data._root_tag == "warehouse") {
+ let _goods_ids = [];
+ JSON.parse(this.options.goodCollection).forEach(item => {
+ _goods_ids.push(item.goods_id);
+ });
+ json.goods_ids = JSON.stringify(_goods_ids);
+ }
+
+ let urlStr = app.getNetAddresss("memberCart.dispatch-type.index");
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ if(!app._isTextEmpty(this.data.debtId)){
+ // 置换亿栈地址默认为快递
+ this.setData({
+ dispatch:[{dispatch_type_id: 1,name: "快递"}],
+ selected:res.data && res.data.length > 0 ? res.data[0].dispatch_type_id : 0
+ })
+ }else{
+ this.setData({
+ dispatch: res.data,
+ selected: res.data && res.data.length > 0 ? res.data[0].dispatch_type_id : 0, //默认第一
+ });
+ this.data.dispatch.forEach((items, i) => {
+ if (items.dispatch_type_id == 8) {
+ console.log("有自提点配送方式,请求定位获取自提点列表");
+ if (this.data.ind) {
+ this.setData({
+ selected: this.data.ind,
+ selectedMode: i,
+ ind: false,
+ });
+ }
+ } else if (items.dispatch_type_id == 12) {
+ //从门店自提点列表选择后来
+ if (this.data.ind == 12 && this.data.o2oSelfCarry && this.data.o2oSelfCarry.id) {
+ this.setData({
+ selected: 12,
+ selectedMode: i
+ });
+ }
+ }
+ });
+ }
+ if (this.data._root_tag == "store") {
+ this._getStoreCartBuy(this.data.storeCarts);
+ } else {
+ this.handleBuy();
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ handleBuy(is_again) {
+ // is_again判断是否重新请求数据 选择地址后是1 优惠券或者抵扣是2
+ switch (this.data._root_tag) {
+ case this.data.TAG_ACTION_BUY:
+ case "appointment_goods":
+ case "yun_sign_goods":
+ case "yunqian_api":
+ case "cps":
+ case "starGroup":
+ case "blindBox":
+ case "fromExchange":
+ case "newRetail":
+ case "auction":
+ case "zhpGroup":
+ case "o2oDeposit":
+ // 通常是单个商品的预下单
+ if (!is_again) {
+ if (this.data.options.store_id) {
+ // 门店拓客 门店预约
+ this._initStore("is_activity");
+ } else if (this.data.options.groupStoreID && this.data.options.groupStoreID != 0 && this.data.options.groupStoreID != "undefined") {
+ //门店拼团
+ this._initStore();
+ }
+ // 只为了获取配送方式
+ } else if (this.data._root_tag == "fromExchange" && is_again === "2") {
+ //会员中心-兑换中心-去兑换(商城商品)
+ this._getDataActionBuy(0);
+ return;
+ }
+ this._getDataActionBuy(); // 直接购买
+ break;
+ case this.data.TAG_ACTION_CART: // 商城购物车结算
+ case "packagBuy": // 商品套餐
+ case "-10": // 一口价
+ case "communityBuy": // 社区团购
+ this.data.isCartsOrder = true;
+ // 通常是购物车的预下单
+ this._getDataActionCart();
+ break;
+ case "store":
+ this.data.isCartsOrder = true;
+ if (!is_again) {
+ // 门店购物车购买
+ if (this.data.options.isCash == 1) {
+ // 门店过期(续费 isCash =='1')商品下单
+ this.getCashGood();
+ } else {
+ this._initStore();
+ }
+ } else {
+ this._getDataActionStoreCart(); // 门店结算
+ }
+ break;
+ case "rentCartBuy":
+ case "rentBuy":
+ if (!is_again) {
+ // 租赁购物车或租赁预下单
+ this.setData({
+ currentIndex: "999",
+ isRent: true,
+ });
+
+ this._getRentDataActionCart([], []);
+ this._getRentTimeList();
+ this._judgeIsRight();
+ } else {
+ this._rentGoodBuy();
+ }
+ break;
+ case "POrder":
+ //挂单商品
+ this.getPendingOrder_type(); //批发区下单页类型判断,即导航栏判断
+ break;
+ default:
+ this._getDataActionBuy(); // 直接购买
+ }
+ },
+ // 处理单个商品的预下单 设置预下单链接 提交订单链接 类型额外的数据
+ handleDataActionBuyUrl(json, tag) {
+ if (this.data.isRent) {
+ // 租赁
+ this.data.order_url = "plugin.lease-toy.api.order.create";
+ } else if (this.data.fromStock == 1 || this.data.fromStock == 2) {
+ //云库存
+ this.data.pre_order_url = app.getNetAddresss("plugin.agency.api.goods-buy.index");
+ this.data.order_url = "plugin.agency.api.create.index";
+ let agencySaleman = this.selectComponent("#agencySaleman");
+ if (this.data.fromStock == 2) {
+ this.data.order_other_json = {
+ is_retail: true, //云库存零售传值
+ salesman_uid: (agencySaleman && agencySaleman.data.self_member_id) || "" //销售员id
+ };
+ }
+ } else if (this.data.isOpenTeam || this.data.isJoinTeam) {
+ // 拼团
+ this.data.order_other_json = {
+ option_level_id: this.options.option_level_id, //规格层级id
+ };
+
+ if (this.data.isOpenTeam) {
+ this.data.order_other_json.level_id = this.options.level_id; //一键开团 拼团层级id
+ this.data.order_other_json.isOpenTeam =1; //一键开团 拼团层级id
+ this.data.pre_order_url = "plugin.fight-groups.frontend.controllers.team.pre-open-team";
+ } else if (this.data.isJoinTeam) {
+ this.data.order_other_json.team_id = this.options.team_id; //一键参团 拼团层级id
+ this.data.pre_order_url = "plugin.fight-groups.frontend.controllers.team.pre-join-team";
+ }
+
+ this.data.order_url = "plugin.fight-groups.frontend.controllers.create.index";
+
+ if (this.options.groupStoreID && this.options.groupStoreID != 0 && this.options.groupStoreID != "undefined") {
+ this.data.order_other_json.store_id = this.options.groupStoreID;
+ //门店拼团
+ this.data.pre_order_url = this.data.isOpenTeam ? "plugin.fight-groups.frontend.store.frontend-team.pre-open-team" : "plugin.fight-groups.frontend.store.frontend-team.pre-join-team";
+ this.data.order_url = "plugin.fight-groups.frontend.store.create.index";
+ }
+ } else if (this.options.tag == "appointment_goods") {
+ this.data.order_url = "plugin.appointment.frontend.order.create";
+ } else if (this.options.type == "groupBuy_open" || this.options.type == "groupBuy_join") {
+ this.data.order_other_json = {
+ at_id: this.options.at_id, //活动ID
+ leader_id: this.options.leader_id || 0, //团长ID
+ };
+ delete json.option_id;
+ this.data.pre_order_url = this.options.type == "groupBuy_open" ? "plugin.together-purchase.api.team.preOpenTeam" : "plugin.together-purchase.api.team.preJoinTeam";
+
+ this.data.order_url = "plugin.together-purchase.api.create.index";
+ } else if (this.options.type == "grabGroup_open" || this.options.type == "grabGroup_join") {
+ //抢团
+ this.data.order_other_json = {
+ at_id: this.options.at_id, //活动ID
+ leader_id: this.options.leader_id || 0, //团长ID
+ snatch_option_id: this.data._optionsId,
+ };
+ json.option_id = 0;
+ this.data.pre_order_url = this.options.type == "grabGroup_open" ? "plugin.snatch-regiment.api.team.preOpenTeam" : "plugin.snatch-regiment.api.team.preJoinTeam";
+
+ this.data.order_url = "plugin.snatch-regiment.api.create.index";
+ } else if (this.data._root_tag == "POrder") {
+ this.data.order_other_json = {
+ pending_order_type: this.data.selected, //批发订单使用类型
+ };
+ this.data.pre_order_url = "plugin.pending-order.frontend.goods-buy.index";
+
+ this.data.order_url = "plugin.pending-order.frontend.create.index";
+ } else if (this.data._root_tag == "o2oDeposit") {
+ //门店定金团
+ this.data.order_other_json = {
+ store_id: this.options.store_id || 0, //门店ID
+ };
+ this.data.pre_order_url = "plugin.deposit-ladder.frontend.store.activity-buy";
+ } else if (this.options.store_id) {
+ if (this.data._root_tag == "reserve") {
+ this.data.order_other_json = {
+ date_id: this.options.date_id,
+ store_id: this.options.store_id,
+ goods_id: this.options.goodsId
+ };
+ if (tag == 'order') {
+ this.data.order_other_json.date_id = this.options.date_id;
+ }
+ this.data.pre_order_url = "plugin.store-reserve.frontend.GoodsBuy.index";
+ this.data.order_url = "plugin.store-reserve.frontend.create.index";
+ } else {
+ //门店拓客
+ this.data.order_other_json = {
+ store_id: this.options.store_id || 0, //门店ID
+ };
+ if (tag === "order") {
+ this.data.order_other_json.mobile = this.data.linkinfo.mobile;
+ this.data.order_other_json.realname = this.data.linkinfo.name;
+ this.data.order_other_json.cart_ids = [];
+ }
+
+ this.data.pre_order_url = "plugin.store-cashier.frontend.store.goods-buy";
+ }
+ // 走门店下单
+ } else if (this.options.type == "starGroup") {
+ //星拼乐
+ this.data.order_other_json = {
+ at_id: this.options.at_id, //活动ID
+ leader_id: this.options.leader_id || 0, //团ID
+ goods_data: {
+ goods_id: this.data._goodsId,
+ total: this.options.total,
+ option_id: this.options.option_id,
+ },
+ };
+ this.data.pre_order_url = "plugin.star-spell.frontend.team.joinTeam";
+
+ this.data.order_url = "plugin.star-spell.frontend.create.index";
+ } else if (this.data._root_tag == "blindBox") {
+ this.data.order_other_json = {
+ activity_id: this.data.activity_id, //活动ID
+ goods_id: this.data._goodsId,
+ };
+ this.data.pre_order_url = "plugin.blind-box.api.buy";
+
+ this.data.order_url = "plugin.blind-box.api.create";
+ } else if (this.data._root_tag == "fromExchange") {
+ //会员中心-兑换中心
+ if (this.options.store_id && this.options.store_id != "undefined") {
+ this.data.order_other_json.store_id = this.options.store_id;
+ this.data.pre_order_url = "plugin.store-cashier.frontend.store.exchange-center";
+ } else {
+ this.data.pre_order_url = "coupon.exchange-center.exchange-buy";
+ }
+ } else if (this.options.tag == "newRetail") {
+ //新零售 0-自由零售 1-成为代理商订单 2-自由发货 3-线上零售 4-进货订单 5-销售代理套餐订单
+ this.data.order_other_json = {
+ retail_state: Number(this.options.retailState),
+ level_id: Number(this.options.NRLevelId) || 0, //等级id
+ sales_id: Number(this.options.sales_id) || 0, //记录id
+ };
+ // if (this.options.retailState == 2) {
+ // this.data.order_other_json.goods = JSON.parse(this.options.goods) || []; // 自由发货
+ // }
+ this.data.pre_order_url = this.newRetailApi(this.options.retailState);
+
+ if (Number(this.options.retailState) == 0) {
+ this.data.order_url = "plugin.new-retail.frontend.create.ordinary"; // 自由发货
+ } else {
+ this.data.order_url = "plugin.new-retail.frontend.create.index";
+ }
+ } else if (this.data._root_tag == "auction") {
+ //拍卖商品
+ this.data.order_other_json = {
+ fixed_price: this.data.options.fixed_price,
+ acution_sn: this.data.options.acution_sn,
+ };
+ this.data.pre_order_url = "plugin.auction.api.goods-buy";
+
+ this.data.order_url = "plugin.auction.api.order-create";
+ } else if (this.data._root_tag == "zhpGroup") {
+ this.data.pre_order_url = "plugin.zhp-group-lottery.frontend.goods.get-goods-Info";
+ json.option_id = this.data._optionsId ? this.data._optionsId : '0';
+ this.data.order_other_json = {
+ activity_id: this.data.activity_id,
+ };
+ this.data.order_url = "plugin.zhp-group-lottery.frontend.order.index";
+ } else if (this.data._root_tag == "groupWork") {
+ this.data.order_other_json = {
+ alliance_detail_id: this.data.options.alliance_detail_id,
+ activity_option_id: this.data.options.activity_option_id
+ };
+ this.data.pre_order_url = "plugin.group-work.frontend.modules.order.controllers.buy.index";
+ this.data.order_url = "plugin.group-work.frontend.modules.order.controllers.create.index";
+ } else if (this.data._root_tag == "warehouse") {
+ this.data.order_other_json = {
+ goods: this.options.goodCollection
+ };
+ this.data.pre_order_url = "plugin.warehouse.frontend.controllers.takeDelivery.goods-buy";
+ this.data.order_url = "plugin.warehouse.frontend.controllers.takeDelivery.order-create";
+ }else if(!app._isTextEmpty(this.data.debtId)){
+ this.data.order_other_json = {
+ debtor_id: this.data.options.debtId
+ };
+ this.data.pre_order_url = "plugin.debt-shop.frontend.goods-buy";
+ this.data.order_url = "plugin.debt-shop.frontend.create";
+ }
+
+ if (this.data.reserve_order != null) {
+ this.data.order_url = "plugin.reserve-simple.frontend.order.create";
+ let {
+ service_id,
+ obj_id,
+ begin_time
+ } = this.data.reserve_order;
+ let customer_name = this.data.reserve_tel_name;
+ let customer_tel = this.data.reserve_mobile;
+ json.reserve_order = {
+ service_id,
+ obj_id,
+ begin_time,
+ customer_name,
+ customer_tel
+ };
+ json.dispatch_type_id = 0;
+ }
+
+ if (this.options.electricity == "electricity") {
+ this.data.order_other_json.account_id = this.options.account_id;
+ }
+
+ if (!this.data.pre_order_url) {
+ this.data.pre_order_url = "order.goods-buy";
+ }
+
+ if (!this.data.order_url) {
+ if (this.data.iscps) {
+ // 如果是聚合cps的商品走立即购买换这个接口
+ this.data.order_url = "plugin.aggregation-cps.api.create-order";
+ } else {
+ this.data.order_url = "order.create";
+ }
+ }
+
+ if (this.options.merchant_meeting) {
+ //线下招商会商品下单,多传一个活动id
+ this.data.order_other_json.merchant_meeting = this.options.merchant_meeting;
+ }
+
+ if (this.data.default_deduction != 0) {
+ // 默认积分抵扣
+ json.no_deduction_ids = this.data.default_deduction;
+ }
+
+ if (this.data.cityDelivery && this.data.cityDelivery.future_state == 1) {
+ if (this.data.cityDelivery_deliveryTime.start_time && this.data.cityDelivery_deliveryTime.end_time) {
+ json.expect_start_time = this.data.cityDelivery_deliveryTime.start_time;
+ json.expect_end_time = this.data.cityDelivery_deliveryTime.end_time;
+ }
+ }
+ if (this.data.use_wechat_address && (this.data.selected == 1 || this.data.selected == 0)) {
+ // 只用于快递,并且开启了使用微信地址
+ let usejson = {
+ address: this.data.design_address || "",
+ city: this.data.design_info.cityName,
+ district: this.data.design_info.countyName,
+ id: "",
+ isdefault: "",
+ latitude: "",
+ longitude: "",
+ mobile: this.data.design_info.telNumber,
+ province: this.data.design_info.provinceName,
+ street: "",
+ uid: "",
+ uniacid: "",
+ username: this.data.design_info.userName,
+ zipcode: "",
+ };
+ // 没有选择微信地址的时候,是整个adress都为空
+ json.address = usejson.address?encodeURIComponent(JSON.stringify(usejson)):[];
+ }
+ return Object.assign(json, this.data.order_other_json);
+ },
+ // 处理购物车的预下单 设置预下单链接 提交订单链接 类型额外的数据
+ handleDataActionCartUrl(json, tag) {
+ if (this.data._root_tag == "communityBuy") {
+ //社区团购
+ this.data.pre_order_url = "plugin.package-deliver.frontend.cartBuy.index";
+ this.data.order_other_json = {
+ dispatch_type_id: 8,
+ package_deliver_id: this.options.package_deliver_id,
+ group_id: this.options.group_id,
+ };
+
+ this.data.order_url = "plugin.package-deliver.frontend.create.index";
+ } else if (this.data._root_tag == "-10") {
+ // 一口价下单
+ this.data.pre_order_url = "plugin.pack-fixed-price.api.cart-buy.index";
+ if (tag === "order") {
+ this.data.order_other_json.cart_ids = JSON.stringify(this.data._cart_ids);
+ }
+
+ this.data.order_url = "plugin.pack-fixed-price.api.create.index";
+ }
+
+ if (this.data._root_tag == "packagBuy") {
+ let packagJson = JSON.parse(this.data.options.packagJson);
+ this.data.order_other_json = {
+ package_id: packagJson.package_id,
+ goods: JSON.stringify(packagJson.goods_list),
+ };
+ console.log(this.data.order_other_json, 963);
+ this.data.pre_order_url = "plugin.goods-package.frontend.package.package-buy.index";
+ }
+
+ if (tag === "order" && this.data._root_tag != "-10" && this.data._root_tag != "packagBuy") {
+ // 购物车下单需要购物车id
+ this.data.order_other_json.cart_ids = JSON.stringify(this.data._cart_ids);
+ }
+
+ if (!this.data.pre_order_url) {
+ this.data.pre_order_url = "order.cart-buy";
+ }
+
+ if (!this.data.order_url) {
+ this.data.order_url = "order.create";
+ }
+
+ if (this.data.default_deduction != 0) {
+ // 默认积分抵扣
+ json.no_deduction_ids = this.data.default_deduction;
+ }
+ return Object.assign(json, this.data.order_other_json);
+ },
+
+ newRetailApi(states) {
+ let state = Number(states);
+ //新零售 0-自由零售 1-成为代理商订单 2-自由发货 3-线上零售 4-进货订单 5-销售代理套餐订单c
+ if (state == 0) {
+ return "plugin.new-retail.frontend.order.ordinaryPay";
+ } else if (state == 1) {
+ return "plugin.new-retail.frontend.order.purchaseRetailGoods";
+ } else if (state == 2) {
+ return "plugin.new-retail.frontend.order.freeSend";
+ } else if (state == 3) {
+ return "plugin.new-retail.frontend.order.retailCodePay";
+ } else if (state == 4) {
+ return "plugin.new-retail.frontend.order.purchaseStock";
+ } else if (state == 5) {
+ return "plugin.new-retail.frontend.order.retailCodePay";
+ }
+ },
+
+ setPopShow(evt) {
+ let name = evt.currentTarget.dataset.name;
+ this.setData({
+ [name]: !this.data[name]
+ });
+ },
+
+ setInstallDateShow() {
+ this.setData({
+ installDateShow: !this.data.installDateShow,
+ });
+ },
+ bindInstallDateChange(e) {
+ this.setInstallDateShow();
+ let val = e.detail;
+ this.setData({
+ installDate: parseInt(val / 1000),
+ installDateText: util.formatTime(new Date(val)),
+ });
+ },
+ // 门店配送-查看配送范围
+ showDeliveryMap() {
+ this.setData({
+ deliveryScopeShow: true,
+ });
+ },
+ showLocationPop() {
+ this.setData({
+ showInstallPop: !this.data.showInstallPop,
+ });
+ },
+ deliveryScopeShowClose() {
+ this.setData({
+ deliveryScopeShow: false,
+ });
+ },
+ confirmLocation(e) {
+ this.setData({
+ "location.latitude": e.detail.lat,
+ "location.longitude": e.detail.lng,
+ "location.address": e.detail.address,
+ });
+ this.showLocationPop();
+ },
+ _checkTaxGoods(data) {
+ if (data && data.status) {
+ //显示个人信息
+ this.setData({
+ showMyinfo: data.status,
+ });
+ this.data.isTaxGoods = true;
+ } else {
+ this.data.isTaxGoods = false;
+ this.setData({
+ showMyinfo: false,
+ });
+ //隐藏个人信息
+ }
+ },
+ _getMemberInfo(data) {
+ this.setData({
+ myRealname: data.realname,
+ myIdcard: data.idcard,
+ });
+ },
+ // _getExplain(data) {
+ // this.data.explain_title = data.explain_title;
+ // this.data.explain_content = data.explain_content;
+ // },
+ //保税真实信息添加
+ alertMyInfo() {
+ this.setData({
+ showFrom: true,
+ });
+ },
+ confirmFrom(e) {
+ this.setData({
+ myRealname:e.detail.name,
+ myIdcard:e.detail.card,
+ showFrom: e.detail.status,
+ });
+ },
+ //更换自提点
+ gotochangeSelfCarry() {
+ let that = this;
+ //保存自提点信息到本地,任务编号: 35632
+ let _memberInfoes = {
+ distributionUserName: this.data.linkinfo.name ? this.data.linkinfo.name : "",
+ distributionUserMobile: this.data.linkinfo.mobile ? this.data.linkinfo.mobile : "",
+ };
+ try {
+ wx.setStorageSync("selfCarryInfo", JSON.stringify(_memberInfoes));
+ } catch (e) {
+ console.log(e);
+ }
+
+ let url =
+ "/packageC/selfCarry/selfCarry_info/selfCarry_info?tag=" +
+ that.data.options.tag +
+ "&goodsId=" +
+ that.data.options.goodsId +
+ "&cart_ids=" +
+ that.data.options.cart_ids +
+ "&optionsId=" +
+ that.data.options.optionsId +
+ "&total=" +
+ that.data.options.total +
+ "&goods=" +
+ JSON.stringify(this._assembleGoods()) +
+ "&ind=" +
+ that.data.selected;
+
+ console.log(that.data.isOpenTeam, "that.data.isOpenTeam");
+ if (that.data.isOpenTeam) {
+ url = url + "&level_id=" + that.options.level_id + "&option_level_id=" + that.options.option_level_id;
+ } else if (that.data.isJoinTeam) {
+ url = url + "&team_id=" + that.options.team_id + "&option_level_id=" + that.options.option_level_id;
+ }
+
+ if (this.data._root_tag == "warehouse") {
+ // 圈仓
+ url = url + "&goodCollection=" + this.options.goodCollection;
+ }
+
+ if (this.options.store_id) {
+ // 门店id
+ url = url + "&store_id=" + this.options.store_id;
+ }
+
+ wx.redirectTo({
+ url: url,
+ });
+ },
+
+ // 切换配送方式
+ setDispatch(e) {
+ let title = e.detail.title;
+ this.data.dispatch.forEach((items) => {
+ if (items.name == title) {
+ this.setData({
+ selected: items.dispatch_type_id,
+ selectedMode: e.detail.index,
+ });
+ }
+ });
+ if (this.data.selected == 10) {
+ // 供应商订单配送自动定位
+ this._getLocation((res) => {
+ let point = app.qqMapTransBMap(parseFloat(res.location.lng), parseFloat(res.location.lat));
+ this.setData({
+ 'supp_point.lng': point.lng,
+ 'supp_point.lat': point.lat,
+ 'supp_point.address': res.address
+ });
+ });
+ }
+ if (this.data.selected == "11") {
+ //selected = 11 同城配送
+ this.getDeliverySetting();
+ } else {
+ this._requestByAddress();
+ }
+
+ },
+
+ getDeliverySetting() {
+ if (this.data.cityDelivery != null) {
+ this._requestByAddress();
+ return;
+ }
+ let urlStr = app.getNetAddresss("plugin.city-delivery.frontend.order.getDeliverySetting");
+ app._postNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let changeData = {};
+ changeData.cityDelivery = res.data;
+
+ if (res.data.fence_setting) {
+ changeData["markers_2[0].longitude"] = res.data.fence_setting.store_longitude;
+ changeData["markers_2[0].latitude"] = res.data.fence_setting.store_latitude;
+ changeData["delivery.longitude"] = res.data.fence_setting.store_longitude;
+ changeData["delivery.latitude"] = res.data.fence_setting.store_latitude;
+ if (res.data.fence_setting.delivery_area) {
+ changeData["polygons_2[0].points"] = res.data.fence_setting.delivery_area.map((item) => {
+ let o = {};
+ o.longitude = item[0];
+ o.latitude = item[1];
+ return o;
+ });
+ }
+ }
+ changeData.need_lat = 1;
+
+ this.data.order_data.forEach((item) => {
+ // *1 只是为了转数字类型
+ if ((res.data.min_amount * 1) > (item.goods_price * 1)) {
+ changeData.yz_subscribe_disabled = true; //商品价格不够最低配送,按钮灰色不能提交
+ }
+ });
+ this.setData(changeData);
+ this.selectComponent(`.deliveryTime`).setListData(res.data.time_setting, res.data.default_choose);
+ if (!res.data.default_choose) {
+ this._requestByAddress();
+ }
+ }
+ }
+ });
+ },
+
+ //直接购买
+ _getDataActionBuy(is_exchange) {
+ let that = this;
+ let _json = {
+ goods_id: this.data._goodsId,
+ total: this.data._total,
+ option_id: this.data._optionsId || '0',
+ member_coupon_ids: this._assembleCoupons(),
+ orders: JSON.stringify(this._assembleDeduction()),
+ address: encodeURIComponent(JSON.stringify(this.data.currentAddress)), //encodeURIComponent为了解决地址#号问题
+ dispatch_type_id: this.data.selected,
+ mark: this.data.options.mark ? this.data.options.mark : 0,
+ };
+
+ //自提点开启
+ if (this.data.selected == 8) {
+ _json.package_deliver_id = this.data.defaultSelfCarry.id;
+ }
+ if (this.data.selected == 12) {
+ // 门店自提点
+ _json.package_deliver_id = this.data.o2oSelfCarry.id;
+ }
+
+ if (this.data._root_tag == "fromExchange") {
+ //兑换中心商品
+ _json.data = JSON.parse(this.data.options.exchangeData);
+ _json.is_exchange = is_exchange == 0 ? 0 : 1;
+ }
+
+ if (this.options.tag == "newRetail" && this.options.retailState == 2) {
+ _json.goods = JSON.parse(this.options.goods) || []; // 自由发货
+ }
+ _json = this.handleDataActionBuyUrl(_json);
+ let urlStr = app.getNetAddresss(this.data.pre_order_url);
+ wx.showLoading({
+ title: "加载中",
+ icon: "none",
+ duration: 1500,
+ });
+ if (this.data.clicktag == 0) {
+ this.setData({
+ clicktag: 1,
+ });
+ app._postNetWork({
+ url: urlStr,
+ data: _json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(that.options, res, 'ssawwww');
+ if (that.options.tag == "reserve") {
+ // 门店预约商品
+ if (res.data.reserve_date) {
+ this.setData({
+ reserveDate: res.data.reserve_date.date
+ });
+ }
+ if (res.data.reserve_deduction) {
+ this.setData({
+ reserve_deduction: res.data.reserve_deduction
+ });
+ }
+ if (res.data.reserve_deduction_love) {
+ this.setData({
+ reserve_deduction_love: res.data.reserve_deduction_love
+ });
+ }
+ }
+ if (that.options.type == "groupBuy_open" || that.options.type == "groupBuy_join") {
+ that.setData({
+ isGetAgreementPay: true,
+ AgreementPay: that.data.goodsInfo.together_purchase_agreement ? that.data.goodsInfo.together_purchase_agreement : "",
+ });
+ }
+
+ that.setData({
+ goodsInfo: res.data,
+ cup_notice: true,
+ diyShow: false,
+ });
+ that._setViewData(res.data); //设置界面
+ if (this.data._root_tag == "fromExchange") {
+ //兑换中心
+ that.defaultSelectCoupon(res.data.discount.member_coupons); //设置默认优惠券信息
+ } else if (res.data.discount) {
+ that._initCoupon(res.data.discount); //设置优惠券信息
+ }
+ } else {
+ wx.showModal({
+ title: "提示",
+ content: res.msg,
+ success(res) {
+ if (res.confirm) {
+ try {
+ const orderErrReturnUrl = wx.getStorageSync('orderErrReturnUrl')
+ if (orderErrReturnUrl) {
+ wx.redirectTo({
+ url: orderErrReturnUrl
+ });
+ } else{
+ wx.navigateBack({
+ delta: 1
+ });
+ }
+ } catch (e) {
+ wx.navigateBack({
+ delta: 1
+ });
+ }
+ } else if (res.cancel) {
+ wx.navigateBack({
+ delta: 1
+ });
+ }
+ },
+ });
+ }
+ setTimeout(() => {
+ that.setData({
+ cup_notice: true,
+ clicktag: 0,
+ });
+ wx.hideLoading();
+ }, 1000);
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ }
+ },
+ //购物车结算
+ _getDataActionCart() {
+ let that = this;
+ let _json = {
+ cart_ids: this.data._cart_ids.toString(),
+ member_coupon_ids: this._assembleCoupons(),
+ orders: JSON.stringify(this._assembleDeduction()),
+ address: encodeURIComponent(JSON.stringify(this.data.currentAddress)),
+ dispatch_type_id: this.data.selected,
+ };
+ if (this.data.selected == 8) {
+ _json.package_deliver_id = this.data.defaultSelfCarry.id;
+ }
+ if (this.data.selected == 12) {
+ // 门店自提点
+ _json.package_deliver_id = this.data.o2oSelfCarry.id;
+ }
+
+ _json = this.handleDataActionCartUrl(_json);
+ let urlStr = app.getNetAddresss(this.data.pre_order_url);
+ app._getNetWork({
+ url: urlStr,
+ data: _json,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsInfo: res.data,
+ cup_notice: true,
+ diyShow: false,
+ });
+
+ that._initCoupon(res.data.discount); //设置优惠券信息
+ that._setViewData(res.data); //设置界面
+ } else {
+ that.setData({
+ cup_notice: true,
+ });
+ Toast(res.msg);
+ wx.showModal({
+ title: "提示",
+ content: res.msg,
+ showCancel: false,
+ success(res) {
+ wx.navigateBack({
+ delta: 1,
+ });
+ },
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+
+ // 获取门店数据
+ _initStore(str) {
+ var that = this;
+ this.setData({
+ recipient_name: "",
+ recipient_mobile: "",
+ });
+ let store_id = this.options.groupStoreID && this.options.groupStoreID != "undefined" ? this.options.groupStoreID : this.data.store_id;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.get-store-info.get-info-by-store-id");
+ urlStr += "&store_id=" + store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ store_info: res.data,
+ recipient_name: res.data.store_carry.name,
+ recipient_mobile: res.data.store_carry.number,
+ });
+ if (str !== "is_activity" && !that.options.groupStoreID) {
+ that._getDataActionStoreCart();
+ }
+ // 门店配送规则数据
+ if ((res.data.store_delivery && res.data.store_delivery.delivery_status) || res.data.need_lat == 1) {
+
+ that.setData({
+ need_lat: res.data.need_lat, //跑腿配送插件,res.data.need_lat为1的时候,需要设置经纬度
+ delivery_status: res.data.store_delivery.delivery_status,
+ delivery_note: res.data.store_delivery ? res.data.store_delivery.delivery_note : "",
+ delivery_amount: res.data.store_delivery ? res.data.store_delivery.delivery_amount : 0,
+ });
+
+ let delivery_area = res.data.store_delivery && res.data.store_delivery.delivery_area != "" ? res.data.store_delivery.delivery_area : [];
+ let locations = res.data.store_delivery ? res.data.store_delivery.locations : {};
+ let arr_delivery_area = [];
+ delivery_area.forEach((item, index) => {
+ arr_delivery_area.push([Number(item.R), Number(item.Q)]);
+ });
+ that.setData({
+ delivery_area: arr_delivery_area,
+ locations: [Number(locations.longitude).toFixed(6), Number(locations.latitude).toFixed(6)],
+ });
+ if (that.data.locations && that.data.locations.length > 0) {
+ that.setData({
+ "markers_2[0].longitude": that.data.locations[0],
+ "markers_2[0].latitude": that.data.locations[1],
+ "delivery.longitude": that.data.locations[0],
+ "delivery.latitude": that.data.locations[1],
+ });
+ }
+ if (that.data.delivery_area && that.data.delivery_area.length > 0) {
+ let points = [];
+ for (let i = 0; i < that.data.delivery_area.length; i++) {
+ points.push({
+ longitude: that.data.delivery_area[i][0],
+ latitude: that.data.delivery_area[i][1],
+ });
+ }
+ that.setData({
+ "polygons_2[0].points": points,
+ });
+ }
+ }
+ } else {
+ Toast(res.msg);
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ //门店过期商品下单
+ getCashGood() {
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.enter.getSetGoodsId");
+ let that = this;
+ app._getNetWork({
+ url: urlStr,
+ data: {},
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goods_id: res.data.goods_id,
+ });
+ if (!res.data.store) {
+ that.setData({
+ _root_tag: "-2",
+ _goodsId: res.data.goods_id,
+ store_id: 0,
+ });
+ that._getDataActionBuy();
+ } else {
+ that.setData({
+ _root_tag: "store",
+ store_info: res.data.store,
+ store_id: res.data.store.id || res.data.store.store_id,
+ });
+ that._getDataActionStoreCart();
+ }
+ } else {
+ Toast(res.msg);
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ //门店购物车商品
+ _getDataActionStoreCart() {
+ if (!this.data.store_id) {
+ return;
+ }
+ if (this.data.storeCarts.length > 0) {
+ // 已经有storeCarts就不重复请求了
+ this.setData({
+ cup_notice: true,
+ });
+ this._getStoreCartBuy(this.data.storeCarts);
+ return;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.index");
+ urlStr += "&store_id=" + this.data.store_id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ let storeCarts = [];
+ res.data.forEach((item) => {
+ storeCarts.push(item.id);
+ });
+ that.setData({
+ cup_notice: true,
+ storeCarts: storeCarts,
+ });
+ this.getDispatchMethod(that.data.storeCarts.toString());
+ } else {
+ that.setData({
+ cup_notice: true,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "无商品",
+ duration: 1500,
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ //门店结算
+ _getStoreCartBuy(cart_ids) {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.cart-buy");
+ urlStr += "&cart_ids=" + cart_ids;
+ urlStr += "&store_id=" + that.data.store_id;
+ urlStr += "&dispatch_type_id=" + this.data.selected;
+ if (this.data.selected == 8) {
+ urlStr += "&package_deliver_id=" + this.data.defaultSelfCarry.id;
+ }
+ if (this.data.selected == 12) {
+ // 门店自提点
+ urlStr += "&package_deliver_id=" + this.data.o2oSelfCarry.id;
+ }
+ urlStr += "&member_coupon_ids=" + this._assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
+ urlStr += "&address=" + encodeURIComponent(JSON.stringify(this.data.currentAddress));
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsInfo: res.data,
+ });
+ that._initCoupon(res.data.discount); //设置优惠券信息
+ that._setViewData(res.data, cart_ids); //设置界面
+ } else {
+ that.setData({
+ none_loc: false,
+ });
+ if (that.data.showAddressList) {
+ return;
+ }
+ if (res.msg === "请完善地址经纬度信息") {
+ // 门店配送提示不能返回上一页 #62588
+ wx.showModal({
+ title: '提示',
+ content: "请完善收件人的地址经纬度信息",
+ confirmText: '确认',
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ console.log(res);
+ }
+ }
+ });
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: res.msg,
+ confirmText: '确认',
+ showCancel: false,
+ success(response) {
+ if (response.confirm) {
+ if (res.msg.indexOf('配送范围') < 0) {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ }
+ }
+ });
+ // Toast(res.msg);
+ // setTimeout(() => {
+ // wx.navigateBack({
+ // delta: 1,
+ // });
+ // }, 4000);
+ }
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+
+ //租赁购物车结算
+ _getRentDataActionCart(right, rent) {
+ if (this.data._root_tag == "rentCartBuy") {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.lease-toy.api.order.cart-buy");
+ urlStr += "&lease_rights=" + right;
+ urlStr += "&lease_term=" + rent;
+ urlStr += "&cart_ids=" + this.data._cart_ids.toString();
+ urlStr += "&member_coupon_ids=" + this._assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
+ urlStr += "&address=" + encodeURIComponent(JSON.stringify(this.data.currentAddress));
+ urlStr += "&dispatch_type_id=" + this.data.selected;
+ //自提点开启
+ if (this.data.selected == 8) {
+ urlStr += "&package_deliver_id=" + this.data.defaultSelfCarry.id;
+ }
+ if (this.data.selected == 12) {
+ // 门店自提点提货
+ urlStr += "&package_deliver_id=" + this.data.o2oSelfCarry.id;
+ }
+ urlStr += "&mark=" + (this.data.options.mark ? this.data.options.mark : 0);
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsInfo: res.data,
+ cup_notice: true,
+ });
+
+ that._initCoupon(res.data.discount); //设置优惠券信息
+ that._setViewData(res.data); //设置界面
+ } else {
+ that.setData({
+ cup_notice: true,
+ });
+ Toast(res.msg);
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ } else if (this.data._root_tag == "rentBuy") {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.lease-toy.api.order.goods-buy");
+ urlStr += "&lease_rights=" + right;
+ urlStr += "&lease_term=" + rent;
+ urlStr += "&goods_id=" + this.data._goodsId;
+ urlStr += "&total=" + this.data._total;
+ urlStr += "&option_id=" + this.data._optionsId;
+ urlStr += "&member_coupon_ids=" + this._assembleCoupons();
+ urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
+ urlStr += "&address=" + encodeURIComponent(JSON.stringify(this.data.currentAddress));
+ urlStr += "&dispatch_type_id=" + this.data.selected;
+ //自提点开启
+ if (this.data.selected == 8) {
+ urlStr += "&package_deliver_id=" + this.data.defaultSelfCarry.id;
+ }
+ if (this.data.selected == 12) {
+ // 门店自提点提货
+ urlStr += "&package_deliver_id=" + this.data.o2oSelfCarry.id;
+ }
+ urlStr += "&mark=" + (this.data.options.mark ? this.data.options.mark : 0);
+ if (this.data.clicktag == 0) {
+ this.setData({
+ clicktag: 1,
+ });
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ goodsInfo: res.data,
+ cup_notice: true,
+ });
+
+ that._initCoupon(res.data.discount); //设置优惠券信息
+ that._setViewData(res.data); //设置界面
+ } else {
+ Toast(res.msg);
+ }
+ setTimeout(() => {
+ that.setData({
+ clicktag: 0,
+ });
+ }, 1000);
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ }
+ }
+ },
+ //获取租期列表
+ _getRentTimeList() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.lease-toy.api.lease-term.index");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ rentTime: res.data.list,
+ rentFree: res.data.level.rent_free,
+ agreeCon: res.data.lease_toy_set,
+ rent_deposit_free: res.data.level.deposit_free,
+ rent_free: res.data.level.rent_free,
+ });
+ // let article_1 = that.data.agreeCon.lease_toy_pact ? that.data.agreeCon.lease_toy_pact : '';
+ /**
+ * WxParse.wxParse(bindName , type, data, target,imagePadding)
+ * 1.bindName绑定的数据名(必填)
+ * 2.type可以为html或者md(必填)
+ * 3.data为传入的具体数据(必填)
+ * 4.target为Page对象,一般为this(必填)
+ * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
+ */
+ // WxParse.wxParse('article_1', 'html', article_1, that);
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ _rentGoodBuy() {
+ if (this.data.isOpenRight) {
+ let rentTimeRight = "";
+ const value = wx.getStorageSync("rentTimeRight");
+ if (value) {
+ rentTimeRight = value;
+ }
+ this._getRentDataActionCart(rentTimeRight, []);
+ } else {
+ if (this.data.currentIndex == "999") {
+ let rentTimeSelf = "";
+ const value = wx.getStorageSync("rentTimeSelf");
+ if (value) {
+ rentTimeSelf = value;
+ }
+ if (!app._isTextEmpty(rentTimeSelf)) {
+ this._getRentDataActionCart([], rentTimeSelf);
+ } else {
+ this._getRentDataActionCart([], []);
+ }
+ } else {
+ let rentTimeChoose = "";
+ const value = wx.getStorageSync("rentTimeChoose");
+ if (value) {
+ rentTimeChoose = value;
+ }
+ if (!app._isTextEmpty(rentTimeChoose)) {
+ this._getRentDataActionCart([], rentTimeChoose);
+ }
+ }
+ }
+ },
+
+ // 挂单
+ getPendingOrder_type() {
+ //获取批发区下单页类型判断
+ //挂单不适合配送方式
+ let urlStr = app.getNetAddresss("plugin.pending-order.frontend.wholesale-area.pending-order-type");
+ let that = this;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ small_type: 1,
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.status == 0) {
+ let dispatch = [{
+ name: "零售",
+ dispatch_type_id: 0,
+ },
+ {
+ name: "自用",
+ dispatch_type_id: 1,
+ },
+ ];
+ that.setData({
+ dispatch: dispatch,
+ selected: 0,
+ });
+ } else {
+ let dispatch = [{
+ name: "自用",
+ dispatch_type_id: 1,
+ },];
+ that.setData({
+ dispatch: dispatch,
+ selected: 1,
+ });
+ }
+ that._getDataActionBuy();
+ } else {
+ Toast(res.msg);
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+
+ //显示地址pop
+ showAddress() {
+ //获取收货地址
+ this.setData({
+ showAddressList: true,
+ addressList_caller:"express"
+ });
+ },
+ invoiceShowAddressFun(){
+ this.setData({
+ showAddressList: true,
+ addressList_caller:"invoice"
+ });
+ },
+ confirmSelectAddress(e) {
+ let info;
+ if (e.detail.loc) {
+ info = e.detail.form;
+ } else {
+ info = e.detail;
+ }
+ if(this.data.addressList_caller == "express"){
+ this._setAddressViewData(info);
+ this._requestByAddress();
+ this.setData({
+ showAddressList: false,
+ });
+ } else if(this.data.addressList_caller == "invoice") {
+ this.selectComponent('.invoicePop').setAddress(info);
+ this.setData({
+ showAddressList: false,
+ });
+ }
+
+ },
+ //设置地址界面
+ _setAddressViewData(model) {
+ if (model == undefined || model == "" || model == []) {
+ return;
+ }
+ if (this.data.selected == "11") {
+ if (!model.latitude || !model.longitude) {
+ app.confirm("请重新编辑您的地址,在地图上选择您所在的位置", null, false);
+ return;
+ }
+ }
+ //设置地址id
+ this.data.currentAddId = model.id || model.address_id;
+ this.data.currentAddress = model;
+ this.setData({
+ realname: app._isTextEmpty(model.username) ? "" : model.username,
+ mobile: app._isTextEmpty(model.mobile) ? "" : model.mobile,
+ address: app._isTextEmpty(model.province) ? "" : model.province + " " + model.city + " " + model.district + " " + (app._isTextEmpty(model.street) ? "" : model.street + " ") + model.address,
+ });
+ },
+
+ //组装优惠券json信息
+ _assembleCoupons() {
+ let coupons = [];
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ if (this.data.is_coupon_SELE) {
+ //开启折叠优惠券
+ let conpon_arr = this.data.checkCouponList[i].has_conpon_id;
+ // console.log("............", this.data.coupons_temp[this.data.checkCouponList[i].coupon_id].num);
+ coupons = coupons.concat(conpon_arr.slice(0, this.data.coupons_temp[this.data.checkCouponList[i].coupon_id].num));
+ this.setData({
+ use_coupon_size: coupons.length,
+ });
+ } else {
+ coupons.push(this.data.checkCouponList[i].id);
+ }
+ }
+ return coupons;
+ },
+ //组装优惠抵扣信息
+ _assembleDeduction() {
+ let deductions = [];
+ for (let i = 0; i < this.data.checkDeductionList.length; i++) {
+ if (this.data.checkDeductionList[i]) {
+ deductions.push(this.data.checkDeductionList[i]);
+ }
+ }
+ return deductions;
+ },
+ _initDiyForm() {
+ if (JSON.stringify(this.data.orders_goods) != "{}") {
+ //解决填写完表单后,去操作其他会重新请求接口的覆盖了,导致填写记录为空了
+ return;
+ }
+ let orders_goods = {};
+ for (let j = 0; j < this.data.goodsInfo.orders.length; j++) {
+ for (let i = 0; i < this.data.goodsInfo.orders[j].order_goods.length; i++) {
+ if (this.data.goodsInfo.orders[j].order_goods[i].diy_form) {
+ let model = {};
+ model.pre_id = this.data.goodsInfo.orders[j].order_goods[i].pre_id;
+ model.diyform_data_id = "";
+ orders_goods[model.pre_id] = model;
+ }
+ }
+ }
+ this.setData({
+ orders_goods: orders_goods,
+ });
+ },
+ findGoodOpen() {
+ for (let j = 0; j < this.data.goodsInfo.orders.length; j++) {
+ if (this.data.goodsInfo.orders[j].camilo_resources_coupon_type) {
+ // 卡券商品
+ this.setData({
+ camilo_resources_coupon_type: this.data.goodsInfo.orders[j].camilo_resources_coupon_type,
+ });
+ if (this.data.plugin_setting.yz_supply_camilo_resources.is_default_order_address == 1) {
+ // 是否开启默认地址
+ this.setData({
+ _show_address: true
+ });
+ this.data.currentAddId = 1; //地址没有id 写死一个
+ let {
+ address,
+ city,
+ district,
+ province,
+ street,
+ mobile,
+ username
+ } = this.data.plugin_setting.yz_supply_camilo_resources;
+ this._setAddressViewData({
+ address,
+ city,
+ district,
+ province,
+ street,
+ mobile,
+ username,
+ address_id: 1
+ }); // 设置地址界面
+ }
+ }
+ if (this.options.electricity && this.options.electricity == "electricity") {
+ this.setData({
+ electricity_Guide: this.data.goodsInfo.orders[j].order_goods[0].pre_id,
+ ele_no_showAdress: this.data.goodsInfo.orders[j].order_goods[0] ? this.data.goodsInfo.orders[0].not_show_address : false,
+ eleUser: this.data.goodsInfo.orders[j].order_goods[0] ? this.data.goodsInfo.orders[0].user_account : ''
+ });
+ }
+ if (this.data.goodsInfo.orders[j].require_mobile) {
+ console.log("有商品开启话费慢充!!!");
+ let _tips = "";
+ if (this.data.goodsInfo.orders[j].tips) {
+ _tips = this.data.goodsInfo.orders[j].tips.replace(/
{
+ if (item.checked) {
+ this._screenDiscount(data.orders[i], item);
+ }
+ });
+ }
+ }
+
+ // let that = this;
+ this.findGoodOpen(); // 循环订单列表是否开启表单和慢充
+ if (!this.data.getParams_status) {
+ this.data.getParams_status = true;
+ this.getParams(cart_ids);
+ }
+ this.checkOrders(data); //判断有订单是否有绑定域名
+
+ this.data.dispatch.forEach((items, i) => {
+ if (items.dispatch_type_id == 8) {
+ console.log("有自提点配送方式,请求定位获取自提点列表");
+ if (JSON.stringify(this.data.defaultSelfCarry) == "{}") {
+ this._getLocation(() => {
+ this.getList("shop");
+ });
+ }
+ }
+ if (items.dispatch_type_id == 12) {
+ console.log("有门店自提点配送方式,请求定位获取自提点列表");
+ if (!this.data.o2oSelfCarry.id) {
+ this._getLocation(() => {
+ this.getList("o2o");
+ });
+ }
+ }
+ });
+ if(this.data.selected == 11){
+ this.getDeliverySetting()
+ }
+ this.setData({
+ order_data: data.orders,
+ price: data.total_price, //设置总价格(合计)
+ total_items: data.amount_items,
+ discount_amount_items: data.discount_amount_items,
+ service_fee_items: data.service_fee_items,
+ service: data.orders[0].order_fees,
+ none_loc: true,
+ clicktag: 0,
+ });
+
+ if (this.data._root_tag == "store" && this.data.price < 0) {
+ wx.showToast({
+ icon: "none",
+ title: "下单错误",
+ duration: 1500,
+ });
+ }
+ if (data.dispatch.use_wechat_address) {
+ this.setData({
+ use_wechat_address: data.dispatch.use_wechat_address
+ });
+ }
+ },
+ isOrderAddress_M(_data) {
+ //判断是否有订单需要填写地址,有一单需要填写地址则需要填写地址才可以下单
+ //return false 提交订单需要填写地址
+ for (let j = 0; j < _data.length; j++) {
+ if (this.data.phone_bill_pro_goods) {
+ if (!_data[j].not_show_address) {
+ // console.log("有订单需要填写地址");
+ return false;
+ }
+ } else if(this.data.oil_account && this.data.oil_mobile){
+ if (!_data[j].not_show_address ) {
+ // console.log("有订单需要填写地址");
+ return false;
+ }
+ }else {
+ if (!_data[j].need_address) {
+ console.log("有订单需要填写地址");
+ return false;
+ }
+ }
+
+ }
+ return true;
+ },
+ checkOrders(data) {
+ for (let i = 0; i < data.orders.length; i++) {
+ if (data.orders[i].plugin_id === 58) {
+ this.setData({
+ plugin_id: 58,
+ });
+ }
+ }
+
+ for (let i = 0; i < data.orders.length; i++) {
+ if ("domain" in data.orders[i]) {
+ this.setData({
+ isDomain: true,
+ domain: data.orders[i].domain,
+ });
+ } else {
+ this.setData({
+ isDomain: false,
+ });
+ return;
+ }
+ }
+ },
+ // 整合了发票、是否显示个人信息接口
+ getParams(cart_ids) {
+ let json = {};
+ let that = this;
+ if (this.data._root_tag == "store" && !cart_ids) {
+ return;
+ } else if (this.data._root_tag == "store" && cart_ids) {
+ this.setData({
+ _cart_ids: cart_ids,
+ });
+ }
+ let good_ids = [];
+ // 不清楚this.data.options.cart_ids这个字段作用,但是这个字段导致选择完自提点后返回报错,打印这个cart_ids为字符串得undefined
+ if (this.data.options.cart_ids && this.data.options.cart_ids != "undefined") {
+ this.setData({
+ _cart_ids: this.data.options.cart_ids ? JSON.parse(this.data.options.cart_ids) : [],
+ });
+ }
+
+ if (this.data.isCartsOrder) {
+ // 购物车商品下单的循环商品
+ this.setData({
+ _cart_ids: this.data.options.cart_ids ? JSON.parse(this.data.options.cart_ids) : [],
+ });
+
+ for (let j = 0; j < this.data.goodsInfo.orders.length; j++) {
+ for (let i = 0; i < this.data.goodsInfo.orders[j].order_goods.length; i++) {
+ good_ids.push(this.data.goodsInfo.orders[j].order_goods[i].goods_id);
+ }
+ }
+ } else {
+ if (this.data.options.goodsId) {
+ this.setData({
+ _goodsId: Number(this.data.options.goodsId),
+ });
+ }
+ good_ids.push(this.data._goodsId);
+ }
+ let urlStr = app.getNetAddresss("from.div-from.get-params");
+ json = {
+ goods_ids: JSON.stringify(good_ids),
+ };
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.options.type != "groupBuy_open" || that.options.type != "groupBuy_join") {
+ //拼购显示自己的支付协议
+ that.setData({
+ isGetAgreementPay: true,
+ AgreementPay: res.data.getPayProtocol ? res.data.getPayProtocol : "",
+ });
+ }
+ this.setData({
+ freightExplain: res.data.freightExplain
+ });
+ try {
+ that.setData({
+ storeSearchBtn: res.data.storeSearch || {},
+ openCueCoupon: res.data.getCouponSet == 0 ? false : true, //是否开启下单优惠券提示
+ });
+ that._checkTaxGoods(res.data.isDisplay);
+ if (res.data.getMemberInfo) {
+ that._getMemberInfo(res.data.getMemberInfo);
+ }
+ // if (res.data.explain) {
+ // that._getExplain(res.data.explain);
+ // }
+ that.getInvoice(res.data.sinvoice);
+ } catch (error) {
+ console.log(error);
+ }
+ } else {
+ that.setData({
+ isGetAgreementPay: false,
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+
+ // 发票数据
+ getInvoice(data) {
+ let address = {
+ realname: this.data.realname,
+ mobile: this.data.mobile,
+ address: this.data.address
+ }
+ this.selectComponent('.invoicePop').initData({sinvoice: data, address});
+ },
+ subInvoice(data) {
+ // 弹窗获取发票数据
+ this.setData({
+ invoice_list: data.detail, //72638
+ });
+ },
+
+ //初始化优惠券
+ _initCoupon(data) {
+ if (data.deduction_lang) {
+ this.setData({
+ deduction_lang: data.deduction_lang
+ });
+ }
+ this.setData({
+ isShowCoupon: data.whether_show_coupon == "1" ? true : false,
+ });
+ let coupon = data.member_coupons;
+ this.setData({
+ is_coupon_SELE: data.coupon_show == "1" ? true : false,
+ });
+ this.setData({
+ coupon_size: coupon.length,
+ });
+ if (coupon != undefined && coupon != "" && coupon != null) {
+ if (this.data.is_coupon_SELE) {
+ //按过期时间排序
+ let arr2 = coupon.sort((a, b) => {
+ return a.expired_at - b.expired_at;
+ });
+ this.initSelectCoupon(arr2);
+ } else {
+ this.setData({
+ coupons: coupon,
+ });
+ }
+ }
+ },
+ //初始化带有默认选中优惠券
+ defaultSelectCoupon(coupon) {
+ let checkCouponList = [];
+ coupon.forEach((item, ind) => {
+ if (item.checked == true) {
+ checkCouponList.push(item);
+ }
+ });
+ this.setData({
+ coupon_size: coupon.length,
+ coupons: coupon,
+ use_coupon_size: checkCouponList.length,
+ checkCouponList: checkCouponList,
+ });
+ console.log(this.data.coupons);
+ },
+ //折叠优惠券
+ initSelectCoupon(coupon) {
+ let coupon_data = coupon;
+ let result = [];
+ let temp = {};
+
+ for (let i = 0; i < coupon_data.length; i++) {
+ let num = 0; //同类型已选中并符合使用条件的优惠券数量
+ let valid = 0; //最高限制使用数量
+ let has_conpon_id = [coupon_data[i].id];
+ if (coupon_data[i].checked) {
+ num++;
+ }
+ if (coupon_data[i].valid) {
+ valid++;
+ }
+ for (let j = i + 1; j < coupon_data.length; j++) {
+ // console.log("33333333==================", coupon_data[j].coupon_id)
+ if (coupon_data[i].coupon_id == coupon_data[j].coupon_id) {
+ if (coupon_data[j].checked) {
+ num++;
+ }
+ if (coupon_data[j].valid) {
+ valid++;
+ }
+ has_conpon_id.push(coupon_data[j].id);
+ coupon_data.splice(j, 1);
+ j--;
+ }
+ }
+ let _data = coupon_data[i];
+ _data.has_conpon_id = has_conpon_id;
+ _data.valid_num = valid;
+ result.push(_data);
+ temp[coupon_data[i].coupon_id] = {};
+ temp[coupon_data[i].coupon_id].num = num;
+ }
+ this.setData({
+ coupons_temp: temp,
+ coupons: result,
+ });
+ console.log(this.data.coupons, this.data.coupons_temp);
+ },
+ changeConpon(e) {
+ let valObj = e.target.dataset.item;
+ let num = e.detail;
+ let index = e.target.dataset.index;
+ console.log("=================", e.detail, valObj);
+ if (num > valObj.valid_num) {
+ wx.showToast({
+ icon: "none",
+ title: "使用张数已达上限",
+ duration: 1000,
+ });
+ clearTimeout(this.data.timer);
+ this.data.timer = setTimeout(() => {
+ // 注意此时修改 value 后会再次触发 change 事件
+ this.data.coupons_temp[valObj.coupon_id].num = valObj.valid_num;
+ this.setData({
+ coupons_temp: this.data.coupons_temp,
+ });
+ }, 200);
+ return;
+ } else if (num == "" || num == undefined || num == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "暂不使用请取消勾选",
+ duration: 1000,
+ });
+ return;
+ } else {
+ clearTimeout(this.data.timer);
+ this.data.coupons_temp[valObj.coupon_id].num = num;
+ this.setData({
+ coupons_temp: this.data.coupons_temp,
+ });
+ }
+
+ // clearTimeout方法,以便控制连续触发带来的无用调用
+ let value = {
+ detail: true,
+ currentTarget: {
+ dataset: {
+ index: index,
+ item: valObj,
+ },
+ },
+ };
+ if (this.data.timeoutId) {
+ clearTimeout(this.data.timeoutId); // 先清除之前的延时,并在下面重新开始计算时间
+ }
+ this.data.timeoutId = setTimeout(() => {
+ // 100毫秒以后执行方法
+ this.selectCoupon(value);
+ }, 1000); // 如果还没有执行就又被触发,会根据上面的clearTimeout来清除并重新开始计算
+ },
+
+ //提货人输入
+ infonamebtn(e) {
+ let infoname = e.detail;
+ this.setData({
+ "linkinfo.name": infoname,
+ });
+ },
+ infonameclear() {
+ this.setData({
+ "linkinfo.name": "",
+ });
+ },
+ infomobileclear() {
+ this.setData({
+ "linkinfo.mobile": "",
+ });
+ },
+ //提货人手机输入
+ infomobilebtn(e) {
+ let infomobile = e.detail;
+ this.setData({
+ "linkinfo.mobile": infomobile,
+ });
+ },
+ //选择地址后重新计算数据
+ _requestByAddress() {
+ //重新计算
+ this.handleBuy(1);
+ },
+
+ //判断是否选择权益商品
+ _judgeIsRight() {
+ if (this.data.isOpenRight) {
+ this.setData({
+ isRightChoose: false,
+ });
+ } else {
+ this.setData({
+ isRightChoose: true,
+ });
+ }
+ },
+ //权益商品选择事件
+ rentSelect(e) {
+ let isOpenRight = e.detail;
+ this.setData({
+ isOpenRight: isOpenRight,
+ });
+ //1.判断是否选择权益商品,有则租期按照会员权益日期计算
+ this._clearStorage();
+ this._judgeIsRight();
+ if (this.data.isOpenRight) {
+ let arr = [];
+ this.data.order_data.forEach((val) => {
+ val.order.order_goods.forEach((item) => {
+ let obj = {
+ goods_id: item.goods_id,
+ total: item.total,
+ };
+ arr.push(obj);
+ });
+ });
+ wx.setStorage({
+ key: "rentTimeRight",
+ data: JSON.stringify(arr),
+ });
+ this._getRentDataActionCart(JSON.stringify(arr), []);
+ } else if (!this.data.isOpenRight) {
+ this.setData({
+ currentIndex: "999",
+ });
+ this._getRentDataActionCart([], []);
+ }
+ },
+ //清除租赁localstorage
+ _clearStorage() {
+ wx.removeStorage({
+ key: "rentTimeSelf",
+ });
+ wx.removeStorage({
+ key: "rentTimeChoose",
+ });
+ wx.removeStorage({
+ key: "rentTimeRight",
+ });
+ },
+ switchChange(e) {
+ let dindex = e.currentTarget.dataset.dindex;
+ let orindex = e.currentTarget.dataset.orindex;
+ let pre_id = this.data.order_data[orindex].pre_id;
+ let item = e.currentTarget.dataset.item;
+ let codeind = e.currentTarget.dataset.codeind;
+
+ if (item.checked) {
+ this.setData({
+ ['order_data[' + orindex + '].order_service_fees[' + codeind + '].checked']: false,
+ ['order_data[' + orindex + '].order_service_fees[' + codeind + '].show']: false,
+ ["service_fee." + pre_id]: [],
+ });
+ } else {
+ this.setData({
+ ['order_data[' + orindex + '].order_service_fees[' + codeind + '].checked']: true,
+ ['order_data[' + orindex + '].order_service_fees[' + codeind + '].show']: true,
+ ["service_fee." + pre_id]: [item.code],
+ });
+ }
+ this.serviceFeesHandle(this.data.order_data[orindex], this.data.order_data[orindex].order_deductions[dindex]);
+ //重新计算
+ this.handleBuy(2);
+ },
+ //抵扣选择响应
+ discountHandle(e) {
+ let dischecked = e.detail;
+ let dindex = e.currentTarget.dataset.dindex;
+ let orindex = e.currentTarget.dataset.orindex;
+ let tag = e.currentTarget.dataset.tag;
+ if (!this.data.none_loc) {
+ // 超出门店配送范围不可以使用积分抵扣
+ dischecked = false;
+ }
+
+ if (tag == "discount") {
+ if (Object.prototype.toString.call(this.data.order_data[orindex].order_deductions) == "[object Object]") {
+ // object要用.的方式调用
+ this.setData({
+ ["order_data[" + orindex + "].order_deductions." + dindex + ".checked"]: dischecked,
+ });
+ } else if (Object.prototype.toString.call(this.data.order_data[orindex].order_deductions) == "[object Array]") {
+ this.setData({
+ ["order_data[" + orindex + "].order_deductions[" + dindex + "].checked"]: dischecked,
+ });
+ }
+ this._screenDiscount(this.data.order_data[orindex], this.data.order_data[orindex].order_deductions[dindex]);
+ } else if (tag == "serviceFee") {
+ let pre_id = this.data.order_data[orindex].pre_id;
+ this.setData({
+ ["service_fee." + pre_id]: e.detail,
+ });
+ console.log(e.detail, this.data.service_fee, 's:::::');
+
+ this.serviceFeesHandle(this.data.order_data[orindex], this.data.order_data[orindex].order_deductions[dindex]);
+ }
+
+ //重新计算
+ this.handleBuy(2);
+ },
+ // 留言
+ noteHandle(e) {
+ let preid = e.target.dataset.preid;
+ let item = e.target.dataset.item;
+ let val = e.detail.value;
+ this.setData({
+ ["note." + preid]: val,
+ });
+ // 触发抵扣事件
+ this.deductionListHandle(item);
+ },
+ //筛选抵扣
+ _screenDiscount(item, value) {
+ this.deductionListHandle(item, value);
+ },
+ serviceFeesHandle(item, value) {
+ //服务费、运费复选框
+ this.deductionListHandle(item);
+ },
+
+ deductionListHandle(item, value) {
+ let checkDeductionList = this.data.checkDeductionList;
+ let service_fee = this.data.service_fee;
+ let note = this.data.note;
+ let isHasPreId = false;
+
+ if (checkDeductionList.length > 0) {
+ checkDeductionList.map((deduction, index) => {
+ if (deduction && deduction.pre_id == item.pre_id) {
+ isHasPreId = true;
+ if (value && value.checked) {
+ // 选中的时候检查是否有对应的code
+ if (deduction.deduction_ids && deduction.deduction_ids.indexOf(value.code) == -1) {
+ deduction.deduction_ids.push(value.code);
+ }
+ } else if (value && !value.checked) {
+ // 取消选中的时候检查去掉对应的code
+ if (deduction.deduction_ids && deduction.deduction_ids.indexOf(value.code) > -1) {
+ deduction.deduction_ids.splice(deduction.deduction_ids.indexOf(value.code), 1);
+ }
+ }
+
+ // 留言和安装选项重新赋值
+ deduction.note = note[item.pre_id];
+ deduction.service_fee = service_fee[item.pre_id];
+ }
+ });
+ }
+ if (!isHasPreId) {
+ checkDeductionList.push({
+ deduction_ids: value && value.code ? [value.code] : [],
+ pre_id: item.pre_id,
+ note: note[item.pre_id],
+ service_fee: service_fee[item.pre_id],
+ });
+ }
+ this.setData({
+ checkDeductionList
+ });
+ // console.log('checkDeductionList:', this.data.checkDeductionList)
+ },
+
+ //选择自定义租期
+ rentSelfChoose() {
+ this._clearStorage();
+ this.setData({
+ currentIndex: "999",
+ });
+ this.setData({
+ rentShow: true,
+ });
+ },
+ rentShowClose(event) {
+ if (event.detail === "confirm") {
+ if (app._isTextEmpty(this.data.tenancy)) {
+ wx.showToast({
+ icon: "none",
+ title: "租期不能为空",
+ duration: 1000,
+ });
+ return;
+ }
+ let obj = {
+ days: this.data.tenancy,
+ lease_term_id: 0,
+ };
+ wx.setStorage({
+ key: "rentTimeSelf",
+ data: JSON.stringify(obj),
+ });
+ this._getRentDataActionCart([], JSON.stringify(obj));
+ // 异步关闭弹窗
+ setTimeout(() => {
+ this.setData({
+ rentShow: false,
+ });
+ }, 1000);
+ } else {
+ this.setData({
+ rentShow: false,
+ });
+ console.log("取消自定义租期!!!");
+ }
+ },
+ //自定义租期数值绑定
+ rentShowinp(e) {
+ let rentval = e.detail;
+ this.setData({
+ tenancy: rentval,
+ });
+ },
+ //自定义租期值清除
+ rentclear() {
+ this.setData({
+ tenancy: "",
+ });
+ },
+ //选择租期
+ rentTimeChoose(e) {
+ let item = e.currentTarget.dataset.item;
+ let index = e.currentTarget.dataset.index;
+ if (this.data.currentIndex == index) {
+ this.setData({
+ currentIndex: "999",
+ });
+ this._clearStorage();
+ this._getRentDataActionCart([], []);
+ } else {
+ this._clearStorage();
+ this.setData({
+ currentIndex: index,
+ });
+ let obj = {
+ days: 0,
+ lease_term_id: item.id,
+ };
+ wx.setStorage({
+ key: "rentTimeChoose",
+ data: JSON.stringify(obj),
+ });
+ this._getRentDataActionCart([], JSON.stringify(obj));
+ }
+ },
+
+ //优惠券
+ showCoupon() {
+ if (this.data.coupon_size == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "暂无优惠券使用",
+ duration: 1500,
+ });
+ return;
+ }
+ this.setData({
+ popupCouponSpecs: true,
+ });
+ },
+ //选择优惠券
+ selectCoupon(e) {
+ let couponBol = e.detail;
+ let index = e.currentTarget.dataset.index;
+ let item = e.currentTarget.dataset.item;
+ console.log(couponBol, index, item, e.type);
+ this.setData({
+ ["coupons[" + index + "].checked"]: couponBol,
+ });
+ this._screenCoupon(couponBol, item, e.type);
+ //设置view
+ this._setCouponView();
+ //重新计算
+ this.handleBuy(2);
+ },
+ //筛选数据优惠券状态
+ _screenCoupon(couponBol, valObj, type) {
+ let tarValue = valObj;
+ let checkCouponList = this.data.checkCouponList;
+ if (this.data.checkCouponList.length > 0) {
+ for (let i = 0; i < this.data.checkCouponList.length; i++) {
+ if (this.data.checkCouponList[i].id == tarValue.id) {
+ checkCouponList.splice(i, 1);
+ }
+ }
+ }
+ if (this.data.is_coupon_SELE && type) {
+ //开启折叠优惠券并且为点击复选框为选中状态
+ this.data.coupons_temp[tarValue.coupon_id].num = couponBol ? 1 : 0;
+ this.setData({
+ coupons_temp: this.data.coupons_temp
+ });
+ }
+ if (couponBol) {
+ //选中添加
+ checkCouponList.push(tarValue);
+ } else {
+ //取消选中
+ this.setData({
+ cup_notice: true
+ });
+ }
+ this.setData({
+ checkCouponList: checkCouponList
+ });
+ },
+ //设置view
+ _setCouponView() {
+ this.setData({
+ use_coupon_size: this.data.checkCouponList.length,
+ });
+ },
+ mustSelectCoupon() {
+ // 后台设置,下单前判断有优惠券数量但没使用时,是否提示并展开选择优惠券弹窗,只提示一次!
+ if (this.data.openCueCoupon && this.data.coupon_size > 0 && this.data.use_coupon_size < 1 && !this.data.isCueCoupon) {
+ //显示优惠券列表弹窗
+ // 按钮文字改变
+ this.setData({
+ isCueCoupon: true,
+ popupCouponSpecs: true,
+ });
+ return true;
+ }
+ return false;
+ },
+ //关闭优惠卷
+ couponclose() {
+ this.setData({
+ popupCouponSpecs: false,
+ });
+ },
+ //租赁协议
+ agreementbtn(e) {
+ let agreeBol = e.detail;
+ this.setData({
+ agreement: agreeBol,
+ });
+ },
+ //租赁弹窗显示
+ showAgreement() {
+ this.setData({
+ agreementShow: true,
+ });
+ },
+ agreementClose() {
+ this.setData({
+ agreementShow: false,
+ });
+ },
+ toSite() {
+ wx.navigateTo({
+ url: "/packageE/others/application_market/binding_site/binding_site?plugin_id=" + this.data.plugin_id,
+ });
+ },
+
+ //获取模板id
+ getTemplate() {
+ let urlStr = app.getNetAddresss("member.member.getMiniTemplateCorrespond");
+ let that = this;
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ small_type: 1,
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let array = [];
+ for (let i = 0; i < res.data.length; i++) {
+ array.push(res.data[i].template_id);
+ }
+ that.setData({
+ TemplateArray: array,
+ });
+ if (that.data.TemplateArray.length > 0) {
+ wx.requestSubscribeMessage({
+ tmplIds: that.data.TemplateArray,
+ success(res) {
+ that.setData({
+ clickMiniTemplate: true
+ });
+ console.log(res, "success");
+ that.submitBtn();
+ },
+ fail(err) {
+ console.log(err, "err");
+ that.submitBtn();
+ },
+ });
+ } else {
+ that.submitBtn();
+ }
+ } else {
+ Toast(res.msg);
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ //提交订单
+ submit() {
+ if (this.data.yz_subscribe_disabled) return;
+ if (this.data.clickMiniTemplate) {
+ this.submitBtn();
+ } else {
+ this.getTemplate();
+ }
+
+ },
+ checkDispatch() {
+ if (this.data.selected == 8 || this.data.selected == 12 || this.data.selected == 15) {
+ if (app._isTextEmpty(this.data.linkinfo.name)) {
+ wx.showModal({
+ title: "提示",
+ content: "请填写提货人姓名",
+ showCancel: false,
+ confirmText: "确定",
+ confirmColor: "#000000",
+ success: (res) => {},
+ });
+ this.data.submit_active = true;
+ return false;
+ }
+ if (app._isTextEmpty(this.data.linkinfo.mobile)) {
+ wx.showModal({
+ title: "提示",
+ content: "请输入提货人手机",
+ showCancel: false,
+ confirmText: "确定",
+ confirmColor: "#000000",
+ success: (res) => {},
+ });
+ this.data.submit_active = true;
+ return false;
+ }
+ }
+
+ if (this.data.selected == 8 || this.data.selected == 12) {
+ if ((this.data.selected == 8 && app._isTextEmpty(this.data.defaultSelfCarry)) || (this.data.selected == 12 && app._isTextEmpty(this.data.o2oSelfCarry))) {
+ wx.showToast({
+ title: "该地区暂无自提点",
+ duration: 1000,
+ icon: "none",
+ });
+ return false;
+ }
+ if ((this.data.selected == 8 && app._isTextEmpty(this.data.defaultSelfCarry.id)) || (this.data.selected == 12 && app._isTextEmpty(this.data.o2oSelfCarry.id))) {
+ wx.showModal({
+ title: "提示",
+ content: "请选择自提点",
+ showCancel: false,
+ confirmText: "确定",
+ confirmColor: "#000000",
+ success: (res) => {},
+ });
+ this.data.submit_active = true;
+ return false;
+ }
+
+ //保存自提点信息到本地,任务编号: 35632
+ let _memberInfoes = {
+ distributionUserName: this.data.linkinfo.name ? this.data.linkinfo.name : "",
+ distributionUserMobile: this.data.linkinfo.mobile ? this.data.linkinfo.mobile : "",
+ };
+ try {
+ wx.setStorageSync("selfCarryInfo", JSON.stringify(_memberInfoes));
+ } catch (e) {
+ console.log(e);
+ }
+ }
+
+ if (this.data.store_info.delivery_information == 1) {
+ if (this.data.selected == "2" && (app._isTextEmpty(this.data.linkinfo.name) || app._isTextEmpty(this.data.linkinfo.mobile))) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入提货人信息",
+ duration: 1500,
+ });
+ return false;
+ }
+ if (this.data.selected == "2" && !/^[0-9]{1,}$/.test(this.data.linkinfo.mobile)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入正确的联系电话",
+ duration: 1500,
+ });
+ this.data.submit_active = true;
+ return false;
+ }
+ }
+
+ if (!this.data._show_address && (this.data.selected == 0 || this.data.selected == 1 || this.data.selected == 3) && !this.data.ele_no_showAdress && !this.data.reserve_order) {
+ if ((this.data.selected == 0 || this.data.selected == 1) && this.data.use_wechat_address) {
+ // 页面设计插件和商城设置 - 订单设置 - 调用微信地址开启了 只用于快递
+ if (app._isTextEmpty(this.data.design_info.userName)) {
+ app.tips('请输入收货人姓名');
+ this.data.submit_active = true;
+ return false;
+ }
+ if (app._isTextEmpty(this.data.design_info.telNumber)) {
+ app.tips('请填写收货手机号');
+ this.data.submit_active = true;
+ return false;
+ }
+ if (app._isTextEmpty(this.data.userAdress)) {
+ app.tips('请选择所在区域');
+ this.data.submit_active = true;
+ return false;
+ }
+ if (app._isTextEmpty(this.data.design_address)) {
+ app.tips('请输入街道、楼牌号等');
+ this.data.submit_active = true;
+ return false;
+ }
+ return true;
+ }
+ if (app._isTextEmpty(this.data.currentAddId)) {
+ wx.showModal({
+ title: "提示",
+ content: "请选择收货地址",
+ showCancel: false,
+ confirmText: "确定",
+ confirmColor: "#000000",
+ success: (res) => {
+ this.showAddress();
+ },
+ });
+ this.data.submit_active = true;
+ return false;
+ }
+ }
+
+ return true;
+ },
+ checkSubmit() {
+ if (this.mustSelectCoupon()) {
+ // 提示优惠券【51723】
+ return false;
+ }
+
+ if (this.data.isDomain) {
+ if (app._isTextEmpty(this.data.domain)) {
+ wx.showToast({
+ icon: "none",
+ title: "请绑定站点",
+ duration: 1500,
+ });
+ return false;
+ }
+ }
+
+ if (this.data.cpstype == "1" && this.data.cpsTxt == "") {
+ wx.showToast({
+ title: "请输入帐号",
+ duration: 1000,
+ icon: "none",
+ });
+ return false;
+ }
+
+ // 手机慢充
+ if (this.data.show_recharge_mobile && !this.data.recharge_mobile) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入充值手机号码!",
+ duration: 1500,
+ });
+ return false;
+ } else if (this.data.show_recharge_mobile && this.data.recharge_mobile) {
+ let reg_txt = /^[1][0-9]{10}$/;
+ if (!reg_txt.test(this.data.recharge_mobile)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入正确的充值手机号码!",
+ duration: 1500,
+ });
+ return false;
+ }
+ }
+
+ if (this.data.reserve_order != null) {
+ if (this.data.reserve_tel_name == '') return app.tips("请输入联系人");
+ if (this.data.reserve_mobile == '') return app.tips("请输入联系电话");
+ }
+
+ if (this.data.camilo_resources_coupon_type == 1) {
+ // 卡券商品
+ if (!this.data.recharge_number) {
+ return app.tips("请输入充值账号");
+ }
+ }
+
+ if (this.options.tag == "newRetail" && this.options.retailState == 3 && this.data.price == 0) {
+ //新零售-自由发货下单不能为0
+ wx.showToast({
+ icon: "none",
+ title: "价格有误",
+ duration: 1500,
+ });
+ this.data.submit_active = true;
+ return false;
+ }
+
+ if (this.data.hasGoodOpenDF && !this._checkDiyForm()) {
+ wx.showToast({
+ icon: "none",
+ title: "请先填写表单",
+ duration: 1500,
+ });
+ this.data.submit_active = true;
+ return false;
+ }
+
+ if (!this.checkDispatch()) {
+ return false;
+ }
+
+ if (this.data.AgreementPay && !this.data.isRent) {
+ if (!this.data.agreementPay) {
+ wx.showToast({
+ icon: "none",
+ title: "请勾选支付协议",
+ duration: 1500,
+ });
+ return false;
+ }
+ }
+
+ if (this.data.isRent && !this.data.agreement) {
+ wx.showToast({
+ icon: "none",
+ title: "请勾选租赁协议",
+ duration: 1500,
+ });
+ this.data.submit_active = true;
+ return false;
+ }
+
+ return true;
+ },
+ submitBtn() {
+ let that = this;
+ if (!this.checkSubmit()) {
+ return;
+ }
+ let json = this._assembleJson();
+
+ if (this.data.store_id && this.options.tag != "reserve") {
+ if (this.isHasInstall()) {
+ //有勾选了上门安装服务,需要填写经纬度和时间
+ if (!this.data.installDate) {
+ app.tips("请选择预约时间!");
+ return;
+ }
+ if (!this.data.location && !this.data.location.latitude) {
+ app.tips("请选择地理位置!");
+ return;
+ }
+ let live_install_json = {
+ live_install: {
+ longitude: this.data.location.longitude,
+ latitude: this.data.location.latitude,
+ reserve_time: this.data.installDate,
+ install_comment: this.data.install_comment,
+ },
+ };
+ Object.assign(json, live_install_json);
+ }
+
+ this.data.order_url = "plugin.store-cashier.frontend.store.create";
+ }
+
+ switch (this.data._root_tag) {
+ case "store_projects_goods":
+ //* 门店核销
+ this.data.order_url = "plugin.store-projects.frontend.order.create";
+ json.goods_type = "store_projects_goods";
+ break;
+ }
+
+ if (this.data.selected == "10") {
+ if (json.supplier_driver_distribution_address) {
+ if (app._isTextEmpty(json.supplier_driver_distribution_address.lat) || app._isTextEmpty(json.supplier_driver_distribution_address.lng)) {
+ app.tips('请选择供应商配送定位');
+ return;
+ }
+ }
+ }
+ if (this.data.selected == "11") {
+ // selected == "11" 同城配送
+ if (this.data.cityDelivery.distance_type == 3) {
+ if (!this.data.cityDelivery_community.id) {
+ app.tips("请选择配送社区");
+ return;
+ }
+ json.community_id = this.data.cityDelivery_community.id;
+ }
+ if (this.data.cityDelivery.future_state == 1) {
+ if (!this.data.cityDelivery_deliveryTime.start_time || !this.data.cityDelivery_deliveryTime.end_time) {
+ app.tips("请选择配送时间");
+ return;
+ }
+ json.expect_start_time = this.data.cityDelivery_deliveryTime.start_time;
+ json.expect_end_time = this.data.cityDelivery_deliveryTime.end_time;
+ }
+
+ }
+
+ console.log(this.data.submit_active);
+ if (this.data.submit_active == true) {
+ this.data.submit_active = false;
+
+ let urlStr = app.getNetAddresss(this.data.order_url);
+ if (this.data.clicktag == 0) {
+ this.setData({
+ clicktag: 1,
+ });
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: (resdata) => {
+ let res = resdata.data;
+ that.data.submit_active = true;
+ if (res.result == 1) {
+ that.setData({
+ showPage: false,
+ });
+ wx.showLoading({
+ title: "跳转中",
+ });
+ if (that.data.iscps) {
+ wx.redirectTo({
+ url: "../orderPay/orderPay?order_id=" + res.data.order_ids + "&status=2" + `&iscps=${that.data.iscps ? true : false}`,
+ });
+ return;
+ }
+ if (that.options.option_level_id) {
+ wx.redirectTo({
+ url: "../orderPay/orderPay?order_id=" + res.data.order_ids + "&status=2" + "&name=groups",
+ });
+ return;
+ }
+ if (that.data.store_id) {
+ // 门店
+ wx.redirectTo({
+ url: "../orderPay/orderPay?order_id=" + res.data.order_ids + "&status=2&store_id=" + that.data.store_id,
+ });
+ return;
+ }
+ // 盲盒
+ if (that.data._root_tag == "blindBox") {
+ wx.redirectTo({
+ url: "../orderPay/orderPay?order_id=" + res.data.order_ids + "&status=2&name=" + that.data._root_tag,
+ });
+ return;
+ }
+ wx.redirectTo({
+ url: "../orderPay/orderPay?order_id=" + res.data.order_ids + "&status=2",
+ });
+ } else {
+ Toast(res.msg);
+ }
+ setTimeout(() => {
+ that.setData({
+ clicktag: 0,
+ });
+ }, 1000);
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ }
+ }
+ },
+ isHasInstall() {
+ //判断是否有勾选了上门安装服务
+ for (let j = 0; j < this.data.goodsInfo.service_fee_items.length; j++) {
+ if (this.data.goodsInfo.service_fee_items[j].code == "liveInstall") {
+ return true;
+ }
+ }
+ return false;
+ },
+ inpCpsTxt(e) {
+ console.log(e);
+ let txt = e.detail.value;
+ this.setData({
+ cpsTxt: txt,
+ });
+ },
+
+ //组装商品信息
+ _assembleGoods() {
+ let newGoods = [];
+ for (let j = 0; j < this.data.goodsInfo.orders.length; j++) {
+ for (let i = 0; i < this.data.goodsInfo.orders[j].order_goods.length; i++) {
+ let model = {};
+ model.goods_id = this.data.goodsInfo.orders[j].order_goods[i].goods_id;
+ model.total = this.data.goodsInfo.orders[j].order_goods[i].total;
+ model.option_id = this.data.goodsInfo.orders[j].order_goods[i].goods_option_id;
+ newGoods.push(model);
+ }
+ }
+ return newGoods;
+ },
+ //组装json数据
+ _assembleJson() {
+ let json = {
+ //公共数据
+ address: encodeURIComponent(JSON.stringify(this.data.currentAddress)),
+ goods: JSON.stringify(this._assembleGoods()),
+ member_coupon_ids: JSON.stringify(this._assembleCoupons()),
+ orders: JSON.stringify(this._assembleDeduction()),
+ // 发票
+ // invoice_type: this.data.invoice_list.invoice_type === "electron" ? 0 : 1,
+ // rise_type: this.data.invoice_list.invoice_status === "person" ? 1 : 0,
+ // call: this.data.invoice_list.call,
+ // email: this.data.invoice_list.email,
+ // company_number: this.data.invoice_list.company_number,
+ //新的发票-发票插件
+ invoice:this.data.invoice_list,
+ mark: this.data.options.mark ? this.data.options.mark : 0,
+ dispatch_type_id: this.data.selected, //配送方式 ,1:快递 ||2:门店自提||3:门店配送(送货上门)||8:自提点
+ };
+ if (this.data.use_wechat_address && (this.data.selected == 1 || (this.data.selected == 0 && !this.data.use_wechat_address))) {
+ // 只用于快递,并且开启了使用微信地址
+ let usejson = {
+ address: this.data.design_address || "",
+ city: this.data.design_info.cityName,
+ district: this.data.design_info.countyName,
+ id: "",
+ isdefault: "",
+ latitude: "",
+ longitude: "",
+ mobile: this.data.design_info.telNumber,
+ province: this.data.design_info.provinceName,
+ street: "",
+ uid: "",
+ uniacid: "",
+ username: this.data.design_info.userName,
+ zipcode: "",
+ };
+ // 没有选择微信地址的时候,是整个adress都为空
+ json.address = usejson.address?encodeURIComponent(JSON.stringify(usejson)):[];
+ }
+ // 分销活动页面购买的商品,带活动id
+ if (this.data.activity_id) {
+ json.activity_id = this.data.activity_id;
+ }
+ if (this.data.hasGoodOpenDF) {
+ //有商品开启自定义表单
+ json.order_goods = this._assembleDiyForm();
+ }
+ if (this.data.show_recharge_mobile) {
+ //有商品开启话费慢充
+ json.order_goods = JSON.stringify(this.assembleGoodsTELData());
+ }
+ if (this.options.electricity == "electricity") {
+ //有商品开启话费慢充
+ json.order_goods = JSON.stringify(this.assembleGoodsTELData());
+ }
+ //油卡充值
+ if(this.data.oil_account && this.data.oil_mobile){
+ json.order_goods = JSON.stringify(this.assembleGoodsTELData());
+ }
+
+ if (this.data.cpstype == "1") {
+ json.recharge_number = this.data.cpsTxt;
+ }
+
+ if (this.data.camilo_resources_coupon_type == 1) {
+ // 直冲需要填写帐号
+ json.recharge_number = this.data.recharge_number;
+ }
+
+ json = this.handleDataActionBuyUrl(json, "order");
+ json = this.handleDataActionCartUrl(json, "order");
+
+ if (this.data._root_tag == "store") {
+ json.store_id = this.data.store_id;
+ json.mobile = this.data.linkinfo.mobile;
+ json.realname = this.data.linkinfo.name;
+ json.cart_ids = JSON.stringify(this.data.storeCarts);
+ } else if (this.data._root_tag == "rentCartBuy" || this.data._root_tag == "rentBuy") {
+ let right = wx.getStorageSync("rentTimeRight") || "";
+ let choose = wx.getStorageSync("rentTimeChoose") || "";
+ let self = wx.getStorageSync("rentTimeSelf") || "";
+ let lease_term = {};
+ if (!app._isTextEmpty(choose)) {
+ lease_term = choose;
+ } else if (!app._isTextEmpty(self)) {
+ lease_term = self;
+ }
+
+ json.lease_rights = app._isTextEmpty(right) == null ? [] : right;
+ json.lease_term = lease_term;
+ json.cart_ids = JSON.stringify(this.data._cart_ids);
+ }
+
+ if (this.data.selected == 2 || this.data.selected == 8 || this.data.selected == 12 || this.data.selected == 15) {
+ json.mobile = this.data.linkinfo.mobile;
+ json.realname = this.data.linkinfo.name;
+
+ if (this.data._root_tag === 'o2oDeposit') {
+ // 门店定金 后端需要把门店的地址给传过去 #86280
+ this.data.currentAddId = 1; //地址没有id 写死一个
+ let arr = this.data.store_info.store_address.split(' ');
+ this.setAddressViewData({
+ province: arr[0],
+ city: arr[1],
+ district: arr[2],
+ street: arr[3],
+ address: arr[4],
+ mobile: this.store_info.store_mobile,
+ username: this.store_info.store_name,
+ address_id: 1
+ });
+ json.address = encodeURIComponent(JSON.stringify(currentAddress));
+ // 设置地址界面
+ }
+ }
+
+ if (this.data.selected == 8 || this.data.selected == 12) {
+ json.package_deliver_id = this.data.selected == 8 ? this.data.defaultSelfCarry.id : this.data.o2oSelfCarry.id;
+ delete json.address;
+ }
+
+ if (this.data.selected == 3) {
+ json.mobile = this.data.store_info.store_mobile;
+ json.realname = this.data.store_info.store_name;
+ }
+ if (this.data.selected == 10) {
+ json.supplier_driver_distribution_address = this.data.supp_point;
+ }
+
+ Object.assign(json, this.data.orderLocationObj);
+ return json;
+ },
+
+ //支付协议
+ agreementPaybtn(e) {
+ let agreeBol = e.detail;
+ this.setData({
+ agreementPay: agreeBol,
+ });
+ },
+ showPay() {
+ this.setData({
+ agreementPayShow: true,
+ });
+ },
+ showPayClose() {
+ this.setData({
+ agreementPayShow: false,
+ });
+ },
+ showDiy(e) {
+ this.setData({
+ "diyform.form_id": e.currentTarget.dataset.id,
+ "diyform.pre_id": e.currentTarget.dataset.preid,
+ });
+ if (this._findDiyForm(e.currentTarget.dataset.preid)) {
+ let diyform_data_id = this._findDiyForm(e.currentTarget.dataset.preid);
+ this.setData({
+ "diyform.diyform_data_id": diyform_data_id,
+ });
+ }
+ this.setData({
+ diyShow: true,
+ });
+ },
+ showDiyClose() {
+ this.setData({
+ diyShow: false,
+ });
+ },
+ traCheckedData(data) {
+ console.log(data);
+ this._setDiyForm(data.detail.pre_id, data.detail.diyform_data_id);
+ this.showDiyClose();
+ },
+ getList(type) {
+ let that = this;
+ let _type = type;
+ let urlStr = app.getNetAddresss("plugin.package-deliver.frontend.deliver.getList");
+ if (_type == "o2o") {
+ urlStr = app.getNetAddresss("plugin.package-deliver.frontend.store.deliver.getList");
+ }
+ let point = app.qqMapTransBMap(parseFloat(that.data.point.lng), parseFloat(that.data.point.lat));
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ city_name: that.data.city,
+ lat: point.lat,
+ lng: point.lng,
+ kwd: "",
+ goods: JSON.stringify(this._assembleGoods()),
+ store_id: this.data.options.store_id || 0,
+ deliver_id: this.options.package_deliver_id|| ''
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (_type == "shop") {
+ that.setData({
+ defaultSelfCarry: JSON.stringify(that.data.defaultSelfCarry) == "{}" ? res.data.list.data[0] : that.data.defaultSelfCarry,
+ });
+ } else if (_type == "o2o") {
+ if (!this.data.o2oSelfCarry.id) {
+ this.setData({
+ o2odeliverName: res.data.name,
+ o2oSelfCarry: res.data.list.data[0] ? res.data.list.data[0] : "" //没有就取第一个为默认自提点
+ });
+ }
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: "获取自提点失败",
+ duration: 1000,
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+ },
+ //获取经纬度
+ getCurrentOrderLocation() {
+ wx.getLocation({
+ type: "gcj02",
+ success: (res) => {
+ console.log("userLocationFlag", res);
+ const latitude = res.latitude;
+ const longitude = res.longitude;
+ this._setOrderLocation({
+ lat: latitude,
+ lng: longitude,
+ });
+ },
+ });
+ },
+ //根据经纬度转换具体地址名称
+ _setOrderLocation(e) {
+ let that = this;
+ app
+ .getReverseGeocoder(e.lat, e.lng)
+ .then((res) => {
+ console.log("userLocationFlag", res);
+ let recommend = res.address_component;
+ let orderLocationObj = {
+ positioning_success: 1,
+ province: recommend.province,
+ city: !app._isTextEmpty(recommend.city) ? recommend.city : recommend.province,
+ };
+ that.data.orderLocationObj = orderLocationObj;
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+ },
+
+ async checkAlbum(scopeName) {
+ let writePhotosAlbum = await this.getAuthSetting(scopeName);
+ return new Promise((resolve, reject) => {
+ if (!writePhotosAlbum) {
+ wx.showModal({
+ title: "请开启授权",
+ content: "是否跳转设置页开启授权",
+ success(res) {
+ if (res.confirm) {
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting[scopeName]) {
+ resolve(true);
+ } else {
+ resolve(false);
+ }
+ },
+ });
+ } else if (res.cancel) {
+ resolve(false);
+ }
+ },
+ fail: () => {
+ resolve(false);
+ },
+ });
+ } else resolve(true);
+ });
+ },
+ getAuthSetting(authName) {
+ return new Promise((resolve, reject) => {
+ wx.getSetting({
+ success(res) {
+ if (!res.authSetting[authName]) {
+ wx.authorize({
+ scope: authName,
+ success() {
+ resolve(true);
+ },
+ fail() {
+ resolve(false);
+ },
+ });
+ } else resolve(true);
+ },
+ fail() {
+ resolve(false);
+ },
+ });
+ });
+ },
+ toO2oSearchDiyBtn() {
+ //门店搜索插件 自定义下单页按钮
+ try {
+ wx.redirectTo({
+ url: this.data.storeSearchBtn.app_url,
+ });
+ } catch (e) {
+ console.log(e);
+ }
+ },
+ toFullPage() {
+ // 跳转满额包邮页
+ if (this.data._root_tag == this.data.TAG_ACTION_BUY) {
+ //立即购买的,把他添加到购物车,从包邮页去结算变成购物车结算
+ // 设置主要参数
+ let urlStr = app.getNetAddresss("postageIncludedCategory.member-cart.store");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ goods_id: this.data._goodsId,
+ total: this.data._total || 1,
+ option_id: this.data._optionsId || 0
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result == 1) {
+ let _cart_ids = [];
+ _cart_ids.push(Number(res.data.cart_id));
+ wx.navigateTo({
+ url: '/packageE/orderullPackage/orderullPackage?cart_id=' + JSON.stringify(_cart_ids)
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ },
+ });
+
+ } else if (this.data._root_tag == this.data.TAG_ACTION_CART) {
+ // 购物车下单 JSON.stringify(this.data._cart_ids)
+ wx.navigateTo({
+ url: '/packageE/orderullPackage/orderullPackage?cart_id=' + this.options.cart_ids
+ });
+ }
+ },
+ // 二开页面开发-胜天半子#79514
+ onChange(e) {
+ this.setData({
+ sexSelect: e.detail
+ });
+ },
+ cell_from_inp(e) {
+ if (e.currentTarget.dataset.key == 'name') {
+ this.setData({
+ 'design_info.userName': e.detail.value
+ });
+ }
+ if (e.currentTarget.dataset.key == 'phone') {
+ this.setData({
+ 'design_info.telNumber': e.detail.value
+ });
+ }
+ if (e.currentTarget.dataset.key == 'adress') {
+ this.setData({
+ design_address: e.detail.value,
+ 'design_info.detailInfo': e.detail.value
+ });
+ }
+ },
+ tapShowArea() {
+ this.setData({
+ showArea: true
+ });
+ },
+ confirmArea(e) {
+ this.setData({
+ userAdress: `${e.detail[0].name} ${e.detail[1].name} ${e.detail[2].name}`,
+ 'design_info.provinceName': e.detail[0].name,
+ 'design_info.cityName': e.detail[1].name,
+ 'design_info.countyName': e.detail[2].name
+ });
+ },
+ changeCityDeliveryCommunity(e) {
+ this.setData({
+ cityDelivery_community_id: e.detail
+ });
+ },
+ setCityDeliveryCommunity() {
+ let cityDelivery_community = this.data.cityDelivery.community_setting.community_list.find((item) => {
+ return item.id == this.data.cityDelivery_community_id;
+ });
+ this.setData({
+ cityDelivery_community,
+ selectCommunityShow: false
+ });
+ },
+ openCityDeliveryDay() {
+ this.selectComponent(`.deliveryTime`).setPopShow();
+ },
+ cityDeliveryDayConfirm(evt) {
+ this.setData({
+ cityDelivery_deliveryTime: evt.detail
+ });
+ this.handleBuy();
+ },
+});
\ No newline at end of file
diff --git a/packageD/buy/myOrder_v2/myOrder_v2.json b/packageD/buy/myOrder_v2/myOrder_v2.json
new file mode 100644
index 0000000..9fbaa96
--- /dev/null
+++ b/packageD/buy/myOrder_v2/myOrder_v2.json
@@ -0,0 +1,32 @@
+{
+ "navigationBarTitleText": "我的信息",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-field": "../../../dist/field/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-icon": "../../../dist/icon/index",
+ "van-switch": "/dist/switch/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-dialog": "../../../dist/dialog/index",
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-datetime-picker": "/dist/datetime-picker/index",
+ "dsfrom":"/mycomponent/diyfrom/diyfrom",
+ "van-toast": "../../../dist/toast/index",
+ "van-stepper":"../../../dist/stepper/index",
+ "yz_addressList": "../../mycomponent/yz_addressList/yz_addressList",
+ "yzMyinfo": "../../mycomponent/yzMyinfo/yzMyinfo",
+ "yzSubscribe": "../../mycomponent/yzSubscribe/yzSubscribe",
+ "yz-wapmap": "../../mycomponent/yz_wap/yz_wapmap",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "yz_area":"../../../mycomponent/yz_area/yz_area",
+ "addGoodsModule": "../../mycomponent/add-goods/add-goods",
+ "city-delivery-day":"../../mycomponent/city-delivery-day/city-delivery-day",
+ "invoice-pop":"../../mycomponent/invoice-pop/invoice-pop",
+ "agency-saleman": "../../mycomponent/agency-saleman/agency-saleman"
+ }
+}
diff --git a/packageD/buy/myOrder_v2/myOrder_v2.wxml b/packageD/buy/myOrder_v2/myOrder_v2.wxml
new file mode 100644
index 0000000..7b02453
--- /dev/null
+++ b/packageD/buy/myOrder_v2/myOrder_v2.wxml
@@ -0,0 +1,873 @@
+
+
+ var numberToFix = function (value) {
+ return value.toFixed(2)
+ }
+ module.exports.numberToFix = numberToFix;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 收件人:{{realname}} {{mobile}}
+ {{address}}
+
+
+ 请点击选择地址
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{supp_point.address}}
+
+
+
+
+ 注:订单配送是根据下单时的定位进行配送,不按照收货地址配送,请注意选择正确地址~
+
+
+
+
+
+
+
+
+
+
+ 收件人:{{realname}} {{mobile}}
+ {{address}}
+
+
+ 请点击选择地址
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 自提地点:{{store_info.store_name}} {{store_info.store_mobile}}
+ {{store_info.store_address}}
+
+
+
+
+
+
+
+ 友情提示:请核对手机号码无误后再提交订单!
+
+
+
+
+
+
+
+
+
+
+
+ 收件人:{{realname}} {{mobile}}
+ {{address}}
+
+
+ 请点击选择地址
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 自提地点:{{store_info.store_name}} {{store_info.store_mobile}}
+ {{store_info.store_address}}
+
+
+
+
+ 配送说明
+
+
+
+
+
+
+ 起送价
+ {{language['money']}}{{delivery_amount}}
+
+ 配送范围
+
+
+
+
+
+
+
+
+
+
+
+
+ 抱歉,该地区暂无自提点,请点击更换地区试试!
+
+
+ 自提地点:{{defaultSelfCarry.deliver_name}} {{defaultSelfCarry.deliver_mobile}}
+ {{defaultSelfCarry.full_address}}
+
+ 更换
+
+
+
+
+
+
+ 友情提示:请核对手机号码无误后再提交订单!
+
+
+
+
+
+ 配送范围
+ 查看配送范围
+
+
+
+ 送达区域
+ 查看可送达区域
+
+
+
+ 送达社区
+ {{cityDelivery_community.name ? cityDelivery_community.name : '请选择' }}
+
+
+
+
+
+
+
+
+
+
+ 收件人:{{realname}} {{mobile}}
+ {{address}}
+
+
+ 请点击选择地址
+
+
+
+
+
+
+
+
+
+
+ 配送时间
+ {{cityDelivery_deliveryTime.day}} {{cityDelivery_deliveryTime.start_time_str}} {{cityDelivery_deliveryTime.end_time_str}}
+ 请选择
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 自提地点:{{ order_data[0].order_address.realname }} {{ order_data[0].order_address.mobile }}
+ {{order_data[0].order_address.address}}
+
+
+
+
+
+
+
+ 友情提示:请核对手机号码无误后再提交订单!
+
+
+
+
+
+
+
+
+
+
+
+
+ 抱歉,该地区暂无自提点,请点击更换地区试试!
+
+
+ 自提地点:{{o2oSelfCarry.deliver_name}} {{o2oSelfCarry.deliver_mobile}}
+ {{o2oSelfCarry.full_address}}
+
+ 更换
+
+
+
+
+
+
+ 友情提示:请核对手机号码无误后再提交订单!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{userAdress?userAdress:'所在区域'}}
+
+
+
+
+
+
+
+
+
+ 使用微信地址
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 你充值的手机号码
+ {{recharge_mobile}}
+
+
+
+
+ 您充值的户号:
+ {{eleUser.account_number}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 您充值的油卡号:
+ {{ oil_account }}
+
+
+ 您充值的手机号:
+ {{ oil_mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 您还可以免费租{{rent_free}}件商品!
+
+
+
+ 店铺名称:{{item.shop_name}}
+
+
+ 还差 ¥{{m1.numberToFix((cityDelivery.min_amount*1) - (item.order_goods_price*1))}}满足起送(起送价¥{{cityDelivery.min_amount}})
+
+
+
+
+
+
+
+
+
+ {{g.title}}
+
+
+
+
+ {{language['money']}}{{(g.order_lease_goods[0].lease_price/g.total)}}{{language['元']}}/天
+ ×{{g.total}}
+
+
+
+
+
+
+ 规格: {{g.goods_option_title}}
+
+ 押金: {{language['money']}}{{g.has_one_lease_goods.goods_deposit}}
+
+
+ 租金: {{language['money']}}{{g.price}}
+ {{language['money']}}{{g.order_lease_goods[0].lease_price}}{{language['元']}}/天
+
+ 填写表单
+ 已填表单
+
+
+
+
+ {{g.title}}
+ 规格: {{g.goods_option_title}}
+
+ 预约日期:{{reserveDate}}
+
+
+ 定金
+ {{language['money']}}{{m1.numberToFix(g.price/g.total)}}
+ ×{{g.total}}
+ 填写表单
+ 已填表单
+
+
+ 会员价:
+ {{language['money']}}
+ {{ m1.numberToFix(g.vip_price/g.total) }}
+
+
+ 送
+ {{g.points}} {{integral}}
+
+
+
+
+
+
+
+ 买家留言:
+
+
+
+
+
+
+
+
+
+ 会员权益
+
+
+
+
+
+
+ {{isRent?"租金":"商品金额"}}
+
+ {{language['money']}}{{item.order_goods_price}}
+
+
+
+ 会员价
+
+ {{language['money']}}{{item.vip_order_goods_price}}
+
+
+
+ 配送费 :
+ 运费 :
+
+ {{language['money']}}{{item.dispatch_price}}
+
+
+
+ {{item.name}}
+
+ {{language['money']}}{{item.amount}}
+
+
+
+ 预约扣除{{ reserve_deduction }}{{ integral }}
+
+
+ 预约扣除{{ reserve_deduction_love }}{{ love_name }}
+
+
+
+
+ 可用{{d.coin}}{{d.name || integral}}
+ {{deduction_lang?deduction_lang:'抵扣'}}{{d.amount}}{{language['元']}}
+
+
+
+
+
+
+
+
+
+ {{ d.coin }}{{d.name || integral}}
+ {{deduction_lang?deduction_lang:'抵扣'}}{{ d.amount }}{{language['元']}}
+
+
+
+
+
+
+
+
+
+
+
+ 是否需要{{ fees.name }}
+
+
+
+
+
+
+
+ {{ fees.name }}为
+ {{ fees.amount }}
+
+
+
+ 预约安装时间
+
+
+ {{installDateText}}
+
+
+
+
+ 地理位置*
+
+ {{ location.address ? location.address : "定位中..." }}
+
+ {{ location.address ? "切换" : "自动定位中" }}
+
+
+
+
+
+
+
+
+
+
+ 租期:
+
+
+
+
+ {{item.term_name}}
+ 优惠{{item.term_discount}}%
+
+
+ 自定义
+
+
+
+
+
+
+
+
+
+
+ 优惠券
+ {{coupon_size}}张可用
+
+
+
+ {{(use_coupon_size==0) ? "未使用":"已使用"+use_coupon_size+"张"}}
+
+
+
+
+
+
+
+
+
+
+ 我的站点
+
+
+
+ 新增/绑定站点
+
+
+ {{domain}}
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+ - {{language['money']}}{{ item.amount }}
+
+
+
+
+
+ {{ item.name }}
+
+ -{{language['money']}}{{ item.amount }}
+
+
+
+
+
+ {{ item.name }}
+
+ {{language['money']}}{{ item.amount }}
+
+
+
+
+ {{ item.name }}
+
+ {{language['money']}}{{ item.amount }}
+
+
+
+ 押金(可退还)
+
+ {{language['money']}}{{goodsInfo.total_deposit}}
+
+
+
+
+
+
+
+ 我已认真阅读并同意该
+ 《租赁协议》
+
+
+
+
+
+
+
+ 《支付协议》
+
+
+
+
+
+
+ {{ storeSearchBtn.but_title }}
+
+
+
+
+
+
+
+ (押金{{language['money']}}{{goodsInfo.total_deposit}}可退)
+
+
+ 合计:
+
+ {{language['money']}}
+ {{price}}
+
+
+
+ 提交订单
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{coupon.belongs_to_coupon.deduct}}
+
+ 满{{coupon.belongs_to_coupon.enough}}立减
+
+
+
+ {{coupon.belongs_to_coupon.discount}}折
+
+ 满{{coupon.belongs_to_coupon.enough}}立享
+
+
+
+
+ {{coupon.belongs_to_coupon.name}}
+
+ {{ coupon.has_conpon_id.length }}张
+
+
+ {{coupon.time_start}}-{{coupon.time_end}}
+
+
+
+
+
+ {{ isCueCoupon ? '确定使用' : '确认' }}
+ {{ isCueCoupon && use_coupon_size == 0 ? '不用优惠' : '取消' }}
+
+
+
+
+
+
+ {{agreeCon.pact_title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 运费说明
+
+ {{item}}
+
+ 确定
+
+
+
+
+
+
+
+
+
+
+
+ 计费规格
+
+
+ 按距离配送
+
+ {{item.level==1 ? (item.unit+'公里内') : ('范围'+item.unit+'公里')}}
+ {{item.level==1 ? '起步价' : '每公里+'}} ¥ {{item.amount}}
+
+
+
+ 按重量配送
+
+ {{item.level==1 ? item.unit+'KG内' : '范围'+item.unit+'KG'}}
+ {{item.level==1 ? '起步价' : '每KG+'}} ¥ {{item.amount}}
+
+
+
+ 夜间配送
+
+ {{item.start_time_str}}-{{item.end_time_str}}
+ 服务费+ ¥ {{item.amount}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 可送达区域
+
+ {{item.areaname}}
+ {{item.areaname}}
+ {{item.areaname}}
+
+
+
+
+
+
+
diff --git a/packageD/buy/myOrder_v2/myOrder_v2.wxss b/packageD/buy/myOrder_v2/myOrder_v2.wxss
new file mode 100644
index 0000000..dd568ef
--- /dev/null
+++ b/packageD/buy/myOrder_v2/myOrder_v2.wxss
@@ -0,0 +1,1333 @@
+/* pages/buy/myOrder_v2/myOrder_v2.wxss */
+.goodsinfo .addr {
+ display: flex;
+ flex-flow: row wrap;
+ align-items: center;
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.goodsinfo .addr {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+}
+
+.goodsinfo .addr .map_marker {
+ width: 46rpx;
+ height: 34rpx;
+ margin-right: 16rpx;
+}
+
+.goodsinfo .addr .p {
+ flex: 8;
+ text-align: justify;
+ font-weight: bold;
+ line-height: 48rpx;
+ color: #333;
+ font-size: 28rpx;
+}
+
+.goodsinfo .addr .right_change {
+ padding: 4rpx 8rpx;
+ color: #f15353;
+ font-size: 28rpx;
+ border: 1rpx solid #f15353;
+ border-radius: 8rpx;
+}
+
+.dis_warn {
+ text-align: left;
+ padding: 10rpx 28rpx;
+ background: #fff;
+ color: #f15353;
+ font-size: 24rpx;
+
+ /* border-top: 2rpx solid #ebebeb; */
+ width: 92%;
+ display: inline-block;
+}
+
+.goodsinfo .addr .big {
+ font-size: 32rpx;
+ line-height: 58rpx;
+}
+
+.goodsinfo .addr .p .span {
+ font-weight: normal;
+ color: #666;
+}
+
+.goodsinfo .addr .right {
+ flex: 1;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+}
+
+.goodsinfo .addr .angle_right {
+ padding-top: 10rpx;
+ width: 32rpx;
+ margin-right: 16rpx;
+}
+
+.goodsinfo .add-info {
+ overflow-y: scroll;
+ width: 100%;
+ background: #fff;
+ max-height: 50vh;
+ padding-top: 20rpx;
+}
+
+.goodsinfo .add-info .ul {
+ overflow-y: scroll;
+}
+
+.goodsinfo .add-info .ul .li {
+ padding: 20rpx 0;
+ display: flex;
+ position: relative;
+}
+
+.goodsinfo .add-info .li .liia {
+ width: 100%;
+ padding-right: 40rpx;
+ flex: 1;
+ text-align: left;
+ padding-left: 40rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.goodsinfo .add-info .li .liia .name {
+ font-size: 36rpx;
+ color: #222;
+ line-height: 64rpx;
+}
+
+.goodsinfo .add-info .li .liia .address {
+ word-break: break-word;
+ width: 100%;
+ font-size: 24rpx;
+ color: #666;
+ line-height: 40rpx;
+}
+
+.goodsinfo .add-info .li .edit_btn {
+ margin-top: 16rpx;
+ margin-right: 64rpx;
+ height: 64rpx;
+ line-height: 64rpx;
+ flex: 0 0 96rpx;
+ background: #f15353;
+ color: #fff;
+ border-radius: 20rpx;
+ text-align: center;
+}
+
+.goodsinfo .address-plus {
+ background: #f15353;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #fff;
+ width: 100%;
+ border: 0;
+ text-align: center;
+}
+
+.address_a {
+ background-color: #fff;
+ padding-left: 28rpx;
+ margin-top: 20rpx;
+}
+
+.address_a .li {
+ height: 100rpx;
+ padding-right: 28rpx;
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+}
+
+.defaultAdd {
+ background: #fff;
+ padding-left: 28rpx;
+ display: flex;
+ height: 100rpx;
+ padding-right: 28rpx;
+ font-size: 32rpx;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.addName {
+ background: #fff;
+}
+
+.addstreet {
+ background: #fff;
+}
+
+.text_adderss {
+ background: #fff;
+}
+
+.text_adderss input {
+ /* text-wrap: unset; */
+ padding: 20rpx 28rpx;
+ font-size: 28rpx;
+ line-height: 48rpx;
+ min-height: 104rpx;
+}
+
+.adderss_btn .button {
+ margin: 40rpx auto;
+ width: 600rpx;
+ height: 90rpx;
+ border-radius: 10rpx;
+ background: #f15353;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.adderss_btn .button .plus_circle {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.adderss_btn .button .plus_circle van-icon {
+ display: flex;
+ align-items: center;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* -------------------------------- */
+
+.goodsinfo .goods-detail .title {
+ line-height: 72rpx;
+ background-color: #f7f7f7;
+ color: #f15353;
+ text-align: left;
+ padding: 0 28rpx;
+ display: flex;
+ align-items: center;
+}
+
+.goodsinfo .goods-detail .title .span {
+ margin-left: 20rpx;
+}
+
+.goodsinfo .goods-shop {
+ background: #fff;
+ line-height: 72rpx;
+ border-bottom: #e8e8e8 solid 2rpx;
+}
+
+.goodsinfo .goods-shop .p {
+ text-align: left;
+ margin: 0;
+ padding: 0 0 0 28rpx;
+ font-size: 24rpx;
+ color: #555;
+}
+
+.goodsinfo .detail_good {
+ background: #fff;
+ overflow: hidden;
+}
+
+.goodsinfo .diy-box {
+ display: flex;
+ flex-direction: column;
+}
+
+.goodsinfo .diy-from {
+ position: absolute;
+ top: 50rpx;
+ right: 0;
+ background: #ff2c29;
+ color: #fff;
+ border-radius: 20rpx 0 0 20rpx;
+ padding: 4rpx 12rpx;
+ z-index: 9;
+}
+
+.goodsinfo .diy-from.write {
+ background: #02cc74;
+}
+
+.goodsinfo .detail_good .goods {
+ display: flex;
+ padding: 32rpx 28rpx 0 28rpx;
+}
+
+.goodsinfo .detail_good .goods .img {
+ width: 30%;
+ display: inline-block;
+}
+
+.goodsinfo .detail_good .goods .img image {
+ width: 100%;
+}
+
+.goodsinfo .detail_good .goods .warp {
+ width: 70%;
+ margin-left: 20rpx;
+ position: relative;
+}
+
+.goodsinfo .detail_good .goods .warp .inner {
+ display: flex;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+
+.goodsinfo .detail_good .goods .warp .inner .name {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ height: 80rpx;
+ width: 60%;
+ text-align: left;
+ color: #333;
+ margin-bottom: 20rpx;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+.goodsinfo .detail_good .goods .warp .inner .red {
+ color: #f15353;
+ display: flex;
+}
+
+.goodsinfo .detail_good .goods .warp .inner .red .icon_rent {
+ width: 24rpx;
+ height: 24rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding-top: 10rpx;
+}
+
+.goodsinfo .detail_good .goods .warp .price {
+ display: flex;
+ justify-content: space-between;
+ color: #333;
+ position: relative;
+}
+
+.goodsinfo .detail_good .goods .option {
+ color: #8c8c8c;
+ font-size: 28rpx;
+}
+
+.goodsinfo .detail_good .goods .warp .price .right {
+ color: #8c8c8c;
+}
+
+.goodsinfo .detail_good .rent-choice {
+ width: 100%;
+ bottom: 0;
+ display: flex;
+ justify-content: space-between;
+ color: #8c8c8c;
+}
+
+.goodsinfo .detail_good .rent-choice .red {
+ color: #f15353;
+ margin-right: 10px;
+ margin-right: 20rpx;
+ font-size: 14px;
+}
+
+.goodsinfo .detail_good .note {
+ display: flex;
+ margin: 32rpx 16rpx 0 16rpx;
+}
+
+.goodsinfo .detail_good .note .left {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 12px;
+ color: #858585;
+ margin-right: 16rpx;
+}
+
+.goodsinfo .detail_good .note .right {
+ flex: 1;
+ text-align: left;
+}
+
+.goodsinfo .rent-info {
+ background-color: #fff;
+ padding: 20rpx 28rpx;
+ font-size: 28rpx;
+ border-bottom: solid 2rpx #e2e2e2;
+}
+
+.goodsinfo .tbs {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background: #fff;
+ flex-flow: row wrap;
+ padding: 20rpx 28rpx;
+ line-height: 48rpx;
+ border-bottom: #e8e8e8 solid 2rpx;
+ font-size: 30rpx;
+}
+
+.goodsinfo .tbs .list {
+ width: 100%;
+ padding-bottom: 20rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.goodsinfo .tbs .left {
+ text-align: left;
+ color: #333;
+}
+
+.goodsinfo .tbs .right {
+ text-align: right;
+}
+
+.goodsinfo .tbs .right .red {
+ color: #e84e40;
+}
+
+.goodsinfo .tbs .left .span {
+ font-size: 30rpx;
+}
+
+.goodsinfo .rent-time {
+ margin-top: 20rpx;
+ padding: 32rpx 28rpx;
+ background-color: #fff;
+}
+
+.goodsinfo .rent-time .text {
+ font-size: 28rpx;
+ text-align: left;
+ flex: 16%;
+ margin-bottom: 20rpx;
+}
+
+.goodsinfo .rent-time .week {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.goodsinfo .rent-time .week .button {
+ width: 30.4%;
+ border: solid 2rpx #e2e2e2;
+ background-color: #fff;
+ font-size: 24rpx;
+ color: #333;
+ border-radius: 8rpx;
+ height: 120rpx;
+ margin: 10rpx 1.1%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.goodsinfo .rent-time .week .button .span {
+ text-align: center;
+}
+
+.goodsinfo .rent-time .week .button .red {
+ color: #f15353;
+}
+
+.goodsinfo .tbs.coupon-list {
+ margin-top: 20rpx;
+
+ /* margin-bottom: 20rpx; */
+}
+
+.goodsinfo .tbs .list:nth-last-child(1) {
+ padding-bottom: 0;
+}
+
+.goodsinfo .coubtngroup {
+ display: flex;
+ font-size: 28rpx;
+ text-align: center;
+}
+
+.goodsinfo .coubtngroup .sure {
+ background: #f15353;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #fff;
+ width: 50%;
+}
+
+.goodsinfo .coubtngroup .close {
+ background: #eee;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #333;
+ width: 50%;
+}
+
+.goodsinfo .add-info {
+ overflow-y: scroll;
+ width: 100%;
+ background: #fff;
+ max-height: 50vh;
+ padding-top: 20rpx;
+}
+
+.goodsinfo .add-info .coupon-list-info {
+ width: 99.5vw;
+ display: flex;
+ align-items: center;
+}
+
+.goodsinfo .add-info .checkList {
+ padding-left: 6rpx;
+ margin-right: 20rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray {
+ flex: 1;
+ height: 160rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ display: flex;
+}
+
+.goodsinfo .add-info .coupon_voucher_main {
+ flex: 1;
+ height: 160rpx;
+ margin-right: 20rpx;
+ margin-bottom: 20rpx;
+ display: flex;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_left {
+ width: 204rpx;
+ height: 100%;
+ color: #fff;
+ border-radius: 8rpx 0 0 8rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ background-color: #47c1c4;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_left {
+ width: 204rpx;
+ height: 100%;
+ color: #fff;
+ border-radius: 8rpx 0 0 8rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ background-color: #ccc;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_left .coupon_voucher_amount.type_large {
+ margin: 0;
+ font-size: 44rpx;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_left .coupon_voucher_amount.type_large {
+ margin: 0;
+ font-size: 44rpx;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_left .coupon_voucher_limit {
+ font-size: 24rpx;
+ margin-top: 26rpx;
+ margin-bottom: 0;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_left .coupon_voucher_limit {
+ font-size: 24rpx;
+ margin-top: 26rpx;
+ margin-bottom: 0;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_right {
+ flex: 1;
+ padding: 30rpx 30rpx 30rpx 20rpx;
+ border-radius: 0 8rpx 8rpx 0;
+ background-color: #e5f3f3;
+ color: #666;
+ position: relative;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_right {
+ flex: 1;
+ padding: 30rpx 30rpx 30rpx 20rpx;
+ border-radius: 0 8rpx 8rpx 0;
+ background-color: #eee;
+ color: #666;
+ position: relative;
+}
+
+.goodsinfo .add-info .coupon_voucher_main .coupon_voucher_right .coupon_voucher_range {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ font-size: 24rpx;
+ text-align: left;
+ margin: 0;
+ padding: 0;
+ vertical-align: baseline;
+}
+
+.goodsinfo .add-info .coupon_voucher_gray .coupon_voucher_right .coupon_voucher_range {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ font-size: 24rpx;
+ text-align: left;
+ margin: 0;
+ padding: 0;
+ vertical-align: baseline;
+}
+
+.coupon_voucher_main .coupon_voucher_right .coupon_voucher_period {
+ color: #999;
+ font-size: 24rpx;
+ bottom: 0;
+}
+
+.coupon_voucher_main .coupon_voucher_gray .coupon_voucher_period {
+ color: #999;
+ font-size: 24rpx;
+ bottom: 0;
+}
+
+.goodsinfo .tbs .agreement {
+ display: flex;
+ align-items: center;
+}
+
+.goodsinfo .tbs .agreement .left {
+ margin-left: 20rpx;
+}
+
+.goodsinfo .tbs .agreement .left .red {
+ color: red;
+}
+
+.agreementContent {
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+}
+
+.agreementContent .h3 {
+ text-align: center;
+ font-size: 32rpx;
+}
+
+.goodsinfo .tbsbottom {
+ margin-top: 20rpx;
+}
+
+.goodsinfo .detail_pay {
+ z-index: 98;
+ font-size: 32rpx;
+ text-align: left;
+ height: 98rpx;
+ background: #fff;
+ padding: 0 0 0 28rpx;
+ border-top: 2rpx solid #eaeaea;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ display: flex;
+ justify-content: space-between;
+}
+
+.goodsinfo .detail_pay .total {
+ font-size: 28rpx;
+ padding-right: 20rpx;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ flex: 3;
+}
+
+.goodsinfo .detail_pay .total .deposit {
+ font-size: 24rpx;
+ color: #999;
+ margin-right: 12rpx;
+}
+
+.goodsinfo .detail_pay .total .font {
+ color: #f15353;
+}
+
+.goodsinfo .span_t {
+ color: #f15353;
+ font-size: 32rpx;
+}
+
+.goodsinfo .detail_pay .order_delete {
+ flex: 1;
+ background: #f15353;
+ justify-content: center;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ position: relative;
+}
+
+.goodsinfo .detail_pay .order_delete.disabled{
+ background: #a5a5a5;
+}
+
+.goodsinfo .rent-time .week .active {
+ border: solid 2rpx red;
+}
+
+.goodsinfo .shipping_ins {
+ background: #fff;
+ /* padding: 0 0.625rem; */
+}
+
+.goodsinfo .shipping_ins .shipping_ins_1 {
+ padding: 0 20rpx;
+ height: 68rpx;
+ line-height: 68rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.goodsinfo .shipping_ins .shipping_ins_title {
+ font-size: 28rpx;
+ color: #333;
+}
+
+.goodsinfo .shipping_ins .shipping_ins_total {
+ color: #f15353;
+}
+
+.goodsinfo .shipping_ins .fa-angle-right {
+ font-size: 20px;
+ margin-left: 10px;
+}
+
+.goodsinfo .shipping_ins .shipping_ins_date .icon-fontclass-rili {
+ font-size: 20px;
+ color: #666;
+}
+
+.goodsinfo .shipping_ins .shipping_ins_address {
+ flex: 1;
+ padding-left: 12px;
+ display: flex;
+ align-items: center;
+ font-size: 10px;
+ overflow: hidden;
+}
+
+.goodsinfo .shipping_ins .shipping_ins_address .addressDiv {
+ flex: 1;
+ overflow: hidden; /* 超出部分隐藏 */
+ text-overflow: ellipsis; /* 超出部分显示省略号 */
+ white-space: nowrap; /* 规定段落中的文本不进行换行 */
+}
+
+.goodsinfo .shipping_ins .cell-textarea-style {
+ background: #fbfbfb;
+}
+
+.getLocation {
+ display: flex;
+ align-items: center;
+ height: 100rpx;
+ justify-content: space-between;
+ margin: 0 30rpx;
+}
+
+.getLocation .left {
+ height: 100%;
+ display: flex;
+ align-items: center;
+}
+
+.getLocation .left icon {
+ margin-top: -10rpx;
+ color: #999;
+}
+
+.getLocation .left text {
+ font-size: 30rpx;
+}
+
+.getLocation .right {
+ height: 100%;
+ display: flex;
+ align-items: center;
+}
+
+.getLocation .right icon {
+ color: #999;
+}
+
+.coupon-stepper {
+ position: absolute;
+ width: 95%;
+ bottom: 4px;
+ right: 8rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.coupon-stepper .coupon-stepper-num {
+ border-radius: 28rpx;
+ overflow: hidden;
+ padding: 0 16rpx;
+ color: #999;
+ border: 1px solid #999;
+ height: 32rpx;
+ font-size: 24rpx;
+ line-height: 32rpx;
+}
+
+.van-stepper .plus-box {
+ width: 20px;
+ height: 20px;
+ background-color: #47c1c4;
+ color: #fff;
+ border-radius: 50%;
+}
+
+.van-stepper .minus-box {
+ width: 20px;
+ height: 20px;
+ color: #47c1c4;
+ border-color: #47c1c4;
+ border-radius: 50%;
+}
+
+.van-stepper .input-box {
+ background-color: transparent;
+}
+
+.prepaid-recharge {
+ background-color: white;
+ text-align: left;
+}
+
+.prepaid-recharge .van-new-cell {
+ font-size: 24px;
+ border-bottom: none;
+}
+
+.prepaid-recharge .van-hairline--top-bottom::after {
+ border-bottom: none;
+}
+
+.prepaid-recharge .tips {
+ margin-top: 15px;
+ border-top: #e8e8e8 solid 2rpx;
+ padding: 10px;
+ line-height: 22px;
+ color: #ff2424;
+ font-size: 14px;
+}
+
+.cpsMember {
+ height: 90rpx;
+ background: #fff;
+ margin-bottom: 20rpx;
+
+ /* line-height: 60rpx; */
+ display: flex;
+ align-items: center;
+ padding-left: 30rpx;
+ box-sizing: border-box;
+}
+
+.cpsinp {
+ font-size: 28rpx;
+}
+
+.diy-other-btn {
+ height: 64rpx;
+ line-height: 64rpx;
+ background: #f7e7e7;
+ text-align: center;
+ margin-top: 12px;
+ color: #e84e40;
+ font-size: 12px;
+}
+
+.diy-other-btn icon {
+ display: inline-flex;
+ font-size: 14px;
+}
+
+.deposit-tips {
+ font-size: 12px;
+ padding: 2px 8px;
+ margin-right: 5px;
+ border-radius: 5px;
+ background-color: rgba(255, 174, 190, 0.43);
+ color: #f15353;
+}
+
+.give_integral_wrapper {
+ position: relative;
+ display: flex;
+ text-align: left;
+}
+
+.give_integral_wrapper .give_integral_text {
+ position: absolute;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 35rpx !important;
+ height: 35rpx !important;
+ font-size: 22rpx;
+ color: #fff;
+ background-color: #ec544a;
+ border-radius: 50%;
+}
+
+.give_integral_wrapper .give_integral_num {
+ display: inline-flex;
+ align-items: center;
+ height: 35rpx !important;
+ padding: 6rpx 16rpx 6rpx 42rpx;
+ box-sizing: border-box;
+ font-size: 22rpx;
+ color: #ec544a;
+ background-color: #fff5f4;
+ border-radius: 15%;
+}
+
+/* 供应商配送 */
+.autoAddress {
+ display: flex;
+ justify-content: space-between;
+ flex-flow: row wrap;
+ align-items: center;
+ background: #fff;
+ padding: 28rpx;
+}
+
+.autoAddress .autoAddress_nod {
+ flex: 1;
+ display: flex;
+ align-items: center;
+}
+
+.autoAddress .autoAddress_nod .span_txt {
+ text-align: left;
+ padding: 0 20rpx;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+}
+
+.autoAddress .icon-location {
+ color: #ec6060;
+}
+
+.autoTips {
+ font-size: 22rpx;
+ text-align: left;
+ padding: 28rpx;
+ color: #858585;
+}
+
+/* 微信地址 */
+.wxAdress {
+ padding: 24rpx 0 34rpx 0;
+ font-size: 28rpx;
+ background-color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #c03b38;
+}
+
+.wxAdress .iconfont {
+ margin-right: 16rpx;
+}
+
+.userFrom {
+ padding: 30rpx;
+ background-color: #fff;
+}
+
+.userFrom .cell_from {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 60rpx;
+ margin-top: 16rpx;
+}
+
+.userFrom .cell_from:first-child {
+ margin-top: 0;
+}
+
+.userFrom .cell_from input {
+ flex: 1;
+ height: 60rpx;
+ padding-left: 10rpx;
+ border: 1rpx solid #ededed;
+ box-sizing: border-box;
+}
+
+.userFrom .cell_from .sex {
+ flex: 1;
+ display: flex;
+ align-items: center;
+}
+
+.sex van-radio-group {
+ width: 100%;
+}
+
+.sex van-radio-group .sexGroup {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+}
+
+.userFrom .cell_area {
+ width: 100%;
+ border: 1rpx solid #ededed;
+ text-indent: 10rpx;
+ height: 60rpx;
+ margin-top: 16rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.cell_area .areaName {
+ font-size: 28rpx;
+ color: #c5a87b;
+}
+
+.cell_area .iconfont {
+ margin-right: 15rpx;
+ font-size: 40rpx;
+}
+
+.ferightExplain {
+ width: 580rpx;
+ margin: 0 auto;
+ padding-bottom: 32rpx;
+}
+.ferightExplain .ferightExplain-title {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 80rpx;
+}
+.ferightExplain .ferightExplain-content {
+ min-height: 320rpx;
+ max-height: 480rpx;
+ padding:0 32rpx;
+ margin-bottom: 32rpx;
+ text-align: left;
+ overflow: auto;
+}
+.ferightExplain .ferightExplain-button {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 320rpx;
+ height: 64rpx;
+ margin: 0 auto;
+ font-size: 28rpx;
+ color: #fff;
+ background: #ef5252;
+ border-radius: 10rpx;
+}
+
+.dResrve{
+ width:100%;
+ text-align: left;
+ display: flex;
+}
+.dResrve .span{
+ color: rgb(232, 78, 64);
+}
+.distribution-range {
+ padding: 26rpx 31rpx;
+ text-align: left;
+ color: #2c2c2c;
+ background: #fff;
+ border-bottom: 2rpx solid #f2f2f2;
+}
+.distribution-range .sameCity {
+ display: flex;
+ align-items: center;
+}
+.distribution-range .sameCity .sameCity-text {
+ font-size: 30rpx;
+ color: #2c2c2c;
+}
+.distribution-range .sameCity .sameCity-see {
+ flex: 1;
+ text-align: right;
+ font-size: 24rpx;
+ color: #989898;
+}
+.distribution-range .sameCity .fa-angle-right {
+ padding-left: 16rpx;
+ color: #4e4e4e;
+}
+
+.distribution-cost {
+ padding: 26rpx 31rpx;
+ margin: 20rpx 0;
+ text-align: left;
+ background: #fff;
+}
+.distribution-cost .distribution-time {
+ display: flex;
+ align-items: center;
+}
+.distribution-cost .distribution-time .distribution-time-text {
+ font-size: 28rpx;
+ color: #2c2c2c;
+}
+.distribution-cost .distribution-time .distribution-time-select {
+ flex: 1;
+ text-align: right;
+ font-size: 24rpx;
+ color: #666666;
+}
+.distribution-cost .distribution-time .fa-angle-right {
+ padding-left: 16rpx;
+ color: #4e4e4e;
+}
+
+
+.costSpec {
+ max-height: 912rpx;
+}
+.costSpec .costSpec-title {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ font-size: 36rpx;
+ color: #2a2a2a;
+ font-weight: bold;
+}
+.costSpec .costSpec-container {
+ max-height: 800rpx;
+ padding: 0 39rpx;
+ overflow: auto;
+}
+.costSpec .costSpec-container .costSpec-items {
+ margin-bottom: 41rpx;
+}
+.costSpec .costSpec-container .costSpec-items .costSpec-h2 {
+ margin-bottom: 34rpx;
+ text-align: left;
+ font-size: 30rpx;
+ font-weight: bold;
+ color: #2a2a2a;
+}
+.costSpec .costSpec-container .costSpec-items .costSpec-texts {
+ display: flex;
+ justify-content: space-between;
+ margin-top: 26rpx;
+}
+.costSpec .costSpec-container .costSpec-items .costSpec-texts .costSpec-text {
+ font-size: 26rpx;
+ font-weight: bold;
+ color: #666666;
+}
+.costSpec .costSpec-container .costSpec-items .costSpec-texts .costSpec-text .costSpec-price {
+ color: #f05152;
+}
+
+
+
+.selectCommunity {
+ max-height: 912rpx;
+}
+.selectCommunity .selectCommunity-title {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ font-size: 36rpx;
+ color: #2a2a2a;
+ font-weight: bold;
+}
+.selectCommunity .selectCommunity-container {
+ max-height: 640rpx;
+ padding: 0 39rpx;
+ overflow: auto;
+}
+.selectCommunity .selectCommunity-container .selectCommunity-items {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 32rpx;
+}
+.selectCommunity .selectCommunity-btns {
+ display: flex;
+ align-items: center;
+ height: 160rpx;
+ padding: 0 47rpx;
+}
+.selectCommunity .selectCommunity-btns .selectCommunity-btn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 80rpx;
+ width: 100%;
+ color: #fff;
+ background: #f05354;
+ border-radius: 8rpx;
+}
+
+
+.serviceRegion {
+ max-height: 752rpx;
+ min-height: 480rpx;
+ padding-bottom:32rpx;
+}
+.serviceRegion .serviceRegion-title {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ font-size: 36rpx;
+ color: #2a2a2a;
+ font-weight: bold;
+}
+.serviceRegion .serviceRegion-container {
+ display: flex;
+ flex-wrap: wrap;
+ max-height: 640rpx;
+ overflow: auto;
+ padding-left: 6rpx;
+ padding-right: 29rpx;
+}
+.serviceRegion .serviceRegion-container .serviceRegion-item {
+ display: flex;
+ align-items: center;
+ height: 52rpx;
+ padding: 6rpx 16rpx;
+ margin-left: 23rpx;
+ margin-bottom: 23rpx;
+ font-size: 28rpx;
+ color: #2b2b2b;
+ border-radius: 4rpx;
+ border: solid 2rpx #c5c5c5;
+}
+
+
+
+.nClassOne {
+ height: 96rpx !important;
+ background: #fde4d8;
+}
+.nClassOne .nClassOne_title {
+ color: #e84e40 !important;
+}
+.nClassOne .switchBox {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ position: relative;
+}
+.nClassOne .switchBox van-switch{
+ display: flex;
+ align-items: center;
+}
+.nClassOne .switchBox .switchIcon {
+ position: absolute;
+ right: 16rpx;
+ font-size: 32rpx;
+ color: #e84e40;
+ z-index: 999;
+}
+
+.price_Vip{
+ color: #FD7B0C;
+ text-align: left;
+ font-size: 22rpx;
+}
\ No newline at end of file
diff --git a/packageD/buy/orderPay/orderPay.js b/packageD/buy/orderPay/orderPay.js
new file mode 100644
index 0000000..b86f5a8
--- /dev/null
+++ b/packageD/buy/orderPay/orderPay.js
@@ -0,0 +1,181 @@
+var yz_pay = require("../../../mycomponent/yz_pay/yz_pay");
+
+var app = getApp();
+Page({
+ behaviors: [yz_pay],
+ data: {
+ language: "",
+ isclick: true,
+ order_id: "",
+ store_id: "",
+ orderData: null,
+ balance: 0,
+ payParams: "",
+ info_form: {},
+ order_sn: "",
+ money: "",
+ buttons: [],
+ pay_sn: "订单编号",
+ order_pay_id: "",
+ uid: "",
+ pid: "",
+ status: "",
+
+ //消费红包
+ showPacket: false,
+ redirectData: {},
+ cbHref: {},
+ is_cps: false,
+ senceKey: "",
+ },
+ fromChild(e){
+ if(this.data.money=='0.00') {
+ // 0元
+ this.sureBtn();
+ }else {
+ let datas = e.detail.submitArr;
+ this.confirm(datas);
+ }
+
+ },
+ onClickHide() {
+ this.setData({
+ showPacket: false,
+ });
+ this.toRedirect();
+ },
+ toPacket() {
+ wx.redirectTo({
+ url: "/packageE/ConsumePacket/ConsumePacketSuccess/ConsumePacketSuccess?order_id=" + this.data.order_id.toString(),
+ });
+ },
+
+ confirm(e) {
+ console.log(e);
+ let type = e.value;
+ let btn = e;
+ this.handlePay(btn, type);
+ },
+
+ onLoad: function (options) {
+ var that = this;
+ let syinfo = wx.getLaunchOptionsSync();
+ // 获取场景值
+ this.setData({
+ senceKey: syinfo.scene,
+ });
+ console.log("options:", options);
+ if (options.iscps) {
+ // 如果是聚合cps的话就跳转到卡密页面
+ this.data.is_cps = true;
+ }
+ if (options.name) {
+ that.setData({
+ name: options.name,
+ });
+ }
+ if (options.pid) {
+ that.setData({
+ pid: options.pid,
+ });
+ }
+ if (options.tag) {
+ that.setData({
+ tag: options.tag,
+ });
+ }
+ that.setData({
+ order_id: options.order_id,
+ });
+ if (options.status) {
+ that.setData({
+ status: options.status,
+ });
+ }
+ if (options.store_id) {
+ that.setData({
+ store_id: options.store_id,
+ });
+ }
+ var _url = null;
+ if (options.api) {
+ if (options.api != "order.operation.pay") {
+ _url = app.getNetAddresss(options.api);
+ } else {
+ _url = app.getNetAddresss("order.merge-pay");
+ }
+ } else {
+ _url = app.getNetAddresss("order.merge-pay");
+ }
+
+ // console.log(options)
+ if (options.status && options.status == 2) {
+ // 合并支付
+ if (typeof options.order_id == "string") {
+ _url += "&order_ids=" + options.order_id;
+ } else {
+ _url += "&order_ids=" + JSON.parse(options.order_id).toString();
+ }
+ } else {
+ _url += "&order_ids=" + options.order_id;
+ }
+ app._getNetWork({
+ url: _url,
+ success: function (res) {
+ var _data = res.data.data;
+ console.log("PayResult::::", _data);
+ if (res.data.result == 1) {
+ that.hanleIcon(_data);
+ that.setData({
+ // 购物车ID
+ order_sn: _data.order_pay.pay_sn,
+ balance: _data.member.credit2,
+ money: _data.order_pay.amount.toFixed(2),
+ uid: _data.order_pay.uid,
+ buttons: _data.buttons,
+ min_url: _data.min_redirect_url,
+ });
+ that.data.order_pay_id = _data.order_pay.id; // 支付id
+ if(that.data.buttons && that.data.buttons.length == 0){
+ wx.showToast({ title: '平台未开启任何支付方式,请联系客服', icon: 'none' });
+ }
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: "success",
+ duration: 2000,
+ });
+ console.log("错误", res.data.msg);
+ }
+ },
+ });
+ },
+
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ });
+ // 页面渲染完成
+ },
+ onShow: function () {
+ // 页面显示
+ },
+ onHide: function () {
+ this.data.isPayClick = false;
+ // 页面隐藏
+ },
+ onUnload: function () {
+ // 页面关闭
+ if (this.data.tag == "activity") {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ if(this.data.name == 'Myshaky'){
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ },
+});
diff --git a/packageD/buy/orderPay/orderPay.json b/packageD/buy/orderPay/orderPay.json
new file mode 100644
index 0000000..e6a13ba
--- /dev/null
+++ b/packageD/buy/orderPay/orderPay.json
@@ -0,0 +1,13 @@
+{
+ "navigationBarTitleText": "支付订单",
+ "backgroundColor": "#f8f8f8",
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "van-icon": "../../../dist/icon/index",
+ "pay-keyboard":"/mycomponent/payKeyboard/payKeyboard",
+ "van-radio-group":"/dist/radio-group/index",
+ "van-radio":"/dist/radio/index",
+ "van-button":"/dist/button/index",
+ "yz_pay_buttons":"/mycomponent/yz_pay_buttons/yz_pay_buttons"
+ }
+}
diff --git a/packageD/buy/orderPay/orderPay.wxml b/packageD/buy/orderPay/orderPay.wxml
new file mode 100644
index 0000000..6651583
--- /dev/null
+++ b/packageD/buy/orderPay/orderPay.wxml
@@ -0,0 +1,48 @@
+
+
+ 支付金额
+
+ {{language['money']}}
+ {{money}}
+
+
+ 支付流水号:{{order_sn}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/buy/orderPay/orderPay.wxss b/packageD/buy/orderPay/orderPay.wxss
new file mode 100644
index 0000000..8c542e9
--- /dev/null
+++ b/packageD/buy/orderPay/orderPay.wxss
@@ -0,0 +1,286 @@
+.conZFbtn {
+ width: 80%;
+ height: 90rpx;
+ background-color: #07c160;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 0 auto;
+ margin-top: 30rpx;
+ color: #fff;
+ margin-bottom: 50rpx;
+}
+
+.inputBox {
+ background: #fff;
+ margin: 18rpx 30rpx 20rpx;
+ height: 352rpx;
+ border-radius: 14rpx;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+.inputBox .li {
+ display: flex;
+ flex-flow: nowrap;
+ align-items: center;
+ font-size: 28rpx;
+ height: 93rpx;
+ overflow: hidden;
+ justify-content: space-between;
+ border-bottom: 1rpx solid rgba(244, 244, 244, 1);
+}
+
+.inputBox .li .ll {
+ flex: 1;
+}
+
+.inputBox .li .t1 {
+ margin-left: 21rpx;
+ color: rgba(153, 153, 153, 1);
+}
+
+.inputBox .li .t2 {
+ color: rgba(51, 51, 51, 1);
+ font-size: 36rpx;
+}
+
+.inputBox .li .t3 {
+ margin-right: 21rpx;
+ font-size: 20rpx;
+ color: rgba(51, 51, 51, 1);
+}
+
+.t4 {
+ font-size: 24rpx;
+ color: rgba(153, 153, 153, 1);
+ text-align: center;
+}
+
+.ccjf {
+ text-align: center;
+ margin-top: 15rpx;
+ padding-right: 30rpx;
+ box-sizing: border-box;
+}
+
+.ccjf .t5 {
+ font-size: 36rpx;
+ color: rgba(247, 109, 109, 1);
+}
+
+.ccjf .t6 {
+ font-size: 48rpx;
+ color: rgba(247, 109, 109, 1);
+}
+
+.zfbh {
+ text-align: center;
+}
+
+.zfbh .t7 {
+ font-size: 20rpx;
+ color: rgba(153, 153, 153, 1);
+}
+
+.inputBox .li .rr {
+ text-align: right;
+ flex: 2;
+}
+
+.inputBox .icon {
+ height: 30rpx;
+ display: block;
+ width: 30rpx;
+}
+
+.pay-psw-info {
+ overflow-y: scroll;
+ width: 100vw;
+ height: auto;
+ background: #fff;
+ max-height: 80vh;
+ padding-top: 20rpx;
+}
+
+.pay_content_title {
+ text-align: center;
+ width: 100vw;
+ height: 60rpx;
+ line-height: 60rpx;
+ margin-bottom: 20rpx;
+ font-size: 36rpx;
+}
+
+.pay_content {
+ width: 100vw;
+ height: 100rpx;
+ margin-bottom: 20rpx;
+}
+
+.pay_content_view {
+ width: 100vw;
+ height: 100rpx;
+ border-bottom: 2rpx solid #ddd;
+ border-top: 2rpx solid #ddd;
+ border-right: 2rpx solid #ddd;
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+.ipt_pay {
+ width: 16.27%;
+ height: 100rpx;
+ text-align: center;
+ border-left: 2rpx solid #ddd;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.ipt_pay_p {
+ line-height: 50rpx;
+ height: 50rpx;
+ font-size: 40rpx;
+}
+
+.footer {
+ width: 100vw;
+ font-weight: 600;
+}
+
+.pay_btn {
+ border-top: 2rpx solid #ddd;
+ width: 100vw;
+ height: auto;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.pay_btn .li {
+ width: 33%;
+ height: 96rpx;
+ line-height: 96rpx;
+ text-align: center;
+ background: #fff;
+ font-size: 28rpx;
+ border-right: 2rpx solid #ddd;
+ border-bottom: 2rpx solid #ddd;
+}
+
+.pay_btn .li.b9 .i-keyboard {
+ display: inline-block;
+ color: #333;
+ font-size: 50rpx;
+ margin: 0 !important;
+}
+
+.btna {
+ margin: 0 30rpx;
+ background: #fff;
+ border-radius: 14rpx;
+ overflow: hidden;
+}
+
+.sureBtn {
+ background: #ff5d5c;
+ color: white;
+ width: 85%;
+ margin: 20rpx auto;
+ padding: 14rpx;
+ border-radius: 20rpx;
+ text-align: center;
+ font-size: 32rpx;
+}
+
+.btnaTitle {
+ height: 90rpx;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ font-size: 28rpx;
+ color: rgba(248, 110, 110, 1);
+ font-weight: normal;
+ font-stretch: normal;
+}
+
+.btnaTitle text {
+ width: 6rpx;
+ height: 28rpx;
+ background-color: rgba(248, 112, 112, 1);
+ margin-right: 26rpx;
+}
+
+.btn-area {
+ height: 90rpx;
+ margin-right: 12rpx;
+ margin-left: 8rpx;
+ border-bottom: 1rpx solid rgba(241, 241, 241, 1);
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.dBtn {
+ position: relative;
+}
+
+/* button{
+ font-size: 24rpx;
+ color: rgba(51, 51, 51, 1);
+ height: 90rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin: 0;
+ padding: 0;
+}
+button view{
+ float: left;
+ left: 0;
+}
+button van-icon{
+ float: right;
+ right: 0;
+} */
+icon {
+ font-size: 32rpx;
+ color: #c9c9c9;
+ margin-top: -3rpx;
+ margin-left: 5rpx;
+ margin-right: 28rpx;
+}
+
+.conText {
+ font-size: 24rpx;
+ color: rgba(51, 51, 51, 1);
+}
+
+van-icon {
+ color: rgba(153, 153, 153, 1);
+ margin-right: 13rpx;
+}
+
+.wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 448rpx;
+ height: 576rpx;
+ background-color: #ff504c;
+}
+
+.wrapper .block {
+ width: 448rpx;
+ height: 576rpx;
+ background-color: #ff504c;
+}
+
+.block image {
+ width: 448rpx;
+ height: 576rpx;
+}
diff --git a/packageD/buy/payanother/payanother.js b/packageD/buy/payanother/payanother.js
new file mode 100644
index 0000000..d91ec36
--- /dev/null
+++ b/packageD/buy/payanother/payanother.js
@@ -0,0 +1,187 @@
+var app = getApp();
+Page({
+ data: {
+ language: '',
+ order_id: "",
+ goodList: [],
+ totalNum: 0,
+ totalPrice: '',
+ order_sn: '',
+ orderData: null,
+
+ balance: 0,
+ payParams: '',
+ info_form: {},
+ money: '',
+ buttons: [],
+ pay_sn: '订单编号',
+ order_pay_id: '',
+ uid: '',
+ shareTit: '',
+ shareUrl: '',
+ shareImg: '',
+ shareContent: '',
+
+ },
+
+ getOrderDetail: function() {
+ var that = this;
+ var _url = app.getNetAddresss("order.another-pay-detail");
+ _url += "&order_id=" + that.data.order_id;
+ app._getNetWork({
+ url: _url,
+ success: function(response) {
+ //var _data = res.data.data;
+ if (response.data.result == 1) {
+ // 从另外的接口获取
+ // var totalPrice = 0;
+ // for (var i in response.data.data) {
+ // for (var j in response.data.data[i].has_many_order_goods) {
+ // totalPrice += parseFloat(response.data.data[i].has_many_order_goods[j].price);
+ // }
+ // }
+
+ that.setData({
+ goodList: response.data.data,
+ // totalPrice: totalPrice.toFixed(2),
+ });
+ } else {
+ wx.showToast({
+ title: response.data.msg,
+ icon: 'success',
+ duration: 2000
+ });
+ console.log("错误", response.data.msg);
+ }
+ },
+ fail: function(res) {}
+ });
+ },
+
+ //获取默认分享数据
+ getShareInfo: function() {
+ var that = this;
+ var _url = app.getNetAddresss("member.member.anotherShare");
+ _url += "&order_ids=" + that.data.order_id;
+ app._getNetWork({
+ url: _url,
+ success: function(response) {
+ //var _data = res.data.data;
+ console.log("ressss::::", response);
+ if (response.data.result == 1) {
+ that.setData({
+ shareTit: response.data.data.title,
+ shareUrl: response.data.data.url,
+ shareImg: response.data.data.img,
+ shareContent: response.data.data.content,
+ });
+ } else {
+ wx.showToast({
+ title: response.data.msg,
+ icon: 'success',
+ duration: 2000
+ });
+ console.log("错误", response.data.msg);
+ }
+ },
+ fail: function(res) {}
+ });
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline: function () {
+ var value = wx.getStorageSync('yz_uid');
+ var mid = '';
+ if (value) {
+ mid = value;
+ }
+ return {
+ title: this.data.shareTit,
+ desc: this.data.shareContent,
+ imageUrl: this.data.shareImg,
+ query: 'id=' + this.data.order_id + '&p=' + mid
+ };
+ },
+
+
+ // 分享
+ onShareAppMessage: function() {
+ var value = wx.getStorageSync('yz_uid');
+ var path = '';
+ if (value) {
+ path = value;
+ }
+
+ return {
+ title: this.data.shareTit,
+ desc: this.data.shareContent,
+ imageUrl: this.data.shareImg,
+ path: '/packageD/buy/payanotherDetail/payanotherDetail?id=' + this.data.order_id + '&p=' +path
+ };
+ },
+
+ //获取实付价格
+ getPrice() {
+ var value = wx.getStorageSync('yz_uid');
+ var path = '';
+ if (value) {
+ path = value;
+ }
+ var _url = app.getNetAddresss("order.merge-pay.anotherPayOrder");
+ _url += "&order_ids=" + this.data.order_id;
+ _url += "&pid=" + path;
+ app._getNetWork({
+ url: _url,
+ success: (response) =>{
+ //var _data = res.data.data;
+ // console.log("ressss::::", response);
+ if (response.data.result == 1) {
+ let totalPrice = response.data.data.order_pay.amount;
+ this.setData({
+ totalPrice
+ });
+ } else {
+ wx.showToast({
+ title: response.data.msg,
+ icon: 'success',
+ duration: 2000
+ });
+ console.log("错误", response.data.msg);
+ }
+ },
+ fail: function(res) {}
+ });
+
+ },
+
+ onLoad: function(options) {
+ var that = this;
+ console.log('options:', options);
+ that.setData({
+ order_id: options.order_id
+ });
+
+ this.getOrderDetail();
+ this.getPrice();
+ this.getShareInfo();
+
+ },
+
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ // 页面渲染完成
+ },
+ onShow: function() {
+ // 页面显示
+ },
+ onHide: function() {
+ // 页面隐藏
+ },
+ onUnload: function() {
+ // 页面关闭
+ }
+});
diff --git a/packageD/buy/payanother/payanother.json b/packageD/buy/payanother/payanother.json
new file mode 100644
index 0000000..a363d11
--- /dev/null
+++ b/packageD/buy/payanother/payanother.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "找人代付",
+ "backgroundColor":"#f8f8f8"
+}
\ No newline at end of file
diff --git a/packageD/buy/payanother/payanother.wxml b/packageD/buy/payanother/payanother.wxml
new file mode 100644
index 0000000..e53c135
--- /dev/null
+++ b/packageD/buy/payanother/payanother.wxml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+ 订单信息
+
+
+
+
+
+ {{item.title}}
+ 规格:{{item.goods_option_title}}
+
+
+ {{language['money']}}{{item.goods_price}}
+ x{{item.total}}
+
+
+
+
+
+
+ 合计:
+ {{language['money']}}{{totalPrice}}
+
+
+
+
+
+
+代付留言
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/buy/payanother/payanother.wxss b/packageD/buy/payanother/payanother.wxss
new file mode 100644
index 0000000..bd9d83f
--- /dev/null
+++ b/packageD/buy/payanother/payanother.wxss
@@ -0,0 +1,299 @@
+page {
+ background: #f8f8f8;
+ padding-bottom: 90rpx;
+}
+
+.address {
+ background: #fff;
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.address .l,
+.address .r {
+ width: 50rpx;
+ text-align: center;
+ height: 30rpx;
+}
+
+.address .l {
+ width: 100rpx;
+}
+
+.address .r {
+ width: 70rpx;
+}
+
+.address .l image,
+.address .r image {
+ width: 30rpx;
+ height: 30rpx;
+}
+
+.address .c {
+ font-size: 28rpx;
+ flex: 1;
+}
+
+.address .top {
+ padding-top: 20rpx;
+ display: flex;
+ flex-wrap: wrap;
+ line-height: 40rpx;
+ font-size: 32rpx;
+ font-weight: bold;
+ padding-bottom: 20rpx;
+}
+
+.address .top .phone {
+ margin-left: 20rpx;
+}
+
+.address .bottom {
+ padding: 0rpx 0rpx 20rpx 0rpx;
+ line-height: 25rpx;
+ text-align: justify;
+ font-size: 28rpx;
+}
+
+.goods {
+ background: #fff;
+ border-top: 1rpx solid #d9d9d9;
+ border-bottom: 1rpx solid #d9d9d9;
+ padding: 0rpx 20rpx;
+ position: relative;
+ z-index: 2;
+}
+
+.goods .head {
+ line-height: 60rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.goods .li {
+ border-bottom: 1rpx solid #d9d9d9;
+ display: flex;
+ flex-flow: nowrap;
+ padding: 20rpx 0rpx;
+}
+
+.goods .li image {
+ width: 120rpx;
+ height: 120rpx;
+}
+
+.goods .li .text {
+ padding-left: 20rpx;
+ flex: 1;
+}
+
+.goods .li .t1 {
+ line-height: 40rpx;
+ height: 80rpx;
+ font-size: 28rpx;
+ overflow: hidden;
+}
+
+.goods .li .t2 {
+ line-height: 40rpx;
+ height: 40rpx;
+ color: #888;
+}
+
+.goods .li .num {
+ text-align: right;
+ width: 200rpx;
+ line-height: 40rpx;
+}
+
+.goods .li .n1 {
+ font-size: 28rpx;
+}
+
+.goods .input {
+ padding: 20rpx 0rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.goods .input input {
+ border: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+ padding: 10rpx 20rpx;
+ height: 28rpx;
+ line-height: 28rpx;
+}
+
+.goods .bottom {
+ text-align: right;
+ line-height: 80rpx;
+ font-size: 28rpx;
+}
+
+.goods .bottom .s1 {
+ margin: 0rpx 6rpx;
+ color: #f55955;
+ font-weight: bold;
+}
+
+.goods .bottom .s2 {
+ color: #f55955;
+ font-weight: bold;
+}
+
+.inputBox {
+ background: #fff;
+ padding: 0rpx 20rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ overflow: hidden;
+ margin-top: -3rpx;
+}
+
+.inputBox .li {
+ border-top: 1rpx solid #d9d9d9;
+ margin: 0rpx;
+ display: flex;
+ flex-flow: nowrap;
+ align-items: center;
+ padding: 10rpx 0rpx;
+ font-size: 28rpx;
+ height: 70rpx;
+ overflow: hidden;
+}
+
+.inputBox .li .ll {
+ flex: 1;
+}
+
+.inputBox .li .t1 {
+ margin-right: 10rpx;
+}
+
+.inputBox .li .t2 {
+ margin-right: 10rpx;
+ color: #f22;
+}
+
+.inputBox .li .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.inputBox .icon {
+ height: 30rpx;
+ display: block;
+ width: 30rpx;
+}
+
+.footer {
+ display: flex;
+ flex-wrap: wrap;
+ height: 88rpx;
+ width: 751rpx;
+ margin-left: -1rpx;
+ position: fixed;
+ bottom: -1rpx;
+ left: 0rpx;
+ background: #fff;
+ z-index: 100;
+ border-top: 1rpx solid #d9d9d9;
+}
+
+.footer .radio {
+ width: 200rpx;
+ height: 88rpx;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+}
+
+.footer icon {
+ margin-left: 20rpx;
+ display: inline-block;
+}
+
+.footer .all {
+ margin-left: 20rpx;
+ font-size: 28rpx;
+ color: #666;
+}
+
+.footer .text {
+ flex: 1;
+ height: 88rpx;
+ text-align: right;
+ padding: 10rpx 10rpx;
+}
+
+.footer .text .t1 {
+ line-height: 38rpx;
+}
+
+.footer .text .t2 {
+ font-size: 32rpx;
+ color: #f55955;
+ vertical-align: middle;
+ line-height: 38rpx;
+}
+
+.footer .text .t3 {
+ display: block;
+ line-height: 30rpx;
+ font-size: 22rpx;
+}
+
+.footer .button {
+ width: 250rpx;
+ height: 88rpx;
+ padding: 10rpx;
+ box-sizing: border-box;
+}
+
+.footer .but {
+ width: 100%;
+ line-height: 68rpx;
+ background: #f55955;
+ color: #fff;
+ text-align: center;
+ border-radius: 4rpx;
+}
+
+.takeInput {
+ background: #fff;
+ border-bottom: 1rpx solid #d9d9d9;
+ border-top: 1rpx solid #d9d9d9;
+ padding: 0rpx 20rpx;
+}
+
+.takeInput .border {
+ border-top: 1rpx solid #d9d9d9;
+}
+
+.takeInput .li {
+ height: 88rpx;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ flex-flow: nowrap;
+}
+
+.takeInput .ll {
+ flex: 1;
+ line-height: 88rpx;
+ overflow: hidden;
+}
+
+.takeInput .rr {
+ flex: 1;
+ text-align: right;
+ overflow: hidden;
+}
+
+.anotherPay {
+ width: 70%;
+ margin: auto;
+ margin-top: 10px;
+}
diff --git a/packageD/buy/payanotherDetail/payanotherDetail.js b/packageD/buy/payanotherDetail/payanotherDetail.js
new file mode 100644
index 0000000..cd74b2b
--- /dev/null
+++ b/packageD/buy/payanotherDetail/payanotherDetail.js
@@ -0,0 +1,127 @@
+var yz_pay = require('../../../mycomponent/yz_pay/yz_pay');
+var app = getApp();
+Page({
+ behaviors: [yz_pay],
+ data: {
+ language: '',
+ order_id: "",
+ goodList: [],
+ totalNum: 0,
+ totalPrice: '',
+ order_sn: '',
+ orderData: null,
+
+ balance: 0,
+ payParams: '',
+ info_form: {},
+ money: '',
+ buttons: [],
+ pay_sn: '订单编号',
+ order_pay_id: '',
+ mid: '',
+ payerImg: '',
+ payerName: '',
+ pid: '',
+ },
+
+ confirm(e) {
+ let type = e.currentTarget.dataset.value;
+ let btn = e.currentTarget.dataset.btn;
+ this.handlePay(btn, type);
+ },
+
+ //获取代付会员信息和支付信息
+ getPayerInfo: function() {
+ var that = this;
+ var _url = app.getNetAddresss("order.merge-pay.anotherPayOrder");
+ _url += "&order_ids=" + that.data.order_id + '&mid=' + that.data.mid;
+ _url += '&pid=' + that.data.pid;
+ app._getNetWork({
+ url: _url,
+ success: function(response) {
+ //var _data = res.data.data;
+ if (response.data.result == 1) {
+ var rs = response.data.data;
+ that.setData({
+ payerImg: rs.member.avatar,
+ payerName: rs.member.nickname,
+ order_pay_id: rs.order_pay.id,
+ buttons: rs.buttons,
+ totalPrice:rs.order_pay.amount
+ });
+ } else {
+ wx.showToast({
+ title: response.data.msg,
+ icon: 'none',
+ duration: 2000,
+ success: function() {
+ // wx.reLaunch({
+ // url: '/packageG/index/index'
+ // });
+ },
+ fail: function() {}
+ });
+ console.log("错误", response.data.msg);
+ }
+ },
+ fail: function(res) {}
+ });
+ },
+ getOrderDetail: function() {
+ var that = this;
+ var _url = app.getNetAddresss("order.another-pay-detail");
+ _url += "&order_id=" + that.data.order_id + '&mid=' + that.data.mid;
+ _url += '&pid=' + that.data.pid;
+ app._getNetWork({
+ url: _url,
+ success: function(response) {
+ //var _data = res.data.data;
+ console.log("ressss::::", response);
+ if (response.data.result == 1) {
+ // 从另外的接口获取
+ // var totalPrice = 0;
+ // for (var i in response.data.data) {
+ // for (var j in response.data.data[i].has_many_order_goods) {
+ // totalPrice += parseFloat(response.data.data[i].has_many_order_goods[j].price);
+ // }
+ // }
+
+ that.setData({
+ goodList: response.data.data,
+ // totalPrice: totalPrice.toFixed(2),
+ });
+ } else {
+ wx.showToast({
+ title: response.data.msg,
+ icon: 'none',
+ duration: 2000
+ });
+ console.log("错误", response.data.msg);
+ }
+ },
+ fail: function(res) {}
+ });
+ },
+
+ onLoad: function(options) {
+ var that = this;
+ console.log('options:', options);
+ // mid: options.mid,
+ let _mid = wx.getStorageSync('yz_uid');
+ that.setData({
+ order_id: options.id,
+ mid: _mid,
+ pid: options.p
+ });
+
+ this.getPayerInfo();
+ this.getOrderDetail();
+
+ },
+
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ // 页面渲染完成
+ },
+});
diff --git a/packageD/buy/payanotherDetail/payanotherDetail.json b/packageD/buy/payanotherDetail/payanotherDetail.json
new file mode 100644
index 0000000..82edb7e
--- /dev/null
+++ b/packageD/buy/payanotherDetail/payanotherDetail.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "代付详情",
+ "backgroundColor": "#f8f8f8",
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "pay-keyboard":"/mycomponent/payKeyboard/payKeyboard"
+ }
+}
diff --git a/packageD/buy/payanotherDetail/payanotherDetail.wxml b/packageD/buy/payanotherDetail/payanotherDetail.wxml
new file mode 100644
index 0000000..fba12bf
--- /dev/null
+++ b/packageD/buy/payanotherDetail/payanotherDetail.wxml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+ {{payerName}}
+ 请您帮忙代付一笔订单
+
+
+
+
+
+
+ 付款金额
+ {{language['money']}}{{totalPrice}}
+
+
+
+
+
+
+
+
+ {{item.title}}
+ 规格:{{item.goods_option_title}}
+
+
+ {{language['money']}}{{item.goods_price}}
+ x{{item.total}}
+
+
+
+
+
+
+ 合计:
+ {{language['money']}}{{totalPrice}}
+
+
+
+
+
+
+
+ 好友代付说明
+ 代付前请和好友确认核实订单详情,以免下错订单
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/buy/payanotherDetail/payanotherDetail.wxss b/packageD/buy/payanotherDetail/payanotherDetail.wxss
new file mode 100644
index 0000000..5d78124
--- /dev/null
+++ b/packageD/buy/payanotherDetail/payanotherDetail.wxss
@@ -0,0 +1,387 @@
+page {
+ background: #f8f8f8;
+ padding-bottom: 90rpx;
+}
+
+.address {
+ background: #fff;
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.address .l,
+.address .r {
+ width: 50rpx;
+ text-align: center;
+ height: 30rpx;
+}
+
+.address .l {
+ width: 100rpx;
+}
+
+.address .r {
+ width: 70rpx;
+}
+
+.address .l image,
+.address .r image {
+ width: 30rpx;
+ height: 30rpx;
+}
+
+.address .c {
+ font-size: 28rpx;
+ flex: 1;
+}
+
+.address .top {
+ padding-top: 20rpx;
+ display: flex;
+ flex-wrap: wrap;
+ line-height: 40rpx;
+ font-size: 32rpx;
+ font-weight: bold;
+ padding-bottom: 20rpx;
+}
+
+.address .top .phone {
+ margin-left: 20rpx;
+}
+
+.address .bottom {
+ padding: 0rpx 0rpx 20rpx 0rpx;
+ line-height: 25rpx;
+ text-align: justify;
+ font-size: 28rpx;
+}
+
+.goods {
+ background: #fff;
+ border-bottom: 1rpx solid #d9d9d9;
+ padding: 0rpx 20rpx;
+ position: relative;
+ z-index: 2;
+}
+
+.goods .head {
+ line-height: 60rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.goods .li {
+ border-bottom: 1rpx solid #d9d9d9;
+ display: flex;
+ flex-flow: nowrap;
+ padding: 20rpx 0rpx;
+}
+
+.goods .li image {
+ width: 120rpx;
+ height: 120rpx;
+}
+
+.goods .li .text {
+ padding-left: 20rpx;
+ flex: 1;
+}
+
+.goods .li .t1 {
+ line-height: 40rpx;
+ height: 80rpx;
+ font-size: 28rpx;
+ overflow: hidden;
+}
+
+.goods .li .t2 {
+ line-height: 40rpx;
+ height: 40rpx;
+ color: #888;
+}
+
+.goods .li .num {
+ text-align: right;
+ width: 200rpx;
+ line-height: 40rpx;
+}
+
+.goods .li .n1 {
+ font-size: 28rpx;
+}
+
+.goods .input {
+ padding: 20rpx 0rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.goods .input input {
+ border: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+ padding: 10rpx 20rpx;
+ height: 28rpx;
+ line-height: 28rpx;
+}
+
+.goods .bottom {
+ text-align: right;
+ line-height: 80rpx;
+ font-size: 28rpx;
+}
+
+.goods .bottom .s1 {
+ margin: 0rpx 6rpx;
+ color: #f55955;
+ font-weight: bold;
+}
+
+.goods .bottom .s2 {
+ color: #f55955;
+ font-weight: bold;
+}
+
+.inputBox {
+ background: #fff;
+ padding: 0rpx 20rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ overflow: hidden;
+ margin-top: -3rpx;
+}
+
+.inputBox .li {
+ border-top: 1rpx solid #d9d9d9;
+ margin: 0rpx;
+ display: flex;
+ flex-flow: nowrap;
+ align-items: center;
+ padding: 10rpx 0rpx;
+ font-size: 28rpx;
+ height: 70rpx;
+ overflow: hidden;
+}
+
+.inputBox .li .ll {
+ flex: 1;
+}
+
+.inputBox .li .t1 {
+ margin-right: 10rpx;
+}
+
+.inputBox .li .t2 {
+ margin-right: 10rpx;
+ color: #f22;
+}
+
+.inputBox .li .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.inputBox .icon {
+ height: 30rpx;
+ display: block;
+ width: 30rpx;
+}
+
+.footer {
+ display: flex;
+ flex-wrap: wrap;
+ height: 88rpx;
+ width: 751rpx;
+ margin-left: -1rpx;
+ position: fixed;
+ bottom: -1rpx;
+ left: 0rpx;
+ background: #fff;
+ z-index: 100;
+ border-top: 1rpx solid #d9d9d9;
+}
+
+.footer .radio {
+ width: 200rpx;
+ height: 88rpx;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+}
+
+.footer icon {
+ margin-left: 20rpx;
+ display: inline-block;
+}
+
+.footer .all {
+ margin-left: 20rpx;
+ font-size: 28rpx;
+ color: #666;
+}
+
+.footer .text {
+ flex: 1;
+ height: 88rpx;
+ text-align: right;
+ padding: 10rpx 10rpx;
+}
+
+.footer .text .t1 {
+ line-height: 38rpx;
+}
+
+.footer .text .t2 {
+ font-size: 32rpx;
+ color: #f55955;
+ vertical-align: middle;
+ line-height: 38rpx;
+}
+
+.footer .text .t3 {
+ display: block;
+ line-height: 30rpx;
+ font-size: 22rpx;
+}
+
+.footer .button {
+ width: 250rpx;
+ height: 88rpx;
+ padding: 10rpx;
+ box-sizing: border-box;
+}
+
+.footer .but {
+ width: 100%;
+ line-height: 68rpx;
+ background: #f55955;
+ color: #fff;
+ text-align: center;
+ border-radius: 4rpx;
+}
+
+.takeInput {
+ background: #fff;
+ border-bottom: 1rpx solid #d9d9d9;
+ border-top: 1rpx solid #d9d9d9;
+ padding: 0rpx 20rpx;
+}
+
+.takeInput .border {
+ border-top: 1rpx solid #d9d9d9;
+}
+
+.takeInput .li {
+ height: 88rpx;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ flex-flow: nowrap;
+}
+
+.takeInput .ll {
+ flex: 1;
+ line-height: 88rpx;
+ overflow: hidden;
+}
+
+.takeInput .rr {
+ flex: 1;
+ text-align: right;
+ overflow: hidden;
+}
+
+.anotherPay {
+ width: 70%;
+ margin: auto;
+ margin-top: 10px;
+}
+
+.li image {
+ width: 120rpx;
+ height: 120rpx;
+}
+
+.pay-psw-info {
+ overflow-y: scroll;
+ width: 100vw;
+ height: auto;
+ background: #fff;
+ max-height: 80vh;
+ padding-top: 20rpx;
+}
+
+.pay_content_title {
+ text-align: center;
+ width: 100vw;
+ height: 60rpx;
+ line-height: 60rpx;
+ margin-bottom: 20rpx;
+ font-size: 36rpx;
+}
+
+.pay_content {
+ width: 100vw;
+ height: 100rpx;
+ margin-bottom: 20rpx;
+}
+
+.pay_content_view {
+ width: 100vw;
+ height: 100rpx;
+ border-bottom: 2rpx solid #ddd;
+ border-top: 2rpx solid #ddd;
+ border-right: 2rpx solid #ddd;
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+.ipt_pay {
+ width: 16.27%;
+ height: 100rpx;
+ text-align: center;
+ border-left: 2rpx solid #ddd;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.ipt_pay_p {
+ line-height: 50rpx;
+ height: 50rpx;
+ font-size: 40rpx;
+}
+
+.footer_1 {
+ width: 100vw;
+ font-weight: 600;
+}
+
+.pay_btn {
+ border-top: 2rpx solid #ddd;
+ width: 100vw;
+ height: auto;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.pay_btn .li {
+ width: 33%;
+ height: 96rpx;
+ line-height: 96rpx;
+ text-align: center;
+ background: #fff;
+ font-size: 28rpx;
+ border-right: 2rpx solid #ddd;
+ border-bottom: 2rpx solid #ddd;
+}
+
+.pay_btn .li.b9:active {
+ background: #fff;
+}
+
+.pay_btn .li.b9 {
+ background: #c2c2c2;
+}
diff --git a/packageD/buy/success/success.js b/packageD/buy/success/success.js
new file mode 100644
index 0000000..6390ee1
--- /dev/null
+++ b/packageD/buy/success/success.js
@@ -0,0 +1,79 @@
+var app = getApp();
+
+Page({
+ data: {
+ language: '',
+ },
+ onLoad: function(options) {
+ console.log("ressss::::", 111);
+ var that = this;
+ var _url = "";
+ if (options.mid) {
+ console.log("ressss::::", 2222);
+ _url = app.getNetAddresss("order.another-pay-detail");
+ _url += '&pid=' + options.pid;
+ _url += '&mid=' + options.mid;
+ } else {
+ _url = app.getNetAddresss("order.detail");
+ }
+ _url += "&order_id=" + options.order_id;
+ app._getNetWork({
+ url: _url,
+ success: function(res) {
+ console.log(res);
+ var price = 0;
+ var _data = res.data.data;
+ if (res.data.result == 1) {
+ console.log(res.data.data);
+ //找人代付
+ if (_data instanceof Array) {
+ for (var i in _data) {
+ for (var j in _data[i].has_many_order_goods) {
+ price += parseFloat(_data[i].has_many_order_goods[j].price);
+ }
+ }
+ price = price.toFixed(2);
+ } else {
+ price = _data.price;
+ }
+
+ that.setData({
+ price: price
+ });
+ } else {
+ console.log("错误", res);
+ wx.showToast({
+ title: '系统错误',
+ icon: 'success',
+ duration: 3000
+ });
+ }
+ },
+ fail: function(res) {}
+ });
+ },
+ goto1: function() {
+ wx.reLaunch({
+ url: '/packageG/member_v2/member_v2'
+ });
+ },
+ goto2: function() {
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ },
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ // 页面渲染完成
+ },
+ onShow: function() {
+ // 页面显示
+ },
+ onHide: function() {
+ // 页面隐藏
+ },
+ onUnload: function() {
+ // 页面关闭
+ }
+});
diff --git a/packageD/buy/success/success.json b/packageD/buy/success/success.json
new file mode 100644
index 0000000..12c1e3f
--- /dev/null
+++ b/packageD/buy/success/success.json
@@ -0,0 +1,4 @@
+{
+ "backgroundColor":"#f8f8f8",
+ "navigationBarTitleText": "支付结果"
+}
\ No newline at end of file
diff --git a/packageD/buy/success/success.wxml b/packageD/buy/success/success.wxml
new file mode 100644
index 0000000..a67e7c0
--- /dev/null
+++ b/packageD/buy/success/success.wxml
@@ -0,0 +1,43 @@
+
+
+
+
+
+ 购买成功
+
+ 恭喜您购买成功,我们会尽快为您发货!
+
+
+
+
+
+ 付款金额
+ {{language['money']}}{{price}}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/buy/success/success.wxss b/packageD/buy/success/success.wxss
new file mode 100644
index 0000000..fe9562c
--- /dev/null
+++ b/packageD/buy/success/success.wxss
@@ -0,0 +1,17 @@
+page {
+ background: #f8f8f8;
+}
+
+.weui-msg__icon-area {
+ padding-top: 50rpx;
+ text-align: center;
+}
+
+.weui-msg__text-area {
+ text-align: center;
+}
+
+.weui-btn {
+ padding: 10rpx 0rpx;
+ font-size: 28rpx;
+}
diff --git a/packageD/coupon/coupon_store.js b/packageD/coupon/coupon_store.js
new file mode 100644
index 0000000..28e0a74
--- /dev/null
+++ b/packageD/coupon/coupon_store.js
@@ -0,0 +1,400 @@
+// pages/coupon/coupon_store.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ coupon_list: [],
+ page: 1,
+ goload: true,
+ total_page: 0,
+ loading: true,
+ allLoaded: false,
+ isLoadMore: true,
+ types: [],
+ typesIndex: 0,
+ kFootshow: true,
+ coupon_form: '',
+ visibleIntegralPopup: false,
+ exchangeForm: {},
+ integralPluginName: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this._initData();
+ this._getNetData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({
+ 'language': language.en
+ });
+ },
+ //右下角悬浮按钮
+ gocouponStore() {
+ wx.redirectTo({
+ url: '/packageA/member/coupon_v2/coupon_v2',
+ });
+ },
+ tapurl(e) {
+ console.log(e.currentTarget.dataset.link);
+ let link = e.currentTarget.dataset.link;
+ wx.navigateTo({
+ url: link,
+ });
+ },
+ setTypesIndex(evt) {
+ let index = evt.currentTarget.dataset.index;
+ if (index == this.data.typesIndex) return;
+ this.setData({
+ typesIndex: index
+ });
+ this._getNetData();
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+ this._initData();
+ this._getNetData();
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this._getMoreData(this.data.page);
+ } else {
+ console.log('没有更多数据');
+ // wx.showToast({
+ // title: '没有更多数据',
+ // icon: 'none',
+ // duration: 1000
+ // })
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ _initData() {
+ this.setData({
+ coupon_list: [],
+ page: 1,
+ goload: true,
+ total_page: 0,
+ loading: true,
+ allLoaded: false,
+ isLoadMore: true
+ });
+ },
+ _getNetData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("coupon.member-coupon.coupons-for-member");
+
+ if (app.globalData.store_alone_temp == 1) {
+ // 开启门店独立模块
+ urlStr = app.getNetAddresss("plugin.store-alone-temp.frontend.coupon.coupons-for-member");
+ }
+
+ urlStr += "&page=" + that.data.page;
+ urlStr += "&coupon_type=" + that.data.typesIndex;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data;
+ console.log(myData);
+ for (let i = 0; i < myData.data.data.length; i++) {
+ let couponItem = myData.data.data[i];
+ // 是否显示积分兑换
+ couponItem.isIntegralExchange = (couponItem.is_integral_exchange_coupon != 0) && (couponItem.exchange_coupon_integral > 0);
+
+ if (couponItem.coupon_type_name == '平台商品') {
+ couponItem.type = 1;
+ } else if (couponItem.coupon_type_name == '兑换券') {
+ couponItem.type = 2;
+ } else if (couponItem.coupon_type_name == '分类商品') {
+ couponItem.type = 3;
+ } else if (couponItem.coupon_type_name == '指定商品') {
+ couponItem.type = 4;
+ } else if (couponItem.coupon_type_name == '酒店商品') {
+ couponItem.type = 5;
+ } else if (couponItem.coupon_type_name == '门店商品') {
+ couponItem.type = 6;
+ } else if (couponItem.coupon_type_name == '商品和门店') {
+ couponItem.type = 8;
+ }
+ }
+ that.setData({
+ total_page: res.data.data.last_page,
+ coupon_list: myData.data.data,
+ types: (myData.search_array instanceof Object)?Object.values(myData.search_array):myData.search_array,
+ slide_shows: myData.slide_shows,
+ integralPluginName: myData.integral_plugin_name ? myData.integral_plugin_name : '消费积分'
+ });
+
+ if (that.data.page >= res.data.data.last_page) {
+ that.setData({
+ isLoadMore: false
+ });
+ }
+ if (res.data.coupon_form) {
+ // 插件 领券中心表单
+ that.setData({
+ coupon_form: res.data.coupon_form
+ });
+ }
+ } else {
+ that.setData({
+ coupon_list: res.data
+ });
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1000
+ });
+ }
+ wx.stopPullDownRefresh();
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ selectedcoupon(type_in, item, index) {
+ // 关闭积分兑换
+ if (!item.isIntegralExchange) {
+ if (!app._isTextEmpty(this.data.coupon_form)) {
+ wx.navigateTo({
+ url: '/packageC/diyform/diyform?scene=' + this.data.coupon_form + '&tag=coupon',
+ });
+ return;
+ }
+ if (type_in == 2) {
+ wx.navigateTo({
+ url: '/packageE/team_sell/getCouponShare/getCouponShare?id=' + item.id,
+ });
+ return;
+ }
+ }
+ //领取
+ let that = this;
+ let urlStr = app.getNetAddresss("coupon.member-coupon.get-coupon");
+ urlStr += "&coupon_id=" + item.id;
+
+ if (item.isIntegralExchange && this.data.exchangeForm.couponTotal > 0) {
+ urlStr += "&exchange_total=" + this.data.exchangeForm.couponTotal;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var temp = res.data;
+ let list = that.data.coupon_list;
+ temp.isIntegralExchange = (temp.is_integral_exchange_coupon != 0) && (temp.exchange_coupon_integral > 0);
+ list[index] = temp;
+ for (let i = 0; i < list.length; i++) {
+ if (list[i].coupon_type_name == '平台商品') {
+ list[i].type = 1;
+ } else if (list[i].coupon_type_name == '兑换券') {
+ list[i].type = 2;
+ } else if (list[i].coupon_type_name == '分类商品') {
+ list[i].type = 3;
+ } else if (list[i].coupon_type_name == '指定商品') {
+ list[i].type = 4;
+ } else if (list[i].coupon_type_name == '酒店商品') {
+ list[i].type = 5;
+ } else if (list[i].coupon_type_name == '门店商品') {
+ list[i].type = 6;
+ } else if (list[i].coupon_type_name == '商品和门店') {
+ list[i].type = 8;
+ }
+ }
+ wx.showToast({
+ title: item.isIntegralExchange?'兑换成功':'领取成功',
+ icon: 'none',
+ duration: 1000
+ });
+ that.setData({
+ coupon_list: list
+ });
+ // that._getNetData();
+ } else {
+ wx.showModal({
+ title: res.data.reason?res.msg:'',
+ content: res.data.reason?res.data.reason:res.msg,
+ showCancel: false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ selectedcouponBtn(e) {
+ // let type_in = e.currentTarget.dataset.item.use_type;
+ wx.navigateTo({
+ url: '/packageE/team_sell/getCouponShare/getCouponShare?id=' + item.id,
+ });
+ },
+ _getMoreData(page) {
+ if (this.data.page == this.data.total_page) {
+ this.setData({
+ loading: true,
+ allLoaded: true,
+ isLoadMore: false
+ });
+ return;
+ }
+ var that = this;
+ let urlStr = app.getNetAddresss("coupon.member-coupon.coupons-for-member");
+
+ if (app.globalData.store_alone_temp == 1) {
+ // 开启门店独立模块
+ urlStr = app.getNetAddresss("plugin.store-alone-temp.frontend.coupon.coupons-for-member");
+ }
+
+ if (this.data.page >= this.data.total_page) {
+ that.setData({
+ loading: true,
+ allLoaded: true
+ });
+ return;
+ } else {
+ that.setData({
+ page: this.data.page + 1
+ });
+ urlStr += "&page=" + that.data.page;
+ urlStr += "&coupon_type=" + that.data.typesIndex;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data;
+ for (let i = 0; i < myData.data.data.length; i++) {
+ let couponItem = myData.data.data[i];
+ couponItem.isIntegralExchange = (couponItem.is_integral_exchange_coupon != 0) && (couponItem.exchange_coupon_integral > 0);
+ if (couponItem.coupon_type_name == '平台商品') {
+ couponItem.type = 1;
+ } else if (couponItem.coupon_type_name == '兑换券') {
+ couponItem.type = 2;
+ } else if (couponItem.coupon_type_name == '分类商品') {
+ couponItem.type = 3;
+ } else if (couponItem.coupon_type_name == '指定商品') {
+ couponItem.type = 4;
+ } else if (couponItem.coupon_type_name == '酒店商品') {
+ couponItem.type = 5;
+ } else if (couponItem.coupon_type_name == '门店商品') {
+ couponItem.type = 6;
+ } else if (couponItem.coupon_type_name == '商品和门店') {
+ couponItem.type = 8;
+ }
+ }
+ if (res.data.coupon_form) {
+ // 插件 领券中心表单
+ that.setData({
+ coupon_form: res.data.coupon_form
+ });
+ } else {
+ that.setData({
+ coupon_form: ''
+ });
+ }
+ that.setData({
+ loading: false,
+ allLoaded: false,
+ coupon_list: that.data.coupon_list.concat(myData.data.data),
+ });
+ } else {
+ that.setData({
+ page: that.page - 1,
+ loading: true,
+ allLoaded: true,
+ isLoadMore: false
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ }
+ },
+ claim(evt) {
+ console.log(evt);
+ let index = evt.detail.index;
+ let item = evt.detail.item;
+ let type_in = evt.detail.item.use_type;
+ this.selectedcoupon(type_in, item, index);
+ },
+ tabrshowbtn(e) {
+ let bol = e.detail;
+ if (bol) {
+ this.setData({
+ kFootshow: false
+ });
+ }
+ },
+
+ showIntegralPopup (evt) {
+ let index = evt.detail.index;
+ let item = evt.detail.item;
+ let type_in = evt.detail.item.use_type;
+ let form = {
+ couponTotal: 1,
+ exIntegral: item.exchange_coupon_integral
+ };
+ this.setData({
+ exchangeForm: form,
+ visibleIntegralPopup: true,
+ callbackFn: this.selectedcoupon.bind(this, type_in, item, index)
+ });
+ },
+ // 步进器
+ changeTotal (e) {
+ this.setData({
+ 'exchangeForm.couponTotal': e.detail
+ });
+ },
+
+ cancelExchange () {
+ this.setData({visibleIntegralPopup: false});
+ },
+
+ exchangeCoupon () {
+ if (this.data.exchangeForm.couponTotal <= 0) {
+ return wx.showToast({
+ title: '请输入兑换优惠券的数量!',
+ });
+ }
+ this.data.callbackFn();
+ this.setData({visibleIntegralPopup: false});
+ },
+});
\ No newline at end of file
diff --git a/packageD/coupon/coupon_store.json b/packageD/coupon/coupon_store.json
new file mode 100644
index 0000000..1945b0b
--- /dev/null
+++ b/packageD/coupon/coupon_store.json
@@ -0,0 +1,10 @@
+{
+ "navigationBarTitleText": "领券中心",
+ "enablePullDownRefresh": true,
+ "usingComponents": {
+ "coupon-item":"../mycomponent/coupon_store_item/coupon_store_item",
+ "kFoot": "../../mycomponent/foot/foot",
+ "van-popup": "../../dist/popup/index",
+ "van-stepper": "../../dist/stepper/index"
+ }
+}
diff --git a/packageD/coupon/coupon_store.wxml b/packageD/coupon/coupon_store.wxml
new file mode 100644
index 0000000..71ebe60
--- /dev/null
+++ b/packageD/coupon/coupon_store.wxml
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+
+
+
+
+
+ 我的优惠券
+
+
+
+
+ {{integralPluginName}}兑换优惠券
+
+ 兑换张数
+
+
+
+ 需要{{exchangeForm.couponTotal * exchangeForm.exIntegral}}{{integralPluginName}}
+
+
+ 取消
+ 兑换
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/coupon/coupon_store.wxss b/packageD/coupon/coupon_store.wxss
new file mode 100644
index 0000000..60354f6
--- /dev/null
+++ b/packageD/coupon/coupon_store.wxss
@@ -0,0 +1,252 @@
+/* pages/coupon/coupon_store.wxss */
+page {
+ background: #eee;
+}
+
+.coupon-list {
+ padding: 20rpx;
+ background-color: #fff;
+}
+
+.banner {
+ width: 100%;
+ height: 200px;
+}
+
+.banner swiper {
+ width: 100%;
+ height: 100%;
+}
+
+.banner image {
+ width: 100%;
+ height: 100%;
+}
+
+.coupon_box {
+ margin-bottom: 40rpx;
+ display: flex;
+
+ /* align-items: center; */
+ width: 100%;
+ position: relative;
+}
+
+.coupon_left {
+ padding: 28rpx 0;
+ background-color: #fff;
+
+ /* border-radius: 16rpx; */
+ text-align: center;
+ width: 34%;
+ color: #ffb84c;
+ position: relative;
+}
+
+.coupon_left::before {
+ background: #eee;
+ width: 30rpx;
+ height: 30rpx;
+ position: absolute;
+ content: "";
+ display: block;
+ border-radius: 50%;
+ right: 0;
+ top: -15rpx;
+}
+
+.coupon_left::after {
+ background: #eee;
+ width: 30rpx;
+ height: 30rpx;
+ position: absolute;
+ content: "";
+ display: block;
+ border-radius: 50%;
+ right: 0;
+ bottom: -15rpx;
+}
+
+.left_a {
+ font-size: 56rpx;
+ line-height: 96rpx;
+}
+
+.left_b {
+ font-size: 28rpx;
+ line-height: 48rpx;
+}
+
+.coupon_right {
+ width: 64%;
+ padding: 28rpx 40rpx;
+ background-color: #fff;
+
+ /* border-radius: 16rpx; */
+ position: relative;
+}
+
+.right_a {
+ line-height: 72rpx;
+ color: #333;
+ font-size: 32rpx;
+}
+
+.right_b,
+.right_c {
+ line-height: 36rpx;
+ color: #999;
+ font-size: 24rpx;
+}
+
+.receive {
+ position: absolute;
+ right: 40rpx;
+ width: 90rpx;
+ height: 90rpx;
+ top: 50%;
+ margin-top: -45rpx;
+ border-radius: 50%;
+}
+
+.receivein {
+ position: absolute;
+ right: 40rpx;
+ background: #ffb84c;
+ color: #fff;
+ border: none;
+
+ /* width: 160rpx; */
+ padding: 0;
+ bottom: 40rpx;
+}
+
+.receive.nocou {
+ color: #fff;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/receive.png');
+ background-position: 0 0;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+}
+
+.receive.nocous {
+ color: #fff;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/lootall.png');
+ background-position: 0 0;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+}
+
+.types {
+ width: auto;
+ height: 120rpx;
+ padding: 0 30rpx;
+ display: flex;
+ align-items: center;
+ flex-wrap: nowrap;
+ box-sizing: border-box;
+}
+
+.types .text {
+ padding: 10rpx 20rpx;
+ font-size: 23rpx;
+ letter-spacing: 1rpx;
+ color: #000;
+ background-color: #eeecec;
+ border-radius: 17rpx;
+ margin-left: 12rpx;
+ white-space: nowrap;
+}
+
+.types .text.active {
+ color: #fff;
+ background-color: #4f4f4f;
+}
+
+.types .type_item:last-child {
+ padding-right: 50rpx;
+}
+
+/* ********** */
+.coupon-shop {
+ position: fixed;
+ bottom: 200rpx;
+ right: 38rpx;
+ width: 151rpx;
+ height: 164rpx;
+
+ /* width: 100%;
+ font-size: 32rpx;
+ padding: 20rpx 28rpx;
+ line-height: 92rpx; */
+}
+
+.coupon-shop image {
+ width: 100%;
+ height: 100rpx;
+}
+
+.coupon-shop .text {
+ height: 44rpx;
+ width: 151rpx;
+ background-color: #fb605f;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 15rpx;
+}
+
+.coupon-list {
+ padding-bottom: 200rpx;
+}
+
+/* 积分兑换弹框 */
+.integral-exchange-Popup {
+ width: 80%;
+ text-align: center;
+ font-size: 28rpx;
+ padding: 32rpx 0 0 0;
+}
+.integral-exchange-Popup .counter {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin: 50rpx 0 32rpx 0;
+ padding: 0 50rpx;
+}
+.integral-exchange-Popup .counter .van-stepper__minus {
+ background: #4e4e4e;
+ color: #fff;
+ border-radius: 50%;
+ border: none;
+}
+.integral-exchange-Popup .counter .van-stepper__plus {
+ background-color: #FF5050;
+ color: #fff;
+ border-radius: 50%;
+}
+.integral-exchange-Popup .counter .van-stepper__minus::before {
+ width: 50%;
+ height: 4rpx;
+}
+.integral-exchange-Popup .tips {
+ text-align: left;
+ padding: 0 50rpx;
+}
+.integral-exchange-Popup .red-text {
+ color: #FF6060;
+}
+.integral-exchange-Popup .bottom-btns {
+ display: flex;
+}
+.integral-exchange-Popup .bottom-btns .cancel-btn,
+.integral-exchange-Popup .bottom-btns .exchange-btn {
+ flex: 1;
+ margin-top: 32rpx;
+ padding: 32rpx 0;
+ border: 1rpx solid #dddada;
+}
+.integral-exchange-Popup .bottom-btns .exchange-btn {
+ color: #FF6060;
+}
diff --git a/packageD/coupon_share/coupon_share.js b/packageD/coupon_share/coupon_share.js
new file mode 100644
index 0000000..e3dda81
--- /dev/null
+++ b/packageD/coupon_share/coupon_share.js
@@ -0,0 +1,106 @@
+// packageD/coupon_share/coupon_share.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ orderId: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ orderId: options.orderid,
+ });
+ this.getshare();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline: function () {
+ var value = wx.getStorageSync('yz_uid');
+ var mid = '';
+ if (value) {
+ mid = value;
+ }
+ return {
+ title: this.data.groups_title ? this.data.groups_title : "",
+ query: "id=" + this.data.orderId +"&mid=" + mid,
+ };
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ var value = wx.getStorageSync('yz_uid');
+ var mid = '';
+ if (value) {
+ mid = value;
+ }
+ return {
+ title: this.data.groups_title ? this.data.groups_title : "",
+ path: "/packageD/getCoupon/getCoupon?id=" + this.data.orderId +"&mid=" + mid,
+ };
+ },
+ getshare() {
+ let that = this;
+ let urlStr = app.getNetAddresss("coupon.share-coupon.share");
+ urlStr += "&order_ids=" + that.data.orderId;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ this.setData({
+ allData: res.data,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
diff --git a/packageD/coupon_share/coupon_share.json b/packageD/coupon_share/coupon_share.json
new file mode 100644
index 0000000..aec2f8b
--- /dev/null
+++ b/packageD/coupon_share/coupon_share.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {},
+ "navigationBarTitleText": "分享优惠券"
+}
\ No newline at end of file
diff --git a/packageD/coupon_share/coupon_share.wxml b/packageD/coupon_share/coupon_share.wxml
new file mode 100644
index 0000000..cad32c7
--- /dev/null
+++ b/packageD/coupon_share/coupon_share.wxml
@@ -0,0 +1,15 @@
+
+
+
+ 支付成功
+ 【恭喜获得{{allData. coupon_num}}个红包可分享】
+
+ 快分享给小伙伴看看谁会撞大运
+
+
+ 立即分享
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/coupon_share/coupon_share.wxss b/packageD/coupon_share/coupon_share.wxss
new file mode 100644
index 0000000..7a42a62
--- /dev/null
+++ b/packageD/coupon_share/coupon_share.wxss
@@ -0,0 +1,75 @@
+/* packageD/coupon_share/coupon_share.wxss */
+#share_content .share_bg {
+ width: 690rpx;
+ min-height: 970rpx;
+ margin: 30rpx auto;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/coupon_share_bgimg.png');
+ background-size: cover;
+ background-repeat: no-repeat;
+ padding: 20rpx 0;
+}
+
+#share_content .share_bg .state {
+ line-height: 120rpx;
+ font-size: 24px;
+ color: #f15353;
+ text-align: center;
+}
+
+#share_content .share_bg .pack_share {
+ font-size: 15px;
+ font-weight: bold;
+ text-align: center;
+}
+
+#share_content .share_bg .coupon_bg {
+ height: 550rpx;
+ margin: 0 auto;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/coupon_share.png');
+ background-size: 460rpx;
+ background-position: center;
+ background-repeat: no-repeat;
+}
+
+#share_content .share_bg .share_friend {
+ font-size: 15px;
+ color: #8c8c8c;
+ line-height: 60rpx;
+ margin-bottom: 40rpx;
+ text-align: center;
+}
+
+#share_content .share_bg .share_btn {
+ margin: 0 auto;
+ background: #f15353;
+ border: none;
+ color: #fff;
+ border-radius: 12rpx;
+ width: 480rpx;
+ height: 92rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 16px;
+ position: relative;
+}
+
+#share_content .share_bg .share_btn .icon-coupon-share-left {
+ font-size: 48rpx;
+ margin-right: 40rpx;
+}
+
+#share_content .share_bg .share_btn .icon-coupon-share-right {
+ font-size: 48rpx;
+ margin-left: 40rpx;
+}
+
+.isbtn {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ background: yellowgreen;
+ opacity: 0;
+}
diff --git a/packageD/directSeeding/anchorApply/anchorApply.js b/packageD/directSeeding/anchorApply/anchorApply.js
new file mode 100644
index 0000000..48fd686
--- /dev/null
+++ b/packageD/directSeeding/anchorApply/anchorApply.js
@@ -0,0 +1,623 @@
+// packageD/directSeeding/anchorApply/anchorApply.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ show1: false,
+ show2: false,
+ show3: false,
+ show4: false,
+ show5: false,
+ addressName: "",
+ districtVal: "",
+ popAddAddress: false,
+ strShow: false, //街道显示
+ openDateLw: false,
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ streetShow: false, //街道pop
+ form: {
+ name: "",
+ telephoneNumber: "",
+ addressContent: "",
+ provinceId: "",
+ cityId: "",
+ districtId: "",
+ address: "",
+ streetId: null,
+ remarksContent: "",
+ checked: "",
+ },
+ //协议内容
+ agreementData: "",
+ //主播申请状态
+ status: 1,
+ banner: "",
+ condition: "",
+
+ showBuyGoods: false, //需要购买指定商品才能申请主播
+ showBuyGoodslist: {},
+ currentWordNumber: 0,
+
+ clickTag: false,
+ },
+ telephoneInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.telephoneNumber": val,
+ });
+ },
+ nameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.name": val,
+ });
+ },
+ streetChoose() {
+ if (app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: "none",
+ title: "请先选择所在地区",
+ duration: 1500,
+ });
+ } else {
+ this.setData({
+ streetShow: true,
+ });
+ }
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ //打开地址选择器
+ openDateLwtbtn: function () {
+ this.setData({
+ openDateLw: true,
+ });
+ },
+ onLoad: function (options) {},
+ //关闭取消绑定手机页面
+ show1CloseBtn() {
+ this.setData({
+ show1: false,
+ });
+ },
+ verifyApplyStatus() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.room.verifyApplyStatus"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let status = res.data.status;
+ that.setData({
+ agreementData: res.data.agreement,
+ banner: res.data.banner,
+ });
+ that.setData({
+ status: status,
+ });
+ if (status == 2) {
+ that.setData({
+ show3: true,
+ });
+ }
+ if (status == 3) {
+ that.setData({
+ show5: true,
+ condition: res.data.condition,
+ });
+ }
+ if (status == 4) {
+ that.setData({
+ show3: true,
+ });
+ }
+ if (status == 5) {
+ that.setData({
+ show1: true,
+ });
+ }
+ if (status == 6) {
+ wx.showModal({
+ title: "提示",
+ content: "您需要购买指定的商品才能申请主播!",
+ success(r) {
+ if (r.confirm) {
+ that.setData({
+ showBuyGoodslist: res.data.goods,
+ showBuyGoods: true,
+ });
+ } else if (r.cancel) {
+ console.log("用户点击取消");
+ wx.reLaunch({
+ url: '/packageG/member_v2/member_v2'
+ });
+ }
+ },
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ closedBuyGoodsPopup() {
+ try {
+ wx.navigateBack({
+ delta: 1,
+ });
+ } catch (error) {
+ wx.reLaunch({
+ url: '/packageG/member_v2/member_v2'
+ });
+ }
+ },
+ gotoGoods(e) {
+ this.setData({
+ showBuyGoods: false,
+ });
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + id,
+ });
+ },
+ // 跳转到绑定手机号
+ goEditMobile() {
+ //跳转绑定手机页面
+ wx.navigateTo({
+ url: "/packageA/member/editmobile/editmobile?anchorApply=1",
+ });
+ },
+ //跳转直播首页
+ goLiveList() {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ },
+ //跳转推广申请页
+ goExtensionApply() {
+ wx.navigateTo({
+ url: "/packageA/member/extension/ExtensionApply/ExtensionApply",
+ });
+ },
+ //跳转门店申请
+ goStoreApply() {
+ wx.navigateTo({
+ url: "/packageA/member/storeApply/storeApply",
+ });
+ },
+ //跳转供应商申请
+ goSupplier() {
+ wx.navigateTo({
+ url: "/packageA/member/supplier/supplier",
+ });
+ },
+ //跳转供应商申请
+ gohotel() {
+ wx.navigateTo({
+ url: "/packageA/member/storeApply/storeApply?name=hotelApply",
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: "provinceData",
+ data: province,
+ });
+ wx.setStorage({
+ key: "cityData",
+ data: city,
+ });
+ wx.setStorage({
+ key: "districtData",
+ data: district,
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true,
+ });
+ },
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data,
+ });
+ that.setData({
+ "selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0],
+ });
+ that._getCityData();
+ },
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = "cityData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json,
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1],
+ });
+ that._getDistrictData();
+ },
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ console.log("地区", "_data", _data);
+ console.log(_data);
+ var that = this;
+ var _keyName = "districtData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json,
+ });
+ console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2],
+ });
+ console.log("over", that.data.selectAddressData);
+ },
+ });
+ },
+ //打开地址选择器
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.setData({
+ show1: false,
+ show2: false,
+ show3: false,
+ show4: false,
+ show5: false,
+ });
+ this.verifyApplyStatus();
+ this._initAddressInfo();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2],
+ });
+ this._initAddressInfo();
+ },
+ _closeDateLw: function () {
+ this.setData({
+ openDateLw: false,
+ });
+ },
+ _okAddress: function () {
+ let seleData = this.data.selectAddressData;
+ let addressName =
+ seleData[0].name + " " + seleData[1].name + " " + seleData[2].name;
+ let provinceId = seleData[0].id;
+ let cityId = seleData[1].id;
+ let districtId = seleData[2].id;
+ this.setData({
+ addressName: addressName,
+ "form.provinceId": provinceId,
+ "form.cityId": cityId,
+ "form.districtId": districtId,
+ });
+ this._getStreet(seleData[2].id);
+ this._closeDateLw();
+ },
+ _getStreet(param) {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.memberAddress.street");
+ urlStr += "&district_id=" + param;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ if (!app._isTextEmpty(res.data) && res.data.length > 0) {
+ that.setData({
+ districtVal: res.data,
+ strShow: true,
+ });
+ } else {
+ that.setData({
+ strShow: false,
+ });
+ }
+ } else {
+ that.setData({
+ strShow: false,
+ });
+ }
+ },
+ fail: function (res) {
+ that.setData({
+ strShow: false,
+ });
+ console.log(res);
+ },
+ });
+ },
+ //选择街道
+ streetConfirm(e) {
+ let strname = e.target.dataset.strname;
+ let strid = e.target.dataset.strid;
+ this.setData({
+ "form.street": strname,
+ "form.streetId": strid,
+ streetShow: false,
+ opren: true,
+ });
+ },
+ //关闭选择街道弹窗
+ streetClose: function () {
+ this.setData({
+ streetShow: false,
+ opren: true,
+ });
+ },
+ addressInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "form.addressContent": val,
+ });
+ },
+ remarksInp(e) {
+ let val = e.detail.value;
+ let len = parseInt(val.length);
+ this.setData({
+ "form.remarksContent": val,
+ currentWordNumber: len
+ });
+ },
+ protocolBtn(e) {
+ let val = e.detail;
+ this.setData({
+ "form.checked": val,
+ });
+ },
+ openProtocol() {
+ //申请协议跳转
+ this.setData({
+ show4: true,
+ });
+ },
+ show4CloseBtn() {
+ this.setData({
+ show4: false,
+ });
+ },
+ submit() {
+ if (this.data.clickTag) {
+ return;
+ }
+ let that = this;
+ if (!this.data.form.name) {
+ wx.showToast({
+ title: "请输入您的姓名",
+ icon: "none",
+ duration: 1500,
+ });
+ return false;
+ }
+ if (!this.data.form.telephoneNumber) {
+ wx.showToast({
+ title: "手机号不能为空",
+ icon: "none",
+ duration: 1500,
+ });
+ return false;
+ }
+ if (
+ this.data.form.telephoneNumber &&
+ app._isMoblie(this.data.form.telephoneNumber)
+ ) {
+ wx.showToast({
+ title: "请输入正确的手机号",
+ icon: "none",
+ duration: 1500,
+ });
+ return false;
+ }
+ if (!this.data.addressName) {
+ wx.showToast({
+ title: "请选择收货地址",
+ icon: "none",
+ duration: 1500,
+ });
+ return false;
+ }
+ if (!this.data.form.streetId && this.data.form.streetId != 0 && this.data.strShow) {
+ //零表示其他
+ wx.showToast({
+ title: "请选择街道",
+ icon: "none",
+ duration: 1500,
+ });
+ return false;
+ }
+ if (!this.data.form.addressContent) {
+ wx.showToast({
+ title: "请填写详细的地址",
+ icon: "none",
+ duration: 1500,
+ });
+ return false;
+ }
+ if (!this.data.form.checked) {
+ wx.showToast({
+ title: "请勾选用户协议",
+ icon: "none",
+ duration: 1500,
+ });
+ return false;
+ }
+ that.setData({
+ clickTag: true,
+ });
+ let urlStr = app.getNetAddresss("plugin.room.frontend.room.apply");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ realname: this.data.form.name,
+ mobile: this.data.form.telephoneNumber,
+ provinceId: this.data.form.provinceId,
+ cityId: this.data.form.cityId,
+ districtId: this.data.form.districtId,
+ streetId: this.data.form.streetId,
+ address: this.data.form.addressContent,
+ remark: this.data.form.remarksContent,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ that.setData({
+ clickTag: true,
+ });
+ if (res.result == 1) {
+ if (
+ res.data.jump_min_url != "" && res.data.jump_min_url != null &&
+ res.data.jump_min_url != undefined
+ ) {
+ try {
+ wx.navigateTo({
+ url: res.data.jump_min_url,
+ });
+ return;
+ } catch (err) {
+ console.log(err);
+ }
+ }
+ that.setData({
+ show2: true,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+});
\ No newline at end of file
diff --git a/packageD/directSeeding/anchorApply/anchorApply.json b/packageD/directSeeding/anchorApply/anchorApply.json
new file mode 100644
index 0000000..a5e51b2
--- /dev/null
+++ b/packageD/directSeeding/anchorApply/anchorApply.json
@@ -0,0 +1,11 @@
+{
+ "navigationBarTitleText": "主播申请",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index",
+ "van-checkbox": "../../../../dist/checkbox/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-nav-bar": "../../../dist/nav-bar/index"
+ }
+}
diff --git a/packageD/directSeeding/anchorApply/anchorApply.wxml b/packageD/directSeeding/anchorApply/anchorApply.wxml
new file mode 100644
index 0000000..949ec2b
--- /dev/null
+++ b/packageD/directSeeding/anchorApply/anchorApply.wxml
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+
+
+
+ 申请信息
+
+
+
+
+
+ 姓名*
+
+
+
+
+
+
+
+ 手机号*
+
+
+
+
+
+
+
+ 所在城市*
+
+
+ {{addressName?addressName:'请选择城市'}}
+
+
+
+
+
+ 街道*
+
+
+ {{form.street?form.street:'请选择街道'}}
+
+
+
+
+
+ 详细地址*
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+ 申请成为主播需绑定手机号!
+
+
+
+ 取消
+
+
+
+ 去绑定
+
+
+
+
+
+
+
+
+
+ 提交成功
+ 请等待管理员审核!
+
+ 去直播首页逛逛
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 等待审核
+
+
+ 审核通过
+ 恭喜您成为主播!
+
+
+ 去直播首页逛逛
+
+
+
+
+
+
+ 申请协议
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 申请条件不满足
+ 您不满足申请条件,不能申请成为主播!
+
+
+ 获取申请资格
+
+
+ 成为推广员
+ 前往
+
+
+ 成为门店店主/店员
+ 前往
+
+
+ 成为供应商
+ 前往
+
+
+ 成为酒店店主
+ 前往
+
+
+ 满足其中一种身份即可申请
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
diff --git a/packageD/directSeeding/anchorApply/anchorApply.wxss b/packageD/directSeeding/anchorApply/anchorApply.wxss
new file mode 100644
index 0000000..f206fd3
--- /dev/null
+++ b/packageD/directSeeding/anchorApply/anchorApply.wxss
@@ -0,0 +1,517 @@
+/* packageD/directSeeding/anchorApply/anchorApply.wxss */
+page {
+ background: #fff;
+}
+
+.anchorApply {
+ padding-bottom: 31rpx;
+}
+
+.show_photo {
+ padding-bottom: 30rpx;
+}
+
+.show_photo .img {
+ width: 700rpx;
+ min-height: 320rpx;
+ border-radius: 10rpx;
+ margin: 0 auto;
+}
+
+.show_photo .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.anchorApply .application_information {
+ margin-bottom: 50rpx;
+}
+
+.anchorApply .application_information .tilie {
+ height: 36rpx;
+ padding-left: 25rpx;
+ display: flex;
+ align-items: center;
+}
+
+.anchorApply .application_information .tilie .tilie_left {
+ width: 10rpx;
+ height: 36rpx;
+ background-color: #f40420;
+ border-radius: 5rpx;
+ margin-right: 24rpx;
+}
+
+.anchorApply .application_information .tilie .tilie_right {
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #000;
+}
+
+.anchorApply .application_information .information_list .li {
+ height: 118rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-left: 24rpx;
+ margin-right: 25rpx;
+ border-bottom: 1px solid #ededed;
+}
+
+.anchorApply .application_information .information_list .li .li_left {
+ font-size: 28rpx;
+ color: #000;
+}
+
+.anchorApply .application_information .information_list .li .li_left text {
+ color: #f40420;
+}
+
+.anchorApply .application_information .information_list .li .li_right {
+ display: flex;
+ align-items: center;
+ flex: 1;
+ justify-content: flex-end;
+}
+
+.anchorApply .application_information .information_list .li .li_right input {
+ text-align: right;
+ font-size: 28rpx;
+ color: #666;
+ width: 100%;
+}
+
+.anchorApply .application_information .information_list .li .li_right .message {
+ flex: 1;
+ font-size: 28.17rpx;
+ color: #666;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ margin-right: 23rpx;
+ text-align: right;
+}
+
+.anchorApply .application_information .information_list .li .li_right van-icon {
+ display: flex;
+ align-items: center;
+}
+
+.anchorApply .remarks_information .tilie {
+ height: 36rpx;
+ padding-left: 25rpx;
+ display: flex;
+ align-items: center;
+ margin-bottom: 31rpx;
+}
+
+.anchorApply .remarks_information .tilie .tilie_left {
+ width: 10rpx;
+ height: 36rpx;
+ background-color: #f40420;
+ border-radius: 5rpx;
+ margin-right: 24rpx;
+}
+
+.anchorApply .remarks_information .tilie .tilie_right {
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #000;
+}
+
+.anchorApply .remarks_information .remarks .textarea {
+ margin: 0 auto;
+ box-sizing: border-box;
+ width: 700rpx;
+ height: 200rpx;
+ background-color: #f2f2f7;
+ border-radius: 10rpx;
+ padding: 20rpx 30rpx;
+ position: relative;
+}
+
+.anchorApply .remarks_information .remarks .currentWordNumber {
+ font-size: 28rpx;
+ color: gray;
+ position: absolute;
+ left: 590rpx;
+ bottom: 0;
+}
+
+.anchorApply .remarks_information .user_protocol {
+ display: flex;
+ align-items: center;
+ padding-left: 25rpx;
+ padding-top: 19rpx;
+ font-size: 24rpx;
+}
+
+.anchorApply .remarks_information .user_protocol .us_color {
+ color: #ef3e3e;
+}
+
+.user_protocol {
+ margin-bottom: 41rpx;
+}
+
+.anchorApply .application_agreement .tilie {
+ height: 36rpx;
+ padding-left: 25rpx;
+ display: flex;
+ align-items: center;
+}
+
+.anchorApply .application_agreement .tilie .tilie_left {
+ width: 10rpx;
+ height: 36rpx;
+ background-color: #f40420;
+ border-radius: 5rpx;
+ margin-right: 24rpx;
+}
+
+.anchorApply .application_agreement .tilie .tilie_right {
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #000;
+}
+
+.anchorApply .application_agreement .content {
+ padding: 30rpx;
+}
+
+.anchorApply .submit {
+ width: 700rpx;
+ height: 71rpx;
+ background-color: #ef3e3e;
+ border-radius: 35.5rpx;
+ margin: 0 auto;
+ color: #fff;
+ font-size: 36rpx;
+ line-height: 71rpx;
+ text-align: center;
+}
+
+.mobilebindingTips .tipsTop {
+ line-height: 196rpx;
+ height: 196rpx;
+ text-align: center;
+ font-size: 36rpx;
+ color: #000;
+ border-bottom: 1px solid #e2e2e2;
+}
+
+.mobilebindingTips .tipsBottom {
+ display: flex;
+ align-items: center;
+}
+
+.mobilebindingTips .tipsBottom .tipsBottomLeft {
+ flex: 1;
+ height: 98rpx;
+ line-height: 98rpx;
+ text-align: center;
+ font-size: 36rpx;
+ padding-top: 5rpx;
+}
+
+.mobilebindingTips .tipsBottom .tipsBottomRight {
+ flex: 1;
+ height: 98rpx;
+ line-height: 98rpx;
+ text-align: center;
+ color: #ef3e3e;
+ font-size: 36rpx;
+}
+
+.mobilebindingTips .line {
+ width: 1px;
+ height: 98rpx;
+ background-color: #e2e2e2;
+}
+
+.successfulSubmissionTips .top {
+ padding-top: 44rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.successfulSubmissionTips .title {
+ font-size: 48rpx;
+ color: #000;
+ text-align: center;
+}
+
+.successfulSubmissionTips .tips {
+ font-size: 28rpx;
+ color: #999;
+ text-align: center;
+ padding-bottom: 70rpx;
+}
+
+.successfulSubmissionTips .homepage {
+ width: 408rpx;
+ height: 90rpx;
+ background-color: #fe8a02;
+ border-radius: 45rpx;
+ text-align: center;
+ line-height: 90rpx;
+ color: #fff;
+ font-size: 36rpx;
+ margin: 0 auto;
+}
+
+.applicationContent {
+ padding-top: 29rpx;
+ position: relative;
+}
+
+.applicationContent .top {
+ font-size: 36rpx;
+ line-height: 36rpx;
+ color: #000;
+ text-align: center;
+ margin-bottom: 45rpx;
+}
+
+.applicationContent .bottom {
+ padding-left: 36rpx;
+ padding-right: 36rpx;
+ height: 400rpx;
+ overflow: auto;
+}
+
+.applicationContent .close {
+ position: absolute;
+ width: 28rpx;
+ height: 28rpx;
+ right: 31rpx;
+ top: 26rpx;
+}
+
+.applicationContent .close .img {
+ width: 100%;
+ height: 100%;
+}
+
+.applicationConditions {
+ padding-top: 44rpx;
+}
+
+.applicationConditions .close {
+ width: 110rpx;
+ height: 110rpx;
+ margin: 0 auto;
+ background-color: #afafaf;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 50%;
+}
+
+.applicationConditions .close .iconfont {
+ /* width: 100%;
+ height: 100%; */
+ font-size: 80rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+}
+
+.applicationConditions .center {
+ padding-top: 40rpx;
+ text-align: center;
+}
+
+.applicationConditions .center .title {
+ font-size: 48rpx;
+ line-height: 36rpx;
+ color: #000;
+ margin-bottom: 31rpx;
+}
+
+.applicationConditions .center .tips {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #999;
+}
+
+.applicationConditions .bottom {
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+ padding-top: 26rpx;
+}
+
+.applicationConditions .bottom .title {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #ef3e3e;
+ text-align: center;
+}
+
+.applicationConditions .bottom .ul .li {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 70rpx;
+ padding-left: 38rpx;
+ padding-right: 48rpx;
+}
+
+.applicationConditions .bottom .ul .li .left {
+ height: 70rpx;
+ line-height: 70rpx;
+ font-size: 28rpx;
+ color: #000;
+}
+
+.applicationConditions .bottom .ul .li .right {
+ width: 76rpx;
+ height: 43rpx;
+ background-color: #f49f19;
+ border-radius: 21.5rpx;
+ color: #fff;
+ font-size: 24rpx;
+ line-height: 43rpx;
+ text-align: center;
+}
+
+.applicationConditions .bottom .tips {
+ font-size: 22rpx;
+ color: #b9b9b9;
+ padding-left: 38rpx;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+.BuyGoods-popup-class {
+ width: 576rpx;
+ height: 800rpx;
+ display: flex;
+ flex-direction: column;
+ background: #fff;
+ position: relative;
+ box-sizing: border-box;
+}
+
+.BuyGoods-popup-class .BuyGoods-popup-title {
+ height: 96rpx;
+ line-height: 96rpx;
+ font-size: 32rpx;
+ text-align: center;
+ font-weight: bold;
+ color: #333;
+}
+
+.BuyGoods-popup-class .BuyGoods-popup-title .iconfont {
+ position: absolute;
+ right: 32rpx;
+ top: 0;
+ width: 64rpx;
+ height: 64rpx;
+}
+
+.BuyGoods-popup-class .BuyGoods-popup-text {
+ color: #666;
+ height: 48rpx;
+ line-height: 48rpx;
+ text-align: left;
+ text-indent: 28rpx;
+}
+
+.BuyGoods-popup-class .BuyGoods-popup-list {
+ width: 576rpx;
+ flex: 1;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ padding: 0 20rpx;
+ overflow-y: scroll;
+ box-sizing: border-box;
+}
+
+.BuyGoods-popup-class .BuyGoods-popup-list .BuyGoods-popup-child {
+ width: 256rpx;
+ height: 396rpx;
+ flex-shrink: 0;
+ overflow: hidden;
+ text-align: left;
+ border-radius: 12rpx;
+ margin: 0 0 28rpx;
+ border: 1rpx solid #f5f5f5;
+}
+
+.BuyGoods-popup-class .BuyGoods-popup-list .BuyGoods-popup-child image {
+ width: 256rpx;
+ height: 256rpx;
+}
+
+.BuyGoods-popup-class .BuyGoods-popup-list .BuyGoods-popup-child .BuyGoods-popup-child-title {
+ height: 80rpx;
+ line-height: 32rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ padding: 12rpx;
+ box-sizing: border-box;
+}
+
+.BuyGoods-popup-class .BuyGoods-popup-list .BuyGoods-popup-child .BuyGoods-popup-child-price {
+ color: #f15353;
+ padding: 0 12rpx 12rpx;
+}
+
+/* -------------------------------- */
diff --git a/packageD/directSeeding/anchorDetail/anchorDetail.js b/packageD/directSeeding/anchorDetail/anchorDetail.js
new file mode 100644
index 0000000..1153f78
--- /dev/null
+++ b/packageD/directSeeding/anchorDetail/anchorDetail.js
@@ -0,0 +1,535 @@
+// packageD/directSeeding/anchorDetail/anchorDetail.js
+var app = getApp();
+var colOneHeight = 0;
+var colTwoHeight = 0;
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ recordsList: [],
+ focusBol: true,
+ roomList: [],
+ dataInfo: "",
+ id: "",
+ playBackData: "",
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+
+ activeName:0,
+ videoList: [],
+ activitys1: [],
+ activitys2: [],
+ titleArr: [],
+ dataList:[],
+ showLoading: false,
+ imgCount: 0,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.id) {
+ this.setData({
+ id: options.id,
+ });
+ }
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+ for (let i = 0; i < this.data.roomList.length; i++) {
+ if (this.data.roomList[i].clearTime) {
+ clearTimeout(this.data.roomList[i].clearTime);
+ }
+ }
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ //跳转直播页
+ goPage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ if (status == 3) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=live",
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/foreshow/foreshow?id=" + id,
+ });
+ }
+ },
+ focusBtn() {
+ if (this.data.focusBol) {
+ this.addConcern();
+ } else {
+ this.cancelConcern();
+ }
+ },
+ changeTabs(e){
+ this.setData({
+ activeName: e.currentTarget.dataset.index
+ });
+ this.handleClick();
+ },
+ addConcern() {
+ //添加关注
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.anchor.concern");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ member_id: this.data.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ that.setData({
+ focusBol: false,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ cancelConcern() {
+ //取消关注
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor.cancel-concern"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ member_id: this.data.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ that.setData({
+ focusBol: true,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.anchor.get-anchor");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ member_id: this.data.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let roomData = res.data.room;
+ if (roomData && roomData.length > 0) {
+ let nowTime = new Date().getTime();
+ for (let i = 0; i < roomData.length; i++) {
+ let live_time = roomData[i].live_time;
+ let beginTime = new Date(live_time).getTime() * 1000;
+ roomData[i].day = "00";
+ roomData[i].hou = "00";
+ roomData[i].min = "00";
+ roomData[i].sec = "00";
+ if (nowTime > beginTime) {
+ roomData[i].stop = true;
+ } else {
+ that._countDown(i, roomData[i].live_time);
+ roomData[i].stop = false;
+ }
+ }
+ } else {
+ roomData = [];
+ }
+ that.setData({
+ dataInfo: res.data,
+ roomList: roomData,
+ });
+ console.log(that.data.roomList);
+ if (that.data.dataInfo.is_concern == 1) {
+ that.setData({
+ focusBol: false,
+ });
+ }
+ if (that.data.dataInfo.is_back == 1) {
+ // that.getBack();
+ that.data.titleArr.push({
+ name: "live",
+ title:'直播回放',
+ url: "plugin.room.frontend.anchor.get-back"
+ });
+ }
+ if (res.data.short_video_display) {
+ that.data.titleArr.push({
+ name: "video",
+ title:'短视频',
+ url: "plugin.room.frontend.anchor.get-video"
+ });
+ }
+ that.setData({
+ titleArr: that.data.titleArr
+ });
+ that.data.titleArr.forEach((val, index) => {
+ that.data.dataList.push({
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ list: [],
+ url: val.url
+ });
+ });
+ that.handleClick();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ _countDown: function (index, endTime_1) {
+ let newTime = new Date().getTime();
+ let endTime = new Date(endTime_1).getTime() * 1000;
+ // let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt((time % (60 * 60 * 24)) / 3600);
+ let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
+ let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
+ this.setData({
+ ["roomList[" + index + "].day"]: this._timeFormat(day),
+ ["roomList[" + index + "].hou"]: this._timeFormat(hou),
+ ["roomList[" + index + "].min"]: this._timeFormat(min),
+ ["roomList[" + index + "].sec"]: this._timeFormat(sec),
+ });
+ } else {
+ //活动已结束,全部设置为'00'
+ this.setData({
+ ["roomList[" + index + "].day"]: "00",
+ ["roomList[" + index + "].hou"]: "00",
+ ["roomList[" + index + "].min"]: "00",
+ ["roomList[" + index + "].sec"]: "00",
+ ["roomList[" + index + "].stop"]: false,
+ });
+ }
+ if (endTime - newTime < 0) {
+ this.setData({
+ ["roomList[" + index + "].day"]: "00",
+ ["roomList[" + index + "].hou"]: "00",
+ ["roomList[" + index + "].min"]: "00",
+ ["roomList[" + index + "].sec"]: "00",
+ ["roomList[" + index + "].stop"]: false,
+ });
+ } else {
+ this.data.roomList[index].clearTime = setTimeout(
+ this._countDown.bind(this, index, endTime_1),
+ 1000
+ );
+ }
+ },
+ //小于10的格式化函数
+ _timeFormat(param) {
+ //小于10的格式化函数
+ return param < 10 ? "0" + param : param;
+ },
+ handleClick() {
+ let that = this;
+ if (this.data.dataList[that.data.activeName].list.length>0) {
+ that.data.isLoadMore = this.data.dataList[that.data.activeName].isLoadMore;
+ return;
+ }
+ let urlStr = app.getNetAddresss(that.data.dataList[that.data.activeName].url);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: 1,
+ member_id: this.data.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ ['dataList[' + that.data.activeName + '].isLoadMore']: true,
+ ['dataList[' + that.data.activeName + '].total_page']: res.data.last_page,
+ ['dataList[' + that.data.activeName + '].list']: res.data.data
+ });
+
+ if (that.data.titleArr[that.data.activeName].name == "video") {
+ that.setData({
+ activitys1:[],
+ activitys2: [],
+ videoList: res.data.data
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ //获取更多数据
+ _getMoreData() {
+ const that = this;
+ let json = {};
+ let api = "";
+ let urlStr = "";
+ that.data.isLoadMore = false; // 防止多次请求分页数据
+ that.data.dataList[that.data.activeName].isLoadMore = false;
+
+ if (this.data.dataList[that.data.activeName].page >= this.data.dataList[that.data.activeName].total_page) {
+ return;
+ } else {
+ this.data.dataList[that.data.activeName].page = this.data.dataList[that.data.activeName].page + 1;
+ api = this.data.dataList[that.data.activeName].url;
+ json = {
+ member_id: this.data.id,
+ page: this.data.dataList[that.data.activeName].page,
+ };
+ urlStr = app.getNetAddresss(api);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ showLoading:true,
+ ['dataList[' + that.data.activeName + '].isLoadMore']:true,
+ ['dataList[' + that.data.activeName + '].list']: that.data.dataList[that.data.activeName].list.concat(res.data.data),
+ });
+ // if (that.data.titleArr[that.data.activeName].name == "video") {
+ // that.onImageLoad();
+ // }
+
+ } else {
+ that.setData({
+ ['dataList[' + that.data.activeName + '].isLoadMore']:false,
+ ['dataList[' + that.data.activeName + '].page']:that.data.page - 1,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+ addNotice(e) {
+ let that = this;
+ let _parameter = e.currentTarget.dataset.notice;
+ let index = e.currentTarget.dataset.index;
+ let id = e.currentTarget.dataset.id;
+ let _url = null;
+ if (_parameter == 1) {
+ _url = "plugin.room.frontend.live-list.cancel-notice"; //取消开播提醒
+ } else {
+ _url = "plugin.room.frontend.live-list.play-notice"; //设置开播提醒
+ }
+ let urlStr = app.getNetAddresss(_url);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (_parameter == 1) {
+ that.setData({
+ ["roomList[" + index + "].notice"]: 0,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "已取消提醒",
+ duration: 1500,
+ });
+ } else {
+ that.setData({
+ ["roomList[" + index + "].notice"]: 1,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "已成功订阅",
+ duration: 1500,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ goPlayBackData(e) {
+ let roomid = e.currentTarget.dataset.roomid;
+ let backid = e.currentTarget.dataset.backid;
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ roomid +
+ "&playerType=video" +
+ "&backid=" +
+ backid +
+ "&memberid=" +
+ this.data.id,
+ });
+ },
+ /**
+ * 图片加载函数
+ * 图片加载完成后,根据图片的高度,依次往第一列和第二列中推入数据
+ */
+ onImageLoad (options) {
+ let currentId = options.currentTarget.id;
+ let imageWidth = options.detail.width; // 图片宽度
+ let imageHeight = options.detail.height; // 图片高度
+
+ let activitys = this.data.videoList; // 获取所有的数据资源
+ let activityObj = null;
+ let scle = (imageWidth/imageHeight);
+
+ for (let i = 0; i < activitys.length; i++) {
+ if (activitys[i].video_id == currentId) {
+ activityObj = activitys[i];
+ break;
+ }
+ }
+
+ this.data.imgCount += 1;
+ let activitys1 = this.data.activitys1;
+ let activitys2 = this.data.activitys2;
+
+ if (colOneHeight <= colTwoHeight) {
+ colOneHeight += (176/scle) + 60;
+ activitys1.push(activityObj);
+ } else {
+ colTwoHeight += (176/scle) + 60;
+ activitys2.push(activityObj);
+ }
+ // console.log("activitys1",activitys1,activitys2)
+ let data = {
+ activitys1: activitys1,
+ activitys2: activitys2
+ };
+
+ if (this.data.imgCount >= this.data.videoList.length){
+ this.setData({
+ showLoading : true
+ });
+ }else{
+ this.setData({
+ showLoading : false
+ });
+ }
+
+ this.setData(data);
+ },
+ toVideo(e) {
+ let item = e.currentTarget.dataset.item;
+ let page = this.data.videoList.findIndex((value, index, arr) => {
+ return value.video_id === item.video_id;
+ });
+ page = Math.ceil((page + 1) / 10);
+ wx.navigateTo({
+ url: '/packageC/video_goods/VideoDetail/VideoDetail?vid=' + item.video_id + '&page=' + page
+ });
+ },
+});
diff --git a/packageD/directSeeding/anchorDetail/anchorDetail.json b/packageD/directSeeding/anchorDetail/anchorDetail.json
new file mode 100644
index 0000000..d918f60
--- /dev/null
+++ b/packageD/directSeeding/anchorDetail/anchorDetail.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "主播个人中心",
+ "usingComponents": {}
+}
diff --git a/packageD/directSeeding/anchorDetail/anchorDetail.wxml b/packageD/directSeeding/anchorDetail/anchorDetail.wxml
new file mode 100644
index 0000000..07456c1
--- /dev/null
+++ b/packageD/directSeeding/anchorDetail/anchorDetail.wxml
@@ -0,0 +1,103 @@
+
+
+
+ {{dataInfo.nickname}}{{dataInfo.fan_count}}粉丝
+ {{dataInfo.synopsis||''}}
+ 关注
+ 取消关注
+
+
+
+
+
+
+
+ {{item.status==3?'正在直播':'预告'}}{{item.title}}
+ {{item.view_num?item.view_num:0}}人观看 |
+ {{item.goods_num}}商品
+
+ 等待开播
+ {{item.day}}天{{item.hou}}时{{item.min}}分{{item.sec}}秒
+ {{item.notice==1?'已订阅':'开播提醒'}}
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.view_num}}人观看 | {{item.goods_num}}商品{{item.time}}
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+ {{dataInfo.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+ {{dataInfo.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+ {{dataInfo.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/directSeeding/anchorDetail/anchorDetail.wxss b/packageD/directSeeding/anchorDetail/anchorDetail.wxss
new file mode 100644
index 0000000..bf0972f
--- /dev/null
+++ b/packageD/directSeeding/anchorDetail/anchorDetail.wxss
@@ -0,0 +1,325 @@
+.member-head,
+.see-back,
+.live-list {
+ background: #fff;
+ text-align: left;
+}
+
+.member-head {
+ display: flex;
+ padding: 16rpx;
+ margin-bottom: 16rpx;
+}
+
+.member-head .left {
+ padding: 16rpx;
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+}
+
+.member-head .left .name-box,
+.member-head .left .describe {
+ margin-bottom: 16rpx;
+ display: flex;
+}
+
+.member-head .left .describe {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.member-head .left .name {
+ font-size: 32rpx;
+ font-weight: bold;
+ display: inline-block;
+ max-width: 304rpx;
+}
+
+.member-head .left .fans {
+ color: #ff6e00;
+ font-size: 24rpx;
+ border-radius: 30rpx;
+ border: solid 2rpx #ff6e00;
+ padding: 6.4rpx 16rpx;
+ margin-left: 16rpx;
+}
+
+.member-head .left .describe {
+ font-size: 24rpx;
+ color: #666;
+}
+
+.member-head .left .focus,
+.member-head .left .unfocus {
+ width: 168rpx;
+ line-height: 48rpx;
+ color: #fff;
+ background-color: #f60426;
+ border-radius: 30.016rpx;
+ text-align: center;
+ font-size: 30rpx;
+ font-weight: bold;
+}
+
+.member-head .left .unfocus {
+ background-color: #666;
+}
+
+.member-head .right image {
+ width: 202.016rpx;
+ height: 202.016rpx;
+ border-radius: 50%;
+}
+
+.live-list {
+ padding: 16rpx 25.6rpx 0 25.6rpx;
+}
+
+.live-item {
+ padding: 16rpx 0;
+ border-bottom: 2rpx solid #eee;
+}
+
+.live-item .title {
+ font-weight: bold;
+ margin-bottom: 16rpx;
+}
+
+.live-item .red {
+ border-radius: 30rpx;
+ text-align: center;
+ color: #fff;
+ background-color: #f51534;
+ font-size: 24rpx;
+ padding: 4.8rpx 12.8rpx;
+ margin-right: 16rpx;
+}
+
+.live-item .purple {
+ border-radius: 30rpx;
+ text-align: center;
+ color: #fff;
+ background-color: #8415f5;
+ font-size: 24rpx;
+ padding: 4.8rpx 12.8rpx;
+ margin-right: 16rpx;
+}
+
+.live-item .gray {
+ color: #999;
+ font-size: 24rpx;
+}
+
+.live-item .red-word {
+ font-size: 24rpx;
+ color: #f51534;
+ display: flex;
+}
+
+.live-item .red-word .button {
+ flex: 0 0 128rpx;
+ border: 2rpx solid #f51534;
+ border-radius: 30rpx;
+ text-align: center;
+}
+
+.living-box {
+ background: #fff;
+ margin: 0 25.6rpx;
+ padding-bottom: 32rpx;
+}
+
+.tabs-nav {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+}
+
+.back-head {
+ display: flex;
+ font-size: 32rpx;
+ font-weight: bold;
+ padding: 16rpx 25.6rpx;
+ border-bottom: 2px solid #fff;
+}
+
+.back-head .span {
+ display: inline-block;
+ align-self: center;
+}
+
+.back-head icon {
+ color: #ff6e00;
+ font-size: 60rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+}
+
+.active-tabs {
+ border-bottom: 2px solid #f51534;
+}
+
+.back-head .icon-extension_video {
+ font-size: 48rpx;
+ color: #018cfb;
+}
+
+.living-item {
+ position: relative;
+ margin: 0 auto 16rpx auto;
+}
+
+.living-item .bg {
+ width: 700rpx;
+ height: 320rpx;
+ border-radius: 10.016rpx;
+}
+
+.living-item .top {
+ position: absolute;
+ top: 16rpx;
+ left: 16rpx;
+ color: #fff;
+ display: flex;
+ width: 96%;
+}
+
+.living-item .top .left {
+ background-color: rgba(0, 0, 0, 0.4);
+ padding: 4.8rpx 12.8rpx;
+ border-radius: 20rpx 0rpx 20rpx 0rpx;
+ font-size: 24rpx;
+}
+
+.living-item .top .time {
+ flex: 1;
+ text-align: right;
+ line-height: 40rpx;
+ padding: 4.8rpx 12.8rpx;
+}
+
+.living-item .bottom {
+ width: 95%;
+ position: absolute;
+ bottom: 19.2rpx;
+ left: 16rpx;
+ font-weight: bold;
+ font-size: 32rpx;
+ color: #fff;
+}
+
+.video-list {
+ background-color: #fbfbfb;
+}
+
+.video-list .banner {
+ width: 100%;
+
+ /* height: 320rpx; */
+}
+
+.video-list .load {
+ text-align: center;
+}
+
+.video-list .load image {
+ width: 90rpx;
+}
+
+.video-list {
+ margin: 16rpx;
+ text-align: left;
+}
+
+.video-list .ul {
+ vertical-align: top;
+ display: inline-block;
+ width: 49%;
+
+ /* display: flex; */
+
+ /* flex-wrap: wrap; */
+}
+
+.video-list .Mright {
+ margin-right: 2%;
+}
+
+.video-list .li {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ background-color: #fff;
+ overflow: hidden;
+ border-radius: 12rpx;
+ margin-bottom: 16rpx;
+}
+
+.video-list .play {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+
+.video-list .play image {
+ width: 100%;
+ height: 100%;
+}
+
+.video-list .li:nth-child(odd) {
+ /* margin-right: 16rpx; */
+}
+
+.video-list .p {
+ font-size: 28rpx;
+ color: #333;
+ font-weight: bold;
+ padding: 10rpx 20rpx;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+.video-list .video-img {
+ width: 100%;
+ height: auto;
+}
+
+.video-list .video-img image {
+ width: 100%;
+ height: 100%;
+}
+
+.video-list .people {
+ display: flex;
+ padding: 10rpx;
+}
+
+.video-list .people .img {
+ flex: 0 0 48rpx;
+ width: 48rpx;
+ height: 48rpx;
+ border-radius: 50%;
+ margin: 0 10rpx;
+}
+
+.video-list .people .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.video-list .people .span {
+ flex: 1;
+ line-height: 48rpx;
+ margin: 0 10rpx;
+ font-size: 24rpx;
+ color: #8c8c8c;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+}
diff --git a/packageD/directSeeding/foreshow/foreshow.js b/packageD/directSeeding/foreshow/foreshow.js
new file mode 100644
index 0000000..4c532c6
--- /dev/null
+++ b/packageD/directSeeding/foreshow/foreshow.js
@@ -0,0 +1,1022 @@
+var app = getApp();
+let myCanvasWidth = null;
+let myCanvasHeight = null;
+let unit = "";
+let canvasDpr = 1;
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ Data: {},
+ time: "",
+ Day: "00", //剩余天
+ Hour: "00", //剩余小时
+ Min: "00", //剩余分钟
+ Sec: "00", //剩余秒
+ stop: false, //判断活动是否结束
+ show: false,
+ loadingImg: true,
+ ithumb: "",
+ canvasWidth: "",
+ canvasHeight: "",
+ star_time: "1582963135",
+ end: "",
+ timer: null,
+ info: {},
+ isSetNotice: false,
+ postData: {},
+ room_id: "",
+ shareBol: false,
+ loadingMessage: "海报生成中",
+ // 推广二维码id
+ code_id:'',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getiPnoneBottom();
+ if (options.scene) {
+ let scene = decodeURIComponent(options.scene);
+ if (scene) {
+ var info_arr = [];
+ info_arr = scene.split(",");
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split("=");
+ if (chil_arr[0] == "id") {
+ this.setData({
+ room_id: chil_arr[1],
+ });
+ }else if (chil_arr[0] == "share") {
+ this.setData({
+ shareBol: true,
+ });
+ } else if (chil_arr[0] == "mid") {
+ app._setMid(chil_arr[1]);
+ }
+ }
+ }
+ } else {
+ if(options.cd) {
+ this.setData({
+ code_id : options.cd
+ });
+ }
+ if (options.mid) {
+ app._setMid(options.mid);
+ }
+ if (options.id) {
+ this.setData({
+ room_id: options.id,
+ });
+ }
+ if (options.share) {
+ this.data.shareBol = true;
+ }
+ }
+ wx.getSystemInfo({
+ success: (res) => {
+ canvasDpr = wx.getSystemInfoSync().pixelRatio;
+ if (res.windowWidth * 2 < 750) {
+ unit = res.windowWidth / 620;
+ } else {
+ unit = res.windowWidth / 750;
+ }
+ myCanvasWidth = 620 * canvasDpr * unit;
+ myCanvasHeight = 883 * canvasDpr * unit;
+ this.setData({
+ canvasWidth: parseInt(myCanvasWidth),
+ canvasHeight: parseInt(myCanvasHeight),
+ });
+ },
+ });
+ // this.getAvaterInfo()
+ this.getPoster();
+ this.getData();
+ },
+ getiPnoneBottom() {
+ let that = this;
+ try {
+ var value = wx.getStorageSync("iPhoneBottom");
+ if (value) {
+ that.setData({
+ iPnoneBottomBol: true,
+ });
+ // Do something with return value
+ }
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+ clearTimeout(this.data.timer);
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline: function () {
+ let value = wx.getStorageSync("yz_uid");
+ let mid = "";
+ if (value) {
+ mid = value;
+ }
+ return {
+ title:
+ "欢迎进入" +
+ this.data.postData.nickname +
+ "的" +
+ this.data.info.nickname +
+ "直播间!",
+ query: "id=" + this.data.room_id + "&share=1" + "&mid=" + mid,
+ };
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ var value = wx.getStorageSync("yz_uid");
+ var mid = "";
+ if (value) {
+ mid = value;
+ }
+ return {
+ title:
+ "欢迎进入" +
+ this.data.postData.nickname +
+ "的" +
+ this.data.info.nickname +
+ "直播间!",
+ path:
+ "/packageD/directSeeding/foreshow/foreshow?id=" +
+ this.data.room_id +
+ "&share=1" +
+ "&mid=" +
+ mid,
+ };
+ },
+ showCloseBtn() {
+ this.setData({
+ show: false,
+ });
+ },
+ posterBtn() {
+ this.setData({
+ show: true,
+ });
+ // if (this.data.ithumb){
+
+ // }else{
+ // this.setData({
+ // loadingImg: true
+ // })
+ // wx.showToast({
+ // title: '生成海报中...',
+ // icon: 'none',
+ // duration: 1500
+ // })
+ // }
+ },
+ initData() {
+ this.setData({
+ time: "",
+ Day: "",
+ Hour: "",
+ Min: "",
+ Sec: "",
+ });
+ },
+ checkStart(){
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.room-notice"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.room_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.shareBol && res.data.status == 3) {
+ wx.showModal({
+ title: "提示",
+ content: "主播正在直播中,跳转直播间",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ that.data.room_id +
+ "&playerType=live" + "&cd=" + that.data.code_id,
+ });
+ }
+ },
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ //活动倒计时
+ countdown() {
+ // 当前时间戳
+ const now = Date.parse(new Date()) / 1000;
+ if (this.data.end - now <= 0) {
+ this.setData({
+ stop: true,
+ });
+ // 倒计时结束后请求接口查看是否开播,携带推广id跳转到直播,仅页面有code_id才走下面的方法,不影响原功能
+ if(this.data.code_id){
+ this.checkStart();
+ }
+ return;
+ }
+
+ let msec = 0;
+ if (now >= this.data.star_time) {
+ // 相差的秒数
+ msec = this.data.end - now;
+ } else {
+ msec = this.data.star_time - now;
+ }
+ // 计算的时间
+ let day = parseInt(msec / 60 / 60 / 24);
+
+ let hr = parseInt((msec / 60 / 60) % 24);
+ let min = parseInt((msec / 60) % 60);
+ let sec = parseInt(msec % 60);
+ // 个位数前补零
+ hr = hr > 9 ? hr : "0" + hr;
+ min = min > 9 ? min : "0" + min;
+ sec = sec > 9 ? sec : "0" + sec;
+ // 控制台打印
+ // this.time=`${day}天 ${hr}小时 ${min}分钟 ${sec}秒`
+ this.setData({
+ Day: day,
+ Hour: hr,
+ Min: min,
+ Sec: sec,
+ });
+ // 一秒后递归
+ this.data.timer = setTimeout(() => {
+ this.countdown();
+ }, 1000);
+ },
+ getAvaterInfo() {
+ let statusText =
+ this.data.postData.status == 2
+ ? "预告"
+ : this.data.postData.status == 3
+ ? "直播中 "
+ : "回放";
+ const ctx = wx.createCanvasContext("myCanvas");
+ // 画banner图
+ ctx.fillStyle = "#FFFFFF";
+ ctx.fillRect(0, 0, this.data.canvasWidth, this.data.canvasHeight);
+ let headWH = 56 * canvasDpr * unit;
+ {
+ let avatarurl_width = headWH; //绘制的头像宽度
+ let avatarurl_heigth = headWH; //绘制的头像高度
+ let avatarurl_x = 215 * canvasDpr * unit; //绘制的头像在画布上的位置
+ let avatarurl_y = 23 * canvasDpr * unit; //绘制的头像在画布上的位置
+ ctx.save();
+ ctx.beginPath(); //开始绘制
+ //先画个圆 前两个参数确定了圆心 (x,y) 坐标 第三个参数是圆的半径 四参数是绘图方向 默认是false,即顺时针
+ ctx.arc(
+ avatarurl_width / 2 + avatarurl_x,
+ avatarurl_heigth / 2 + avatarurl_y,
+ avatarurl_width / 2,
+ 0,
+ Math.PI * 2,
+ false
+ );
+ ctx.clip(); //画好了圆 剪切 原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内 这也是我们要save上下文的原因
+ if (this.data.postData.shop_logo) {
+ ctx.drawImage(
+ this.data.postData.shop_logo,
+ avatarurl_x,
+ avatarurl_y,
+ avatarurl_width,
+ avatarurl_heigth
+ ); // 推进去图片,必须是https图片
+ }
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ }
+ ctx.setFontSize(13 * canvasDpr);
+ ctx.setFillStyle("#000");
+ ctx.fillText(
+ this.data.postData.shop_name,
+ 296 * canvasDpr * unit,
+ 60 * canvasDpr * unit
+ );
+ this.drawImg(
+ ctx,
+ 560 * canvasDpr * unit,
+ 440 * canvasDpr * unit,
+ this.data.postData.cover,
+ this.data.postData.imgData.width,
+ this.data.postData.imgData.height,
+ 30 * canvasDpr * unit,
+ 98 * canvasDpr * unit
+ );
+ // ctx.drawImage(this.data.postData.cover, 30 * unit, 98 * unit, 560 * unit, 440 * unit);
+ {
+ let x = 437 * canvasDpr * unit,
+ y = 117 * canvasDpr * unit,
+ w = 127 * canvasDpr * unit,
+ h = 42 * canvasDpr * unit,
+ fillColor = "#ff7200",
+ r = 10 * canvasDpr;
+ // if (2 * r > w || 2 * r > h) {
+ // return false;
+ // }
+ ctx.save();
+ ctx.translate(x, y);
+ //绘制圆角矩形的各个边
+ this.drawRoundRectPath(ctx, w, h, r);
+ ctx.fillStyle = fillColor;
+ ctx.fill();
+ ctx.restore();
+ ctx.setFillStyle("#fff");
+ ctx.setFontSize(14 * canvasDpr);
+ if (statusText.length == 2) {
+ ctx.fillText(
+ statusText,
+ 474 * canvasDpr * unit,
+ 148 * canvasDpr * unit
+ );
+ } else {
+ ctx.fillText(
+ statusText,
+ 460 * canvasDpr * unit,
+ 148 * canvasDpr * unit
+ );
+ }
+ }
+ let headWH_2 = 42 * canvasDpr * unit;
+ {
+ let avatarurl_width = headWH_2; //绘制的头像宽度
+ let avatarurl_heigth = headWH_2; //绘制的头像高度
+ let avatarurl_x = 52 * canvasDpr * unit; //绘制的头像在画布上的位置
+ let avatarurl_y = 117 * canvasDpr * unit; //绘制的头像在画布上的位置
+ ctx.save();
+ ctx.beginPath(); //开始绘制
+ //先画个圆 前两个参数确定了圆心 (x,y) 坐标 第三个参数是圆的半径 四参数是绘图方向 默认是false,即顺时针
+ ctx.arc(
+ avatarurl_width / 2 + avatarurl_x,
+ avatarurl_heigth / 2 + avatarurl_y,
+ avatarurl_width / 2,
+ 0,
+ Math.PI * 2,
+ false
+ );
+ ctx.clip(); //画好了圆 剪切 原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内 这也是我们要save上下文的原因
+ ctx.drawImage(
+ this.data.postData.avatar,
+ avatarurl_x,
+ avatarurl_y,
+ avatarurl_width,
+ avatarurl_heigth
+ ); // 推进去图片,必须是https图片
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ }
+
+ {
+ let text = this.data.postData.nickname; //这是要绘制的文本';
+ let chr = text.split(""); //这个方法是将一个字符串分割成字符串数组
+ let temp = "";
+ let row = [];
+ ctx.setFontSize(28 * canvasDpr * unit);
+ ctx.setFillStyle("#fff");
+ for (let a = 0; a < chr.length; a++) {
+ if (ctx.measureText(temp).width < 160 * canvasDpr) {
+ temp += chr[a];
+ } else {
+ a--; //这里添加了a-- 是为了防止字符丢失,效果图中有对比
+ row.push(temp);
+ temp = "";
+ }
+ }
+ row.push(temp); //如果数组长度大于2 则截取前两个
+ if (row.length > 2) {
+ let rowCut = row.slice(0, 2);
+ let rowPart = rowCut[1];
+ let test = "";
+ let empty = [];
+ for (let a = 0; a < rowPart.length; a++) {
+ if (ctx.measureText(test).width < 306 * canvasDpr * unit) {
+ test += rowPart[a];
+ } else {
+ break;
+ }
+ }
+ empty.push(test);
+ let group = empty[0] + "...";
+ //这里只显示两行,超出的用...表示
+ rowCut.splice(1, 1, group);
+ row = rowCut;
+ }
+ for (let b = 0; b < row.length; b++) {
+ ctx.fillText(
+ row[b],
+ 108 * canvasDpr * unit,
+ 146 * canvasDpr * unit + b * (28 * canvasDpr * unit)
+ );
+ }
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ }
+
+ // ctx.setFontSize(13)
+ // ctx.setFillStyle("#fff")
+ // ctx.fillText(this.data.postData.nickname, 108 * unit, 146 * unit)
+ ctx.save();
+ {
+ let text = this.data.postData.title; //这是要绘制的文本';
+ let chr = text.split(""); //这个方法是将一个字符串分割成字符串数组
+ let temp = "";
+ let row = [];
+ ctx.setFontSize(28 * canvasDpr * unit);
+ ctx.setFillStyle("#333333");
+ for (let a = 0; a < chr.length; a++) {
+ if (ctx.measureText(temp).width < 160 * canvasDpr) {
+ temp += chr[a];
+ } else {
+ a--; //这里添加了a-- 是为了防止字符丢失,效果图中有对比
+ row.push(temp);
+ temp = "";
+ }
+ }
+ row.push(temp); //如果数组长度大于2 则截取前两个
+ if (row.length > 2) {
+ let rowCut = row.slice(0, 2);
+ let rowPart = rowCut[1];
+ let test = "";
+ let empty = [];
+ for (let a = 0; a < rowPart.length; a++) {
+ if (ctx.measureText(test).width < 306 * canvasDpr * unit) {
+ test += rowPart[a];
+ } else {
+ break;
+ }
+ }
+ empty.push(test);
+ let group = empty[0] + "...";
+ //这里只显示两行,超出的用...表示
+ rowCut.splice(1, 1, group);
+ row = rowCut;
+ }
+ for (let b = 0; b < row.length; b++) {
+ ctx.fillText(
+ row[b],
+ 41 * canvasDpr * unit,
+ 620 * canvasDpr * unit + b * (28 * canvasDpr * unit)
+ );
+ }
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ ctx.setFontSize(12 * canvasDpr);
+ ctx.setFillStyle("#ff7200");
+ ctx.fillText(
+ "直播时间 " + this.data.postData.live_time,
+ 36 * canvasDpr * unit,
+ 730 * canvasDpr * unit
+ );
+ }
+ let headWH_3 = 48 * canvasDpr * unit;
+ {
+ let avatarurl_width = headWH_3; //绘制的头像宽度
+ let avatarurl_heigth = headWH_3; //绘制的头像高度
+ let avatarurl_x = 35 * canvasDpr * unit; //绘制的头像在画布上的位置
+ let avatarurl_y = 763 * canvasDpr * unit; //绘制的头像在画布上的位置
+ ctx.save();
+ ctx.beginPath(); //开始绘制
+ //先画个圆 前两个参数确定了圆心 (x,y) 坐标 第三个参数是圆的半径 四参数是绘图方向 默认是false,即顺时针
+ ctx.arc(
+ avatarurl_width / 2 + avatarurl_x,
+ avatarurl_heigth / 2 + avatarurl_y,
+ avatarurl_width / 2,
+ 0,
+ Math.PI * 2,
+ false
+ );
+ ctx.clip(); //画好了圆 剪切 原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内 这也是我们要save上下文的原因
+ ctx.drawImage(
+ this.data.postData.m_avatar,
+ avatarurl_x,
+ avatarurl_y,
+ avatarurl_width,
+ avatarurl_heigth
+ ); // 推进去图片,必须是https图片
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ }
+
+ {
+ let text = this.data.postData.m_nickname + "的分享"; //这是要绘制的文本';
+ let chr = text.split(""); //这个方法是将一个字符串分割成字符串数组
+ let temp = "";
+ let row = [];
+ ctx.setFontSize(28 * canvasDpr * unit);
+ ctx.setFillStyle("#666666");
+ for (let a = 0; a < chr.length; a++) {
+ if (ctx.measureText(temp).width < 160 * canvasDpr) {
+ temp += chr[a];
+ } else {
+ a--; //这里添加了a-- 是为了防止字符丢失,效果图中有对比
+ row.push(temp);
+ temp = "";
+ }
+ }
+ row.push(temp); //如果数组长度大于2 则截取前两个
+ if (row.length > 2) {
+ let rowCut = row.slice(0, 2);
+ let rowPart = rowCut[1];
+ let test = "";
+ let empty = [];
+ for (let a = 0; a < rowPart.length; a++) {
+ if (ctx.measureText(test).width < 306 * canvasDpr * unit) {
+ test += rowPart[a];
+ } else {
+ break;
+ }
+ }
+ empty.push(test);
+ let group = empty[0] + "...";
+ //这里只显示两行,超出的用...表示
+ rowCut.splice(1, 1, group);
+ row = rowCut;
+ }
+ for (let b = 0; b < row.length; b++) {
+ ctx.fillText(
+ row[b],
+ 94 * canvasDpr * unit,
+ 796 * canvasDpr * unit + b * (28 * canvasDpr * unit)
+ );
+ }
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ }
+
+ // ctx.setFontSize(13)
+ // ctx.setFillStyle("#666666")
+ // ctx.fillText(this.data.postData.m_nickname + '的分享', 94 * unit, 796 * unit)
+ ctx.save();
+ ctx.drawImage(
+ this.data.postData.qr_code,
+ 408 * canvasDpr * unit,
+ 581 * canvasDpr * unit,
+ 180 * canvasDpr * unit,
+ 180 * canvasDpr * unit
+ );
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ ctx.setFontSize(12 * canvasDpr);
+ ctx.setFillStyle("#333");
+ ctx.fillText(
+ "长按保存图片",
+ 430 * canvasDpr * unit,
+ 800 * canvasDpr * unit
+ );
+ ctx.draw(false, this.toimage());
+ },
+ drawImg(ctx, cWidth, cHeight, imgPath, imgWidth, imgHeight, x, y) {
+ console.log("cWidth", cWidth);
+ console.log("cHeight", cHeight);
+ console.log("imgWidth", imgWidth);
+ console.log("imgHeight", imgHeight);
+ let dWidth = cWidth / imgWidth; // canvas与图片的宽度比例
+ let dHeight = cHeight / imgHeight; // canvas与图片的高度比例
+ if (
+ (imgWidth > cWidth && imgHeight > cHeight) ||
+ (imgWidth < cWidth && imgHeight < cHeight)
+ ) {
+ if (dWidth > dHeight) {
+ ctx.drawImage(
+ imgPath,
+ 0,
+ (imgHeight - cHeight / dWidth) / 2,
+ imgWidth,
+ cHeight / dWidth,
+ x,
+ y,
+ cWidth,
+ cHeight
+ );
+ } else {
+ ctx.drawImage(
+ imgPath,
+ (imgWidth - cWidth / dHeight) / 2,
+ 0,
+ cWidth / dHeight,
+ imgHeight,
+ x,
+ y,
+ cWidth,
+ cHeight
+ );
+ }
+ } else {
+ if (imgWidth < cWidth) {
+ ctx.drawImage(
+ imgPath,
+ 0,
+ (imgHeight - cHeight / dWidth) / 2,
+ imgWidth,
+ cHeight / dWidth,
+ x,
+ y,
+ cWidth,
+ cHeight
+ );
+ } else {
+ ctx.drawImage(
+ imgPath,
+ (imgWidth - cWidth / dHeight) / 2,
+ 0,
+ cWidth / dHeight,
+ imgHeight,
+ x,
+ y,
+ cWidth,
+ cHeight
+ );
+ }
+ }
+ },
+ drawRoundRectPath(cxt, width, height, radius) {
+ cxt.beginPath(0);
+ //从右下角顺时针绘制,弧度从0到1/2PI
+ cxt.arc(width - radius, height - radius, radius, 0, Math.PI / 2);
+
+ //矩形下边线
+ cxt.lineTo(radius, height);
+
+ //左下角圆弧,弧度从1/2PI到PI
+ cxt.arc(radius, height - radius, radius, Math.PI / 2, Math.PI);
+
+ //矩形左边线
+ cxt.lineTo(0, radius);
+
+ //左上角圆弧,弧度从PI到3/2PI
+ cxt.arc(radius, radius, radius, Math.PI, (Math.PI * 3) / 2);
+
+ //上边线
+ cxt.lineTo(width - radius, 0);
+
+ //右上角圆弧
+ cxt.arc(width - radius, radius, radius, (Math.PI * 3) / 2, Math.PI * 2);
+
+ //右边线
+ cxt.lineTo(width, height - radius);
+ cxt.closePath();
+ },
+ toimage() {
+ wx.hideLoading();
+ this.setData({
+ showBtn: true,
+ });
+ let that = this;
+ setTimeout(() => {
+ wx.canvasToTempFilePath({
+ x: 0,
+ y: 0,
+ width: this.data.canvasWidth,
+ height: this.data.canvasHeight,
+ destWidth: this.data.canvasWidth * 4,
+ destHeight: this.data.canvasHeight * 4,
+ canvasId: "myCanvas",
+ success: function (res) {
+ console.log(res);
+ var tempFilePath = res.tempFilePath;
+ that.setData({
+ ithumb: tempFilePath,
+ loadingImg: false,
+ });
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }, 1500);
+ },
+ saveShareImg: function () {
+ wx.showLoading({
+ title: "保存中",
+ });
+ wx.canvasToTempFilePath({
+ x: 0,
+ y: 0,
+ width: this.data.canvasWidth,
+ height: this.data.canvasHeight,
+ destWidth: this.data.canvasWidth * 4,
+ destHeight: this.data.canvasHeight * 4,
+ canvasId: "myCanvas",
+ success: function (res) {
+ console.log(res);
+ wx.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success(result) {
+ wx.showToast({
+ title: "图片保存成功",
+ icon: "success",
+ duration: 2000,
+ });
+ },
+ fail: (res) => {
+ wx.hideLoading();
+ },
+ });
+ },
+ });
+ },
+ getPoster() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live-list.room-post");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.room_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ postData: res.data,
+ });
+ that.downImg();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ //预先下载图片数据
+ downImg() {
+ let that = this;
+ if (this.data.postData.avatar) {
+ wx.downloadFile({
+ url: this.data.postData.avatar, // 服务器返回的图片地址
+ success: (res) => {
+ that.setData({
+ "postData.avatar": res.tempFilePath,
+ });
+ if (that.data.postData.cover) {
+ wx.downloadFile({
+ url: that.data.postData.cover, // 服务器返回的图片地址
+ success: (res) => {
+ that.setData({
+ "postData.cover": res.tempFilePath,
+ });
+ // 获取图片信息
+ wx.getImageInfo({
+ src: that.data.postData.cover,
+ success(res) {
+ that.setData({
+ "postData.imgData": res,
+ });
+ if (that.data.postData.m_avatar) {
+ wx.downloadFile({
+ url: that.data.postData.m_avatar, // 服务器返回的图片地址
+ success: (res) => {
+ that.setData({
+ "postData.m_avatar": res.tempFilePath,
+ });
+ if (that.data.postData.qr_code) {
+ wx.downloadFile({
+ url: that.data.postData.qr_code, // 服务器返回的图片地址
+ success: (res) => {
+ that.setData({
+ "postData.qr_code": res.tempFilePath,
+ });
+ if (that.data.postData.shop_logo) {
+ wx.downloadFile({
+ url: that.data.postData.shop_logo, // 服务器返回的图片地址
+ success: (res) => {
+ that.setData({
+ "postData.shop_logo": res.tempFilePath,
+ });
+ that.getAvaterInfo();
+ },
+ fail: function (res) {
+ that.setData({
+ loadingMessage:
+ "海报生成失败,商城图标下载失败",
+ });
+ // 失败回调
+ console.log(res, "失败");
+ },
+ });
+ } else {
+ that.setData({
+ "postData.shop_logo": "",
+ });
+ that.getAvaterInfo();
+ }
+ },
+ fail: function (res) {
+ // 失败回调
+ console.log(res, "失败");
+ that.setData({
+ loadingMessage:
+ "海报生成失败,小程序二维码下载失败",
+ });
+ },
+ });
+ }
+ },
+ fail: function (res) {
+ // 失败回调
+ that.setData({
+ loadingMessage:
+ "海报生成失败,用户头像图片下载失败",
+ });
+ console.log(res, "失败");
+ },
+ });
+ }
+ },
+ });
+ // res.tempFilePath是网络图片的本地地址
+ },
+ fail: function (res) {
+ // 失败回调
+ that.setData({
+ loadingMessage: "海报生成失败,直播封面图片下载失败",
+ });
+ console.log(res, "失败");
+ },
+ });
+ }
+ // res.tempFilePath是网络图片的本地地址
+ },
+ fail: function (res) {
+ that.setData({
+ loadingMessage: "海报生成失败,主播头像图片下载失败",
+ });
+ // 失败回调
+ console.log(res, "失败");
+ },
+ });
+ }
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.room-notice"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.room_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let anchor_member_id = res.data.anchor_member_id;
+ if (that.data.shareBol && res.data.status == 3) {
+ wx.showModal({
+ title: "提示",
+ content: "主播正在直播中,跳转直播间",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ that.data.room_id +
+ "&playerType=live",
+ });
+ }
+ },
+ });
+ } else if (that.data.shareBol && res.data.status == 4) {
+ wx.showModal({
+ title: "提示",
+ content: "直播已经结束,跳转该主播页面",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url:
+ "/packageD/directSeeding/anchorDetail/anchorDetail?id=" +
+ anchor_member_id,
+ });
+ }
+ },
+ });
+ }
+ that.setData({
+ info: res.data,
+ end: res.data.live_time,
+ isSetNotice: res.data.notice == 1 ? true : false, //是否已订阅开播提醒
+ });
+ that.countdown();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ showToastBtn() {
+ let that = this;
+ let _url = null;
+ let _parameter = this.data.isSetNotice;
+ if (_parameter == 1) {
+ _url = "plugin.room.frontend.live-list.cancel-notice"; //取消开播提醒
+ } else {
+ _url = "plugin.room.frontend.live-list.play-notice"; //设置开播提醒
+ }
+ let urlStr = app.getNetAddresss(_url);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.room_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (_parameter == 1) {
+ that.setData({
+ isSetNotice: 0,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "已取消提醒",
+ duration: 1500,
+ });
+ } else {
+ that.setData({
+ isSetNotice: 1,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "已成功订阅",
+ duration: 1500,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+});
diff --git a/packageD/directSeeding/foreshow/foreshow.json b/packageD/directSeeding/foreshow/foreshow.json
new file mode 100644
index 0000000..24da328
--- /dev/null
+++ b/packageD/directSeeding/foreshow/foreshow.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "直播预告",
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index"
+ }
+}
diff --git a/packageD/directSeeding/foreshow/foreshow.wxml b/packageD/directSeeding/foreshow/foreshow.wxml
new file mode 100644
index 0000000..123b14e
--- /dev/null
+++ b/packageD/directSeeding/foreshow/foreshow.wxml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+ {{info.nickname}}
+
+ 分享
+ 生成海报
+
+
+
+
+ 距离开播仅剩:
+
+ {{ Day }}天 {{ Hour }}时
+ {{ Min }}分{{ Sec }}秒
+
+ 已开播
+
+
+
+ 敬 请 期 待
+
+
+ {{isSetNotice?'已订阅':'开播提醒'}}
+
+
+
+
+
diff --git a/packageD/directSeeding/foreshow/foreshow.wxss b/packageD/directSeeding/foreshow/foreshow.wxss
new file mode 100644
index 0000000..a18dd3c
--- /dev/null
+++ b/packageD/directSeeding/foreshow/foreshow.wxss
@@ -0,0 +1,300 @@
+page {
+ width: 100%;
+ height: 100%;
+}
+
+.foreshow {
+ width: 100%;
+ height: 100%;
+ position: relative;
+}
+
+.header {
+ width: 100%;
+ height: 100%;
+
+ /* filter: blur(6rpx); */
+}
+
+.title {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ display: flex;
+ color: #fff;
+ font-size: 34rpx;
+ font-weight: bold;
+ padding: 16rpx;
+}
+
+.title span {
+ width: 80%;
+ line-height: 64rpx;
+}
+
+.title icon {
+ font-weight: bold;
+ font-size: 36rpx;
+ flex: 0 0 10%;
+ line-height: 64rpx;
+}
+
+.content {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 70%;
+ background: #fff;
+ border-radius: 48rpx 48rpx 0 0;
+}
+
+.member-head {
+ display: flex;
+ padding: 32rpx;
+}
+
+.member-head .left {
+ width: 128rpx;
+ height: 128rpx;
+}
+
+.member-head .left image {
+ height: 100%;
+ width: 100%;
+ border-radius: 50%;
+}
+
+.member-head .name {
+ font-weight: bold;
+ font-size: 32rpx;
+ text-align: left;
+}
+
+.member-head .right {
+ margin-left: 16rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ padding: 6.4rpx 0;
+}
+
+.member-head .share {
+ background-color: #ff7e00;
+ color: #fff;
+ border-radius: 30rpx;
+ padding: 6.4rpx 19.2rpx;
+}
+
+.member-head .build {
+ background-color: #6105de;
+ color: #fff;
+ border-radius: 30rpx;
+ padding: 6.4rpx 16rpx;
+ margin-left: 16rpx;
+}
+
+.number_time {
+ margin: 48rpx auto;
+ align-items: center;
+ background-size: 720rpx 206rpx;
+ color: #333;
+ font-size: 28rpx;
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+ font-weight: bold;
+}
+
+.number_time .active_time {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.number_time .active_time .span {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-weight: bold;
+ background-color: #e71a1a;
+ color: #fff;
+ border-radius: 10rpx;
+ min-width: 50rpx;
+ height: 50rpx;
+ line-height: 50rpx;
+}
+
+.number_time .active_time .em {
+ font-weight: bold;
+ display: inline-block;
+ padding: 0 16rpx;
+}
+
+.button {
+ border: 2rpx solid #e71a1a;
+ color: #e71a1a;
+ width: 480rpx;
+ height: 96rpx;
+ border-radius: 23.488rpx;
+ text-align: center;
+ margin: 0 auto;
+ line-height: 96rpx;
+ font-size: 34rpx;
+ font-weight: bold;
+}
+
+.foreshow .tipstype {
+ height: 36rpx;
+ display: flex;
+ justify-content: space-evenly;
+ align-items: center;
+ line-height: 36rpx;
+ color: #000;
+ font-size: 24rpx;
+ margin-bottom: 51rpx;
+}
+
+.foreshow .tipstype .left,
+.foreshow .tipstype .right {
+ width: 200rpx;
+ height: 1px;
+ background-color: rgba(0, 0, 0, 0.2);
+}
+
+.popup-box {
+ width: 620rpx;
+ height: 864rpx;
+ background-color: transparent;
+}
+
+.code {
+ background-color: #fff;
+ border-radius: 40rpx;
+}
+
+.bg {
+ width: 620rpx;
+ height: 450.016rpx;
+ border-top-left-radius: 40rpx;
+ border-top-right-radius: 40rpx;
+}
+
+.tips {
+ font-weight: bold;
+ font-size: 28rpx;
+ width: 416rpx;
+ margin-left: 192rpx;
+ text-align: left;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.avatar {
+ position: absolute;
+ top: 416rpx;
+ left: 32rpx;
+ width: 128rpx;
+ height: 128rpx;
+ background-color: #fff;
+ border-radius: 50%;
+}
+
+.avatar image {
+ width: 112rpx;
+ height: 112rpx;
+ margin: 8rpx;
+ border-radius: 50%;
+}
+
+.bottom {
+ display: flex;
+ color: #999;
+ padding: 32rpx;
+}
+
+.bottom image {
+ flex: 0 0 144rpx;
+ width: 144rpx;
+ height: 144rpx;
+}
+
+.close {
+ position: absolute;
+ bottom: -108rpx;
+ left: 50%;
+ transform: translateX(-50%);
+ width: 63.008rpx;
+ height: 63.008rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 1px solid #fff;
+ border-radius: 50%;
+}
+
+.close .iconfont {
+ font-size: 40rpx;
+ display: flex;
+ align-items: center;
+ color: #fff;
+}
+
+.code_box {
+ width: 460rpx;
+
+ /* height: 970rpx; */
+
+ /* position: absolute;
+ left: 50%; */
+ display: block;
+ margin: 0 auto 90rpx;
+ border-radius: 12rpx;
+}
+
+.code_box image {
+ width: 100%;
+ border-radius: 12rpx;
+}
+
+.posterPopup_style .icon_btn {
+ width: 100%;
+ position: relative;
+
+ /* height: 120rpx; */
+ background: #fff;
+ text-align: center;
+ display: flex;
+ justify-content: space-around;
+}
+
+.posterPopup_style .icon_btn .box {
+ width: 50%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+ padding: 20rpx 0;
+ position: relative;
+}
+
+.posterPopup_style .icon_btn image {
+ width: 80rpx;
+ height: 80rpx;
+ margin-bottom: 8rpx;
+}
+
+.posterPopup_style .icon_close {
+ width: 100%;
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ background: #efefef;
+ color: #333;
+ font-size: 32rpx;
+}
diff --git a/packageD/directSeeding/helperLiveList/helperLiveList.js b/packageD/directSeeding/helperLiveList/helperLiveList.js
new file mode 100644
index 0000000..6784e75
--- /dev/null
+++ b/packageD/directSeeding/helperLiveList/helperLiveList.js
@@ -0,0 +1,400 @@
+// packageD/directSeeding/anchor_assistant/anchor_assistant.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ aideList: [],
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.geTaideList();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+ geTaideList() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.get-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: this.data.page,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let roomData = res.data.data;
+ if (roomData && roomData.length > 0) {
+ let nowTime = new Date().getTime();
+ for (let i = 0; i < roomData.length; i++) {
+ let live_time = roomData[i].live_time;
+ let beginTime = new Date(live_time).getTime() * 1000;
+ roomData[i].day = "00";
+ roomData[i].hou = "00";
+ roomData[i].min = "00";
+ roomData[i].sec = "00";
+ roomData[i].bol = true;
+ roomData[i].launch_date = that.formatDate(roomData[i].live_time);
+ if (nowTime > beginTime) {
+ roomData[i].stop = true;
+ } else {
+ that._countDown(i, roomData[i].live_time);
+ roomData[i].stop = false;
+ }
+ let back_open = roomData[i].back_open;
+ if (
+ Object.prototype.toString.call(back_open) == "[object Boolean]"
+ ) {
+ roomData[i].show = true;
+ } else {
+ roomData[i].show = false;
+ }
+ }
+ } else {
+ roomData = [];
+ }
+
+ that.setData({
+ aideList: roomData,
+ total_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ //小于10的格式化函数
+ _timeFormat(param) {
+ //小于10的格式化函数
+ return param < 10 ? "0" + param : param;
+ },
+ _countDown: function (index, endTime_1) {
+ let newTime = new Date().getTime();
+ let endTime = new Date(endTime_1).getTime() * 1000;
+ // let obj = null;
+ if (endTime - newTime > 0) {
+ let time = (endTime - newTime) / 1000;
+ // 获取天、时、分、秒
+ let day = parseInt(time / (60 * 60 * 24));
+ let hou = parseInt((time % (60 * 60 * 24)) / 3600);
+ let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
+ let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
+ this.setData({
+ ["aideList[" + index + "].day"]: this._timeFormat(day),
+ ["aideList[" + index + "].hou"]: this._timeFormat(hou),
+ ["aideList[" + index + "].min"]: this._timeFormat(min),
+ ["aideList[" + index + "].sec"]: this._timeFormat(sec),
+ });
+ } else {
+ //活动已结束,全部设置为'00'
+ this.setData({
+ ["aideList[" + index + "].day"]: "00",
+ ["aideList[" + index + "].hou"]: "00",
+ ["aideList[" + index + "].min"]: "00",
+ ["aideList[" + index + "].sec"]: "00",
+ ["aideList[" + index + "].stop"]: false,
+ });
+ }
+ if (endTime - newTime < 0) {
+ this.setData({
+ ["aideList[" + index + "].day"]: "00",
+ ["aideList[" + index + "].hou"]: "00",
+ ["aideList[" + index + "].min"]: "00",
+ ["aideList[" + index + "].sec"]: "00",
+ ["aideList[" + index + "].stop"]: false,
+ });
+ } else {
+ this.data.aideList[index].clearTime = setTimeout(
+ this._countDown.bind(this, index, endTime_1),
+ 1000
+ );
+ }
+ },
+ formatDate(timestamp) {
+ var now = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
+ var year = now.getFullYear();
+ var month = now.getMonth() + 1;
+ var date = now.getDate();
+ var hour = now.getHours();
+ var minute = now.getMinutes();
+ var second = now.getSeconds();
+ return (
+ year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second
+ );
+ },
+ //获取更多数据
+ getMoreData() {
+ const that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.get-list"
+ );
+ that.data.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: this.data.page,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoadMore: true,
+ });
+ let aideList = that.data.aideList.concat(res.data.data);
+ let nowTime = new Date().getTime();
+ for (let i = 0; i < aideList.length; i++) {
+ if (!aideList[i].bol) {
+ let live_time = aideList[i].live_time;
+ let beginTime = new Date(live_time).getTime() * 1000;
+ aideList[i].day = "00";
+ aideList[i].hou = "00";
+ aideList[i].min = "00";
+ aideList[i].sec = "00";
+ aideList[i].bol = true;
+ aideList[i].launch_date = that.formatDate(
+ aideList[i].live_time
+ );
+ if (nowTime > beginTime) {
+ aideList[i].stop = true;
+ } else {
+ that._countDown(i, aideList[i].live_time);
+ aideList[i].stop = false;
+ }
+ }
+ }
+ that.setData({
+ aideList: aideList,
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ notapbtn() {},
+ permissionsBtn(e) {
+ let roomid = e.currentTarget.dataset.roomid;
+ this.getWatch(roomid);
+ },
+ permissionsShowCloseBtn() {
+ this.setData({
+ permissionsShow: false,
+ });
+ },
+ getWatch(roomid) {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.anchor-aide.purview");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: roomid,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ WatchList: res.data,
+ permissionsShow: true,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ onChange(e) {
+ let roomid = e.currentTarget.dataset.roomid;
+ let index = e.currentTarget.dataset.index;
+ if (this.data.aideList[index].back_open) {
+ this.closeBack(index, roomid);
+ } else {
+ this.openBack(index, roomid);
+ }
+ },
+ openBack(index, roomid) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.open-back"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: roomid,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "成功打开回放",
+ duration: 1500,
+ });
+ that.setData({
+ ["aideList[" + index + "].back_open"]: true,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ closeBack(index, roomid) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.close-back"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: roomid,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "成功关闭回放",
+ duration: 1500,
+ });
+ that.setData({
+ ["aideList[" + index + "].back_open"]: false,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+ for (let i = 0; i < this.data.aideList.length; i++) {
+ if (this.data.aideList[i].clearTime) {
+ clearTimeout(this.data.aideList[i].clearTime);
+ }
+ }
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ goLiveAssistant(e) {
+ let roomid = e.currentTarget.dataset.roomid;
+ let status = e.currentTarget.dataset.status;
+ let ban = e.currentTarget.dataset.ban;
+ if (ban == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "该直播间已禁用",
+ duration: 1500,
+ });
+ return;
+ }
+ if (status == 3 || status == 4) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/helperLiveRoom/helperLiveRoom?roomid=" +
+ roomid,
+ });
+ } else if (status == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "待审核",
+ duration: 1500,
+ });
+ } else if (status == 2) {
+ wx.showToast({
+ icon: "none",
+ title: "等待直播",
+ duration: 1500,
+ });
+ }
+ },
+});
diff --git a/packageD/directSeeding/helperLiveList/helperLiveList.json b/packageD/directSeeding/helperLiveList/helperLiveList.json
new file mode 100644
index 0000000..249de23
--- /dev/null
+++ b/packageD/directSeeding/helperLiveList/helperLiveList.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "主播助手",
+ "usingComponents": {
+ "van-switch": "../../../dist/switch/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-icon": "../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/directSeeding/helperLiveList/helperLiveList.wxml b/packageD/directSeeding/helperLiveList/helperLiveList.wxml
new file mode 100644
index 0000000..40323a8
--- /dev/null
+++ b/packageD/directSeeding/helperLiveList/helperLiveList.wxml
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+
+ 等待开播
+ {{item.day}}天{{item.hou}}时{{item.min}}分{{item.sec}}秒
+
+
+
+
+ 是否开启回放功能
+
+
+
+
+
+
+ {{(item.status==1?'待审核':(item.status==2?'等待直播':(item.status==3?'直播中':(item.status==4?'已结束':''))))}}
+ #{{item.shop_name}}
+
+
+
+
+
+ {{item.title}}
+
+ {{item.launch_date}}
+ 商品:{{item.goods_num}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 观看权限
+
+
+
+ 会员等级
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+ 分销商等级
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+ 经销商等级
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+ 推广员
+
+
+
+ 门店店长
+
+
+
+ 酒店店长
+
+
+
+ 供应商
+
+
+
+ 直播间密码:{{WatchList.password}}
+
+
+
+
+
+
+
diff --git a/packageD/directSeeding/helperLiveList/helperLiveList.wxss b/packageD/directSeeding/helperLiveList/helperLiveList.wxss
new file mode 100644
index 0000000..3122ebd
--- /dev/null
+++ b/packageD/directSeeding/helperLiveList/helperLiveList.wxss
@@ -0,0 +1,417 @@
+.anchor_Assistant {
+ background-color: #fff;
+}
+
+/* .anchor_Assistant .list { */
+
+/* padding-top: 20rpx;
+ padding-bottom: 25rpx; */
+
+/* padding-left: 25rpx;
+ padding-right: 25rpx; */
+
+/* } */
+
+/* .anchor_Assistant .list .li {
+ width: 700rpx;
+ height: 288rpx;
+ background-color: #ffffff;
+ box-shadow: 0rpx 0rpx 25rpx 0rpx rgba(0, 0, 0, 0.05);
+ border-radius: 10rpx;
+ margin: 0 auto 35rpx;
+}
+
+.anchor_Assistant .list .li:last-child {
+ margin: 0 auto;
+}
+
+.anchor_Assistant .list .li .audit_status {
+ display: flex;
+ padding-top: 17rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding-bottom: 17rpx;
+}
+
+.anchor_Assistant .list .li .audit_status .left {
+ min-width: 40rpx;
+ height: 40rpx;
+ border-radius: 0rpx 20rpx 20rpx 0rpx;
+ font-size: 28rpx;
+ line-height: 40rpx;
+ color: #ffffff;
+ padding-left: 9rpx;
+ padding-right: 15rpx;
+}
+
+
+.anchor_Assistant .list .li .audit_status .left.bgcolor_1 {
+ background-color: #7e02e7;
+}
+
+.anchor_Assistant .list .li .audit_status .left.bgcolor_2 {
+ background-color: #01d5ba;
+}
+
+.anchor_Assistant .list .li .audit_status .left.bgcolor_3 {
+ background-color: #ffae00;
+}
+
+.anchor_Assistant .list .li .audit_status .left.bgcolor_4 {
+ background-color: #999999;
+}
+
+.anchor_Assistant .list .li .audit_status .right {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #000000;
+ margin-right: 23rpx;
+}
+
+.anchor_Assistant .list .li .audit_status .right text {
+ font-size: 24rpx;
+ color: #ea0404;
+}
+ */
+
+.anchor_Assistant .anchor_show {
+ display: flex;
+ margin-left: 18rpx;
+ margin-right: 30rpx;
+ padding-bottom: 27rpx;
+ border-bottom: 2rpx solid #e2e2e2;
+}
+
+.anchor_Assistant .anchor_show .left {
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 10rpx;
+}
+
+.anchor_Assistant .anchor_show .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.anchor_Assistant .anchor_show .right {
+ margin-left: 16rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ flex: 1;
+}
+
+.anchor_Assistant .anchor_show .right .title {
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #000;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.anchor_Assistant .anchor_show .right .name {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #666;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.anchor_Assistant .goods_message {
+ display: flex;
+ justify-content: space-between;
+ height: 66rpx;
+ padding-left: 17rpx;
+ padding-right: 24rpx;
+ font-size: 24rpx;
+ line-height: 66rpx;
+ color: #000;
+}
+
+.loading {
+ width: 100%;
+ height: 400rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.loading .content {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.loading .content image {
+ width: 100%;
+ height: 100%;
+}
+
+.anchor_list {
+ display: flex;
+ padding-left: 25rpx;
+ padding-right: 25rpx;
+ justify-content: space-between;
+ flex-wrap: wrap;
+}
+
+.anchor_list .li {
+ position: relative;
+ width: 340rpx;
+ height: 500rpx;
+ border-radius: 10rpx;
+ margin-bottom: 20rpx;
+}
+
+.anchor_list .li image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.anchor_list .live_message {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ background-image:
+ linear-gradient(
+ 0deg,
+ rgba(3, 0, 0, 0.71) 0%,
+ rgba(3, 0, 0, 0.36) 50%,
+ rgba(3, 0, 0, 0.33) 54%,
+ #fff 100%
+ );
+}
+
+.anchor_list .countdown {
+ position: absolute;
+ top: 18rpx;
+ left: 10rpx;
+}
+
+.anchor_list .live_message .playback {
+ display: flex;
+ align-items: center;
+ height: 54rpx;
+ background-image:
+ linear-gradient(
+ 90deg,
+ rgba(255, 99, 51, 0.8) 0%,
+ rgba(255, 44, 41, 0.2) 100%
+ );
+ padding-left: 9rpx;
+ font-size: 24rpx;
+ line-height: 54rpx;
+ color: #fff;
+ justify-content: space-between;
+ padding-right: 12rpx;
+}
+
+.anchor_list .live_message .playback .right {
+ display: flex;
+ align-items: center;
+}
+
+.anchor_list .live_message .playback .right van-switch {
+ display: flex;
+ align-items: center;
+}
+
+.anchor_list .live_message .top {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-bottom: 10rpx;
+}
+
+.anchor_list .live_message .top .left {
+ display: flex;
+ align-items: center;
+ padding-left: 10rpx;
+ padding-top: 9rpx;
+}
+
+.anchor_list .live_message .top .left .status {
+ min-width: 40rpx;
+ height: 32rpx;
+ border-radius: 16rpx;
+ font-size: 22rpx;
+ font-weight: normal;
+ font-stretch: normal;
+ line-height: 32rpx;
+ color: #fff;
+ text-align: center;
+ padding-right: 14rpx;
+ padding-left: 14rpx;
+}
+
+.anchor_list .live_message .top .left .shop_type {
+ font-size: 22rpx;
+ line-height: 36rpx;
+ color: #fff;
+ min-width: 80rpx;
+ height: 32rpx;
+ border-radius: 16rpx;
+ border: solid 1rpx #fff;
+ text-align: center;
+ margin-left: 14rpx;
+}
+
+.anchor_list .live_message .top .left .status.color_1 {
+ background-color: #04d99f;
+}
+
+.anchor_list .live_message .top .left .status.color_2 {
+ background-color: #6000ff;
+}
+
+.anchor_list .live_message .top .left .status.color_3 {
+ background-color: #ff6333;
+}
+
+.anchor_list .live_message .top .left .status.color_4 {
+ background-color: #666;
+}
+
+.anchor_list .live_message .top .right {
+ display: flex;
+ align-items: center;
+ padding-right: 12rpx;
+}
+
+.anchor_list .live_message .top .right .iconfont {
+ color: #fff;
+}
+
+.anchor_list .live_message .live_name {
+ height: 26rpx;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+ font-size: 28rpx;
+ line-height: 26rpx;
+ color: #fff;
+ width: 340rpx;
+ box-sizing: border-box;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.anchor_list .live_message .bottom {
+ display: flex;
+ font-size: 22rpx;
+ line-height: 36rpx;
+ color: #fff;
+ align-items: center;
+ justify-content: space-between;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+ padding-top: 10rpx;
+}
+
+.countdown {
+ min-width: 148rpx;
+ height: 38rpx;
+ background-image:
+ linear-gradient(
+ 0deg,
+ #ff2c29 0%,
+ #ff6333 100%
+ ),
+ linear-gradient(
+ #fff,
+ #fff
+ );
+ background-blend-mode:
+ normal,
+ normal;
+ border-radius: 19rpx;
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+}
+
+.countdown .left {
+ display: flex;
+ align-items: center;
+ padding-right: 6rpx;
+}
+
+.permissionsContent {
+ position: relative;
+}
+
+.permissionsContent .title {
+ font-size: 36rpx;
+ line-height: 36rpx;
+ color: #000;
+ text-align: center;
+ padding-top: 30rpx;
+}
+
+.permissionsContent .close {
+ position: absolute;
+ top: 33rpx;
+ right: 41rpx;
+ width: 40rpx;
+ height: 40rpx;
+}
+
+.permissionsContent .iconfont {
+ font-size: 30rpx;
+}
+
+.permissionsContent .ul {
+ padding-top: 40rpx;
+}
+
+.permissionsContent .ul .li {
+ display: flex;
+ padding-left: 43rpx;
+ align-items: center;
+ padding-bottom: 25rpx;
+}
+
+.permissionsContent .ul .li .left {
+ width: 25rpx;
+ height: 25rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/micro_communities/addGoods_gou@2x.png") no-repeat center;
+ background-size: 100% 100%;
+ margin-right: 21rpx;
+}
+
+.permissionsContent .ul .li .right {
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #333;
+}
+
+.permissionsContent .ul .child .li_child {
+ display: flex;
+ padding-left: 85rpx;
+ align-items: center;
+ padding-bottom: 24rpx;
+}
+
+.permissionsContent .ul .child .li_child .li_child_left {
+ width: 25rpx;
+ height: 25rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/goods_finish.png") no-repeat center;
+ background-size: 100% 100%;
+ margin-right: 21rpx;
+}
+
+.permissionsContent .ul .child .li_child .li_child_right {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #666;
+}
diff --git a/packageD/directSeeding/helperLiveRoom/helperLiveRoom.js b/packageD/directSeeding/helperLiveRoom/helperLiveRoom.js
new file mode 100644
index 0000000..b1fa314
--- /dev/null
+++ b/packageD/directSeeding/helperLiveRoom/helperLiveRoom.js
@@ -0,0 +1,881 @@
+// packageD/directSeeding/live_monitoring/live_monitoring.js
+import TIM from "../../tim-wx-sdk/tim-wx";
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ roomid: "",
+ show2: false,
+ show3: false,
+ taideRoom: "",
+ tim: "",
+ lasttime: "",
+ //消息列表
+ messageList: [],
+ messagesTop: 0,
+ active: 0,
+ now_goods: "",
+ speak: {
+ memberAvatar: "",
+ nickName: "",
+ index: "",
+ memberId: "",
+ },
+ shiftout: {
+ memberAvatar: "",
+ nickName: "",
+ index: "",
+ memberId: "",
+ },
+ chatBanList: [],
+ roomBanList: [],
+ //more
+ chatBanisLoadMore: true,
+ chatBanpage: 1,
+ chatBantotal_page: 0,
+ //more
+ roomBanisLoadMore: true,
+ roomBanpage: 1,
+ roomBantotal_page: 0,
+ liveBol: true,
+ video_url: "",
+
+ isLivePK: false,
+ livePKData:{},
+ livePKSrc:'',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.roomid) {
+ this.setData({
+ roomid: options.roomid,
+ });
+ }
+ this.getsdkappid();
+ },
+ logout() {
+ let that = this;
+ let promise = that.data.tim.logout();
+ promise
+ .then(function (imResponse) {
+ console.log(imResponse.data); // 登出成功
+ })
+ .catch(function (imError) {
+ console.warn("logout error:", imError);
+ });
+ },
+ stopcomments(e) {
+ let index = e.currentTarget.dataset.index;
+ let memberId = e.currentTarget.dataset.memberid;
+ this.setData({
+ speak: {
+ memberAvatar: this.data.messageList[index].memberAvatar,
+ nickName: this.data.messageList[index].nickName,
+ index: index,
+ memberId: memberId,
+ },
+ show2: true,
+ });
+ },
+ speakaffirmbtn(e) {
+ let index = e.currentTarget.dataset.index;
+ let memberId = e.currentTarget.dataset.memberid;
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.chat-ban"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.taideRoom.id,
+ member_id: memberId,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "禁言成功",
+ duration: 1500,
+ });
+ that.setData({
+ ["messageList[" + index + "].show"]: false,
+ show2: false,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ that.setData({
+ ["messageList[" + index + "].show"]: false,
+ show2: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ speakcancelbtn(e) {
+ let index = e.currentTarget.dataset.index;
+ this.setData({
+ ["messageList[" + index + "].show"]: false,
+ show2: false,
+ });
+ },
+ liftBanBtn(e) {
+ let index = e.currentTarget.dataset.index;
+ let memberId = e.currentTarget.dataset.memberid;
+ let nickname = this.data.chatBanList[index].nickname;
+ let chatBanList = this.data.chatBanList;
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.chat-reply"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.taideRoom.id,
+ member_id: memberId,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "已将" + nickname + "解除禁言",
+ duration: 1500,
+ });
+ chatBanList.splice(index, 1);
+ that.setData({
+ chatBanList: chatBanList,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ recoverBnt(e) {
+ let index = e.currentTarget.dataset.index;
+ let memberId = e.currentTarget.dataset.memberid;
+ // let nickname = this.data.roomBanList[index].nickname;
+ let roomBanList = this.data.roomBanList;
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.room-reply"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.taideRoom.id,
+ member_id: memberId,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "该会员已恢复",
+ duration: 1500,
+ });
+ roomBanList.splice(index, 1);
+ that.setData({
+ roomBanList: roomBanList,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ kickingPlayerBtn(e) {
+ let index = e.currentTarget.dataset.index;
+ let memberId = e.currentTarget.dataset.memberid;
+ this.setData({
+ shiftout: {
+ memberAvatar: this.data.messageList[index].memberAvatar,
+ nickName: this.data.messageList[index].nickName,
+ index: index,
+ memberId: memberId,
+ },
+ show3: true,
+ });
+ },
+ shiftoutAffirmbtn(e) {
+ let index = e.currentTarget.dataset.index;
+ let memberId = e.currentTarget.dataset.memberid;
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.room-ban"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.taideRoom.id,
+ member_id: memberId,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "成功踢出直播间",
+ duration: 1500,
+ });
+ that.setData({
+ ["messageList[" + index + "].show"]: false,
+ show3: false,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ that.setData({
+ ["messageList[" + index + "].show"]: false,
+ show3: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ show2CloseBtn() {
+ this.setData({
+ show2: false,
+ });
+ },
+ show3CloseBtn() {
+ this.setData({
+ show3: false,
+ });
+ },
+ shiftoutCancelbtn(e) {
+ let index = e.currentTarget.dataset.index;
+ this.setData({
+ ["messageList[" + index + "].show"]: false,
+ show3: false,
+ });
+ },
+ morebtn(e) {
+ let index = e.currentTarget.dataset.index;
+ let that = this;
+ for (let i = 0; i < that.data.messageList.length; i++) {
+ that.setData({
+ ["messageList[" + i + "].show"]: false,
+ });
+ }
+ that.setData({
+ ["messageList[" + index + "].show"]: true,
+ });
+ },
+ setActivebtn(e) {
+ let that = this;
+ let num = e.currentTarget.dataset.num;
+ this.setData({
+ active: num,
+ });
+ if (num == 2) {
+ that.setData({
+ //more
+ chatBanisLoadMore: true,
+ chatBanpage: 1,
+ chatBantotal_page: 0,
+ });
+ this.getchatBanList();
+ } else if (num == 3) {
+ that.setData({
+ //more
+ roomBanisLoadMore: true,
+ roomBanpage: 1,
+ roomBantotal_page: 0,
+ });
+ this.getroomBanList();
+ }
+ },
+ getchatBanList() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.chat-ban-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.taideRoom.id,
+ page: this.data.chatBanpage,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ chatBanList: res.data.data,
+ chatBantotal_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ statechangePK(e){
+ let code = e.detail.code;
+ console.log("拉取连麦:::", code);
+ if (code == "2002" || code == "2002") {
+ wx.hideLoading({});
+ }
+ },
+ errorPK(e) {
+ wx.hideLoading({});
+ wx.showToast({
+ title: '拉取连麦失败',
+ icon: 'success',
+ duration: 2000
+ });
+ console.log("拉取连麦失败:::", e);
+ },
+ getroomBanList() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.room-ban-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.taideRoom.id,
+ page: this.data.roomBanpage,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ roomBanList: res.data.data,
+ roomBantotal_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ setgoods(e) {
+ let index = e.currentTarget.dataset.index;
+ let that = this;
+ let api = "";
+ let urlStr = "";
+ let goods = that.data.taideRoom.goods[index];
+ if (this.data.now_goods && goods.id == this.data.now_goods.goods_id) {
+ api = "plugin.room.frontend.anchor-aide.cancel-explain";
+ urlStr = app.getNetAddresss(api);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: that.data.roomid,
+ goods_id: goods.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ now_goods: "",
+ });
+ wx.showToast({
+ icon: "none",
+ title: "取消成功",
+ duration: 1500,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ } else {
+ api = "plugin.room.frontend.anchor-aide.explain-goods";
+ urlStr = app.getNetAddresss(api);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: that.data.roomid,
+ goods_id: goods.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ "now_goods.goods_id": goods.id,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "设置成功",
+ duration: 1500,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ getsdkappid() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.im.get-im-sdk");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let options = {
+ SDKAppID: res.data.sdkappid, // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID
+ };
+ // 创建 SDK 实例,`TIM.create()`方法对于同一个 `SDKAppID` 只会返回同一份实例
+ that.data.tim = TIM.create(options); // SDK 实例通常用 tim 表示
+ that.data.tim.setLogLevel(0);
+ that.chatEventList(); //加载聊天事件
+ that.getaideRoom();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ //查询我的个人信息
+ chatMyProfile() {
+ let that = this;
+ let promise = that.data.tim.getMyProfile();
+ promise
+ .then(function (imResponse) {
+ console.log(imResponse.data); // 个人资料 - Profile 实例
+ let myData = imResponse.data;
+ if (!myData.nick) {
+ that.changeMyProfile();
+ }
+ })
+ .catch(function (imError) {
+ console.warn("getMyProfile error:", imError); // 获取个人资料失败的相关信息
+ });
+ },
+ //修改我的个人信息
+ changeMyProfile() {
+ let that = this;
+ let promise = that.data.tim.updateMyProfile({
+ nick: that.data.taideRoom.userNickname,
+ avatar: that.data.taideRoom.userAvatar,
+ });
+ promise
+ .then(function (imResponse) {
+ console.log(imResponse.data); // 更新资料成功
+ })
+ .catch(function (imError) {
+ console.warn("updateMyProfile error:", imError); // 更新资料失败的相关信息
+ });
+ },
+ //聊天事件
+ chatEventList() {
+ let that = this;
+ // 监听事件,例如:
+ that.data.tim.on(TIM.EVENT.SDK_READY, function (event) {
+ // 收到离线消息和会话列表同步完毕通知,接入侧可以调用 sendMessage 等需要鉴权的接口
+ that.chatMyProfile();
+ // that.chatJoinGroup()
+ // event.name - TIM.EVENT.SDK_READY
+ });
+ that.data.tim.on(TIM.EVENT.MESSAGE_RECEIVED, function (event) {
+ //防止重新接受两条信息
+ if (that.data.lasttime == event.data[0].time) {
+ return;
+ } else {
+ that.data.lasttime = event.data[0].time;
+ }
+ let message = event.data;
+ message.forEach(function (val, index) {
+ let conversationType = val.conversationType;
+ //判断消息来源群或者个人
+ if (conversationType == TIM.TYPES.CONV_GROUP) {
+ let data = val;
+ //后台发送过来的消息处理
+ // if (data.from == "administrator") {
+ // } else if (data.type == "TIMTextElem") {
+ // } else
+ if(data.payload.extension == "customPkGroup"){
+ that.setData({
+ livePKData: JSON.parse(data.payload.description),
+ livePKSrc: that.data.roomData.play_url_rtmp.match(/(\S*)\/live\//)[1]+'/live/' + data.payload.description.streamid,
+ isLivePK: true,
+ });
+ } else if (data.payload.extension == "customQuitPkGroup") {
+ // 结束连麦
+ that.setData({
+ livePKData: {},
+ livePKSrc: "",
+ isLivePK: false
+ });
+ } else if (data.type == "TIMCustomElem") {
+ //自定义类型解析
+ if (data.payload.extension == "customText") {
+ let messageList = that.data.messageList;
+ let messageListData = JSON.parse(data.payload.description);
+ messageListData.show = false;
+ messageList.push(messageListData);
+ that.setData({
+ messageList,
+ messagesTop: messageList.length * 1000,
+ });
+ }
+ }
+ }
+ // else if (conversationType == TIM.TYPES.CONV_C2C) {
+ // }
+ });
+ // 收到推送的单聊、群聊、群提示、群系统通知的新消息,可通过遍历 event.data 获取消息列表数据并渲染到页面
+ // event.name - TIM.EVENT.MESSAGE_RECEIVED
+ // event.data - 存储 Message 对象的数组 - [Message]
+ });
+
+ that.data.tim.on(TIM.EVENT.MESSAGE_REVOKED, function (event) {
+ // 收到消息被撤回的通知
+ // event.name - TIM.EVENT.MESSAGE_REVOKED
+ // event.data - 存储 Message 对象的数组 - [Message] - 每个 Message 对象的 isRevoked 属性值为 true
+ });
+
+ that.data.tim.on(TIM.EVENT.CONVERSATION_LIST_UPDATED, function (event) {
+ // 收到会话列表更新通知,可通过遍历 event.data 获取会话列表数据并渲染到页面
+ // event.name - TIM.EVENT.CONVERSATION_LIST_UPDATED
+ // event.data - 存储 Conversation 对象的数组 - [Conversation]
+ });
+
+ that.data.tim.on(TIM.EVENT.GROUP_LIST_UPDATED, function (event) {
+ // 收到群组列表更新通知,可通过遍历 event.data 获取群组列表数据并渲染到页面
+ // event.name - TIM.EVENT.GROUP_LIST_UPDATED
+ // event.data - 存储 Group 对象的数组 - [Group]
+ });
+
+ that.data.tim.on(TIM.EVENT.GROUP_SYSTEM_NOTICE_RECEIVED, function (event) {
+ // 收到新的群系统通知
+ // event.name - TIM.EVENT.GROUP_SYSTEM_NOTICE_RECEIVED
+ // event.data.type - 群系统通知的类型,详情请参见 GroupSystemNoticePayload 的 operationType 枚举值说明
+ // event.data.message - Message 对象,可将 event.data.message.content 渲染到到页面
+ });
+
+ that.data.tim.on(TIM.EVENT.PROFILE_UPDATED, function (event) {
+ // 收到自己或好友的资料变更通知
+ // event.name - TIM.EVENT.PROFILE_UPDATED
+ // event.data - 存储 Profile 对象的数组 - [Profile]
+ });
+
+ that.data.tim.on(TIM.EVENT.BLACKLIST_UPDATED, function (event) {
+ // 收到黑名单列表更新通知
+ // event.name - TIM.EVENT.BLACKLIST_UPDATED
+ // event.data - 存储 userID 的数组 - [userID]
+ });
+
+ that.data.tim.on(TIM.EVENT.ERROR, function (event) {
+ // 收到 SDK 发生错误通知,可以获取错误码和错误信息
+ // event.name - TIM.EVENT.ERROR
+ // event.data.code - 错误码
+ // event.data.message - 错误信息
+ });
+
+ that.data.tim.on(TIM.EVENT.SDK_NOT_READY, function (event) {
+ // 收到 SDK 进入 not ready 状态通知,此时 SDK 无法正常工作
+ // event.name - TIM.EVENT.SDK_NOT_READY
+ });
+
+ that.data.tim.on(TIM.EVENT.KICKED_OUT, function (event) {
+ // 收到被踢下线通知
+ // event.name - TIM.EVENT.KICKED_OUT
+ // event.data.type - 被踢下线的原因,例如:
+ // - TIM.TYPES.KICKED_OUT_MULT_ACCOUNT 多实例登录被踢
+ // - TIM.TYPES.KICKED_OUT_MULT_DEVICE 多终端登录被踢
+ // - TIM.TYPES.KICKED_OUT_USERSIG_EXPIRED 签名过期被踢
+ wx.showToast({
+ icon: "none",
+ title: "您的IM被踢下线了",
+ duration: 2000,
+ });
+ });
+ },
+ getaideRoom() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.anchor-aide.room");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.roomid,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ taideRoom: res.data,
+ now_goods: res.data.now_goods,
+ });
+ if (res.data.status && res.data.status == 4) {
+ that.setData({
+ liveBol: false,
+ video_url: res.data.video_url,
+ });
+ }
+ if (res.data.voice_status) {
+ that.setData({
+ livePKData: res.data.voice_anchor,
+ livePKSrc: res.data.voice_anchor.play_url.play_url_rtmp,
+ isLivePK: true
+ });
+ }
+ setTimeout(() => {
+ that.chatLogin();
+ }, 1000);
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ //聊天登录
+ chatLogin() {
+ let that = this;
+ let promise = that.data.tim.login({
+ userID: that.data.taideRoom.userID.toString(),
+ userSig: that.data.taideRoom.userSig,
+ });
+ promise
+ .then(function (imResponse) {
+ console.log(imResponse.data); // 登录成功
+ that.chatJoinGroup();
+ })
+ .catch(function (imError) {
+ console.warn("login error:", imError); // 登录失败的相关信息
+ });
+ },
+ //获取群详细资料
+ chatJoinGroup() {
+ let that = this;
+ that.data.lastGroupId = that.data.taideRoom.groupId;
+ let promise = that.data.tim.joinGroup({
+ groupID: that.data.taideRoom.groupId,
+ type: TIM.TYPES.GRP_CHATROOM,
+ });
+ promise
+ .then(function (imResponse) {
+ switch (imResponse.data.status) {
+ case TIM.TYPES.JOIN_STATUS_WAIT_APPROVAL:
+ break; // 等待管理员同意
+ case TIM.TYPES.JOIN_STATUS_SUCCESS: // 加群成功
+ console.log(imResponse.data.group); // 加入的群组资料
+ break;
+ default:
+ break;
+ }
+ })
+ .catch(function (imError) {
+ console.warn("joinGroup error:", imError); // 申请加群失败的相关信息
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+ this.logout();
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.active == 2) {
+ if (this.data.chatBanisLoadMore) {
+ this.getchatBanMoreData();
+ } else {
+ console.log("没有更多数据");
+ }
+ } else if (this.data.active == 3) {
+ if (this.data.roomBanisLoadMore) {
+ this.getroomBanMoreData();
+ } else {
+ console.log("没有更多数据");
+ }
+ }
+ },
+ //获取更多数据
+ getchatBanMoreData() {
+ const that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.chat-ban-list"
+ );
+ that.data.chatBanisLoadMore = false; // 防止多次请求分页数据
+ if (this.data.chatBanpage >= this.data.chatBantotal_page) {
+ return;
+ } else {
+ this.data.chatBanpage = this.data.chatBanpage + 1;
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.taideRoom.id,
+ page: this.data.chatBanpage,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ chatBanList: that.data.chatBanList.concat(res.data.data),
+ });
+ } else {
+ that.setData({
+ chatBanpage: that.data.chatBanpage - 1,
+ chatBanisLoadMore: false,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ //获取更多数据
+ getroomBanMoreData() {
+ const that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor-aide.room-ban-list"
+ );
+ that.data.roomBanisLoadMore = false; // 防止多次请求分页数据
+ if (this.data.roomBanpage >= this.data.roomBantotal_page) {
+ return;
+ } else {
+ this.data.roomBanpage = this.data.roomBanpage + 1;
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.taideRoom.id,
+ page: this.data.roomBanpage,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ roomBanList: that.data.roomBanList.concat(res.data.data),
+ });
+ } else {
+ that.setData({
+ roomBanpage: that.data.roomBanpage - 1,
+ roomBanisLoadMore: false,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+});
diff --git a/packageD/directSeeding/helperLiveRoom/helperLiveRoom.json b/packageD/directSeeding/helperLiveRoom/helperLiveRoom.json
new file mode 100644
index 0000000..7cd2fd2
--- /dev/null
+++ b/packageD/directSeeding/helperLiveRoom/helperLiveRoom.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "直播间",
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/directSeeding/helperLiveRoom/helperLiveRoom.wxml b/packageD/directSeeding/helperLiveRoom/helperLiveRoom.wxml
new file mode 100644
index 0000000..c99418b
--- /dev/null
+++ b/packageD/directSeeding/helperLiveRoom/helperLiveRoom.wxml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 商品
+ 聊天
+ 禁言记录
+ 踢人记录
+
+
+
+
+
+ {{item.sort}}
+
+
+ {{item.title}}
+
+
+ {{language['money']}}{{item.price}}
+
+ {{now_goods.goods_id==item.id?'取消当前讲解':'设置当前讲解'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.nickName}}
+ {{item.text}}
+
+
+
+
+
+
+
+
+ 禁言
+
+
+
+
+ 踢人
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+
+ 解禁
+
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+
+ 恢复
+
+
+
+
+
+
+
+
+
+
+ {{speak.nickName}}
+ 是否禁止该会员发言
+
+ 取消
+ 确认
+
+
+
+
+
+
+
+
+
+
+ {{shiftout.nickName}}
+ 是否将该会员移出直播间
+
+ 取消
+ 确认
+
+
+
+
+
diff --git a/packageD/directSeeding/helperLiveRoom/helperLiveRoom.wxss b/packageD/directSeeding/helperLiveRoom/helperLiveRoom.wxss
new file mode 100644
index 0000000..9fa93c5
--- /dev/null
+++ b/packageD/directSeeding/helperLiveRoom/helperLiveRoom.wxss
@@ -0,0 +1,359 @@
+.monitoring {
+ background: #fff;
+}
+
+.live_show {
+ height: 425rpx;
+ background-color: #979797;
+}
+
+.pk-video-main {
+ height: 425rpx;
+ width: 100%;
+ top: auto;
+ left: 0;
+ bottom: 45%;
+ position: absolute;
+}
+
+.pk-video-main live-player {
+ width: 50% !important;
+ height: 425rpx !important;
+}
+
+.pk-video-main .videos-pk {
+ left: auto !important;
+ right: 0 !important;
+ position: absolute;
+ top: 0;
+ width: 50% !important;
+ height: 425rpx !important;
+ display: flex;
+ align-items: flex-end;
+}
+
+.live_bottom .title_top {
+ display: flex;
+ padding-top: 26rpx;
+ padding-left: 60rpx;
+ padding-bottom: 40rpx;
+}
+
+.live_bottom .title_top .li {
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #999;
+ margin-right: 55rpx;
+}
+
+.live_bottom .title_top .li:last-child {
+ margin-right: 0;
+}
+
+.live_bottom .title_top .li.active {
+ color: #f53c3f;
+}
+
+.goods_list .li {
+ display: flex;
+ margin-left: 25rpx;
+ margin-right: 25rpx;
+ padding-bottom: 24rpx;
+ border-bottom: 2rpx solid #f3f3f4;
+}
+
+.goods_list .li .left {
+ position: relative;
+ width: 157rpx;
+ height: 158rpx;
+ border-radius: 8rpx;
+ margin-right: 26rpx;
+}
+
+.goods_list .li .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 8rpx;
+}
+
+.goods_list .li .left .num {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 33rpx;
+ background-color: #ff9c00;
+ border-radius: 8rpx 0rpx 8rpx 0rpx;
+ font-size: 29rpx;
+ color: #fff;
+ line-height: 33rpx;
+ text-align: center;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+}
+
+.goods_list .li .right {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.goods_list .li .right .trade_name {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #010101;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.goods_list .li .right .right_bottom {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.goods_list .li .right .right_bottom .price {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #999;
+}
+
+.goods_list .li .right .right_bottom .price text {
+ font-size: 34rpx;
+ color: #f53c3f;
+}
+
+.goods_list .li .right .right_bottom .set_up {
+ width: 204rpx;
+ height: 50rpx;
+ border-radius: 25rpx;
+ border: solid 1rpx #ff2c29;
+ font-size: 28rpx;
+ line-height: 50rpx;
+ color: #ff2c29;
+ text-align: center;
+}
+
+.goods_list .li .right .right_bottom .set_up.active {
+ color: #fff;
+ background-color: #ff2c29;
+}
+
+.criticism .list .li {
+ position: relative;
+}
+
+.criticism .list .li .content {
+ display: flex;
+ padding-left: 31rpx;
+}
+
+.criticism .list .li .content .left {
+ width: 60rpx;
+ height: 60rpx;
+ border-radius: 50%;
+ margin-right: 12rpx;
+}
+
+.criticism .list .li .content .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.criticism .list .li .content .right {
+ flex: 1;
+ padding-right: 70rpx;
+}
+
+.criticism .list .li .content .right .name {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #333;
+ padding-bottom: 10rpx;
+}
+
+.criticism .list .li .content .right .chat {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ color: #000;
+}
+
+.criticism .more {
+ position: absolute;
+ top: -4rpx;
+ right: 30rpx;
+}
+
+.criticism .more_list {
+ position: absolute;
+ width: 210rpx;
+ height: 40rpx;
+ background-color: rgba(0, 0, 0, 0.7);
+ display: flex;
+ border-radius: 10rpx;
+ align-items: center;
+ color: #fff;
+ top: -2rpx;
+ right: 80rpx;
+}
+
+.criticism .more_list .iconfont {
+ font-size: 22rpx;
+ margin-right: 10rpx;
+}
+
+.criticism .more_list .more_list_left,
+.criticism .more_list .more_list_right {
+ display: flex;
+ align-items: center;
+ flex: 1;
+ font-size: 22rpx;
+ line-height: 36rpx;
+ color: #fff;
+}
+
+.criticism .more_list .line {
+ width: 1rpx;
+ height: 32rpx;
+ background-color: #a1a1a1;
+}
+
+.criticism .more_list .more_list_left {
+ padding-left: 18rpx;
+}
+
+.criticism .more_list .more_list_right {
+ padding-left: 14rpx;
+}
+
+.criticism .more_list .triangle {
+ position: absolute;
+ top: 14rpx;
+ right: -12rpx;
+ border-top: 6rpx solid transparent;
+ border-right: 6rpx solid transparent;
+ border-bottom: 6rpx solid transparent;
+ border-left: 6rpx solid rgba(0, 0, 0, 0.7);
+}
+
+.prohibition_lists .li {
+ padding-left: 31rpx;
+ padding-right: 42rpx;
+ justify-content: space-between;
+ display: flex;
+ align-items: center;
+ padding-bottom: 30rpx;
+}
+
+.prohibition_lists .li .left {
+ display: flex;
+ align-items: center;
+}
+
+.prohibition_lists .li .left .picshow {
+ width: 60rpx;
+ height: 60rpx;
+ margin-right: 20rpx;
+ border-radius: 50%;
+}
+
+.prohibition_lists .li .left .picshow image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.prohibition_lists .li .left .name {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #333;
+ max-width: 300rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.prohibition_lists .li .right {
+ width: 108rpx;
+ height: 48rpx;
+ background-color: #ff6333;
+ border-radius: 24rpx;
+ font-size: 28rpx;
+ line-height: 48rpx;
+ color: #fff;
+ text-align: center;
+}
+
+.operational_tips {
+ overflow: visible;
+ position: relative;
+}
+
+.operational_tips .picshow {
+ width: 138rpx;
+ height: 138rpx;
+ position: absolute;
+ left: 50%;
+ top: -42rpx;
+ margin-left: -59rpx;
+ border-radius: 50%;
+}
+
+.operational_tips .picshow image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.operational_tips .content {
+ padding-top: 92rpx;
+}
+
+.operational_tips .content .top {
+ padding-top: 28rpx;
+ font-size: 28rpx;
+ line-height: 40rpx;
+ color: #666;
+ text-align: center;
+ max-width: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ padding-bottom: 76rpx;
+}
+
+.operational_tips .content .bottom {
+ font-size: 36rpx;
+ line-height: 40rpx;
+ color: #000;
+ text-align: center;
+ padding-bottom: 89rpx;
+}
+
+.operational_tips .content .btngroup {
+ display: flex;
+ padding-left: 43rpx;
+ padding-right: 43rpx;
+ justify-content: space-between;
+}
+
+.operational_tips .content .btngroup .btn {
+ width: 320rpx;
+ height: 78rpx;
+ background-color: #ccc;
+ border-radius: 10rpx;
+ font-size: 36rpx;
+ line-height: 78rpx;
+ color: #fefefe;
+ text-align: center;
+}
+
+.operational_tips .content .btngroup .btn.active {
+ background-color: #ff2c29;
+}
diff --git a/packageD/directSeeding/liveClassification/liveClassification.js b/packageD/directSeeding/liveClassification/liveClassification.js
new file mode 100644
index 0000000..ea35519
--- /dev/null
+++ b/packageD/directSeeding/liveClassification/liveClassification.js
@@ -0,0 +1,727 @@
+// packageD/directSeeding/liveClassification/liveClassification.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ myConcern: "",
+ announceList: "",
+ broadcastlist: "",
+ allLivelistData: [],
+ apiType: "recommend",
+ playBackData: "",
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ active: 2,
+ playBackShow: false,
+ myConcern_activitys1: [],
+ myConcern_activitys2: [],
+ allLivelistData_activitys1: [],
+ allLivelistData_activitys2: [],
+ recommendData_activitys1: [],
+ recommendData_activitys2: [],
+ broadcastlist_activitys1: [],
+ broadcastlist_activitys2: [],
+ announceList_activitys1: [],
+ announceList_activitys2: [],
+ playBackData_activitys1: [],
+ playBackData_activitys2: [],
+ recommendData: [],
+ live_search: "",
+ my_colOneHeight: 0,
+ my_colTwoHeight: 0,
+ re_colOneHeight: 0,
+ re_colTwoHeight: 0,
+ br_colOneHeight: 0,
+ br_colTwoHeight: 0,
+ an_colOneHeight: 0,
+ an_colTwoHeight: 0,
+ pl_colOneHeight: 0,
+ pl_colTwoHeight: 0,
+ all_colOneHeight: 0,
+ all_colTwoHeight: 0,
+ cate_id: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ console.log(options.id, 4444444444);
+ if (options.id) {
+ this.setData({
+ cate_id: options.id,
+ });
+ }
+ this.getRecommend();
+ this.getBanner();
+ this.getPlayBackShow();
+ },
+ getPlayBackShow() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live-list.record");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ playBackShow: res.data.result == 1 ? true : false,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getBanner() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live-list.banner");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ liveBanner: res.data,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getRecommend() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-recommend"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ keyword: this.data.live_search,
+ cate_id: this.data.cate_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ recommendData: res.data,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ this.setData({
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ live_search: "",
+ });
+ if (index == 0) {
+ this.data.apiType = "myConcern";
+ this.getMyConcern();
+ } else if (index == 1) {
+ this.data.apiType = "AllLivelist";
+ this.getAllLivelist();
+ } else if (index == 2) {
+ this.data.apiType = "recommend";
+ this.getRecommend();
+ } else if (index == 3) {
+ this.data.apiType = "liveList";
+ this.data.status = 3;
+ this.getLiveList(3);
+ } else if (index == 4) {
+ this.data.apiType = "liveList";
+ this.data.status = 2;
+ this.getLiveList(2);
+ } else if (index == 5) {
+ this.data.apiType = "playBack";
+ this.getplayBack();
+ }
+ },
+ getplayBack() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live-list.play-back");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: 1,
+ keyword: this.data.live_search,
+ cate_id: this.data.cate_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ playBackData: res.data.data,
+ total_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getLiveList(type) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ status: type,
+ page: 1,
+ keyword: this.data.live_search,
+ cate_id: this.data.cate_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (type == 2) {
+ that.setData({
+ total_page: res.data.last_page,
+ announceList: res.data.data,
+ });
+ } else if (type == 3) {
+ that.setData({
+ total_page: res.data.last_page,
+ broadcastlist: res.data.data,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getAllLivelist() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-all-live-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: 1,
+ keyword: this.data.live_search,
+ cate_id: this.data.cate_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ allLivelistData: res.data.data,
+ total_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getMyConcern() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-concern"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: 1,
+ keyword: this.data.live_search,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ myConcern: res.data.data,
+ total_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ if (this.data.apiType !== "recommend") {
+ this._getMoreData();
+ }
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+ //获取更多数据
+ _getMoreData() {
+ const that = this;
+ let json = {};
+ let api = "";
+ let urlStr = "";
+ that.data.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ if (this.data.apiType == "myConcern") {
+ api = "plugin.room.frontend.live-list.get-live-concern";
+ json = {
+ page: this.data.page,
+ cate_id: this.data.cate_id,
+ };
+ } else if (that.data.apiType == "AllLivelist") {
+ api = "plugin.room.frontend.live-list.get-all-live-list";
+ json = {
+ page: this.data.page,
+ cate_id: this.data.cate_id,
+ };
+ } else if (that.data.apiType == "playBack") {
+ api = "plugin.room.frontend.live-list.play-back";
+ json = {
+ page: this.data.page,
+ cate_id: this.data.cate_id,
+ };
+ }
+ // else if (that.data.apiType == "recommend") {
+ // }
+ else {
+ api = "plugin.room.frontend.live-list.get-live-list";
+ json = {
+ status: this.data.status,
+ page: this.data.page,
+ cate_id: this.data.cate_id,
+ };
+ }
+ json.keyword = this.data.live_search;
+ urlStr = app.getNetAddresss(api);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.apiType == "myConcern") {
+ that.setData({
+ isLoadMore: true,
+ myConcern: that.data.myConcern.concat(res.data.data),
+ });
+ } else if (that.data.apiType == "playBack") {
+ that.setData({
+ isLoadMore: true,
+ playBackData: that.data.playBackData.concat(res.data.data),
+ });
+ } else if (that.data.apiType == "AllLivelist") {
+ that.setData({
+ isLoadMore: true,
+ allLivelistData: that.data.allLivelistData.concat(
+ res.data.data
+ ),
+ });
+ }
+ // else if (that.data.apiType == "recommend") {
+ // }
+ else {
+ if (that.data.status == 2) {
+ that.setData({
+ isLoadMore: true,
+ announceList: that.data.announceList.concat(res.data.data),
+ });
+ } else if (that.data.status == 3) {
+ that.setData({
+ isLoadMore: true,
+ broadcastlist: that.data.broadcastlist.concat(res.data.data),
+ });
+ }
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ //跳转直播页
+ golivePage(e) {
+ let id = e.currentTarget.dataset.id;
+ let status = e.currentTarget.dataset.status;
+ let memberid = e.currentTarget.dataset.memberid;
+ console.log(e);
+ if (status == 1) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=live",
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/anchorDetail/anchorDetail?id=" + memberid,
+ });
+ }
+ },
+ gopage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 1) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=live",
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=video" +
+ "&backid=" +
+ backid,
+ });
+ }
+ },
+ golistPage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 3) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=live",
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/foreshow/foreshow?id=" + id,
+ });
+ } else if (status == 4) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=video" +
+ "&backid=" +
+ backid,
+ });
+ }
+ },
+ goPlayBackData(e) {
+ let roomid = e.currentTarget.dataset.roomid;
+ let backid = e.currentTarget.dataset.backid;
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ roomid +
+ "&playerType=video" +
+ "&backid=" +
+ backid,
+ });
+ },
+ //跳转直播预告
+ goforeshow(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageD/directSeeding/foreshow/foreshow?id=" + id,
+ });
+ },
+ /**
+ * 图片加载函数
+ * 图片加载完成后,根据图片的高度,依次往第一列和第二列中推入数据
+ */
+ onImageLoad(options) {
+ let index = options.target.dataset.index;
+ let seltype = options.target.dataset.seltype;
+ let imageWidth = options.detail.width; // 图片宽度
+ let imageHeight = options.detail.height; // 图片高度
+ let activityObj = null;
+ let scle = imageWidth / imageHeight;
+ if (seltype == "myConcern") {
+ let activitys = this.data.myConcern; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.myConcern_activitys1;
+ let activitys2 = this.data.myConcern_activitys2;
+ if (this.data.my_colOneHeight <= this.data.my_colTwoHeight) {
+ this.data.my_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.my_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ myConcern_activitys1: activitys1,
+ myConcern_activitys2: activitys2,
+ });
+ } else if (seltype == "recommend") {
+ let activitys = this.data.recommendData; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.recommendData_activitys1;
+ let activitys2 = this.data.recommendData_activitys2;
+ if (this.data.re_colOneHeight <= this.data.re_colTwoHeight) {
+ this.data.re_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.re_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ recommendData_activitys1: activitys1,
+ recommendData_activitys2: activitys2,
+ });
+ } else if (seltype == "AllLivelist") {
+ let activitys = this.data.allLivelistData; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.allLivelistData_activitys1;
+ let activitys2 = this.data.allLivelistData_activitys2;
+ if (this.data.all_colOneHeight <= this.data.all_colTwoHeight) {
+ this.data.all_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.all_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ allLivelistData_activitys1: activitys1,
+ allLivelistData_activitys2: activitys2,
+ });
+ } else if (seltype == "liveList_1") {
+ let activitys = this.data.broadcastlist; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.broadcastlist_activitys1;
+ let activitys2 = this.data.broadcastlist_activitys2;
+ if (this.data.br_colOneHeight <= this.data.br_colTwoHeight) {
+ this.data.br_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.br_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ broadcastlist_activitys1: activitys1,
+ broadcastlist_activitys2: activitys2,
+ });
+ } else if (seltype == "liveList_2") {
+ let activitys = this.data.announceList; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.announceList_activitys1;
+ let activitys2 = this.data.announceList_activitys2;
+ if (this.data.an_colOneHeight <= this.data.an_colTwoHeight) {
+ this.data.an_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.an_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ announceList_activitys1: activitys1,
+ announceList_activitys2: activitys2,
+ });
+ } else if (seltype == "playBack") {
+ let activitys = this.data.playBackData; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.playBackData_activitys1;
+ let activitys2 = this.data.playBackData_activitys2;
+ if (this.data.pl_colOneHeight <= this.data.pl_colTwoHeight) {
+ this.data.pl_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.pl_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ playBackData_activitys1: activitys1,
+ playBackData_activitys2: activitys2,
+ });
+ }
+ },
+ onImageError(options) {
+ let index = options.target.dataset.index;
+ let seltype = options.target.dataset.seltype;
+ // let currentId = options.currentTarget.id;
+ console.log("图片加载发生错误");
+ this.onImageLoad({
+ target: {
+ dataset: {
+ index: index,
+ seltype: seltype,
+ },
+ },
+ detail: {
+ width: 2340,
+ height: 1080,
+ },
+ });
+ },
+ searchConfirm() {
+ if (this.data.apiType == "myConcern") {
+ this.data.my_colOneHeight = 0;
+ this.data.my_colTwoHeight = 0;
+ this.setData({
+ myConcern: [],
+ myConcern_activitys1: [],
+ myConcern_activitys2: [],
+ });
+ this.getMyConcern();
+ } else if (this.data.apiType == "recommend") {
+ this.data.re_colOneHeight = 0;
+ this.data.re_colTwoHeight = 0;
+ this.setData({
+ recommendData: [],
+ recommendData_activitys1: [],
+ recommendData_activitys2: [],
+ });
+ this.getRecommend();
+ } else if (this.data.apiType == "liveList") {
+ if (this.data.status == 3) {
+ this.data.br_colOneHeight = 0;
+ this.data.br_colTwoHeight = 0;
+ this.setData({
+ broadcastlist: [],
+ broadcastlist_activitys1: [],
+ broadcastlist_activitys2: [],
+ });
+ this.getLiveList(3);
+ } else if (this.data.status == 2) {
+ this.data.an_colOneHeight = 0;
+ this.data.an_colTwoHeight = 0;
+ this.setData({
+ announceList: [],
+ announceList_activitys1: [],
+ announceList_activitys2: [],
+ });
+ this.getLiveList(2);
+ }
+ } else if (this.data.apiType == "playBack") {
+ this.data.pl_colOneHeight = 0;
+ this.data.pl_colTwoHeight = 0;
+ this.setData({
+ playBackData: [],
+ playBackData_activitys1: [],
+ playBackData_activitys2: [],
+ });
+ this.getplayBack();
+ } else if (this.data.apiType == "AllLivelist") {
+ this.data.all_colOneHeight = 0;
+ this.data.all_colTwoHeight = 0;
+ this.setData({
+ allLivelistData: [],
+ allLivelistData_activitys1: [],
+ allLivelistData_activitys2: [],
+ });
+ this.getAllLivelist();
+ }
+ },
+ searchbtn(e) {
+ let val = e.detail.value;
+ this.setData({
+ live_search: val,
+ });
+ },
+});
diff --git a/packageD/directSeeding/liveClassification/liveClassification.json b/packageD/directSeeding/liveClassification/liveClassification.json
new file mode 100644
index 0000000..31bc7e3
--- /dev/null
+++ b/packageD/directSeeding/liveClassification/liveClassification.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "直播分类列表",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-popup": "../../../dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/directSeeding/liveClassification/liveClassification.wxml b/packageD/directSeeding/liveClassification/liveClassification.wxml
new file mode 100644
index 0000000..416bb28
--- /dev/null
+++ b/packageD/directSeeding/liveClassification/liveClassification.wxml
@@ -0,0 +1,607 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+
+ 预告
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+
+ 预告
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+
+ 预告
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/directSeeding/liveClassification/liveClassification.wxss b/packageD/directSeeding/liveClassification/liveClassification.wxss
new file mode 100644
index 0000000..258f633
--- /dev/null
+++ b/packageD/directSeeding/liveClassification/liveClassification.wxss
@@ -0,0 +1,268 @@
+.liveList {
+ background: #fff;
+}
+
+.liveList .search {
+ display: flex;
+ align-items: center;
+ padding-top: 21rpx;
+ padding-bottom: 14rpx;
+ background-color: #fff;
+ justify-content: center;
+}
+
+.liveList .search .left {
+ font-size: 36rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-left: 39rpx;
+ padding-right: 39rpx;
+}
+
+.liveList .search .right {
+ width: 516rpx;
+ height: 56rpx;
+ background-color: #eee;
+ box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(82, 82, 82, 0.04);
+ border-radius: 28rpx;
+ display: flex;
+ align-items: center;
+}
+
+.liveList .search .right .icon-sousuo1 {
+ margin-left: 40rpx;
+ margin-right: 20rpx;
+ font-size: 29rpx;
+ color: #ddd;
+}
+
+.liveList .search .right input {
+ flex: 1;
+ font-size: 28rpx;
+ margin-right: 40rpx;
+}
+
+.living_content {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ padding-top: 40rpx;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.liveList .living {
+ width: 340rpx;
+ padding-bottom: 56rpx;
+ position: relative;
+ background-color: #fff;
+ border-radius: 25rpx;
+ margin-bottom: 13rpx;
+}
+
+.liveList .living .bg {
+ width: 340rpx;
+ min-height: 230rpx;
+ background-color: #fff;
+ border-radius: 25rpx;
+ position: relative;
+}
+
+.liveList .living .bg image {
+ border-radius: 25rpx;
+ width: 100%;
+
+ /* height: 100%; */
+}
+
+.liveList .living .bg .content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+}
+
+.liveList .living .bg .content .live_top {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 19rpx;
+ padding-left: 10rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_left {
+ min-width: 206rpx;
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.liveList .living .bg .content .live_top .live_top_left .left {
+ width: 90rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .live_top_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.liveList .living .bg .content .live_top .seeding_left {
+ /* min-width: 206rpx; */
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.liveList .living .bg .content .live_top .seeding_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #999;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .seeding_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.liveList .living .bg .content .live_top .advance_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .live_top_right {
+ width: 59rpx;
+ position: relative;
+ margin-right: 7rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .little_icon {
+ width: 50rpx;
+ height: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .little_icon .icon-zb_goods {
+ color: #ffa303;
+ font-size: 50rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .num {
+ min-width: 50rpx;
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+ height: 22rpx;
+ background-color: #fff;
+ border-radius: 9rpx;
+ position: absolute;
+ right: -2rpx;
+ top: 6rpx;
+ font-size: 20rpx;
+ line-height: 22rpx;
+ color: #f00;
+ text-align: center;
+ overflow: hidden;
+}
+
+.liveList .living .bg .live_bottom {
+ position: absolute;
+ height: 72rpx;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #fff;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+}
+
+.liveList .living .bootom {
+ position: absolute;
+ display: flex;
+ bottom: 10rpx;
+ left: 0;
+ right: 0;
+}
+
+.liveList .living .bootom .left {
+ width: 56rpx;
+ height: 56rpx;
+ background-color: #fff;
+ border: solid 4rpx #fff;
+ border-radius: 50%;
+ margin-right: 9rpx;
+ margin-left: 6rpx;
+}
+
+.liveList .living .bootom .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.liveList .living .bootom .right {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-top: 20rpx;
+ flex: 1;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.loading {
+ width: 100%;
+ height: 400rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.loading .content {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.loading .content image {
+ width: 100%;
+ height: 100%;
+}
diff --git a/packageD/directSeeding/liveDividend/liveDividend.js b/packageD/directSeeding/liveDividend/liveDividend.js
new file mode 100644
index 0000000..1956d03
--- /dev/null
+++ b/packageD/directSeeding/liveDividend/liveDividend.js
@@ -0,0 +1,166 @@
+// packageD/directSeeding/liveDividend/liveDividend.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ current: 0,
+ status: "",
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ dividendData: "",
+ dividenList: [],
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getDividend("");
+ },
+ getDividend(type) {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.anchor.dividend");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ status: type,
+ page: 1,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ dividendData: res.data.data,
+ dividenList: res.data.data.bonus,
+ total_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getMoreData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.anchor.dividend");
+ if (this.data.page == this.data.total_page) {
+ return;
+ }
+ if (this.data.page >= this.data.total_page) {
+ this.setData({
+ isLoadMore: false,
+ });
+ return;
+ } else {
+ this.setData({
+ page: this.data.page + 1,
+ });
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ status: this.data.status,
+ page: this.data.page,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ cupconList: that.data.dividenList.concat(res.data.data.bonus),
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ this.setData({
+ current: index,
+ });
+ if (index == 0) {
+ this.setData({
+ status: "",
+ });
+ } else if (index == 1) {
+ this.setData({
+ status: 0,
+ });
+ } else if (index == 2) {
+ this.setData({
+ status: 1,
+ });
+ } else if (index == 3) {
+ this.setData({
+ status: -1,
+ });
+ }
+ this.setData({
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ });
+ this.getDividend(this.data.status);
+ },
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+});
diff --git a/packageD/directSeeding/liveDividend/liveDividend.json b/packageD/directSeeding/liveDividend/liveDividend.json
new file mode 100644
index 0000000..8b2a801
--- /dev/null
+++ b/packageD/directSeeding/liveDividend/liveDividend.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "主播分红",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index"
+ }
+}
diff --git a/packageD/directSeeding/liveDividend/liveDividend.wxml b/packageD/directSeeding/liveDividend/liveDividend.wxml
new file mode 100644
index 0000000..b1d8f8a
--- /dev/null
+++ b/packageD/directSeeding/liveDividend/liveDividend.wxml
@@ -0,0 +1,81 @@
+
+
+
+
+
+ {{dividendData.nickname}}
+
+
+
+
+ {{dividendData.unsettled_money}}
+ 未结算
+
+
+
+ {{dividendData.settled_money}}
+ 已结算
+
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.created_at}}
+
+
+ {{language['money']}}{{item.bonus_amount}}
+ 未结算
+ 已结算
+ 已失效
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.created_at}}
+
+
+ {{language['money']}}{{item.bonus_amount}}
+ 未结算
+ 已结算
+ 已失效
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.created_at}}
+
+
+ {{language['money']}}{{item.bonus_amount}}
+ 未结算
+ 已结算
+ 已失效
+
+
+
+
+
+
+ {{item.order_sn}}
+ {{item.created_at}}
+
+
+ {{language['money']}}{{item.bonus_amount}}
+ 未结算
+ 已结算
+ 已失效
+
+
+
+
+
+
+
diff --git a/packageD/directSeeding/liveDividend/liveDividend.wxss b/packageD/directSeeding/liveDividend/liveDividend.wxss
new file mode 100644
index 0000000..66f25f5
--- /dev/null
+++ b/packageD/directSeeding/liveDividend/liveDividend.wxss
@@ -0,0 +1,110 @@
+/* packageD/directSeeding/liveDividend/liveDividend.wxss */
+.liveDividend .liveDividendTop {
+ height: 290rpx;
+ background-color: #f15353;
+ padding-top: 30rpx;
+}
+
+.liveDividend .liveDividendTop .photo {
+ width: 138rpx;
+ height: 138rpx;
+ background-color: #fff;
+ border: solid 4rpx #fff;
+ margin: 0 auto;
+ border-radius: 50%;
+}
+
+.liveDividend .liveDividendTop .photo image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.liveDividend .liveDividendTop .name {
+ font-size: 36rpx;
+ color: #fff;
+ text-align: center;
+}
+
+.liveDividend .liveDividendBottom {
+ width: 690rpx;
+ margin: -60rpx auto 0;
+}
+
+.liveDividend .liveDividendBottom .record {
+ height: 205rpx;
+ background-color: #fff;
+ border-radius: 10rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 22rpx;
+}
+
+.liveDividend .liveDividendBottom .record .record_left,
+.liveDividend .liveDividendBottom .record .record_right {
+ width: 346rpx;
+ text-align: center;
+}
+
+.liveDividend .liveDividendBottom .record .record_center {
+ width: 1rpx;
+ height: 53rpx;
+ background-color: #d1d1d1;
+}
+
+.liveDividend .liveDividendBottom .record .top {
+ font-size: 36rpx;
+ color: #000;
+ margin-bottom: 30rpx;
+}
+
+.liveDividend .liveDividendBottom .record .bottom {
+ height: 23rpx;
+ font-size: 24rpx;
+ color: #333;
+}
+
+.liveDividend .liveDividendBottom .record_list {
+ background: #fff;
+}
+
+.liveDividend .liveDividendBottom .record_list .li {
+ display: flex;
+ justify-content: space-between;
+ height: 109rpx;
+ border-bottom: 1rpx solid #f2f2f7;
+}
+
+.liveDividend .liveDividendBottom .record_list .li .left {
+ padding-top: 15rpx;
+ padding-left: 16rpx;
+}
+
+.liveDividend .liveDividendBottom .record_list .li .left .num {
+ font-size: 24rpx;
+ line-height: 44rpx;
+ color: #333;
+}
+
+.liveDividend .liveDividendBottom .record_list .li .left .data {
+ font-size: 24rpx;
+ color: #999;
+}
+
+.liveDividend .liveDividendBottom .record_list .li .right {
+ padding-top: 15rpx;
+ padding-right: 29rpx;
+}
+
+.liveDividend .liveDividendBottom .record_list .li .right .price {
+ line-height: 44rpx;
+ font-size: 28rpx;
+ color: #f15353;
+}
+
+.liveDividend .liveDividendBottom .record_list .li .right .status {
+ font-size: 24rpx;
+ color: #999;
+ text-align: right;
+}
diff --git a/packageD/directSeeding/liveFanList/liveFanList.js b/packageD/directSeeding/liveFanList/liveFanList.js
new file mode 100644
index 0000000..cd08552
--- /dev/null
+++ b/packageD/directSeeding/liveFanList/liveFanList.js
@@ -0,0 +1,126 @@
+// packageD/directSeeding/liveFanList/liveFanList.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ page: 1, //分页数,当前页数
+ isLoadMore: true, //判断是否要加载更多的标志
+ total_page: 0, //总页
+
+ memberId: 0,
+ listData: [],
+ },
+
+ initData() {
+ this.data.page = 1;
+ this.data.isLoadMore = true;
+ this.data.total_page = 0;
+ },
+ getData() {
+ this.initData();
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.get-fans-list");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ anchor_member_id: this.data.memberId,
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+
+ this.setData({
+ listData: res.data.data,
+ });
+
+ this.data.isLoadMore = true;
+ this.data.total_page = res.data.last_page;
+ if (!this.data.total_page) {
+ this.data.total_page = 0;
+ }
+ },
+ });
+ },
+ _getMoreData() {
+ this.data.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ // that.loading = true;
+ return;
+ } else {
+ this.data.page += 1;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live.get-fans-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ page: this.data.page,
+ anchor_member_id: this.data.memberId,
+ },
+ success: (resdata) => {
+ let res = resdata.data;
+ this.data.isLoadMore = true;
+ if (res.result === 1) {
+ var nextPageData = res.data.data;
+ let listData = this.data.listData.concat(nextPageData);
+ this.setData({ listData });
+ } else {
+ this.data.page = this.data.page - 1;
+ this.data.isLoadMore = false;
+ }
+ },
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.memberId) {
+ this.data.memberId = options.memberId;
+ }
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+});
diff --git a/packageD/directSeeding/liveFanList/liveFanList.json b/packageD/directSeeding/liveFanList/liveFanList.json
new file mode 100644
index 0000000..03c3809
--- /dev/null
+++ b/packageD/directSeeding/liveFanList/liveFanList.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "粉丝列表",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/directSeeding/liveFanList/liveFanList.wxml b/packageD/directSeeding/liveFanList/liveFanList.wxml
new file mode 100644
index 0000000..6ce36c7
--- /dev/null
+++ b/packageD/directSeeding/liveFanList/liveFanList.wxml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
diff --git a/packageD/directSeeding/liveFanList/liveFanList.wxss b/packageD/directSeeding/liveFanList/liveFanList.wxss
new file mode 100644
index 0000000..0954851
--- /dev/null
+++ b/packageD/directSeeding/liveFanList/liveFanList.wxss
@@ -0,0 +1,33 @@
+/* packageD/directSeeding/liveFanList/liveFanList.wxss */
+
+page {
+ background-color: #fff;
+}
+
+.listData .item {
+ height: 3.438rem;
+ display: flex;
+ align-items: center;
+ padding: 0 0.938rem;
+ border-bottom: 0.031rem solid #f2f2f2;
+}
+
+.listData .item .face {
+ width: 1.563rem;
+ height: 1.563rem;
+ border-radius: 50%;
+ background-color: #f8f8fa;
+}
+
+.listData .item .face image {
+ width: 1.563rem;
+ height: 1.563rem;
+ border-radius: 50%;
+ background-color: #f8f8fa;
+}
+
+.listData .item .desc {
+ font-size: 0.875rem;
+ color: #333;
+ padding-left: 0.469rem;
+}
diff --git a/packageD/directSeeding/liveList/liveList.js b/packageD/directSeeding/liveList/liveList.js
new file mode 100644
index 0000000..90f4f24
--- /dev/null
+++ b/packageD/directSeeding/liveList/liveList.js
@@ -0,0 +1,888 @@
+// packageD/directSeeding/liveList/liveList.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ active: 1,
+ status: 3,
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ myConcern: "",
+ announceList: "",
+ broadcastlist: "",
+ apiType: "AllLivelist",
+ playBackData: "",
+ allLivelistData: "",
+ liveBanner: [],
+ // 是否显示面板指示点
+ indicatorDots: true,
+ // 方向
+ vertical: false,
+ // 是否自动切换
+ autoplay: true,
+ // 自动切换时间间隔
+ interval: 4000,
+ // 滑动动画时长
+ duration: 300,
+ playBackShow: false,
+ myConcern_activitys1: [],
+ myConcern_activitys2: [],
+ allLivelistData_activitys1: [],
+ allLivelistData_activitys2: [],
+ recommendData_activitys1: [],
+ recommendData_activitys2: [],
+ broadcastlist_activitys1: [],
+ broadcastlist_activitys2: [],
+ announceList_activitys1: [],
+ announceList_activitys2: [],
+ playBackData_activitys1: [],
+ playBackData_activitys2: [],
+ recommendData: [],
+ live_search: "",
+ my_colOneHeight: 0,
+ my_colTwoHeight: 0,
+ re_colOneHeight: 0,
+ re_colTwoHeight: 0,
+ br_colOneHeight: 0,
+ br_colTwoHeight: 0,
+ an_colOneHeight: 0,
+ an_colTwoHeight: 0,
+ pl_colOneHeight: 0,
+ pl_colTwoHeight: 0,
+ all_colOneHeight: 0,
+ all_colTwoHeight: 0,
+ navlistData: [],
+
+ list_style: 0, //直播列表样式 0为瀑布流布局
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ // this.getMyConcern();
+ // this.getRecommend()
+ this.getBanner();
+ this.getRoomPage();
+ // this.getLiveList(3);
+ this.getPlayBackShow();
+ this.getAllLivelist();
+ if (options.mid) {
+ app._setMid(options.mid);
+ }
+ },
+ //去首页
+ gotoIndex(){
+ wx.reLaunch({
+ url: '/packageG/index/index'
+ });
+ },
+ //自定义图标跳转
+ intbtn(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/liveClassification/liveClassification?id=" +
+ id,
+ });
+ },
+ getRoomPage() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-room-page"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let category = res.data.category ? res.data.category : [];
+ let category_10 = that.chunk(category, 10);
+ that.setData({
+ navlistData: category_10,
+ list_style: Number(res.data.list_style)
+ });
+ //-1关注,0全部,1推荐,2直播中,3预告,4精彩回复
+ if (res.data.wait_page) {
+ that.setData({
+ wait_page: res.data.wait_page,
+ });
+ if (that.data.wait_page == -1) {
+ that.data.apiType = "myConcern";
+ that.data.my_colOneHeight = 0;
+ that.data.my_colTwoHeight = 0;
+ that.setData({
+ myConcern: [],
+ myConcern_activitys1: [],
+ myConcern_activitys2: [],
+ active: 0,
+ });
+ that.getMyConcern();
+ } else if (that.data.wait_page == 0) {
+ that.data.all_colOneHeight = 0;
+ that.data.all_colTwoHeight = 0;
+ that.setData({
+ allLivelistData: [],
+ allLivelistData_activitys1: [],
+ allLivelistData_activitys2: [],
+ active: 1,
+ });
+ that.getAllLivelist();
+ } else if (that.data.wait_page == 1) {
+ that.data.re_colOneHeight = 0;
+ that.data.re_colTwoHeight = 0;
+ that.setData({
+ recommendData: [],
+ recommendData_activitys1: [],
+ recommendData_activitys2: [],
+ active: 2,
+ });
+ that.getRecommend();
+ } else if (that.data.wait_page == 2) {
+ that.data.apiType = "liveList";
+ that.data.status = 3;
+ that.data.br_colOneHeight = 0;
+ that.data.br_colTwoHeight = 0;
+ that.setData({
+ broadcastlist: [],
+ broadcastlist_activitys1: [],
+ broadcastlist_activitys2: [],
+ active: 3,
+ });
+ that.getLiveList(3);
+ } else if (that.data.wait_page == 3) {
+ that.data.apiType = "liveList";
+ that.data.status = 2;
+ that.data.an_colOneHeight = 0;
+ that.data.an_colTwoHeight = 0;
+ that.setData({
+ announceList: [],
+ announceList_activitys1: [],
+ announceList_activitys2: [],
+ active: 4,
+ });
+ that.getLiveList(2);
+ } else if (that.data.wait_page == 4) {
+ that.data.apiType = "playBack";
+ that.data.pl_colOneHeight = 0;
+ that.data.pl_colTwoHeight = 0;
+ that.setData({
+ playBackData: [],
+ playBackData_activitys1: [],
+ playBackData_activitys2: [],
+ active: 5,
+ });
+ that.getplayBack();
+ }
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ searchbtn(e) {
+ let val = e.detail.value;
+ this.setData({
+ live_search: val,
+ });
+ },
+ searchConfirm() {
+ if (this.data.apiType == "myConcern") {
+ this.data.my_colOneHeight = 0;
+ this.data.my_colTwoHeight = 0;
+ this.setData({
+ myConcern: [],
+ myConcern_activitys1: [],
+ myConcern_activitys2: [],
+ });
+ this.getMyConcern();
+ } else if (this.data.apiType == "recommend") {
+ this.data.re_colOneHeight = 0;
+ this.data.re_colTwoHeight = 0;
+ this.setData({
+ recommendData: [],
+ recommendData_activitys1: [],
+ recommendData_activitys2: [],
+ });
+ this.getRecommend();
+ } else if (this.data.apiType == "liveList") {
+ if (this.data.status == 3) {
+ this.data.br_colOneHeight = 0;
+ this.data.br_colTwoHeight = 0;
+ this.setData({
+ broadcastlist: [],
+ broadcastlist_activitys1: [],
+ broadcastlist_activitys2: [],
+ });
+ this.getLiveList(3);
+ } else if (this.data.status == 2) {
+ this.data.an_colOneHeight = 0;
+ this.data.an_colTwoHeight = 0;
+ this.setData({
+ announceList: [],
+ announceList_activitys1: [],
+ announceList_activitys2: [],
+ });
+ this.getLiveList(2);
+ }
+ } else if (this.data.apiType == "playBack") {
+ this.data.pl_colOneHeight = 0;
+ this.data.pl_colTwoHeight = 0;
+ this.setData({
+ playBackData: [],
+ playBackData_activitys1: [],
+ playBackData_activitys2: [],
+ });
+ this.getplayBack();
+ } else if (this.data.apiType == "AllLivelist") {
+ this.data.all_colOneHeight = 0;
+ this.data.all_colTwoHeight = 0;
+ this.setData({
+ allLivelistData: [],
+ allLivelistData_activitys1: [],
+ allLivelistData_activitys2: [],
+ });
+ this.getAllLivelist();
+ }
+ },
+ getPlayBackShow() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live-list.record");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ playBackShow: res.data.result == 1 ? true : false,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ chunk(arr, n) {
+ var result = [];
+ for (var i = 0, len = arr.length; i < len; i += n) {
+ result.push(arr.slice(i, i + n));
+ }
+ return result;
+ },
+ getBanner() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live-list.banner");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ liveBanner: res.data,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ goUrl(e) {
+ let url = e.currentTarget.dataset.url;
+ if (url) {
+ try {
+ wx.navigateTo({
+ url: url,
+ });
+ } catch (e) {
+ wx.showToast({
+ title: "链接设置错误:" + url,
+ icon: "none",
+ duration: 2000,
+ });
+ //TODO handle the exception
+ }
+ }
+ },
+ getMyConcern() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-concern"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: 1,
+ keyword: 1,
+ },
+ // this.data.live_search
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ myConcern: res.data.data,
+ total_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getLiveList(type) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ status: type,
+ page: 1,
+ keyword: this.data.live_search,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (type == 2) {
+ that.setData({
+ total_page: res.data.last_page,
+ announceList: res.data.data,
+ });
+ } else if (type == 3) {
+ that.setData({
+ total_page: res.data.last_page,
+ broadcastlist: res.data.data,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ var value = wx.getStorageSync("yz_uid");
+ var mid = "";
+ if (value) {
+ mid = value;
+ }
+ return {
+ path: "/packageD/directSeeding/liveList/liveList?mid=" + mid,
+ };
+ },
+ //跳转直播页
+ golivePage(e) {
+ let id = e.currentTarget.dataset.id;
+ let status = e.currentTarget.dataset.status;
+ let memberid = e.currentTarget.dataset.memberid;
+ console.log(e);
+ if (status == 1) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=live",
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/anchorDetail/anchorDetail?id=" + memberid,
+ });
+ }
+ },
+ //跳转直播预告
+ goforeshow(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageD/directSeeding/foreshow/foreshow?id=" + id,
+ });
+ },
+ gopage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 1) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=live",
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=video" +
+ "&backid=" +
+ backid,
+ });
+ }
+ },
+ golistPage(e) {
+ let status = e.currentTarget.dataset.status;
+ let id = e.currentTarget.dataset.id;
+ let backid = e.currentTarget.dataset.backid;
+ if (status == 3) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=live",
+ });
+ } else if (status == 2) {
+ wx.navigateTo({
+ url: "/packageD/directSeeding/foreshow/foreshow?id=" + id,
+ });
+ } else if (status == 4) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ id +
+ "&playerType=video" +
+ "&backid=" +
+ backid,
+ });
+ }
+ },
+ //获取更多数据
+ _getMoreData() {
+ const that = this;
+ let json = {};
+ let api = "";
+ let urlStr = "";
+ that.data.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ if (this.data.apiType == "myConcern") {
+ api = "plugin.room.frontend.live-list.get-live-concern";
+ json = {
+ page: this.data.page,
+ };
+ } else if (that.data.apiType == "AllLivelist") {
+ api = "plugin.room.frontend.live-list.get-all-live-list";
+ json = {
+ page: this.data.page,
+ };
+ } else if (that.data.apiType == "playBack") {
+ api = "plugin.room.frontend.live-list.play-back";
+ json = {
+ page: this.data.page,
+ };
+ }
+ // else if (that.data.apiType == "recommend") {
+ // }
+ else {
+ api = "plugin.room.frontend.live-list.get-live-list";
+ json = {
+ status: this.data.status,
+ page: this.data.page,
+ };
+ }
+ json.keyword = this.data.live_search;
+ urlStr = app.getNetAddresss(api);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.apiType == "myConcern") {
+ that.setData({
+ isLoadMore: true,
+ myConcern: that.data.myConcern.concat(res.data.data),
+ });
+ } else if (that.data.apiType == "playBack") {
+ that.setData({
+ isLoadMore: true,
+ playBackData: that.data.playBackData.concat(res.data.data),
+ });
+ } else if (that.data.apiType == "AllLivelist") {
+ that.setData({
+ isLoadMore: true,
+ allLivelistData: that.data.allLivelistData.concat(
+ res.data.data
+ ),
+ });
+ }
+ // else if (that.data.apiType == "recommend") {
+ // }
+ else {
+ if (that.data.status == 2) {
+ that.setData({
+ isLoadMore: true,
+ announceList: that.data.announceList.concat(res.data.data),
+ });
+ } else if (that.data.status == 3) {
+ that.setData({
+ isLoadMore: true,
+ broadcastlist: that.data.broadcastlist.concat(res.data.data),
+ });
+ }
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ getplayBack() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live-list.play-back");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: 1,
+ keyword: this.data.live_search,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ playBackData: res.data.data,
+ total_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ if (this.data.apiType !== "recommend") {
+ this._getMoreData();
+ }
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ this.setData({
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ live_search: "",
+ });
+ if (index == 0) {
+ this.data.apiType = "myConcern";
+ this.getMyConcern();
+ } else if (index == 1) {
+ this.data.apiType = "AllLivelist";
+ this.getAllLivelist();
+ } else if (index == 2) {
+ this.data.apiType = "recommend";
+ this.getRecommend();
+ } else if (index == 3) {
+ this.data.apiType = "liveList";
+ this.data.status = 3;
+ this.getLiveList(3);
+ } else if (index == 4) {
+ this.data.apiType = "liveList";
+ this.data.status = 2;
+ this.getLiveList(2);
+ } else if (index == 5) {
+ this.data.apiType = "playBack";
+ this.getplayBack();
+ }
+ },
+ getAllLivelist() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-all-live-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ page: 1,
+ keyword: this.data.live_search,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ allLivelistData: res.data.data,
+ total_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getRecommend() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-recommend"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ keyword: this.data.live_search,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ recommendData: res.data,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ goPlayBackData(e) {
+ let roomid = e.currentTarget.dataset.roomid;
+ let backid = e.currentTarget.dataset.backid;
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ roomid +
+ "&playerType=video" +
+ "&backid=" +
+ backid,
+ });
+ },
+ onImageError(options) {
+ let index = options.target.dataset.index;
+ let seltype = options.target.dataset.seltype;
+ // let currentId = options.currentTarget.id;
+ console.log("图片加载发生错误");
+ this.onImageLoad({
+ target: {
+ dataset: {
+ index: index,
+ seltype: seltype,
+ },
+ },
+ detail: {
+ width: 2340,
+ height: 1080,
+ },
+ });
+ },
+ /**
+ * 图片加载函数
+ * 图片加载完成后,根据图片的高度,依次往第一列和第二列中推入数据
+ */
+ onImageLoad(options) {
+ let index = options.target.dataset.index;
+ let seltype = options.target.dataset.seltype;
+ let imageWidth = options.detail.width; // 图片宽度
+ let imageHeight = options.detail.height; // 图片高度
+ let activityObj = null;
+ let scle = imageWidth / imageHeight;
+ if (seltype == "myConcern") {
+ let activitys = this.data.myConcern; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.myConcern_activitys1;
+ let activitys2 = this.data.myConcern_activitys2;
+ if (this.data.my_colOneHeight <= this.data.my_colTwoHeight) {
+ this.data.my_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.my_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ myConcern_activitys1: activitys1,
+ myConcern_activitys2: activitys2,
+ });
+ } else if (seltype == "recommend") {
+ let activitys = this.data.recommendData; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.recommendData_activitys1;
+ let activitys2 = this.data.recommendData_activitys2;
+ if (this.data.re_colOneHeight <= this.data.re_colTwoHeight) {
+ this.data.re_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.re_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ recommendData_activitys1: activitys1,
+ recommendData_activitys2: activitys2,
+ });
+ } else if (seltype == "AllLivelist") {
+ let activitys = this.data.allLivelistData; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.allLivelistData_activitys1;
+ let activitys2 = this.data.allLivelistData_activitys2;
+ if (this.data.all_colOneHeight <= this.data.all_colTwoHeight) {
+ this.data.all_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.all_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ allLivelistData_activitys1: activitys1,
+ allLivelistData_activitys2: activitys2,
+ });
+ } else if (seltype == "liveList_1") {
+ let activitys = this.data.broadcastlist; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.broadcastlist_activitys1;
+ let activitys2 = this.data.broadcastlist_activitys2;
+ if (this.data.br_colOneHeight <= this.data.br_colTwoHeight) {
+ this.data.br_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.br_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ broadcastlist_activitys1: activitys1,
+ broadcastlist_activitys2: activitys2,
+ });
+ } else if (seltype == "liveList_2") {
+ let activitys = this.data.announceList; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.announceList_activitys1;
+ let activitys2 = this.data.announceList_activitys2;
+ if (this.data.an_colOneHeight <= this.data.an_colTwoHeight) {
+ this.data.an_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.an_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ announceList_activitys1: activitys1,
+ announceList_activitys2: activitys2,
+ });
+ } else if (seltype == "playBack") {
+ let activitys = this.data.playBackData; // 获取所有的数据资源
+ activityObj = activitys[index];
+ let activitys1 = this.data.playBackData_activitys1;
+ let activitys2 = this.data.playBackData_activitys2;
+ if (this.data.pl_colOneHeight <= this.data.pl_colTwoHeight) {
+ this.data.pl_colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ this.data.pl_colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+ this.setData({
+ playBackData_activitys1: activitys1,
+ playBackData_activitys2: activitys2,
+ });
+ }
+ },
+});
diff --git a/packageD/directSeeding/liveList/liveList.json b/packageD/directSeeding/liveList/liveList.json
new file mode 100644
index 0000000..4d4e442
--- /dev/null
+++ b/packageD/directSeeding/liveList/liveList.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "直播列表",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-popup": "../../../dist/popup/index"
+ }
+}
diff --git a/packageD/directSeeding/liveList/liveList.wxml b/packageD/directSeeding/liveList/liveList.wxml
new file mode 100644
index 0000000..3c90ebd
--- /dev/null
+++ b/packageD/directSeeding/liveList/liveList.wxml
@@ -0,0 +1,792 @@
+
+
+ 首页
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickname }}
+
+
+ 直播中
+ {{ item.view_num }}人观看
+
+
+
+ {{ item.title }}
+
+
+
+ ¥ {{ goods.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+
+ 预告
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+
+ 预告
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+
+ 预告
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickname }}
+
+
+ {{ item.play_type == "1" ? "直播中" : "回放" }}
+ {{ item.view_num }}人观看
+
+
+
+ {{ item.title }}
+
+
+
+ ¥ {{ goods.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickname }}
+
+
+ {{ item.play_type == "1" ? "直播中" : "回放" }}
+ {{ item.view_num }}人观看
+
+
+
+ {{ item.title }}
+
+
+
+ ¥ {{ goods.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickname }}
+
+
+ 直播中
+ {{ item.view_num }}人观看
+
+
+
+ {{ item.title }}
+
+
+
+ ¥ {{ goods.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 预告
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickname }}
+
+
+ 预告
+
+
+
+
+ {{ item.title }}
+
+
+
+ ¥ {{ goods.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+ 回放
+ {{item.view_num}}观看
+
+
+
+
+
+ {{item.goods_num}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickname }}
+
+
+ 回放
+ {{ item.view_num }}人观看
+
+
+
+ {{ item.title }}
+
+
+
+ ¥ {{ goods.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/directSeeding/liveList/liveList.wxss b/packageD/directSeeding/liveList/liveList.wxss
new file mode 100644
index 0000000..f939279
--- /dev/null
+++ b/packageD/directSeeding/liveList/liveList.wxss
@@ -0,0 +1,471 @@
+.liveList {
+ background: #fff;
+}
+
+.liveList .search {
+ display: flex;
+ align-items: center;
+ padding-top: 21rpx;
+ padding-bottom: 14rpx;
+ background-color: #fff;
+}
+
+.liveList .search .left {
+ font-size: 36rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-left: 39rpx;
+ padding-right: 39rpx;
+}
+
+.liveList .search .right {
+ width: 516rpx;
+ height: 56rpx;
+ background-color: #eee;
+ box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(82, 82, 82, 0.04);
+ border-radius: 28rpx;
+ display: flex;
+ align-items: center;
+}
+
+.liveList .search .right .icon-sousuo1 {
+ margin-left: 40rpx;
+ margin-right: 20rpx;
+ font-size: 29rpx;
+ color: #ddd;
+}
+
+.liveList .search .right input {
+ flex: 1;
+ font-size: 28rpx;
+ margin-right: 40rpx;
+}
+
+.liveList .liveBanner {
+ padding-top: 17rpx;
+ width: 700rpx;
+ border-radius: 29rpx;
+ margin: 0 auto;
+ padding-bottom: 30rpx;
+}
+
+.living_content {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ padding-top: 40rpx;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.liveList .living {
+ width: 340rpx;
+ padding-bottom: 56rpx;
+ position: relative;
+ background-color: #fff;
+ border-radius: 25rpx;
+ margin-bottom: 13rpx;
+}
+
+.liveList .living .bg {
+ width: 340rpx;
+ min-height: 230rpx;
+ background-color: #fff;
+ border-radius: 25rpx;
+ position: relative;
+}
+
+.liveList .living .bg image {
+ border-radius: 25rpx;
+ width: 100%;
+
+ /* height: 100%; */
+}
+
+.liveList .living .bg .content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+}
+
+.liveList .living .bg .content .live_top {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 19rpx;
+ padding-left: 10rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_left {
+ min-width: 206rpx;
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.liveList .living .bg .content .live_top .live_top_left .left {
+ width: 90rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .live_top_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.liveList .living .bg .content .live_top .seeding_left {
+ /* min-width: 206rpx; */
+ height: 39rpx;
+ background-color: rgba(0, 0, 0, 0.1);
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.liveList .living .bg .content .live_top .seeding_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #999;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .seeding_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.liveList .living .bg .content .live_top .advance_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .live_top_right {
+ width: 59rpx;
+ position: relative;
+ margin-right: 7rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .little_icon {
+ width: 50rpx;
+ height: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .little_icon .icon-zb_goods {
+ color: #ffa303;
+ font-size: 50rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .num {
+ min-width: 50rpx;
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+ height: 22rpx;
+ background-color: #fff;
+ border-radius: 9rpx;
+ position: absolute;
+ right: -2rpx;
+ top: 6rpx;
+ font-size: 20rpx;
+ line-height: 22rpx;
+ color: #f00;
+ text-align: center;
+ overflow: hidden;
+}
+
+.liveList .living .bg .live_bottom {
+ position: absolute;
+ height: 72rpx;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #fff;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+}
+
+.liveList .living .bootom {
+ position: absolute;
+ display: flex;
+ bottom: 10rpx;
+ left: 0;
+ right: 0;
+}
+
+.liveList .living .bootom .left {
+ width: 56rpx;
+ height: 56rpx;
+ background-color: #fff;
+ border: solid 4rpx #fff;
+ border-radius: 50%;
+ margin-right: 9rpx;
+ margin-left: 6rpx;
+}
+
+.liveList .living .bootom .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.liveList .living .bootom .right {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-top: 20rpx;
+ flex: 1;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.loading {
+ width: 100%;
+ height: 400rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.loading .content {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.loading .content image {
+ width: 100%;
+ height: 100%;
+}
+
+.nav_list .ul {
+ /* margin-top: 28rpx; */
+ padding: 0;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.nav_list .ul .li {
+ width: 20%;
+ margin-bottom: 20rpx;
+}
+
+.nav_list .ul .li .image {
+ height: 11vw;
+ overflow: hidden;
+}
+
+.nav_list .ul .li .image {
+ display: flex;
+ justify-content: center;
+}
+
+.nav_list .ul .li image {
+ width: 50%;
+ vertical-align: middle;
+ height: 90%;
+ border-radius: 50%;
+}
+
+.nav_list .ul .li .p {
+ margin: 0;
+ font-size: 24rpx;
+ line-height: 36rpx;
+ max-height: 72rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -webkit-line-clamp: 2;
+ padding: 0 16rpx;
+ display: block;
+ text-align: center;
+}
+
+.sw_list_6 {
+ height: 160rpx;
+}
+
+.second-list-style {
+ display: flex;
+ flex-direction: column;
+ padding: 28rpx;
+ background: #f2f2f2;
+}
+
+.second-list-style .second-li {
+ background: #fff;
+ border-radius: 28rpx;
+ overflow: hidden;
+ margin-bottom: 24rpx;
+ padding: 20rpx;
+ display: flex;
+}
+
+.second-list-style .second-li .second-li-left {
+ width: 268rpx;
+ height: 230rpx;
+ border-radius: 15rpx;
+ overflow: hidden;
+ margin-right: 16rpx;
+ position: relative;
+}
+
+.second-list-style .second-li .second-li-left .cover {
+ display: block;
+ width: 100%;
+ height: 100%;
+}
+
+.second-list-style .second-li .second-li-left .title {
+ display: flex;
+ overflow: hidden;
+ position: absolute;
+ bottom: 16rpx;
+ left: 0;
+ width: 100%;
+ padding: 0 16rpx;
+}
+
+.second-list-style .second-li .second-li-left .title image {
+ width: 40rpx;
+ height: 40rpx;
+ background-color: #fff;
+ border-radius: 50%;
+ overflow: hidden;
+ flex-shrink: 0;
+ margin-right: 16rpx;
+}
+
+.second-list-style .second-li .second-li-left .title .name {
+ flex: 1;
+ text-align: left;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+.second-list-style .second-li .second-li-left .top {
+ position: absolute;
+ top: 16rpx;
+ left: 8rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 4.8rpx;
+ color: #fff;
+ padding: 0 4.8rpx 0 0;
+ font-size: 12px;
+ height: 40rpx;
+ line-height: 40rpx;
+}
+
+.second-list-style .second-li .second-li-left .top .red {
+ background-color: #f10303;
+ border-radius: 4.8rpx;
+ padding: 0 8rpx;
+ margin-right: 6.4rpx;
+ display: inline-block;
+ height: 100%;
+}
+
+.second-list-style .second-li .second-li-left .top .van-count-down {
+ display: inline-block;
+ color: #fff;
+ font-size: 14px;
+}
+
+.second-list-style .second-li .second-li-left .top .huifan_color {
+ background-color: #999;
+}
+
+.second-list-style .second-li .second-li-right {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+}
+
+.second-list-style .second-li .second-li-right .live-title {
+ text-align: left;
+ line-height: 36rpx;
+ height: 76rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.second-list-style .second-li .second-li-right .live-goods {
+ display: flex;
+}
+
+.second-list-style .second-li .second-li-right .live-goods .goods-item {
+ position: relative;
+ overflow: hidden;
+ border-radius: 10rpx;
+ width: 150rpx;
+ height: 150rpx;
+ background-color: #a0a0a0;
+ margin-left: 16rpx;
+}
+
+.second-list-style .second-li .second-li-right .live-goods .goods-item image {
+ width: 100%;
+ height: 100%;
+}
+
+.second-list-style .second-li .second-li-right .live-goods .goods-item .goods-price {
+ position: absolute;
+ width: 100%;
+ left: 0;
+ bottom: 0;
+ max-height: 64rpx;
+ line-height: 22rpx;
+ padding: 4px 0;
+ font-size: 10px;
+ color: #fff;
+ background-color: rgba(0, 0, 0, 0.5);
+}
+
+.second-list-style .second-li .second-li-right .live-goods .goods-item:nth-child(1) {
+ margin: 0;
+}
diff --git a/packageD/directSeeding/livePage/livePage.js b/packageD/directSeeding/livePage/livePage.js
new file mode 100644
index 0000000..5c67ef8
--- /dev/null
+++ b/packageD/directSeeding/livePage/livePage.js
@@ -0,0 +1,4391 @@
+// packageD/directSeeding/livePage/livePage.js
+let app = getApp();
+let clicktag = 0;
+const queue = {};
+let timer = 0;
+let timer_1 = 0;
+let timer_2 = null;
+let timer_3 = null;
+let timer_4 = 0;
+// let activityTime = null;
+let ctx = null;
+let myCanvasWidth = null;
+let myCanvasHeight = null;
+let unit = "";
+let canvasDpr = 1;
+import TIM from "../../tim-wx-sdk/tim-wx";
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ isShowADLook: true, //广告列表按钮
+ isShowADPut: true, //广告投放按钮
+ close_reward: 0, //是否关闭打赏,1是,0否
+ close_chat: 0, //是否关闭评论,1是,0否
+ giftEffectsTime: null, //打赏特效定时器
+ specialList: [], //打赏特效
+ language: "",
+ inputInfo: "",
+ statusBarHeight: 0,
+ navBarHeight: 0,
+ showUser: false,
+ shade: false,
+ showGoodLift: false,
+ showGift: false,
+ showactivity: false,
+ showavticeFail: false,
+ mainCommentShow: false,
+ style_img: "",
+ width: 60,
+ height: 260,
+ //公告栏效果
+ tipsContentHeight: 0,
+ tipsContent: [],
+ tipsContentMsssage: "",
+ tipsopacity: 0,
+ tipsopacityBol: false,
+ //礼物滚动
+ widthAll: 0,
+ giftScreenLeft: 0,
+ giftwidth: 0,
+ giftScreenLeftBol: true,
+ firstwidth: "",
+ activeNum: "",
+ giftListContent: [],
+ giftListmessage: {},
+ //是否关注
+ focusBol: true,
+ // followSuccessBol: false,
+ //礼物选择
+ giftSelectId: "",
+ giftListData: "",
+ giftSelectNUm: 0,
+ //
+ roomData: "",
+ giftMemberData: "",
+ id: "",
+ room_id: "",
+ postData: {},
+ anchorPopupData: "",
+ //
+ heightauto: "auto",
+ widthauto: "auto",
+ screeheight: "",
+ //直播类型
+ playerType: "live",
+ //滑动列表
+ liveListData: [],
+ backid: "",
+ last_room_id: "",
+ last_backid: "",
+ //more
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ //营销活动
+ activityData: "",
+ lasttime: "",
+ activityTimeArray: [],
+ activityDataArray: [],
+ //消息列表
+ messageList: [],
+ messagesTop: 0,
+ view_num: 0,
+ giftSelectBol: false,
+ roomMemberContent: [],
+ roomMemberContentArray: [],
+ roomMemberTimeArray: [],
+ playBackUrl: "plugin.room.frontend.live-list.play-back",
+ memberid: "",
+ loadingImg: true,
+ loadingMessage: "海报生成中",
+ tim: "",
+ shownum: 0,
+ likeNumBol: true,
+ lastGroupId: "",
+ pauseBol: true,
+ catMessagebol: true,
+ wechatpayShow: false,
+ roomObj: "",
+ usewechatpayBol: false,
+ moreShowBol: false,
+ memberBol: false,
+ room_ban: false,
+ explainingGoods: {
+ goods_id: "",
+ },
+ commoditiesshow: true,
+ picturemodeshow: true,
+ imReadly: true,
+ sendMessageReadly: true,
+ SDKAppID: "",
+ activityDataBtnBol: false,
+ roomMemberBtnBol: false,
+ permissionsShow: true,
+ passwordShow: false,
+ passwordVal: "",
+ passwordIndex: undefined,
+ IMmessage: {},
+ changeAnchor: true, //滑动改变直播间时
+ luck_number: 0,
+
+ showPosterWord: false,
+ diyPosterWord: "",
+ oldWord:'',
+ chatInputBottom:0,//键盘弹起时,input高度问题
+
+ isLivePK: false,
+ livePKData:{},
+ livePKSrc:'',
+ startPKTime: null,
+ pkTimer: null,
+ PKTimed: "00:00:00", //连麦已进行的时长
+ mode_button: 1, //0为竖屏,1为横屏
+ // 观看时长定时器
+ rewardTimeOut:null,
+ // 推广id
+ code_id:'',
+ // 直播进入小窗
+ smallWindowIn:false
+ },
+
+ gotoFanList() {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/liveFanList/liveFanList?memberId=" +
+ this.data.id,
+ });
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ let that = this;
+ setTimeout(function () {
+ wx.hideLoading();
+ }, 10000);
+ setTimeout(function () {
+ that.data.imReadly = false;
+ that.data.sendMessageReadly = false;
+ }, 5000);
+ this.setData({
+ code_id:null
+ });
+ // console.log('重新启动清除一下推广id',this.data.code_id)
+ if (options.scene) {
+ let scene = decodeURIComponent(options.scene);
+ if (scene) {
+ var info_arr = [];
+ info_arr = scene.split(",");
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split("=");
+ if (chil_arr[0] == "id") {
+ this.setData({
+ room_id: chil_arr[1],
+ });
+ } else if (chil_arr[0] == "pT") {
+ this.setData({
+ playerType: chil_arr[1],
+ });
+ } else if (chil_arr[0] == "bid") {
+ this.setData({
+ backid: chil_arr[1],
+ });
+ } else if (chil_arr[0] == "meid") {
+ this.setData({
+ memberid: chil_arr[1],
+ });
+ } else if (chil_arr[0] == "mid") {
+ app._setMid(chil_arr[1]);
+ } else if (chil_arr[0] == "cd") {
+ this.setData({
+ code_id : chil_arr[1]
+ });
+ }else if (chil_arr[0] == "T") {
+ if (chil_arr[1] == 1) {
+ this.setData({
+ playerType: "live",
+ });
+ } else {
+ this.setData({
+ playerType: "video",
+ });
+ }
+ } else if (chil_arr[0] == "D") {
+ this.setData({
+ memberBol: true,
+ });
+ }
+ }
+ }
+ } else {
+ if (options.mid) {
+ app._setMid(options.mid);
+ this.newMedia(4);
+ }
+ if (options.id) {
+ this.setData({
+ room_id: options.id,
+ });
+ }
+ if(options.cd){
+ this.setData({
+ code_id:options.cd
+ });
+ }
+ //判断直播类型是回放还是直播 live:直播 video:回放
+ if (options.playerType) {
+ this.setData({
+ playerType: options.playerType,
+ });
+ }
+ //回放id
+ if (options.backid) {
+ this.setData({
+ backid: options.backid,
+ });
+ }
+ if (options.memberid) {
+ this.setData({
+ memberid: options.memberid,
+ });
+ }
+ }
+ let { statusBarHeight, navBarHeight } = app.globalData;
+ this.setData({
+ statusBarHeight,
+ navBarHeight,
+ });
+ this.getsdkappid();
+ this.newMedia(3);
+ //创建点赞动画标签
+ // this.getGiftEffect(); //开启礼物效果
+ // this.getData(); //获取数据
+ // this.getPoster(); //加载海报
+ },
+ permissionsShowBtn() {
+ this.setData({
+ permissionsShow: !this.data.permissionsShow,
+ });
+ },
+ passwordValInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ passwordVal: val,
+ });
+ },
+ commoditiesclosebtn() {
+ this.setData({
+ commoditiesshow: false,
+ });
+ },
+ getmoreBtn() {
+ this.setData({
+ moreShowBol: true,
+ });
+ },
+ showShoplistBtn(e) {
+ let index = e.currentTarget.dataset.index;
+ this.setData({
+ ["roomData.diy_menu[" + index + "].show"]: true,
+ });
+ },
+ moreShowCloseBtn() {
+ this.setData({
+ moreShowBol: false,
+ });
+ },
+ gooption(e) {
+ let index = e.currentTarget.dataset.index;
+ let url = this.data.roomData.diy_option[index].min_url;
+ if (url) {
+ try {
+ wx.navigateTo({
+ url: url,
+ });
+ } catch (e) {
+ wx.showToast({
+ title: "链接设置错误:" + url,
+ icon: "none",
+ duration: 2000,
+ });
+ //TODO handle the exception
+ }
+ } else {
+ wx.showToast({
+ title: "链接未设置",
+ icon: "none",
+ duration: 2000,
+ });
+ }
+ },
+ gomenu(e) {
+ let index = e.currentTarget.dataset.index;
+ let url = this.data.roomData.diy_menu[index].min_url;
+ if (url) {
+ try {
+ wx.navigateTo({
+ url: url,
+ });
+ } catch (e) {
+ wx.showToast({
+ title: "链接设置错误:" + url,
+ icon: "none",
+ duration: 2000,
+ });
+ }
+ } else {
+ wx.showToast({
+ title: "链接未设置",
+ icon: "none",
+ duration: 2000,
+ });
+ }
+ },
+ usewechatpay() {
+ var that = this;
+ if (this.data.usewechatpayBol) {
+ return false;
+ }
+ that.data.usewechatpayBol = true;
+ let urlStr = app.getNetAddresss("finance.balance.recharge");
+ if (!that.data.giftmoney) {
+ wx.showToast({
+ icon: "none",
+ title: that.data.giftMemberData.credit2_name
+ ? "充值" + that.data.giftMemberData.credit2_name + "不小于0"
+ : "充值余额不小于0",
+ duration: 1500,
+ });
+ that.setData({
+ wechatpayShow: false,
+ });
+ return false;
+ }
+ urlStr += "&client_type=2";
+ urlStr += "&app_type=wechat";
+ urlStr += "&pay_type=1";
+ urlStr += "&recharge_money=" + that.data.giftmoney;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var pay_data = res.data.config;
+ var payParams = {
+ timeStamp: pay_data.timestamp,
+ nonceStr: pay_data.nonceStr,
+ package: pay_data.package,
+ signType: pay_data.signType,
+ paySign: pay_data.paySign,
+ };
+ that.WXPay(payParams);
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ that.setData({
+ wechatpayShow: false,
+ });
+ that.data.usewechatpayBol = false;
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ WXPay(payParams) {
+ let that = this;
+ wx.requestPayment({
+ timeStamp: payParams.timeStamp,
+ nonceStr: payParams.nonceStr,
+ package: payParams.package,
+ signType: payParams.signType ? payParams.signType : "MD5",
+ paySign: payParams.paySign,
+ success: function (res) {
+ that.giftwechatpay();
+ that.data.usewechatpayBol = false;
+ },
+ fail: function (res) {
+ wx.showToast({
+ title: "支付失败请稍后重试",
+ icon: "none",
+ duration: 2000,
+ success: function () {},
+ fail: function () {},
+ });
+ that.data.usewechatpayBol = false;
+ },
+ });
+ },
+ wechatpayShowCloseBtn() {
+ this.setData({
+ wechatpayShow: false,
+ });
+ },
+ giftwechatpay() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.reward.index");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ reward_type: this.data.activeNum,
+ room_id: this.data.room_id,
+ reward_id: this.data.giftSelectId,
+ number: this.data.giftmoney,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "打赏成功",
+ duration: 1500,
+ });
+ that.setData({
+ wechatpayShow: false,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ that.data.giftSelectBol = false;
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getmemberid() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor.get-member-id"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ room_id: this.data.room_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ memberid: res.data.member_id,
+ });
+ that.getplayBack();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getsdkappid() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.im.get-im-sdk");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let options = {
+ SDKAppID: res.data.sdkappid, // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID
+ };
+ if (res.data.sdkappid) {
+ that.data.SDKAppID = res.data.sdkappid;
+ }
+ // 创建 SDK 实例,`TIM.create()`方法对于同一个 `SDKAppID` 只会返回同一份实例
+ that.data.tim = TIM.create(options); // SDK 实例通常用 tim 表示
+ that.data.tim.setLogLevel(0);
+ that.chatEventList(); //加载聊天事件
+ if (that.data.playerType == "live") {
+ wx.showLoading({
+ title: "直播加载中...",
+ });
+ that.data.roomObj = wx.createLivePlayerContext(
+ "liveid_" + that.data.room_id
+ );
+ that.getLiveList();
+ } else if (that.data.playerType == "video") {
+ if (that.data.memberid || that.data.memberBol) {
+ that.data.playBackUrl = "plugin.room.frontend.anchor.get-back";
+ if (that.data.memberid) {
+ that.getplayBack();
+ } else {
+ that.getmemberid();
+ }
+ } else {
+ that.getplayBack();
+ }
+ }
+ that.getinformation(); // 获取屏幕宽度
+ that.getMyCanvasMessage(); // 获取海报画布宽高
+ ctx = wx.createCanvasContext("bubble");
+ that.getTipsContent(); //开启公告栏效果
+ // that.getGiftList(); //获取礼物列表数据
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ setGoods(e) {
+ let that = this;
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url:
+ "/packageA/detail_v2/detail_v2?id=" +
+ id +
+ "&liveshow=1&roomid=" +
+ that.data.room_id,
+ });
+ },
+ //记录进入直播间
+ comeRoom() {
+ if (this.data.IMmessage.come == 1) {
+ this.catComeMessage();
+ }
+ if (this.data.IMmessage.welcome == 1) {
+ this.catWelcomeMessage();
+ }
+ },
+ //创建进入直播间自定义模版
+ catComeMessage() {
+ let that = this;
+ let messageData = {};
+ let Json = {
+ memberId: this.data.roomData.userID ? this.data.roomData.userID : "",
+ nickname: this.data.roomData.userNickname
+ ? this.data.roomData.userNickname
+ : "",
+ memberAvatar: this.data.roomData.userAvatar
+ ? this.data.roomData.userAvatar
+ : "",
+ };
+ messageData = {
+ to: that.data.roomData.groupId,
+ conversationType: TIM.TYPES.CONV_GROUP,
+ payload: {
+ data: "自定义文本", // 用于标识该类型消息
+ description: JSON.stringify(Json),
+ extension: "come",
+ },
+ };
+
+ let message = that.data.tim.createCustomMessage(messageData);
+ let promise = that.data.tim.sendMessage(message);
+ let tipsContent = that.data.tipsContent;
+ promise
+ .then(function (imResponse) {
+ // 发送成功
+ tipsContent.push({
+ type: "come",
+ nickname: Json.nickname,
+ });
+ that.data.tipsContent = tipsContent;
+ console.log("xx进入直播间提示成功:::");
+ })
+ .catch(function (imError) {
+ // 发送失败
+ wx.showToast({
+ icon: "none",
+ title: "进入直播间提示失败:::" + imError,
+ duration: 1200,
+ });
+ console.warn("sendMessage error:", imError);
+ });
+ },
+ //创建 进入直播间欢迎文字 自定义模版
+ catWelcomeMessage() {
+ let that = this;
+ let messageData = {};
+ let Json = {
+ content: this.data.IMmessage.welcome_content,
+ };
+ messageData = {
+ to: that.data.roomData.groupId,
+ conversationType: TIM.TYPES.CONV_GROUP,
+ payload: {
+ data: "自定义文本", // 用于标识该类型消息
+ description: JSON.stringify(Json),
+ extension: "welcome",
+ },
+ };
+
+ let message = that.data.tim.createCustomMessage(messageData);
+ let promise = that.data.tim.sendMessage(message);
+ let messageList = that.data.messageList;
+ promise
+ .then(function (imResponse) {
+ // 发送成功
+ messageList.push({
+ content: Json.content,
+ });
+ that.setData({
+ messageList,
+ messagesTop: messageList.length * 1000,
+ });
+ console.log("进入直播间自动回复成功提示:::");
+ })
+ .catch(function (imError) {
+ // 发送失败
+ wx.showToast({
+ icon: "none",
+ title: "进入直播间自动回复提示失败:::" + imError,
+ duration: 1200,
+ });
+ console.warn("sendMessage error:", imError);
+ });
+ },
+ activeRoomSet() {
+ let that = this;
+ if (this.data.IMmessage) {
+ if (
+ this.data.IMmessage.now_goods &&
+ this.data.IMmessage.now_goods.goods_id
+ ) {
+ //当前讲解商品
+ that.setData({
+ explainingGoods: this.data.IMmessage.now_goods,
+ });
+ }
+ if (this.data.IMmessage.room_ban == 1) {
+ //禁入直播间
+ that.setData({
+ picturemodeshow: false,
+ });
+ wx.showModal({
+ title: "提示",
+ content: "您已被禁入直播间",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ },
+ });
+ return;
+ }
+ if (this.data.IMmessage.chat_ban == 1) {
+ wx.showModal({
+ title: "提示",
+ content: "您已经被禁言",
+ showCancel: false,
+ success(res) {},
+ });
+ that.setData({
+ room_ban: true,
+ });
+ return;
+ }
+ }
+ //废弃,改为IM自定义模板发送信息
+ // let urlStr = app.getNetAddresss("plugin.room.frontend.live.come-room");
+ // app._postNetWork({
+ // url: urlStr,
+ // showToastIn: false,
+ // data: {
+ // room_id: that.data.room_id
+ // },
+ // success: function(resdata) {
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // if (res.data.now_goods && res.data.now_goods.goods_id) {
+ // that.setData({
+ // explainingGoods: res.data.now_goods
+ // })
+ // }
+ // if (res.data.room_ban == 1) {
+ // that.setData({
+ // picturemodeshow: false
+ // })
+ // wx.showModal({
+ // title: '提示',
+ // content: '您已被禁入直播间',
+ // showCancel: false,
+ // success(res) {
+ // if (res.confirm) {
+ // wx.redirectTo({
+ // url: '/packageD/directSeeding/liveList/liveList'
+ // })
+ // }
+ // }
+ // })
+ // return
+ // }
+ // if (res.data.chat_ban == 1) {
+ // wx.showModal({
+ // title: '提示',
+ // content: '您已经被禁言',
+ // showCancel: false,
+ // success(res) {
+ // if (res.confirm) {
+
+ // }
+ // }
+ // })
+ // that.setData({
+ // room_ban: true
+ // })
+ // return
+ // }
+ // } else {
+
+ // }
+ // },
+ // fail: function(res) {
+ // console.log(res.msg)
+ // }
+ // });
+ },
+ getLiveList() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live-list.get-live-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ status: 3,
+ page: 1,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ total_page: res.data.last_page
+ });
+ let LiveListData = res.data.data;
+ let LiveArray = [
+ {
+ id: that.data.room_id,
+ changeloadBol: false,
+ },
+ ];
+ if (LiveListData.length > 0) {
+ LiveListData.forEach((x) => {
+ if (x.id != that.data.room_id) {
+ LiveArray.push({
+ id: x.id,
+ avatar: x.avatar,
+ banner: x.banner,
+ cover: x.cover,
+ changeloadBol: false,
+ });
+ }
+ });
+ that.setData({
+ liveListData: LiveArray,
+ last_room_id: that.data.room_id,
+ });
+ } else {
+ that.setData({
+ liveListData: [
+ {
+ id: that.data.room_id,
+ },
+ ],
+ last_room_id: that.data.room_id,
+ });
+ }
+ that.getData(0); //获取数据
+ that.getPoster(); //加载海报
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getplayBack() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.playBackUrl);
+ let json = {};
+ if (this.data.memberid) {
+ json = {
+ member_id: this.data.memberid,
+ page: 1,
+ };
+ } else {
+ json = {
+ page: 1,
+ };
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ total_page: res.data.last_page,
+ });
+ let playBackData = res.data.data;
+ let playBackArray = [
+ {
+ id: that.data.room_id,
+ backid: that.data.backid,
+ changeloadBol: false,
+ },
+ ];
+ if (playBackData.length > 0) {
+ playBackData.forEach((x) => {
+ if (x.id != that.data.backid) {
+ playBackArray.push({
+ id: x.room_id,
+ backid: x.id,
+ avatar: x.avatar,
+ banner: x.banner,
+ cover: x.cover,
+ changeloadBol: false,
+ });
+ }
+ });
+ that.setData({
+ liveListData: playBackArray,
+ last_backid: that.data.backid,
+ });
+ } else {
+ that.setData({
+ liveListData: [
+ {
+ id: that.data.room_id,
+ backid: that.data.backid,
+ },
+ ],
+ last_backid: that.data.backid,
+ });
+ }
+ that.getBackData(0);
+ that.getPoster(); //加载海报
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ liveChange(e) {
+ // 清理定时器
+ this.data.rewardTimeOut = null;
+ // console.log('clearInterval')
+ clearInterval(this.data.rewardTimeOut);
+ let realIndex = e.detail.current;
+ console.log(realIndex);
+ this.quitGroup();
+ let that = this;
+ that.setData({
+ loadingImg: true,
+ loadingMessage: "海报生成中",
+ });
+ if (realIndex == that.data.liveListData.length - 2) {
+ that.getMoreData();
+ }
+ for (let i = 0; i < this.data.liveListData.length; i++) {
+ that.setData({
+ ["liveListData[" + i + "].changeloadBol"]: false,
+ });
+ }
+ if (that.data.playerType == "live") {
+ that.setData({
+ room_id: that.data.liveListData[realIndex].id,
+ changeAnchor: true,
+ isLivePK: false,
+ livePKData: {}
+ });
+ that.getData(realIndex); //获取数据
+ // that.getAnchorPopup(); //加载主播弹窗数据
+ that.getPoster(); //加载海报
+ that.data.roomObj = wx.createLivePlayerContext(
+ "liveid_" + that.data.room_id
+ );
+ if (this.data.pkTimer) {
+ // console.log('clearInterval')
+ clearInterval(this.data.pkTimer);
+ this.data.pkTimer = null;
+ }
+ } else {
+ that.setData({
+ room_id: that.data.liveListData[realIndex].id,
+ backid: that.data.liveListData[realIndex].backid,
+ changeAnchor: true,
+ });
+ that.getBackData(realIndex); //获取数据
+ // that.getAnchorPopup(); //加载主播弹窗数据
+ that.getPoster(); //加载
+ }
+ //清除聊天
+ that.setData({
+ messageList: [],
+ messagesTop: 0,
+ });
+ that.data.tipsContent = [];
+ that.data.giftListContent = [];
+ that.setData({
+ tipsContentMsssage: "",
+ giftListmessage: {},
+ });
+ that.data.catMessagebol = true;
+ that.setData({
+ likeNumBol: true,
+ });
+ },
+ getBackData(index) {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.room-back");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ room_id: this.data.room_id,
+ back_id: this.data.backid,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res.data);
+ that.setData({
+ shownum: res.data.like_num ? res.data.like_num : 0,
+ roomData: res.data,
+ id: res.data.member_id,
+ view_num: res.data.view_num,
+ IMmessage: res.data.message,
+ luck_number: res.data.luck_number || 0,
+ close_reward: res.data.close_reward || 0,
+ close_chat: res.data.close_chat || 0,
+ mode_button: res.data.mode_button || 0
+ });
+ if (res.data.is_concern == 1) {
+ that.setData({
+ focusBol: false,
+ });
+ } else {
+ that.setData({
+ focusBol: true,
+ });
+ }
+ that.activeRoomSet();
+ if (res.data.IM == 1) {
+ setTimeout(() => {
+ that.chatLogin();
+ }, 1000);
+ }
+ if (that.data.last_backid == that.data.backid) {
+ that.setData({
+ "liveListData[0].avatar": res.data.avatar,
+ "liveListData[0].cover": res.data.cover,
+ "liveListData[0].banner": res.data.banner,
+ });
+ }
+ if (index !== undefined) {
+ that.setData({
+ ["liveListData[" + index + "].changeloadBol"]: true,
+ });
+ }
+ // that.data.tipsContent = [];
+ // that.data.giftListContent = [];
+ // that.setData({
+ // tipsContentMsssage: "",
+ // giftListmessage: {}
+ // })
+ clearTimeout(timer_1);
+ clearTimeout(timer_2);
+ clearTimeout(timer_3);
+ that.getGiftEffect(); //开启礼物效果
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getMoreData() {
+ const that = this;
+ let json = {};
+ let api = "";
+ let urlStr = "";
+ that.data.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ if (this.data.playerType == "live") {
+ api = "plugin.room.frontend.live-list.get-live-list";
+ json = {
+ status: 3,
+ page: this.data.page,
+ };
+ } else {
+ api = that.data.playBackUrl;
+ if (this.data.memberid) {
+ json = {
+ member_id: this.data.memberid,
+ page: this.data.page,
+ };
+ } else {
+ json = {
+ page: this.data.page,
+ };
+ }
+ }
+ urlStr = app.getNetAddresss(api);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.playerType == "live") {
+ let LiveListData = res.data.data;
+ let LiveArray = that.data.liveListData;
+ if (LiveListData.length > 0) {
+ LiveListData.forEach((x) => {
+ if (x.id != that.data.last_room_id) {
+ LiveArray.push({
+ id: x.id,
+ avatar: x.avatar,
+ banner: x.banner,
+ cover: x.cover,
+ changeloadBol: false,
+ });
+ }
+ });
+ that.setData({
+ liveListData: LiveArray,
+ });
+ }
+ } else {
+ let playBackData = res.data.data;
+ let playBackArray = that.data.liveListData;
+ if (playBackData.length > 0) {
+ playBackData.forEach((x) => {
+ if (x.id != that.data.last_backid) {
+ playBackArray.push({
+ id: x.room_id,
+ backid: x.id,
+ avatar: x.avatar,
+ banner: x.banner,
+ changeloadBol: false,
+ });
+ }
+ });
+ that.setData({
+ liveListData: playBackArray,
+ });
+ }
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false,
+ });
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ // 获取屏幕宽度
+ getinformation() {
+ try {
+ const res = wx.getSystemInfoSync();
+ let windowHeight = res.windowHeight;
+ let windowWidth = res.windowWidth;
+ this.setData({
+ heightauto: windowHeight + "px",
+ widthauto: windowWidth + "px",
+ });
+ this.data.screeheight = windowHeight;
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+ //购物公告栏效果
+ getTipsContent() {
+ this.startMove();
+ },
+ //礼物效果
+ getGiftEffect() {
+ let that = this;
+ const gift = wx.createSelectorQuery();
+ gift.selectAll("#gift_screen .li").boundingClientRect();
+ gift.selectViewport().scrollOffset();
+ gift.exec(function (res) {
+ let widthAll = 0;
+ let widthArray = res[0] ? res[0] : [];
+ widthArray.forEach(function (item, index) {
+ widthAll += item.width;
+ });
+ that.data.firstwidth = widthArray[0].width;
+ const giftwidth = wx.createSelectorQuery();
+ giftwidth.select("#gift_screen").boundingClientRect();
+ giftwidth.selectViewport().scrollOffset();
+ giftwidth.exec(function (res) {
+ let width = res[0].width;
+ that.setData({
+ giftwidth: width,
+ widthAll: widthAll < width ? width : widthAll,
+ giftScreenLeft: width,
+ });
+ timer_3 = setTimeout(() => {
+ that.setData({
+ giftScreenLeftBol: false,
+ });
+ that.giftListRoll();
+ }, 1000);
+ });
+ });
+ },
+ // 获取海报画布宽高
+ getMyCanvasMessage() {
+ wx.getSystemInfo({
+ success: (res) => {
+ canvasDpr = wx.getSystemInfoSync().pixelRatio;
+ if (res.windowWidth * 2 < 750) {
+ unit = res.windowWidth / 620;
+ } else {
+ unit = res.windowWidth / 750;
+ }
+ myCanvasWidth = 620 * canvasDpr * unit;
+ myCanvasHeight = 883 * canvasDpr * unit;
+ this.setData({
+ canvasWidth: parseInt(myCanvasWidth),
+ canvasHeight: parseInt(myCanvasHeight),
+ });
+ },
+ });
+ },
+ //主播弹窗数据
+ getAnchorPopup() {
+ // 防止多次请求
+ if (clicktag == 0) {
+ clicktag = 1;
+ setTimeout(function () {
+ clicktag = 0;
+ }, 2000);
+ }
+ wx.showLoading({
+ title: "加载中",
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.anchor-popup");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ room_id: this.data.room_id,
+ },
+ success: function (resdata) {
+ wx.hideLoading();
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ anchorPopupData: res.data,
+ changeAnchor: false,
+ });
+ if (res.data.is_concern == 1) {
+ that.setData({
+ focusBol: false,
+ });
+ } else {
+ that.setData({
+ focusBol: true,
+ });
+ }
+ that.setData({
+ showUser: true,
+ shade: true,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ wx.hideLoading();
+ console.log(res.msg);
+ },
+ });
+ },
+ //预先下载图片数据
+ downImg() {
+ let that = this;
+ if (this.data.postData.avatar) {
+ wx.downloadFile({
+ url: this.data.postData.avatar, // 服务器返回的图片地址
+ success: (res) => {
+ that.setData({
+ "postData.avatar": res.tempFilePath,
+ });
+ if (that.data.postData.cover) {
+ wx.downloadFile({
+ url: that.data.postData.cover, // 服务器返回的图片地址
+ success: (res) => {
+ that.setData({
+ "postData.cover": res.tempFilePath,
+ });
+ // 获取图片信息
+ wx.getImageInfo({
+ src: that.data.postData.cover,
+ success(res) {
+ that.setData({
+ "postData.imgData": res,
+ });
+ if (that.data.postData.m_avatar) {
+ wx.downloadFile({
+ url: that.data.postData.m_avatar, // 服务器返回的图片地址
+ success: (res) => {
+ that.setData({
+ "postData.m_avatar": res.tempFilePath,
+ });
+ if (that.data.postData.qr_code) {
+ wx.downloadFile({
+ url: that.data.postData.qr_code, // 服务器返回的图片地址
+ success: (res) => {
+ that.setData({
+ "postData.qr_code": res.tempFilePath,
+ });
+ if (that.data.postData.shop_logo) {
+ wx.downloadFile({
+ url: that.data.postData.shop_logo, // 服务器返回的图片地址
+ success: (res) => {
+ that.setData({
+ "postData.shop_logo": res.tempFilePath,
+ });
+ if(that.data.roomData.is_share_word != 1){
+ //没有开启自定义分享语设置
+ that.getAvaterInfo();
+ }
+ },
+ fail: function (res) {
+ that.setData({
+ loadingMessage:
+ "海报生成失败,商城图标下载失败",
+ });
+ // 失败回调
+ console.log(res, "失败");
+ },
+ });
+ } else {
+ that.setData({
+ "postData.shop_logo": "",
+ });
+ if(that.data.roomData.is_share_word != 1){
+ //没有开启自定义分享语设置
+ that.getAvaterInfo();
+ }
+ }
+ },
+ fail: function (res) {
+ // 失败回调
+ console.log(res, "失败");
+ that.setData({
+ loadingMessage:
+ "海报生成失败,小程序二维码下载失败",
+ });
+ },
+ });
+ }
+ },
+ fail: function (res) {
+ // 失败回调
+ that.setData({
+ loadingMessage:
+ "海报生成失败,用户头像图片下载失败",
+ });
+ console.log(res, "失败");
+ },
+ });
+ }
+ },
+ });
+ // res.tempFilePath是网络图片的本地地址
+ },
+ fail: function (res) {
+ // 失败回调
+ that.setData({
+ loadingMessage: "海报生成失败,直播封面图片下载失败",
+ });
+ console.log(res, "失败");
+ },
+ });
+ }
+ // res.tempFilePath是网络图片的本地地址
+ },
+ fail: function (res) {
+ that.setData({
+ loadingMessage: "海报生成失败,主播头像图片下载失败",
+ });
+ // 失败回调
+ console.log(res, "失败");
+ },
+ });
+ }
+ },
+ //获取海报
+ getPoster() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live-list.room-post");
+ let json = {};
+ if (that.data.room_id) {
+ json.id = this.data.room_id;
+ }
+ if (that.data.playerType) {
+ json.playerType = this.data.playerType;
+ }
+ if (that.data.backid) {
+ json.backid = this.data.backid;
+ }
+ if (that.data.memberid) {
+ json.memberid = this.data.memberid;
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ postData: res.data,
+ });
+ that.downImg(); //预先加载画布所需图片
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ smallWindowClose1(){
+ this.data.smallWindowIn = true;
+ // console.log(this.data.rewardTimeOut,'进入小窗onhide的时候不清除定时器smallWindowClosesmallWindowClosesmallWindowClosesmallWindowClose')
+ },
+ smallWindowClose(){
+ // 播放器退出小窗
+ this.data.smallWindowIn = false;
+ // console.log(this.data.rewardTimeOut,'退出小窗,smallWindowClosesmallWindowClosesmallWindowClosesmallWindowClose')
+ },
+ statechange(e) {
+ let code = e.detail.code;
+ // console.log("llll:::", code,'rewardTimeOut',this.data.rewardTimeOut,'code_id',this.data.code_id);
+ // 观看奖励 一分钟后请求接口
+ if(code == "2004" && this.data.code_id){
+ if(!this.data.rewardTimeOut){
+ // console.log('llll:::直播请求定时器')
+ this.data.rewardTimeOut = setInterval(() => {
+ this.rewardLive();
+ }, 60000);
+ }
+ }
+ if(code == "2006" && this.data.code_id){
+ // 直播结束,但是如果在pk,则不取消定时器
+ if(!this.data.isLivePK){
+ this.data.rewardTimeOut = null;
+ // console.log('clearInterval')
+ clearInterval(this.data.rewardTimeOut);
+ }
+ }
+ if (code == "2002" || code == "2002") {
+ wx.hideLoading({});
+ }
+ },
+ // 观看奖励请求
+ rewardLive(){
+ // var mytime=new Date().toLocaleTimeString();
+ // wx.showToast({
+ // title: mytime,
+ // icon:'none',
+ // duration:1000
+ // })
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.room-view");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ code_id: this.data.code_id,
+ room_id: this.data.room_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log('成功');
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ error(e) {
+ this.data.rewardTimeOut = null;
+ // console.log('clearInterval')
+ clearInterval(this.data.rewardTimeOut);
+ wx.hideLoading({});
+ wx.showModal({
+ title: "提示",
+ content: "错误提示" + e.detail.errMsg + "(返回直播列表)",
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ },
+ });
+ console.log("kkkk:::", e);
+ },
+ statechangePK(e){
+ let code = e.detail.code;
+ // console.log("拉取连麦:::", code,'rewardTimeOut',this.data.rewardTimeOut,'code_id',this.data.code_id);
+ if(code == "2004" && this.data.code_id){
+ if(!this.data.rewardTimeOut){
+ this.data.rewardTimeOut = setInterval(() => {
+ this.rewardLive();
+ }, 60000);
+ }
+ }
+
+ if (code == "2002" || code == "2002") {
+ wx.hideLoading({});
+ }
+ },
+ errorPK(e) {
+ this.data.rewardTimeOut = null;
+ // console.log('clearInterval')
+ clearInterval(this.data.rewardTimeOut);
+ wx.hideLoading({});
+ wx.showToast({
+ title: '拉取连麦失败',
+ icon: 'success',
+ duration: 2000
+ });
+ console.log("拉取连麦失败:::", e);
+ },
+ //退出群组
+ quitGroup() {
+ let that = this;
+ if (that.data.lastGroupId) {
+ let promise = that.data.tim.quitGroup(that.data.lastGroupId);
+ promise
+ .then(function (imResponse) {
+ console.log(imResponse.data.groupID); // 退出成功的群 ID
+ })
+ .catch(function (imError) {
+ console.warn("quitGroup error:", imError); // 退出群组失败的相关信息
+ });
+ }
+ clearTimeout(this.data.giftEffectsTime);
+ },
+ //获取群详细资料
+ chatJoinGroup() {
+ let that = this;
+ that.data.lastGroupId = that.data.roomData.groupId;
+ let promise = that.data.tim.joinGroup({
+ groupID: that.data.roomData.groupId,
+ type: TIM.TYPES.GRP_CHATROOM,
+ });
+ promise
+ .then(function (imResponse) {
+ switch (imResponse.data.status) {
+ case TIM.TYPES.JOIN_STATUS_WAIT_APPROVAL:
+ break; // 等待管理员同意
+ case TIM.TYPES.JOIN_STATUS_SUCCESS: // 加群成功
+ console.log(imResponse.data.group); // 加入的群组资料
+ break;
+ default:
+ break;
+ }
+ that.comeRoom();
+ that.data.imReadly = false;
+ })
+ .catch(function (imError) {
+ that.comeRoom();
+ that.data.imReadly = false;
+ console.warn("joinGroup error:", imError); // 申请加群失败的相关信息
+ });
+ },
+ //查询我的个人信息
+ chatMyProfile() {
+ let that = this;
+ let promise = that.data.tim.getMyProfile();
+ promise
+ .then(function (imResponse) {
+ console.log(imResponse.data); // 个人资料 - Profile 实例
+ let myData = imResponse.data;
+ if (!myData.nick) {
+ that.changeMyProfile();
+ }
+ })
+ .catch(function (imError) {
+ console.warn("getMyProfile error:", imError); // 获取个人资料失败的相关信息
+ });
+ },
+ //修改我的个人信息
+ changeMyProfile() {
+ let that = this;
+ let promise = that.data.tim.updateMyProfile({
+ nick: that.data.roomData.userNickname,
+ avatar: that.data.roomData.userAvatar,
+ });
+ promise
+ .then(function (imResponse) {
+ console.log(imResponse.data); // 更新资料成功
+ })
+ .catch(function (imError) {
+ console.warn("updateMyProfile error:", imError); // 更新资料失败的相关信息
+ });
+ },
+ //领取营销活动
+ activityDataBtn(e) {
+ if (this.data.activityDataBtnBol) {
+ return false;
+ }
+ this.data.activityDataBtnBol = true;
+ let id = e.currentTarget.dataset.id;
+ let index = e.currentTarget.dataset.index;
+ if (this.data.activityDataArray[index].activityData.status == 2) {
+ return false;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live.member-activity"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ room_id: this.data.room_id,
+ activity_id: id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ let activitymessage = res.data;
+ if (activitymessage.balanceBonus == 1) {
+ that.setData({
+ ["activityDataArray[" +
+ index +
+ "].activityData.balanceBonusStatus"]: 2,
+ });
+ } else {
+ that.setData({
+ ["activityDataArray[" +
+ index +
+ "].activityData.balanceBonusStatus"]: 3,
+ });
+ }
+ let activityList =
+ that.data.activityDataArray[index].activityData.activityList;
+ if (activitymessage.coupon == 1) {
+ activityList.forEach((val, idx) => {
+ activityList[idx].status = 2;
+ });
+ that.setData({
+ ["activityDataArray[" +
+ index +
+ "].activityData.activityList"]: activityList,
+ });
+ } else {
+ activityList.forEach((val, idx) => {
+ activityList[idx].status = 3;
+ });
+ that.setData({
+ ["activityDataArray[" +
+ index +
+ "].activityData.activityList"]: activityList,
+ });
+ }
+ if (activitymessage.loveBonus == 1) {
+ that.setData({
+ ["activityDataArray[" +
+ index +
+ "].activityData.loveBonusStatus"]: 2,
+ });
+ } else {
+ that.setData({
+ ["activityDataArray[" +
+ index +
+ "].activityData.loveBonusStatus"]: 3,
+ });
+ }
+
+ if (activitymessage.packetBonus == 1) {
+ that.setData({
+ ["activityDataArray[" +
+ index +
+ "].activityData.packetBonusStatus"]: 2,
+ });
+ } else {
+ that.setData({
+ ["activityDataArray[" +
+ index +
+ "].activityData.packetBonusStatus"]: 3,
+ });
+ }
+
+ if (activitymessage.pointBonus == 1) {
+ that.setData({
+ ["activityDataArray[" +
+ index +
+ "].activityData.pointBonusStatus"]: 2,
+ });
+ } else {
+ that.setData({
+ ["activityDataArray[" +
+ index +
+ "].activityData.pointBonusStatus"]: 3,
+ });
+ }
+ that.setData({
+ ["activityDataArray[" + index + "].activityData.status"]: 2,
+ });
+ that.data.activityDataBtnBol = false;
+ } else {
+ that.data.activityDataBtnBol = false;
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ //聊天事件
+ chatEventList() {
+ let that = this;
+ // 监听事件,例如:
+ that.data.tim.on(TIM.EVENT.SDK_READY, function (event) {
+ // 收到离线消息和会话列表同步完毕通知,接入侧可以调用 sendMessage 等需要鉴权的接口
+ that.data.sendMessageReadly = false;
+ that.chatMyProfile();
+ // that.chatJoinGroup()
+ // event.name - TIM.EVENT.SDK_READY
+ });
+ that.data.tim.on(TIM.EVENT.MESSAGE_RECEIVED, function (event) {
+ //防止重新接受两条信息
+ if (
+ event.data[0].type == "TIMCustomElem" &&
+ event.data[0].payload &&
+ event.data[0].payload.extension == "customText"
+ ) {
+ if (that.data.lasttime == event.data[0].time) {
+ return;
+ } else {
+ that.data.lasttime = event.data[0].time;
+ }
+ }
+ let message = event.data;
+ let tipsContent = that.data.tipsContent;
+ let giftListContent = that.data.giftListContent;
+ let roomMemberContent = that.data.roomMemberContent;
+ message.forEach(function (val, index) {
+ let conversationType = val.conversationType;
+
+ //判断消息来源群或者个人
+ if (conversationType == TIM.TYPES.CONV_GROUP) {
+ let data = val;
+ //后台发送过来的消息处理
+ if (data.from == "administrator") {
+ if (data.payload.extension == "end") {
+ wx.showModal({
+ title: "提示",
+ content: "直播已经结束",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ },
+ });
+ } else if (data.payload.extension == "explain_goods") {
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ that.setData({
+ explainingGoods: json,
+ });
+ }
+ } else if (data.payload.extension == "cancel_explain") {
+ that.setData({
+ "explainingGoods.goods_id": "",
+ });
+ } else if (data.payload.extension == "chat_reply") {
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ let member_id = json.member_id;
+ if (that.data.roomData.userID == member_id) {
+ wx.showModal({
+ title: "提示",
+ content: "您已经解除禁言",
+ showCancel: false,
+ success(res) {},
+ });
+ that.setData({
+ room_ban: false,
+ });
+ }
+ }
+ } else if (data.payload.extension == "chat_ban") {
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ let member_id = json.member_id;
+ if (that.data.roomData.userID == member_id) {
+ wx.showModal({
+ title: "提示",
+ content: "您已经被禁言",
+ showCancel: false,
+ success(res) {},
+ });
+ that.setData({
+ room_ban: true,
+ });
+ }
+ }
+ } else if (data.payload.extension == "room_ban") {
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ let member_id = json.member_id;
+ if (that.data.roomData.userID == member_id) {
+ that.setData({
+ picturemodeshow: false,
+ });
+ wx.showModal({
+ title: "提示",
+ content: "您已被禁入直播间",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ },
+ });
+ }
+ }
+ } else if (data.payload.extension == "ban") {
+ wx.showModal({
+ title: "提示",
+ content: "直播已经封禁",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ },
+ });
+ } else if (data.payload.extension == "welcome") {
+ // if (data.payload.description) {
+ // let json = JSON.parse(data.payload.description);
+ // let messageList = that.data.messageList;
+ // messageList.push({
+ // content: json.content
+ // })
+ // that.setData({
+ // messageList,
+ // messagesTop: messageList.length * 1000
+ // })
+ // }
+ } else if (data.payload.extension == "leave") {
+ wx.showModal({
+ title: "提示",
+ content: "主播暂时离开",
+ showCancel: false,
+ success(res) {},
+ });
+ } else if (data.payload.extension == "online") {
+ wx.showModal({
+ title: "提示",
+ content: "主播重新连接",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ that.data.roomObj.play({
+ success() {
+ wx.showToast({
+ icon: "none",
+ title: "正在重新启动播放",
+ duration: 1500,
+ });
+ },
+ fail() {
+ wx.showToast({
+ icon: "none",
+ title: "重新启动播放失败",
+ duration: 1500,
+ });
+ },
+ });
+ }
+ },
+ });
+ } else if (data.payload.extension == "reward") {
+ //打赏
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ if (json.show_effect == 1) {
+ //开启特效
+ let specialList = that.data.specialList;
+ specialList.push({
+ nickname: json.nickname,
+ reward_name: "送主播" + json.reward_name,
+ img: json.avatar,
+ effect_time: json.effect_time,
+ effect_type: json.effect_type,
+ effect_gif: `${json.effect_gif}?v=${Date.now()}` //防止gif第二次取缓存不播放
+ });
+ that.setData({specialList});
+ if (that.data.specialList.length <= 1) that.giftEffectsTimer();
+ } else {
+ giftListContent.push({
+ nickname: json.nickname,
+ avatar: json.avatar,
+ reward_name: "送主播" + json.reward_name,
+ reward_icon: json.reward_icon,
+ });
+ that.data.giftListContent = giftListContent;
+ }
+ }
+ } else if (data.payload.extension == "virtual_view_num") {
+ //观看人数
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ console.log(json);
+ that.setData({
+ view_num: json.view_num,
+ });
+ }
+ } else if (data.payload.extension == "concern") {
+ //关注
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ tipsContent.push({
+ type: "concern",
+ nickname: json.nickname,
+ });
+ that.data.tipsContent = tipsContent;
+ }
+ } else if (data.payload.extension == "buy") {
+ //正在买
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ tipsContent.push({
+ type: "buy",
+ nickname: json.nickname,
+ count: json.count,
+ });
+ that.data.tipsContent = tipsContent;
+ }
+ } else if (data.payload.extension == "come") {
+ //进入直播间
+ // if (data.payload.description) {
+ // let json = JSON.parse(data.payload.description);
+ // tipsContent.push({
+ // type: "come",
+ // nickname: json.nickname
+ // })
+ // that.data.tipsContent = tipsContent;
+ // }
+ } else if (data.payload.extension == "room_member") {
+ //进入活动
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ roomMemberContent.push(json);
+ that.data.roomMemberContent = roomMemberContent;
+ }
+ that.getroomMember(that.data.roomMemberContent.length - 1);
+ } else if (data.type == "TIMCustomElem") {
+ if (data.payload.extension == "open_chat") {
+ //开启评论
+ that.setData({
+ close_chat: 0
+ });
+ } else if (data.payload.extension == "close_chat") {
+ //开启评论
+ that.setData({
+ close_chat: 1
+ });
+ } else if (data.payload.extension == "open_reward") {
+ //开启评论
+ that.setData({
+ close_reward: 0
+ });
+ } else if (data.payload.extension == "close_reward") {
+ //开启评论
+ that.setData({
+ close_reward: 1
+ });
+ }
+ }
+ } else if (data.type == "TIMTextElem") {
+ // let messageList = that.data.messageList;
+ // messageList.push({
+ // nick: data.nick,
+ // id: data.from,
+ // text: data.payload.text
+ // })
+ // that.setData({
+ // messageList,
+ // messagesTop: messageList.length * 1000
+ // })
+ } else if (data.type == "TIMCustomElem") {
+ //自定义类型解析
+ console.log("有信息了======",JSON.parse(data.payload.description));
+ if(data.payload.extension == "customPkGroup"){
+ that.data.startPKTime = Date.parse(new Date()) / 1000;
+ that.data.pkTimer = setInterval(function() {
+ that.GetRTime();
+ }, 1000);
+ that.setData({
+ livePKData: JSON.parse(data.payload.description),
+ livePKSrc: that.data.roomData.play_url_rtmp.match(/(\S*)\/live\//)[1]+'/live/' + JSON.parse(data.payload.description).streamid,
+ isLivePK: true,
+ });
+ } else if (data.payload.extension == "customQuitPkGroup") {
+ // 结束连麦
+ that.setData({
+ livePKData: {},
+ livePKSrc: "",
+ isLivePK: false,
+ PKTimed: "00:00:00"
+ });
+ // console.log('clearInterval')
+ clearInterval(that.data.pkTimer);
+ } else if (data.payload.extension == "customText") {
+ let messageList = that.data.messageList;
+ let messageListData = JSON.parse(data.payload.description);
+ if (messageListData && messageListData.memberLevelName) {
+ messageListData.memberLevelName = messageListData.memberLevelName.substr(
+ 0,
+ 2
+ );
+ }
+ messageList.push(messageListData);
+ that.setData({
+ messageList,
+ messagesTop: messageList.length * 1000,
+ });
+ } else if (data.payload.extension == "come") {
+ //进入直播间
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ tipsContent.push({
+ type: "come",
+ nickname: json.nickname,
+ });
+ that.data.tipsContent = tipsContent;
+ }
+ } else if (data.payload.extension == "welcome") {
+ if (data.payload.description) {
+ let json = JSON.parse(data.payload.description);
+ let messageList = that.data.messageList;
+ messageList.push({
+ content: json.content,
+ });
+ that.setData({
+ messageList,
+ messagesTop: messageList.length * 1000,
+ });
+ }
+ }
+ }
+ }
+ // else if (conversationType == TIM.TYPES.CONV_C2C) {
+ // }
+ });
+ // 收到推送的单聊、群聊、群提示、群系统通知的新消息,可通过遍历 event.data 获取消息列表数据并渲染到页面
+ // event.name - TIM.EVENT.MESSAGE_RECEIVED
+ // event.data - 存储 Message 对象的数组 - [Message]
+ });
+
+ that.data.tim.on(TIM.EVENT.MESSAGE_REVOKED, function (event) {
+ // 收到消息被撤回的通知
+ // event.name - TIM.EVENT.MESSAGE_REVOKED
+ // event.data - 存储 Message 对象的数组 - [Message] - 每个 Message 对象的 isRevoked 属性值为 true
+ });
+
+ that.data.tim.on(TIM.EVENT.CONVERSATION_LIST_UPDATED, function (event) {
+ // 收到会话列表更新通知,可通过遍历 event.data 获取会话列表数据并渲染到页面
+ // event.name - TIM.EVENT.CONVERSATION_LIST_UPDATED
+ // event.data - 存储 Conversation 对象的数组 - [Conversation]
+ });
+
+ that.data.tim.on(TIM.EVENT.GROUP_LIST_UPDATED, function (event) {
+ // 收到群组列表更新通知,可通过遍历 event.data 获取群组列表数据并渲染到页面
+ // event.name - TIM.EVENT.GROUP_LIST_UPDATED
+ // event.data - 存储 Group 对象的数组 - [Group]
+ });
+
+ that.data.tim.on(TIM.EVENT.GROUP_SYSTEM_NOTICE_RECEIVED, function (event) {
+ // 收到新的群系统通知
+ // event.name - TIM.EVENT.GROUP_SYSTEM_NOTICE_RECEIVED
+ // event.data.type - 群系统通知的类型,详情请参见 GroupSystemNoticePayload 的 operationType 枚举值说明
+ // event.data.message - Message 对象,可将 event.data.message.content 渲染到到页面
+ });
+
+ that.data.tim.on(TIM.EVENT.PROFILE_UPDATED, function (event) {
+ // 收到自己或好友的资料变更通知
+ // event.name - TIM.EVENT.PROFILE_UPDATED
+ // event.data - 存储 Profile 对象的数组 - [Profile]
+ });
+
+ that.data.tim.on(TIM.EVENT.BLACKLIST_UPDATED, function (event) {
+ // 收到黑名单列表更新通知
+ // event.name - TIM.EVENT.BLACKLIST_UPDATED
+ // event.data - 存储 userID 的数组 - [userID]
+ });
+
+ that.data.tim.on(TIM.EVENT.ERROR, function (event) {
+ // 收到 SDK 发生错误通知,可以获取错误码和错误信息
+ // event.name - TIM.EVENT.ERROR
+ // event.data.code - 错误码
+ // event.data.message - 错误信息
+ });
+
+ that.data.tim.on(TIM.EVENT.SDK_NOT_READY, function (event) {
+ // 收到 SDK 进入 not ready 状态通知,此时 SDK 无法正常工作
+ // event.name - TIM.EVENT.SDK_NOT_READY
+ });
+
+ that.data.tim.on(TIM.EVENT.KICKED_OUT, function (event) {
+ // 收到被踢下线通知
+ // event.name - TIM.EVENT.KICKED_OUT
+ // event.data.type - 被踢下线的原因,例如:
+ // - TIM.TYPES.KICKED_OUT_MULT_ACCOUNT 多实例登录被踢
+ // - TIM.TYPES.KICKED_OUT_MULT_DEVICE 多终端登录被踢
+ // - TIM.TYPES.KICKED_OUT_USERSIG_EXPIRED 签名过期被踢
+ wx.showToast({
+ icon: "none",
+ title: "您的IM被踢下线了",
+ duration: 2000,
+ });
+ });
+ },
+ //im的营销活动提交
+ roomMemberBtn(e) {
+ if (this.data.roomMemberBtnBol) {
+ return false;
+ }
+ this.data.roomMemberBtnBol = true;
+ let id = e.currentTarget.dataset.id;
+ let index = e.currentTarget.dataset.index;
+ if (this.data.roomMemberContentArray[index].activityData.status == 2) {
+ return false;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.live.room-member-activity"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ room_id: this.data.room_id,
+ activity_id: id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ let activitymessage = res.data;
+ if (activitymessage.balanceBonus == 1) {
+ that.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.balanceBonusStatus"]: 2,
+ });
+ } else {
+ that.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.balanceBonusStatus"]: 3,
+ });
+ }
+ let activityList =
+ that.data.roomMemberContentArray[index].activityData.activityList;
+ if (activitymessage.coupon == 1) {
+ activityList.forEach((val, idx) => {
+ activityList[idx].status = 2;
+ });
+ that.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.activityList"]: activityList,
+ });
+ } else {
+ activityList.forEach((val, idx) => {
+ activityList[idx].status = 3;
+ });
+ that.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.activityList"]: activityList,
+ });
+ }
+ if (activitymessage.loveBonus == 1) {
+ that.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.loveBonusStatus"]: 2,
+ });
+ } else {
+ that.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.loveBonusStatus"]: 3,
+ });
+ }
+
+ if (activitymessage.packetBonus == 1) {
+ that.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.packetBonusStatus"]: 2,
+ });
+ } else {
+ that.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.packetBonusStatus"]: 3,
+ });
+ }
+
+ if (activitymessage.pointBonus == 1) {
+ that.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.pointBonusStatus"]: 2,
+ });
+ } else {
+ that.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.pointBonusStatus"]: 3,
+ });
+ }
+ that.setData({
+ ["roomMemberContentArray[" + index + "].activityData.status"]: 2,
+ });
+ that.data.roomMemberBtnBol = false;
+ } else {
+ that.data.roomMemberBtnBol = false;
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ //im的营销活动
+ getroomMember(first_index) {
+ let that = this;
+ let roomMemberContent = that.data.roomMemberContent[first_index];
+ let roomMemberContentArray = that.data.roomMemberContentArray;
+ // let roomMemberTimeArray = that.data.roomMemberTimeArray;
+ if (roomMemberContent) {
+ let activity = roomMemberContent;
+ let activityList = [];
+ // let startTime = 0;
+ if (activity.coupon && activity.coupon.coupon_id) {
+ activity.coupon.coupon_id.forEach((val, index) => {
+ activityList.push({
+ coupon_id: activity.coupon.coupon_id[index],
+ coupon_name: activity.coupon.coupon_name[index],
+ coupon_several: activity.coupon.coupon_several[index],
+ status: 1,
+ });
+ });
+ }
+ // if (activity.liveTime) {
+ // startTime = activity.liveTime * 60 * 1000;
+ // }
+ activity.activityList = activityList;
+ activity.pointBonusStatus = 1;
+ activity.loveBonusStatus = 1;
+ activity.balanceBonusStatus = 1;
+ activity.packetBonusStatus = 1;
+ activity.status = 1;
+ activity.showactivity = false;
+ roomMemberContentArray.push({
+ activityData: activity,
+ });
+ // if (startTime) {
+ // let activityTime = null;
+ // activityTime = setTimeout(function() {
+ // that.setData({
+ // ['roomMemberContentArray[' + first_index + '].activityData.showactivity']: true
+ // })
+ // }, startTime)
+ // roomMemberTimeArray.push(activityTime)
+ // }
+ that.setData({
+ roomMemberContentArray: roomMemberContentArray,
+ // roomMemberTimeArray: roomMemberTimeArray
+ });
+ that.setData({
+ ["roomMemberContentArray[" +
+ first_index +
+ "].activityData.showactivity"]: true,
+ });
+ }
+ },
+ logout() {
+ let that = this;
+ let promise = that.data.tim.logout();
+ promise
+ .then(function (imResponse) {
+ console.log(imResponse.data); // 登出成功
+ })
+ .catch(function (imError) {
+ console.warn("logout error:", imError);
+ });
+ },
+ //聊天登录
+ chatLogin() {
+ let that = this;
+ let promise = that.data.tim.login({
+ userID: that.data.roomData.userID.toString(),
+ userSig: that.data.roomData.userSig,
+ });
+ promise
+ .then(function (imResponse) {
+ console.log(imResponse.data); // 登录成功
+ that.chatJoinGroup();
+ })
+ .catch(function (imError) {
+ console.warn("login error:", imError); // 登录失败的相关信息
+ });
+ },
+ getGiftList() {
+ wx.showLoading({
+ title: "加载中",
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.reward-list");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {},
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ giftListData: res.data.list,
+ giftMemberData: res.data.member,
+ giftType: res.data.type ? res.data.type : {},
+ showGift: true,
+ shade: true,
+ });
+ // let giftMemberData = that.data.giftMemberData;
+ let giftType = that.data.giftType;
+ if (giftType && giftType.integral == 1) {
+ that.setData({
+ activeNum: 1,
+ });
+ } else if (giftType && giftType.balance == 1) {
+ that.setData({
+ activeNum: 2,
+ });
+ } else if (giftType && giftType.love == 1) {
+ that.setData({
+ activeNum: 3,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ wx.hideLoading();
+ },
+ fail: function (res) {
+ wx.hideLoading();
+ console.log(res.msg);
+ },
+ });
+ },
+ getData(index) {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.room");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ id: this.data.room_id,
+ password: this.data.passwordVal,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.purview == 2) {
+ wx.hideToast({});
+ wx.showModal({
+ title: "提示",
+ content: "密码错误,是否重新输入密码?",
+ success(res) {
+ if (res.confirm) {
+ if (index !== undefined) {
+ that.setData({
+ passwordIndex: index,
+ });
+ }
+ that.setData({
+ passwordShow: true,
+ });
+ } else if (res.cancel) {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ },
+ });
+ return;
+ } else if (res.data.purview == 3) {
+ wx.hideToast({});
+ wx.showModal({
+ title: "提示",
+ content: "需要密码访问,是否输入密码?",
+ success(res) {
+ if (res.confirm) {
+ if (index !== undefined) {
+ that.setData({
+ passwordIndex: index,
+ });
+ }
+ that.setData({
+ passwordShow: true,
+ });
+ } else if (res.cancel) {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ },
+ });
+ return;
+ } else if (res.data.purview == 4) {
+ wx.hideToast({});
+ wx.showModal({
+ title: "提示",
+ content: "没有访问权限",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ },
+ });
+ that.setData({
+ passwordShow: false,
+ });
+ return;
+ } else {
+ that.setData({
+ passwordShow: false,
+ });
+ }
+ if (res.data.status == 4) {
+ wx.hideToast({});
+ wx.showModal({
+ title: "提示",
+ content: "直播已经结束",
+ showCancel: false,
+ success(res_1) {
+ if (res_1.confirm) {
+ if (res.data && res.data.back_id) {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ that.data.room_id +
+ "&playerType=video" +
+ "&backid=" +
+ res.data.back_id,
+ });
+ } else {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ }
+ },
+ });
+ return;
+ } else if (res.data.status == 1) {
+ wx.hideToast({});
+ wx.showModal({
+ title: "提示",
+ content: "直播等待审核中,请稍后再来",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ },
+ });
+ return;
+ } else if (res.data.status == 2) {
+ wx.hideToast({});
+ wx.showModal({
+ title: "提示",
+ content: "等待直播中,请稍后再来",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ if(this.data.code_id){
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList?cd="+this.data.code_id,
+ });
+ }else{
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+
+ }
+ },
+ });
+ return;
+ }
+ if (res.data.online_status && res.data.online_status == "forbid") {
+ wx.hideToast({});
+ wx.showModal({
+ title: "提示",
+ content: "抱歉,该直播间被禁用了",
+ showCancel: false,
+ success(res) {
+ if (res.confirm) {
+ wx.redirectTo({
+ url: "/packageD/directSeeding/liveList/liveList",
+ });
+ }
+ },
+ });
+ return;
+ } else if (
+ res.data.online_status &&
+ res.data.online_status == "inactive"
+ ) {
+ wx.hideToast({});
+ wx.showModal({
+ title: "提示",
+ content: "抱歉,该主播暂时离开",
+ showCancel: false,
+ success(res) {},
+ });
+ }
+ that.setData({
+ shownum: res.data.like_num ? res.data.like_num : 0,
+ roomData: res.data,
+ id: res.data.member_id,
+ view_num: res.data.view_num,
+ roomMemberContentArray: [],
+ roomMemberContent: [],
+ IMmessage: res.data.message,
+ luck_number: res.data.luck_number || 0,
+ close_reward: res.data.close_reward || 0,
+ close_chat: res.data.close_chat || 0,
+ mode_button: res.data.mode_button || 0
+ });
+ if (that.data.last_room_id == that.data.room_id) {
+ that.setData({
+ "liveListData[0].avatar": res.data.avatar,
+ "liveListData[0].cover": res.data.cover,
+ "liveListData[0].banner": res.data.banner,
+ });
+ }
+
+ if (res.data.voice_status) {
+ that.setData({
+ livePKData: res.data.voice_anchor,
+ livePKSrc: res.data.voice_anchor.play_url.play_url_rtmp,
+ isLivePK: true
+ });
+ that.data.startPKTime = res.data.voice_anchor.start_time||Date.parse(new Date()) / 1000;
+ that.data.pkTimer = setInterval(function() {
+ that.GetRTime();
+ }, 1000);
+ }
+
+ if (res.data.is_concern == 1) {
+ that.setData({
+ focusBol: false,
+ });
+ } else {
+ that.setData({
+ focusBol: true,
+ });
+ }
+ that.activeRoomSet();
+ if (res.data.IM == 1) {
+ setTimeout(() => {
+ that.chatLogin();
+ }, 1000);
+ }
+ // for (let k = 0; k < that.data.roomMemberTimeArray.length; k++) {
+ // clearTimeout(that.data.roomMemberTimeArray[k]);
+ // }
+ // that.data.roomMemberTimeArray = []
+ if (index !== undefined) {
+ that.setData({
+ ["liveListData[" + index + "].changeloadBol"]: true,
+ });
+ }
+ for (let j = 0; j < that.data.activityTimeArray.length; j++) {
+ clearTimeout(that.data.activityTimeArray[j]);
+ }
+ that.data.activityTimeArray = [];
+ if (res.data.view_activity == 1) {
+ let activityArray = res.data.activity;
+ let activityDataArray = [];
+ let activityTimeArray = that.data.activityTimeArray;
+ for (let i = 0; i < activityArray.length; i++) {
+ let activity = activityArray[i];
+ let activityList = [];
+ let startTime = 0;
+ if (activity.coupon && activity.coupon.coupon_id) {
+ activity.coupon.coupon_id.forEach((val, index) => {
+ activityList.push({
+ coupon_id: activity.coupon.coupon_id[index],
+ coupon_name: activity.coupon.coupon_name[index],
+ coupon_several: activity.coupon.coupon_several[index],
+ status: 1,
+ });
+ });
+ }
+ if (activity.liveTime) {
+ startTime = activity.liveTime * 60 * 1000;
+ }
+ activity.activityList = activityList;
+ activity.pointBonusStatus = 1;
+ activity.loveBonusStatus = 1;
+ activity.balanceBonusStatus = 1;
+ activity.packetBonusStatus = 1;
+ activity.status = 1;
+ activity.showactivity = false;
+ activityDataArray.push({
+ activityData: activity,
+ });
+ if (startTime) {
+ let activityTime = null;
+ activityTime = setTimeout(function () {
+ that.setData({
+ ["activityDataArray[" +
+ i +
+ "].activityData.showactivity"]: true,
+ });
+ }, startTime);
+ activityTimeArray.push(activityTime);
+ }
+ }
+ that.setData({
+ activityTimeArray: activityTimeArray,
+ activityDataArray: activityDataArray,
+ });
+ }
+ // that.data.tipsContent = [];
+ // that.data.giftListContent = [];
+ // that.setData({
+ // tipsContentMsssage: "",
+ // giftListmessage: {}
+ // })
+ clearTimeout(timer_1);
+ clearTimeout(timer_2);
+ clearTimeout(timer_3);
+ that.getGiftEffect(); //开启礼物效果
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ passwordLiveBtn() {
+ if (this.data.passwordIndex !== undefined) {
+ this.getData(this.data.passwordIndex);
+ } else {
+ this.getData(0);
+ }
+ },
+ //查看优惠券
+ goCoupon() {
+ wx.navigateTo({
+ url: "/packageA/member/coupon_v2/coupon_v2",
+ });
+ },
+ //跳转积分
+ goIntegral() {
+ wx.navigateTo({
+ url: "/packageB/member/integral/integral",
+ });
+ },
+ //查看爱心值
+ goLoveindex() {
+ wx.navigateTo({
+ url: "/packageB/member/love/Love_index/Love_index",
+ });
+ },
+ //查看余额
+ gobalance() {
+ wx.navigateTo({
+ url: "/packageA/member/balance/balance/balance",
+ });
+ },
+ //是否取消关注
+ followBtn() {
+ if (this.data.focusBol) {
+ this.addConcern();
+ } else {
+ this.cancelConcern();
+ }
+ },
+ addConcern() {
+ //添加关注
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.concern");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ member_id: this.data.id,
+ room_id: this.data.room_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "关注成功!",
+ duration: 1500,
+ });
+ that.setData({
+ focusBol: false,
+ });
+ that.newMedia(2);
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ cancelConcern() {
+ //取消关注
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.room.frontend.anchor.cancel-concern"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ member_id: this.data.id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "取消关注!",
+ duration: 1500,
+ });
+ that.setData({
+ focusBol: true,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ //跳转个人主页
+ goHomePage() {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/anchorDetail/anchorDetail?id=" + this.data.id,
+ });
+ },
+ //跳转店铺
+ goPage(e) {
+ let roleid = e.currentTarget.dataset.roleid;
+ let shopid = e.currentTarget.dataset.shopid;
+ if (roleid == 1) {
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + shopid,
+ });
+ } else if (roleid == 2) {
+ wx.navigateTo({
+ url: "/packageA/member/supplier/SupplierShop/SupplierShop?id=" + shopid,
+ });
+ } else if (roleid == 3) {
+ wx.navigateTo({
+ url: "/packageC/hotel/HotelHome/HotelHome?id=" + shopid,
+ });
+ } else {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ }
+ },
+ //跳转购物车
+ goGood(e) {
+ let id = e.currentTarget.dataset.id;
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.check-goods");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ goods_id: id,
+ room_id: that.data.room_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ showGoodLift: false,
+ shade: false,
+ });
+ wx.navigateTo({
+ url:
+ "/packageA/detail_v2/detail_v2?id=" +
+ id +
+ "&liveshow=1&roomid=" +
+ that.data.room_id,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ //礼物选择
+ giftSelect(e) {
+ let id = e.currentTarget.dataset.id;
+ let index = e.currentTarget.dataset.index;
+ this.setData({
+ giftSelectId: id,
+ });
+ this.data.giftSelectNUm = index;
+ },
+ //打赏
+ rewardBtn() {
+ if (!this.data.activeNum) {
+ wx.showToast({
+ icon: "none",
+ title: "请选取礼物支付类型",
+ duration: 1500,
+ });
+ }
+ let that = this;
+ that.data.usewechatpayBol = false;
+ if (this.data.giftSelectBol) {
+ return false;
+ }
+ if (!this.data.giftSelectId) {
+ wx.showToast({
+ icon: "none",
+ title: "请先选取礼物",
+ duration: 1500,
+ });
+ return false;
+ } else if (
+ this.data.activeNum == 1 &&
+ (!this.data.giftMemberData.credit1 ||
+ this.data.giftMemberData.credit1 <= 0 ||
+ Number(this.data.giftMemberData.credit1) <
+ Number(
+ this.data.giftListData[this.data.giftSelectNUm].credit1_number
+ ))
+ ) {
+ wx.showToast({
+ icon: "none",
+ title: this.data.giftMemberData.credit1_name
+ ? this.data.giftMemberData.credit1_name + "不足"
+ : "积分不足",
+ duration: 1500,
+ });
+ return false;
+ } else if (
+ this.data.activeNum == 2 &&
+ (!this.data.giftMemberData.credit2 ||
+ this.data.giftMemberData.credit2 <= 0 ||
+ Number(this.data.giftMemberData.credit2) <
+ Number(
+ this.data.giftListData[this.data.giftSelectNUm].credit2_number
+ ))
+ ) {
+ // wx.showToast({
+ // icon: 'none',
+ // title: '余额不足',
+ // duration: 1500
+ // })
+ let money = Number(
+ this.data.giftListData[this.data.giftSelectNUm].credit2_number
+ );
+ if (!money || money <= 0) {
+ wx.showToast({
+ icon: "none",
+ title: "打赏的礼物金额价值必须大于零",
+ duration: 1500,
+ });
+ return false;
+ }
+ that.setData({
+ giftmoney: money,
+ wechatpayShow: true,
+ showGift: false,
+ shade: false,
+ });
+ that.data.giftSelectBol = false;
+ return false;
+ } else if (
+ this.data.activeNum == 3 &&
+ (!this.data.giftMemberData.love ||
+ this.data.giftMemberData.love <= 0 ||
+ Number(this.data.giftMemberData.love) <
+ Number(this.data.giftListData[this.data.giftSelectNUm].love_number))
+ ) {
+ wx.showToast({
+ icon: "none",
+ title: this.data.giftMemberData.love_name
+ ? this.data.giftMemberData.love_name + "不足"
+ : "爱心值不足",
+ duration: 1500,
+ });
+ return false;
+ }
+ this.data.giftSelectBol = true;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.reward.index");
+ let num = this.data.activeNum;
+ let number = 0;
+ if (num == 1) {
+ number = this.data.giftListData[this.data.giftSelectNUm].credit1_number;
+ } else if (num == 2) {
+ number = this.data.giftListData[this.data.giftSelectNUm].credit2_number;
+ } else if (num == 3) {
+ number = this.data.giftListData[this.data.giftSelectNUm].love_number;
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ reward_type: this.data.activeNum,
+ room_id: this.data.room_id,
+ reward_id: this.data.giftSelectId,
+ number: number,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "打赏成功",
+ duration: 1500,
+ });
+ if (num == 1) {
+ that.setData({
+ "giftMemberData.credit1": Number(
+ that.data.giftMemberData.credit1 - number
+ ).toFixed(2),
+ });
+ } else if (num == 2) {
+ that.setData({
+ "giftMemberData.credit2": Number(
+ that.data.giftMemberData.credit2 - number
+ ).toFixed(2),
+ });
+ } else if (num == 3) {
+ that.setData({
+ "giftMemberData.love": Number(
+ that.data.giftMemberData.love - number
+ ).toFixed(2),
+ });
+ }
+ that.setData({
+ showGift: false,
+ shade: false,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ that.data.giftSelectBol = false;
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ giftListRoll: function () {
+ let that = this;
+ that.setData({
+ giftScreenLeft: -this.data.firstwidth,
+ });
+ this.giftListRoll_2();
+ },
+ giftListRoll_2() {
+ let that = this;
+ timer_1 = setTimeout(() => {
+ that.setData({
+ giftScreenLeftBol: true,
+ });
+ that.setData({
+ giftScreenLeft: that.data.giftwidth,
+ });
+ timer_2 = setTimeout(() => {
+ that.setData({
+ giftScreenLeftBol: false,
+ });
+ that.setData({
+ giftScreenLeft: -that.data.firstwidth,
+ });
+ if (that.data.giftListContent.length > 0) {
+ that.setData({
+ giftListmessage: that.data.giftListContent.shift(),
+ });
+ } else {
+ that.setData({
+ giftListmessage: {},
+ });
+ }
+ that.giftListRoll_2();
+ }, 200);
+ }, 6000); // 滚动不需要停顿则将2000改成动画持续时间
+ },
+ getlikeNum() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.likes");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ room_id: this.data.room_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ shownum: that.data.shownum + 1,
+ });
+ that.newMedia(1);
+ } else {
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // })
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ clickHandler: function () {
+ if (this.data.likeNumBol) {
+ this.getlikeNum();
+ this.setData({
+ likeNumBol: false,
+ });
+ }
+ // this.setData({
+ // shownum: this.data.shownum + 1
+ // })
+ this.likeClick();
+ },
+ startMove() {
+ if (this.data.tipsContent.length > 0) {
+ this.data.tipsopacityBol = !this.data.tipsopacityBol;
+ }
+ setTimeout(() => {
+ if (this.data.tipsopacityBol) {
+ if (this.data.tipsContent.length > 0) {
+ this.setData({
+ tipsContentMsssage: this.data.tipsContent.shift(),
+ });
+ this.setData({
+ tipsopacity: 1,
+ });
+ } else {
+ this.setData({
+ tipsopacity: 0,
+ });
+ }
+ } else {
+ this.setData({
+ tipsopacity: 0,
+ });
+ }
+ this.startMove();
+ }, 2000); // 滚动不需要停顿则将2000改成动画持续时间
+ },
+ likeClick() {
+ const image = "../../../image/directSeeding/zb_like_icon.png";
+ const anmationData = {
+ id: new Date().getTime(),
+ timer: 0,
+ opacity: 0.5,
+ pathData: this.generatePathData(),
+ image: image,
+ factor: {
+ speed: 0.006, // 运动速度,值越小越慢
+ t: 0, // 贝塞尔函数系数
+ },
+ };
+ if (Object.keys(queue).length > 0) {
+ queue[anmationData.id] = anmationData;
+ } else {
+ queue[anmationData.id] = anmationData;
+ this.bubbleAnimate();
+ }
+ },
+
+ getRandom(min, max) {
+ return Math.random() * (max - min) + min;
+ },
+
+ getRandomInt(min, max) {
+ return Math.floor(Math.random() * (max - min + 1)) + min;
+ },
+ /**获取图片路径 */
+ generatePathData() {
+ let width = this.data.width,
+ height = this.data.height;
+ const p0 = {
+ x: 0.65 * width,
+ y: height,
+ };
+ const p1 = {
+ x: this.getRandom(0.22 * width, 0.33 * width),
+ y: this.getRandom(0.5 * height, 0.75 * height),
+ };
+ const p2 = {
+ x: this.getRandom(0, 0.88 * width),
+ y: this.getRandom(0.25 * height, 0.5 * height),
+ };
+ const p3 = {
+ x: this.getRandom(0, 0.88 * width),
+ y: this.getRandom(0, 0.125 * height),
+ };
+ return [p0, p1, p2, p3];
+ },
+ updatePath(data, factor) {
+ const p0 = data[0];
+ const p1 = data[1];
+ const p2 = data[2];
+ const p3 = data[3];
+ const t = factor.t;
+
+ /*计算多项式系数 (下同)*/
+ const cx1 = 3 * (p1.x - p0.x);
+ const bx1 = 3 * (p2.x - p1.x) - cx1;
+ const ax1 = p3.x - p0.x - cx1 - bx1;
+
+ const cy1 = 3 * (p1.y - p0.y);
+ const by1 = 3 * (p2.y - p1.y) - cy1;
+ const ay1 = p3.y - p0.y - cy1 - by1;
+
+ const x = ax1 * (t * t * t) + bx1 * (t * t) + cx1 * t + p0.x;
+ const y = ay1 * (t * t * t) + by1 * (t * t) + cy1 * t + p0.y;
+ return {
+ x,
+ y,
+ };
+ },
+ bubbleAnimate() {
+ // let width = this.data.width;
+ let height = this.data.height;
+ Object.keys(queue).forEach((key) => {
+ const anmationData = queue[+key];
+ const { x, y } = this.updatePath(
+ anmationData.pathData,
+ anmationData.factor
+ );
+ const speed = anmationData.factor.speed;
+ anmationData.factor.t += speed;
+ var curWidth = 30;
+ curWidth = (height - y) / 1.5;
+ curWidth = Math.min(30, curWidth);
+ var curAlpha = anmationData.opacity;
+ curAlpha = y / height;
+ curAlpha = Math.min(1, curAlpha);
+ ctx.globalAlpha = curAlpha;
+ ctx.drawImage(anmationData.image, x, y, curWidth, curWidth);
+ if (anmationData.factor.t > 1) {
+ delete queue[anmationData.id];
+ }
+ });
+ ctx.draw();
+ if (Object.keys(queue).length > 0) {
+ timer_4 = setTimeout(() => {
+ this.bubbleAnimate();
+ }, 20);
+ } else {
+ clearTimeout(timer_4);
+ ctx.draw(); // 清空画面
+ }
+ },
+ //跳转举报
+ liveReportBtn() {
+ let that = this;
+ this.setData({
+ pauseBol: false,
+ });
+ setTimeout(function () {
+ wx.navigateTo({
+ url:
+ "/packageD/directSeeding/liveReport/liveReport?id=" +
+ that.data.room_id,
+ });
+ }, 500);
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ console.log('onshow:Sssssssssssssssssssssssss');
+ this.data.activityDataBtnBol = false;
+ this.data.roomMemberBtnBol = false;
+ this.data.catMessagebol = true;
+ this.setData({
+ pauseBol: true,
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+ // 清理定时器
+ // console.log('onhide,clearInterval',this.data.smallWindowIn)
+ if(!this.data.smallWindowIn){
+ // console.log('clearInterval,直播不是在小窗,清除定时器')
+ clearInterval(this.data.rewardTimeOut);
+ this.data.rewardTimeOut = null;
+ }else{
+ console.log('直播在小窗,不清除定时器');
+ }
+ },
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+ //推出登录
+ this.quitGroup();
+ this.quitroom();
+ setTimeout(() => {
+ this.logout();
+ }, 80);
+ clearTimeout(timer);
+ clearTimeout(timer_1);
+ if (this.data.pkTimer) {
+ // console.log('clearInterval')
+ clearInterval(this.data.pkTimer);
+ this.data.pkTimer = null;
+ }
+ },
+ quitroom() {
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.quit-room");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ room_id: this.data.room_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result != 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline: function () {
+ var value = wx.getStorageSync("yz_uid");
+ var mid = "";
+ let shareImg = this.data.roomData.cover;
+ if (value) {
+ mid = value;
+ }
+ if (this.data.playerType == "live") {
+ let json = {
+ title:
+ "欢迎进入" +
+ this.data.roomData.nickname +
+ "的" +
+ this.data.roomData.title +
+ "直播间!",
+ path:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ this.data.room_id +
+ "&playerType=live" +
+ "&mid=" +
+ mid,
+ };
+ if (shareImg) {
+ json.imageUrl = shareImg;
+ }
+ return json;
+ } else if (this.data.playerType == "video") {
+ let url =
+ "id=" +
+ this.data.room_id +
+ "&playerType=video&backid=" +
+ this.data.backid +
+ "&mid=" +
+ mid;
+ if (this.data.memberid) {
+ url =
+ "id=" +
+ this.data.room_id +
+ "&playerType=video&backid=" +
+ this.data.backid +
+ "&memberid=" +
+ this.data.memberid +
+ "&mid=" +
+ mid;
+ }
+ let json = {
+ title:
+ "欢迎进入" +
+ this.data.roomData.nickname +
+ "的" +
+ this.data.roomData.title +
+ "直播间!",
+ query: url,
+ };
+ if (shareImg) {
+ json.imageUrl = shareImg;
+ }
+ return json;
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ var value = wx.getStorageSync("yz_uid");
+ var mid = "";
+ let shareImg = this.data.roomData.cover;
+ if (value) {
+ mid = value;
+ }
+ if (this.data.playerType == "live") {
+ let json = {
+ title:
+ "欢迎进入" +
+ this.data.roomData.nickname +
+ "的" +
+ this.data.roomData.title +
+ "直播间!",
+ path:
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ this.data.room_id +
+ "&playerType=live" +
+ "&mid=" +
+ mid,
+ };
+ if(this.options.newMedia && this.options.newMedia==1){
+ json.path = json.path+"&newMedia=1";
+ }
+ if (shareImg) {
+ json.imageUrl = shareImg;
+ }
+ console.log(json);
+ return json;
+ } else if (this.data.playerType == "video") {
+ let url =
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ this.data.room_id +
+ "&playerType=video&backid=" +
+ this.data.backid +
+ "&mid=" +
+ mid;
+ if (this.data.memberid) {
+ url =
+ "/packageD/directSeeding/livePage/livePage?id=" +
+ this.data.room_id +
+ "&playerType=video&backid=" +
+ this.data.backid +
+ "&memberid=" +
+ this.data.memberid +
+ "&mid=" +
+ mid;
+ }
+ let json = {
+ title:
+ "欢迎进入" +
+ this.data.roomData.nickname +
+ "的" +
+ this.data.roomData.title +
+ "直播间!",
+ path: url,
+ };
+ if(this.options.newMedia && this.options.newMedia==1){
+ json.path = json.path+"&newMedia=1";
+ }
+ if (shareImg) {
+ json.imageUrl = shareImg;
+ }
+ console.log(json);
+ return json;
+ }
+ },
+ /**
+ * 将焦点给到 input(在真机上不能获取input焦点)
+ */
+ //清空聊天
+ clearSend() {
+ this.data.catMessagebol = true;
+ this.setData({
+ inputInfo: "",
+ });
+ },
+ //发送聊天
+ sendBtn() {
+
+ if (this.data.room_ban) {
+ wx.showToast({
+ icon: "none",
+ title: "您已经被禁言",
+ duration: 1500,
+ });
+ return;
+ }
+ if (this.data.inputInfo) {
+ this.setData({
+ shade: false,
+ mainCommentShow: false,
+ });
+ //发送普通聊天
+ // this.sendmessage(this.data.inputInfo)
+ if (this.data.catMessagebol) {
+ this.catMessage("text", this.data.inputInfo);
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: "聊天正在发送中......",
+ duration: 1500,
+ });
+ }
+ this.data.catMessagebol = false;
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: "发送消息不能为空",
+ duration: 1500,
+ });
+ this.setData({
+ chatInputBottom:0
+ });
+ }
+ },
+ //创建聊天模版
+ catMessage(type, text) {
+ let that = this;
+ let messageData = {};
+ let Json = {
+ memberId: this.data.roomData.userID ? this.data.roomData.userID : "",
+ nickName: this.data.roomData.userNickname
+ ? this.cutNameLimit(this.data.roomData.userNickname)
+ : "",
+ memberAvatar: this.data.roomData.userAvatar
+ ? this.data.roomData.userAvatar
+ : "",
+ memberLevel: this.data.roomData.member_level
+ ? this.data.roomData.member_level
+ : 0,
+ memberLevelName: this.data.roomData.member_level_name
+ ? this.data.roomData.member_level_name
+ : 0,
+ text: text ? text : "",
+ };
+ switch (type) {
+ case "text":
+ messageData = {
+ to: that.data.roomData.groupId,
+ conversationType: TIM.TYPES.CONV_GROUP,
+ payload: {
+ data: "自定义文本", // 用于标识该类型消息
+ description: JSON.stringify(Json),
+ extension: "customText",
+ },
+ };
+ break;
+ }
+ let message = that.data.tim.createCustomMessage(messageData);
+ let promise = that.data.tim.sendMessage(message);
+ promise
+ .then(function (imResponse) {
+ // 发送成功
+ if (type == "text") {
+ console.log(imResponse);
+ let messageList = that.data.messageList;
+ messageList.push(Json);
+ that.setData({
+ messagesTop: messageList.length * 1000,
+ messageList,
+ });
+ that.clearSend();
+ that.newMedia(6);
+ }
+ })
+ .catch(function (imError) {
+ // 发送失败
+ if (type == "text") {
+ that.clearSend();
+ }
+ wx.showToast({
+ icon: "none",
+ title: "聊天发送失败:::" + imError,
+ duration: 1500,
+ });
+ console.warn("sendMessage error:", imError);
+ });
+ },
+ sendmessage(data) {
+ let that = this;
+ let message = that.data.tim.createTextMessage({
+ to: that.data.roomData.groupId,
+ conversationType: TIM.TYPES.CONV_GROUP,
+ payload: {
+ text: data,
+ },
+ });
+ // 2. 发送消息
+ let promise = that.data.tim.sendMessage(message);
+ promise
+ .then(function (imResponse) {
+ // 发送成功
+ console.log(imResponse);
+ let messageList = that.data.messageList;
+ messageList.push({
+ nick: that.data.roomData.userNickname,
+ id: that.data.roomData.userID,
+ text: data,
+ });
+ that.setData({
+ messagesTop: messageList.length * 1000,
+ messageList,
+ });
+ that.clearSend();
+ })
+ .catch(function (imError) {
+ // 发送失败
+ console.warn("sendMessage error:", imError);
+ that.clearSend();
+ });
+ },
+ cutNameLimit(_name) {
+ if (_name.length > 8) {
+ return _name.slice(0, 8) + "...";
+ }
+ return _name;
+ },
+ /**
+ * input 失去焦点后将 input 的输入内容给到cover-view
+ */
+ blurInput(e) {
+ this.setData({
+ inputInfo: e.detail.value,
+ });
+ },
+ bindfocusChatInput(e) {
+ if(this.data.chatInputBottom != e.detail.height){
+ this.setData({
+ chatInputBottom: e.detail.height
+ });
+ }
+ },
+ showUserBtn() {
+ if (
+ this.data.anchorPopupData &&
+ this.data.anchorPopupData.id &&
+ !this.data.changeAnchor
+ ) {
+ this.setData({
+ showUser: true,
+ shade: true,
+ });
+ } else {
+ this.getAnchorPopup();
+ }
+ },
+ showUserCloseBtn() {
+ this.setData({
+ showUser: false,
+ shade: false,
+ });
+ },
+ showPosterBtn() {
+ if(this.data.roomData.is_share_word != 1){
+ this.setData({
+ showPoster: true,
+ shade: true,
+ });
+ } else{
+ //开启了自定义分享语,显示弹窗设置
+ this.setData({
+ oldWord: this.data.diyPosterWord,
+ showPosterWord: true
+ });
+ }
+ },
+ onClosePosterWord(){
+ this.setData({
+ showPosterWord:false
+ });
+ },
+ changePosterWord(event){
+ this.data.diyPosterWord = event.detail;
+ },
+ makePoster(){
+ if (this.data.diyPosterWord==''||this.data.oldWord != this.data.diyPosterWord) {
+ this.getAvaterInfo();
+ this.setData({
+ showPoster: true,
+ shade: true,
+ });
+ }else {
+ this.setData({
+ showPoster: true
+ });
+ }
+ this.setData({
+ showPosterWord:false
+ });
+ },
+ showPosterClose() {
+ this.setData({
+ showPoster: false,
+ shade: false,
+ });
+ },
+ showGoodLiftBtn() {
+ this.setData({
+ showGoodLift: true,
+ shade: true,
+ });
+ },
+ showGoodLiftCloseBtn() {
+ this.setData({
+ showGoodLift: false,
+ shade: false,
+ });
+ },
+ showGiftCloseBtn() {
+ this.setData({
+ showGift: false,
+ shade: false,
+ });
+ },
+ shadeClose() {
+ if (this.data.showGoodLift) {
+ this.setData({
+ showGoodLift: false,
+ shade: false,
+ });
+ }
+ if (this.data.showGift) {
+ this.setData({
+ showGift: false,
+ shade: false,
+ });
+ }
+ if (this.data.mainCommentShow) {
+ this.setData({
+ mainCommentShow: false,
+ shade: false,
+ });
+ this.clearSend();
+ }
+ },
+ showGiftBtn() {
+ if (this.data.giftListData.length > 0) {
+ this.setData({
+ showGift: true,
+ shade: true,
+ });
+ } else {
+ this.getGiftList();
+ }
+ },
+ showactivityCloseBtn(e) {
+ let index = e.currentTarget.dataset.index;
+ this.setData({
+ ["activityDataArray[" + index + "].activityData.showactivity"]: false,
+ });
+ },
+ showactivityCloseBtn_1(e) {
+ let index = e.currentTarget.dataset.index;
+ this.setData({
+ ["roomMemberContentArray[" +
+ index +
+ "].activityData.showactivity"]: false,
+ });
+ },
+ showavticeFailBtn() {
+ this.setData({
+ showavticeFail: false,
+ shade: false,
+ });
+ },
+ mainCommentShowBtn() {
+ if (this.data.imReadly || this.data.sendMessageReadly) {
+ wx.showToast({
+ icon: "none",
+ title: "聊天加载中,请稍后发言",
+ duration: 1500,
+ });
+ return;
+ }
+ if (this.data.room_ban) {
+ wx.showToast({
+ icon: "none",
+ title: "您已经被禁言",
+ duration: 1500,
+ });
+ return;
+ }
+ this.setData({
+ mainCommentShow: true,
+ shade: true,
+ });
+ },
+ GetRTime() {
+ let PKTime = this.data.startPKTime; //PK开始时间
+ let NowTime = new Date(); //当前时间
+ //后台给我的是10位 精确到秒的 所有下面我就除以了1000,不要小数点后面的
+ let t = (NowTime.getTime() / 1000).toFixed(0) - PKTime;
+ //如果后台给的是毫秒 上面不用除以1000 下面的计算时间也都要除以1000 这里我去掉1000了
+ let d = Math.floor(t / 60 / 60 / 24); //天 var d=Math.floor(t/1000/60/60/24)
+ let h = Math.floor((t / 60 / 60) % 24); //时 var h=Math.floor(t/1000/60/60%24)
+ let m = Math.floor((t / 60) % 60); //分 var m=Math.floor(t/1000/60%60)
+ let s = Math.floor(t % 60); //秒 var s=Math.floor(t/1000%60)
+ if (parseInt(d) < 10) d = "0" + d;
+ if (parseInt(h) < 10) h = "0" + h;
+ if (parseInt(m) < 10) m = "0" + m;
+ if (parseInt(s) < 10) s = "0" + s;
+ if (parseInt(d) >= 1) {
+ this.setData({
+ PKTimed: `${d}:${h}:${m}:${s}`
+ });
+ } else {
+ this.setData({
+ PKTimed: `${h}:${m}:${s}`
+ });
+ }
+ },
+ getAvaterInfo() {
+ let statusText =
+ this.data.postData.status == 2
+ ? "预告"
+ : this.data.postData.status == 3
+ ? "直播中 "
+ : "回放";
+ const ctx = wx.createCanvasContext("myCanvas");
+ // 画banner图
+ ctx.fillStyle = "#FFFFFF";
+ ctx.fillRect(0, 0, this.data.canvasWidth, this.data.canvasHeight);
+ let headWH = 56 * canvasDpr * unit;
+ {
+ let avatarurl_width = headWH; //绘制的头像宽度
+ let avatarurl_heigth = headWH; //绘制的头像高度
+ let avatarurl_x = 215 * canvasDpr * unit; //绘制的头像在画布上的位置
+ let avatarurl_y = 23 * canvasDpr * unit; //绘制的头像在画布上的位置
+ ctx.save();
+ ctx.beginPath(); //开始绘制
+ //先画个圆 前两个参数确定了圆心 (x,y) 坐标 第三个参数是圆的半径 四参数是绘图方向 默认是false,即顺时针
+ ctx.arc(
+ avatarurl_width / 2 + avatarurl_x,
+ avatarurl_heigth / 2 + avatarurl_y,
+ avatarurl_width / 2,
+ 0,
+ Math.PI * 2,
+ false
+ );
+ ctx.clip(); //画好了圆 剪切 原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内 这也是我们要save上下文的原因
+ if (this.data.postData.shop_logo) {
+ ctx.drawImage(
+ this.data.postData.shop_logo,
+ avatarurl_x,
+ avatarurl_y,
+ avatarurl_width,
+ avatarurl_heigth
+ ); // 推进去图片,必须是https图片
+ }
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ }
+ ctx.setFontSize(13 * canvasDpr);
+ ctx.setFillStyle("#000");
+ ctx.fillText(
+ this.data.postData.shop_name,
+ 296 * canvasDpr * unit,
+ 60 * canvasDpr * unit
+ );
+ this.drawImg(
+ ctx,
+ 560 * canvasDpr * unit,
+ 440 * canvasDpr * unit,
+ this.data.postData.cover,
+ this.data.postData.imgData.width,
+ this.data.postData.imgData.height,
+ 30 * canvasDpr * unit,
+ 98 * canvasDpr * unit
+ );
+ // ctx.drawImage(this.data.postData.cover, 30 * unit, 98 * unit, 560 * unit, 440 * unit);
+ {
+ let x = 437 * canvasDpr * unit,
+ y = 117 * canvasDpr * unit,
+ w = 127 * canvasDpr * unit,
+ h = 42 * canvasDpr * unit,
+ fillColor = "#ff7200",
+ r = 10 * canvasDpr;
+ // if (2 * r > w || 2 * r > h) {
+ // return false;
+ // }
+ ctx.save();
+ ctx.translate(x, y);
+ //绘制圆角矩形的各个边
+ this.drawRoundRectPath(ctx, w, h, r);
+ ctx.fillStyle = fillColor;
+ ctx.fill();
+ ctx.restore();
+ ctx.setFillStyle("#fff");
+ ctx.setFontSize(14 * canvasDpr);
+ if (statusText.length == 2) {
+ ctx.fillText(
+ statusText,
+ 474 * canvasDpr * unit,
+ 148 * canvasDpr * unit
+ );
+ } else {
+ ctx.fillText(
+ statusText,
+ 460 * canvasDpr * unit,
+ 148 * canvasDpr * unit
+ );
+ }
+ }
+ let headWH_2 = 42 * canvasDpr * unit;
+ {
+ let avatarurl_width = headWH_2; //绘制的头像宽度
+ let avatarurl_heigth = headWH_2; //绘制的头像高度
+ let avatarurl_x = 52 * canvasDpr * unit; //绘制的头像在画布上的位置
+ let avatarurl_y = 117 * canvasDpr * unit; //绘制的头像在画布上的位置
+ ctx.save();
+ ctx.beginPath(); //开始绘制
+ //先画个圆 前两个参数确定了圆心 (x,y) 坐标 第三个参数是圆的半径 四参数是绘图方向 默认是false,即顺时针
+ ctx.arc(
+ avatarurl_width / 2 + avatarurl_x,
+ avatarurl_heigth / 2 + avatarurl_y,
+ avatarurl_width / 2,
+ 0,
+ Math.PI * 2,
+ false
+ );
+ ctx.clip(); //画好了圆 剪切 原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内 这也是我们要save上下文的原因
+ ctx.drawImage(
+ this.data.postData.avatar,
+ avatarurl_x,
+ avatarurl_y,
+ avatarurl_width,
+ avatarurl_heigth
+ ); // 推进去图片,必须是https图片
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ }
+
+ {
+ let text = this.data.postData.nickname; //这是要绘制的文本';
+ let chr = text.split(""); //这个方法是将一个字符串分割成字符串数组
+ let temp = "";
+ let row = [];
+ ctx.setFontSize(28 * canvasDpr * unit);
+ ctx.setFillStyle("#fff");
+ for (let a = 0; a < chr.length; a++) {
+ if (ctx.measureText(temp).width < 160 * canvasDpr) {
+ temp += chr[a];
+ } else {
+ a--; //这里添加了a-- 是为了防止字符丢失,效果图中有对比
+ row.push(temp);
+ temp = "";
+ }
+ }
+ row.push(temp); //如果数组长度大于2 则截取前两个
+ if (row.length > 2) {
+ let rowCut = row.slice(0, 2);
+ let rowPart = rowCut[1];
+ let test = "";
+ let empty = [];
+ for (let a = 0; a < rowPart.length; a++) {
+ if (ctx.measureText(test).width < 306 * canvasDpr * unit) {
+ test += rowPart[a];
+ } else {
+ break;
+ }
+ }
+ empty.push(test);
+ let group = empty[0] + "...";
+ //这里只显示两行,超出的用...表示
+ rowCut.splice(1, 1, group);
+ row = rowCut;
+ }
+ for (let b = 0; b < row.length; b++) {
+ ctx.fillText(
+ row[b],
+ 108 * canvasDpr * unit,
+ 146 * canvasDpr * unit + b * (28 * canvasDpr * unit)
+ );
+ }
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ }
+
+ // ctx.setFontSize(13)
+ // ctx.setFillStyle("#fff")
+ // ctx.fillText(this.data.postData.nickname, 108 * unit, 146 * unit)
+ ctx.save();
+ {
+ let text = this.data.postData.title; //这是要绘制的文本';
+ let chr = text.split(""); //这个方法是将一个字符串分割成字符串数组
+ let temp = "";
+ let row = [];
+ ctx.setFontSize(28 * canvasDpr * unit);
+ ctx.setFillStyle("#333333");
+ for (let a = 0; a < chr.length; a++) {
+ if (ctx.measureText(temp).width < 160 * canvasDpr) {
+ temp += chr[a];
+ } else {
+ a--; //这里添加了a-- 是为了防止字符丢失,效果图中有对比
+ row.push(temp);
+ temp = "";
+ }
+ }
+ row.push(temp); //如果数组长度大于2 则截取前两个
+ if (row.length > 2) {
+ let rowCut = row.slice(0, 2);
+ let rowPart = rowCut[1];
+ let test = "";
+ let empty = [];
+ for (let a = 0; a < rowPart.length; a++) {
+ if (ctx.measureText(test).width < 306 * canvasDpr * unit) {
+ test += rowPart[a];
+ } else {
+ break;
+ }
+ }
+ empty.push(test);
+ let group = empty[0] + "...";
+ //这里只显示两行,超出的用...表示
+ rowCut.splice(1, 1, group);
+ row = rowCut;
+ }
+ for (let b = 0; b < row.length; b++) {
+ ctx.fillText(
+ row[b],
+ 41 * canvasDpr * unit,
+ 620 * canvasDpr * unit + b * (28 * canvasDpr * unit)
+ );
+ }
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ ctx.setFontSize(12 * canvasDpr);
+ ctx.setFillStyle("#ff7200");
+ ctx.fillText(
+ "直播时间 " + this.data.postData.live_time,
+ 36 * canvasDpr * unit,
+ 760 * canvasDpr * unit
+ );
+ }
+ let headWH_3 = 48 * canvasDpr * unit;
+ {
+ let avatarurl_width = headWH_3; //绘制的头像宽度
+ let avatarurl_heigth = headWH_3; //绘制的头像高度
+ let avatarurl_x = 35 * canvasDpr * unit; //绘制的头像在画布上的位置
+ // let avatarurl_y = 763 * canvasDpr * unit; //绘制的头像在画布上的位置
+ let avatarurl_y = 787 * canvasDpr * unit; //绘制的头像在画布上的位置
+ ctx.save();
+ ctx.beginPath(); //开始绘制
+ //先画个圆 前两个参数确定了圆心 (x,y) 坐标 第三个参数是圆的半径 四参数是绘图方向 默认是false,即顺时针
+ ctx.arc(
+ avatarurl_width / 2 + avatarurl_x,
+ avatarurl_heigth / 2 + avatarurl_y,
+ avatarurl_width / 2,
+ 0,
+ Math.PI * 2,
+ false
+ );
+ ctx.clip(); //画好了圆 剪切 原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内 这也是我们要save上下文的原因
+ ctx.drawImage(
+ this.data.postData.m_avatar,
+ avatarurl_x,
+ avatarurl_y,
+ avatarurl_width,
+ avatarurl_heigth
+ ); // 推进去图片,必须是https图片
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ }
+
+ {
+ let text = this.data.roomData.is_share_word == 1&&this.data.diyPosterWord!='' ? this.data.diyPosterWord:(this.data.postData.m_nickname + "的分享");//这是要绘制的文本';
+ let chr = text.split(""); //这个方法是将一个字符串分割成字符串数组
+ let temp = "";
+ let row = [];
+ ctx.setFontSize(28 * canvasDpr * unit);
+ ctx.setFillStyle("#666666");
+ for (let a = 0; a < chr.length; a++) {
+ // 160
+ if (ctx.measureText(temp).width < 230 * canvasDpr) {
+ temp += chr[a];
+ } else {
+ a--; //这里添加了a-- 是为了防止字符丢失,效果图中有对比
+ row.push(temp);
+ temp = "";
+ }
+ }
+ row.push(temp); //如果数组长度大于2 则截取前两个
+ if (row.length > 2&&this.data.roomData.is_share_word != 1) {
+ let rowCut = row.slice(0, 2);
+ let rowPart = rowCut[1];
+ let test = "";
+ let empty = [];
+ for (let a = 0; a < rowPart.length; a++) {
+ if (ctx.measureText(test).width < 306 * canvasDpr * unit) {
+ test += rowPart[a];
+ } else {
+ break;
+ }
+ }
+ empty.push(test);
+ let group = empty[0] + "...";
+ //这里只显示两行,超出的用...表示
+ rowCut.splice(1, 1, group);
+ row = rowCut;
+ }
+ for (let b = 0; b < row.length; b++) {
+ // ctx.fillText(
+ // row[b],
+ // 94 * canvasDpr * unit,
+ // 796 * canvasDpr * unit + b * (28 * canvasDpr * unit)
+ // );
+ ctx.fillText(
+ row[b],
+ 94 * canvasDpr * unit,
+ 820 * canvasDpr * unit + b * (28 * canvasDpr * unit)
+ );
+ }
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ }
+
+ // ctx.setFontSize(13)
+ // ctx.setFillStyle("#666666")
+ // ctx.fillText(this.data.postData.m_nickname + '的分享', 94 * unit, 796 * unit)
+ ctx.save();
+ ctx.drawImage(
+ this.data.postData.qr_code,
+ 408 * canvasDpr * unit,
+ 561 * canvasDpr * unit,
+ 180 * canvasDpr * unit,
+ 180 * canvasDpr * unit
+ );
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 还可以继续绘制
+ ctx.setFontSize(12 * canvasDpr);
+ ctx.setFillStyle("#333");
+ ctx.fillText(
+ "长按保存图片",
+ 430 * canvasDpr * unit,
+ 780 * canvasDpr * unit
+ );
+ ctx.draw(false, this.toimage());
+ },
+ drawRoundRectPath(cxt, width, height, radius) {
+ cxt.beginPath(0);
+ //从右下角顺时针绘制,弧度从0到1/2PI
+ cxt.arc(width - radius, height - radius, radius, 0, Math.PI / 2);
+
+ //矩形下边线
+ cxt.lineTo(radius, height);
+
+ //左下角圆弧,弧度从1/2PI到PI
+ cxt.arc(radius, height - radius, radius, Math.PI / 2, Math.PI);
+
+ //矩形左边线
+ cxt.lineTo(0, radius);
+
+ //左上角圆弧,弧度从PI到3/2PI
+ cxt.arc(radius, radius, radius, Math.PI, (Math.PI * 3) / 2);
+
+ //上边线
+ cxt.lineTo(width - radius, 0);
+
+ //右上角圆弧
+ cxt.arc(width - radius, radius, radius, (Math.PI * 3) / 2, Math.PI * 2);
+
+ //右边线
+ cxt.lineTo(width, height - radius);
+ cxt.closePath();
+ },
+ drawImg(ctx, cWidth, cHeight, imgPath, imgWidth, imgHeight, x, y) {
+ console.log("cWidth", cWidth);
+ console.log("cHeight", cHeight);
+ console.log("imgWidth", imgWidth);
+ console.log("imgHeight", imgHeight);
+ let dWidth = cWidth / imgWidth; // canvas与图片的宽度比例
+ let dHeight = cHeight / imgHeight; // canvas与图片的高度比例
+ if (
+ (imgWidth > cWidth && imgHeight > cHeight) ||
+ (imgWidth < cWidth && imgHeight < cHeight)
+ ) {
+ if (dWidth > dHeight) {
+ ctx.drawImage(
+ imgPath,
+ 0,
+ (imgHeight - cHeight / dWidth) / 2,
+ imgWidth,
+ cHeight / dWidth,
+ x,
+ y,
+ cWidth,
+ cHeight
+ );
+ } else {
+ ctx.drawImage(
+ imgPath,
+ (imgWidth - cWidth / dHeight) / 2,
+ 0,
+ cWidth / dHeight,
+ imgHeight,
+ x,
+ y,
+ cWidth,
+ cHeight
+ );
+ }
+ } else {
+ if (imgWidth < cWidth) {
+ ctx.drawImage(
+ imgPath,
+ 0,
+ (imgHeight - cHeight / dWidth) / 2,
+ imgWidth,
+ cHeight / dWidth,
+ x,
+ y,
+ cWidth,
+ cHeight
+ );
+ } else {
+ ctx.drawImage(
+ imgPath,
+ (imgWidth - cWidth / dHeight) / 2,
+ 0,
+ cWidth / dHeight,
+ imgHeight,
+ x,
+ y,
+ cWidth,
+ cHeight
+ );
+ }
+ }
+ },
+ toimage() {
+ // wx.hideLoading()
+ this.setData({
+ showBtn: true,
+ });
+ let that = this;
+ setTimeout(() => {
+ wx.canvasToTempFilePath({
+ x: 0,
+ y: 0,
+ width: this.data.canvasWidth,
+ height: this.data.canvasHeight,
+ destWidth: this.data.canvasWidth * 4,
+ destHeight: this.data.canvasHeight * 4,
+ canvasId: "myCanvas",
+ success: function (res) {
+ console.log(res);
+ var tempFilePath = res.tempFilePath;
+ that.setData({
+ ithumb: tempFilePath,
+ loadingImg: false,
+ });
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }, 1500);
+ },
+ saveShareImg: function () {
+ wx.showLoading({
+ title: "保存中",
+ });
+ wx.canvasToTempFilePath({
+ x: 0,
+ y: 0,
+ width: this.data.canvasWidth,
+ height: this.data.canvasHeight,
+ destWidth: this.data.canvasWidth * 4,
+ destHeight: this.data.canvasHeight * 4,
+ canvasId: "myCanvas",
+ success: function (res) {
+ console.log(res);
+ wx.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success(result) {
+ wx.showToast({
+ title: "图片保存成功",
+ icon: "success",
+ duration: 2000,
+ });
+ wx.hideLoading();
+ },
+ fail: (res) => {
+ wx.hideLoading();
+ },
+ });
+ },
+ });
+ },
+ giftSelsectBtn(e) {
+ let num = e.currentTarget.dataset.type;
+ if (num == 1) {
+ this.setData({
+ activeNum: 1,
+ });
+ } else if (num == 2) {
+ this.setData({
+ activeNum: 2,
+ });
+ } else if (num == 3) {
+ this.setData({
+ activeNum: 3,
+ });
+ }
+ },
+ backRightBtn() {
+ wx.navigateBack({
+ delta: 1,
+ fail() {
+ wx.navigateTo({
+ url: "/packageG/index/index",
+ });
+ },
+ });
+ },
+ cloneLuckDraw(){
+ this.setData({
+ luck_number: 0
+ });
+ },
+ gotoLuckDraw(){
+ wx.navigateTo({
+ url: '/packageH/newDraw/luckyDraw/luckyDraw'
+ });
+ },
+ cloneADbtn(e){
+ let datas = e.currentTarget.dataset;
+ if(datas.tag == '1'){
+ this.setData({
+ isShowADLook: false
+ });
+ }
+ if(datas.tag == '2'){
+ this.setData({
+ isShowADPut: false
+ });
+ }
+ },
+ gotoUrl(e){
+ let datas = e.currentTarget.dataset;
+ if (datas.name == "advertisingPutAD") {
+ //投放广告按钮
+ if (!datas.iser) {
+ wx.navigateTo({url: '/packageH/Advertising/advertisingApply/advertisingApply' });//还不是广告主,跳转申请页
+ } else {
+ wx.navigateTo({url: '/packageH/Advertising/advertisingPutAD/advertisingPutAD?tag=live&id='+ datas.id });
+ }
+ return;
+ }
+ wx.navigateTo({url: '/packageH/Advertising/advertisingList/advertisingList?tag=live&id='+ datas.id });
+ },
+ gotoPKLiver(e){
+ let datas = e.currentTarget.dataset;
+ if(datas.id) wx.navigateTo({url:"/packageD/directSeeding/livePage/livePage?id=" + datas.id +"&playerType=live",});
+ },
+ giftEffectsTimer(){
+ //打赏礼物特效定时器
+ let timer = Number(this.data.specialList[0].effect_time)>0?Number(this.data.specialList[0].effect_time)*1000:2000; //特效周期,后台设置,单位/秒
+
+ this.data.giftEffectsTime = setTimeout(() => {
+ this.data.specialList.splice(0, 1); //特效gif周期到了,删除
+ this.setData({
+ specialList: this.data.specialList
+ });
+ if (this.data.specialList.length > 0) {
+ this.giftEffectsTimer();
+ } else {
+ clearTimeout(this.data.giftEffectsTime);
+ }
+ }, timer);
+ },
+
+ //新媒体插件
+ newMedia(behavioral){
+ //behavioral 1点赞,2关注,3阅读,4转发,5收藏,6评论
+ if(!this.options.newMedia || this.options.newMedia!=1) return;
+ let urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.media-advertisingt.root-behavioral-reward");
+ app._getNetWork({
+ url: urlStr,
+ data: {behavioral,advertisingt_id:this.options.id},
+ success: (resdata) => {}
+ });
+ }
+
+});
diff --git a/packageD/directSeeding/livePage/livePage.json b/packageD/directSeeding/livePage/livePage.json
new file mode 100644
index 0000000..ec08d02
--- /dev/null
+++ b/packageD/directSeeding/livePage/livePage.json
@@ -0,0 +1,10 @@
+{
+ "navigationBarTitleText": "主播房间",
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "van-field": "../../../dist/field/index",
+ "van-button": "../../../dist/button/index",
+ "van-icon": "../../../dist/icon/index"
+ },
+ "navigationStyle": "custom"
+}
diff --git a/packageD/directSeeding/livePage/livePage.wxml b/packageD/directSeeding/livePage/livePage.wxml
new file mode 100644
index 0000000..71f6178
--- /dev/null
+++ b/packageD/directSeeding/livePage/livePage.wxml
@@ -0,0 +1,696 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{livePKData.nickName|| livePKData.nickname }}
+
+
+ {{PKTimed}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{roomData.nickname}}
+
+ {{roomData.address}} |
+ {{view_num}}观看
+
+
+
+ 关注
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{giftListmessage.nickname}}
+ {{giftListmessage.reward_name}}
+
+
+
+
+
+
+
+
+
+
+ {{tipsContentMsssage.nickname}}等
+ {{tipsContentMsssage.count}}人正在购买的路上
+
+
+ {{tipsContentMsssage.nickname}}正在进入直播间
+
+
+ {{tipsContentMsssage.nickname}}正在关注主播
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.memberLevelName}}
+
+
+ {{item.nickName}}:
+ {{item.text}}
+
+ {{item.content}}
+
+
+
+
+
+
+
+
+
+ {{roomData.goods.length}}
+
+
+ 和主播说点什么...
+
+
+
+
+
+
+
+
+ 更多
+
+
+
+
+
+ {{shownum}}
+ 点赞
+
+
+
+
+
+ 打赏
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 当前讲解的商品
+
+
+
+
+ {{language['money']}}{{explainingGoods.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 发送
+
+
+
+
+
+
+
+
+
+
+ 分享好友
+
+
+
+
+ 保存海报
+
+
+
+ 取消
+
+
+
+
+
+ {{anchorPopupData.nickname}}
+
+ ID:{{anchorPopupData.member_id}}
+ {{focusBol?'关注':'已关注'}}
+
+
+
+ {{anchorPopupData.view_count}}
+ 观看
+ 主页
+
+
+ {{anchorPopupData.fan_count}}
+ 粉丝
+
+ 商城
+ 店铺
+ 供应商
+ 酒店
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.sort}}
+
+
+ {{item.title}}
+
+
+ {{language['money']}}
+ {{item.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+ {{giftMemberData.credit1_name?giftMemberData.credit1_name:'积分'}}:{{item.credit1_number}}
+
+
+ {{giftMemberData.credit2_name?giftMemberData.credit2_name:'余额'}}:{{item.credit2_number}}
+
+
+ {{giftMemberData.love_name?giftMemberData.love_name:'爱心值'}}:{{item.love_number}}
+
+
+
+
+
+
+
+
+ 我当前{{giftMemberData.credit1_name?giftMemberData.credit1_name:'积分'}}数量{{giftMemberData.credit1?giftMemberData.credit1:'0.00'}}
+
+
+
+ 我当前{{giftMemberData.credit2_name?giftMemberData.credit2_name:'余额'}}{{giftMemberData.credit2?giftMemberData.credit2:'0.00'}}
+
+
+
+ 我当前{{giftMemberData.love_name?giftMemberData.love_name:'爱心值'}}数量{{giftMemberData.love?giftMemberData.love:'0.00'}}
+
+
+ 打赏
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 恭喜你获得
+
+
+
+
+
+
+
+
+
+ {{item.coupon_several}}
+ 张
+
+
+ {{item.coupon_name}}
+
+ 查看
+
+
+ 很遗憾,未领到
+
+
+
+
+
+
+
+ {{items.activityData.pointBonus}}
+
+
+ {{items.activityData.credit1_name?items.activityData.credit1_name:'积分'}}
+
+ 查看
+
+
+ 很遗憾,未领到
+
+
+
+
+
+
+
+ {{items.activityData.loveBonus}}
+
+
+ {{items.activityData.love_name?items.activityData.love_name:'爱心值'}}
+
+ 查看
+
+
+ 很遗憾,未领到
+
+
+
+
+
+
+
+ {{items.activityData.balanceBonus}}
+
+
+ {{items.activityData.credit2_name?items.activityData.credit2_name:'余额'}}
+
+ 查看
+
+
+ 很遗憾,未领到
+
+
+
+
+
+
+
+ {{items.activityData.packetBonus}}
+
+
+ 现金红包
+
+ 查看
+
+
+ 很遗憾,未领到
+
+
+
+
+
+ {{ items.activityData.status==2?'已领取':'立即领取'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 恭喜你获得
+
+
+
+
+
+
+
+
+
+ {{item.coupon_several}}
+ 张
+
+
+ {{item.coupon_name}}
+
+ 查看
+
+
+ 很遗憾,未领到
+
+
+
+
+
+
+
+
+ {{items.activityData.pointLow +' - '+ items.activityData.pointHigh}}
+
+
+ {{items.activityData.pointFixed}}
+
+
+
+ {{items.activityData.credit1_name?items.activityData.credit1_name:'积分'}}
+
+ 查看
+
+
+ 很遗憾,未领到
+
+
+
+
+
+
+
+
+ {{items.activityData.loveLow +' - '+ items.activityData.loveHigh}}
+
+
+ {{items.activityData.loveFixed}}
+
+
+
+ {{items.activityData.love_name?items.activityData.love_name:'爱心值'}}
+
+ 查看
+
+
+ 很遗憾,未领到
+
+
+
+
+
+
+
+
+ {{items.activityData.balanceLow +' - '+ items.activityData.balanceHigh}}
+
+
+ {{items.activityData.balanceFixed}}
+
+
+
+ {{items.activityData.credit2_name?items.activityData.credit2_name:'余额'}}
+
+ 查看
+
+
+ 很遗憾,未领到
+
+
+
+
+
+
+
+
+
+ {{items.activityData.packeLow +' - '+ items.activityData.packeHigh}}
+
+
+ {{items.activityData.packeFixed}}
+
+
+
+
+ 现金红包
+
+ 查看
+
+
+ 很遗憾,未领到
+
+
+
+
+
+ {{ items.activityData.status==2?'已领取':'立即领取'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 很遗憾!
+ 没有领到...
+
+ 我知道了
+
+
+
+
+ 打赏
+ 余额不足,可使用微信支付
+
+
+
+
+ 微信支付
+
+
+
+
+
+
+ 支付
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+ 请输入直播间密码
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认
+
+
+
+
+ 自定义分享语
+
+ 生成海报
+
+
diff --git a/packageD/directSeeding/livePage/livePage.wxss b/packageD/directSeeding/livePage/livePage.wxss
new file mode 100644
index 0000000..05b2666
--- /dev/null
+++ b/packageD/directSeeding/livePage/livePage.wxss
@@ -0,0 +1,2011 @@
+/* packageD/directSeeding/livePage/livePage.wxss */
+page {
+ width: 100%;
+
+ /* height: 100vh; */
+}
+
+.backRight {
+ display: flex;
+ align-items: center;
+ margin-right: 14rpx;
+}
+
+.backRight van-icon {
+ display: flex;
+ align-items: center;
+}
+
+.directSeeding {
+ position: relative;
+ width: 100%;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/livePK_bg.png");
+ background-size: 100% 100%;
+
+ /* height: 100vh; */
+}
+
+.directSeeding live-player {
+ /* width: 100%;
+ height: 100vh; */
+}
+
+.directSeeding .directSeeding_content {
+ position: absolute;
+ z-index: 10;
+ top: 0;
+
+ /* left: 0;
+ right: 0;
+ bottom: 0; */
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_top {
+ display: flex;
+ padding-left: 25rpx;
+ padding-top: 10rpx;
+
+ /* justify-content: space-between; */
+ padding-right: 29rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_top .personal_information {
+ display: flex;
+
+ /* min-width: 295rpx;
+ min-height: 53rpx; */
+ align-items: center;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 60rpx;
+ padding: 11rpx 14rpx;
+ margin-right: 10rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_top .personal_information .information_left {
+ width: 48rpx;
+ height: 48rpx;
+ background-color: #333;
+ border: solid 2rpx #f2f2f7;
+ border-radius: 50%;
+ margin-right: 8rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_top .personal_information .information_left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_top .personal_information .information_center {
+ margin-right: 3rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_top .personal_information .information_center .top {
+ font-size: 24rpx;
+ color: #fff;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: 160rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_top .personal_information .information_center .bottom {
+ font-size: 24rpx;
+ color: #fff;
+ min-width: 160rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_top .personal_information .information_right {
+ width: 84rpx;
+ height: 42rpx;
+ background-color: #fff;
+ border-radius: 21rpx;
+ font-size: 24rpx;
+ line-height: 42rpx;
+ text-align: center;
+ color: #f10505;
+}
+
+.share_message {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ position: absolute;
+ right: 25rpx;
+ bottom: 80rpx;
+ z-index: 14;
+}
+
+.share_message .share_message_left {
+ width: 64rpx;
+ height: 64rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 31rpx;
+}
+
+.share_message .share_message_left icon {
+ font-size: 46rpx;
+ color: #fff;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_center {
+ display: flex;
+ justify-content: flex-end;
+ padding-top: 50rpx;
+ padding-right: 27rpx;
+ padding-bottom: 14rpx;
+
+ /* margin-bottom: 190rpx; */
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_center .preferential_list {
+ box-sizing: border-box;
+
+ /* padding-top: 47rpx; */
+
+ /* height: 359rpx; */
+ width: 170rpx;
+
+ /* border: 1px solid #333; */
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_center .preferential_list image {
+ width: 100%;
+
+ /* height: 100%; */
+}
+
+/* .directSeeding .directSeeding_content .directSeeding_content_center .preferential_list .tilie {
+ font-size: 28rpx;
+ color: #6100d4;
+ text-align: center;
+ padding-bottom: 20rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_center .preferential_list .li {
+ height: 54rpx;
+ line-height: 54rpx;
+ color: #ed6603;
+ text-align: center;
+ font-size: 22rpx;
+ border-bottom: 1px solid #b4c4db;
+ margin-left: 12rpx;
+ margin-right: 12rpx;
+} */
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 10rpx;
+ z-index: 5;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .gift_screen {
+ overflow: hidden;
+ width: 100%;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .gift_screen .ul {
+ display: flex;
+ align-items: center;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .gift_screen .li {
+ flex-shrink: 0;
+ display: flex;
+ align-items: center;
+
+ /* min-width: 247rpx; */
+ min-height: 65rpx;
+
+ /* background-color: rgba(0, 0, 0, 0.4); */
+ border-radius: 32.5rpx;
+ padding-right: 92rpx;
+ box-sizing: border-box;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .gift_screen .li .li_left {
+ width: 65rpx;
+ height: 65rpx;
+ background-color: #fff;
+ border: solid 2rpx #fff;
+ border-radius: 50%;
+ margin-right: 6rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .gift_screen .li .li_left image {
+ width: 65rpx;
+ height: 65rpx;
+ border-radius: 50%;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .gift_screen .li .li_right .top {
+ font-size: 28rpx;
+ color: #fff;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: 168rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .gift_screen .li .li_right .bottom {
+ font-size: 22rpx;
+ color: #fff;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .gift_screen {
+ margin-bottom: 12rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .purchase_tips {
+ display: flex;
+ margin-bottom: 17rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .purchase_tips .purchase_tips_content {
+ margin-left: 25rpx;
+ height: 44rpx;
+ overflow-y: auto;
+ background-color: #d19e1c;
+ border-radius: 22rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .purchase_tips .purchase_tips_content .li {
+ min-width: 364rpx;
+ height: 44rpx;
+ display: flex;
+ align-items: center;
+ color: #fff;
+ font-size: 24rpx;
+ padding-left: 14rpx;
+ padding-right: 14rpx;
+}
+
+/* .directSeeding .directSeeding_content .directSeeding_content_bottom .purchase_tips .purchase_tips_content .img {
+ width: 28rpx;
+ height: 28rpx;
+} */
+.directSeeding .directSeeding_content .directSeeding_content_bottom .purchase_tips .purchase_tips_content .buyicon {
+ display: flex;
+ align-items: center;
+ font-size: 30rpx;
+ margin-right: 4rpx;
+}
+
+/* .directSeeding .directSeeding_content .directSeeding_content_bottom .purchase_tips .purchase_tips_content .icon {} */
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .purchase_tips .purchase_tips_content .name {
+ max-width: 160rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages {
+ margin-left: 25rpx;
+ height: 260rpx;
+ overflow-y: scroll;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li {
+ max-width: 552rpx;
+ min-height: 49rpx;
+ align-items: center;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 6rpx;
+ padding: 4rpx 6rpx;
+ line-height: 40rpx;
+ display: flex;
+ flex-wrap: wrap;
+ color: #fff;
+ font-size: 28rpx;
+ margin-bottom: 10rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .text {
+ /* white-space: pre-wrap; */
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic {
+ width: 50rpx;
+ height: 50rpx;
+ color: #fff;
+ border-radius: 6rpx;
+ margin-right: 8rpx;
+ display: inline-block;
+}
+
+.level_tag {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ min-width: 22rpx;
+ height: 22rpx;
+ border-radius: 11rpx;
+ font-size: 16rpx;
+ text-align: center;
+ line-height: 22rpx;
+ color: #fff;
+}
+
+.level_tag.color_0 {
+ background-color: #00f3d4;
+}
+
+.level_tag.color_1,
+.level_tag.color_2 {
+ background-color: #ffc323;
+}
+
+.level_tag.color_3,
+.level_tag.color_4 {
+ background-color: #ff7f29;
+}
+
+.level_tag.color_5,
+.level_tag.color_6 {
+ background-color: #ff2c29;
+}
+
+.level_tag.color_7,
+.level_tag.color_8 {
+ background-color: #6700f3;
+}
+
+.level_tag.color_9,
+.level_tag.color_10 {
+ background-color: #f30061;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic .characteristic_li {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic .img {
+ width: 40rpx;
+ height: 40rpx;
+ border: solid 2rpx #fff;
+ vertical-align: middle;
+ border-radius: 50%;
+}
+
+.level_tag.color_0 {
+ background-color: #00f3d4;
+}
+
+.level_tag.color_1,
+.level_tag.color_2 {
+ background-color: #ffc323;
+}
+
+.level_tag.color_3,
+.level_tag.color_4 {
+ background-color: #ff7f29;
+}
+
+.level_tag.color_5,
+.level_tag.color_6 {
+ background-color: #ff2c29;
+}
+
+.level_tag.color_7,
+.level_tag.color_8 {
+ background-color: #6700f3;
+}
+
+.level_tag.color_9,
+.level_tag.color_10 {
+ background-color: #f30061;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_0 {
+ background-color: #00f3d4;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_1,
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_2 {
+ background-color: #ffc323;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_3,
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_4 {
+ background-color: #ff7f29;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_5,
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_6 {
+ background-color: #ff2c29;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_7,
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_8 {
+ background-color: #6700f3;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_9,
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .characteristic.color_10 {
+ background-color: #f30061;
+}
+
+/* .directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .name {} */
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_0 {
+ color: #00f3d4;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_1,
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_2 {
+ color: #ffc323;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_3,
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_4 {
+ color: #ff7f29;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_5,
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_6 {
+ color: #ff2c29;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_7,
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_8 {
+ color: #6700f3;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_9,
+.directSeeding .directSeeding_content .directSeeding_content_bottom .chat_messages .li .name.color_10 {
+ color: #f30061;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom {
+ display: flex;
+ justify-content: space-between;
+ margin-right: 30rpx;
+ position: relative;
+ z-index: 99;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .left {
+ display: flex;
+ padding-top: 16rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .right {
+ display: flex;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .good {
+ width: 80rpx;
+ height: 80rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 40rpx;
+ border-radius: 50%;
+ position: relative;
+ margin-left: 25rpx;
+ margin-right: 18rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .good .icon-zb_goods {
+ font-size: 60rpx;
+ color: #fc7d26;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .good .num {
+ position: absolute;
+ top: -4rpx;
+ right: 0;
+ background: #6100d4;
+ border-radius: 50%;
+ display: flex;
+ min-width: 36rpx;
+ height: 36rpx;
+ justify-content: center;
+ align-items: center;
+ font-size: 24rpx;
+ color: #fff;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_content {
+ width: 273rpx;
+ height: 68rpx;
+ border-bottom: 1px solid #fff;
+ margin-right: 47rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_content .text {
+ width: 273rpx;
+ line-height: 68rpx;
+ font-size: 32rpx;
+ color: #fefefe;
+ padding-left: 4rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chaticon_list {
+ display: flex;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chaticon_list .li {
+ margin-right: 48rpx;
+ position: relative;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chaticon_list .li .top {
+ width: 64rpx;
+ height: 64rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chaticon_list .li .top .iconfont {
+ color: #fff;
+ font-size: 40rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chaticon_list .li .top .img {
+ width: 40rpx;
+ height: 40rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chaticon_list .bottom {
+ padding-top: 11rpx;
+ height: 21rpx;
+ font-size: 22rpx;
+ color: #fefefe;
+ line-height: 21rpx;
+ text-align: center;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chaticon_list .li.active .top .icon-zb_all_like {
+ color: #fc7d26;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chaticon_list .li.shownum .num {
+ position: absolute;
+ top: -14rpx;
+ right: -10rpx;
+ background: #fa0;
+ border-radius: 50%;
+ display: flex;
+ min-width: 36rpx;
+ height: 36rpx;
+ justify-content: center;
+ align-items: center;
+ font-size: 24rpx;
+ color: #fff;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chaticon_list .GiftBtn-box {
+ margin-right: 0;
+}
+
+/* .directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .text {} */
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat {
+ width: 329rpx;
+ height: 80rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 40rpx;
+ display: flex;
+ align-items: center;
+ padding-left: 10rpx;
+ font-size: 32rpx;
+ color: #fff;
+ margin-right: 30rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat .left {
+ font-size: 38rpx;
+ margin-right: 10rpx;
+ display: flex;
+ align-items: center;
+}
+
+/* .directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat .img {
+ width: 38rpx;
+ height: 38rpx;
+ margin-right: 10rpx;
+} */
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat .text {
+ color: #fefefe;
+}
+
+/* .directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat textarea {
+ flex: 1;
+ height: 40rpx;
+ margin-left: 13rpx;
+} */
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list {
+ display: flex;
+ justify-content: flex-end;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li {
+ width: 80rpx;
+ height: 80rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 40rpx;
+ border-radius: 50%;
+ margin-right: 30rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li.showGood {
+ position: relative;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li.showGood .iconfont {
+ display: flex;
+ align-items: center;
+ font-size: 55rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li.showGood .num {
+ position: absolute;
+ top: -4rpx;
+ right: 0;
+ background: #6100d4;
+ border-radius: 50%;
+ display: flex;
+ min-width: 36rpx;
+ height: 36rpx;
+ justify-content: center;
+ align-items: center;
+ font-size: 24rpx;
+ color: #fff;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li.shownum {
+ margin-right: 0;
+ position: relative;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li.shownum .num {
+ position: absolute;
+ top: -4rpx;
+ right: 0;
+ background: #fa0;
+ border-radius: 50%;
+ display: flex;
+ min-width: 36rpx;
+ height: 36rpx;
+ justify-content: center;
+ align-items: center;
+ font-size: 24rpx;
+ color: #fff;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li .img {
+ width: 47rpx;
+ height: 47rpx;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li.li_0 {
+ background-image:
+ linear-gradient(
+ 0deg,
+ #ea650a 0%,
+ #fed279 100%
+ ),
+ linear-gradient(
+ #000,
+ #000
+ );
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li.li_0 .iconfont {
+ color: #fff;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li.li_1 .iconfont {
+ color: #f30061;
+}
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li.li_2 .iconfont {
+ color: #ffc323;
+}
+
+/* .directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li {} */
+
+.directSeeding .directSeeding_content .directSeeding_content_bottom .interaction_bottom .chat_list .li.li_2 {
+ margin-right: 0;
+ margin-left: 60rpx;
+}
+
+.directSeeding .success_tips {
+ width: 251rpx;
+ height: 72rpx;
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 36rpx;
+ color: #fff;
+ text-align: center;
+ line-height: 72rpx;
+ margin: 0 auto;
+}
+
+.shade {
+ position: absolute;
+ background-color: rgba(0, 0, 0, 0.6);
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+ z-index: 10;
+}
+
+.chatInput {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: 100rpx;
+ z-index: 11;
+ background-color: #f6f6f6;
+}
+
+.chatInput .chatInputContent {
+ display: flex;
+ height: 100%;
+ align-items: center;
+ padding-left: 25rpx;
+}
+
+.chatInput .chatInputContent .submit {
+ width: 127rpx;
+ height: 70rpx;
+ background-color: #ee0223;
+ border-radius: 39rpx;
+ margin-left: 18rpx;
+ font-size: 30rpx;
+ line-height: 70rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.chatInputContent .cover-input {
+ width: 538rpx;
+ height: 78rpx;
+ background-color: #fff;
+ border-radius: 10rpx;
+ padding-left: 17rpx;
+}
+
+.chatInputContent .input {
+ height: 78rpx;
+ line-height: 78rpx;
+}
+
+.sharing_code {
+ z-index: 11;
+ width: 500rpx;
+ height: auto;
+
+ /* background-color: #ffffff; */
+ border-radius: 16rpx;
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ margin-top: -441rpx;
+ margin-left: -250rpx;
+ overflow: visible;
+}
+
+.sharing_code .close_icon {
+ position: absolute;
+ z-index: 12;
+ bottom: -121rpx;
+ left: 50%;
+ margin-left: -32rpx;
+ width: 64rpx;
+ height: 64rpx;
+ border-radius: 50%;
+ border: 1px solid #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.sharing_code .close_icon .iconfont {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 40rpx;
+ color: #fff;
+}
+
+.sharing_code .icon_btn {
+ width: 100%;
+ position: fixed;
+ bottom: 80rpx;
+ left: 0;
+
+ /* height: 120rpx; */
+ background: #fff;
+ text-align: center;
+ display: flex;
+ justify-content: space-around;
+}
+
+.sharing_code .icon_btn .box {
+ width: 50%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ text-align: center;
+ padding: 20rpx 0;
+ position: relative;
+}
+
+.sharing_code .icon_btn image {
+ width: 80rpx;
+ height: 80rpx;
+ margin-bottom: 8rpx;
+}
+
+.sharing_code .icon_close {
+ position: fixed;
+ bottom: 0rpx;
+ left: 0;
+ width: 100%;
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ background: #efefef;
+ color: #333;
+ font-size: 32rpx;
+}
+
+.anchorman_details {
+ position: absolute;
+ z-index: 12;
+ left: 50%;
+ top: 50%;
+ margin-top: -285rpx;
+ margin-left: -310rpx;
+ width: 620rpx;
+ height: 570rpx;
+ background-color: #fff;
+ border-radius: 16rpx;
+ overflow-y: visible;
+}
+
+.anchorman_details .photo {
+ position: absolute;
+ z-index: 12;
+ width: 168rpx;
+ height: 168rpx;
+
+ /* margin: auto; */
+ left: 50%;
+ top: -84rpx;
+ margin-left: -84rpx;
+ background-color: #333;
+ border: solid 6rpx #fff;
+ border-radius: 50%;
+}
+
+.anchorman_details .photo image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.anchorman_details .name {
+ padding-top: 104rpx;
+ font-size: 36rpx;
+ line-height: 36rpx;
+ color: #000;
+ text-align: center;
+ margin-bottom: 16rpx;
+}
+
+.anchorman_details .anchorma_type {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 53rpx;
+ margin-bottom: 70rpx;
+}
+
+.anchorman_details .anchorma_type .left {
+ height: 53rpx;
+ line-height: 53rpx;
+ font-size: 28rpx;
+ color: #000;
+ margin-right: 15rpx;
+}
+
+.anchorman_details .anchorma_type .right {
+ width: 106rpx;
+ height: 53rpx;
+ background-color: #ff7200;
+ border-radius: 26.5rpx;
+ line-height: 53rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.anchorman_details .anchorma_type .right.active {
+ background-color: #999;
+}
+
+.anchorman_details .anchorm_follow {
+ display: flex;
+ justify-content: center;
+}
+
+.anchorman_details .anchorm_follow .anchorm_follow_left {
+ margin-right: 26rpx;
+}
+
+.anchorman_details .anchorm_follow .anchorm_follow_left,
+.anchorman_details .anchorm_follow .anchorm_follow_right {
+ width: 256rpx;
+ text-align: center;
+}
+
+.anchorman_details .anchorm_follow .top {
+ font-size: 48rpx;
+ line-height: 36rpx;
+ color: #000;
+ margin-bottom: 34rpx;
+}
+
+.anchorman_details .anchorm_follow .center {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #999;
+ margin-bottom: 43rpx;
+}
+
+.anchorman_details .anchorm_follow .bottom {
+ width: 256rpx;
+ height: 80rpx;
+ background-color: #ff7200;
+ border-radius: 40rpx;
+ text-align: center;
+ line-height: 80rpx;
+ color: #fff;
+}
+
+.anchorman_details .anchorm_follow .anchorm_follow_right .bottom {
+ background-color: #7e02e7;
+}
+
+.anchorman_details .close {
+ z-index: 12;
+ position: absolute;
+ top: 26rpx;
+ right: 31rpx;
+ width: 28rpx;
+ height: 28rpx;
+}
+
+.anchorman_details .close .img {
+ width: 100%;
+ height: 100%;
+}
+
+.goods_list {
+ z-index: 12;
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: 627rpx;
+ padding-top: 38rpx;
+ background-color: #fff;
+ overflow-y: scroll;
+ border-top-left-radius: 15rpx;
+ border-top-right-radius: 15rpx;
+}
+
+.goods_list .close {
+ position: absolute;
+ width: 50rpx;
+ height: 50rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ top: 10rpx;
+ right: 20rpx;
+ z-index: 15;
+}
+
+.goods_list .close .iconfont {
+ font-size: 30rpx;
+}
+
+.goods_list .ul .li {
+ padding-top: 22rpx;
+ padding-bottom: 26rpx;
+ border-bottom: 1px solid #f3f3f4;
+ margin-left: 25rpx;
+ margin-right: 25rpx;
+ display: flex;
+}
+
+.goods_list .ul .li .li_left {
+ width: 157rpx;
+ height: 158rpx;
+ background-color: #333;
+ border-radius: 8rpx;
+ margin-right: 28rpx;
+ position: relative;
+}
+
+.goods_list .ul .li .li_left .tag {
+ position: absolute;
+ left: 0;
+ top: 0;
+ color: #fff;
+ line-height: 33rpx;
+ text-align: center;
+ padding-left: 6rpx;
+ padding-right: 6rpx;
+ min-width: 45rpx;
+ height: 33rpx;
+ background-color: #ff9c00;
+ border-radius: 7.5rpx 0rpx 7.5rpx 0rpx;
+}
+
+.goods_list .ul .li .li_left image {
+ width: 100%;
+ height: 100%;
+}
+
+.goods_list .ul .li .li_right {
+ flex: 1;
+}
+
+.goods_list .ul .li .li_right .name {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #010101;
+ white-space: pre-wrap;
+ height: 108rpx;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+}
+
+.goods_list .ul .li .li_right .bottom {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.goods_list .ul .li .li_right .bottom .left {
+ display: flex;
+ align-items: center;
+}
+
+.goods_list .ul .li .li_right .bottom .left .symbol {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #999;
+}
+
+.goods_list .ul .li .li_right .bottom .left .num {
+ font-size: 34rpx;
+ line-height: 36rpx;
+ color: #f53c3f;
+}
+
+.goods_list .ul .li .li_right .bottom .right {
+ width: 49rpx;
+ height: 49rpx;
+ background-color: #f21a1b;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 50%;
+}
+
+.goods_list .ul .li .li_right .bottom .right .iconfont {
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+ justify-content: center;
+}
+
+/* .goods_list .ul .li .li_right .bottom .right image {
+ width: 100%;
+ height: 100%;
+} */
+
+.gift_list {
+ position: absolute;
+ z-index: 12;
+ left: 0;
+ right: 0;
+ bottom: 0;
+
+ /* height: 640rpx; */
+ background-color: #fff;
+ border-radius: 20rpx 20rpx 0rpx 0rpx;
+ padding-bottom: 10rpx;
+ padding-top: 34rpx;
+}
+
+.gift_list .close {
+ position: absolute;
+ width: 50rpx;
+ height: 50rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ top: 10rpx;
+ right: 20rpx;
+ z-index: 15;
+}
+
+.gift_list .close .iconfont {
+ font-size: 30rpx;
+}
+
+.gift_list .contentTop {
+ overflow-y: auto;
+}
+
+.gift_list .gift_list_top {
+ display: flex;
+ flex-wrap: wrap;
+ padding-left: 10rpx;
+
+ /* padding-top: 23rpx; */
+
+ /* height: 300rpx; */
+ padding-top: 4rpx;
+}
+
+.gift_list .gift_list_top .li {
+ flex-shrink: 0;
+ width: 180rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ border: 1px solid #fff;
+ padding-top: 10rpx;
+ padding-bottom: 10rpx;
+}
+
+.gift_list .gift_list_top .li.active {
+ border: 1px solid #ff3902;
+}
+
+.gift_list .gift_list_top .li .top {
+ width: 114rpx;
+ height: 114rpx;
+}
+
+.gift_list .gift_list_top .li .top image {
+ width: 100%;
+ height: 100%;
+}
+
+.gift_list .gift_list_top .li .name {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-bottom: 6rpx;
+}
+
+.gift_list .gift_list_top .li .center {
+ font-size: 20rpx;
+ line-height: 26rpx;
+ letter-spacing: 0rpx;
+ color: #666;
+}
+
+.gift_list .gift_list_top .li .bottom {
+ font-size: 20rpx;
+ line-height: 26rpx;
+ letter-spacing: 0rpx;
+ color: #666;
+}
+
+.gift_list .gift_list_bottom {
+ /* position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0; */
+ display: flex;
+ justify-content: space-between;
+ padding-left: 31rpx;
+ padding-right: 26rpx;
+ padding-top: 10rpx;
+ height: 130rpx;
+ align-items: center;
+ border-top: 1px solid #f6f6f6;
+}
+
+.gift_list .gift_list_bottom .gift_list_bottom_left .left_li {
+ height: 45rpx;
+ line-height: 45rpx;
+ display: flex;
+ align-items: center;
+}
+
+.gift_list .gift_list_bottom .gift_list_bottom_left .left_li .left {
+ width: 30rpx;
+ height: 30rpx;
+ border: 1px solid #666;
+ border-radius: 50%;
+ margin-right: 7rpx;
+}
+
+.gift_list .gift_list_bottom .gift_list_bottom_left .left_li .right {
+ font-size: 26rpx;
+ line-height: 30rpx;
+ color: #000;
+}
+
+.gift_list .gift_list_bottom .gift_list_bottom_left .left_li .left.active {
+ border: 1px solid #f15353;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/goods_finish.png") no-repeat center;
+ background-size: 100% 100%;
+}
+
+.gift_list .gift_list_bottom .gift_list_bottom_right {
+ width: 160rpx;
+ height: 59rpx;
+ background-image:
+ linear-gradient(
+ 90deg,
+ #f23a3a 0%,
+ #f75f30 100%
+ ),
+ linear-gradient(
+ #e93534,
+ #e93534
+ );
+ background-blend-mode:
+ normal,
+ normal;
+
+ /* background-color: #e93534; */
+ border-radius: 29.5rpx;
+ text-align: center;
+ color: #fff;
+ line-height: 59rpx;
+ font-size: 36rpx;
+}
+
+.marketing_list {
+ width: 620rpx;
+ height: 846rpx;
+ background-color: #fff;
+ border-radius: 20rpx;
+ overflow: visible;
+}
+
+.marketing_list .marketing_content {
+ padding-top: 49rpx;
+}
+
+.marketing_list .title {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 40rpx;
+}
+
+.marketing_list .title .left {
+ display: flex;
+ align-items: center;
+}
+
+.marketing_list .title .left .circle {
+ width: 20rpx;
+ height: 20rpx;
+ background-color: #d56604;
+ border-radius: 50%;
+}
+
+.marketing_list .title .left .line {
+ width: 105rpx;
+ height: 4rpx;
+ background-color: #d56604;
+}
+
+.marketing_list .title .name {
+ line-height: 40rpx;
+ font-size: 36rpx;
+
+ /* color: #ffffff; */
+}
+
+.marketing_list .title .right {
+ display: flex;
+ align-items: center;
+}
+
+.marketing_list .title .right .circle {
+ width: 20rpx;
+ height: 20rpx;
+ background-color: #d56604;
+ border-radius: 50%;
+}
+
+.marketing_list .title .right .line {
+ width: 105rpx;
+ height: 4rpx;
+ background-color: #d56604;
+}
+
+.marketing_list .marketing_content .list {
+ padding-top: 80rpx;
+ margin-left: 45rpx;
+ margin-right: 45rpx;
+ height: 450rpx;
+ overflow-y: scroll;
+ margin-bottom: 31rpx;
+}
+
+.marketing_list .marketing_content .list .li {
+ background-color: #ff7800;
+ padding-top: 8rpx;
+ padding-bottom: 8rpx;
+ display: flex;
+ align-items: center;
+ border-radius: 10rpx;
+ margin-bottom: 31rpx;
+}
+
+.marketing_list .marketing_content .list .li .left {
+ width: 163rpx;
+ height: 75rpx;
+ border-right: 1px dashed #fff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ margin-right: 29rpx;
+}
+
+.marketing_list .marketing_content .list .li .left .num {
+ font-size: 48rpx;
+ margin-right: 14rpx;
+}
+
+.marketing_list .marketing_content .list .li .left .pic {
+ font-size: 25.89rpx;
+}
+
+.marketing_list .marketing_content .list .li .right {
+ display: flex;
+ flex: 1;
+ justify-content: space-between;
+ align-items: center;
+ padding-right: 25rpx;
+}
+
+.marketing_list .marketing_content .list .li .right .name {
+ font-size: 32rpx;
+ color: #fff;
+}
+
+.marketing_list .marketing_content .list .li .right .btn {
+ width: 100rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ text-align: center;
+ background-color: #fff;
+ border-radius: 18rpx;
+}
+
+.marketing_list .marketing_content .list .li .right .tips {
+ font-size: 20rpx;
+ color: #000;
+}
+
+.marketing_list .marketing_content .list .li.disabled {
+ background-color: #ccc;
+}
+
+.marketing_list .marketing_content .drawBtn {
+ width: 424rpx;
+ height: 69rpx;
+ background-color: #ff7800;
+ border-radius: 34.5rpx;
+ margin: 0 auto;
+ line-height: 69rpx;
+ text-align: center;
+ color: #fff;
+ font-size: 36rpx;
+}
+
+.marketing_list .marketing_content .drawBtn.disabled {
+ background-color: #999;
+}
+
+.marketing_list .close {
+ position: absolute;
+ z-index: 13;
+ bottom: -98rpx;
+ left: 50%;
+ margin-left: -32.5rpx;
+ width: 63rpx;
+ height: 63rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 1px solid #fff;
+ border-radius: 50%;
+}
+
+.marketing_list .close .iconfont {
+ font-size: 40rpx;
+ display: flex;
+ align-items: center;
+ color: #fff;
+}
+
+.lose_tips {
+ z-index: 12;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin-left: -310rpx;
+ margin-top: -270rpx;
+ width: 620rpx;
+ height: 474rpx;
+ background-color: #fff;
+ border-radius: 20rpx;
+ overflow: visible;
+ padding-top: 66rpx;
+}
+
+.lose_tips .lose_content .top {
+ width: 110rpx;
+ height: 110rpx;
+ margin: 0 auto 41rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-color: #949494;
+ border-radius: 50%;
+}
+
+.lose_tips .lose_content .top .iconfont {
+ color: #fff;
+ font-size: 80rpx;
+ display: flex;
+ align-items: center;
+}
+
+.lose_tips .lose_content .center .tips {
+ font-size: 48rpx;
+ color: #000;
+ margin-bottom: 30rpx;
+}
+
+.lose_tips .lose_content .center .title {
+ font-size: 28rpx;
+ color: #999;
+}
+
+.lose_tips .lose_content .center {
+ text-align: center;
+ margin-bottom: 65rpx;
+}
+
+.lose_tips .lose_content .button {
+ width: 408rpx;
+ height: 90rpx;
+ background-color: #fe8a02;
+ border-radius: 45rpx;
+ text-align: center;
+ line-height: 90rpx;
+ font-size: 36rpx;
+ color: #fff;
+ margin: 0 auto;
+}
+
+.coverImg {
+ width: 100%;
+ height: 100%;
+ filter: blur(15px);
+ -webkit-filter: blur(15px);
+ object-fit: contain;
+}
+
+.wechatpayContent {
+ position: relative;
+ width: 100%;
+ height: 100%;
+}
+
+.wechatpayContent .icon-close11 {
+ position: absolute;
+ font-size: 40rpx;
+ top: 20rpx;
+ right: 41rpx;
+}
+
+.wechatpayContent .title {
+ font-size: 36rpx;
+ line-height: 36rpx;
+ color: #000;
+ text-align: center;
+ padding-top: 38rpx;
+}
+
+.wechatpayContent .pay {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #999;
+ padding-top: 25rpx;
+ padding-left: 46rpx;
+}
+
+.wechatpayContent .ul {
+ padding-left: 34rpx;
+ padding-right: 34rpx;
+}
+
+.wechatpayContent .ul .li {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.wechatpayContent .ul .li .left {
+ display: flex;
+ align-items: center;
+}
+
+.wechatpayContent .ul .li .left .icon-card_weixin {
+ color: #08c160;
+ font-size: 40rpx;
+ margin-right: 30rpx;
+}
+
+.wechatpayContent .ul .li .left .payName {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #000;
+}
+
+.wechatpayContent .ul .li .right {
+ color: #ff2c29;
+}
+
+.wechatpayContent .wechatpaybtn {
+ width: 120rpx;
+ height: 50rpx;
+ background-color: #08c160;
+ border-radius: 10rpx;
+ font-size: 28rpx;
+ line-height: 50rpx;
+ text-align: center;
+ color: #fff;
+ position: absolute;
+ bottom: 40rpx;
+ left: 50%;
+ margin-left: -60rpx;
+}
+
+.show_shoplist_content {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ position: absolute;
+ right: 0;
+ top: -190rpx;
+ z-index: 14;
+}
+
+.show_shoplist_content .show_shoplist {
+ margin-right: 10rpx;
+ width: 110rpx;
+ height: 310rpx;
+}
+
+.show_shoplist_content .show_shoplist .li {
+ position: relative;
+ padding-top: 12rpx;
+}
+
+.show_shoplist_content .show_shoplist .li .top {
+ width: 90rpx;
+ height: 90rpx;
+ border-radius: 50%;
+ margin: 0 auto;
+}
+
+.show_shoplist_content .show_shoplist .li .top image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.show_shoplist_content .show_shoplist .li .bottom {
+ color: #fff;
+ font-size: 24rpx;
+ line-height: 26rpx;
+ text-align: center;
+}
+
+.show_shoplist_content .show_shoplist .li .close {
+ width: 40rpx;
+ height: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: absolute;
+ right: -6rpx;
+ top: -3rpx;
+}
+
+.show_shoplist_content .show_shoplist .li .close .iconfont {
+ color: #fff;
+ font-size: 38rpx;
+}
+
+.moreContent {
+ padding-top: 39rpx;
+ padding-left: 39rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.moreContent .li {
+ width: 110rpx;
+ margin-bottom: 40rpx;
+ margin-right: 31rpx;
+}
+
+.moreContent .li .top {
+ width: 110rpx;
+ height: 110rpx;
+ border-radius: 20rpx;
+}
+
+.moreContent .li .top image {
+ border-radius: 20rpx;
+ width: 100%;
+ height: 100%;
+}
+
+.moreContent .li .bottom {
+ line-height: 36rpx;
+ color: #999;
+ text-align: center;
+ padding-top: 14rpx;
+ max-height: 72rpx;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.commodities {
+ position: absolute;
+ z-index: 12;
+ left: 25rpx;
+ top: 320rpx;
+ width: 165rpx;
+ height: 217rpx;
+ background-color: rgba(0, 0, 0, 0.2);
+ border-radius: 10rpx;
+ box-sizing: border-box;
+ padding-left: 5rpx;
+ padding-right: 5rpx;
+ padding-bottom: 11rpx;
+}
+
+.commodities .title {
+ padding-top: 8rpx;
+ font-size: 22rpx;
+ line-height: 36rpx;
+ color: #fff;
+ text-align: center;
+ padding-bottom: 6rpx;
+}
+
+.commodities .picshow {
+ width: 155rpx;
+ height: 155rpx;
+ border-radius: 10rpx;
+ position: relative;
+}
+
+.commodities .picshow .top {
+ width: 100%;
+ height: 100%;
+}
+
+.commodities .picshow .top image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.commodities .picshow .bottom {
+ position: absolute;
+ z-index: 13;
+ left: 0;
+ bottom: 0;
+ width: 100%;
+ height: 38rpx;
+ background-color: rgba(255, 255, 255, 0.8);
+ border-radius: 0rpx 0rpx 10rpx 10rpx;
+ font-size: 24rpx;
+ line-height: 38rpx;
+ color: #ff2c29;
+ padding-left: 11rpx;
+ box-sizing: border-box;
+}
+
+.commodities .close {
+ position: absolute;
+ left: 0;
+ top: -52rpx;
+ width: 40rpx;
+ height: 40rpx;
+}
+
+.commodities .close .icon-adsystem_icon_cancle {
+ font-size: 40rpx;
+ color: #fff;
+}
+
+.passwordContent .title {
+ padding-top: 19rpx;
+ text-align: center;
+ padding-bottom: 50rpx;
+}
+
+.passwordContent .content {
+ width: 355rpx;
+ margin: 0 auto 50rpx;
+ border-bottom: #bbb 1rpx solid;
+ display: flex;
+ align-items: center;
+}
+
+.passwordContent .content input {
+ width: 100%;
+ padding-left: 10rpx;
+}
+
+.passwordContent .left {
+ float: 1;
+}
+
+.passwordContent .right {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 100rpx;
+}
+
+.passwordContent .btn {
+ background-color: #f53939;
+ width: 600rpx;
+ height: 80rpx;
+ text-align: center;
+ line-height: 80rpx;
+ color: #fff;
+ margin: 0 auto;
+ font-size: 28rpx;
+ border-radius: 20rpx;
+}
+
+.luck_draw_btn {
+ position: fixed;
+ top: 180rpx;
+ left: 32rpx;
+ z-index: 999;
+}
+
+.luck_draw_btn .luck_draw_btn_img {
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ margin: 0;
+ display: block;
+}
+
+.luck_draw_btn .CloneBtn {
+ color: #fff;
+ position: absolute;
+ top: -32rpx;
+ left: -32rpx;
+}
+
+.luck_draw_btn .CloneBtn icon {
+ font-size: 32rpx;
+ padding: 8rpx;
+}
+
+.posterWord .h2 {
+ line-height: 28px;
+ height: 36px;
+ text-align: center;
+ font-size: 16px;
+ font-weight: bold;
+}
+
+.advertising-Box {
+ position: absolute;
+ right: 44rpx;
+ top: 188rpx;
+ z-index: 99;
+}
+
+.advertising-Box .advertising-Box-child {
+ width: 120rpx;
+ height: 120rpx;
+ position: relative;
+}
+
+.advertising-Box .advertising-Box-child image {
+ width: 100%;
+ height: 100%;
+ object-fit: contain;
+}
+
+.advertising-Box .advertising-Box-child .icon-adsystem_icon_cancle {
+ position: absolute;
+ top: -28rpx;
+ right: -32rpx;
+ color: #fff;
+ padding: 8rpx;
+}
+
+.advertising-Box .member-look-ads {
+ margin-bottom: 24rpx;
+}
+
+.gift-effects {
+ position: fixed;
+ width: 100%;
+ left: 0;
+ top: 0;
+ z-index: 1;
+}
+
+.gift-effects image {
+ width: 100%;
+ height: 100%;
+}
+
+.fullScreens {
+ height: 100vh;
+}
+
+.topScreens {
+ height: 50vh;
+}
+
+.bottomScreens {
+ height: 50vh;
+ top: auto;
+ bottom: 0;
+}
+
+.pk-video-main {
+ height: 40vh;
+ width: 100%;
+ top: auto;
+ left: 0;
+ bottom: 45%;
+ position: absolute;
+}
+
+.pk-video-main live-player {
+ width: 50% !important;
+ height: 40vh !important;
+}
+
+.pk-video-main .videos-pk {
+ left: auto !important;
+ right: 0 !important;
+ position: absolute;
+ top: 0;
+ width: 50% !important;
+ height: 40vh !important;
+ display: flex;
+ align-items: flex-end;
+}
+
+.pk-video-main .videos-pk-anchor {
+ display: flex;
+ align-items: flex-end;
+ z-index: 9999;
+}
+
+.pk-video-main .videos-pk-anchor .pkAnchor-info {
+ display: flex;
+ align-items: center;
+ height: 1.375rem;
+ line-height: 1.375rem;
+ max-width: 8rem;
+ margin: 0.375rem;
+ padding: 0 0.125rem;
+ border-radius: 1rem;
+ overflow: hidden;
+ background: rgba(0, 0, 0, 0.2);
+}
+
+.pk-video-main .videos-pk-anchor .pkAnchor-info .pkAnchor-info-avatar {
+ width: 1.25rem;
+ height: 1.25rem;
+ border-radius: 50%;
+ overflow: hidden;
+ margin: 0;
+}
+
+.pk-video-main .videos-pk-anchor .pkAnchor-info .pkAnchor-info-name {
+ font-size: 12px;
+ color: #fff;
+ padding: 0 0.5rem 0 0.25rem;
+ flex: 1;
+ text-align: left;
+ overflow: hidden;
+
+ /* 超出部分隐藏 */
+ text-overflow: ellipsis;
+
+ /* 超出部分显示省略号 */
+ white-space: nowrap;
+
+ /* 规定段落中的文本不进行换行 */
+}
+
+.pk-video-main .pk-video-time {
+ z-index: 999;
+ color: #fff;
+ text-align: center;
+ position: absolute;
+ left: 50%;
+ top: -0.75rem;
+ transform: translateX(-50%);
+ background: rgba(0, 0, 0, 0.8);
+ padding: 0 1.5rem;
+ height: 1.5rem;
+ line-height: 1.5rem;
+ border-radius: 0.75rem;
+}
+
+.horizontal-screen {
+ background: #000;
+}
+
+.horizontal-screen live-player {
+ transform: translateY(-10%);
+}
diff --git a/packageD/directSeeding/liveReport/liveReport.js b/packageD/directSeeding/liveReport/liveReport.js
new file mode 100644
index 0000000..ab85295
--- /dev/null
+++ b/packageD/directSeeding/liveReport/liveReport.js
@@ -0,0 +1,241 @@
+// packageD/directSeeding/liveReport/liveReport.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ fileList: [],
+ uploadUrl: 'upload.uploadPic',
+ reportContentShow: true,
+ room_id: "",
+ liveReportData: '',
+ radio: "1",
+ desc: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.id) {
+ this.setData({
+ room_id: options.id
+ });
+ }
+ this.getLiveReport();
+ },
+ descInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "desc": val
+ });
+ },
+ submit() {
+ if (!this.data.desc) {
+ wx.showToast({
+ icon: 'none',
+ title: '请填写问题描述',
+ duration: 1500
+ });
+ return false;
+ }
+ if (this.data.fileList.length <= 0) {
+ wx.showToast({
+ icon: 'none',
+ title: '请上传相关截图',
+ duration: 1500
+ });
+ return false;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.report-add");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ room_id: this.data.room_id,
+ report_type: Number(this.data.radio),
+ desc: this.data.desc,
+ image: this.data.fileList
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: '消息提交成功',
+ duration: 1500
+ });
+ that.setData({
+ reportContentShow: false
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ onChange(e) {
+ let index = e.detail;
+ this.setData({
+ radio: index
+ });
+ },
+ getLiveReport() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.room.frontend.live.report");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ room_id: this.data.room_id
+ },
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ liveReportData: res.data
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ returnBtn() {
+ wx.navigateBack({
+ delta: 1
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ removeImg_1: function(e) {
+ let index = e.currentTarget.dataset.index;
+ let fileList = this.data.fileList;
+ let infoArr = this.data.infoArr;
+ fileList.splice(index, 1);
+ this.setData({
+ fileList: fileList,
+ infoArr
+ });
+ },
+ // 选择图片
+ onRead_2() {
+ if (this.data.upNumMaxOther == 4 || this.data.upNumMaxOther >= 4) {
+ wx.showToast({
+ icon: 'none',
+ title: '图片数量已达到上限',
+ duration: 1500
+ });
+ return false;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ wx.compressImage({
+ src: tempFilePaths[0], // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: 'file',
+ formData: {
+ attach: 'upload'
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ let fileList = that.data.fileList;
+ fileList.push({
+ url: res.data.img_url
+ });
+ that.setData({
+ upNumMaxOther: that.data.upNumMaxOther + 1,
+ fileList: fileList
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ }
+ });
+ },
+ fail(e) {},
+ complete(e) {}
+ });
+ }
+ });
+ },
+});
diff --git a/packageD/directSeeding/liveReport/liveReport.json b/packageD/directSeeding/liveReport/liveReport.json
new file mode 100644
index 0000000..ecaab4e
--- /dev/null
+++ b/packageD/directSeeding/liveReport/liveReport.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "举报",
+ "usingComponents": {
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageD/directSeeding/liveReport/liveReport.wxml b/packageD/directSeeding/liveReport/liveReport.wxml
new file mode 100644
index 0000000..9d8bf6d
--- /dev/null
+++ b/packageD/directSeeding/liveReport/liveReport.wxml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+ 辱骂,歧视,挑衅,泄露他人隐私等
+
+
+ 垃圾广告信息
+
+
+ 色情,暴力,血腥,政治敏感等违法内容
+
+
+ 迷信活动
+
+
+ 出售违禁品(枪支弹药/危险武器/保护动植物等)
+
+
+ 其他问题
+
+
+
+
+
+ 问题描述
+
+
+
+
+
+
+
+ 上传截图
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
+
+
+ 您的举报已提交成功!
+ 返回
+
+
+
diff --git a/packageD/directSeeding/liveReport/liveReport.wxss b/packageD/directSeeding/liveReport/liveReport.wxss
new file mode 100644
index 0000000..0dbb533
--- /dev/null
+++ b/packageD/directSeeding/liveReport/liveReport.wxss
@@ -0,0 +1,198 @@
+/* packageD/directSeeding/liveReport/liveReport.wxss */
+page {
+ height: 100%;
+ width: 100%;
+}
+
+.reportContent {
+ width: 100%;
+ height: 100%;
+}
+
+.header_top {
+ background: #fff;
+ padding-left: 48rpx;
+ padding-top: 58rpx;
+ padding-bottom: 28rpx;
+ display: flex;
+ margin-bottom: 20rpx;
+}
+
+.header_top .left {
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 50%;
+}
+
+.header_top .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.header_top .right {
+ padding-top: 8rpx;
+ padding-left: 24rpx;
+}
+
+.header_top .right .name {
+ font-size: 32rpx;
+ height: 36rpx;
+ line-height: 36rpx;
+ color: #282828;
+ padding-bottom: 10rpx;
+}
+
+.header_top .right .number {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ height: 36rpx;
+ color: #666;
+}
+
+.reportList {
+ background: #fff;
+ padding-left: 25rpx;
+ padding-right: 25rpx;
+}
+
+.reportList .li {
+ height: 84rpx;
+ display: flex;
+ align-items: center;
+ border-bottom: 1rpx solid #f6f6f6;
+}
+
+.question {
+ padding-top: 6rpx;
+ padding-left: 25rpx;
+ background: #fff;
+}
+
+.question .h1 {
+ height: 83rpx;
+ line-height: 83rpx;
+ padding-left: 13rpx;
+ font-size: 32rpx;
+}
+
+.question .textarea {
+ width: 660rpx;
+ height: 192rpx;
+ background-color: #f6f6f6;
+ border-radius: 10rpx;
+ padding: 20rpx 11rpx;
+}
+
+.screenshot {
+ background: #fff;
+ padding-left: 25rpx;
+ padding-top: 7rpx;
+}
+
+.screenshot .h1 {
+ line-height: 80rpx;
+ height: 80rpx;
+ font-size: 32rpx;
+ color: #333;
+ padding-left: 12rpx;
+}
+
+.imgflex {
+ display: flex;
+ flex-wrap: wrap;
+ padding-left: 15rpx;
+ padding-bottom: 77rpx;
+}
+
+.imgflex .photobox {
+ width: 146rpx;
+ height: 146rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+}
+
+.imgflex .photobox image {
+ width: 100%;
+}
+
+.imgflex .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.imgflex .photoshow {
+ width: 146rpx;
+ height: 146rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+}
+
+.imgflex .photoshow image {
+ width: 68rpx;
+ height: 68rpx;
+}
+
+.reportContentBottom {
+ background: #fff;
+ padding-bottom: 53rpx;
+}
+
+.submit {
+ width: 666rpx;
+ height: 90rpx;
+ background-color: #f53939;
+ border-radius: 45rpx;
+ line-height: 90rpx;
+ margin: 0 auto;
+ text-align: center;
+ color: #fff;
+ font-size: 32rpx;
+}
+
+.report_icon_content {
+ background: #fff;
+ height: 100%;
+ width: 100%;
+}
+
+.report_icon {
+ display: flex;
+ justify-content: center;
+ padding-top: 180rpx;
+ padding-bottom: 26rpx;
+}
+
+.report_icon_content .title {
+ height: 36rpx;
+ line-height: 36rpx;
+ color: #333;
+ font-size: 32rpx;
+ text-align: center;
+ padding-bottom: 231rpx;
+}
+
+.report_icon_content .return_btn {
+ width: 666rpx;
+ height: 90rpx;
+ background-color: #f53939;
+ border-radius: 45rpx;
+ line-height: 90rpx;
+ text-align: center;
+ color: #fff;
+ font-size: 32rpx;
+ margin: 0 auto;
+}
diff --git a/packageD/dividends/dividends.js b/packageD/dividends/dividends.js
new file mode 100644
index 0000000..cada6ca
--- /dev/null
+++ b/packageD/dividends/dividends.js
@@ -0,0 +1,157 @@
+// packageD/dividends/dividends.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ page:1,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getData();
+ this.getList();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if(this.data.current_page >= this.data.last_page){
+ wx.showToast({
+ title: '暂无更多',
+ icon:'none',
+ duration:1000
+ });
+ }else{
+ var pages = this.data.page + 1;
+ this.setData({
+ page:pages
+ });
+ this.getNext();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ getData() {
+ var that = this;
+ var urlStr = app.getNetAddresss('plugin.weighted_dividend.api.index.weightedData');
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ art :'index'
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res.data.index);
+ that.setData({
+ info:res.data.index,
+ });
+ wx.setNavigationBarTitle({
+ title:res.data.index.weighted_name
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getList() {
+ var that = this;
+ var urlStr = app.getNetAddresss('plugin.weighted_dividend.api.index.weightedData');
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ art :'getData',
+ page:that.data.page
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res.data);
+ that.setData({
+ current_page:res.data.getData.data.current_page,
+ last_page:res.data.getData.data.last_page,
+ list : res.data.getData.data.data
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getNext() {
+ var that = this;
+ var urlStr = app.getNetAddresss('plugin.weighted_dividend.api.index.weightedData');
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ art :'getData',
+ page:that.data.page
+ },
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res.data);
+ that.setData({
+ current_page:res.data.getData.data.current_page,
+ last_page:res.data.getData.data.last_page,
+ list : that.data.list.concat(res.data.getData.data.data)
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+});
\ No newline at end of file
diff --git a/packageD/dividends/dividends.json b/packageD/dividends/dividends.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageD/dividends/dividends.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/dividends/dividends.wxml b/packageD/dividends/dividends.wxml
new file mode 100644
index 0000000..9c5678a
--- /dev/null
+++ b/packageD/dividends/dividends.wxml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+ {{info.nickname}}
+ {{info.level_name}}
+
+ 累计金额:{{language['money']}}{{info.money}}
+
+
+
+
+ 分红记录
+
+
+
+ 分红ID:{{item.id}}
+ {{item.created_at}}
+
+
+ {{item.personal_money}}{{language['元']}}
+ 业绩比例:{{item.proportion}}%
+
+
+
+
+ 暂无记录
+
+
diff --git a/packageD/dividends/dividends.wxss b/packageD/dividends/dividends.wxss
new file mode 100644
index 0000000..677fdc7
--- /dev/null
+++ b/packageD/dividends/dividends.wxss
@@ -0,0 +1,122 @@
+/* packageD/dividends/dividends.wxss */
+
+page {
+ background: #fff;
+}
+
+.personal_list {
+ display: flex;
+ align-items: center;
+ background-color: #ee2e2b;
+ padding-top: 51rpx;
+ padding-bottom: 69rpx;
+}
+
+.personal_list .personal_img {
+ width: 92rpx;
+ height: 92rpx;
+ border-radius: 50%;
+ margin-left: 49rpx;
+ margin-right: 22rpx;
+ background: #333;
+}
+
+.personal_list .personal_img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.personal_list .personal_name {
+ display: flex;
+ align-items: center;
+}
+
+.personal_name .mypost {
+ padding: 9rpx 16rpx 8rpx 16rpx;
+ background: rgba(255, 255, 255, 0.2);
+ border-radius: 30rpx;
+ color: #fff;
+ font-size: 24rpx;
+ margin-left: 12rpx;
+}
+
+.personal_name .name_text {
+ font-size: 32rpx;
+ letter-spacing: 0rpx;
+ color: rgba(255, 255, 255, 1);
+}
+
+.personal_right .money {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #fff;
+}
+
+/* .list_ul {} */
+
+.list_ul .textTop {
+ font-size: 32rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+ padding-left: 32rpx;
+ background: #fff;
+ padding-top: 30rpx;
+ padding-bottom: 30rpx;
+}
+
+.list_ul .list {
+ height: 145rpx;
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background: #fff;
+}
+
+.line {
+ width: 100%;
+ height: 10rpx;
+ background: #f9f9f9;
+}
+
+.list_left {
+ margin-left: 30rpx;
+}
+
+.idlis {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #000;
+ margin-bottom: 10rpx;
+}
+
+.idTime {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #333;
+}
+
+.list_right {
+ margin-right: 30rpx;
+ text-align: right;
+}
+
+.right_money {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #ff2c29;
+ margin-bottom: 10rpx;
+}
+
+.scale {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ letter-spacing: 0rpx;
+ color: #333;
+}
diff --git a/packageD/easyRefuel/easyRefuel.js b/packageD/easyRefuel/easyRefuel.js
new file mode 100644
index 0000000..796634c
--- /dev/null
+++ b/packageD/easyRefuel/easyRefuel.js
@@ -0,0 +1,240 @@
+// packageD/easyRefuel/easyRefuel.js\
+var app = getApp();
+var location = require("../../mybehaviors/location/location");
+Page({
+ behaviors: [location],
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ name: "",
+ page: 1,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ let point = {};
+ this._getLocation((mapdata, e) => {
+ point = app.qqMapTransBMap(parseFloat(e.lng),parseFloat(e.lat));
+ this.setData({
+ lat: point.lat,
+ lng: point.lng,
+ })
+ this.getData(point.lat, point.lng, this.data.city);
+ });
+ },
+ search(e) {
+ console.log(e.detail.value);
+ this.setData({
+ name: e.detail.value,
+ });
+ },
+ gosearch() {
+ let lat = this.data.lat;
+ let lng = this.data.lng;
+ wx.navigateTo({
+ url: "/packageD/easyRefuel/easyRefuel_list/easyRefuel_list?lat=" +
+ lat +
+ "&lng=" +
+ lng +
+ "&name=" +
+ this.data.name,
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en
+ });
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+ tolocation() {
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oLocation/o2oLocation?tag=easyRefuel",
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.current_page >= this.data.last_page) {
+ wx.showToast({
+ title: "暂无更多",
+ duration: 1000,
+ icon: "none",
+ });
+ } else {
+ this.setData({
+ page: this.data.page + 1,
+ });
+ this.getNextData();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getData(lat, lng, cityname) {
+ let that = this;
+ var urlStr = app.getNetAddresss("plugin.easy-refuel.frontend.index.index");
+ var json = {
+ lng: lng,
+ lat: lat,
+ name: "",
+ cityName: cityname,
+ page: that.data.page,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ for (let i = 0; i < res.data.data.data.length; i++) {
+ res.data.data.data[i].distance =
+ res.data.data.data[i].distance.toFixed(2) + `km`;
+ for (let k = 0; k < res.data.data.data[i].prices.length; k++) {
+ res.data.data.data[i].prices[k].muns = (
+ Number(res.data.data.data[i].prices[k].discountPrice) -
+ Number(res.data.data.data[i].prices[k].countryPrice)
+ ).toFixed(2);
+ }
+ }
+ that.setData({
+ banner: res.data.banner,
+ datas: res.data.data.data,
+ shopName: res.data.shopName,
+ last_page: res.data.data.last_page,
+ current_page: res.data.data.current_page,
+ });
+ wx.setNavigationBarTitle({
+ title: res.data.shopName,
+ });
+ } else {
+ if (res.data.bindPhone == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ wx.navigateTo({
+ url: "/packageA/member/editmobile/editmobile",
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ success: function () {
+ setTimeout(() => {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1000);
+ },
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getNextData() {
+ let {lat, lng} = this.data.point;
+ let cityname = this.data.city;
+ let that = this;
+ var urlStr = app.getNetAddresss("plugin.easy-refuel.frontend.index.index");
+ var json = {
+ lng: lng,
+ lat: lat,
+ name: "",
+ cityName: cityname,
+ page: that.data.page,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ for (let i = 0; i < res.data.data.data.length; i++) {
+ res.data.data.data[i].distance =
+ res.data.data.data[i].distance.toFixed(2) + `km`;
+ for (let k = 0; k < res.data.data.data[i].prices.length; k++) {
+ res.data.data.data[i].prices[k].muns = (
+ Number(res.data.data.data[i].prices[k].discountPrice) -
+ Number(res.data.data.data[i].prices[k].countryPrice)
+ ).toFixed(2);
+ }
+ }
+ that.setData({
+ banner: res.data.banner,
+ datas: that.data.datas.concat(res.data.data.data),
+ shopName: res.data.shopName,
+ last_page: res.data.data.last_page,
+ current_page: res.data.data.current_page,
+ });
+ wx.setNavigationBarTitle({
+ title: res.data.shopName,
+ });
+ } else {
+ if (res.data.bindPhone == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ wx.navigateTo({
+ url: "/packageA/member/editmobile/editmobile",
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ success: function () {
+ setTimeout(() => {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1000);
+ },
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
\ No newline at end of file
diff --git a/packageD/easyRefuel/easyRefuel.json b/packageD/easyRefuel/easyRefuel.json
new file mode 100644
index 0000000..a6d25ba
--- /dev/null
+++ b/packageD/easyRefuel/easyRefuel.json
@@ -0,0 +1,5 @@
+{
+ "usingComponents": {
+ "kfoot":"../../../mycomponent/foot/foot"
+ }
+}
\ No newline at end of file
diff --git a/packageD/easyRefuel/easyRefuel.wxml b/packageD/easyRefuel/easyRefuel.wxml
new file mode 100644
index 0000000..4ce4449
--- /dev/null
+++ b/packageD/easyRefuel/easyRefuel.wxml
@@ -0,0 +1,67 @@
+
+
+
+
+
+ {{address}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.stationName}}
+ {{item.starNum}}分
+
+
+ {{item.distance}}|{{item.location}}
+
+
+ 减
+ {{shopName}}专属价↓↓↓
+
+
+
+
+
+
+
+
+ {{list.oilCode}}
+
+
+ {{list.stationPrice}}{{language['元']}}/升
+
+
+ {{list.discountPrice}}{{language['元']}}/升
+
+
+
+ 低于国家价{{list.muns}}{{language['元']}},普通车无该特惠
+
+
+
+
+
+
+
+
diff --git a/packageD/easyRefuel/easyRefuel.wxss b/packageD/easyRefuel/easyRefuel.wxss
new file mode 100644
index 0000000..36fbf5f
--- /dev/null
+++ b/packageD/easyRefuel/easyRefuel.wxss
@@ -0,0 +1,235 @@
+/* packageD/easyRefuel/easyRefuel.wxss */
+#easy_refuel {
+ /* padding-top: 40px; */
+ position: relative;
+}
+
+#easy_refuel .my-swipe {
+ width: 100%;
+}
+
+#easy_refuel .my-swipe a {
+ width: 100%;
+ height: 100%;
+}
+
+#easy_refuel .my-swipe img {
+ width: 100%;
+ height: 100%;
+ border-radius: 20rpx;
+}
+
+#easy_refuel .content {
+ padding-top: 44rpx;
+ padding-bottom: 44rpx;
+ padding-left: 32rpx;
+ padding-right: 32rpx;
+ background-color: #fff;
+ z-index: 999;
+ position: relative;
+}
+
+#easy_refuel .content .item {
+ margin-top: 32rpx;
+}
+
+#easy_refuel .content .item .top {
+ display: flex;
+}
+
+#easy_refuel .content .item .top .left {
+ width: 182rpx;
+ height: 184rpx;
+ border-radius: 50%;
+ border: solid 2rpx #fda804;
+}
+
+#easy_refuel .content .item .top .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+#easy_refuel .content .item .top .right {
+ flex: 1;
+ margin-left: 24rpx;
+ flex-direction: column;
+ display: flex;
+ justify-content: space-between;
+}
+
+#easy_refuel .content .item .top .right .title {
+ display: flex;
+ justify-content: space-between;
+}
+
+#easy_refuel .content .item .top .right .distance {
+ text-align: left;
+ color: #666;
+ font-size: 12px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+#easy_refuel .content .item .top .right .down {
+ text-align: left;
+ display: flex;
+ align-items: center;
+}
+
+#easy_refuel .content .item .top .right .down .jian {
+ width: 33rpx;
+ height: 33rpx;
+ background-color: #ff3000;
+ border-radius: 0.1875rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ font-size: 12px;
+ margin-right: 16rpx;
+}
+
+#easy_refuel .content .item .top .right .down .txt {
+ color: #ff3000;
+ font-size: 12px;
+}
+
+#easy_refuel .content .item .bottom {
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 32rpx;
+}
+
+#easy_refuel .content .item .bottom .wrap {
+ width: 488rpx;
+ padding: 16rpx;
+ background-color: #f8f8f8;
+ border-radius: 10rpx;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+
+#easy_refuel .pop {
+ padding-top: 48rpx;
+ padding-left: 32rpx;
+ padding-right: 32rpx;
+}
+
+#easy_refuel .pop .pop-wrap {
+ width: 100%;
+}
+
+#easy_refuel .pop .pop-wrap .title {
+ color: #666;
+ text-align: left;
+ margin-bottom: 32rpx;
+}
+
+#easy_refuel .pop .pop-wrap .catgory {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+#easy_refuel .pop .pop-wrap .catgory .catgory-item {
+ width: 45%;
+ margin-right: 10%;
+ margin-bottom: 24rpx;
+ height: 80rpx;
+ background-color: #dadada;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#easy_refuel .pop .pop-wrap .catgory .catgory-item:nth-child(2n) {
+ margin-right: 0;
+}
+
+#easy_refuel .fixed {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ left: 0;
+ height: 100rpx;
+ background-color: #fff;
+ box-shadow: 0 -2rpx 18rpx 0 rgba(0, 0, 0, 0.08);
+ padding-top: 16rpx;
+ padding-bottom: 16rpx;
+ display: flex;
+}
+
+#easy_refuel .fixed .left {
+ height: 100%;
+ width: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+}
+
+#easy_refuel .fixed .left i {
+ font-size: 18px;
+ margin-right: 16rpx;
+}
+
+#easy_refuel .fixed .right {
+ height: 100%;
+ width: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+}
+
+#easy_refuel .fixed .right i {
+ font-size: 18px;
+ margin-right: 16rpx;
+}
+
+.swiper {
+ width: 100%;
+ height: 400rpx;
+}
+
+.swiper swiper {
+ width: 100%;
+ height: 100%;
+}
+
+.swiper image {
+ width: 100%;
+ height: 100%;
+}
+
+.sousuo {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 9999;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.span_is {
+ /* display: block; */
+ margin: 0 8rpx;
+ max-width: 120rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.inpbox {
+ display: flex;
+ align-items: center;
+ width: 500rpx;
+ height: 64rpx;
+ border-radius: 32rpx;
+ background: rgba(255, 255, 255, 0.3);
+}
diff --git a/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.js b/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.js
new file mode 100644
index 0000000..30cd174
--- /dev/null
+++ b/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.js
@@ -0,0 +1,191 @@
+// packageD/easyRefuel/easyRefuel_list/easyRefuel_list.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ name: "",
+ page: 0,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ name: options.name,
+ });
+ this.getData();
+ },
+ gosearch(e) {
+ this.getData();
+ },
+ search(e) {
+ console.log(e);
+ this.setData({
+ name: e.detail.value,
+ });
+ },
+ getData() {
+ let points = wx.getStorageSync("address-point");
+ let lat = points.point.lat;
+ let lng = points.point.lng;
+ let cityname = points.city;
+ let that = this;
+ var urlStr = app.getNetAddresss(
+ "plugin.easy-refuel.frontend.index.searchByName"
+ );
+ var json = {
+ lng: lng,
+ lat: lat,
+ name: that.data.name,
+ cityName: cityname,
+ page: that.data.page,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ for (let i = 0; i < res.data.data.data.length; i++) {
+ res.data.data.data[i].distance =
+ res.data.data.data[i].distance.toFixed(2) + `km`;
+ for (let k = 0; k < res.data.data.data[i].prices.length; k++) {
+ res.data.data.data[i].prices[k].muns = (
+ Number(res.data.data.data[i].prices[k].discountPrice) -
+ Number(res.data.data.data[i].prices[k].countryPrice)
+ ).toFixed(2);
+ }
+ }
+ that.setData({
+ banner: res.data.banner,
+ datas: res.data.data.data,
+ shopName: res.data.shopName,
+ last_page: res.data.data.last_page,
+ current_page: res.data.data.current_page,
+ });
+ wx.setNavigationBarTitle({
+ title: res.data.shopName,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getNextData() {
+ let points = wx.getStorageSync("address-point");
+ let lat = points.point.lat;
+ let lng = points.point.lng;
+ let cityname = points.city;
+ let that = this;
+ var urlStr = app.getNetAddresss(
+ "plugin.easy-refuel.frontend.index.searchByName"
+ );
+ var json = {
+ lng: lng,
+ lat: lat,
+ name: that.data.name,
+ cityName: cityname,
+ page: that.data.page,
+ };
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ for (let i = 0; i < res.data.data.data.length; i++) {
+ res.data.data.data[i].distance =
+ res.data.data.data[i].distance.toFixed(2) + `km`;
+ for (let k = 0; k < res.data.data.data[i].prices.length; k++) {
+ res.data.data.data[i].prices[k].muns = (
+ Number(res.data.data.data[i].prices[k].discountPrice) -
+ Number(res.data.data.data[i].prices[k].countryPrice)
+ ).toFixed(2);
+ }
+ }
+ that.setData({
+ banner: res.data.banner,
+ datas: that.data.datas.concat(res.data.data.data),
+ shopName: res.data.shopName,
+ last_page: res.data.data.last_page,
+ current_page: res.data.data.current_page,
+ });
+ wx.setNavigationBarTitle({
+ title: res.data.shopName,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.current_page >= this.data.last_page) {
+ wx.showToast({
+ title: "暂无更多",
+ duration: 1000,
+ icon: "none",
+ });
+ } else {
+ this.setData({
+ page: this.data.page + 1,
+ });
+ this.getNextData();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+});
diff --git a/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.json b/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.json
new file mode 100644
index 0000000..b9656ea
--- /dev/null
+++ b/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.json
@@ -0,0 +1,5 @@
+{
+ "usingComponents": {
+ "kfoot": "../../../mycomponent/foot/foot"
+ }
+}
\ No newline at end of file
diff --git a/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.wxml b/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.wxml
new file mode 100644
index 0000000..2dd8271
--- /dev/null
+++ b/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.wxml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.stationName}}
+ {{item.starNum}}分
+
+
+ {{item.distance}}|{{item.location}}
+
+
+ 减
+ {{shopName}}专属价↓↓↓
+
+
+
+
+
+
+
+
+ {{list.oilCode}}
+
+
+ {{list.stationPrice}}{{language['元']}}/升
+
+
+ {{list.discountPrice}}{{language['元']}}/升
+
+
+
+ 低于国家价{{list.muns}}{{language['元']}},普通车无该特惠
+
+
+
+
+
+
+
+
diff --git a/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.wxss b/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.wxss
new file mode 100644
index 0000000..c17123c
--- /dev/null
+++ b/packageD/easyRefuel/easyRefuel_list/easyRefuel_list.wxss
@@ -0,0 +1,227 @@
+/* packageD/easyRefuel/easyRefuel_list/easyRefuel_list.wxss */
+
+/* packageD/easyRefuel/easyRefuel.wxss */
+#easy_refuel {
+ /* padding-top: 40px; */
+ position: relative;
+}
+
+#easy_refuel .my-swipe {
+ width: 100%;
+}
+
+#easy_refuel .my-swipe a {
+ width: 100%;
+ height: 100%;
+}
+
+#easy_refuel .my-swipe img {
+ width: 100%;
+ height: 100%;
+ border-radius: 20rpx;
+}
+
+#easy_refuel .content {
+ padding-top: 44rpx;
+ padding-bottom: 44rpx;
+ padding-left: 32rpx;
+ padding-right: 32rpx;
+ background-color: #fff;
+ z-index: 999;
+ position: relative;
+}
+
+#easy_refuel .content .item {
+ margin-top: 32rpx;
+}
+
+#easy_refuel .content .item .top {
+ display: flex;
+}
+
+#easy_refuel .content .item .top .left {
+ width: 182rpx;
+ height: 184rpx;
+ border-radius: 50%;
+ border: solid 2rpx #fda804;
+}
+
+#easy_refuel .content .item .top .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+#easy_refuel .content .item .top .right {
+ flex: 1;
+ margin-left: 24rpx;
+ flex-direction: column;
+ display: flex;
+ justify-content: space-between;
+}
+
+#easy_refuel .content .item .top .right .title {
+ display: flex;
+ justify-content: space-between;
+}
+
+#easy_refuel .content .item .top .right .distance {
+ text-align: left;
+ color: #666;
+ font-size: 12px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+#easy_refuel .content .item .top .right .down {
+ text-align: left;
+ display: flex;
+ align-items: center;
+}
+
+#easy_refuel .content .item .top .right .down .jian {
+ width: 33rpx;
+ height: 33rpx;
+ background-color: #ff3000;
+ border-radius: 0.1875rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ font-size: 12px;
+ margin-right: 16rpx;
+}
+
+#easy_refuel .content .item .top .right .down .txt {
+ color: #ff3000;
+ font-size: 12px;
+}
+
+#easy_refuel .content .item .bottom {
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 32rpx;
+}
+
+#easy_refuel .content .item .bottom .wrap {
+ width: 488rpx;
+ padding: 16rpx;
+ background-color: #f8f8f8;
+ border-radius: 10rpx;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+
+#easy_refuel .pop {
+ padding-top: 48rpx;
+ padding-left: 32rpx;
+ padding-right: 32rpx;
+}
+
+#easy_refuel .pop .pop-wrap {
+ width: 100%;
+}
+
+#easy_refuel .pop .pop-wrap .title {
+ color: #666;
+ text-align: left;
+ margin-bottom: 32rpx;
+}
+
+#easy_refuel .pop .pop-wrap .catgory {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+#easy_refuel .pop .pop-wrap .catgory .catgory-item {
+ width: 45%;
+ margin-right: 10%;
+ margin-bottom: 24rpx;
+ height: 80rpx;
+ background-color: #dadada;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#easy_refuel .pop .pop-wrap .catgory .catgory-item:nth-child(2n) {
+ margin-right: 0;
+}
+
+#easy_refuel .fixed {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ left: 0;
+ height: 100rpx;
+ background-color: #fff;
+ box-shadow: 0 -2rpx 18rpx 0 rgba(0, 0, 0, 0.08);
+ padding-top: 16rpx;
+ padding-bottom: 16rpx;
+ display: flex;
+}
+
+#easy_refuel .fixed .left {
+ height: 100%;
+ width: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+}
+
+#easy_refuel .fixed .left i {
+ font-size: 18px;
+ margin-right: 16rpx;
+}
+
+#easy_refuel .fixed .right {
+ height: 100%;
+ width: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+}
+
+#easy_refuel .fixed .right i {
+ font-size: 18px;
+ margin-right: 16rpx;
+}
+
+.swiper {
+ width: 100%;
+ height: 400rpx;
+}
+
+.swiper swiper {
+ width: 100%;
+ height: 100%;
+}
+
+.swiper image {
+ width: 100%;
+ height: 100%;
+}
+
+.sousuo {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 9999;
+ display: flex;
+ justify-content: center;
+}
+
+.inpbox {
+ display: flex;
+ align-items: center;
+ width: 595rpx;
+ height: 64rpx;
+ border-radius: 32rpx;
+ background: #3333;
+}
diff --git a/packageD/getCoupon/getCoupon.js b/packageD/getCoupon/getCoupon.js
new file mode 100644
index 0000000..b016560
--- /dev/null
+++ b/packageD/getCoupon/getCoupon.js
@@ -0,0 +1,170 @@
+// packageD/getCoupon/getCoupon.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ isMid: "",
+ // isOrderid:'',
+ page: "1",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ isOrderid: options.id,
+ });
+ this.getshare();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.current_page >= this.data.last_page) {
+ wx.showToast({
+ title: "没有更多",
+ icon: "none",
+ duration: 1000,
+ });
+ } else {
+ let pahe = this.data.page + 1;
+ this.setData({
+ page: pahe,
+ });
+ this.nextGetRecord();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ goHome() {
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ },
+ getshare() {
+ let that = this;
+ var urlStr = app.getNetAddresss("coupon.share-coupon.receive");
+ urlStr += "&order_ids=" + that.data.isOrderid;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ banner: res.data.set.banner,
+ status: res.data.code,
+ coupon: res.data.coupon,
+ name: res.data.member_name,
+ msg: res.data.msg,
+ });
+ //获取记录
+ this.getRecord();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getRecord() {
+ let that = this;
+ var urlStr = app.getNetAddresss("coupon.share-coupon.log-list");
+ urlStr += "&order_ids=" + that.data.isOrderid + "&page=" + that.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ record_arr: res.data.data,
+ max_num: res.data.remainder,
+ current_page: res.data.current_page,
+ last_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ nextGetRecord() {
+ let that = this;
+ var urlStr = app.getNetAddresss("coupon.share-coupon.log-list");
+ urlStr += "&order_ids=" + that.data.isOrderid + "&page=" + that.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ console.log(res);
+ that.setData({
+ max_num: res.data.remainder,
+ record_arr: that.data.record_arr.concat(res.data.data),
+ current_page: res.data.current_page,
+ last_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
diff --git a/packageD/getCoupon/getCoupon.json b/packageD/getCoupon/getCoupon.json
new file mode 100644
index 0000000..0e2686d
--- /dev/null
+++ b/packageD/getCoupon/getCoupon.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {},"navigationBarTitleText": "红包分享"
+}
\ No newline at end of file
diff --git a/packageD/getCoupon/getCoupon.wxml b/packageD/getCoupon/getCoupon.wxml
new file mode 100644
index 0000000..aece491
--- /dev/null
+++ b/packageD/getCoupon/getCoupon.wxml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{coupon.name}}
+
+
+ 满{{coupon.enough}}立减
+ 有效期:{{coupon.time_start}}-{{coupon.time_end}}
+
+
+ {{coupon.api_limit}}
+
+
+
+
+
+
+
+ {{msg}}
+
+
+
+ {{status == "YES"?"红包已放入账号"+name:"领券账号"+name}}{{status == "YES"?name:''}}
+
+
+
+ 还剩{{max_num}}个红包
+
+
+
+
+
+
+
+
+ {{item.receive_member.nickname}}
+ {{item.remark}}
+
+ {{item.created_at}}
+
+
+
+
+
+
diff --git a/packageD/getCoupon/getCoupon.wxss b/packageD/getCoupon/getCoupon.wxss
new file mode 100644
index 0000000..dc99f02
--- /dev/null
+++ b/packageD/getCoupon/getCoupon.wxss
@@ -0,0 +1,236 @@
+/* packageD/getCoupon/getCoupon.wxss */
+#get_content {
+ padding-bottom: 200rpx;
+}
+
+#get_content .coupon_info {
+ background: #fff;
+ padding-bottom: 40rpx;
+}
+
+#get_content .coupon_info .banner {
+ height: 600rpx;
+ width: 100%;
+ overflow: hidden;
+}
+
+#get_content .coupon_info .banner image {
+ width: 100%;
+ height: 100%;
+}
+
+#get_content .coupon_info .coupon_get {
+ position: relative;
+ margin: 30rpx 30rpx 0 30rpx;
+ background: #faf7f7;
+ border-radius: 12rpx;
+ padding: 20rpx 28rpx 0 28rpx;
+}
+
+#get_content .coupon_info .coupon_get .coupon_a {
+ padding: 20rpx 0;
+}
+
+#get_content .coupon_info .coupon_get .coupon_a .sun_name {
+ color: #f15353;
+ line-height: 60rpx;
+ text-align: left;
+ display: flex;
+}
+
+#get_content .coupon_info .coupon_get .coupon_a .sun_name .sum {
+ display: inline-block;
+ width: 220rpx;
+ font-size: 24px;
+}
+
+#get_content .coupon_info .coupon_get .coupon_a .sun_name .name {
+ display: inline-block;
+ font-size: 16px;
+}
+
+#get_content .coupon_info .coupon_get .coupon_a .limit_time {
+ color: #8c8c8c;
+ font-size: 13px;
+ line-height: 48rpx;
+ text-align: left;
+}
+
+#get_content .coupon_info .coupon_get .coupon_a .limit_time .limit {
+ display: inline-block;
+ width: 220rpx;
+}
+
+#get_content .coupon_info .coupon_get .coupon_a .limit_time .time {
+ display: inline-block;
+ font-size: 12px;
+}
+
+#get_content .coupon_info .coupon_get .coupon_b {
+ line-height: 60rpx;
+ text-align: left;
+ font-size: 13px;
+ border-top: dashed #ebebeb 2rpx;
+ color: #8c8c8c;
+}
+
+#get_content .coupon_info .coupon_get .left_circle {
+ position: absolute;
+ width: 20rpx;
+ height: 20rpx;
+ border-radius: 12rpx;
+ background: #fff;
+ left: -10rpx;
+ bottom: 50rpx;
+}
+
+#get_content .coupon_info .coupon_get .right_circle {
+ position: absolute;
+ width: 20rpx;
+ height: 20rpx;
+ border-radius: 12rpx;
+ background: #fff;
+ left: -10rpx;
+ bottom: 50rpx;
+}
+
+#get_content .coupon_info .coupon_none {
+ background: #faf7f7;
+ border-radius: 12rpx;
+ margin: 30rpx 30rpx 0 30rpx;
+ padding: 20rpx 28rpx;
+}
+
+#get_content .coupon_info .coupon_none .state {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+#get_content .coupon_info .coupon_none .state .left_line,
+#get_content .coupon_info .coupon_none .state .right_line {
+ width: 2.5rem;
+ height: 80rpx;
+ border: solid 20rpx #ebebeb;
+}
+
+#get_content .coupon_info .coupon_none .state .text {
+ font-size: 18px;
+ color: #8c8c8c;
+ margin: 0 40rpx;
+ font-weight: bold;
+ line-height: 144rpx;
+}
+
+#get_content .coupon_info .coupon_noget {
+ background: #faf7f7;
+ border-radius: 12rpx;
+ margin: 30rpx 30rpx 0 30rpx;
+ padding: 0.625rem 0.875rem;
+}
+
+#get_content .coupon_info .coupon_noget .state {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+#get_content .coupon_info .coupon_noget .state .left_line,
+#get_content .coupon_info .coupon_noget .state .right_line {
+ width: 80rpx;
+ height: 2rpx;
+ border: solid 2rpx #ebebeb;
+}
+
+#get_content .coupon_info .coupon_noget .state .text {
+ font-size: 18px;
+ color: #8c8c8c;
+ margin: 0 40rpx;
+ font-weight: bold;
+ line-height: 144rpx;
+}
+
+#get_content .coupon_info .into_user {
+ line-height: 80rpx;
+ font-size: 15px;
+ text-align: center;
+}
+
+#get_content .coupon_info .get_btn {
+ width: 690rpx;
+ height: 84rpx;
+ border-radius: 12rpx;
+ background-color: #f15353;
+ color: #fff;
+ font-size: 16px;
+ border: none;
+}
+
+#get_content .get_list {
+ margin-top: 20rpx;
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+#get_content .get_list .pack_number {
+ background: #faf7f7;
+ line-height: 60rpx;
+ font-size: 14px;
+ padding: 0 20rpx;
+ color: #8c8c8c;
+ border-radius: 4rpx;
+ text-align: left;
+}
+
+#get_content .get_list .red_pack {
+ margin-top: 20rpx;
+}
+
+#get_content .get_list .red_pack .list {
+ display: flex;
+ padding: 20rpx 0;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+#get_content .get_list .red_pack .list .user {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 40rpx;
+ overflow: hidden;
+ background: #faf5f5;
+ margin-right: 10px;
+}
+
+#get_content .get_list .red_pack .list .user img {
+ width: 100%;
+}
+
+#get_content .get_list .red_pack .list .user_info {
+ width: 614rpx;
+}
+
+#get_content .get_list .red_pack .list .user_info .name {
+ line-height: 40rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+#get_content .get_list .red_pack .list .user_info .name .name_a {
+ font-size: 15px;
+ max-width: 440rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+#get_content .get_list .red_pack .list .user_info .name .name_b {
+ color: #f15353;
+ font-size: 16px;
+}
+
+#get_content .get_list .red_pack .list .user_info .time {
+ line-height: 40rpx;
+ color: #8c8c8c;
+ font-size: 12px;
+ text-align: left;
+}
diff --git a/packageD/livePlayer/livePlayer.js b/packageD/livePlayer/livePlayer.js
new file mode 100644
index 0000000..eb3e5fa
--- /dev/null
+++ b/packageD/livePlayer/livePlayer.js
@@ -0,0 +1,187 @@
+// packageD/livePlayer/livePlayer.js
+var app = getApp();
+var colOneHeight = 0;
+var colTwoHeight = 0;
+// var width = 0;
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ recordsList: [],
+ activitys1: [],
+ activitys2: [],
+ showLoading: false,
+ imgCount: 0,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getLive();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ onImageError(options) {
+ let index = options.target.dataset.index;
+ let seltype = options.target.dataset.seltype;
+ // let currentId = options.currentTarget.id;
+ console.log("图片加载发生错误");
+ this.onImageLoad({
+ target: {
+ dataset: {
+ index: index,
+ seltype: seltype,
+ },
+ },
+ detail: {
+ width: 2340,
+ height: 1080,
+ },
+ });
+ },
+
+ gopage(e) {
+ let roomId = e.currentTarget.dataset.id;
+ let value = wx.getStorageSync("yz_uid");
+ let customParams = { mid: value };
+ wx.navigateTo({
+ url: `plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=${roomId}&open_share_ticket=1&custom_params=${encodeURIComponent(JSON.stringify(customParams))}`,
+ });
+ },
+
+ getLive() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.appletslive.frontend.controllers.live.getRoom");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ recordsList: res.data != null ? res.data : [],
+ });
+ } else {
+ console.log(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ /**
+ * 图片加载函数
+ * 图片加载完成后,根据图片的高度,依次往第一列和第二列中推入数据
+ */
+ onImageLoad(options) {
+ let index = options.target.dataset.index;
+ let imageWidth = options.detail.width; // 图片宽度
+ let imageHeight = options.detail.height; // 图片高度
+
+ let activitys = this.data.recordsList; // 获取所有的数据资源
+ let activityObj = null;
+ let scle = imageWidth / imageHeight;
+
+ activityObj = activitys[index];
+
+ this.data.imgCount += 1;
+ let activitys1 = this.data.activitys1;
+ let activitys2 = this.data.activitys2;
+
+ if (colOneHeight <= colTwoHeight) {
+ colOneHeight += 176 / scle + 60;
+ activitys1.push(activityObj);
+ } else {
+ colTwoHeight += 176 / scle + 60;
+ activitys2.push(activityObj);
+ }
+
+ let data = {
+ activitys1: activitys1,
+ activitys2: activitys2,
+ };
+
+ if (this.data.imgCount >= this.data.recordsList.length) {
+ this.setData({
+ showLoading: true,
+ });
+ }
+
+ this.setData(data);
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline: function () {
+ var value = wx.getStorageSync("yz_uid");
+ // var path = "";
+ if (value) {
+ mid = value;
+ }
+ return {
+ title: "直播间列表",
+ query: "mid=" + mid,
+ };
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function (res) {
+ var value = wx.getStorageSync("yz_uid");
+ var path = "";
+ if (value) {
+ path = value;
+ }
+
+ let _title = "直播间列表";
+
+ let _link = "/packageD/livePlayer/livePlayer?mid=" + path;
+
+ return {
+ title: _title,
+ path: _link,
+ success: function (shareTickets) {
+ console.info(shareTickets + "成功");
+ // 转发成功
+ },
+ fail: function (res) {
+ console.log(res + "失败");
+ // 转发失败
+ },
+ };
+ },
+});
diff --git a/packageD/livePlayer/livePlayer.json b/packageD/livePlayer/livePlayer.json
new file mode 100644
index 0000000..88564a5
--- /dev/null
+++ b/packageD/livePlayer/livePlayer.json
@@ -0,0 +1,5 @@
+{
+ "usingComponents": {
+ "subscribe": "plugin-private://wx2b03c6e691cd7370/components/subscribe/subscribe"
+ }
+}
diff --git a/packageD/livePlayer/livePlayer.wxml b/packageD/livePlayer/livePlayer.wxml
new file mode 100644
index 0000000..7737277
--- /dev/null
+++ b/packageD/livePlayer/livePlayer.wxml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播中
+
+
+ 回放
+
+
+
+
+
+ {{item.goods.length}}
+
+
+
+ {{item.name}}
+
+
+
+
+
+ {{item.anchor_name}}
+
+
+
+
+
+
+
+
+
+ 直播中
+
+
+ 未开始
+
+
+ 回放
+
+
+
+
+
+ {{item.goods.length}}
+
+
+
+ {{item.name}}
+
+
+
+
+
+ {{item.anchor_name}}
+
+
+
+
+
+
+
+
+
+
+ 直播中
+
+
+ 未开始
+
+
+ 回放
+
+
+
+
+
+ {{item.goods.length}}
+
+
+
+ {{item.name}}
+
+
+
+
+
+ {{item.anchor_name}}
+
+
+
+
+
+
+ 暂无直播
+
+
+
+
diff --git a/packageD/livePlayer/livePlayer.wxss b/packageD/livePlayer/livePlayer.wxss
new file mode 100644
index 0000000..5c721f8
--- /dev/null
+++ b/packageD/livePlayer/livePlayer.wxss
@@ -0,0 +1,214 @@
+/* packageD/livePlayer/livePlayer.wxss */
+
+.liveList {
+ background: #fff;
+}
+
+.living_content {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ padding-top: 40rpx;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.liveList .living {
+ width: 340rpx;
+ padding-bottom: 56rpx;
+ position: relative;
+ background-color: #fff;
+ border-radius: 25rpx;
+ margin-bottom: 13rpx;
+}
+
+.liveList .living .bg {
+ width: 340rpx;
+ min-height: 230rpx;
+ background-color: #fff;
+ border-radius: 25rpx;
+ position: relative;
+}
+
+.liveList .living .bg image {
+ border-radius: 25rpx;
+ width: 100%;
+
+ /* height: 100%; */
+}
+
+.liveList .living .bg .content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+}
+
+.liveList .living .bg .content .live_top {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 19rpx;
+ padding-left: 10rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_left {
+ min-width: 206rpx;
+ height: 39rpx;
+
+ /* background-color: rgba(0, 0, 0, 0.1); */
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.liveList .living .bg .content .live_top .live_top_left .left {
+ width: 90rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .live_top_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.liveList .living .bg .content .live_top .seeding_left {
+ /* min-width: 206rpx; */
+ height: 39rpx;
+
+ /* background-color: rgba(0, 0, 0, 0.1); */
+ border-radius: 7rpx;
+ display: flex;
+ align-items: center;
+}
+
+.liveList .living .bg .content .live_top .seeding_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #999;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .seeding_left .right {
+ font-size: 22rpx;
+ height: 39rpx;
+ line-height: 39rpx;
+ color: #fff;
+ padding-left: 8rpx;
+ padding-right: 8rpx;
+ max-width: 180rpx;
+ overflow: hidden;
+}
+
+.liveList .living .bg .content .live_top .advance_left .left {
+ width: 76rpx;
+ height: 39rpx;
+ background-color: #ff2c29;
+ border-radius: 7rpx;
+ text-align: center;
+ color: #fff;
+}
+
+.liveList .living .bg .content .live_top .live_top_right {
+ width: 59rpx;
+ position: relative;
+ margin-right: 7rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .little_icon {
+ width: 50rpx;
+ height: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .little_icon .icon-zb_goods {
+ color: #ffa303;
+ font-size: 50rpx;
+}
+
+.liveList .living .bg .content .live_top .live_top_right .num {
+ min-width: 50rpx;
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+ height: 22rpx;
+ background-color: #fff;
+ border-radius: 9rpx;
+ position: absolute;
+ right: -2rpx;
+ top: 6rpx;
+ font-size: 20rpx;
+ line-height: 22rpx;
+ color: #f00;
+ text-align: center;
+ overflow: hidden;
+}
+
+.liveList .living .bg .live_bottom {
+ position: absolute;
+ height: 72rpx;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #fff;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ margin-bottom: 20rpx;
+}
+
+.liveList .living .bootom {
+ position: absolute;
+ display: flex;
+ bottom: 10rpx;
+ left: 0;
+ right: 0;
+}
+
+.liveList .living .bootom .left {
+ width: 56rpx;
+ height: 56rpx;
+ background-color: #fff;
+ border: solid 4rpx #fff;
+ border-radius: 50%;
+ margin-right: 9rpx;
+ margin-left: 6rpx;
+}
+
+.liveList .living .bootom .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.liveList .living .bootom .right {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-top: 20rpx;
+ flex: 1;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
diff --git a/packageD/member/CommentDetails/CommentDetails.js b/packageD/member/CommentDetails/CommentDetails.js
new file mode 100644
index 0000000..200aca3
--- /dev/null
+++ b/packageD/member/CommentDetails/CommentDetails.js
@@ -0,0 +1,232 @@
+// pages/member/CommentDetails/CommentDetails.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ content: "",
+ order_id: "",
+ goods_id: "",
+ order_goods_id: "",
+ //评价时间
+ created_at: "",
+ //追评
+ append: null,
+ //全部回复
+ reply: null,
+ head_img_url: "",
+ images: [],
+ nick_name: "",
+ level_name: "",
+ has_one_order_goods: null,
+ has_many_reply: [],
+ //主评论id
+ comment_id: "",
+ //1-代表回复主评论 2-回复某人
+ reply_type: 1,
+ reply_placeholder: "回复@昵称:",
+ //当前被回复对象
+ reply_one: "",
+ uid: "",
+ level:0,
+ worker_score:null,
+ worker_name:'安装师傅',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.order_id) {
+ this.setData({
+ order_id: options.order_id,
+ });
+ }
+ if (options.goods_id) {
+ this.setData({
+ goods_id: options.goods_id,
+ });
+ }
+ if (options.order_goods_id) {
+ this.setData({
+ order_goods_id: options.order_goods_id,
+ });
+ }
+ if (options.comment_id) {
+ this.setData({
+ comment_id: options.comment_id,
+ });
+ }
+ if (options.uid) {
+ this.setData({
+ uid: options.uid,
+ });
+ }
+
+ this._getNetData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ previewImage(evt){
+ let {images,src} = evt.currentTarget.dataset;
+ wx.previewImage({
+ current: src, // 当前显示图片的http链接
+ urls: images // 需要预览的图片http链接列表
+ });
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ _getNetData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("goods.comment.get-order-goods-comment");
+ urlStr += "&order_id=" + this.data.order_id;
+ urlStr += "&goods_id=" + this.data.goods_id;
+ urlStr += "&order_goods_id=" + this.data.order_goods_id;
+ urlStr += "&comment_id=" + this.data.comment_id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data;
+ that.setData({
+ content: myData.content,
+ created_at: myData.created_at,
+ append: myData.append,
+ reply: myData.reply_name,
+ head_img_url: myData.head_img_url,
+ images: myData.images,
+ nick_name: myData.nick_name,
+ level_name: myData.level_name,
+ has_one_order_goods: myData.has_one_order_goods,
+ has_many_reply: myData.has_many_reply,
+ comment_id: myData.id,
+ level:myData.level
+ });
+ if(myData.has_one_live_install_comment && myData.has_one_live_install_comment.worker_score){
+ this.setData({
+ worker_score:myData.has_one_live_install_comment.worker_score
+ });
+ }
+ if(myData.another_name && myData.another_name.worker_name){
+ this.setData({worker_name: myData.another_name.worker_name});
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //回复主评论
+ submitReplyForComment() {
+ this.setData({
+ reply_type: 1,
+ reply_placeholder: "回复@昵称:主评论",
+ });
+ },
+ //触发回复动作
+ replyToSomeOne(e) {
+ let who = e.target.dataset.item;
+ this.setData({
+ reply_type: 2,
+ reply_one: who,
+ reply_placeholder: "回复@昵称:" + who.nick_name,
+ });
+ },
+ replyContentBtn(e) {
+ let replyContent = e.detail.value;
+ this.setData({
+ reply_content: replyContent,
+ });
+ },
+ //回复评价
+ submitReply() {
+ //goods.comment.reply-comment
+ let that = this;
+ let reply_id = "";
+ if (this.data.reply_type == 1) {
+ reply_id = this.data.comment_id;
+ } else {
+ reply_id = this.data.reply_one.id;
+ }
+ let urlStr = app.getNetAddresss("goods.comment.reply-comment");
+ urlStr += "&id=" + reply_id;
+ urlStr += "&content=" + this.data.reply_content;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let myData = res.data;
+ let has_many_reply = that.data.has_many_reply;
+ has_many_reply.push(myData);
+ that.setData({
+ reply_content: "",
+ has_many_reply: has_many_reply,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1000,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ toGoods (e) {
+ let goodsId = e.currentTarget.dataset.goodsid;
+ wx.redirectTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + goodsId,
+ });
+ },
+
+});
diff --git a/packageD/member/CommentDetails/CommentDetails.json b/packageD/member/CommentDetails/CommentDetails.json
new file mode 100644
index 0000000..d43db1c
--- /dev/null
+++ b/packageD/member/CommentDetails/CommentDetails.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "评价详情",
+ "usingComponents": {
+ "van-rate": "/dist/rate/index",
+ "van-icon": "/dist/icon/index",
+ "van-overlay": "/dist/overlay/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/member/CommentDetails/CommentDetails.wxml b/packageD/member/CommentDetails/CommentDetails.wxml
new file mode 100644
index 0000000..faa75f5
--- /dev/null
+++ b/packageD/member/CommentDetails/CommentDetails.wxml
@@ -0,0 +1,115 @@
+
+
diff --git a/packageD/member/CommentDetails/CommentDetails.wxss b/packageD/member/CommentDetails/CommentDetails.wxss
new file mode 100644
index 0000000..6960a41
--- /dev/null
+++ b/packageD/member/CommentDetails/CommentDetails.wxss
@@ -0,0 +1,263 @@
+/* pages/member/CommentDetails/CommentDetails.wxss */
+
+.commentDetails .all {
+ background: #fff;
+}
+
+.commentDetails .callback {
+ position: fixed;
+ bottom: 0;
+ background: #fff;
+ height: 120rpx;
+ display: flex;
+ align-items: center;
+ width: 100%;
+}
+
+.commentDetails .callback input {
+ flex: 5;
+ border: #919191 solid 2rpx;
+ border-radius: 10rpx;
+ line-height: 60rpx;
+ height: 50rpx;
+ padding-left: 10rpx;
+ margin-left: 10rpx;
+}
+
+.commentDetails .callback .button {
+ border: #dd191d solid 2rpx;
+ border-radius: 10rpx;
+ background: #e84e40;
+ color: #fff;
+ height: 60rpx;
+ line-height: 60rpx;
+ margin: 0 20rpx;
+ padding: 0 40rpx;
+ text-align: center;
+}
+
+.commentDetails .callback .btn-share {
+ flex: 1;
+ color: #919391;
+ line-height: 60rpx;
+ text-align: center;
+ font-size: 28rpx;
+ background-color: transparent;
+}
+
+.commentDetails .callback .btn-share::after {
+ display: none;
+}
+
+.commentDetails .userimg {
+ border-radius: 50%;
+ overflow: hidden;
+ width: 80rpx;
+ margin-right: 20rpx;
+ height: 80rpx;
+}
+
+.commentDetails .userimg image {
+ width: 100%;
+}
+
+.commentDetails .level-name {
+ color: #8c8c8c;
+ margin-top: 0.3rem;
+}
+
+.commentDetails .rate {
+ display: flex;
+ align-items: center;
+ margin-left: 26rpx;
+}
+
+.commentDetails .zjpj {
+ padding: 20rpx 26rpx;
+ border-bottom: #e8e8e8 solid 2rpx;
+ background: #fff;
+}
+
+.commentDetails .zjpj .zp {
+ display: flex;
+}
+
+.commentDetails .spaet {
+ color: #919191;
+ flex: 3;
+ text-align: right;
+}
+
+.commentDetails .pj {
+ border-bottom: #e8e8e8 solid 2rpx;
+
+ /* background: #FFF; */
+ padding: 20rpx 32rpx;
+}
+
+.commentDetails .pj .user {
+ display: flex;
+}
+
+.commentDetails .pj .p {
+ text-align: left;
+ margin-top: 20rpx;
+ line-height: 48rpx;
+ font-size: 28rpx;
+}
+
+.commentDetails .pj image {
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.commentDetails .pj .name {
+ font-size: 28rpx;
+}
+
+.commentDetails .pj .pjImgs {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.commentDetails .pj .pjImgs .pjImgWrapper {
+ height: 80rpx;
+ padding: 10rpx;
+}
+
+.commentDetails .pj .pjImgs .pjImgWrapper image {
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.commentDetails .pj-imgs {
+ width: 160rpx;
+ height: 160rpx;
+ margin: 0 16rpx 16rpx 0;
+}
+
+.commentDetails .pj-imgs image {
+ width: 100%;
+ height: 100%;
+}
+
+.commentDetails .pic {
+ display: flex;
+ align-items: stretch;
+ flex-flow: row wrap;
+ padding: 20rpx 0;
+ background: #fff;
+}
+
+.commentDetails .pic .top {
+ flex: 33%;
+}
+
+.commentDetails .pic .top image {
+ width: 90%;
+}
+
+.commentDetails .pjgoods {
+ padding: 20rpx 0;
+ background: #fff;
+}
+
+.commentDetails .goods {
+ width: 100%;
+ display: flex;
+ background: #fafafa;
+}
+
+.commentDetails .goods .img {
+ width: 192rpx;
+ height: 192rpx;
+ padding: 28rpx;
+}
+
+.commentDetails .goods .img image {
+ width: 100%;
+}
+
+.commentDetails .goods .warp {
+ width: 70vw;
+ padding-top: 20rpx;
+ padding-right: 16rpx;
+ display: flex;
+}
+
+.commentDetails .goods .warp .inner {
+ flex: 7;
+ text-align: left;
+}
+
+.commentDetails .goods .warp .inner .name {
+ text-align: left;
+ color: #333;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+.commentDetails .goods .warp .price {
+ flex: 3;
+ align-items: center;
+ text-align: right;
+ color: #333;
+ padding-right: 8rpx;
+}
+
+.commentDetails .goods .warp .price .p {
+ margin-top: 0;
+}
+
+.commentDetails .goods .product_price {
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+.commentDetails .goods .option {
+ color: #8c8c8c;
+ font-size: 24rpx;
+ flex: 1;
+}
+
+.commentDetails .goods .option2 {
+ color: #e84e40;
+ font-size: 28rpx;
+ flex: 1;
+ width: 100%;
+}
+
+.commentDetails .allpl {
+ margin-top: 20rpx;
+ background: #fff;
+ padding: 20rpx;
+}
+
+.commentDetails .allpl .othepj {
+ background: #efedf5;
+ padding-left: 60rpx;
+ padding-right: 20rpx;
+}
+
+.commentDetails .allpl .tilse {
+ text-align: left;
+ line-height: 64rpx;
+ border-bottom: #e8e8e8 solid 2rpx;
+}
+
+.commentDetails .allpl .pjhf {
+ padding: 20rpx 0;
+ display: flex;
+}
+
+.commentDetails .allpl .pjhf .pjtime {
+ color: #919191;
+ flex: 5;
+ text-align: left;
+}
+
+.commentDetails .allpl .pjhf .span {
+ padding: 2rpx 20rpx;
+ border: solid 2rpx #bfcbd9;
+ border-radius: 26rpx;
+}
diff --git a/packageD/member/addevaluate/addevaluate.js b/packageD/member/addevaluate/addevaluate.js
new file mode 100644
index 0000000..d3453be
--- /dev/null
+++ b/packageD/member/addevaluate/addevaluate.js
@@ -0,0 +1,211 @@
+// pages/member/addevaluate/addevaluate.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ value: 3,
+ reComment: "",
+ //评论内容
+ comment: "",
+ good: "",
+ item: "",
+ // 图片上传
+ uploadUrl: "upload.uploadPic",
+ fileList3: [],
+ fileList4: [],
+ upNumMaxOther: 0,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ let item = JSON.parse(options.item);
+ if (item) {
+ this.setData({
+ good: JSON.parse(options.item),
+ });
+ this.setData({
+ goods_id: this.data.good.goods_id,
+ order_id: options.order_id,
+ order_goods_id: this.data.good.id
+ });
+ this.getNetData();
+ }
+ },
+
+ getNetData () {
+ let that = this;
+ let urlStr = app.getNetAddresss("goods.comment.append-comment-page");
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ goods_id: that.data.goods_id,
+ order_id: that.data.order_id,
+ order_goods_id: that.data.order_goods_id
+ },
+ success: (response) => {
+ let res = response.data;
+ if (res.result != 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ });
+ } else {
+ this.setData({
+ item: res.data.comment,
+ value: res.data.comment.level,
+ comment: res.data.comment.content,
+ });
+ }
+ }
+ });
+ },
+
+ commentChange(e) {
+ let val = e.detail;
+ this.setData({
+ reComment: val,
+ });
+ },
+ toReComment() {
+ var that = this;
+ if (this.data.reComment.length == 0) {
+ wx.showModal({
+ title: "提示",
+ content: "您还没有输入相关的评论内容",
+ success(res) {
+ if (res.confirm) {
+ that._submitData();
+ }
+ },
+ });
+ } else {
+ this._submitData();
+ }
+ },
+ //提交数据到服务器
+ _submitData() {
+ let urlStr = app.getNetAddresss("goods.comment.append-comment");
+ let eltion = {
+ id: this.data.item.id,
+ order_goods_id: this.data.order_goods_id,
+ content: this.data.reComment,
+ };
+ if (this.data.fileList3.length != 0) {
+ let newArr2 = this.data.fileList3.map((item) => item.url);
+ eltion.images = JSON.stringify(newArr2);
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: eltion,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+
+ //选择图片
+ onRead_2() {
+ if (this.data.upNumMaxOther == 5 || this.data.upNumMaxOther >= 5) {
+ wx.showToast({
+ icon: "none",
+ title: "图片数量已达到上限",
+ duration: 1500,
+ });
+ return false;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 5 - this.data.upNumMaxOther,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ for (let tempFilePath of tempFilePaths) {
+ wx.compressImage({
+ src: tempFilePath, // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: "file",
+ formData: {
+ attach: "upload",
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ let fileList3 = that.data.fileList3;
+ let fileList4 = that.data.fileList4;
+ fileList3.push({
+ url: res.data.img,
+ });
+ fileList4.push({
+ url: photourl,
+ });
+ that.setData({
+ upNumMaxOther: that.data.upNumMaxOther + 1,
+ fileList3: fileList3,
+ fileList4: fileList4,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ fail(e) {},
+ complete(e) {},
+ });
+ }
+ },
+ });
+ },
+ removeImg_1: function (e) {
+ let index = e.currentTarget.dataset.index;
+ let fileList3 = this.data.fileList3;
+ let fileList4 = this.data.fileList4;
+ fileList3.splice(index, 1);
+ fileList4.splice(index, 1);
+ this.setData({
+ fileList3: fileList3,
+ fileList4: fileList4,
+ });
+ this.setData({
+ upNumMaxOther: this.data.fileList3.length,
+ });
+ },
+});
diff --git a/packageD/member/addevaluate/addevaluate.json b/packageD/member/addevaluate/addevaluate.json
new file mode 100644
index 0000000..cac4225
--- /dev/null
+++ b/packageD/member/addevaluate/addevaluate.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "追加评价",
+ "usingComponents": {
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-field": "../../../dist/field/index",
+ "van-rate": "../../../dist/rate/index",
+ "van-button": "../../../dist/button/index"
+ }
+}
diff --git a/packageD/member/addevaluate/addevaluate.wxml b/packageD/member/addevaluate/addevaluate.wxml
new file mode 100644
index 0000000..890d654
--- /dev/null
+++ b/packageD/member/addevaluate/addevaluate.wxml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{good.title}}
+ {{language['money']}}{{good.goods_price}}
+
+
+ 规格: {{good.goods_option_title}}
+ ×{{good.total}}
+
+
+
+
+
+ 已好评
+
+
+ {{comment}}
+
+
+ 追加评价:
+
+
+
+
+
+ 晒图:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 发表追评
+
+
+
diff --git a/packageD/member/addevaluate/addevaluate.wxss b/packageD/member/addevaluate/addevaluate.wxss
new file mode 100644
index 0000000..35e13aa
--- /dev/null
+++ b/packageD/member/addevaluate/addevaluate.wxss
@@ -0,0 +1,186 @@
+/* pages/member/addevaluate/addevaluate.wxss */
+
+.addevaluate .shop {
+ background: #fff;
+ padding: 20rpx;
+}
+
+.addevaluate .shop .option {
+ color: #888;
+ font-size: 24rpx;
+}
+/* 商品 */
+ .goods {
+ display: flex;
+ width: 100%;
+ background: #fafafa;
+}
+
+ .goods .img {
+ width: 192rpx;
+ height: 192rpx;
+ overflow: hidden;
+}
+
+ .goods .img image {
+ width: 100%;
+}
+
+ .goods .warp {
+ width: 70vw;
+ padding: 20rpx 32rpx 0 0;
+}
+
+ .goods .warp .inner {
+ /* width: 70%; */
+ display: flex;
+ justify-content: space-between;
+ padding: 0 20rpx;
+ text-align: left;
+}
+
+ .goods .warp .inner .name {
+ max-width: 300rpx;
+ text-align: left;
+ color: #333;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+ .goods .option {
+ color: #8c8c8c;
+ font-size: 24rpx;
+}
+
+ .goods .warp .price {
+ display: flex;
+ justify-content: space-between;
+ padding: 0 20rpx;
+ align-items: center;
+ color: #333;
+}
+
+.goods .product_price {
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+/* .addevaluate .goods {
+ display: flex;
+ align-items: stretch;
+ flex-flow: row wrap;
+ background: #efeded;
+ padding: 10rpx;
+ margin-bottom: 10rpx;
+}
+
+.addevaluate .goods .img {
+ flex: 1;
+}
+
+.addevaluate .goods .img image {
+ width: 100%;
+}
+
+.addevaluate .goods .inner {
+ flex: 5;
+ padding: 0 10rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+}
+
+.addevaluate .goods .inner .name {
+ flex: 3;
+ text-align: left;
+ color: #ff5757;
+}
+
+.addevaluate .goods .price {
+ flex: 2;
+ align-items: center;
+ color: #858585;
+} */
+
+.addevaluate .pjall {
+ background: #fff;
+ padding: 30rpx;
+}
+
+.addevaluate .pjall .pj {
+ text-align: left;
+ display: flex;
+ align-items: center;
+}
+
+.addevaluate .pjall .pj .span {
+ font-size: 14px;
+ padding-right: 20rpx;
+}
+
+.addevaluate .pjall .van-cell {
+ border: 2rpx solid #bfcbd9;
+ border-radius: 8rpx;
+ height: 200rpx;
+}
+
+.addevaluate .textareainp {
+ min-height: 200rpx;
+}
+
+.otherphoto {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+ text-align: left;
+ background: #fff;
+}
+
+.otherphoto .top {
+ font-size: 28rpx;
+ height: 80rpx;
+ text-align: left;
+ line-height: 80rpx;
+}
+
+.otherphoto .imgflex {
+ display: inline-flex;
+ flex-wrap: wrap;
+}
+
+.otherphoto .imgflex .photobox {
+ width: 190rpx;
+ height: 190rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+}
+
+.otherphoto .imgflex .photobox image {
+ width: 100%;
+}
+
+.otherphoto .imgflex .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.otherphoto .imgflex .photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+}
+
+.otherphoto .imgflex .photoshow image {
+ width: 100%;
+}
diff --git a/packageD/member/addressAdd_v2/addressAdd_v2.js b/packageD/member/addressAdd_v2/addressAdd_v2.js
new file mode 100644
index 0000000..827ce7f
--- /dev/null
+++ b/packageD/member/addressAdd_v2/addressAdd_v2.js
@@ -0,0 +1,450 @@
+// pages/member/addressAdd_v2/addressAdd_v2.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ isShowStreet: false,
+ form: {
+ username: "",
+ mobile: "",
+ province: "",
+ city: "",
+ district: "",
+ streetName: "",
+ address: "",
+ isDefault: false,
+ },
+ addressName: "",
+ openDateLw: false,
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ districtVal: [],
+ opren: true,
+ acr: true,
+ is_region: 0,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ //加载地址数据初始化
+ this._initAddressInfo();
+ this.getIsOpenAddress();
+ },
+ streetClose(e) {
+ this.setData({
+ streetShow: false,
+ opren: true,
+ });
+ },
+ onTransitionEnd(e) {
+ console.log(e);
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getIsOpenAddress() {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.member-address.is-region");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ that.setData({
+ is_region: res.data.is_region,
+ });
+ } else {
+ console.log(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //获取街道
+ _getStreet(param) {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.memberAddress.street");
+ urlStr += "&district_id=" + param;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ if (!app._isTextEmpty(res.data) && res.data.length > 0) {
+ that.setData({
+ districtVal: res.data,
+ isShowStreet: true,
+ });
+ } else {
+ that.setData({
+ isShowStreet: false,
+ });
+ }
+ } else {
+ that.setData({
+ isShowStreet: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //默认地址开关值绑定
+ isDefaultChange: function (e) {
+ let isDefault = e.detail;
+ this.setData({
+ "form.isDefault": isDefault,
+ });
+ },
+ //收件人输入绑定
+ usernameinp: function (e) {
+ let nameval = e.detail.value;
+ this.setData({
+ "form.username": nameval,
+ });
+ },
+ //联系电话输入绑定
+ mobileinp: function (e) {
+ let mobileval = e.detail.value;
+ this.setData({
+ "form.mobile": mobileval,
+ });
+ },
+ //详细地址绑定输入
+ addressinp: function (e) {
+ let addressval = e.detail.value;
+ console.log(addressval);
+ this.setData({
+ "form.address": addressval,
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function () {
+ this.setData({
+ openDateLw: false,
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: "provinceData",
+ data: province,
+ });
+ wx.setStorage({
+ key: "cityData",
+ data: city,
+ });
+ wx.setStorage({
+ key: "districtData",
+ data: district,
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true,
+ });
+ },
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data,
+ });
+ that.setData({
+ "selectAddressData[0].name":
+ res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0],
+ });
+ that._getCityData();
+ },
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = "cityData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json,
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1],
+ });
+ that._getDistrictData();
+ },
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ console.log("地区", "_data", _data);
+ console.log(_data);
+ var that = this;
+ var _keyName = "districtData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json,
+ });
+ console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2],
+ });
+ console.log("over", that.data.selectAddressData);
+ },
+ });
+ },
+ //打开地址选择器
+ openDateLwtbtn: function () {
+ this.setData({
+ openDateLw: true,
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2],
+ });
+ this._initAddressInfo();
+ },
+ // 确定选择收货地址
+ _okAddress: function () {
+ let seleData = this.data.selectAddressData;
+ this.setData({
+ "form.streetName": "",
+ districtVal: "",
+ addressName:
+ seleData[0].name + " " + seleData[1].name + " " + seleData[2].name,
+ "form.province": seleData[0].name,
+ "form.city": seleData[1].name,
+ "form.district": seleData[2].name,
+ });
+ this._getStreet(seleData[2].id);
+ this._closeDateLw();
+ },
+ streetChoose() {
+ if (this.data.is_region == 1 && app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: "none",
+ title: "请先选择所在地区",
+ duration: 1500,
+ });
+ } else {
+ this.setData({
+ streetShow: true,
+ opren: false,
+ });
+ }
+ },
+ //选择街道
+ streetConfirm(e) {
+ let strname = e.target.dataset.strname;
+ this.setData({
+ "form.streetName": strname,
+ streetShow: false,
+ });
+ },
+ appendAddress() {
+ let urlStr = "";
+ if (app._isTextEmpty(this.data.form.username)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入收货人姓名",
+ duration: 1500,
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入手机机号",
+ duration: 1500,
+ });
+ return;
+ }
+ if (app._isMoblie(this.data.form.mobile)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入正确的手机号",
+ duration: 1500,
+ });
+ return;
+ }
+ if (this.data.is_region == 1 && app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: "none",
+ title: "请选择所在区域",
+ duration: 1500,
+ });
+ return;
+ }
+
+ if (
+ this.data.is_region == 1 &&
+ this.data.isShowStreet &&
+ app._isTextEmpty(this.data.form.streetName)
+ ) {
+ wx.showToast({
+ icon: "none",
+ title: "请选择所在街道",
+ duration: 1500,
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.form.address)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入详细地址",
+ duration: 1500,
+ });
+ return;
+ }
+ let json = {};
+ json = {
+ address_id: this.data.form.address_id,
+ username: this.data.form.username,
+ mobile: this.data.form.mobile,
+ city: this.data.form.city,
+ address: this.data.form.address,
+ province: this.data.form.province,
+ isdefault: this.data.form.isDefault ? 1 : 0,
+ district: this.data.form.district,
+ street: this.data.form.streetName,
+ };
+ urlStr = app.getNetAddresss("member.member-address.store");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+});
diff --git a/packageD/member/addressAdd_v2/addressAdd_v2.json b/packageD/member/addressAdd_v2/addressAdd_v2.json
new file mode 100644
index 0000000..96d8034
--- /dev/null
+++ b/packageD/member/addressAdd_v2/addressAdd_v2.json
@@ -0,0 +1,10 @@
+{
+ "navigationBarTitleText": "新增收货地址",
+ "usingComponents": {
+ "van-switch": "../../../dist/switch/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-cell-group": "../../../dist/cell-group/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/member/addressAdd_v2/addressAdd_v2.wxml b/packageD/member/addressAdd_v2/addressAdd_v2.wxml
new file mode 100644
index 0000000..bcb2868
--- /dev/null
+++ b/packageD/member/addressAdd_v2/addressAdd_v2.wxml
@@ -0,0 +1,67 @@
+
+
+
+
+
+ 收件人:
+
+
+
+ 联系电话:
+
+
+
+
+
+
+ 设置默认地址:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+
+
+
+
diff --git a/packageD/member/addressAdd_v2/addressAdd_v2.wxss b/packageD/member/addressAdd_v2/addressAdd_v2.wxss
new file mode 100644
index 0000000..571dcf8
--- /dev/null
+++ b/packageD/member/addressAdd_v2/addressAdd_v2.wxss
@@ -0,0 +1,119 @@
+/* pages/member/addressAdd_v2/addressAdd_v2.wxss */
+
+/* pages/member/addressEdit/addressEdit.wxss */
+.address_a {
+ background-color: #fff;
+ padding-left: 28rpx;
+ margin-top: 20rpx;
+}
+
+.address_a .li {
+ height: 100rpx;
+ padding-right: 28rpx;
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+}
+
+.defaultAdd {
+ background: #fff;
+ padding-left: 28rpx;
+ display: flex;
+ height: 100rpx;
+ padding-right: 28rpx;
+ font-size: 32rpx;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.addName {
+ background: #fff;
+}
+
+.addstreet {
+ background: #fff;
+}
+
+.text_adderss {
+ background: #fff;
+}
+
+.text_adderss input {
+ text-wrap: unset;
+ padding: 20rpx 28rpx;
+ font-size: 28rpx;
+ line-height: 48rpx;
+ min-height: 104rpx;
+}
+
+.adderss_btn .button {
+ margin: 40rpx auto;
+ width: 600rpx;
+ height: 90rpx;
+ border-radius: 10rpx;
+ background: #f15353;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.adderss_btn .button .plus_circle {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* -------------------------------- */
diff --git a/packageD/member/addressEdit/addressEdit.js b/packageD/member/addressEdit/addressEdit.js
new file mode 100644
index 0000000..f480033
--- /dev/null
+++ b/packageD/member/addressEdit/addressEdit.js
@@ -0,0 +1,487 @@
+// pages/member/addressEdit/addressEdit.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ isShowStreet: false,
+ form: {
+ username: "",
+ mobile: "",
+ province: "",
+ city: "",
+ district: "",
+ streetName: "",
+ address: "",
+ isDefault: false,
+ },
+ addressName: "",
+ openDateLw: false,
+ provinceData: [],
+ cityData: [],
+ districtData: [],
+ pickerValue: [0, 0, 0],
+ selectAddressData: [],
+ districtVal: [],
+ opren: true,
+ acr: true,
+ is_region: 0,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.model) {
+ let model = JSON.parse(options.model);
+ this.setData({
+ "form.isDefault": model.isdefault == 0 ? false : true,
+ "form.province": model.province,
+ "form.address_id": model.id,
+ "form.username": model.username,
+ "form.mobile": model.mobile,
+ "form.city": model.city,
+ "form.district": model.district,
+ "form.address": model.address,
+ "form.streetName": model.street,
+ addressName: model.province + " " + model.city + " " + model.district,
+ isShowStreet: app._isTextEmpty(model.street) ? false : true,
+ });
+ console.log(this.data.form);
+ if (this.data.isShowStreet) {
+ this._getStreet(model.district_id);
+ }
+ }
+ //加载地址数据初始化
+ this._initAddressInfo();
+ this.getIsOpenAddress();
+ },
+ streetClose(e) {
+ this.setData({
+ streetShow: false,
+ opren: true,
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getIsOpenAddress() {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.member-address.is-region");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ that.setData({
+ is_region: res.data.is_region,
+ });
+ } else {
+ console.log(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //获取街道
+ _getStreet(param) {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.memberAddress.street");
+ urlStr += "&district_id=" + param;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ if (!app._isTextEmpty(res.data) && res.data.length > 0) {
+ that.setData({
+ districtVal: res.data,
+ isShowStreet: true,
+ });
+ } else {
+ that.setData({
+ isShowStreet: false,
+ });
+ }
+ } else {
+ that.setData({
+ isShowStreet: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //默认地址开关值绑定
+ isDefaultChange: function (e) {
+ let isDefault = e.detail;
+ this.setData({
+ "form.isDefault": isDefault,
+ });
+ },
+ //收件人输入绑定
+ usernameinp: function (e) {
+ let nameval = e.detail.value;
+ this.setData({
+ "form.username": nameval,
+ });
+ },
+ //联系电话输入绑定
+ mobileinp: function (e) {
+ let mobileval = e.detail.value;
+ this.setData({
+ "form.mobile": mobileval,
+ });
+ },
+ //详细地址绑定输入
+ addressinp: function (e) {
+ let addressval = e.detail.value;
+ console.log(addressval);
+ this.setData({
+ "form.address": addressval,
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function () {
+ this.setData({
+ openDateLw: false,
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: "provinceData",
+ data: province,
+ });
+ wx.setStorage({
+ key: "cityData",
+ data: city,
+ });
+ wx.setStorage({
+ key: "districtData",
+ data: district,
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true,
+ });
+ },
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = "provinceData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data,
+ });
+ that.setData({
+ "selectAddressData[0].name":
+ res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0],
+ });
+ that._getCityData();
+ },
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = "cityData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json,
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1],
+ });
+ that._getDistrictData();
+ },
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ console.log("地区", "_data", _data);
+ console.log(_data);
+ var that = this;
+ var _keyName = "districtData";
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json,
+ });
+ console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2],
+ });
+ console.log("over", that.data.selectAddressData);
+ },
+ });
+ },
+ //打开地址选择器
+ openDateLwtbtn: function () {
+ this.setData({
+ openDateLw: true,
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2],
+ });
+ this._initAddressInfo();
+ },
+ // 确定选择收货地址
+ _okAddress: function () {
+ let seleData = this.data.selectAddressData;
+ this.setData({
+ "form.streetName": "",
+ districtVal: "",
+ addressName:
+ seleData[0].name + " " + seleData[1].name + " " + seleData[2].name,
+ "form.province": seleData[0].name,
+ "form.city": seleData[1].name,
+ "form.district": seleData[2].name,
+ });
+ this._getStreet(seleData[2].id);
+ this._closeDateLw();
+ },
+ streetChoose() {
+ if (this.data.is_region == 1 && app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: "none",
+ title: "请先选择所在地区",
+ duration: 1500,
+ });
+ } else {
+ this.setData({
+ streetShow: true,
+ opren: false,
+ });
+ }
+ },
+ //选择街道
+ streetConfirm(e) {
+ let strname = e.target.dataset.strname;
+ this.setData({
+ "form.streetName": strname,
+ streetShow: false,
+ opren: true,
+ });
+ console.log(
+ this.data.form.streetName,
+ this.data.streetShow,
+ this.data.opren
+ );
+ },
+ alterAddresshandle() {
+ let urlStr = "";
+ if (app._isTextEmpty(this.data.form.username)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入收货人姓名",
+ duration: 1500,
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入手机机号",
+ duration: 1500,
+ });
+ return;
+ }
+ if (app._isMoblie(this.data.form.mobile)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入正确的手机号",
+ duration: 1500,
+ });
+ return;
+ }
+ if (this.data.is_region == 1 && app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: "none",
+ title: "请选择所在区域",
+ duration: 1500,
+ });
+ return;
+ }
+
+ if (
+ this.data.is_region == 1 &&
+ this.data.isShowStreet &&
+ app._isTextEmpty(this.data.form.streetName)
+ ) {
+ wx.showToast({
+ icon: "none",
+ title: "请选择所在街道",
+ duration: 1500,
+ });
+ return;
+ }
+
+ if (app._isTextEmpty(this.data.form.address)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入详细地址",
+ duration: 1500,
+ });
+ return;
+ }
+ let json = {};
+ if (this.data.isShowStreet) {
+ json = {
+ address_id: this.data.form.address_id,
+ username: this.data.form.username,
+ mobile: this.data.form.mobile,
+ city: this.data.form.city,
+ address: this.data.form.address,
+ province: this.data.form.province,
+ isdefault: this.data.form.isDefault ? 1 : 0,
+ district: this.data.form.district,
+ street: this.data.form.streetName,
+ };
+ } else {
+ json = {
+ address_id: this.data.form.address_id,
+ username: this.data.form.username,
+ mobile: this.data.form.mobile,
+ city: this.data.form.city,
+ address: this.data.form.address,
+ province: this.data.form.province,
+ isdefault: this.data.form.isDefault ? 1 : 0,
+ district: this.data.form.district,
+ };
+ }
+ urlStr = app.getNetAddresss("member.member-address.update");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+});
diff --git a/packageD/member/addressEdit/addressEdit.json b/packageD/member/addressEdit/addressEdit.json
new file mode 100644
index 0000000..4731ebc
--- /dev/null
+++ b/packageD/member/addressEdit/addressEdit.json
@@ -0,0 +1,10 @@
+{
+ "navigationBarTitleText": "修改收货地址",
+ "usingComponents": {
+ "van-switch": "../../../dist/switch/index",
+ "van-cell": "../../../dist/cell/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-nav-bar": "../../../dist/nav-bar/index",
+ "van-cell-group": "../../../dist/cell-group/index"
+ }
+}
diff --git a/packageD/member/addressEdit/addressEdit.wxml b/packageD/member/addressEdit/addressEdit.wxml
new file mode 100644
index 0000000..35d2a98
--- /dev/null
+++ b/packageD/member/addressEdit/addressEdit.wxml
@@ -0,0 +1,64 @@
+
+
+
+
+
+ 收件人:
+
+
+
+ 联系电话:
+
+
+
+
+
+
+ 设置默认地址:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+ {{item.areaname}}
+
+
+
+
diff --git a/packageD/member/addressEdit/addressEdit.wxss b/packageD/member/addressEdit/addressEdit.wxss
new file mode 100644
index 0000000..492edc8
--- /dev/null
+++ b/packageD/member/addressEdit/addressEdit.wxss
@@ -0,0 +1,117 @@
+/* pages/member/addressEdit/addressEdit.wxss */
+.address_a {
+ background-color: #fff;
+ padding-left: 28rpx;
+ margin-top: 20rpx;
+}
+
+.address_a .li {
+ height: 100rpx;
+ padding-right: 28rpx;
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+}
+
+.defaultAdd {
+ background: #fff;
+ padding-left: 28rpx;
+ display: flex;
+ height: 100rpx;
+ padding-right: 28rpx;
+ font-size: 32rpx;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.addName {
+ background: #fff;
+}
+
+.addstreet {
+ background: #fff;
+}
+
+.text_adderss {
+ background: #fff;
+}
+
+.text_adderss input {
+ text-wrap: unset;
+ padding: 20rpx 28rpx;
+ font-size: 28rpx;
+ line-height: 48rpx;
+ min-height: 104rpx;
+}
+
+.adderss_btn .button {
+ margin: 40rpx auto;
+ width: 600rpx;
+ height: 90rpx;
+ border-radius: 10rpx;
+ background: #f15353;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.adderss_btn .button .plus_circle {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* -------------------------------- */
diff --git a/packageD/member/addressList/addressList.js b/packageD/member/addressList/addressList.js
new file mode 100644
index 0000000..fdbaf58
--- /dev/null
+++ b/packageD/member/addressList/addressList.js
@@ -0,0 +1,138 @@
+var app = getApp();
+
+Page({
+ data: {
+ addressListData: [],
+ state: 0,
+ },
+ // 获取收货地址列表
+ _getData: function () {
+ var that = this;
+ app._getNetWork({
+ showToastIn: false,
+ url: app.getNetAddresss("member.member-address.index"),
+ success: function (res) {
+ var _data = res.data;
+ if (_data.result == 1) {
+ var _state = 0;
+ if (_data.data.length <= 0) {
+ _state = 1;
+ } else {
+ _state = 2;
+ }
+ that.setData({
+ addressListData: _data.data,
+ state: _state,
+ });
+ console.log("收货地址列表", _data.data);
+ } else {
+ wx.showToast({
+ title: "数据错误",
+ icon: "success",
+ duration: 2000,
+ success: function () {},
+ fail: function () {},
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ // 设置默认收货地址
+ defaultAddress: function (e) {
+ var that = this;
+ var url = app.getNetAddresss("member.member-address.setDefault");
+ url += "&address_id=" + e.currentTarget.dataset.id;
+ app._getNetWork({
+ url: url,
+ success: function (res) {
+ var _data = res.data;
+ console.log("设置默认收货地址", res);
+ if (_data.result == 1) {
+ that._getData();
+ } else {
+ wx.showToast({
+ title: _data.msg,
+ icon: "none",
+ duration: 2000,
+ success: function () {},
+ fail: function () {},
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ // 修改收货地址
+ editAddress: function (e) {
+ var _item = e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url:
+ "/packageD/member/addressEdit/addressEdit?model=" +
+ JSON.stringify(_item),
+ });
+ },
+ // 删除收货地址
+ delAddress: function (e) {
+ var that = this;
+ var url = app.getNetAddresss("member.member-address.destroy");
+ url += "&address_id=" + e.currentTarget.dataset.id;
+ wx.showModal({
+ title: "提示",
+ content: "确定要删除么?此操作不可逆!",
+ success: function (res) {
+ if (res.confirm) {
+ console.log("用户点击确定");
+ app._getNetWork({
+ url: url,
+ success: function (res) {
+ var _data = res.data;
+ console.log("收货地址列表", _data);
+ if (_data.result == 1) {
+ that._getData();
+ wx.showToast({
+ title: _data.msg,
+ icon: "success",
+ duration: 2000,
+ success: function () {},
+ fail: function () {},
+ });
+ } else {
+ wx.showToast({
+ title: "数据错误",
+ icon: "success",
+ duration: 2000,
+ success: function () {},
+ fail: function () {},
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ }
+ },
+ });
+ },
+
+ _gotoAddressAdd: function (options) {
+ wx.navigateTo({
+ url: "/packageD/member/addressAdd_v2/addressAdd_v2",
+ });
+ },
+ onLoad: function (options) {
+ // 页面初始化 options为页面跳转所带来的参数
+ },
+ onReady: function () {
+ // 页面渲染完成
+ },
+ onShow: function () {
+ // 页面显示
+ this._getData();
+ },
+ onHide: function () {
+ // 页面隐藏
+ },
+ onUnload: function () {
+ // 页面关闭
+ },
+});
diff --git a/packageD/member/addressList/addressList.json b/packageD/member/addressList/addressList.json
new file mode 100644
index 0000000..dc665e7
--- /dev/null
+++ b/packageD/member/addressList/addressList.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "收货地址管理",
+ "backgroundColor": "#f8f8f8",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageD/member/addressList/addressList.wxml b/packageD/member/addressList/addressList.wxml
new file mode 100644
index 0000000..9b93c2a
--- /dev/null
+++ b/packageD/member/addressList/addressList.wxml
@@ -0,0 +1,53 @@
+
+
+
+ 加载中...
+
+
+
+
+ 您还没有设置收货地址
+
+
+
+
+
+
+
+ {{item.username}}
+ {{item.mobile}}
+
+ {{item.province}} {{item.city}} {{item.district}} {{item.street}} {{item.address}}
+
+
+
+
+ 设为默认
+
+
+
+
+
+
+ 编辑
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
diff --git a/packageD/member/addressList/addressList.wxss b/packageD/member/addressList/addressList.wxss
new file mode 100644
index 0000000..4f95ae4
--- /dev/null
+++ b/packageD/member/addressList/addressList.wxss
@@ -0,0 +1,85 @@
+page {
+ background: #f8f8f8;
+ padding-bottom: 90rpx;
+}
+
+/* .addressList{} */
+
+.addressList .li {
+ padding: 0rpx 20rpx;
+ background: #fff;
+ border-top: 1rpx solid #d9d9d9;
+ border-bottom: 1rpx solid #d9d9d9;
+ margin-bottom: 20rpx;
+}
+
+.addressList .hh {
+ line-height: 50rpx;
+ font-size: 32rpx;
+ color: #414141;
+ padding-top: 10rpx;
+}
+
+.addressList .t1,
+.addressList .t2 {
+ margin-right: 10rpx;
+ vertical-align: middle;
+}
+
+.addressList .mm {
+ line-height: 40rpx;
+ overflow: hidden;
+ color: #666;
+ padding: 10rpx 0rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+}
+
+.addressList .fn {
+ padding: 20rpx 0rpx;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.addressList .radio {
+ flex: 1;
+}
+
+.addressList .radio text {
+ vertical-align: middle;
+ margin-left: 10rpx;
+ line-height: 20rpx;
+}
+
+.addressList .radio .radio_1 {
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.addressList .radio .radio_2 {
+ display: none;
+ vertical-align: middle;
+}
+
+.addressList .radio.true .radio_1 {
+ display: none;
+}
+
+.addressList .radio.true .radio_2 {
+ display: inline-block;
+}
+
+.addressList .del {
+ margin-left: 40rpx;
+}
+
+.addressList .handle {
+ display: flex;
+}
+
+.addressList .handle text {
+ vertical-align: middle;
+ line-height: 40rpx;
+ margin-left: 15rpx;
+ color: #888;
+ font-size: 28rpx;
+}
diff --git a/packageD/member/collection/collection.js b/packageD/member/collection/collection.js
new file mode 100644
index 0000000..0279341
--- /dev/null
+++ b/packageD/member/collection/collection.js
@@ -0,0 +1,193 @@
+var app = getApp();
+
+Page({
+ data: {
+ language: '',
+ // goodsData:[],
+ goodsData:[],
+ dataState:0,
+ showEdit:false,
+ // 是否显示面板指示点
+ indicatorDots: true,
+ // 方向
+ vertical: false,
+ // 是否自动切换
+ autoplay: true,
+ // 自动切换时间间隔
+ interval: 4000,
+ // 滑动动画时长
+ duration: 300
+ },
+ // 清空收藏收藏(没接口)
+ claerData:function(){
+ var that= this;
+ var url = app.getNetAddresss("favorite/Remove");
+ url += "&id="+e.currentTarget.dataset.id;
+ wx.showModal({
+ title: '提示',
+ content: '确定要删除么?此操作不可逆!',
+ success: function(res) {
+ if (res.confirm) {
+ console.log('用户点击确定');
+
+
+ app._getNetWork(
+ {
+ url:url,
+ success:function(res){
+ var _data = res.data;
+ console.log("收货地址列表",_data);
+ if(_data.result==1){
+ that._getData();
+ wx.showToast({
+ title: _data.msg,
+ icon: 'success',
+ duration: 2000,
+ success:function(){},
+ fail:function(){}
+ });
+ }
+ else{
+ wx.showToast({
+ title: '数据错误',
+ icon: 'success',
+ duration: 2000,
+ success:function(){},
+ fail:function(){}
+ });
+ }
+
+ },
+ fail:function(res){}
+ }
+ );
+ }
+ }
+ });
+ },
+ // 打开编辑(没接口)
+ openEdit:function(){
+ wx.showToast({title: '加载中..',icon: 'loading',duration: 1000,mask:true});
+ var that = this;
+ that.setData({
+ showEdit:true
+ });
+ },
+ // 关闭编辑(没接口)
+ closeEdit:function(){
+ wx.showToast({title: '加载中..',icon: 'loading',duration: 1000,mask:true});
+ var that = this;
+ that.setData({
+ showEdit:false
+ });
+ },
+ // 单条删除
+ delData:function(e){
+ var that= this;
+ //todo, 无接口
+ var url = app.getNetAddresss("member.member-favorite.destroy");
+ url += "&goods_id="+e.currentTarget.dataset.goodsid;
+ wx.showModal({
+ title: '提示',
+ content: '确定要取消收藏么?此操作不可逆!',
+ success: function(res) {
+ if (res.confirm) {
+ console.log('用户点击确定');
+ app._getNetWork(
+ {
+ url:url,
+ success:function(res){
+ var _data = res.data;
+ console.log("_data",_data);
+ if(_data.result==1){
+ that._getData();
+ wx.showToast({
+ title: _data.msg,
+ icon: 'success',
+ duration: 2000,
+ success:function(){},
+ fail:function(){}
+ });
+ }
+ else{
+ wx.showToast({
+ title: '数据错误',
+ icon: 'success',
+ duration: 2000,
+ success:function(){},
+ fail:function(){}
+ });
+ }
+
+ },
+ fail:function(res){}
+ }
+ );
+ }
+ }
+ });
+ },
+ goDetail:function(e){
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id='+e.currentTarget.dataset.goodsid
+ });
+ },
+ // 获取数据
+ _getData:function(){
+ var that = this;
+ let urlStr = app.getNetAddresss("member.member-favorite.index");
+ if(app.globalData.store_alone_temp == 1) {
+ // 开启门店独立模块
+ urlStr = app.getNetAddresss("plugin.store-alone-temp.frontend.member.favorite-list");
+ }
+ app._getNetWork(
+ {
+ url:urlStr,
+ showToastIn:false,
+ success:function(res){
+ var _data = res.data;
+ console.log("收藏data", _data);
+ if(_data.result==1){
+ var _dataState;
+ if(_data.data.length>0){
+ _dataState=2;
+ }
+ else{
+ _dataState=1;
+ }
+ that.setData({
+ goodsData:_data.data,
+ dataState:_dataState,
+ });
+ }
+ else{
+ wx.showToast({title: '数据错误',icon: 'success',duration: 2000});
+ }
+ },
+ fail:function(res){}
+ }
+ );
+ },
+ onLoad:function(options){
+ this._getData();
+ },
+ onReady:function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ // 页面渲染完成
+ },
+ onShow:function(){
+ // 页面显示
+ },
+ onHide:function(){
+ // 页面隐藏
+ },
+ onUnload:function(){
+ // 页面关闭
+ },
+});
+
+
+
+
+
diff --git a/packageD/member/collection/collection.json b/packageD/member/collection/collection.json
new file mode 100644
index 0000000..a2ccdf8
--- /dev/null
+++ b/packageD/member/collection/collection.json
@@ -0,0 +1,8 @@
+{
+ "backgroundColor":"#fff",
+ "navigationBarTitleText": "我的收藏",
+ "enablePullDownRefresh": true ,
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/member/collection/collection.wxml b/packageD/member/collection/collection.wxml
new file mode 100644
index 0000000..97e4d4c
--- /dev/null
+++ b/packageD/member/collection/collection.wxml
@@ -0,0 +1,49 @@
+
+
+
+ 数据加载中...
+
+
+
+
+ 您还没有收藏任何商品
+
+
+
+
+
+
+ {{item.goods.title}}
+
+
+ {{language['money']}}
+ {{item.vip_level_status.word}}
+ {{item.goods.price}}
+ {{language['money']}}{{item.goods.market_price}}
+
+
+
+
+
+
+
+
+
diff --git a/packageD/member/collection/collection.wxss b/packageD/member/collection/collection.wxss
new file mode 100644
index 0000000..04d51cc
--- /dev/null
+++ b/packageD/member/collection/collection.wxss
@@ -0,0 +1,39 @@
+page {
+ /* padding-bottom:90rpx; */
+}
+
+.b-goodsList.row .main .li {
+ padding: 20rpx 110rpx 20rpx 180rpx;
+}
+
+.b-goodsList.row .del {
+ width: 50rpx;
+ height: 180rpx;
+ position: absolute;
+ padding: 0rpx 20rpx;
+ background: #f0f0f0;
+ border-left: 1rpx solid #d9d9d9;
+ top: -1rpx;
+ right: 0rpx;
+ z-index: 5;
+ display: flex;
+ align-items: center;
+}
+
+.b-goodsList.row .del .imgDel {
+ width: 50rpx;
+ height: 50rpx;
+}
+
+.s1-two {
+ font-size: 24rpx;
+ background: #f15353;
+ color: white;
+ padding: 6.4rpx 16rpx;
+ border-top-left-radius: 16rpx;
+ border-bottom-right-radius: 16rpx;
+}
+
+.Price {
+ color: #f15353;
+}
diff --git a/packageD/member/evaluate/evaluate.js b/packageD/member/evaluate/evaluate.js
new file mode 100644
index 0000000..2b78c42
--- /dev/null
+++ b/packageD/member/evaluate/evaluate.js
@@ -0,0 +1,291 @@
+// pages/member/evaluate/evaluate.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ good: "",
+ order_id: "",
+ ratetextshow: ["极差", "失望", "一般", "满意", "惊喜"],
+ ratetext: "惊喜",
+ level: 5,
+ comment: "", //评论内容
+ uploadUrl: "upload.uploadPic",
+ fileList3: [],
+ fileList4: [],
+ upNumMaxOther: 0,
+
+ rateInstalltext: "惊喜",
+ Installlevel: 5,
+
+ is_score_latitude: false, //评分纬度
+ describeScore: 5, // 包装评分
+ deliveryScore: 5, // 配送评分
+ serviceScore: 5, // 服务评分
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.order_id) {
+ this.setData({
+ order_id: options.order_id,
+ });
+ }
+ if (options.id) {
+ this.setData({
+ id: options.id,
+ });
+ }
+ this.getGoodDetail();
+ this.getOtherScore();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+
+ getGoodDetail () {
+ let urlStr = app.getNetAddresss("goods.other-info.get-goods");
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ id: this.data.id
+ },
+ showToastIn: false,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ good: res.data
+ });
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ getOtherScore () {
+ let urlStr = app.getNetAddresss("goods.comment.create-comment-page");
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ is_score_latitude: res.data.is_score_latitude
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ getStar(event) {
+ let value = event.detail;
+ this.setData({
+ level: value,
+ ratetext: this.data.ratetextshow[value - 1],
+ });
+ },
+ getInstallStar(event) {
+ let value = event.detail;
+ this.setData({
+ Installlevel: value,
+ rateInstalltext: this.data.ratetextshow[value - 1],
+ });
+ },
+ commentChange(e) {
+ let val = e.detail;
+ this.setData({
+ comment: val,
+ });
+ },
+ toComment(e) {
+ let item = e.target.dataset.good;
+ let that = this;
+ if (this.data.comment.length == 0) {
+ wx.showModal({
+ title: "提示",
+ content: "您还没有输入相关的评论内容",
+ success(res) {
+ if (res.confirm) {
+ that._submitData(item);
+ }
+ },
+ });
+ } else {
+ this._submitData(item);
+ }
+ },
+ //提交数据到服务器
+ _submitData(item) {
+ let that = this;
+ let urlStr = app.getNetAddresss("goods.comment.create-comment");
+ var newArr2 = [];
+ if (that.data.fileList3.length != 0) {
+ for (let i = 0; i < that.data.fileList3.length; i++) {
+ newArr2.push(that.data.fileList3[i].url);
+ }
+ } else {
+ newArr2 = [];
+ }
+ newArr2 = JSON.stringify(newArr2);
+ let eltion = {
+ order_id: this.data.order_id,
+ goods_id: item.goods_id,
+ order_goods_id: this.data.good.id,
+ content: this.data.comment,
+ level: this.data.level,
+ images: newArr2,
+ };
+ //安装服务的订单评价
+ if(this.data.good.is_install && this.data.good.is_install==1){
+ eltion.worker_score=this.data.Installlevel;
+ }
+ // 纬度评分 (包装, 配送,服务)
+ if (this.data.is_score_latitude) {
+ eltion.score_latitude = {
+ score_latitude_describe: this.data.describeScore,
+ score_latitude_delivery: this.data.deliveryScore,
+ score_latitude_service: this.data.serviceScore,
+ };
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: eltion,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ //选择图片
+ onRead_2() {
+ if (this.data.upNumMaxOther == 5 || this.data.upNumMaxOther >= 5) {
+ wx.showToast({
+ icon: "none",
+ title: "图片数量已达到上限",
+ duration: 1500,
+ });
+ return false;
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.uploadUrl);
+ wx.chooseImage({
+ count: 5 - this.data.upNumMaxOther,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success(res) {
+ const tempFilePaths = res.tempFilePaths;
+ for (let tempFilePath of tempFilePaths) {
+ console.log(tempFilePath);
+ wx.compressImage({
+ src: tempFilePath, // 图片路径
+ quality: 60, // 压缩质量
+ success(e) {
+ let photourl = e.tempFilePath;
+ wx.uploadFile({
+ url: urlStr,
+ filePath: photourl,
+ name: "file",
+ formData: {
+ attach: "upload",
+ },
+ success(resdata) {
+ var res = JSON.parse(resdata.data);
+ if (res.result == 1) {
+ let fileList3 = that.data.fileList3;
+ let fileList4 = that.data.fileList4;
+ fileList3.push({
+ url: res.data.img,
+ });
+ fileList4.push({
+ url: photourl,
+ });
+ that.setData({
+ upNumMaxOther: that.data.upNumMaxOther + 1,
+ fileList3: fileList3,
+ fileList4: fileList4,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ });
+ },
+ fail(e) {},
+ complete(e) {},
+ });
+ }
+ },
+ });
+ },
+ removeImg_1: function (e) {
+ let index = e.currentTarget.dataset.index;
+ let fileList3 = this.data.fileList3;
+ let fileList4 = this.data.fileList4;
+ fileList3.splice(index, 1);
+ fileList4.splice(index, 1);
+ this.setData({
+ fileList3: fileList3,
+ fileList4: fileList4,
+ });
+ this.setData({
+ upNumMaxOther: this.data.fileList3.length,
+ });
+ },
+ // 评分
+ changeOtherScore (event) {
+ let paramName = event.target.dataset.param;
+ this.setData({
+ [paramName]: event.detail
+ });
+ },
+});
diff --git a/packageD/member/evaluate/evaluate.json b/packageD/member/evaluate/evaluate.json
new file mode 100644
index 0000000..0ed5363
--- /dev/null
+++ b/packageD/member/evaluate/evaluate.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "我的评价",
+ "usingComponents": {
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-field": "../../../dist/field/index",
+ "van-rate": "../../../dist/rate/index",
+ "van-button": "../../../dist/button/index"
+ }
+}
diff --git a/packageD/member/evaluate/evaluate.wxml b/packageD/member/evaluate/evaluate.wxml
new file mode 100644
index 0000000..bbf31bd
--- /dev/null
+++ b/packageD/member/evaluate/evaluate.wxml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+ {{good.title}}
+ 规格: {{good.goods_option_title}}
+
+
+ {{language['money']}}{{good.goods_price}}
+ ×{{good.total}}
+
+
+
+
+ 评论:
+
+
+
+
+
+ 晒图:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 评分:
+
+ {{ratetext}}
+
+
+ {{good.install_another_name.worker_name}}评价:
+
+ {{rateInstalltext}}
+
+
+
+
+
+
+
+ 描述/包装
+
+
+
+ 物流服务/配送
+
+
+
+ 服务态度/质量
+
+
+
+
+ 提交评价
+
+
diff --git a/packageD/member/evaluate/evaluate.wxss b/packageD/member/evaluate/evaluate.wxss
new file mode 100644
index 0000000..c8dfb2b
--- /dev/null
+++ b/packageD/member/evaluate/evaluate.wxss
@@ -0,0 +1,157 @@
+/* pages/member/evaluate/evaluate.wxss */
+.evaluate .shop {
+ background: #fff;
+ padding: 20rpx 0 0 0;
+}
+
+.evaluate .goods {
+ display: flex;
+ width: 100%;
+ background: #fafafa;
+}
+
+.evaluate .goods .img {
+ width: 192rpx;
+ height: 192rpx;
+ padding: 28rpx;
+ overflow: hidden;
+}
+
+.evaluate .goods .img image {
+ width: 100%;
+}
+
+.evaluate .goods .warp {
+ width: 70vw;
+ padding: 20rpx 32rpx 0 0;
+ display: flex;
+}
+
+.evaluate .goods .warp .inner {
+ width: 70%;
+ padding: 0 20rpx;
+ text-align: left;
+}
+
+.evaluate .goods .warp .inner .name {
+ text-align: left;
+ color: #333;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+.evaluate .goods .option {
+ color: #8c8c8c;
+ font-size: 24rpx;
+}
+
+.evaluate .goods .warp .price {
+ width: 30%;
+ align-items: center;
+ text-align: right;
+ color: #333;
+}
+
+.evaluate .goods .product_price {
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+.evaluate .pjall {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.evaluate .pjall .pj {
+ text-align: left;
+ padding-top: 8px;
+ display: flex;
+ align-items: center;
+ padding-bottom: 20rpx;
+}
+
+.evaluate .pjall .pj .span_1 {
+ /* width: 160rpx; */
+ flex: 1;
+ text-align: left;
+}
+
+.evaluate .pjall .pj .span {
+ font-size: 28rpx;
+ padding-right: 20rpx;
+}
+
+.evaluate .pjall .van-cell {
+ border: 2rpx solid #bfcbd9;
+ border-radius: 8rpx;
+ height: 200rpx;
+}
+
+.otherphoto {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+ text-align: left;
+}
+
+.otherphoto .top {
+ font-size: 28rpx;
+ height: 100rpx;
+ text-align: left;
+ padding-left: 26rpx;
+ line-height: 100rpx;
+}
+
+.otherphoto .imgflex {
+ display: inline-flex;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.otherphoto .imgflex .photobox {
+ width: 190rpx;
+ height: 190rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+ position: relative;
+ margin-right: 6rpx;
+ margin-left: 6rpx;
+ margin-bottom: 6rpx;
+}
+
+.otherphoto .imgflex .photobox image {
+ width: 100%;
+}
+
+.otherphoto .imgflex .photobox .i {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ top: 4rpx;
+ right: 4rpx;
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/close_iocn.png") no-repeat;
+ background-size: 100%;
+ z-index: 100;
+}
+
+.otherphoto .imgflex .photoshow {
+ padding: 30rpx;
+ width: 130rpx;
+ height: 130rpx;
+ border: 2rpx dashed rgb(192, 204, 218);
+ overflow: hidden;
+}
+
+.otherphoto .imgflex .photoshow image {
+ width: 100%;
+}
+
+.score-box {
+ margin: 20rpx 0;
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+.score-box .pj {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
diff --git a/packageD/member/footprint/footprint.js b/packageD/member/footprint/footprint.js
new file mode 100644
index 0000000..a89ec53
--- /dev/null
+++ b/packageD/member/footprint/footprint.js
@@ -0,0 +1,169 @@
+var app = getApp();
+
+Page({
+ data: {
+ language: '',
+ // goodsData:[],
+ goodsData: [],
+ dataState: 0,
+ showEdit: false,
+ // 是否显示面板指示点
+ indicatorDots: true,
+ // 方向
+ vertical: false,
+ // 是否自动切换
+ autoplay: true,
+ // 自动切换时间间隔
+ interval: 4000,
+ // 滑动动画时长
+ duration: 300,
+
+ integral: "积分",
+
+ page: 1,
+ finisend: false,
+ },
+
+
+ // 单条删除
+ delData: function(e) {
+ var that = this;
+ var url = app.getNetAddresss("member.member-history.destroy");
+ console.log(e.currentTarget.dataset.id);
+ url += "&id=" + e.currentTarget.dataset.id;
+ wx.showModal({
+ title: '提示',
+ content: '确定要删除足迹么?此操作不可逆!',
+ success: function(res) {
+ if (res.confirm) {
+ console.log('用户点击确定');
+ app._getNetWork({
+ url: url,
+ success: function(res) {
+ var _data = res.data;
+ console.log("_data", _data);
+ if (_data.result == 1) {
+ for(let i = 0;i= _data.data.last_page || _data.data.member_histories.legnth < _data.data.per_page) {
+ finisend = true;
+ } else {
+ finisend = false;
+ }
+ if (that.data.page > 1) {
+ goodsData = that.data.goodsData.concat(_data.data.member_histories);
+ } else {
+ goodsData = _data.data.member_histories;
+ }
+ that.setData({
+ goodsData,
+ finisend,
+ page: (++that.data.page)
+ });
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ },
+ fail: function(res) {}
+ });
+ },
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+
+ let value = wx.getStorageSync("integral");
+ if (value) {
+ this.setData({
+ integral: value,
+ });
+ }
+ // 页面渲染完成
+ },
+ onShow: function() {
+ this.setData({
+ page: 1,
+ finisend: false
+ });
+ this._getData();
+ // 页面显示
+ },
+ onHide: function() {
+ // 页面隐藏
+ },
+ onUnload: function() {
+ // 页面关闭
+ },
+
+ onReachBottom () {
+ this._getData();
+ }
+});
diff --git a/packageD/member/footprint/footprint.json b/packageD/member/footprint/footprint.json
new file mode 100644
index 0000000..bad651b
--- /dev/null
+++ b/packageD/member/footprint/footprint.json
@@ -0,0 +1,7 @@
+{
+ "backgroundColor": "#fff",
+ "navigationBarTitleText": "我的足迹",
+ "usingComponents": {
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageD/member/footprint/footprint.wxml b/packageD/member/footprint/footprint.wxml
new file mode 100644
index 0000000..bf55b0f
--- /dev/null
+++ b/packageD/member/footprint/footprint.wxml
@@ -0,0 +1,32 @@
+
+
+
+ 您还没有浏览过任何商品
+
+
+
+
+
+ {{item.goods.title}}
+
+
+ {{item.goods.point_goods.point}}{{integral}}
+
+
+
+
+ {{language['money']}}
+ {{item.vip_level_status.word}}
+ {{item.goods.price}}
+
+
+
+
+
+
+
+
+ 没有更多记录了
+
+
+
diff --git a/packageD/member/footprint/footprint.wxss b/packageD/member/footprint/footprint.wxss
new file mode 100644
index 0000000..58f42a5
--- /dev/null
+++ b/packageD/member/footprint/footprint.wxss
@@ -0,0 +1,46 @@
+page {
+ /* padding-bottom:90rpx; */
+}
+
+.b-goodsList.row .main .li {
+ padding: 20rpx 110rpx 20rpx 180rpx;
+}
+
+.b-goodsList.row .del {
+ width: 50rpx;
+ height: 180rpx;
+ position: absolute;
+ padding: 0rpx 20rpx;
+ background: #f0f0f0;
+ border-left: 1rpx solid #d9d9d9;
+ top: -1rpx;
+ right: 0rpx;
+ z-index: 5;
+ display: flex;
+ align-items: center;
+}
+
+.b-goodsList.row .del .imgDel {
+ width: 50rpx;
+ height: 50rpx;
+}
+
+.s1-two {
+ font-size: 24rpx;
+ background: #f15353;
+ color: white;
+ padding: 6.4rpx 16rpx;
+ border-top-left-radius: 16rpx;
+ border-bottom-right-radius: 16rpx;
+}
+
+.Price {
+ color: #f15353;
+ text-align: right;
+}
+
+.finisend {
+ margin: 0 auto;
+ margin-top: 20rpx;
+ color: #868686;
+}
diff --git a/packageD/member/myEvaluation/myEvaluation.js b/packageD/member/myEvaluation/myEvaluation.js
new file mode 100644
index 0000000..659c7a1
--- /dev/null
+++ b/packageD/member/myEvaluation/myEvaluation.js
@@ -0,0 +1,242 @@
+// pages/member/myEvaluation/myEvaluation.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: '',
+ selected: 0,
+ //待评价
+ wait: [],
+ waitLoadMore: false,
+ waitPage: 1,
+ waitLastPage: 0,
+ //已评价
+ comment: [],
+ commentLoadMore: false,
+ commentPage: 1,
+ commentLastPage: 0,
+ //其他
+ other: []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this._initData();
+ this._getNetData(this.data.selected);
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+ this.getMoreData();
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _getNetData(status) {
+ let that = this;
+ let urlStr = app.getNetAddresss("order.my-comment.paging");
+ if(app.globalData.store_alone_temp == 1) {
+ // 开启门店独立模块
+ urlStr = app.getNetAddresss("plugin.store-alone-temp.frontend.member.my-comment");
+ }
+ urlStr += '&page=' + (status == '0' ? this.data.waitPage : this.data.commentPage);
+ urlStr += '&status=' + status;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var response = resdata.data;
+ if (response.result == 1) {
+ if (status == 0) {
+ that.setData({
+ wait: (response.data.list.data.length > 0) ? response.data.list.data : [],
+ waitLoadMore: true,
+ waitLastPage: response.data.list.last_page ? response.data.list.last_page : 0,
+ });
+ } else if (status == 1) {
+ that.setData({
+ comment: (response.data.list.data.length > 0) ? response.data.list.data : [],
+ commentLoadMore: true,
+ commentLastPage: response.data.list.last_page ? response.data.list.last_page : 0,
+ });
+ }
+ }
+ // var res = resdata.data;
+ // if (res.result == 1) {
+ // var myData = res.data;
+ // if (status == 0) {
+ // that.setData({
+ // wait: myData.list
+ // });
+ // } else if (status == 1) {
+ // that.setData({
+ // comment: myData.list
+ // });
+ // } else {
+ // that.setData({
+ // other: myData.list
+ // });
+ // }
+ // }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+
+ // 加载更多
+ getMoreData () {
+ let that = this;
+ let urlStr = app.getNetAddresss("order.my-comment.paging");
+ let selected = this.data.selected;
+ let typePr = selected == '0' ? 'wait' : 'comment';
+ if (this.data[`${typePr}Page`] >= this.data[`${typePr}LastPage`]) {
+ return false;
+ }
+ this.setData({
+ [`${typePr}LoadMore`]: false,
+ [`${typePr}Page`]: this.data[`${typePr}Page`] + 1
+ });
+ urlStr += '&page=' + this.data[`${typePr}Page`];
+ urlStr += '&status=' + selected;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var response = resdata.data;
+ that.setData({
+ [`${typePr}LoadMore`]: true
+ });
+ if (response.result == 1) {
+ let afterArr = that.data[typePr];
+ that.setData({
+ [`${typePr}`]: afterArr.concat(response.data.list.data)
+ });
+ } else {
+ that.setData({
+ [`${typePr}Page`]: that.data[`${typePr}Page`] - 1,
+ [`${typePr}LoadMore`]: false
+ });
+ return;
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+
+ },
+ //评价
+ toComment(e) {
+ let order_id = e.target.dataset.itemid;
+ let good = e.target.dataset.good;
+ //evaluate
+ wx.navigateTo({
+ url: '/packageD/member/evaluate/evaluate?order_id=' + order_id + '&id=' + good.id
+ });
+
+ },
+ opration(e) {
+ let btn = e.target.dataset.btn;
+ let item = e.target.dataset.good;
+ //value-1 追加评价value-2 查看评价详情
+ if (btn && btn.value == 1) {
+ //addevaluate
+ wx.navigateTo({
+ url: '/packageD/member/addevaluate/addevaluate?order_id=' + item.order.id + '&item=' + JSON.stringify(item)
+ });
+ } else {
+ //CommentDetails
+ let options = `order_id=${item.has_one_comment.order_id}&goods_id=${item.has_one_comment.goods_id}&comment_id=${item.has_one_comment.id}&order_goods_id=${item.id}`
+ wx.navigateTo({
+ url: '/packageD/member/CommentDetails/CommentDetails?' + options
+ });
+
+ }
+ },
+ _initData() {
+ this.setData({
+ selected: 0,
+ //待评价
+ wait: [],
+ waitLoadMore: false,
+ waitPage: 1,
+ waitLastPage: 0,
+ //已评价
+ comment: [],
+ commentLoadMore: false,
+ commentPage: 1,
+ commentLastPage: 0,
+ //其他
+ other: []
+ });
+ },
+ swichTabTItem(e) {
+ let index = e.detail.index;
+ this.setData({
+ selected: index
+ });
+ if (this.data.selected == 0) {
+ this.setData({
+ wait: [],
+ waitLoadMore: false,
+ waitLastPage: 0,
+ waitPage: 1
+ });
+ } else {
+ this.setData({
+ comment: [],
+ commentLoadMore: false,
+ commentPage: 1,
+ commentLastPage: 0,
+ });
+ }
+ this._getNetData(this.data.selected);
+ },
+});
diff --git a/packageD/member/myEvaluation/myEvaluation.json b/packageD/member/myEvaluation/myEvaluation.json
new file mode 100644
index 0000000..7082d31
--- /dev/null
+++ b/packageD/member/myEvaluation/myEvaluation.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "我的评价",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index"
+ }
+}
diff --git a/packageD/member/myEvaluation/myEvaluation.wxml b/packageD/member/myEvaluation/myEvaluation.wxml
new file mode 100644
index 0000000..b5af209
--- /dev/null
+++ b/packageD/member/myEvaluation/myEvaluation.wxml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+ 订单号:{{item.order_sn}}
+
+
+
+
+
+
+
+ {{good.title}}
+ 规格: {{good.goods_option_title}}
+
+
+ {{language['money']}}{{good.price}}
+
+ ×{{good.total}}
+
+
+
+
+ 去评价
+
+
+
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{good.title}}
+ 规格: {{good.goods_option_title}}
+
+
+
+ {{language['money']}}{{good.price}}
+ ×{{good.total}}
+
+
+
+
+
+ 查看评价
+ {{btn.name}}
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
diff --git a/packageD/member/myEvaluation/myEvaluation.wxss b/packageD/member/myEvaluation/myEvaluation.wxss
new file mode 100644
index 0000000..e744bc4
--- /dev/null
+++ b/packageD/member/myEvaluation/myEvaluation.wxss
@@ -0,0 +1,128 @@
+/* pages/member/myEvaluation/myEvaluation.wxss */
+.detailed .goods {
+ /* border-bottom: solid 2rpx #ebebeb; */
+ position: relative;
+ width: 100%;
+ background: #fff;
+}
+
+.detailed .orderhoet .titleID {
+ font-size: 28rpx;
+ line-height: 72rpx;
+ padding: 0 28rpx;
+}
+
+.detailed .product {
+ display: flex;
+ padding-bottom: 10rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.detailed .goodsinfo {
+ position: relative;
+ padding-bottom: 10rpx;
+ background-color: #fff;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.detailed .goodsinfo .goods {
+ padding-top: 20rpx;
+ display: flex;
+}
+
+.detailed .goods .img {
+ width: 192rpx;
+ min-height: 192rpx;
+ margin: 0 20rpx;
+}
+
+.detailed .goods .img image {
+ width: 100%;
+}
+
+.detailed .goods .warp {
+ width: 68%;
+ padding: 0 32rpx 0 0;
+}
+
+.detailed .goods .warp .top {
+ min-height: 120rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+.detailed .goods .warp .top .inner {
+ width: 70%;
+ text-align: left;
+ display: flex;
+ flex-direction: column;
+ flex-wrap: wrap;
+}
+
+.detailed .goods .warp .top .inner .name {
+ text-align: left;
+ color: #333;
+ margin-bottom: 10rpx;
+ font-size: 28rpx;
+}
+
+.detailed .goods .option {
+ color: #8c8c8c;
+ font-size: 24rpx;
+ flex: 1;
+}
+
+.detailed .goods .warp .price {
+ width: 30%;
+ text-align: right;
+}
+
+.detailed .goods .warp .bottom {
+ display: flex;
+ justify-content: flex-end;
+}
+
+.detailed .goods .evaluate {
+ /* padding-top: 40rpx; */
+ display: flex;
+ align-items: center;
+}
+
+.detailed .goods .evaluate .span {
+ border: solid 2rpx #f15353;
+ border-radius: 30rpx;
+ padding: 8rpx 20rpx;
+ text-align: center;
+ color: #f15353;
+}
+
+.detailed .butts {
+ /* position: absolute;
+ right: 24rpx;
+ text-align: center;
+ margin-top: -72rpx; */
+ color: #333;
+ background: #fff;
+ text-align: right;
+}
+
+.detailed .butts .span {
+ margin-right: 20rpx;
+ padding: 8rpx 20rpx;
+ border-radius: 30rpx;
+ border: solid 2rpx #b1a6a6;
+ display: inline-block;
+}
+
+/* .detailed .butts .add-evaluate {
+ color: #f15353;
+ border: solid 2rpx #f15353;
+} */
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
diff --git a/packageD/member/myMarket/myMarket.js b/packageD/member/myMarket/myMarket.js
new file mode 100644
index 0000000..0f72742
--- /dev/null
+++ b/packageD/member/myMarket/myMarket.js
@@ -0,0 +1,106 @@
+// packageD/member/myMarket/myMarket.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ listData: [],
+ marketid: 0,
+ amounts: 0,
+ num: 0,
+ titleName: "我的市场",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.marketid) {
+ this.data.marketid = options.marketid;
+ }
+ this.getData(options.marketid);
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ getData(marketid) {
+ let json = {};
+ if (marketid && marketid != 0) {
+ this.setData({
+ titleName: "下级市场",
+ });
+ wx.setNavigationBarTitle({
+ title: "下级市场",
+ });
+ json.member_id = marketid;
+ }
+ let urlStr = app.getNetAddresss(
+ "plugin.regional-reward.Frontend.controllers.achievement.index"
+ );
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: (resdata) => {
+ let res = resdata.data;
+ if (res.result != 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ });
+ setTimeout(() => {
+ wx.navigateBack();
+ }, 1000);
+
+ return;
+ }
+ this.setData({
+ listData: res.data.childs,
+ amounts: res.data.amounts,
+ num: res.data.num,
+ });
+ },
+ });
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ getMoreData() {
+ console.log("触发加载更多");
+ let data = this.data.listData;
+ this.setData({
+ listData: data.concat(new Array(10)),
+ });
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+});
diff --git a/packageD/member/myMarket/myMarket.json b/packageD/member/myMarket/myMarket.json
new file mode 100644
index 0000000..fc9f4c7
--- /dev/null
+++ b/packageD/member/myMarket/myMarket.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "我的市场",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/member/myMarket/myMarket.wxml b/packageD/member/myMarket/myMarket.wxml
new file mode 100644
index 0000000..2beb137
--- /dev/null
+++ b/packageD/member/myMarket/myMarket.wxml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 占位
+ 占位
+ 业绩
+ 人数
+
+
+ {{titleName}}{{index+1}}
+ {{item.name}}
+ {{item.amounts}}
+ {{item.num}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/member/myMarket/myMarket.wxss b/packageD/member/myMarket/myMarket.wxss
new file mode 100644
index 0000000..90dbaab
--- /dev/null
+++ b/packageD/member/myMarket/myMarket.wxss
@@ -0,0 +1,104 @@
+/* packageD/member/myMarket/myMarket.wxss */
+
+page {
+ background-color: #fff;
+}
+
+view {
+ box-sizing: border-box;
+}
+
+.header {
+ padding-top: 0.906rem;
+}
+
+.header .myname {
+ padding-left: 0.969rem;
+ font-size: 1rem;
+ color: #202020;
+ text-align: left;
+}
+
+.header .achive {
+ padding-top: 0.8rem;
+ padding-bottom: 0.969rem;
+ display: flex;
+ justify-content: space-evenly;
+}
+
+.header .achive .item {
+ display: flex;
+ flex-direction: column;
+}
+
+.header .achive .item .c1 {
+ font-size: 1.25rem;
+ color: #f15353;
+}
+
+.header .achive .item .c2 {
+ margin-top: 0.3rem;
+ font-size: 0.813rem;
+ color: #333;
+}
+
+.splt {
+ width: 100%;
+ height: 0.65rem;
+ background-color: #f2f2f2;
+}
+
+.descContainer {
+ padding-left: 0.8rem;
+ padding-right: 0.8rem;
+}
+
+.descContainer .descItems {
+ margin-top: 1.594rem;
+ display: flex;
+}
+
+.descContainer .descItems .descItem {
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ padding-right: 1rem;
+}
+
+.descContainer .descItems .descItem:last-child {
+ padding-right: 0;
+}
+
+.descContainer .descItems .descItem .marketname {
+ white-space: nowrap;
+ padding: 0 0.2rem;
+ height: 1.594rem;
+ background-color: #f14e4e;
+ border-radius: 0.313rem 0.313rem 0 0;
+ border: 0.094rem solid #cb4f47;
+ color: #fff;
+ font-size: 0.813rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.descContainer .descItems .descItem .nickname {
+ margin-top: 0.4rem;
+ font-size: 0.75rem;
+ color: #666;
+}
+
+.descContainer .descItems .descItem .price {
+ margin-top: 1.2rem;
+ color: #333;
+ font-size: 0.875rem;
+ white-space: nowrap;
+}
+
+.descContainer .descItems .descItem .desc {
+ margin-top: 0.644rem;
+ font-size: 0.875rem;
+ color: #333;
+ white-space: nowrap;
+}
diff --git a/packageD/member/myOrder/Aftersales/Aftersales.js b/packageD/member/myOrder/Aftersales/Aftersales.js
new file mode 100644
index 0000000..035626f
--- /dev/null
+++ b/packageD/member/myOrder/Aftersales/Aftersales.js
@@ -0,0 +1,338 @@
+// pages/member/myOrder/Aftersales/Aftersales.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ //退款
+ refund_id: "",
+ button_models: "",
+ price: "",
+ //退款说明
+ content: "",
+ status_name: "",
+ //退款原因
+ reason: "",
+ refund_time: "",
+ refund_type_name: "",
+ alipay_batch_sn: "",
+ create_time: "",
+ refund_sn: "",
+ reject_reason: "",
+ is_plugin: "",
+ store_id: "",
+ supplier_id: "",
+ plugin_id: "",
+ _options: {},
+ remark: "",
+ images: [],
+
+ showID: "",
+
+ refund_order_goods:[],
+ return_express:null,
+ myData:{},
+ freight_price: "", //可退运费
+ other_price: "" //其他费用
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.refund_id) {
+ this.setData({
+ refund_id: options.refund_id,
+ });
+ }
+ this.setData({
+ _options: options,
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this._initData();
+ this._getNetData();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+
+ copyexpress_sn({currentTarget:{dataset:{data,msg}}}){
+ wx.setClipboardData({
+ data:data,
+ success(){
+ wx.showToast({
+ title:msg + "已复制"
+ })
+ },
+ fail(){
+ wx.showToast({
+ title:msg + '已复制',
+ icon: "none"
+ })
+ }
+ })
+ },
+
+ showMore(e) {
+ let order_sn = e.currentTarget.dataset.item.value;
+ if (this.data.showID == order_sn) {
+ this.setData({
+ showID: "",
+ });
+ } else {
+ this.setData({
+ showID: order_sn,
+ });
+ }
+ },
+ _initData() {
+ this.setData({
+ //退款
+ button_models: "",
+ price: "",
+ //退款说明
+ content: "",
+ status_name: "",
+ //退款原因
+ reason: "",
+ refund_time: "",
+ refund_type_name: "",
+ alipay_batch_sn: "",
+ create_time: "",
+ remark: "",
+ images: [],
+ refund_sn: "",
+ reject_reason: "",
+ is_plugin: "",
+ store_id: "",
+ supplier_id: "",
+ plugin_id: "",
+ });
+ },
+ _getNetData() {
+ let urlStr = app.getNetAddresss("refund.detail");
+ if (
+ this.data._options &&
+ this.data._options.pluginid &&
+ this.data._options.pluginid == "69"
+ ) {
+ urlStr = app.getNetAddresss("plugin.snatch-regiment.api.refund.detail");
+ }
+ if( this.data._options && this.data._options.debt ){
+ urlStr = app.getNetAddresss("plugin.debt-shop.frontend.refund-detail.index");
+ urlStr += "&member_type="+this.data._options.debt;
+ }
+ urlStr += "&refund_id=" + this.data.refund_id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ button_models: res.data.button_models,
+ price: res.data.price,
+ content: res.data.content,
+ status_name: res.data.status_name,
+ reason: res.data.reason,
+ refund_time: res.data.refund_time,
+ refund_type_name: res.data.refund_type_name,
+ alipay_batch_sn: res.data.alipay_batch_sn,
+ create_time: res.data.create_time,
+ remark: res.data.remark,
+ images: res.data.images || [],
+ refund_sn: res.data.refund_sn,
+ reject_reason: res.data.reject_reason,
+ is_plugin: res.data.is_plugin ? res.data.is_plugin : null,
+ store_id: res.data.store_id ? res.data.store_id : null,
+ supplier_id: res.data.supplier_id ? res.data.supplier_id : null,
+ plugin_id: res.data.plugin_id ? res.data.plugin_id : null,
+ refund_order_goods:res.data.refund_order_goods,
+ return_express:res.data.return_express,
+ freight_price : Number(res.data.freight_price) || 0, //可退运费
+ other_price : Number(res.data.other_price) || 0, //其他费用
+ myData:res.data
+ });
+ if(res.data.refund_address!=""){
+ this._getaddress();
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ gotoNegotiationRecord(){
+ wx.navigateTo({
+ url: '/packageD/member/myOrder/negotiationRecord/negotiationRecord?refund_id='+this.data.refund_id,
+ });
+ },
+ gotoLogistics(){
+ wx.navigateTo({
+ url: '/packageA/member/order/logistics/logistics?from=userReturn&refund_id='+this.data.refund_id,
+ });
+ },
+ _getaddress() {
+ let that = this;
+ let urlStr = app.getNetAddresss("order.refund.return-address");
+ urlStr +=
+ "&plugins_id=" +
+ (this.data.is_plugin == 1 ? this.data.is_plugin : this.data.plugin_id);
+ urlStr += "&store_id=" + this.data.store_id;
+ urlStr += "&supplier_id=" + this.data.supplier_id;
+ urlStr += "&refund_id=" + this.data.refund_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ address: res.data,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ operation(e) {
+ let btn = e.currentTarget.dataset.btn;
+ if (btn.value == 2) {
+ //退款快递信息
+ wx.navigateTo({
+ url: "../express/express?refund_id=" + this.data.refund_id,
+ });
+ } else if (btn.value == 1) {
+ //申请售后
+ wx.navigateTo({
+ url:
+ "/packageD/member/myOrder/refund/refund?order_id=" +
+ this.data.refund_id +
+ "&type=2",
+ });
+ } else if (btn.value == 3) {
+ //确认收货
+ this._confirm();
+ } else if(btn.value == 6){
+ if(this.data.myData.resend_express_id == 0){
+ wx.navigateTo({
+ url: '/packageE/multiplePackages/multiplePackages?from=resend&id='+this.data.refund_id,
+ });
+ }else {
+ wx.navigateTo({
+ url: '/packageA/member/order/logistics/logistics?from=resend&refund_id='+this.data.refund_id+ "&express_id="+this.data.myData.resend_express_id,
+ });
+ }
+ }else {
+ //取消申请
+ this._cancleRefund();
+ }
+ },
+ //换货确认收货
+ _confirm() {
+ let urlStr = app.getNetAddresss("refund.operation.complete");
+ urlStr += "&refund_id=" + this.data.refund_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ _cancleRefund() {
+ let urlStr = app.getNetAddresss("refund.operation.cancel");
+ urlStr += "&refund_id=" + this.data.refund_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //预览图片,放大预览
+ preview(e) {
+ let currentUrl = e.currentTarget.dataset.src;
+ wx.previewImage({
+ current: this.data.images[currentUrl], // 当前显示图片的http链接
+ urls: this.data.images // 需要预览的图片http链接列表
+ });
+ },
+});
diff --git a/packageD/member/myOrder/Aftersales/Aftersales.json b/packageD/member/myOrder/Aftersales/Aftersales.json
new file mode 100644
index 0000000..2e2d9c2
--- /dev/null
+++ b/packageD/member/myOrder/Aftersales/Aftersales.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "售后详情",
+ "usingComponents": {
+ "van-nav-bar": "../../../../dist/nav-bar/index"
+ }
+}
diff --git a/packageD/member/myOrder/Aftersales/Aftersales.wxml b/packageD/member/myOrder/Aftersales/Aftersales.wxml
new file mode 100644
index 0000000..8708e7b
--- /dev/null
+++ b/packageD/member/myOrder/Aftersales/Aftersales.wxml
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+ {{ status_name }}
+ 驳回原因:{{ reject_reason }}
+
+
+
+
+ 售后信息
+
+
+
+
+
+
+ {{item.goods_title}}
+
+ 数量:{{item.refund_total}}
+ 申请退款金额:¥{{item.refund_price}}
+
+
+
+
+
+ 售后类型:{{ refund_type_name }}
+ 退款金额: ¥{{ price }}
+
+ (含运费¥{{ freight_price }} 其他费用¥{{ other_price }})
+
+ 售后原因:{{ reason }}
+ 申请说明:{{ content }}
+
+ 申请时间:{{ create_time }}
+ 卖家留言:{{ remark.length > 0 ? remark : "无" }}
+
+
+
+ 退货地址信息
+ {{ address.contact }} {{ address.mobile }}
+
+
+ {{ address.province_name }} {{ address.city_name }} {{ address.district_name }} {{ address.street_name }} {{ address.address }}
+
+
+ 快递单号:{{return_express.express_sn}}
+
+
+ 查看物流
+
+
+
+
+
+ 取件信息
+
+
+
+ 取件地址:
+
+
+
+ {{myData.other_data.pick_up_name}}/{{myData.other_data.pick_up_tel}}
+
+
+ {{myData.other_data.pick_up_address}}
+
+
+
+
+
+ 取件时间:
+
+
+ {{myData.other_data.start_time}} {{myData.other_data.end_time}}
+
+
+
+
+
+ 协商记录
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+ 更多
+
+
+
+
+ {{item.name}}
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/member/myOrder/Aftersales/Aftersales.wxss b/packageD/member/myOrder/Aftersales/Aftersales.wxss
new file mode 100644
index 0000000..f7cb2ae
--- /dev/null
+++ b/packageD/member/myOrder/Aftersales/Aftersales.wxss
@@ -0,0 +1,403 @@
+/* pages/member/myOrder/Aftersales/Aftersales.wxss */
+view,text{
+ box-sizing: border-box;
+}
+.section {
+ margin-bottom: 40rpx;
+ width: 100%;
+}
+
+.section .close {
+ background: #fff;
+}
+
+.state {
+ background-color: #f15353;
+ color: #fff;
+
+ /* height: 100rpx; */
+ line-height: 100rpx;
+ padding: 32rpx 28rpx;
+ text-align: left;
+}
+
+.state .b {
+ font-size: 32rpx;
+ margin-bottom: 20rpx;
+ display: block;
+}
+
+.section .close .p {
+ line-height: 36rpx;
+ text-align: left;
+}
+
+.section .close .p .span {
+ color: #aaa;
+}
+
+.flow .h2 {
+ line-height: 72rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ margin-left: 28rpx;
+ font-weight: normal;
+ font-size: 28rpx;
+}
+
+.flow .ul {
+ font-size: 24rpx;
+ padding: 20rpx 28rpx;
+}
+
+.flow .li {
+ line-height: 56rpx;
+}
+
+.flow .li .p {
+ color: #8c8c8c;
+ display: inline-block;
+}
+
+.address {
+ background: #fff;
+ padding: 10rpx;
+ margin-top: 30rpx;
+ text-align: left;
+}
+
+.address .dt {
+ height: 80rpx;
+ line-height: 80rpx;
+ font-size: 32rpx;
+ border-bottom: solid 2rpx #ccc;
+ text-indent: 10rpx;
+}
+
+.address .dd {
+ line-height: 60rpx;
+ font-size: 30rpx;
+ text-indent: 30rpx;
+}
+
+.consult-detail {
+ background-color: #fff;
+ margin: 20rpx 0 30rpx 0;
+}
+
+.consult-detail .h1 {
+ margin-left: 28rpx;
+ padding-right: 28rpx;
+ line-height: 72rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ font-size: 28rpx;
+ font-weight: normal;
+ text-align: left;
+}
+
+.consult-detail .ul {
+ padding: 20rpx 28rpx;
+ font-size: 24rpx;
+}
+
+.consult-detail .li {
+ display: flex;
+ line-height: 56rpx;
+}
+
+.consult-detail .li .span {
+ color: #8c8c8c;
+}
+
+.consult-detail .li .b {
+ margin-left: 20rpx;
+ font-weight: normal;
+}
+
+.detail_pay {
+ min-height: 98rpx;
+ width: 100%;
+ background: #fff;
+ padding: 0 24rpx;
+ border-top: 2rpx solid #ebebeb;
+ position: fixed;
+ bottom: 0;
+ box-sizing: border-box;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: flex-end;
+}
+
+.detail_pay .order_delete {
+ text-align: center;
+ min-width: 65px;
+ position: relative;
+ margin-left: 16rpx;
+ background: #fff;
+ padding: 8rpx 20rpx;
+ margin-top: 22rpx;
+ border-radius: 15px;
+ color: #333;
+ border: 2rpx solid #666;
+}
+
+.detail_pay .red-button {
+ border: 0.0625rem solid #f14e4e;
+ background-color: #f14e4e;
+ color: #fff;
+}
+
+.detail_pay .trans {
+ position: absolute;
+ right: 60rpx;
+ bottom: 80rpx;
+ width: 0;
+ height: 0;
+ border-width: 0.8rem 0.8rem 0;
+ border-style: solid;
+ border-color: #f5f5f5 transparent transparent;
+}
+
+.detail_pay .more-button {
+ position: absolute;
+ border: solid 1px #e2e2e2;
+ width: 70px;
+ border-radius: 5px;
+ background: #fff;
+ right: 28rpx;
+ bottom: 102rpx;
+}
+
+.detail_pay .more-button .p {
+ text-align: center;
+ padding: 10rpx 3rpx;
+ border-top: 1px solid #e2e2e2;
+}
+
+.qitaimgbox {
+ width: 75%;
+ padding: 10rpx;
+ box-sizing: border-box;
+ background: #fff;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.qitaimage {
+ width: 150rpx;
+ height: 150rpx;
+ border-radius: 8rpx;
+ border: solid 1rpx rgba(153, 153, 153, 1);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin: 5rpx 7rpx;
+ position: relative;
+}
+
+.qitaMax {
+ width: 98%;
+ height: 98%;
+ border-radius: 8rpx;
+}
+
+
+
+
+
+.aftersales-status {
+ background-color: #f15353;
+ color: white;
+ line-height: 72rpx;
+ padding: 32rpx 28rpx;
+ text-align: left;
+}
+.aftersales-status text {
+ font-size: 16px;
+ margin-bottom: 20rpx;
+ display: block;
+}
+
+.page-wrapper {
+ padding: 20rpx 30rpx;
+}
+
+.return-info {
+ padding: 0 27rpx;
+ background-color: #ffffff;
+ border-radius: 20rpx;
+}
+.return-info .return-info-text {
+ display: flex;
+ align-items: center;
+ height: 80rpx;
+ font-size: 30rpx;
+ color: #292929;
+ border-bottom: 1rpx solid #f2f2f2;
+}
+.return-info .return-goods-list {
+ border-bottom: 1rpx solid #f2f2f2;
+}
+.return-info .return-goods-list .return-goods-item {
+ display: flex;
+ padding: 23rpx 0;
+}
+.return-info .return-goods-list .return-goods-item .return-goods-face {
+ width: 110rpx;
+ height: 110rpx;
+ border-radius: 6rpx;
+}
+.return-info .return-goods-list .return-goods-item .return-goods-face image {
+ width: 110rpx;
+ height: 110rpx;
+ border-radius: 6rpx;
+}
+.return-info .return-goods-list .return-goods-item .return-goods-content {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ flex: 1;
+ height: 110rpx;
+ margin-left: 14rpx;
+}
+.return-info .return-goods-list .return-goods-item .return-goods-content .return-goods-title {
+ text-align: left;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ line-clamp: 2;
+ -webkit-box-orient: vertical;
+ font-size: 24rpx;
+ color: #333333;
+}
+.return-info .return-goods-list .return-goods-item .return-goods-content .return-goods-desc {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+.return-info .return-goods-list .return-goods-item .return-goods-content .return-goods-desc .return-goods-num {
+ font-size: 22rpx;
+ color: #717171;
+}
+.return-info .return-goods-list .return-goods-item .return-goods-content .return-goods-desc .return-goods-price {
+ font-size: 24rpx;
+ color: #1e1e1e;
+}
+.return-info .return-goods-list .return-goods-item .return-goods-content .return-goods-desc .return-goods-price .goods-price {
+ color: #f14e4e;
+}
+.return-info .return-details {
+ padding: 16rpx 0;
+ text-align: left;
+ font-size: 22rpx;
+ color: #767676;
+}
+.return-info .return-details .return-details-item {
+ display: flex;
+ flex-wrap: wrap;
+ line-height: 52rpx;
+ font-size: 13px;
+ color: #292929;
+}
+.return-info .return-details .return-details-item .photoBox {
+ position: relative;
+ width: 144rpx;
+ height: 144rpx;
+ border: 1px dashed #c0ccda;
+ margin: 16rpx 0;
+ margin-right: 16rpx;
+}
+.return-info .return-details .return-details-item .photoBox image {
+ width: 100%;
+ height: 100%;
+ object-fit: contain;
+}
+
+.address-info {
+ padding: 0 27rpx;
+ margin-top: 20rpx;
+ text-align: left;
+ background-color: #ffffff;
+ border-radius: 20rpx;
+}
+.address-info .address-info-text {
+ display: flex;
+ align-items: center;
+ height: 80rpx;
+ font-size: 30rpx;
+ color: #292929;
+ border-bottom: 1rpx solid #f2f2f2;
+}
+.address-info .address-text {
+ line-height: 48rpx;
+ font-size: 26rpx;
+ color: #454545;
+}
+.address-info .address-contact {
+ padding-top: 16rpx;
+}
+.address-info .address-express {
+ display: flex;
+ align-items: center;
+ padding-bottom: 16rpx;
+}
+.address-info .address-express .address-express-num {
+ flex: 1;
+ display: flex;
+ align-items: center;
+}
+.address-info .address-express .address-express-num .icon-bc_copy{
+ margin-left: 6rpx;
+}
+.address-info .address-express .address-express-btn {
+ font-size: 22rpx;
+ color: #f14e4e;
+}
+.address-info .address-express .icon-advertise-next {
+ color: #f14e4e;
+}
+
+.recovery-info {
+ padding: 0 27rpx;
+ margin-top: 20rpx;
+ text-align: left;
+ background-color: #ffffff;
+ border-radius: 20rpx;
+}
+.recovery-info .recovery-info-text {
+ display: flex;
+ align-items: center;
+ height: 80rpx;
+ font-size: 30rpx;
+ color: #292929;
+ border-bottom: 1rpx solid #f2f2f2;
+}
+.recovery-info .recovery-items {
+ padding: 16rpx 0;
+}
+.recovery-info .recovery-items .recovery-itme {
+ display: flex;
+ padding: 3rpx 0;
+}
+.recovery-info .recovery-items .recovery-itme .recovery-text {
+ padding-right: 16rpx;
+}
+.recovery-info .recovery-items .recovery-itme .recovery-content {
+ flex: 1;
+}
+
+.negotiation-record {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 80rpx;
+ padding: 0 27rpx;
+ margin-top: 20rpx;
+ font-size: 30rpx;
+ color: #292929;
+ background-color: #fff;
+ border-radius: 20rpx;
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.js b/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.js
new file mode 100644
index 0000000..f305c0a
--- /dev/null
+++ b/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.js
@@ -0,0 +1,145 @@
+// pages/member/myOrder/Aftersaleslist/Aftersaleslist.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ list: [],
+ total_page: 0,
+ isLoadMore: true,
+ page: 1,
+ orderType: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.orderType) {
+ this.setData({
+ orderType: options.orderType,
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this._getNetData();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+ this._getNetData();
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this._getMoreData();
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ _getNetData() {
+ let that = this;
+ let urlStr = "";
+ if (this.data.orderType && this.data.orderType == "grabGroup") {
+ urlStr += app.getNetAddresss("plugin.snatch-regiment.api.refund.index");
+ } else {
+ urlStr += app.getNetAddresss("refund.list");
+ }
+
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data;
+ that.setData({
+ list: myData.data,
+ total_page: myData.last_page,
+ });
+ }
+ wx.stopPullDownRefresh();
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ _getMoreData() {
+ let that = this;
+ let urlStr = "";
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.setData({
+ page: this.data.page + 1,
+ });
+ urlStr += app.getNetAddresss("refund.list");
+ urlStr += "&page=" + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data;
+ that.setData({
+ list: that.data.list.concat(myData.data),
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ goaftersales(e) {
+ let itemid = e.currentTarget.dataset.itemid;
+ let pluginid = e.currentTarget.dataset.pluginid;
+ wx.navigateTo({
+ url:
+ "/packageD/member/myOrder/Aftersales/Aftersales?refund_id=" +
+ itemid +
+ "&pluginid=" +
+ pluginid,
+ });
+ },
+});
diff --git a/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.json b/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.json
new file mode 100644
index 0000000..588fe7f
--- /dev/null
+++ b/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "售后列表",
+ "usingComponents": {
+ "van-nav-bar": "../../../../dist/nav-bar/index"
+ },
+ "enablePullDownRefresh": true
+}
diff --git a/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.wxml b/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.wxml
new file mode 100644
index 0000000..5293882
--- /dev/null
+++ b/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+
+ {{item.order.order_sn}} {{item.status_name}}
+
+
+
+
+
+
+
+ {{good.title}}
+ 规格: {{good.goods_option_title}}
+
+
+
+
+ 租赁归还
+ {{item.refund_type_name}}
+ 退款金额: {{language['money']}}{{item.price}}
+
+
+
+ 查看详情
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
diff --git a/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.wxss b/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.wxss
new file mode 100644
index 0000000..c1462b4
--- /dev/null
+++ b/packageD/member/myOrder/Aftersaleslist/Aftersaleslist.wxss
@@ -0,0 +1,113 @@
+/* pages/member/myOrder/Aftersaleslist/Aftersaleslist.wxss */
+.evaluate .shop {
+ background: #fff;
+ margin: 20rpx;
+ border-radius: 10px;
+}
+
+.evaluate .title {
+ line-height: 72rpx;
+ padding: 0 24rpx;
+ display: flex;
+ align-items: center;
+}
+
+.evaluate .title .h4 {
+ text-align: left;
+ font-weight: normal;
+ flex: 5;
+ font-size: 28rpx;
+}
+
+.evaluate .title .span {
+ color: #f15353;
+ text-align: right;
+ margin-right: 2rpx;
+ flex: 5;
+ font-size: 28rpx;
+}
+
+.evaluate .goods {
+ width: 100%;
+
+ /* background: #fafafa; */
+ display: flex;
+}
+
+.evaluate .goods .img {
+ width: 26vw;
+ padding: 20rpx 32rpx;
+}
+
+.evaluate .goods .img image {
+ width: 100%;
+}
+
+.evaluate .goods .warp {
+ width: 74vw;
+ padding: 20rpx 0 0 0;
+}
+
+.evaluate .goods .warp .inner {
+ padding: 0 20rpx;
+ text-align: left;
+}
+
+.evaluate .goods .warp .inner .name {
+ text-align: left;
+ color: #333;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+.evaluate .goods .option {
+ color: #888;
+ font-size: 24rpx;
+}
+
+.evaluate .shop .refund {
+ line-height: 72rpx;
+ display: flex;
+ padding: 0 24rpx;
+ font-size: 28rpx;
+}
+
+.evaluate .shop .refund .left {
+ flex: 1;
+ text-align: left;
+}
+
+.evaluate .shop .refund .right {
+ flex: 1;
+ text-align: right;
+}
+
+.evaluate .shop .refund .right .span {
+ font-size: 36rpx;
+ font-weight: bold;
+}
+
+.evaluate .shop .gourl {
+ display: flex;
+ border-top: #ebebeb solid 2rpx;
+ text-align: right;
+ justify-content: flex-end;
+ align-items: center;
+ padding: 12rpx 28rpx 12rpx 0;
+}
+
+.evaluate .shop .gourl .span {
+ border: #f15353 2rpx solid;
+ padding: 8rpx 20rpx;
+ border-radius: 15px;
+ color: #f15353;
+ text-align: center;
+}
+
+.nomessage {
+ color: #555;
+ line-height: 600rpx;
+ text-align: center;
+ margin: 0 auto;
+ font-size: 32rpx;
+}
diff --git a/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.js b/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.js
new file mode 100644
index 0000000..2a0eb47
--- /dev/null
+++ b/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.js
@@ -0,0 +1,225 @@
+// pages/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ ratetextshow: ["极差", "失望", "一般", "满意", "惊喜"],
+ ratetext: {
+ text1: "惊喜",
+ text2: "惊喜",
+ },
+ good: "",
+ order_id: "",
+ api: "",
+ content: "",
+ level: 5,
+ level2: 5,
+ order: "",
+ comment: "", //评论内容
+ distributor: {},
+ order_list: [], // 商品列表
+ type: "", // 从哪一个页面跳转过来
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.order_id) {
+ this.setData({
+ order_id: options.order_id,
+ });
+ }
+ if (options.api) {
+ this.setData({
+ api: options.api,
+ });
+ }
+ if (options.name) {
+ this.setData({
+ type: options.name,
+ });
+ }
+ if (this.data.type === "delivery") {
+ //评价补货商
+ this.setData({
+ getApi: "plugin.kingtimes.frontend.distributor.distributorOrderDetail",
+ });
+ this.setData({
+ data: {
+ distributor_order_id: this.data.order_id,
+ },
+ });
+ } else if (this.data.type === "distributor") {
+ //评价配送站
+ this.setData({
+ getApi: "plugin.kingtimes.frontend.order.orderDetail.index",
+ });
+ this.setData({
+ data: {
+ order_id: this.data.order_id,
+ },
+ });
+ }
+ this.getDistributor(); // 获取订单信息
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getDistributor() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.getApi);
+ if (this.data.type === "delivery") {
+ //评价补货商
+ urlStr += "&distributor_order_id=" + this.data.order_id;
+ } else if (this.data.type === "distributor") {
+ //评价配送站
+ urlStr += "&order_id=" + this.data.order_id;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ order_info: response.data,
+ order_list: that.data.order_info.order_goods,
+ distributor: that.data.order_info.distributor,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getStar(event) {
+ let value = event.detail;
+ this.setData({
+ level: value,
+ "ratetext.text1": this.data.ratetextshow[value - 1],
+ });
+ },
+ getStar_2(event) {
+ let value = event.detail;
+ this.setData({
+ level2: value,
+ "ratetext.text2": this.data.ratetextshow[value - 1],
+ });
+ },
+ commentChange(e) {
+ let val = e.detail;
+ this.setData({
+ comment: val,
+ });
+ },
+ toComment(e) {
+ let item = e.target.dataset.good;
+ let that = this;
+ if (this.data.comment.length == 0) {
+ wx.showModal({
+ title: "提示",
+ content: "您还没有输入相关的评论内容",
+ success(res) {
+ if (res.confirm) {
+ that._submitData(item);
+ }
+ },
+ });
+ } else {
+ this._submitData(item);
+ }
+ },
+ //提交数据到服务器
+ submitData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.api);
+ let json = {};
+ if (this.data.type === "delivery") {
+ json = {
+ distributor_order_id: that.order_id,
+ distributor_id: that.distributor.id,
+ provider_id: that.order_info.provider_id,
+ content: this.data.comment,
+ level: this.data.level,
+ };
+ } else if (this.data.type === "distributor") {
+ json = {
+ distributor_order_id: that.order_id,
+ distributor_id: that.distributor.id,
+ content: this.data.comment,
+ level: this.data.level,
+ efficiency_level: this.data.level2,
+ };
+ }
+ let eltion = JSON.stringify(json);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: eltion,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+});
diff --git a/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.json b/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.json
new file mode 100644
index 0000000..8dc58a4
--- /dev/null
+++ b/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "评价",
+ "usingComponents": {
+ "van-cell-group": "../../../dist/cell-group/index",
+ "van-field": "../../../dist/field/index",
+ "van-rate": "../../../dist/rate/index",
+ "van-button": "../../../dist/button/index"
+ }
+}
diff --git a/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.wxml b/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.wxml
new file mode 100644
index 0000000..b617a39
--- /dev/null
+++ b/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.wxml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+ 补货商:{{distributor.realname}} ({{distributor.mobile}})
+
+
+ 配送站:{{distributor.realname}} {{distributor.mobile}}
+
+
+
+
+
+
+
+
+ {{good.title}}
+ 规格: {{good.goods_option_title}}
+
+
+
+ {{language['money']}}{{good.goods_price/good.total}}
+
+ ×{{good.total}}
+
+
+
+
+
+ 评分:
+
+ {{ratetext.text1}}
+
+
+ 满意度:
+
+ {{ratetext.text1}}
+
+
+ 时效:
+
+ {{ratetext.text2}}
+
+
+
+
+
+
+
+ 提交评价
+
+
diff --git a/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.wxss b/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.wxss
new file mode 100644
index 0000000..3b15def
--- /dev/null
+++ b/packageD/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.wxss
@@ -0,0 +1,88 @@
+/* pages/member/myOrder/DeliveryEvaluate/DeliveryEvaluate.wxss */
+
+/* pages/member/evaluate/evaluate.wxss */
+.evaluate .shop {
+ background: #fff;
+ padding: 20rpx 0 0 0;
+}
+
+.evaluate .goods {
+ display: flex;
+ width: 100%;
+ background: #fafafa;
+}
+
+.evaluate .goods .img {
+ width: 192rpx;
+ height: 192rpx;
+ padding: 28rpx;
+}
+
+.evaluate .goods .img image {
+ width: 100%;
+}
+
+.evaluate .goods .warp {
+ width: 70vw;
+ padding: 20rpx 32rpx 0 0;
+ display: flex;
+}
+
+.evaluate .goods .warp .inner {
+ width: 70%;
+ padding: 0 20rpx;
+ text-align: left;
+}
+
+.evaluate .goods .warp .inner .name {
+ text-align: left;
+ color: #333;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+.evaluate .goods .option {
+ color: #8c8c8c;
+ font-size: 24rpx;
+}
+
+.evaluate .goods .warp .price {
+ width: 30%;
+ align-items: center;
+ text-align: right;
+ color: #333;
+}
+
+.evaluate .goods .product_price {
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+.evaluate .pjall {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.evaluate .pjall .pj {
+ text-align: left;
+ padding-top: 8px;
+ display: flex;
+ align-items: center;
+ padding-bottom: 20rpx;
+}
+
+.evaluate .pjall .pj .span_1 {
+ width: 100rpx;
+ text-align: right;
+}
+
+.evaluate .pjall .pj .span {
+ font-size: 28rpx;
+ padding-right: 20rpx;
+}
+
+.evaluate .pjall .van-cell {
+ border: 2rpx solid #bfcbd9;
+ border-radius: 8rpx;
+ height: 200rpx;
+}
diff --git a/packageD/member/myOrder/evaluate/evaluate.js b/packageD/member/myOrder/evaluate/evaluate.js
new file mode 100644
index 0000000..f82a966
--- /dev/null
+++ b/packageD/member/myOrder/evaluate/evaluate.js
@@ -0,0 +1,237 @@
+// pages/member/myOrder/evaluate/evaluate.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ ratetextshow: ["极差", "失望", "一般", "满意", "惊喜"],
+ ratetext: {
+ text1: "惊喜",
+ text2: "惊喜",
+ },
+ level: 5,
+ level2: 5,
+ comment: "", //评论内容
+ order_id: "",
+ api: "",
+ type: "", // 从哪一个页面跳转过来
+ distributor: {},
+ order_list: [], // 商品列表
+ jsondata: {},
+ order_info: {},
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.order_id) {
+ this.setData({
+ order_id: order_id,
+ });
+ }
+ if (options.api) {
+ this.setData({
+ api: api,
+ });
+ }
+ if (options.name) {
+ this.setData({
+ type: name,
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this._initData();
+ this._getDistributor(); // 获取订单信息
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getStar(event) {
+ let value = event.detail;
+ this.setData({
+ level: value,
+ "ratetext.text1": this.data.ratetextshow[value - 1],
+ });
+ },
+ getStar_2(event) {
+ let value = event.detail;
+ this.setData({
+ level2: value,
+ "ratetext.text2": this.data.ratetextshow[value - 1],
+ });
+ },
+ commentChange(e) {
+ let val = e.detail;
+ this.setData({
+ comment: val,
+ });
+ },
+ _initData() {
+ this.setData({
+ ratetextshow: ["极差", "失望", "一般", "满意", "惊喜"],
+ ratetext: {
+ text1: "惊喜",
+ text2: "惊喜",
+ },
+ level: 5,
+ level2: 5,
+ comment: "", //评论内容
+ distributor: {},
+ order_list: [], // 商品列表
+ jsondata: {},
+ order_info: {},
+ });
+ },
+ _getDistributor() {
+ let getApi = "";
+ let that = this;
+ let urlStr = "";
+ if (this.data.type === "delivery") {
+ //评价补货商
+ getApi = "plugin.kingtimes.frontend.distributor.distributorOrderDetail";
+ urlStr += app.getNetAddresss(getApi);
+ urlStr += "&distributor_order_id=" + this.data.order_id;
+ } else if (this.data.type === "distributor") {
+ //评价配送站
+ getApi = "plugin.kingtimes.frontend.order.orderDetail.index";
+ urlStr += app.getNetAddresss(getApi);
+ urlStr += "&order_id=" + this.data.order_id;
+ }
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ for (let i = 0; i < res.data.order_goods.length; i++) {
+ res.data.order_goods[i].gross_price = (
+ Number(res.data.order_goods[i].goods_price) /
+ res.data.order_goods[i].total
+ ).toFixed(2);
+ }
+ that.setData({
+ order_info: res.data,
+ order_list: res.data.order_goods,
+ distributor: res.data.distributor,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ toComment() {
+ let that = this;
+ if (this.data.comment.length == 0) {
+ wx.showModal({
+ title: "提示",
+ content: "您还没有输入相关的评论内容",
+ success(res) {
+ if (res.confirm) {
+ that._submitData();
+ }
+ },
+ });
+ } else {
+ this._submitData();
+ }
+ },
+ //提交数据到服务器
+ _submitData() {
+ let that = this;
+ let urlStr = app.getNetAddresss(that.data.api);
+ let json = {};
+ if (this.data.type === "delivery") {
+ json = {
+ distributor_order_id: that.data.order_id,
+ distributor_id: that.data.distributor.id,
+ provider_id: that.data.order_info.provider_id,
+ content: that.data.comment,
+ level: that.data.level,
+ };
+ } else if (this.data.type === "distributor") {
+ json = {
+ distributor_order_id: that.data.order_id,
+ distributor_id: that.data.distributor.id,
+ content: that.data.comment,
+ level: that.data.level,
+ efficiency_level: that.data.level2,
+ };
+ }
+ let eltion = JSON.stringify(json);
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: eltion,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+});
diff --git a/packageD/member/myOrder/evaluate/evaluate.json b/packageD/member/myOrder/evaluate/evaluate.json
new file mode 100644
index 0000000..437caac
--- /dev/null
+++ b/packageD/member/myOrder/evaluate/evaluate.json
@@ -0,0 +1,10 @@
+{
+ "navigationBarTitleText": "评价",
+ "usingComponents": {
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "van-rate": "../../../../dist/rate/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-field": "../../../../dist/field/index",
+ "van-button": "../../../../dist/button/index"
+ }
+}
diff --git a/packageD/member/myOrder/evaluate/evaluate.wxml b/packageD/member/myOrder/evaluate/evaluate.wxml
new file mode 100644
index 0000000..eb4d3f5
--- /dev/null
+++ b/packageD/member/myOrder/evaluate/evaluate.wxml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+ 补货商:{{distributor.realname}} ({{distributor.mobile}})
+
+
+ 配送站:{{distributor.realname}} {{distributor.mobile}}
+
+
+
+
+
+
+
+
+ {{good.title}}
+ 规格: {{good.goods_option_title}}
+
+
+
+ {{language['money']}}{{good.gross_price}}
+
+ ×{{good.total}}
+
+
+
+
+
+ 评分:
+
+ {{ratetext.text1}}
+
+
+ 满意度:
+
+ {{ratetext.text1}}
+
+
+ 时效:
+
+ {{ratetext.text2}}
+
+
+
+
+
+
+
+ 提交评价
+
+
diff --git a/packageD/member/myOrder/evaluate/evaluate.wxss b/packageD/member/myOrder/evaluate/evaluate.wxss
new file mode 100644
index 0000000..84f9954
--- /dev/null
+++ b/packageD/member/myOrder/evaluate/evaluate.wxss
@@ -0,0 +1,128 @@
+/* pages/member/myOrder/evaluate/evaluate.wxss */
+.evaluate .shop {
+ background: #fff;
+ padding: 20rpx 0 0 0;
+}
+
+.evaluate .shop .add {
+ background-color: #fff;
+ display: flex;
+ padding: 20rpx 28rpx;
+ text-align: left;
+ align-items: center;
+}
+
+.evaluate .shop .add .add_left {
+ width: 48rpx;
+}
+
+.evaluate .shop .add .add_left icon {
+ font-size: 36rpx;
+ line-height: 56rpx;
+ text-align: center;
+ color: #666;
+}
+
+.evaluate .shop .add .add_center {
+ line-height: 52rpx;
+ font-size: 28rpx;
+}
+
+.evaluate .shop .add .add_center .li:first-child {
+ font-weight: bold;
+}
+
+.evaluate .shop .goods {
+ display: flex;
+ background: #fafafa;
+}
+
+.evaluate .shop .goods .product_price {
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+.evaluate .shop .goods .product_price .small {
+ font-size: 24rpx;
+}
+
+.evaluate .shop .goods .option {
+ color: #8c8c8c;
+ font-size: 24rpx;
+ flex: 1;
+}
+
+.evaluate .shop .goods .img {
+ width: 192rpx;
+ height: 192rpx;
+ padding: 28rpx;
+ display: inline-block;
+}
+
+.evaluate .shop .goods .img image {
+ width: 100%;
+}
+
+.evaluate .shop .goods .warp {
+ width: 70vw;
+ padding: 20rpx 32rpx 0 0;
+ display: flex;
+}
+
+.evaluate .shop .goods .warp .inner {
+ width: 70%;
+ float: left;
+ padding: 0 20rpx;
+ text-align: left;
+}
+
+.evaluate .shop .goods .warp .inner .name {
+ text-align: left;
+ color: #333;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+
+.evaluate .shop .goods .warp .price {
+ width: 30%;
+ align-items: center;
+ text-align: right;
+ color: #333;
+ box-sizing: border-box;
+}
+
+.evaluate .shop .goods .warp .price .p {
+ margin-top: 0;
+}
+
+.evaluate .pjall {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.evaluate .pjall .pj {
+ text-align: left;
+ padding-top: 8px;
+ display: flex;
+ align-items: center;
+}
+
+.evaluate .pjall .pj .span_1 {
+ width: 100rpx;
+ text-align: right;
+}
+
+.evaluate .pjall .pj .span {
+ font-size: 28rpx;
+ padding-right: 20rpx;
+}
+
+.evaluate .pjall .pj {
+ padding-bottom: 20rpx;
+}
+
+.evaluate .pjall .van-cell {
+ border: 2rpx solid #bfcbd9;
+ border-radius: 8rpx;
+ height: 200rpx;
+}
diff --git a/packageD/member/myOrder/express/express.js b/packageD/member/myOrder/express/express.js
new file mode 100644
index 0000000..5aa05d8
--- /dev/null
+++ b/packageD/member/myOrder/express/express.js
@@ -0,0 +1,176 @@
+// pages/member/myOrder/express/express.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ companyShow: false,
+ form: {
+ refund_id: "",
+ express_sn: "",
+ express_company: "",
+ },
+ express: [],
+ expressName: "",
+ expressCode: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.refund_id) {
+ this.setData({
+ "form.refund_id": options.refund_id,
+ });
+ }
+ this._initData();
+ this._getExpressInfo();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ scanCode(){
+ wx.scanCode({
+ onlyFromCamera: true,
+ success:(res)=>{
+ this.setData({
+ 'form.express_sn':res.result
+ });
+ }
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ _initData() {
+ this.setData({
+ companyShow: false,
+ "form.express_sn": "",
+ "form.express_company": "",
+ express: [],
+ expressName: "",
+ expressCode: "",
+ });
+ },
+ companyShowbtn: function () {
+ this.setData({
+ companyShow: true,
+ });
+ },
+ expressclear() {
+ this.setData({
+ "form.express_sn": "",
+ });
+ },
+ //快递单号输入
+ expressbtn(e) {
+ let express_sn = e.detail;
+ this.setData({
+ "form.express_sn": express_sn,
+ });
+ },
+ //关闭快递选择
+ companyShowClose: function () {
+ this.setData({
+ companyShow: false,
+ });
+ },
+ _getExpressInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss("dispatch.express-list");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data;
+ that.setData({
+ express: myData.express_companies,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ submitInfo() {
+ let urlStr = app.getNetAddresss("refund.operation.send");
+ urlStr += "&refund_id=" + this.data.form.refund_id;
+ urlStr += "&express_sn=" + this.data.form.express_sn;
+ urlStr += "&express_company_name=" + this.data.expressName;
+ urlStr += "&express_company_code=" + this.data.expressCode;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ companyConfirm(e) {
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ expressName: item.name,
+ expressCode: item.value,
+ companyShow: false,
+ });
+ },
+});
diff --git a/packageD/member/myOrder/express/express.json b/packageD/member/myOrder/express/express.json
new file mode 100644
index 0000000..c5d80e8
--- /dev/null
+++ b/packageD/member/myOrder/express/express.json
@@ -0,0 +1,11 @@
+{
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-button": "../../../../dist/button/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "van-cell": "../../../../dist/cell/index",
+ "van-icon":"/dist/icon/index"
+ }
+}
diff --git a/packageD/member/myOrder/express/express.wxml b/packageD/member/myOrder/express/express.wxml
new file mode 100644
index 0000000..eada041
--- /dev/null
+++ b/packageD/member/myOrder/express/express.wxml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交信息
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/member/myOrder/express/express.wxss b/packageD/member/myOrder/express/express.wxss
new file mode 100644
index 0000000..35b5d1f
--- /dev/null
+++ b/packageD/member/myOrder/express/express.wxss
@@ -0,0 +1,14 @@
+/* pages/member/myOrder/express/express.wxss */
+.my_value {
+ margin-bottom: 20rpx;
+}
+
+.my_value .van-cell {
+ border: 2rpx solid #bfcbd9;
+}
+
+.my_value .van-button--large {
+ width: 100%;
+ background-color: #20a0ff;
+ color: #fff;
+}
diff --git a/packageD/member/myOrder/invoice/invoice.js b/packageD/member/myOrder/invoice/invoice.js
new file mode 100644
index 0000000..ee86e7b
--- /dev/null
+++ b/packageD/member/myOrder/invoice/invoice.js
@@ -0,0 +1,179 @@
+// pages/member/myOrder/invoice/invoice.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ order_id: '',
+ invoice_type: '',
+ invoice_title: '',
+ order_number: "",
+ rise_type: "",
+ dowm: "",
+ email: false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.order_id) {
+ this.setData({
+ order_id: options.order_id
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this._initData();
+ this._getInvoiceDet();
+ this._initDownload();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ _initData() {
+ this.setData({
+ invoice_type: '',
+ invoice_title: '',
+ order_number: "",
+ rise_type: "",
+ dowm: "",
+ });
+ },
+ _getInvoiceDet() {
+ let that = this;
+ let urlStr = app.getNetAddresss("order.detail");
+ urlStr += '&order_id=' + this.data.order_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ invoice_type: res.data.invoice_type ? "纸质发票" : "电子发票",
+ rise_type: res.data.invoice_state ? "已开票" : "未开票",
+ invoice_title: res.data.collect_name,
+ order_number: res.data.order_sn,
+ email: res.data.email || false
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ _initDownload() {
+ let that = this;
+ let urlStr = app.getNetAddresss("order.rise.get-invoice");
+ urlStr += '&order_id=' + this.data.order_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ dowm: res.data.invoice
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ checkInvoice() {
+ let that = this;
+ let urlStr = app.getNetAddresss("order.rise.get-invoice");
+ urlStr += '&order_id=' + this.data.order_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let invoicearr = [];
+ if (res.data.invoice) {
+ invoicearr.push(res.data.invoice);
+ }
+ let name = that.getExtension(res.data.invoice);
+ if (name == '.pdf') {
+ wx.downloadFile({
+ url: invoicearr[0],
+ success: function (res) {
+ console.log(res);
+ let filePath = res.tempFilePath;
+ wx.openDocument({
+ filePath: filePath,
+ success: function (res) {
+ console.log('打开文档成功');
+ }
+ });
+
+ }
+ });
+ } else {
+ if (invoicearr.length > 0) {
+ wx.previewImage({
+ current: invoicearr[0], // 当前显示图片的http链接
+ urls: invoicearr // 需要预览的图片http链接列表
+ });
+ }
+ }
+
+
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getExtension(name) {
+ return name.substring(name.lastIndexOf("."));
+ }
+});
\ No newline at end of file
diff --git a/packageD/member/myOrder/invoice/invoice.json b/packageD/member/myOrder/invoice/invoice.json
new file mode 100644
index 0000000..af875e6
--- /dev/null
+++ b/packageD/member/myOrder/invoice/invoice.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "发票详情",
+ "usingComponents": {
+ "van-nav-bar": "../../../../dist/nav-bar/index"
+ }
+}
diff --git a/packageD/member/myOrder/invoice/invoice.wxml b/packageD/member/myOrder/invoice/invoice.wxml
new file mode 100644
index 0000000..da7f073
--- /dev/null
+++ b/packageD/member/myOrder/invoice/invoice.wxml
@@ -0,0 +1,20 @@
+
+
+
+ 发票状态:{{rise_type}}
+ 订单编号:{{order_number}}
+ 邮箱:{{email}}
+
+
+
+ 发票类型:{{invoice_type}}
+
+ 查看发票
+
+
+ 发票抬头:{{invoice_title}}
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/member/myOrder/invoice/invoice.wxss b/packageD/member/myOrder/invoice/invoice.wxss
new file mode 100644
index 0000000..2cbe4c3
--- /dev/null
+++ b/packageD/member/myOrder/invoice/invoice.wxss
@@ -0,0 +1,53 @@
+/* pages/member/myOrder/invoice/invoice.wxss */
+.invoice .content {
+ background: #fff;
+ color: #666;
+ font-size: 28rpx;
+}
+
+.invoice .content .state {
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: left;
+ border-bottom: solid 2rpx #ebebeb;
+ padding: 0 28rpx;
+}
+
+.invoice .content .order {
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: left;
+ border-bottom: solid 2rpx #ebebeb;
+ padding: 0 28rpx;
+}
+
+.invoice .content .info {
+ padding: 20rpx 28rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.invoice .content .info .info_a .li {
+ line-height: 60rpx;
+ text-align: left;
+}
+
+.invoice .content .info .info_a .type {
+ display: flex;
+ align-items: center;
+}
+
+.invoice .content .info .info_a .type .span {
+ margin-right: 20rpx;
+}
+
+.invoice .content .info .info_a .type .button {
+ font-size: 24rpx;
+ border: solid 2rpx #ebebeb;
+ margin: 0 10rpx;
+ padding: 0 20rpx;
+ border-radius: 4rpx;
+ text-align: center;
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #333;
+}
diff --git a/packageD/member/myOrder/negotiationRecord/negotiationRecord.js b/packageD/member/myOrder/negotiationRecord/negotiationRecord.js
new file mode 100644
index 0000000..01c3c1f
--- /dev/null
+++ b/packageD/member/myOrder/negotiationRecord/negotiationRecord.js
@@ -0,0 +1,83 @@
+// packageD/member/myOrder/negotiationRecord/negotiationRecord.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ listData:[]
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getList(options.refund_id);
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ getList(refund_id){
+ let urlStr = app.getNetAddresss("refund.detail.process-log");
+ app._getNetWork({
+ url: urlStr,
+ data:{refund_id},
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.setData({
+ listData:res.data
+ });
+ }
+ }
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+});
\ No newline at end of file
diff --git a/packageD/member/myOrder/negotiationRecord/negotiationRecord.json b/packageD/member/myOrder/negotiationRecord/negotiationRecord.json
new file mode 100644
index 0000000..4c7ffb0
--- /dev/null
+++ b/packageD/member/myOrder/negotiationRecord/negotiationRecord.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "协商记录",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/negotiationRecord/negotiationRecord.wxml b/packageD/member/myOrder/negotiationRecord/negotiationRecord.wxml
new file mode 100644
index 0000000..b0e66db
--- /dev/null
+++ b/packageD/member/myOrder/negotiationRecord/negotiationRecord.wxml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.operate_name}}
+ {{item.created_at}}
+
+
+
+
+ {{content}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/member/myOrder/negotiationRecord/negotiationRecord.wxss b/packageD/member/myOrder/negotiationRecord/negotiationRecord.wxss
new file mode 100644
index 0000000..304d5b5
--- /dev/null
+++ b/packageD/member/myOrder/negotiationRecord/negotiationRecord.wxss
@@ -0,0 +1,76 @@
+/* packageD/member/myOrder/negotiationRecord/negotiationRecord.wxss */
+
+view,text{
+ box-sizing: border-box;
+}
+.listData {
+ padding: 20rpx 30rpx;
+ text-align: left;
+}
+.listData .list-item {
+ margin-bottom: 20rpx;
+ padding: 26rpx;
+ background: #fff;
+ border-radius: 20rpx;
+}
+.listData .list-item .user-info {
+ display: flex;
+ padding-bottom: 26rpx;
+ border-bottom: 1rpx solid #f2f2f2;
+}
+.listData .list-item .user-info .face {
+ width: 58rpx;
+ height: 58rpx;
+}
+.listData .list-item .user-info .face image {
+ width: 58rpx;
+ height: 58rpx;
+ border-radius: 50%;
+}
+.listData .list-item .user-info .face .icon-wrapper{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 36rpx;
+ height: 36rpx;
+ border-radius: 50%;
+}
+.listData .list-item .user-info .face .icon-user{
+ background-color: #ffa128;
+}
+.listData .list-item .user-info .face .icon-bussin{
+ background-color: #3b8bec;
+}
+.listData .list-item .user-info .face .iconfont{
+ color: #fff;
+ font-size:28rpx;
+}
+.listData .list-item .user-info .right-info {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ height: 58rpx;
+ padding-left: 15rpx;
+}
+.listData .list-item .user-info .right-info .content {
+ font-size: 28rpx;
+ color: #333333;
+}
+.listData .list-item .user-info .right-info .time {
+ font-size: 22rpx;
+ color: #666666;
+}
+.listData .list-item .details {
+ padding-top: 16rpx;
+}
+.listData .list-item .details .details-item {
+ line-height: 48rpx;
+ font-size: 24rpx;
+ color: #1e1e1e;
+}
+.listData .list-item .details .details-item .details-red {
+ color: #ff464c;
+}
+.listData .list-item .details .details-item .details-green {
+ color: #1faf4d;
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/orderVerification/orderVerification.js b/packageD/member/myOrder/orderVerification/orderVerification.js
new file mode 100644
index 0000000..4149747
--- /dev/null
+++ b/packageD/member/myOrder/orderVerification/orderVerification.js
@@ -0,0 +1,132 @@
+// pages/member/myOrder/orderVerification/orderVerification.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ order_id: '',
+ api: "",
+ showQrcode: false,
+ customForm: [],
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.order_id) {
+ this.setData({
+ order_id: options.order_id
+ });
+ }
+ if (options.api) {
+ this.setData({
+ api: options.api
+ });
+ }
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this._initData();
+ this._verification();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _initData() {
+ this.setData({
+ showQrcode: false,
+ });
+ },
+ _verification() {
+ let that = this;
+ let urlStr = app.getNetAddresss(this.data.api);
+ urlStr += '&order_id=' + this.data.order_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ let form = [];
+ if (res.result == 1) {
+ if (res.data.custom) {
+ form = res.data.custom.form;
+ }
+ that.setData({
+ qrcode: res.data.miQrCodeUrl,
+ showQrcode: true,
+ customForm: form
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 1500,
+ success: function() {
+ setTimeout(function() {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ }
+ },
+ fail: function(res) {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ wx.navigateBack({
+ delta: 1
+ });
+ }
+ });
+ },
+});
diff --git a/packageD/member/myOrder/orderVerification/orderVerification.json b/packageD/member/myOrder/orderVerification/orderVerification.json
new file mode 100644
index 0000000..a6eed4f
--- /dev/null
+++ b/packageD/member/myOrder/orderVerification/orderVerification.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "核销订单",
+ "usingComponents": {
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "custom-message": "../../../../mycomponent/customMessage/customMessage"
+ }
+}
diff --git a/packageD/member/myOrder/orderVerification/orderVerification.wxml b/packageD/member/myOrder/orderVerification/orderVerification.wxml
new file mode 100644
index 0000000..395028b
--- /dev/null
+++ b/packageD/member/myOrder/orderVerification/orderVerification.wxml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ 请核销员扫码
+
+
+
+
+
+
+
diff --git a/packageD/member/myOrder/orderVerification/orderVerification.wxss b/packageD/member/myOrder/orderVerification/orderVerification.wxss
new file mode 100644
index 0000000..6c8ad1a
--- /dev/null
+++ b/packageD/member/myOrder/orderVerification/orderVerification.wxss
@@ -0,0 +1,24 @@
+/* pages/member/myOrder/orderVerification/orderVerification.wxss */
+.goodsinfo .qrcode {
+ width: 80%;
+ margin: 0 auto;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.goodsinfo .qrcode .top {
+ padding: 10rpx;
+ width: 80%;
+}
+
+.goodsinfo .qrcode .top image {
+ width: 100%;
+}
+
+.goodsinfo .qrcode .bottom {
+ line-height: 60rpx;
+ font-size: 36rpx;
+ text-align: center;
+}
diff --git a/packageD/member/myOrder/order_record/order_record.js b/packageD/member/myOrder/order_record/order_record.js
new file mode 100644
index 0000000..ab885c9
--- /dev/null
+++ b/packageD/member/myOrder/order_record/order_record.js
@@ -0,0 +1,125 @@
+// pages/member/myOrder/order_record/order_record.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ show1: false,
+ order_id: '',
+ img_url: '',
+ btn_name: '',
+ reason_data: '',
+ order_state: '',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.order_id) {
+ options.order_id;
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this._initData();
+ this._getJson();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _initData() {
+ this.setData({
+ show1: false,
+ img_url: '',
+ btn_name: '',
+ reason_data: '',
+ order_state: '',
+ });
+ },
+ show1btn() {
+ this.setData({
+ show1: true
+ });
+ },
+ show1Close() {
+ this.setData({
+ show1: false
+ });
+ },
+ _getJson() {
+ this.setData({
+ img_url: ''
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("remittance.remittance-record");
+ urlStr += '&order_id=' + that.data.order_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ img_url: res.data.report_url,
+ btn_name: res.data.button_models[0].name,
+ reason_data: res.data.audit_note,
+ order_state: res.data.status_name
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+});
diff --git a/packageD/member/myOrder/order_record/order_record.json b/packageD/member/myOrder/order_record/order_record.json
new file mode 100644
index 0000000..2049dda
--- /dev/null
+++ b/packageD/member/myOrder/order_record/order_record.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "汇款详情",
+ "usingComponents": {
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "van-button": "../../../../dist/button/index",
+ "van-popup": "../../../../dist/popup/index"
+ }
+}
diff --git a/packageD/member/myOrder/order_record/order_record.wxml b/packageD/member/myOrder/order_record/order_record.wxml
new file mode 100644
index 0000000..e7562dc
--- /dev/null
+++ b/packageD/member/myOrder/order_record/order_record.wxml
@@ -0,0 +1,26 @@
+
+
+
+ {{order_state}}
+ 查看原因
+
+
+
+ 汇款凭证:
+
+
+
+
+
+
+ {{btn_name}}
+
+
+
+
+ 退款原因
+
+ {{reason_data}}
+
+
+
diff --git a/packageD/member/myOrder/order_record/order_record.wxss b/packageD/member/myOrder/order_record/order_record.wxss
new file mode 100644
index 0000000..182a6a8
--- /dev/null
+++ b/packageD/member/myOrder/order_record/order_record.wxss
@@ -0,0 +1,73 @@
+/* pages/member/myOrder/order_record/order_record.wxss */
+.remittance-detail .state {
+ padding: 40rpx;
+ background-color: #f15353;
+ color: #fff;
+ font-size: 36px;
+ text-align: left;
+ position: relative;
+}
+
+.remittance-detail .voucher {
+ background-color: #fff;
+ margin-top: 20rpx;
+ padding: 0 28rpx 40rpx 28rpx;
+}
+
+.remittance-detail .voucher .top {
+ text-align: left;
+ line-height: 100rpx;
+}
+
+.remittance-detail .voucher .span {
+ font-weight: bold;
+ font-size: 28rpx;
+ display: block;
+ line-height: 80rpx;
+ text-align: left;
+}
+
+.remittance-detail .voucher .top .span {
+ font-size: 32rpx;
+}
+
+.remittance-detail .voucher .bottom {
+ width: 400rpx;
+ height: 400rpx;
+ margin: 0 auto;
+ border: 2rpx dashed #c0ccda;
+}
+
+.remittance-detail .voucher .bottom image {
+ width: 100%;
+ height: 100%;
+}
+
+.vanbtnr {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ padding: 20rpx 20rpx 20rpx 0rpx;
+}
+
+.cause {
+ height: 480rpx;
+}
+
+.cause .h1 {
+ line-height: 80rpx;
+ font-size: 32rpx;
+ border-bottom: solid 2rpx #ebebeb;
+ padding-left: 20rpx;
+}
+
+.cause .ul {
+ padding: 2rpx 28rpx;
+ font-size: 28rpx;
+ color: #8c8c8c;
+ text-align: left;
+}
+
+.cause .ul .li {
+ line-height: 48rpx;
+}
diff --git a/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.js b/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.js
new file mode 100644
index 0000000..bd5f59a
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.js
@@ -0,0 +1,345 @@
+// packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.js
+const app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ popShow:false,
+ username: "",
+ mobile: "",
+ address: "",
+
+ province: "",
+ city: "",
+ district: "",
+ street: "",
+
+ addressName: "",
+ districtVal: '',
+ strShow: false,
+ provinceData: [],
+ pickerValue: [0, 0, 0],
+
+ province_id:0,
+ city_id:0,
+ district_id:0,
+ street_id:0
+ },
+
+ lifetimes:{
+ attached(){
+ this._initAddressInfo();
+ }
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ //关闭增加地址
+ setPopShow(){
+ this.setData({
+ popShow:!this.data.popShow
+ });
+ },
+ setFormData(obj){
+ let changeData={};
+ changeData.street = "";
+ changeData.districtVal = "";
+
+ changeData.addressName = obj.province + " " + obj.city + " " + obj.district;
+
+ changeData.province = obj.province;
+ changeData.city = obj.city;
+ changeData.district = obj.district;
+
+ changeData.street = obj.street;
+ changeData.address = obj.address;
+
+ changeData.username = obj.realname;
+ changeData.mobile = obj.mobile;
+
+ changeData.province_id = obj.province_id;
+ changeData.city_id = obj.city_id;
+ changeData.district_id = obj.district_id;
+ changeData.street_id = obj.street_id;
+ this.setData(changeData);
+ this.callback();
+ this._getStreet(obj.district_id);
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: 'provinceData',
+ data: province
+ });
+ wx.setStorage({
+ key: 'cityData',
+ data: city
+ });
+ wx.setStorage({
+ key: 'districtData',
+ data: district
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true
+ });
+ }
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data
+ });
+ that.setData({
+ "selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0]
+ });
+ that._getCityData();
+ }
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ // console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = 'cityData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1]
+ });
+ that._getDistrictData();
+ }
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ // console.log("地区", "_data", _data)
+ var that = this;
+ var _keyName = 'districtData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json
+ });
+ // console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2]
+ });
+ // console.log("over", that.data.selectAddressData);
+ }
+ });
+ },
+ //打开地址选择器
+ openDateLwtbtn: function () {
+ this.setData({
+ openDateLw: true
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function () {
+ this.setData({
+ openDateLw: false
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2]
+ });
+ this._initAddressInfo();
+ },
+ // 确定选择收货地址
+ _okAddress: function () {
+ let seleData = this.data.selectAddressData;
+ this.setData({
+ "street": "",
+ "districtVal": "",
+ "addressName": seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name,
+ "province": seleData[0].name,
+ "city": seleData[1].name,
+ "district": seleData[2].name,
+ "province_id": seleData[0].id,
+ "city_id": seleData[1].id,
+ "district_id": seleData[2].id
+ });
+ this._getStreet(seleData[2].id);
+ this._closeDateLw();
+ },
+ //获取街道
+ _getStreet(param) {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.memberAddress.street");
+ urlStr += "&district_id=" + param;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ if (!app._isTextEmpty(res.data) && res.data.length > 0) {
+ that.setData({
+ districtVal: res.data,
+ strShow: true
+ });
+ } else {
+ that.setData({
+ strShow: false
+ });
+ }
+ } else {
+ that.setData({
+ strShow: false
+ });
+ }
+ },
+ fail: function (res) {
+ that.setData({
+ strShow: false
+ });
+ console.log(res);
+ }
+ });
+ },
+ streetChoose() {
+ if (app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请先选择所在地区',
+ duration: 1500
+ });
+ } else {
+ this.setData({
+ streetShow: true,
+ opren: false
+ });
+ }
+ },
+ //关闭选择街道弹窗
+ streetClose: function () {
+ this.setData({
+ streetShow: false,
+ opren: true
+ });
+ },
+ //选择街道
+ streetConfirm(e) {
+ let item = e.target.dataset.item;
+ this.setData({
+ "street": item.areaname,
+ "street_id": item.id,
+ "streetShow": false,
+ opren: true
+ });
+ },
+ appendAddress(){
+ if (app._isTextEmpty(this.data.username)) {
+ return app.tips('请输入收货人姓名');
+ }
+ if (app._isTextEmpty(this.data.mobile)) {
+ return app.tips('请输入联系电话');
+ }
+ if (!/^[0-9]{1,}$/.test(this.data.mobile)) {
+ return app.tips('请输入联系电话');
+ }
+ if (app._isTextEmpty(this.data.addressName)) {
+ return app.tips('请选择所在区域');
+ }
+ if (this.data.strShow && app._isTextEmpty(this.data.street)) {
+ return app.tips('请选择所在街道');
+ }
+ if (app._isTextEmpty(this.data.address)) {
+ return app.tips('请输入详细地址');
+ }
+ this.callback();
+ this.setPopShow();
+ },
+ callback(){
+ let obj = {
+ pick_up_name : this.data.username,
+ pick_up_tel : this.data.mobile,
+ pick_up_province : this.data.province_id,
+ pick_up_city : this.data.city_id,
+ pick_up_district : this.data.district_id,
+ pick_up_street : this.data.street_id,
+ pick_up_address : this.data.address,
+ street: this.data.street||'',
+ addressName:this.data.addressName
+ };
+ this.triggerEvent("confirm",obj);
+ }
+ }
+});
diff --git a/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.json b/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.json
new file mode 100644
index 0000000..d69b95e
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index",
+ "van-cell": "/dist/cell/index",
+ "van-cell-group": "/dist/cell-group/index",
+ "van-nav-bar": "/dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.wxml b/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.wxml
new file mode 100644
index 0000000..7c39054
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.wxml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+ 收件人:
+
+
+
+ 联系电话:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.wxss b/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.wxss
new file mode 100644
index 0000000..f967760
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.wxss
@@ -0,0 +1,112 @@
+/* packageD/member/myOrder/refund/components/editAddressPop/editAddressPop.wxss */
+
+.address_a {
+ background-color: #fff;
+ padding-left: 28rpx;
+ margin-top: 20rpx;
+}
+
+.address_a .li {
+ height: 100rpx;
+ padding-right: 28rpx;
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+}
+
+.addName {
+ background: #fff;
+}
+
+.addstreet {
+ background: #fff;
+}
+
+.text_adderss {
+ background: #fff;
+}
+
+.text_adderss input {
+ text-wrap: unset;
+ padding: 20rpx 28rpx;
+ font-size: 28rpx;
+ line-height: 48rpx;
+ min-height: 104rpx;
+ text-align: left;
+}
+
+.adderss_btn .button {
+ margin: 40rpx auto;
+ width: 600rpx;
+ height: 90rpx;
+ border-radius: 10rpx;
+ background: #f15353;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+
+
+/* 地址选择器 */
+/* -------------------------------- */
+.b-mask.true {
+ width: 100vw;
+ height: 100vh;
+ background: rgba(0, 0, 0, 0.5);
+ position: fixed;
+ left: 0;
+ top: 0;
+ z-index: 999;
+}
+
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+ z-index: 9999;
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.js b/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.js
new file mode 100644
index 0000000..a57e43f
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.js
@@ -0,0 +1,69 @@
+// packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ popShow:false,
+ day_list:[],
+ day_index:0,
+ time_list:[],
+ time_index:null
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ setPopShow(){
+ if(this.data.day_list.length == 0){
+ wx.showModal({
+ title: '提示',
+ showCancel: false,
+ content: '该地区暂无取货服务,请修改其他地址',
+ success (res) {}
+ })
+ return;
+ }
+ this.setData({
+ popShow:!this.data.popShow
+ });
+ },
+ setListData(arr){
+ this.setData({
+ day_list:arr,
+ time_list:arr[0]&&arr[0].pickupTimeRangeList||[]
+ });
+ },
+ setTimeList(evt){
+ let index = evt.currentTarget.dataset.index;
+ if(this.data.day_index == index) return;
+ this.setData({
+ day_index:index,
+ time_index:null,
+ time_list:this.data.day_list[index]&&this.data.day_list[index].pickupTimeRangeList||[]
+ });
+ },
+ send(evt){
+ let index = evt.currentTarget.dataset.index;
+ this.setData({
+ time_index:index
+ });
+ let day = this.data.day_list[this.data.day_index].complete_day;
+ let start_time = day + " " + this.data.time_list[index].pickupStartTime;
+ let end_time = day + " " + this.data.time_list[index].pickupEndTime;
+ console.log(start_time,end_time);
+ this.triggerEvent("confirm",{start_time,end_time});
+ //this.$emit('confirm',{start_time,end_time});
+ this.setPopShow();
+ }
+
+ }
+});
diff --git a/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.json b/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.json
new file mode 100644
index 0000000..56e3e78
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.wxml b/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.wxml
new file mode 100644
index 0000000..e280031
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+ 送达时间
+
+
+
+ {{item.day}} ({{item.day_str}})
+
+
+
+
+ {{item.pickupStartTime}}-{{item.pickupEndTime}}
+
+
+
+
+
+
+
+
+
diff --git a/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.wxss b/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.wxss
new file mode 100644
index 0000000..a9ca9e6
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.wxss
@@ -0,0 +1,79 @@
+/* packageD/member/myOrder/refund/components/pickUpTimePop/pickUpTimePop.wxss */
+
+
+@import "/mycss/iconfont.wxss";
+.deliveryTime {
+ height: 768rpx;
+}
+.deliveryTime .deliveryTime-title {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ font-size: 36rpx;
+ color: #2a2a2a;
+ font-weight: bold;
+}
+.deliveryTime .deliveryTime-container {
+ display: flex;
+ height: 640rpx;
+ background: #f7f7f7;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-day {
+ width: 250rpx;
+ height: 100%;
+ overflow: auto;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-day .deliveryTime-day-item {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 82rpx;
+ font-size: 30rpx;
+ color: #333333;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-day .deliveryTime-day-item.active {
+ color: #f05152;
+ background-color: #ffffff;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-hour {
+ flex: 1;
+ height: 100%;
+ padding-left: 50rpx;
+ padding-right: 35rpx;
+ overflow: auto;
+ background: #fff;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-hour .deliveryTime-hour-item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 88rpx;
+ font-size: 30rpx;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-hour .deliveryTime-hour-item.active {
+ color: #f05152;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-hour .deliveryTime-hour-item .iconfont {
+ font-size: 32rpx;
+ color: #f05152;
+}
+.deliveryTime .deliveryTime-btn-wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ padding: 0 74rpx;
+}
+.deliveryTime .deliveryTime-btn-wrapper .deliveryTime-btn-item {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 100%;
+ height: 70rpx;
+ font-size: 26rpx;
+ font-weight: bold;
+ color: #ffffff;
+ background-color: #f05152;
+ border-radius: 35rpx;
+}
diff --git a/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.js b/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.js
new file mode 100644
index 0000000..3ce9bdd
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.js
@@ -0,0 +1,41 @@
+// packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ popShow:false,
+ radio:0
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ setPopShow(){
+ this.setData({
+ popShow:!this.data.popShow
+ });
+ },
+ onChange(event) {
+ this.setData({
+ radio: event.detail,
+ });
+ },
+ send(){
+ let status = this.data.radio==0 ? 'not_received' : 'received';
+ this.triggerEvent("confirm",{status});
+ this.setPopShow();
+ },
+ setRadio(radio){
+ this.setData({radio});
+ }
+ }
+});
diff --git a/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.json b/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.json
new file mode 100644
index 0000000..8ade696
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index",
+ "van-radio": "/dist/radio/index",
+ "van-radio-group": "/dist/radio-group/index",
+ "van-nav-bar": "/dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.wxml b/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.wxml
new file mode 100644
index 0000000..a3ad019
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.wxss b/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.wxss
new file mode 100644
index 0000000..75bce8d
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.wxss
@@ -0,0 +1,30 @@
+/* packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.wxss */
+
+view,textarea,text{
+ box-sizing: border-box;
+}
+
+.popup-receiving-status .popup-receiving-list {
+ padding: 0 64rpx;
+}
+.popup-receiving-status .popup-receiving-list .popup-receiving-item {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 3rem;
+}
+.popup-receiving-status .popup-send-wrapper {
+ padding: 64rpx;
+}
+.popup-receiving-status .popup-send-wrapper .popup-btn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 70rpx;
+ font-size: 28rpx;
+ color: #ffffff;
+ background-color: #f14e4e;
+ border-radius: 7rpx;
+}
+
+
diff --git a/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.js b/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.js
new file mode 100644
index 0000000..a556ef6
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.js
@@ -0,0 +1,58 @@
+// packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ goodsList:{
+ type:Array,
+ value:[]
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ popShow:false,
+ returnGoodsModels:[]
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ setPopShow(){
+ this.setData({
+ popShow:!this.data.popShow
+ });
+ },
+ onChange(event) {
+ this.setData({
+ returnGoodsModels: event.detail,
+ });
+ },
+ sendBtn(){
+ if(this.data.returnGoodsModels.length<1) return app.tips("请选择商品");
+ let modelsArr=[];
+ let total_price=0;
+ this.data.goodsList.forEach(item => {
+ if(this.data.returnGoodsModels.indexOf(item.id+"")!=-1){
+ let o={};
+ o.goods_thumb = item.thumb;
+ o.goods_title = item.title;
+ o.refund_total = item.stepperValue;
+ o.id = item.id;
+ o.goods_option_title = item.goods_option_title;
+ o.refund_price= ((Number(item.payment_amount)/item.total).toFixed(2))*item.stepperValue;
+ total_price += o.refund_price;
+ modelsArr.push(o);
+ }
+ });
+ this.triggerEvent('confirm',{modelsArr,total_price});
+ this.setPopShow();
+ }
+
+ }
+});
diff --git a/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.json b/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.json
new file mode 100644
index 0000000..4829064
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index",
+ "van-nav-bar": "/dist/nav-bar/index",
+ "van-checkbox": "/dist/checkbox/index",
+ "van-checkbox-group": "/dist/checkbox-group/index",
+ "van-stepper": "/dist/stepper/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.wxml b/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.wxml
new file mode 100644
index 0000000..9ad7acd
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.wxml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.wxss b/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.wxss
new file mode 100644
index 0000000..5a903ca
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnGoodsPop/returnGoodsPop.wxss
@@ -0,0 +1,99 @@
+/* packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.wxss */
+
+@import "/mycss/iconfont.wxss";
+
+view,textarea,text{
+ box-sizing: border-box;
+}
+.popup-goods-wrapper {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+}
+.popup-goods-wrapper .goods-list {
+ flex: 1;
+ padding: 20rpx;
+ overflow: auto;
+}
+.popup-goods-wrapper .goods-list .goods-item {
+ display: flex;
+ align-items: center;
+ height: 192rpx;
+ padding: 20rpx 20rpx 12rpx;
+ margin-bottom: 22rpx;
+}
+.popup-goods-wrapper .goods-list .goods-item .goods-checkbox {
+ padding-right: 13rpx;
+}
+.popup-goods-wrapper .goods-list .goods-item .goods-img {
+ width: 150rpx;
+ height: 150rpx;
+}
+.popup-goods-wrapper .goods-list .goods-item .goods-img image {
+ width: 150rpx;
+ height: 150rpx;
+}
+.popup-goods-wrapper .goods-list .goods-item .goods-content {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ height: 150rpx;
+ padding-left: 20rpx;
+}
+.popup-goods-wrapper .goods-list .goods-item .goods-content .goods-title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ line-clamp: 2;
+ -webkit-box-orient: vertical;
+ font-size: 30rpx;
+ color: #2c2c2c;
+}
+.popup-goods-wrapper .goods-list .goods-item .goods-content .goods-desc {
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-end;
+}
+.popup-goods-wrapper .goods-list .goods-item .goods-content .goods-desc .goods-num {
+ font-size: 22rpx;
+ color: #f14e4e;
+}
+.popup-goods-wrapper .popup-send-wrapper {
+ padding: 24rpx 55rpx;
+ background: #fff;
+}
+.popup-goods-wrapper .popup-send-wrapper .popup-btn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 70rpx;
+ font-size: 28rpx;
+ color: #ffffff;
+ background-color: #f14e4e;
+ border-radius: 33rpx;
+}
+
+
+.vanStepperPlus {
+ color: #fff !important;
+ background-color: #ee0a24 !important;
+ border-radius: 50% !important;
+}
+
+.vanStepperMinus {
+ color: #ccc !important;
+ background-color: transparent !important;
+ border-radius: 50% !important;
+ border:1rpx solid #ccc;
+}
+
+.vanStepperInput {
+ background: transparent !important;
+ color: #000 !important;
+}
+
+.vanStepperPlus .van-stepper__minus--disabled{
+ opacity: 0.3;
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.js b/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.js
new file mode 100644
index 0000000..a7a681e
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.js
@@ -0,0 +1,43 @@
+// packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ send_back_way:{
+ type:Array,
+ value:[]
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ popShow:false,
+ radio:0
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ setPopShow(){
+ this.setData({
+ popShow:!this.data.popShow
+ });
+ },
+ onChange(event) {
+ this.setData({
+ radio: event.detail,
+ });
+ },
+ send(){
+ this.triggerEvent("confirm",{status:this.data.radio});
+ this.setPopShow();
+ },
+ setRadio(radio){
+ this.setData({radio});
+ }
+ }
+});
diff --git a/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.json b/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.json
new file mode 100644
index 0000000..8ade696
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index",
+ "van-radio": "/dist/radio/index",
+ "van-radio-group": "/dist/radio-group/index",
+ "van-nav-bar": "/dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.wxml b/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.wxml
new file mode 100644
index 0000000..dc05b02
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.wxss b/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.wxss
new file mode 100644
index 0000000..82ff8eb
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnMethodsPop/returnMethodsPop.wxss
@@ -0,0 +1,30 @@
+/* packageD/member/myOrder/refund/components/receivingStatusPop/receivingStatusPop.wxss */
+
+view,textarea,text{
+ box-sizing: border-box;
+}
+
+.popup-receiving-status .popup-receiving-list {
+ padding: 0 64rpx;
+}
+.popup-receiving-status .popup-receiving-list .popup-receiving-item {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 96rpx;
+}
+.popup-receiving-status .popup-send-wrapper {
+ padding: 64rpx;
+}
+.popup-receiving-status .popup-send-wrapper .popup-btn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 70rpx;
+ font-size: 28rpx;
+ color: #ffffff;
+ background-color: #f14e4e;
+ border-radius: 7rpx;
+}
+
+
diff --git a/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.js b/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.js
new file mode 100644
index 0000000..b13a2c5
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.js
@@ -0,0 +1,48 @@
+// packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ popShow:{
+ type:Boolean
+ },
+ reasonList:{
+ value:[],
+ type:Array
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ radio:0,
+ otherText:""
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ setPopShow(){
+ this.setData({
+ popShow:!this.data.popShow
+ });
+ },
+ onChange(event) {
+ this.setData({
+ radio: event.detail,
+ });
+ },
+ send(){
+ let text=this.data.reasonList[this.data.radio];
+ if((this.data.radio+1) == this.data.reasonList.length){
+ text = this.data.otherText;
+ if(this.data.otherText=="") return app.tips("请输入其他原因");
+ }
+ this.setPopShow();
+ this.triggerEvent('confirm',{text});
+ }
+ }
+});
diff --git a/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.json b/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.json
new file mode 100644
index 0000000..8ade696
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index",
+ "van-radio": "/dist/radio/index",
+ "van-radio-group": "/dist/radio-group/index",
+ "van-nav-bar": "/dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.wxml b/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.wxml
new file mode 100644
index 0000000..8cfabd9
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.wxml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.wxss b/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.wxss
new file mode 100644
index 0000000..623879e
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.wxss
@@ -0,0 +1,34 @@
+/* packageD/member/myOrder/refund/components/returnReasonPop/returnReasonPop.wxss */
+
+view,textarea,text{
+ box-sizing: border-box;
+}
+.popup-return-reason .popup-reason-list {
+ padding: 32rpx 64rpx 0;
+}
+.popup-return-reason .popup-reason-list .popup-reason-item {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 70rpx;
+}
+.popup-return-reason .popup-reason-list textarea {
+ border: 1px solid #ccc;
+ width: 100%;
+ padding: 16rpx 32rpx;
+ margin-top: 16rpx;
+ border-radius: 10rpx;
+}
+.popup-return-reason .popup-send-wrapper {
+ padding: 64rpx;
+}
+.popup-return-reason .popup-send-wrapper .popup-btn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 70rpx;
+ font-size: 28rpx;
+ color: #ffffff;
+ background-color: #f14e4e;
+ border-radius: 7rpx;
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.js b/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.js
new file mode 100644
index 0000000..59b6d75
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.js
@@ -0,0 +1,36 @@
+// packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ refundTypes:{
+ type:Array,
+ value:[]
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ popShow:false,
+ returnTypeIcons: ["icon-fontclass-daizhifu", "icon-fontclass-daishouhuo", "icon-fontclass-daifahuo"],
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ setPopShow(){
+ this.setData({
+ popShow:!this.data.popShow
+ });
+ },
+ sendBtn(evt){
+ let item = evt.currentTarget.dataset.item;
+ this.triggerEvent("confirm",{item});
+ this.setPopShow();
+ }
+ }
+});
diff --git a/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.json b/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.json
new file mode 100644
index 0000000..f29e686
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index",
+ "van-nav-bar": "/dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.wxml b/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.wxml
new file mode 100644
index 0000000..74266ec
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.wxml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.wxss b/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.wxss
new file mode 100644
index 0000000..a81a387
--- /dev/null
+++ b/packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.wxss
@@ -0,0 +1,37 @@
+/* packageD/member/myOrder/refund/components/returnTypePop/returnTypePop.wxss */
+
+@import "/mycss/iconfont.wxss";
+
+view,textarea,text{
+ box-sizing: border-box;
+}
+.popup-return-type {
+ height: 100%;
+}
+.popup-return-type .return-type-list {
+ padding: 16rpx 32rpx;
+}
+.popup-return-type .return-type-list .return-type-item {
+ display: flex;
+ align-items: center;
+ height: 128rpx;
+}
+.popup-return-type .return-type-list .return-type-item .lefticon {
+ font-size: 48rpx;
+}
+.popup-return-type .return-type-list .return-type-item .return-content {
+ flex: 1;
+ padding-left: 32rpx;
+}
+.popup-return-type .return-type-list .return-type-item .return-content .return-title {
+ font-size: 28rpx;
+ color: #222;
+}
+.popup-return-type .return-type-list .return-type-item .return-content .return-desc {
+ margin-top: 6rpx;
+ font-size: 24rpx;
+ color: #666;
+}
+.popup-return-type .return-type-list .return-type-item .icon-advertise-next {
+ font-size: 48rpx;
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/refund.js b/packageD/member/myOrder/refund/refund.js
new file mode 100644
index 0000000..ed90de9
--- /dev/null
+++ b/packageD/member/myOrder/refund/refund.js
@@ -0,0 +1,507 @@
+// pages/member/refund/refund.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+
+ order_id: "",
+ refund_id: "",
+
+ //处理方式
+ refundTypes: [],
+ //退款原因
+
+ money: 0.0,
+
+ typeData: 1,
+
+ fileList1: [],//凭证图片
+ isValue:'',
+
+
+ order_status:0, //订单状态
+
+ //退款商品
+ returnAllGoodsList:[],
+ returnGoolsList:[],
+
+ //售后类型
+ returnTypeItem:{},
+
+ //收货状态
+ receivingStatus:"not_received",
+
+ //退货方式
+ returnMethods:0,
+ send_back_way:[],
+
+ //退款原因
+ returnReasons:"",
+
+ //退款说明
+ returnExplain:"",
+
+ //京东上门取件相关信息
+ jdTakeParts:null,
+ jd_weight:'',
+ jd_length:'',
+ jd_width:'',
+ jd_height:'',
+
+ start_time:'',
+ end_time:'',
+
+ jd_address:{
+ pick_up_name : '',
+ pick_up_tel : '',
+ pick_up_province : 0,
+ pick_up_city : 0,
+ pick_up_district : 0,
+ pick_up_street : 0,
+ pick_up_address : '',
+ addressName:""
+ },
+ refundable_freight: 0, //可退运费
+ refundable_other: 0, //其他费用
+ freight_price: "", //可退运费
+ other_price: "", //其他费用
+ showInstructions: false
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.order_id) {
+ this.setData({
+ refund_id: options.order_id,
+ order_id: options.order_id,
+ });
+ }
+ if(options.value){
+ this.setData({
+ isValue:options.value
+ });
+ }
+ if (options.type) {
+ this.setData({
+ typeData: options.type,
+ });
+ }
+ if(options.refundType){
+ this.setData({
+ refundType: options.refundType,
+ });
+ }
+ if (options.type == 2) {
+ //修改申请
+ wx.setNavigationBarTitle({
+ title: "修改申请",
+ });
+ this.getAlterInfo();
+ } else {
+ wx.setNavigationBarTitle({
+ title: "售后申请",
+ });
+ this.getRefundInfo();
+ }
+ // this.openComponentsPop('pickUpTime');
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getAlterInfo() {
+ let urlStr = app.getNetAddresss("refund.edit");
+ urlStr += "&refund_id=" + this.data.order_id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var mydata = res.data;
+ let changeData = {};
+ changeData.refundable_freight = Number(mydata.refundable_freight) || 0; //可退运费
+ changeData.refundable_other = Number(mydata.refundable_other) || 0; //其他费用
+ changeData.freight_price = Number(mydata.refundApply.freight_price) || ""; //可退运费
+ changeData.other_price = Number(mydata.refundApply.other_price) || ""; //其他费用
+ changeData.money= Number(mydata.refundApply.apply_price).toFixed(2);
+ changeData.refundTypes = mydata.refundTypes;
+ changeData.send_back_way = mydata.send_back_way;
+ if(mydata.refundApply.receive_status==1){
+ changeData.receivingStatus = "received";
+ }else {
+ changeData.receivingStatus = "not_received";
+ }
+ this.selectComponent(`.receivingStatus`).setRadio(mydata.refundApply.receive_status);
+ changeData.returnTypeItem = changeData.refundTypes[mydata.refundApply.refund_type];
+ changeData.returnReasons = mydata.refundApply.reason;
+ changeData.returnExplain = mydata.refundApply.content;
+ changeData.fileList1 = mydata.refundApply.images;
+ changeData.returnMethods = mydata.refundApply.refund_way_type;
+ this.selectComponent('.returnMethods').setRadio(changeData.returnMethods);
+ changeData.returnGoolsList = mydata.refundApply.refund_order_goods;
+ changeData.order_status = mydata.refundApply.order.status;
+
+ if(changeData.returnMethods==1 && mydata.send_back_way_data){
+ this.getJdTakeParts(mydata.send_back_way_data);
+ }else if(changeData.returnMethods==1){
+ this.getJdTakeParts();
+ }
+ this.setData(changeData);
+
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //获取退款信息
+ getRefundInfo() {
+ let urlStr = app.getNetAddresss("refund.apply");
+ if(!app._isTextEmpty(this.data.refundType) && this.data.refundType=="installationSever"){
+ urlStr= app.getNetAddresss("plugin.live-install.frontend.apply.index"); //安装服务
+ }
+ if(!app._isTextEmpty(this.data.isValue)){
+ // 盲盒
+ urlStr= app.getNetAddresss("plugin.blind-box.api.apply.index");
+ }
+ urlStr += "&order_id=" + this.data.order_id;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var mydata = res.data;
+ this.setData({
+ refundable_freight : Number(mydata.refundable_freight) || 0, //可退运费
+ refundable_other : Number(mydata.refundable_other) || 0, //其他费用
+ money: mydata.order.price.toFixed(2),
+ refundTypes: mydata.refundTypes,
+ order_status:mydata.order.status,
+ send_back_way:mydata.send_back_way,
+ returnMethods:mydata.send_back_way[0] ? mydata.send_back_way[0].value : 0,
+ returnAllGoodsList:mydata.order.order_goods.filter((item)=>{
+ item.stepperValue = 1;
+ return item.is_refund==0;
+ })
+ });
+ if(this.data.order_status>=2 && mydata.support_batch){
+ //support_batch 参数 true 支持单商品退款 false不支持, 先判断下订单是否支持选择商品退款
+ // 不支持的就显示商品就行了,提交时也不用传 order_goods 参数
+ this.openComponentsPop('returnGoods');
+ }else {
+ this.openComponentsPop('returnType');
+ }
+
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+
+ //提交退款申请
+ confirmRefund() {
+ if (this.data.returnTypeItem.value!=2 && this.data.returnReasons=="") {
+ return app.tips("请选择申请原因!");
+ }
+ if (this.data.refundable_freight > 0 && Number(this.data.freight_price) > this.data.refundable_freight) {
+ return app.tips(`退款运费金额最大为${this.data.refundable_freight}`);
+ }
+ if (this.data.refundable_other > 0 && Number(this.data.other_price) > this.data.refundable_other) {
+ return app.tips(`退款其他金额最大为${this.data.refundable_other}`);
+ }
+
+ let json = {
+ order_id:this.data.order_id,
+ refund_id:this.data.refund_id,
+ refund_type:this.data.returnTypeItem.value,
+ reason:this.data.returnReasons,
+ content:this.data.returnExplain,
+ receive_status:this.data.receivingStatus=="not_received" ? 0 : 1,
+ refund_way_type:this.data.returnMethods,
+ freight_price: this.data.freight_price || 0,
+ other_price: this.data.other_price || 0
+ };
+
+ if(this.data.order_status>0){
+ let arr=[];
+ this.data.returnGoolsList.forEach(element => {
+ let o = {};
+ o.id = element.id;
+ o.total = element.refund_total;
+ arr.push(o);
+ });
+ if(arr.length > 0) json.order_goods = arr;
+ json.part_refund = 1;
+ }
+
+ //上门取货
+ if(this.data.returnMethods==1){
+ if(!this.data.start_time || !this.data.end_time) return app.tips('请选择取件时间');
+ Object.assign(json,this.data.jd_address);
+ json.jd_weight = this.data.jd_weight;
+ json.jd_length = this.data.jd_length;
+ json.jd_width = this.data.jd_width;
+ json.jd_height = this.data.jd_height;
+ json.start_time = this.data.start_time;
+ json.end_time = this.data.end_time;
+ }
+
+
+ let urlStr = "";
+ if (this.data.typeData == 1) {
+ urlStr = app.getNetAddresss("refund.apply.store");
+ } else if (this.data.typeData == 3) {
+ urlStr = app.getNetAddresss("plugin.snatch-regiment.api.order.refund");
+ } else {
+ urlStr = app.getNetAddresss("refund.edit.store");
+ }
+ if(!app._isTextEmpty(this.data.refundType) && this.data.refundType=="installationSever"){
+ urlStr= app.getNetAddresss("plugin.live-install.frontend.apply.store"); //安装服务
+ }
+ if(!app._isTextEmpty(this.data.isValue)){
+ // 盲盒
+ urlStr= app.getNetAddresss("plugin.blind-box.api.apply.store");
+ }
+ if(this.data.fileList1.length > 0) {
+ json.images = JSON.stringify(this.data.fileList1);
+ }
+
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack({
+ delta: 1,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ updateImages(e) {
+ this.setData({
+ fileList1: e.detail
+ });
+ },
+
+ openComponentsPop(evt) {
+ let name=evt.currentTarget ? evt.currentTarget.dataset.name : evt;
+ this.selectComponent(`.${name}`).setPopShow();
+ },
+
+ confrimReturnType(evt){
+ let item = evt.detail.item;
+ if(this.data.returnTypeItem.value == item.value) return;
+ let changeData={};
+ if(item.value !=0 ){
+ changeData.receivingStatus="received";
+ }
+ changeData.returnTypeItem = item;
+ changeData.returnReasons="";
+ this.setData(changeData);
+ },
+ confirmReturnReason(evt){
+ let text = evt.detail.text;
+ this.setData({returnReasons:text});
+ },
+ confrimReturnGoods(evt){
+ this.setData({
+ returnGoolsList:evt.detail.modelsArr,
+ money:evt.detail.total_price
+ });
+ this.openComponentsPop('returnType');
+ },
+ confirmReceivingStatus(evt){
+ this.setData({
+ receivingStatus:evt.detail.status
+ });
+ },
+ confirmReturnMethods(evt){
+ this.setData({
+ returnMethods:evt.detail.status
+ });
+ if(this.data.returnMethods == 1 && this.data.jdTakeParts==null){
+ this.getJdTakeParts();
+ }
+ },
+ confirmPickUpTime(evt){
+ this.setData({
+ start_time:evt.detail.start_time,
+ end_time:evt.detail.end_time
+ });
+ },
+
+ confirmEditAddress(evt){
+ this.setData({
+ jd_address:evt.detail
+ });
+ let _json = {
+ province_id: evt.detail.pick_up_province,
+ city_id: evt.detail.pick_up_city,
+ district_id: evt.detail.pick_up_district,
+ street_id: evt.detail.pick_up_street,
+ address: evt.detail.pick_up_address
+ };
+ this.getPickUpTime(_json);
+ },
+
+ //获取京东上门安装默认数据
+ getJdTakeParts(defaultData = null){
+ let urlStr = app.getNetAddresss("plugin.jd-take-parts.frontend.refund.get-default-data");
+ app._postNetWork({
+ url: urlStr,
+ data: { order_id:this.data.order_id},
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ // this.selectComponent(`.pickUpTime`).setListData(res.data.time_list);
+ if(defaultData == null){
+ this.setData({
+ jdTakeParts:res.data,
+ jd_height:res.data.default.default_height,
+ jd_length:res.data.default.default_length,
+ jd_weight:res.data.default.default_weight,
+ jd_width:res.data.default.default_width,
+ });
+ this.selectComponent(`.editAddress`).setFormData(res.data.order_address);
+ this.getPickUpTime(res.data.order_address);
+ }else {
+ this.setData({
+ jdTakeParts:res.data,
+ jd_height:defaultData.jd_height,
+ jd_length:defaultData.jd_length,
+ jd_weight:defaultData.jd_weight,
+ jd_width:defaultData.jd_width,
+ start_time:defaultData.start_time,
+ end_time:defaultData.end_time,
+ });
+ let address={
+ realname:defaultData.pick_up_name,
+ mobile:defaultData.pick_up_tel,
+ province:defaultData.pick_up_province_name,
+ city:defaultData.pick_up_city_name,
+ district:defaultData.pick_up_district_name,
+ street:defaultData.pick_up_street_name,
+ province_id:defaultData.pick_up_province,
+ city_id:defaultData.pick_up_city,
+ district_id:defaultData.pick_up_district,
+ street_id:defaultData.pick_up_street,
+ address:defaultData.pick_up_address
+ };
+ this.selectComponent(`.editAddress`).setFormData(address);
+ this.getPickUpTime(address);
+ }
+
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ getPickUpTime(_data) {
+ let _json = {
+ pick_up_province: _data.province_id,
+ pick_up_city: _data.city_id,
+ pick_up_district: _data.district_id,
+ pick_up_street: _data.street_id,
+ pick_up_address: _data.address
+ };
+
+ let urlStr = app.getNetAddresss("plugin.jd-take-parts.frontend.refund.get-pickup-in-time");
+ app._postNetWork({
+ url: urlStr,
+ data: _json,
+ success: (resdata)=> {
+ var res = resdata.data;
+ if (res.result == 1) {
+ this.selectComponent(`.pickUpTime`).setListData(res.data.time_list);
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ showInstructionsFn() {
+ this.setData({
+ showInstructions: true
+ })
+ },
+ onCloseInstructions() {
+ this.setData({
+ showInstructions: false
+ })
+ },
+ onChangeFreightPrice(event){
+ this.setData({
+ freight_price: event.detail
+ })
+ },
+ onChangeOtherPrice(event){
+ this.setData({
+ other_price: event.detail
+ })
+ }
+});
diff --git a/packageD/member/myOrder/refund/refund.json b/packageD/member/myOrder/refund/refund.json
new file mode 100644
index 0000000..65d7346
--- /dev/null
+++ b/packageD/member/myOrder/refund/refund.json
@@ -0,0 +1,18 @@
+{
+ "usingComponents": {
+ "van-cell": "../../../../dist/cell/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-field": "../../../../dist/field/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "yz_uploader": "../../../../mycomponent/yz_uploader/yz_uploader",
+
+ "receivingStatusPop":"./components/receivingStatusPop/receivingStatusPop",
+ "returnMethodsPop":"./components/returnMethodsPop/returnMethodsPop",
+ "returnTypePop":"./components/returnTypePop/returnTypePop",
+ "returnGoodsPop":"./components/returnGoodsPop/returnGoodsPop",
+ "returnReasonPop":"./components/returnReasonPop/returnReasonPop",
+ "pickUpTimePop":"./components/pickUpTimePop/pickUpTimePop",
+ "editAddressPop":"./components/editAddressPop/editAddressPop"
+ }
+}
diff --git a/packageD/member/myOrder/refund/refund.wxml b/packageD/member/myOrder/refund/refund.wxml
new file mode 100644
index 0000000..3bf8f6e
--- /dev/null
+++ b/packageD/member/myOrder/refund/refund.wxml
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+ {{item.goods_title}}
+
+ {{item.goods_option_title}} x{{item.refund_total}}
+ ¥{{item.refund_price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提示:您的退款最大金额为{{money}}{{language['元']}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取件地址:
+
+
+
+ {{jd_address.pick_up_name}}/{{jd_address.pick_up_tel}}
+
+
+ {{jd_address.addressName}} {{jd_address.street}} {{jd_address.pick_up_address}}
+
+
+
+
+
+
+
+
+ 取件时间:
+
+
+
+ {{tool.substring(start_time,5)}} - {{tool.substring(end_time,5)}}
+
+
+
+
+
+
+
+
+ 重量:
+
+
+
+
+
+ kg
+
+
+
+
+
+
+ 体积:
+
+
+
+
+
+ cm
+
+ *
+
+
+ cm
+
+ *
+
+
+ cm
+
+
+
+
+
+
+
+ 申请说明:
+
+
+
+ 上传图片凭证:
+
+
+ 提交申请
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 由卖家承担:货品质量问题,假货等
+ 由买家承担:个人原因不喜欢,不想要等
+
+
+
+
+ function returnMethodsName(arr,value){
+ var name="";
+ for(var i=0;i
\ No newline at end of file
diff --git a/packageD/member/myOrder/refund/refund.wxss b/packageD/member/myOrder/refund/refund.wxss
new file mode 100644
index 0000000..662f823
--- /dev/null
+++ b/packageD/member/myOrder/refund/refund.wxss
@@ -0,0 +1,161 @@
+/* pages/member/refund/refund.wxss */
+.refund .prompt {
+ line-height: 60rpx;
+ padding: 0 28rpx;
+ font-size: 24rpx;
+ color: #8c8c8c;
+}
+
+.refund .explain{
+ background-color: #fff;
+}
+
+.refund .explain .span {
+ padding-top:20rpx;
+ text-align: left;
+ padding-left: 28rpx;
+}
+
+.refund .explain textarea {
+ border: none;
+ background-color: #fafafa;
+ width: 100%;
+ height: 148rpx;
+ border-radius: 4rpx;
+ padding: 12rpx;
+ line-height: 40rpx;
+ color: #8c8c8c;
+ font-size: 24rpx;
+}
+
+.refund .button {
+ color: #fff;
+ background-color: #f15353;
+ display: block;
+ width: 90%;
+ height: 92rpx;
+ margin: 30rpx auto;
+ text-align: center;
+ line-height: 92rpx;
+ font-size: 32rpx;
+ position: relative;
+ border-radius: 20px;
+}
+
+.return-cause .h1 {
+ line-height: 90rpx;
+ text-align: center;
+ font-size: 28rpx;
+ border-bottom: solid 2rpx #e2e2e2;
+}
+
+.return-cause .ul {
+ padding: 20rpx 28rpx 0 28rpx;
+}
+
+.return-cause .ul .li {
+ line-height: 72rpx;
+}
+
+
+
+
+.return-goods {
+ padding: 32rpx 32rpx 0;
+ margin-bottom: 32rpx;
+ background: #fff;
+}
+.return-goods .return-goods-item {
+ display: flex;
+ padding-bottom: 32rpx;
+}
+.return-goods .return-goods-item .goods-img {
+ width: 150rpx;
+ height: 150rpx;
+}
+.return-goods .return-goods-item .goods-img image {
+ width: 150rpx;
+ height: 150rpx;
+}
+.return-goods .return-goods-item .goods-content {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ height: 150rpx;
+ padding-left: 20rpx;
+}
+.return-goods .return-goods-item .goods-content .goods-title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ line-clamp: 2;
+ -webkit-box-orient: vertical;
+ font-size: 28rpx;
+ color: #2c2c2c;
+}
+.return-goods .return-goods-item .goods-content .goods-options {
+ font-size: 20rpx;
+ color: #666;
+}
+.return-goods .return-goods-item .goods-content .goods-price {
+ font-size: 22rpx;
+ color: #f14e4e;
+}
+
+.recovery-info {
+ padding: 16rpx 28rpx;
+ background: #fff;
+ border-bottom: 1px solid #ddd;
+}
+.recovery-info .recovery-itme {
+ display: flex;
+ padding: 10rpx 0;
+ margin-bottom: 10rpx;
+}
+.recovery-info .recovery-itme .recovery-text {
+ padding-right: 16rpx;
+}
+.recovery-info .recovery-itme .recovery-content {
+ flex: 1;
+}
+.recovery-info .recovery-itme .recovery-content .inputs{
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+}
+.recovery-info .recovery-itme .recovery-content .inputs .input-item{
+ display: flex;
+ align-items: center;
+}
+.recovery-info .recovery-itme .recovery-content .inputs .input-item input{
+ width: 90rpx;
+ height: 64rpx;
+ padding:0 10rpx;
+ text-align: center;
+ font-size: 24rpx;
+ color: #555555;
+ border-radius: 6rpx;
+ box-sizing: border-box;
+ border: solid 1rpx #eeeeee;
+ background: #F9F9F9;
+}
+.recovery-info .recovery-itme .recovery-content .inputs .input-item .unit{
+ display: flex;
+ height: 16rpx;
+ transform: translateY(-6px);
+ margin-left: 12rpx;
+ font-size: 24rpx;
+ color: #555555;
+}
+.recovery-info .recovery-itme .recovery-content .inputs .ride{
+ display: flex;
+ align-items: center;
+ padding-left: 16rpx;
+ padding-right: 18rpx;
+ color: #555555;
+}
+
+.w-7 .van-cell__title{
+ max-width: 7.2em!important;
+}
\ No newline at end of file
diff --git a/packageD/member/myOrder/truckList/truckList.js b/packageD/member/myOrder/truckList/truckList.js
new file mode 100644
index 0000000..ec71e1a
--- /dev/null
+++ b/packageD/member/myOrder/truckList/truckList.js
@@ -0,0 +1,180 @@
+// pages/member/myOrder/truckList/truckList.js
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ order_id: '',
+ truck_list: [],
+ value_list: [],
+ //加载更多
+ isLoading: false,
+ isLoadMore: true,
+ page: 1,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ if (options.order_id) {
+ this.setData({
+ order_id: options.order_id
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this._initData();
+ this._getTuck();
+ this._getOrder_list();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ },
+ _initData() {
+ this.setData({
+ truck_list: [],
+ value_list: [],
+ //加载更多
+ isLoading: false,
+ isLoadMore: true,
+ page: 1,
+ });
+ },
+ _getTuck() {
+ if (!this.data.isLoadMore || this.data.isLoading) {
+ return;
+ }
+ this.setData({
+ isLoading: true
+ });
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.virtual-card.frontend.order.virtualCardList");
+ urlStr += '&order_id=' + this.data.order_id;
+ urlStr += '&page=' + this.data.page;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ isLoading: false
+ });
+ // 解构出总页数和所有数据
+ const {
+ data
+ } = res.data;
+ let resData = [];
+ that.setData({
+ truck_list: [...that.data.truck_list, ...data]
+ });
+ that.data.truck_list.forEach(value => {
+ resData.push(value);
+ });
+ that.setData({
+ value_list: resData
+ });
+ }
+ if (res.data.total == that.data.page) {
+ that.setData({
+ isLoadMore: false
+ });
+ }
+ that.setData({
+ page: that.data.page + 1
+ });
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ _getOrder_list() {
+ let that = this;
+ let urlStr = app.getNetAddresss('order.detail');
+ urlStr += '&order_id=' + this.data.order_id;
+ app._getNetWork({
+ url: urlStr,
+ success: function(resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ order_list: res.data
+ });
+ }
+ },
+ fail: function(res) {
+ console.log(res);
+ }
+ });
+ },
+ copybtn(e) {
+ let truckval = e.currentTarget.dataset.truckval;
+ wx.setClipboardData({
+ data: truckval,
+ success(res) {
+ wx.getClipboardData({
+ success(res) {
+ wx.showToast({
+ icon: 'none',
+ title: '复制成功',
+ duration: 1500
+ });
+ },
+ fail(res) {
+ wx.showToast({
+ icon: 'none',
+ title: '复制失败',
+ duration: 1500
+ });
+ }
+ });
+ }
+ });
+ }
+});
diff --git a/packageD/member/myOrder/truckList/truckList.json b/packageD/member/myOrder/truckList/truckList.json
new file mode 100644
index 0000000..36f6d3a
--- /dev/null
+++ b/packageD/member/myOrder/truckList/truckList.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "虚拟卡密",
+ "usingComponents": {
+ "van-nav-bar": "../../../../dist/nav-bar/index"
+ }
+}
diff --git a/packageD/member/myOrder/truckList/truckList.wxml b/packageD/member/myOrder/truckList/truckList.wxml
new file mode 100644
index 0000000..be300ed
--- /dev/null
+++ b/packageD/member/myOrder/truckList/truckList.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ 订单编号:
+ {{order_list.order_sn}}
+
+
+ 交易状态:
+ {{order_list.status_name}}
+
+
+
+ 我的密卡
+
+
+
+ {{truck_list[index].value}}
+ 复制
+
+
+
+
+
+
+
diff --git a/packageD/member/myOrder/truckList/truckList.wxss b/packageD/member/myOrder/truckList/truckList.wxss
new file mode 100644
index 0000000..f7acab6
--- /dev/null
+++ b/packageD/member/myOrder/truckList/truckList.wxss
@@ -0,0 +1,54 @@
+/* pages/member/myOrder/truckList/truckList.wxss */
+
+.truck_list .content .order_info {
+ background: #fff;
+ padding: 20rpx 28rpx;
+}
+
+.truck_list .content .order_info .li {
+ display: flex;
+ justify-content: space-between;
+ line-height: 60rpx;
+ font-size: 14px;
+}
+
+.truck_list .content .order_info .li .span:first-child {
+ color: #8c8c8c;
+}
+
+.truck_list .content .my_truck {
+ background: #fff;
+ margin-top: 20rpx;
+ padding: 0 28rpx;
+}
+
+.truck_list .content .my_truck .h1 {
+ line-height: 90rpx;
+ text-align: center;
+ font-size: 36rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.truck_list .content .my_truck .list {
+ padding: 20rpx 0;
+}
+
+.truck_list .content .my_truck .list .list_box .li {
+ display: flex;
+ justify-content: space-between;
+ line-height: 100rpx;
+ align-items: center;
+ font-size: 36rpx;
+}
+
+.truck_list .content .my_truck .list .list_box .li .button {
+ width: 120rpx;
+ height: 52rpx;
+ border-radius: 32rpx;
+ border: solid 2rpx #ccc;
+ font-size: 26rpx;
+ color: #666;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
diff --git a/packageD/member/myRelationship/amount/amount.js b/packageD/member/myRelationship/amount/amount.js
new file mode 100644
index 0000000..86df1ac
--- /dev/null
+++ b/packageD/member/myRelationship/amount/amount.js
@@ -0,0 +1,148 @@
+// packageD/member/myRelationship/amount/amount.js
+var App = getApp();
+
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ isTotal: false, //* 是否是总客户数
+ showLevelId: "", //* 当前显示的level id
+ showLevelElId: "levelEl", //* 当前显示的 元素 id
+ showLevelName: "level_", //* 当前显示的levelName id
+ levels: [], //* 所有等级 用于tabbar
+ memberOfLevel: {}, //* 等级下的会员
+ totalMemberCount: 0, //* 全部会员数量 用于tabbar 第一个
+ levelPagination: {}, //* 分页记录
+ defaultLevelName: "", //* 如果没有level名称就显示这个默认的
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ const agentLanguage = JSON.parse(wx.getStorageSync("mailLanguage")).agent;
+ let title = agentLanguage.agent_num || "客户数量";
+ if (options.type) {
+ title = agentLanguage.agent_count || "总客户数量";
+ this.setData({
+ isTotal: true,
+ });
+ }
+ wx.setNavigationBarTitle({
+ title,
+ });
+ this.getLevelMembers();
+ },
+ onReachBottom() {
+ this.getLevelMembers();
+ },
+ switchLevelTab(event) {
+ const dataset = event.currentTarget.dataset;
+ this.setData(
+ {
+ showLevelId: dataset.id,
+ showLevelElId: "levelEl" + dataset.id,
+ showLevelName: "level_" + dataset.id,
+ },
+ () => {
+ if (this.data.memberOfLevel["level_" + dataset.id].length === 0) {
+ this.getLevelMembers();
+ }
+ }
+ );
+ },
+ getLevelMembers() {
+ wx.showLoading({
+ title: "加载中",
+ });
+ const showLevelId = this.data.showLevelId;
+ const levelName = "level_" + showLevelId;
+ let currentPage = this.data.levelPagination[levelName];
+ let url = null;
+ if (this.data.isTotal) {
+ url = App.getNetAddresss(
+ "plugin.member-center-agent.api.index.my-agent-all"
+ );
+ } else {
+ url = App.getNetAddresss("plugin.member-center-agent.api.index.my-agent");
+ }
+
+ if (showLevelId!=="") {
+ url += "&level_id=" + showLevelId;
+ }
+
+ if (currentPage) {
+ url += "&page=" + currentPage["page"];
+ if (currentPage["finished"] === true || currentPage["loading"] === true) {
+ wx.hideLoading();
+ return;
+ }
+ this.setData({
+ ["levelPagination." + levelName + ".loading"]: true,
+ });
+ }
+ App._getNetWork({
+ url,
+ success: ({ data: { result, data, msg } }) => {
+ if (result === 0) {
+ wx.showToast({
+ title: msg,
+ icon: "none",
+ duration: 1500,
+ mask: false,
+ success: (result) => {
+ setTimeout(() => {
+ wx.redirectTo({
+ url: "/packageD/member/myRelationship/myRelationship",
+ });
+ }, 1500);
+ },
+ });
+ }
+ const setData = {};
+ if (this.data.levels.length === 0) {
+ setData["levels"] = data.level;
+ setData["memberOfLevel"] = {
+ level_0: [],
+ };
+ setData["levelPagination"] = {};
+ let totalMemberCount = 0;
+ for (const levelItem of data.level) {
+ setData["memberOfLevel"]["level_" + levelItem.id] = [];
+ setData["levelPagination"]["level_" + levelItem.id] = {
+ loading: false,
+ finished: false,
+ page: 1,
+ };
+ totalMemberCount += levelItem.yz_member_count;
+ }
+ setData["levelPagination"]["level_"] = {
+ loading: false,
+ finished: false,
+ page: 2,
+ };
+ setData["memberOfLevel"][levelName] = data.child.data;
+ setData["totalMemberCount"] = totalMemberCount;
+ setData["defaultLevelName"] = data.default_level_name;
+ } else {
+ let localLevelData = this.data.memberOfLevel[levelName];
+ localLevelData.push(...data.child.data);
+ setData["memberOfLevel." + levelName] = localLevelData;
+ setData["levelPagination." + levelName + ".page"] =
+ currentPage["page"] + 1;
+ }
+ if (
+ data.child.data.length < data.child.per_page ||
+ data.child.data.length === 0
+ ) {
+ setData["levelPagination." + levelName + ".finished"] = true;
+ }
+ setData["levelPagination." + levelName + ".loading"] = false;
+
+ this.setData(setData);
+ wx.hideLoading();
+ },
+ });
+ },
+});
diff --git a/packageD/member/myRelationship/amount/amount.json b/packageD/member/myRelationship/amount/amount.json
new file mode 100644
index 0000000..9e1c9b7
--- /dev/null
+++ b/packageD/member/myRelationship/amount/amount.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+ "van-tab": "/dist/tab/index",
+ "van-tabs": "/dist/tabs/index"
+ }
+}
diff --git a/packageD/member/myRelationship/amount/amount.wxml b/packageD/member/myRelationship/amount/amount.wxml
new file mode 100644
index 0000000..bea329d
--- /dev/null
+++ b/packageD/member/myRelationship/amount/amount.wxml
@@ -0,0 +1,30 @@
+
+
+
+
+ 全部
+ {{ totalMemberCount }}
+
+
+ {{ levelItem.level_name }}
+ {{ levelItem.yz_member_count }}
+
+
+
+
+
+
+
+ {{ memberItem.member.nickname }}
+
+ {{ memberItem.level?memberItem.level.level_name:defaultLevelName }}
+
+
+
+ 手机号:{{ memberItem.member.mobile }}
+ 注册时间:{{ memberItem.created_at }}
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/member/myRelationship/amount/amount.wxss b/packageD/member/myRelationship/amount/amount.wxss
new file mode 100644
index 0000000..8baf443
--- /dev/null
+++ b/packageD/member/myRelationship/amount/amount.wxss
@@ -0,0 +1,86 @@
+/* packageD/member/myRelationship/amount/amount.wxss */
+#amount {
+ margin: 30rpx;
+}
+
+.level-tabbar {
+ width: 100%;
+ overflow: auto hidden;
+ white-space: nowrap;
+}
+
+.level-tabbar-item {
+ display: inline-block;
+ padding: 8rpx 10rpx;
+ margin-right: 22rpx;
+ min-width: 115rpx;
+ color: #959595;
+ font-size: 22rpx;
+ text-align: center;
+ border-radius: 8rpx;
+ background-color: #e7e7e7;
+ box-sizing: border-box;
+}
+
+.level-tabbar-item view {
+ font-size: 26rpx;
+}
+
+.level-tabbar-item-active {
+ color: #fff;
+ background-color: #fe5e56;
+}
+
+.client-list {
+ margin-top: 30rpx;
+}
+
+.client-item {
+ padding: 28rpx;
+ margin-bottom: 20rpx;
+ background-color: white;
+ border-radius: 20rpx;
+}
+
+.client-avatar {
+ width: 70rpx;
+ height: 70rpx;
+ vertical-align: top;
+ border-radius: 50%;
+}
+
+.client-info {
+ display: inline-block;
+ margin-left: 19rpx;
+}
+
+.client-nickname {
+ display: inline-block;
+ max-width: 270rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 30rpx;
+ font-weight: bold;
+ color: #202020;
+ vertical-align: middle;
+}
+
+.client-level {
+ display: inline-block;
+ margin-left: 26rpx;
+ padding: 6rpx;
+ border-radius: 4rpx;
+ color: #fe5e56;
+ background-color: #feebea;
+}
+
+.client-details {
+ margin-top: 13rpx;
+ color: #666;
+ font-size: 24rpx;
+}
+
+.client-details view:nth-child(odd) {
+ margin-bottom: 6rpx;
+}
diff --git a/packageD/member/myRelationship/detail/detail.js b/packageD/member/myRelationship/detail/detail.js
new file mode 100644
index 0000000..97253e9
--- /dev/null
+++ b/packageD/member/myRelationship/detail/detail.js
@@ -0,0 +1,61 @@
+// packageD//member/myrelationship/detail/detail.js
+const App = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ memberId: 0,
+ order: {},
+ level: {},
+ totalPromotionCount: 0,
+ member: {},
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ const memberId = options.member_id;
+ this.setData({
+ memberId,
+ });
+ wx.setNavigationBarTitle({
+ title: "会员概况",
+ });
+ this.getClients();
+ },
+ getClients() {
+ let url = App.getNetAddresss("plugin.member-center-agent.api.index");
+ url += "&member_id=" + this.data.memberId;
+ App._getNetWork({
+ url,
+ success: ({ data: { result, data, msg } }) => {
+ console.log(data);
+ if (result === 0) {
+ wx.showToast({
+ title: msg,
+ icon: "none",
+ duration: 1500,
+ mask: false,
+ success: (result) => {
+ setTimeout(() => {
+ wx.redirectTo({
+ url: "/packageD/member/myRelationship/myRelationship",
+ });
+ }, 1500);
+ },
+ });
+ }
+ data.order["orderCount"] = Number(data.order["orderCount"]);
+ const setData = {
+ level: data.level,
+ order: data.order,
+ totalPromotionCount: data.count,
+ member: data.member,
+ };
+ this.setData(setData);
+ },
+ });
+ },
+});
diff --git a/packageD/member/myRelationship/detail/detail.json b/packageD/member/myRelationship/detail/detail.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageD/member/myRelationship/detail/detail.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/member/myRelationship/detail/detail.wxml b/packageD/member/myRelationship/detail/detail.wxml
new file mode 100644
index 0000000..f65fb42
--- /dev/null
+++ b/packageD/member/myRelationship/detail/detail.wxml
@@ -0,0 +1,33 @@
+
+
+
+
+
+ {{ order.orderCount }}
+ 销售额
+
+
+ {{ order.orderNum }}
+ 销售笔数
+
+
+
+
+
+
+
+ {{ totalPromotionCount }}
+ 全部
+
+
+ {{ levelItem.yz_member_count }}
+ {{ levelItem.level_name }}
+
+
+
\ No newline at end of file
diff --git a/packageD/member/myRelationship/detail/detail.wxss b/packageD/member/myRelationship/detail/detail.wxss
new file mode 100644
index 0000000..f39a141
--- /dev/null
+++ b/packageD/member/myRelationship/detail/detail.wxss
@@ -0,0 +1,83 @@
+/* packageD//member/myrelationship/detail/detail.wxss */
+.overview-module {
+ margin: 60rpx 30rpx;
+ padding: 25rpx 35rpx;
+ border-radius: 20rpx;
+ background-color: white;
+}
+
+.member-header {
+ transform: translateY(-66rpx);
+}
+
+.member-avatar {
+ width: 100rpx;
+ height: 100rpx;
+ border-radius: 50%;
+}
+
+.member-nickname {
+ margin-left: 20rpx;
+ font-size: 32rpx;
+ color: #202020;
+ font-weight: normal;
+ font-stretch: normal;
+ vertical-align: text-bottom;
+}
+
+.member-performed-statistics {
+ display: flex;
+ align-self: center;
+ justify-content: space-around;
+ text-align: center;
+}
+
+.member-performed-sta-item {
+ width: 50%;
+ flex-shrink: 0;
+}
+
+.member-performed-statistics .sta-count {
+ overflow: hidden;
+ line-height: 32rpx;
+ font-size: 32rpx;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #202020;
+}
+
+.member-performed-statistics .sta-title {
+ margin-top: 18rpx;
+ line-height: 30rpx;
+ font-size: 30rpx;
+ color: #666;
+}
+
+.member-promotion-statistics {
+ display: grid;
+ grid-template-columns: repeat(3, 33.333%);
+ align-items: center;
+ row-gap: 38rpx;
+ text-align: center;
+}
+
+.member-performed-sta-item {
+ width: 33.333%;
+ flex-shrink: 0;
+}
+
+.member-promotion-statistics .sta-count {
+ overflow: hidden;
+ line-height: 32rpx;
+ font-size: 32rpx;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #202020;
+}
+
+.member-promotion-statistics .sta-title {
+ margin-top: 18rpx;
+ line-height: 30rpx;
+ font-size: 30rpx;
+ color: #666;
+}
diff --git a/packageD/member/myRelationship/myRelationship.js b/packageD/member/myRelationship/myRelationship.js
new file mode 100644
index 0000000..134597f
--- /dev/null
+++ b/packageD/member/myRelationship/myRelationship.js
@@ -0,0 +1,632 @@
+// pages/member/myRelationship/myRelationship.js
+let setTitleHandle = null; //* 定时设置页面标题handle
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ name: "",
+ agent: {},
+ language: "",
+ activeName: "first",
+ activeNameidx: 0,
+ first_content: [],
+ second_content: [],
+ third_content: [],
+ //我的推荐人
+ myReferral: "",
+ title1: "",
+ title2: "",
+ title3: "",
+ WeChat: "",
+ phone: "",
+ //我推荐的人
+ total: 0,
+ level1: "",
+ level2: "",
+ level3: "",
+ currentTabIndex: 0,
+ is_first_content: false,
+ is_second_content: false,
+ is_third_content: false,
+ relationLevel: "",
+ level1_page: 0,
+ level2_page: 0,
+ level3_page: 0,
+ keyword: "",
+ level: "",
+ last_page: "",
+ isShowClient: false,
+ btnShow1: true,
+ btnShow2: true,
+ btnShow3: true,
+ // 推荐人微信、手机号是否显示
+ is_recommend_wechat: 0,
+ keyword1: "",
+ keyword2: "",
+ keyword3: "",
+ new_content: [],
+ //加载更多
+ isLoadMore: true,
+ total_page: 0,
+ page: 1,
+ my_achievement: false,
+ isLink: false,
+ show_parents:0
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.pageInit();
+ this._getMyRelation();
+ // this._getMyAgentBaseInfo();
+ },
+ pageInit() {
+ this.setData({
+ level1_page: 0,
+ level2_page: 0,
+ level3_page: 0,
+ first_content: [],
+ second_content: [],
+ third_content: [],
+ btnShow1: true,
+ btnShow2: true,
+ btnShow3: true,
+ keyword1: "",
+ keyword2: "",
+ keyword3: "",
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ let that = this;
+ wx.getStorage({
+ key: "yz_basic_info",
+ success: function (res) {
+ if (setTitleHandle !== null) {
+ clearTimeout(setTitleHandle);
+ }
+ setTitleHandle = setTimeout(function () {
+ that.setData({
+ agent: res.data.lang.agent ? res.data.lang.agent : {},
+ name:
+ res.data.lang.agent && res.data.lang.agent.agent
+ ? res.data.lang.agent.agent
+ : "客户",
+ });
+ wx.setNavigationBarTitle({
+ title: that.data.name,
+ });
+ }, 2000);
+ },
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+ clearTimeout(setTitleHandle);
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.isLoadMore) {
+ this.getMoreData();
+ } else {
+ console.log("没有更多数据");
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ //我的推荐人
+ _getMyRelation() {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member.get-member-list");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ my_achievement: res.data.my_achievement,
+ myReferral: res.data.my_referral,
+ is_recommend_wechat: res.data.my_referral.is_recommend_wechat,
+ self_info: res.data.my_referral.self
+ ? res.data.my_referral.self
+ : {},
+ title1: res.data.my_referral.name1,
+ title2: res.data.my_referral.name2,
+ title3: res.data.my_referral.name3,
+ WeChat: parseInt(res.data.my_referral.wechat),
+ phone: parseInt(res.data.my_referral.phone),
+ realname: parseInt(res.data.my_referral.realname),
+ isLoadMore: true,
+ total_page: 0,
+ page: 1,
+ new_content: [],
+ isShowClient: res.data.my_referral.is_show == "1" ? true : false,
+ my_referral_parents: res.data.my_referral_parents,
+ isLink: res.data.hasOwnProperty("is_link")
+ ? res.data.is_link
+ : false,
+ });
+ that._getMyAgentBaseInfo(res.data.my_agent);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ //我推荐的人基本信息
+ _getMyAgentBaseInfo(data) {
+ let that = this;
+ that.setData({
+ total: data.total,
+ level1: data.level1,
+ level2: data.level2,
+ level3: data.level3,
+ });
+ if (!app._isTextEmpty(that.data.level1) && that.data.level1.is_show) {
+ that.setData({
+ activeName: "first",
+ activeNameidx: 0,
+ currentTabIndex: "0",
+ });
+ that._setDataByTabIndex(); //获取数据
+ return;
+ }
+
+ if (!app._isTextEmpty(that.data.level2) && that.data.level2.is_show) {
+ that.setData({
+ activeName: "second",
+ activeNameidx: 1,
+ currentTabIndex: "1",
+ });
+ that._setDataByTabIndex(); //获取数据
+ return;
+ }
+
+ if (!app._isTextEmpty(that.data.level3) && that.data.level3.is_show) {
+ that.setData({
+ activeName: "third",
+ activeNameidx: 2,
+ currentTabIndex: "2",
+ });
+ that._setDataByTabIndex(); //获取数据
+ return;
+ }
+ },
+ //设置选择后的数据
+ _setDataByTabIndex() {
+ if (this.data.currentTabIndex == "0" && !this.data.is_first_content) {
+ this.setData({
+ is_first_content: true,
+ relationLevel: "1",
+ });
+ this._getData();
+ } else if (
+ this.data.currentTabIndex == "1" &&
+ !this.data.is_second_content
+ ) {
+ this.setData({
+ is_second_content: true,
+ relationLevel: "2",
+ });
+ this._getData();
+ } else if (
+ this.data.currentTabIndex == "2" &&
+ !this.data.is_third_content
+ ) {
+ this.setData({
+ is_third_content: true,
+ relationLevel: "3",
+ });
+ this._getData();
+ }
+ },
+ goMarket(evt) {
+ if (!this.data.my_achievement) return;
+ let marketid = evt.currentTarget.dataset.marketid;
+ wx.navigateTo({
+ url: "/packageD/member/myMarket/myMarket?marketid=" + marketid,
+ });
+ },
+ searchbtn(e) {
+ let val = e.detail.value;
+ switch (this.data.currentTabIndex) {
+ case "0":
+ this.setData({
+ keyword1: val,
+ });
+ break;
+ case "1":
+ this.setData({
+ keyword2: val,
+ });
+ break;
+ case "2":
+ this.setData({
+ keyword3: val,
+ });
+ break;
+ default:
+ break;
+ }
+ },
+ search() {
+ let that = this;
+ var page = 1;
+ let keyword = "";
+ this.setData({
+ isLoadMore: true,
+ page: 1,
+ total_page: 0,
+ });
+ switch (this.data.currentTabIndex) {
+ case "0":
+ that.setData({
+ relationLevel: "1",
+ });
+ page = 1;
+ that.setData({
+ level1_page: page,
+ btnShow1: true,
+ });
+ keyword = that.data.keyword1;
+ break;
+ case "1":
+ that.setData({
+ relationLevel: "2",
+ });
+ page = 1;
+ that.setData({
+ level2_page: page,
+ btnShow2: true,
+ });
+ keyword = that.data.keyword2;
+ break;
+ case "2":
+ that.setData({
+ relationLevel: "3",
+ });
+ page = 1;
+ that.setData({
+ level3_page: page,
+ btnShow3: true,
+ });
+ keyword = that.data.keyword3;
+ break;
+ default:
+ break;
+ }
+ let urlStr = app.getNetAddresss("member.member.getMyAgentData_v2");
+ urlStr += "&relationLevel=" + that.data.relationLevel;
+ urlStr += "&page=" + page;
+ urlStr += "&keyword=" + keyword;
+ urlStr += "&level=" + that.data.level;
+ urlStr += "¤t_page=" + page;
+ urlStr += "&last_page=" + that.data.last_page;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ new_content: res.data.data,
+ total_page: res.data.last_page,
+ page: 1,
+ });
+ switch (that.data.currentTabIndex) {
+ case "0":
+ that.setData({
+ "level1.total": res.data.total,
+ });
+ break;
+ case "1":
+ that.setData({
+ "level2.total": res.data.total,
+ });
+ break;
+ case "2":
+ that.setData({
+ "level3.total": res.data.total,
+ });
+ break;
+ default:
+ break;
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ // 加载更多
+ getMoreData() {
+ const that = this;
+ var page = 1;
+ let keyword = "";
+ switch (this.data.currentTabIndex) {
+ case "0":
+ that.setData({
+ relationLevel: "1",
+ });
+ page = 1;
+ that.setData({
+ level1_page: page,
+ btnShow1: true,
+ });
+ keyword = that.data.keyword1;
+ break;
+ case "1":
+ that.setData({
+ relationLevel: "2",
+ });
+ page = 1;
+ that.setData({
+ level2_page: page,
+ btnShow2: true,
+ });
+ keyword = that.data.keyword2;
+ break;
+ case "2":
+ that.setData({
+ relationLevel: "3",
+ });
+ page = 1;
+ that.setData({
+ level3_page: page,
+ btnShow3: true,
+ });
+ keyword = that.data.keyword3;
+ break;
+ default:
+ break;
+ }
+ that.data.isLoadMore = false; // 防止多次请求分页数据
+ if (this.data.page >= this.data.total_page) {
+ return;
+ } else {
+ this.data.page = this.data.page + 1;
+ let urlStr = app.getNetAddresss("member.member.getMyAgentData_v2");
+ urlStr += "&relationLevel=" + that.data.relationLevel;
+ urlStr += "&page=" + that.data.page;
+ urlStr += "&keyword=" + keyword;
+ urlStr += "&level=" + that.data.level;
+ urlStr += "¤t_page=" + that.data.page;
+ urlStr += "&last_page=" + that.data.last_page;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ new_content: that.data.new_content.concat(res.data.data),
+ isLoadMore: true,
+ });
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ isLoadMore: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ //加载数据
+ _getData() {
+ var that = this;
+ // var content = "";
+ var page = 1;
+ // var level_content = [];
+ switch (this.data.currentTabIndex) {
+ case "0":
+ that.setData({
+ relationLevel: "1",
+ });
+ // page = that.data.level1_page + 1;
+ // that.setData({
+ // level1_page: page
+ // })
+ break;
+ case "1":
+ that.setData({
+ relationLevel: "2",
+ });
+ // page = that.data.level2_page + 1;
+ // that.setData({
+ // level2_page: page
+ // })
+ break;
+ case "2":
+ that.setData({
+ relationLevel: "3",
+ });
+ // page = that.data.level3_page + 1;
+ // that.setData({
+ // level3_page: page
+ // })
+ break;
+ default:
+ break;
+ }
+ let urlStr = app.getNetAddresss("member.member.getMyAgentData_v2");
+ urlStr += "&relationLevel=" + that.data.relationLevel;
+ urlStr += "&page=" + page;
+ urlStr += "&keyword=" + that.data.keyword;
+ urlStr += "&level=" + that.data.level;
+ urlStr += "¤t_page=" + page;
+ urlStr += "&last_page=" + that.data.last_page;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ new_content: res.data.data,
+ page: 1,
+ total_page: res.data.last_page,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ _hidebutton() {
+ switch (this.data.currentTabIndex) {
+ case "0":
+ this.setData({
+ btnShow1: false,
+ });
+ break;
+ case "1":
+ this.setData({
+ btnShow2: false,
+ });
+ break;
+ case "2":
+ this.setData({
+ btnShow3: false,
+ });
+ break;
+ default:
+ break;
+ }
+ },
+ //tab 点击
+ handleClick(e) {
+ let idx = e.detail.index;
+ if (idx == 0) {
+ this.setData({
+ activeName: "first",
+ activeNameidx: 0,
+ });
+ } else if (idx == 1) {
+ this.setData({
+ activeName: "second",
+ activeNameidx: 1,
+ });
+ } else if (idx == 2) {
+ this.setData({
+ activeName: "third",
+ activeNameidx: 2,
+ });
+ }
+ let name = this.data.activeName;
+ let index = "";
+ switch (name) {
+ case "first":
+ index = "0";
+ break;
+ case "second":
+ index = "1";
+ break;
+ case "third":
+ index = "2";
+ break;
+
+ default:
+ break;
+ }
+ if (this.data.currentTabIndex == index) {
+ return;
+ } else {
+ this.setData({
+ currentTabIndex: index,
+ });
+ }
+ this.search();
+ // this._setDataByTabIndex();
+ },
+ //将微信号添加到剪贴板
+ handleToggle(e) {
+ let item = e.currentTarget.dataset.item;
+ wx.setClipboardData({
+ data: item.wechat.toString(),
+ success(res) {
+ wx.getClipboardData({
+ success(res) {
+ wx.showToast({
+ icon: "none",
+ title:
+ "已成功将" +
+ item.nickname +
+ "的微信号添加到剪贴板,通过微信添加朋友可加客户好友!",
+ duration: 1500,
+ });
+ },
+ });
+ },
+ });
+ },
+ //拨打客户电话
+ mobilebtn(e) {
+ let mobile = e.currentTarget.dataset.mobile;
+ wx.makePhoneCall({
+ phoneNumber: mobile,
+ });
+ },
+ viewAmount({ currentTarget: { dataset } }) {
+ if (!this.data.isLink) {
+ return;
+ }
+ let url = "/packageD/member/myRelationship/amount/amount";
+ if (dataset.total) {
+ url += "?type=total";
+ }
+ wx.navigateTo({
+ url,
+ });
+ },
+ viewMemberOverride(event) {
+ if (!this.data.isLink) {
+ return;
+ }
+ const id = event.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageD/member/myRelationship/detail/detail?member_id=" + id,
+ });
+ },
+ changeSuperior(){
+ this.setData({
+ show_parents: this.data.show_parents == 1?0:1
+ });
+ }
+});
diff --git a/packageD/member/myRelationship/myRelationship.json b/packageD/member/myRelationship/myRelationship.json
new file mode 100644
index 0000000..01a819a
--- /dev/null
+++ b/packageD/member/myRelationship/myRelationship.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "我的客户",
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageD/member/myRelationship/myRelationship.wxml b/packageD/member/myRelationship/myRelationship.wxml
new file mode 100644
index 0000000..0e78659
--- /dev/null
+++ b/packageD/member/myRelationship/myRelationship.wxml
@@ -0,0 +1,262 @@
+
+
+
+
+
+
+
+
+ {{self_info.nickname}}
+ {{self_info.uid}}
+
+ 我的市场
+
+
+
+ 推荐人
+
+
+
+
+
+
+ 昵称:{{myReferral.nickname}}
+ {{myReferral.uid}}
+
+
+
+
+ {{myReferral.referrer_phone}}
+
+
+
+ {{myReferral.referrer_wechat}}
+
+
+
+ >
+
+
+
+ 推荐人的上级
+
+
+
+
+
+
+ 昵称:{{my_referral_parents.nickname}}
+
+ {{my_referral_parents.uid}}
+
+
+
+
+
+ {{ my_referral_parents.referrer_phone }}
+
+
+
+ {{ my_referral_parents.referrer_wechat }}
+
+
+
+ <
+
+
+
+
+ {{agent.agent_num?agent.agent_num:'客户数量'}}(人)
+ {{myReferral.child_total}}
+
+
+ {{agent.agent_count?agent.agent_count:'总客户数'}}(人)
+ {{myReferral.team_total}}
+
+
+ {{agent.agent_order?agent.agent_order:'客户订单'}}(元)
+ {{myReferral.child_order_money}}
+
+
+
+ {{agent.agent_order_count?agent.agent_order_count:'客户总订单'}}({{language['元']}})
+
+ {{myReferral.team_order_money}}
+
+
+ {{agent.agent_goods_num?agent.agent_goods_num:'客户总支付商品数量'}}
+ {{myReferral.team_goods_total}}
+
+
+
+ 注:所有数据为截至到昨天汇总数据!
+ 订单数、订单总额统计已完成的订单数据
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{itemName_1.nickname}}
+ {{itemName_1.id}}
+
+
+ {{itemName_1.realname}}
+
+ {{itemName_1.createtime}}
+
+
+
+
+
+
+ 拨号
+
+
+
+
+ 订单数:{{itemName_1.child_order_total}}个
+ {{name}}数量:{{itemName_1.team_total}}个
+
+
+
+ 订单总额:{{itemName_1.child_order_money}}{{language['元']}}
+
+
+ {{name}}订单:{{itemName_1.team_order_money}}{{language['元']}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{itemName_2.nickname}}
+ {{itemName_2.id}}
+
+
+ {{itemName_1.realname}}
+
+ {{itemName_2.createtime}}
+
+
+
+
+
+
+ 拨号
+
+
+
+
+ 订单数:{{itemName_2.child_order_total}}个
+ {{name}}数量:{{itemName_2.team_total}}个
+
+
+
+ 订单总额:{{itemName_2.child_order_money}}{{language['元']}}
+
+
+ {{name}}订单:{{itemName_2.team_order_money}}{{language['元']}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{itemName_3.nickname}}
+ {{itemName_3.id}}
+
+
+ {{itemName_1.realname}}
+
+ {{itemName_3.createtime}}
+
+
+
+
+
+
+ 拨号
+
+
+
+
+ 订单数:{{itemName_3.child_order_total}}个
+ {{name}}数量:{{itemName_3.team_total}}个
+
+
+
+ 订单总额:{{itemName_3.child_order_money}}{{language['元']}}
+
+
+ {{name}}订单:{{itemName_3.team_order_money}}{{language['元']}}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/member/myRelationship/myRelationship.wxss b/packageD/member/myRelationship/myRelationship.wxss
new file mode 100644
index 0000000..bf9de60
--- /dev/null
+++ b/packageD/member/myRelationship/myRelationship.wxss
@@ -0,0 +1,553 @@
+/* pages/member/myRelationship/myRelationship.wxss
+.myrelationship .content .header_box {
+ background: #fff;
+}
+
+.myrelationship .content .header_box .h1 {
+ line-height: 80rpx;
+ font-size: 30rpx;
+ padding: 0 28rpx;
+}
+
+.myrelationship .content .header_box .header {
+ background-color: #fafafa;
+ padding: 40rpx 28rpx;
+ display: flex;
+}
+
+.myrelationship .content .header_box .header .img {
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 56rpx;
+ border: solid 4rpx #fff;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.myrelationship .content .header_box .header .img image {
+ width: 100%;
+}
+
+.myrelationship .content .header_box .header .name .li {
+ line-height: 48rpx;
+ text-align: left;
+ font-size: 30rpx;
+}
+
+.myrelationship .content .header_box .header .name .li:last-child {
+ font-size: 28rpx;
+ color: #8c8c8c;
+}
+
+.myrelationship .content .number_order {
+ background-color: #fff;
+ color: #333;
+}
+
+.myrelationship .content .number_order .number_box {
+ padding: 20rpx 0;
+ display: flex;
+}
+
+.myrelationship .content .number_order .number_box .li {
+ font-size: 32rpx;
+}
+
+.myrelationship .content .number_order .number_box .li .span {
+ line-height: 60rpx;
+ text-align: left;
+ padding: 0 20rpx;
+}
+
+.myrelationship .content .number_order .note {
+ background: #fafafa;
+ line-height: 72rpx;
+ text-align: left;
+ padding: 0 28rpx;
+ font-size: 28rpx;
+ color: #8c8c8c;
+}
+
+.myrelationship .content .info_list .list_box .list {
+ background-color: #fff;
+ margin-bottom: 20rpx;
+}
+
+.myrelationship .content .info_list .list_box .list .list_top {
+ padding: 24rpx 0;
+ display: flex;
+ justify-content: space-between;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.myrelationship .content .info_list .list_box .list .list_top .header_left {
+ padding-left: 24rpx;
+ display: flex;
+}
+
+.myrelationship .content .info_list .list_box .list .list_top .header_left .img {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 40rpx;
+ overflow: hidden;
+ margin-right: 20rpx;
+}
+
+.myrelationship .content .info_list .list_box .list .list_top .header_left .img image {
+ width: 100%;
+}
+
+.myrelationship .content .info_list .list_box .list .list_top .header_left .name {
+ text-align: left;
+ width: 320rpx;
+}
+
+.myrelationship .content .info_list .list_box .list .list_top .header_left .name .li:first-child {
+ font-size: 32rpx;
+ color: #333;
+ line-height: 48rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.myrelationship .content .info_list .list_box .list .list_top .header_left .name .li:last-child {
+ font-size: 28rpx;
+ color: #8c8c8c;
+}
+
+.myrelationship .content .info_list .list_box .list .list_top .header_right {
+ padding-right: 20rpx;
+ display: flex;
+ align-items: center;
+}
+
+.myrelationship .content .info_list .list_box .list .list_top .header_right .Wechat,
+.myrelationship .content .info_list .list_box .list .list_top .header_right .phone,
+.myrelationship .content .info_list .list_box .list .list_top .header_right .news {
+ width: 80rpx;
+ height: 80rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.myrelationship .content .info_list .list_box .list .order_info {
+ padding: 20rpx 0;
+ display: flex;
+}
+
+.myrelationship .content .info_list .list_box .list .order_info .order_number,
+.myrelationship .content .info_list .list_box .list .order_info .order_sum {
+ width: 50%;
+ text-align: left;
+}
+
+.myrelationship .content .info_list .list_box .list .order_info .order_number .li,
+.myrelationship .content .info_list .list_box .list .order_info .order_sum .li {
+ line-height: 52rpx;
+ font-size: 28rpx;
+ padding: 0 20rpx;
+}
+
+.buttongroup {
+ padding-top: 50rpx;
+ padding-bottom: 50rpx;
+}
+
+.buttongroup .more_btn {
+ font-size: 30rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ border-radius: 6rpx;
+ color: #454545;
+ border: 2rpx solid #eaeaea;
+}
+ */
+
+/* .myrelationship {} */
+
+.myrelationship .userTop {
+ background-color: #fff;
+ display: flex;
+ align-items: center;
+ padding-left: 34rpx;
+ padding-top: 45rpx;
+ padding-bottom: 45rpx;
+ margin-bottom: 20rpx;
+}
+
+.myrelationship .userTop .left {
+ width: 136rpx;
+ height: 136rpx;
+ border-radius: 50%;
+ margin-right: 24rpx;
+}
+
+.myrelationship .userTop .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.myrelationship .userTop .right {
+ flex: 1;
+}
+
+.myrelationship .userTop .right .name {
+ font-size: 36rpx;
+ line-height: 36rpx;
+ color: #413e4b;
+ padding-top: 28rpx;
+ margin-bottom: 23rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.myrelationship .userTop .right .userId {
+ font-size: 28rpx;
+ font-weight: normal;
+ font-stretch: normal;
+ color: #787878;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.myrelationship .userTop .goMarket {
+ margin-right: 0.875rem;
+ width: 5.56rem;
+ height: 2.19rem;
+ line-height: 2.19rem;
+ border-radius: 0.31rem;
+ color: rgba(238, 82, 83, 100);
+ font-size: 0.88rem;
+ text-align: center;
+ border: 0.06rem solid rgba(238, 82, 83, 100);
+}
+
+.myrelationship .referee {
+ background-color: #fff;
+ margin-bottom: 20rpx;
+}
+
+.myrelationship .referee .h1 {
+ font-size: 36rpx;
+ line-height: 36rpx;
+ color: #333;
+ padding-left: 34rpx;
+ padding-top: 42rpx;
+}
+
+.myrelationship .referee .referee_message {
+ display: flex;
+ padding-left: 41rpx;
+ padding-top: 50rpx;
+ padding-bottom: 49rpx;
+}
+
+.myrelationship .referee .referee_message .left {
+ width: 105rpx;
+ height: 105rpx;
+ border-radius: 50%;
+ margin-right: 25rpx;
+}
+
+.myrelationship .referee .referee_message .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.myrelationship .referee .referee_message .right .top {
+ padding-top: 8rpx;
+ display: flex;
+}
+
+.myrelationship .referee .referee_message .right .top .top_left {
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #333;
+ margin-right: 14rpx;
+ max-width: 400rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.myrelationship .referee .referee_message .right .top .top_right {
+ min-width: 91rpx;
+ height: 41rpx;
+ background-color: #ffe4dc;
+ border-radius: 21rpx;
+ font-size: 24rpx;
+ line-height: 41rpx;
+ text-align: center;
+ color: #ff3600;
+}
+
+.myrelationship .referee .referee_message .right .bottom {
+ display: flex;
+ padding-top: 20rpx;
+}
+
+.myrelationship .referee .referee_message .right .bottom .cellphone {
+ display: flex;
+ align-items: center;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #333;
+ margin-right: 35rpx;
+}
+
+.myrelationship .referee .referee_message .right .bottom .wechat {
+ display: flex;
+ align-items: center;
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #333;
+ padding-left: 25rpx;
+}
+
+.myrelationship .referee .referee_list {
+ /* display: flex; */
+ padding-left: 25rpx;
+ width: 100%;
+ overflow-x: auto;
+ white-space: nowrap;
+ padding: 4rpx 28rpx 8rpx 28rpx;
+ box-sizing: border-box;
+}
+
+.myrelationship .referee .referee_list .li {
+ background-color: #fff;
+ box-shadow: #ccc 0 0 10rpx;
+ border-radius: 5rpx;
+ margin-right: 25rpx;
+ width: 240rpx;
+ height: 160rpx;
+ box-sizing: border-box;
+ padding-left: 10rpx;
+ padding-top: 30rpx;
+ display: inline-block;
+}
+
+.myrelationship .referee .referee_list .li .top {
+ font-size: 24rpx;
+ color: #000;
+}
+
+.myrelationship .referee .referee_list .li .bottom {
+ font-size: 42rpx;
+ color: #000;
+}
+
+.myrelationship .referee .referee_list .li_1 {
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/person@2x.png');
+ background-repeat: no-repeat;
+ background-position: right bottom;
+ background-size: 71rpx;
+}
+
+.myrelationship .referee .referee_list .li_2 {
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/person@2x.png');
+ background-repeat: no-repeat;
+ background-position: right bottom;
+ background-size: 71rpx;
+}
+
+.myrelationship .referee .referee_list .li_3 {
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/order@2x.png');
+ background-repeat: no-repeat;
+ background-position: right bottom;
+ background-size: 71rpx;
+}
+
+.myrelationship .referee .referee_list .li_4 {
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/order@2x.png');
+ background-repeat: no-repeat;
+ background-position: right bottom;
+ background-size: 71rpx;
+}
+
+.myrelationship .referee .referee_list .li_5 {
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/bag@2x.png');
+ background-repeat: no-repeat;
+ background-position: right bottom;
+ background-size: 71rpx;
+}
+
+.myrelationship .referee .referee_tips {
+ padding-left: 31rpx;
+ padding-top: 50rpx;
+ padding-bottom: 48rpx;
+}
+
+.myrelationship .referee .referee_tips .li {
+ font-size: 22rpx;
+ line-height: 36rpx;
+ color: #999;
+}
+
+.myrelationship .content {
+ background-color: #fff;
+ padding-top: 25rpx;
+ min-height: 200rpx;
+}
+
+.myrelationship .content .search {
+ width: 636rpx;
+ height: 56rpx;
+ background-color: #f9f9f9;
+ border-radius: 28rpx;
+ display: flex;
+ align-items: center;
+ box-sizing: border-box;
+ padding-left: 20rpx;
+ margin-left: 58rpx;
+}
+
+.myrelationship .content .search .right {
+ flex: 1;
+}
+
+.myrelationship .content .search .right input {
+ width: 100%;
+ box-sizing: border-box;
+ padding-left: 14rpx;
+ padding-right: 14rpx;
+}
+
+.myrelationship .content .ul {
+ padding-left: 25rpx;
+ padding-right: 25rpx;
+}
+
+.myrelationship .content .ul .li {
+ padding-top: 26rpx;
+ padding-left: 25rpx;
+ padding-right: 25rpx;
+ border-bottom: 1px solid #e6e6e6;
+}
+
+.myrelationship .content .ul .li .top {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.myrelationship .content .ul .li .top .left {
+ display: flex;
+}
+
+.myrelationship .content .ul .li .top .left .pic {
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 50%;
+ margin-right: 24rpx;
+ position: relative;
+}
+
+.myrelationship .content .ul .li .top .left .pic image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.myrelationship .content .ul .li .top .left .pic .invitershow {
+ position: absolute;
+ right: 2rpx;
+ bottom: -1rpx;
+ width: 32rpx;
+ height: 32rpx;
+}
+
+.myrelationship .content .ul .li .top .left .name_message {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-around;
+}
+
+.myrelationship .content .ul .li .top .left .name_message .name_message_top {
+ display: flex;
+ align-items: center;
+}
+
+.myrelationship .content .ul .li .top .left .name_message .name_message_top .member_id {
+ min-width: 91rpx;
+ height: 41rpx;
+ text-align: center;
+ background-color: #ffe4dc;
+ border-radius: 21rpx;
+ font-size: 24rpx;
+ line-height: 41rpx;
+ color: #ff3600;
+}
+
+.myrelationship .content .ul .li .top .left .name_message .name {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #333;
+ max-width: 400rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ margin-right: 14rpx;
+}
+
+.myrelationship .content .ul .li .top .left .name_message .realname {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #666;
+}
+
+.myrelationship .content .ul .li .top .left .name_message .date {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #666;
+}
+
+.myrelationship .content .ul .li .top .right {
+ width: 106rpx;
+ height: 49rpx;
+ background-color: #ff2c29;
+ border-radius: 25rpx;
+ font-size: 24rpx;
+ line-height: 49rpx;
+ color: #f9f9f9;
+ text-align: center;
+}
+
+.myrelationship .content .ul .li .order_info {
+ display: flex;
+ padding-top: 30rpx;
+}
+
+.myrelationship .content .ul .li .order_info .order_li {
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #333;
+ padding-bottom: 20rpx;
+ max-width: 370rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.myrelationship .content .ul .li .order_info .order_number .order_li {
+ width: 370rpx;
+}
+
+.go-btn {
+ flex: 0 0 3.5rem;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: #c5c5c5;
+ border-radius: 100% 0 0 100%;
+ color: #fff;
+ font-size: 1.25rem;
+}
diff --git a/packageD/mycomponent/add-goods/add-goods.js b/packageD/mycomponent/add-goods/add-goods.js
new file mode 100644
index 0000000..2f90d4f
--- /dev/null
+++ b/packageD/mycomponent/add-goods/add-goods.js
@@ -0,0 +1,28 @@
+// packageD/mycomponent/add-goods/add-goods.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ datas: {
+ type: Array,
+ value: []
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ toFullPage(){
+ this.triggerEvent("click");
+ }
+ }
+});
diff --git a/packageD/mycomponent/add-goods/add-goods.json b/packageD/mycomponent/add-goods/add-goods.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/packageD/mycomponent/add-goods/add-goods.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/add-goods/add-goods.wxml b/packageD/mycomponent/add-goods/add-goods.wxml
new file mode 100644
index 0000000..de1500f
--- /dev/null
+++ b/packageD/mycomponent/add-goods/add-goods.wxml
@@ -0,0 +1,14 @@
+
+
+
+
+ 减可继续挑选商品减运费
+ 更多
+
+
+
+
+ ¥{{ item.price }}
+
+
+
diff --git a/packageD/mycomponent/add-goods/add-goods.wxss b/packageD/mycomponent/add-goods/add-goods.wxss
new file mode 100644
index 0000000..e0efd80
--- /dev/null
+++ b/packageD/mycomponent/add-goods/add-goods.wxss
@@ -0,0 +1,87 @@
+/* packageD/mycomponent/add-goods/add-goods.wxss */
+view {
+ box-sizing: border-box;
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-member_right::before {
+ content: "\e881";
+}
+
+.add-goods-module {
+ margin-top: 20rpx;
+ padding: 0 28rpx 24rpx;
+ background: #fff;
+ font-size: 12px;
+}
+
+.add-goods-module .cell-title {
+ height: 80rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.add-goods-module .cell-title .cell-title-left {
+ display: flex;
+}
+
+.add-goods-module .cell-title .cell-title-left .cube {
+ display: block;
+ padding: 0 8rpx;
+ height: 36rpx;
+ background-color: #f15053;
+ border-radius: 4rpx;
+ color: #fff;
+ margin-right: 8rpx;
+}
+
+.add-goods-module .cell-title .cell-title-right {
+ color: #f15053;
+}
+
+.add-goods-module .add-good-list {
+ background-color: #fafafa;
+ border-radius: 12rpx;
+ display: grid;
+ height: 180rpx;
+ grid-template-columns: repeat(4, 1fr);
+ justify-items: center;
+ align-items: center;
+}
+
+.add-goods-module .add-good-list .good-child {
+ width: 152rpx;
+ height: 152rpx;
+ background-color: #c1c1c1;
+ border-radius: 8rpx;
+ position: relative;
+ overflow: hidden;
+}
+
+.add-goods-module .add-good-list .good-child .add-good-img {
+ display: block;
+ width: 100%;
+ height: 100%;
+}
+
+.add-goods-module .add-good-list .good-child .add-good-price {
+ position: absolute;
+ height: 40rpx;
+ line-height: 40rpx;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background-color: #000;
+ opacity: 0.6;
+ color: #fff;
+ font-size: 10px;
+ text-align: center;
+}
diff --git a/packageD/mycomponent/agency-saleman/agency-saleman.js b/packageD/mycomponent/agency-saleman/agency-saleman.js
new file mode 100644
index 0000000..ab10b73
--- /dev/null
+++ b/packageD/mycomponent/agency-saleman/agency-saleman.js
@@ -0,0 +1,59 @@
+// packageD/mycomponent/agency-saleman/agency-saleman.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ mid: {
+ type: [String, Number],
+ value: '0'
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ error: false,
+ timeoutId: null, //防抖,防止触发
+ self_member_id: "",
+ placeholder: "请输入销售员ID(选填)"
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ inputChange(e) {
+ if (this.data.error) {
+ this.setData({
+ error: false
+ });
+ }
+ if (e.detail == this.data.mid) {
+ this.setData({
+ placeholder: '禁止输入自己的销售员ID'
+ });
+ }
+ this.setData({
+ self_member_id: e.detail
+ });
+ if (this.data.timeoutId) {
+ clearTimeout(this.data.timeoutId); // 先清除之前的延时,并在下面重新开始计算时间
+ }
+ // clearTimeout方法,以便控制连续触发带来的无用调用
+ this.data.timeoutId = setTimeout(() => {
+ // time 毫秒以后执行方法
+ this.blurInput();
+ }, 1500); // 如果还没有执行就又被触发,会根据上面的clearTimeout来清除并重新开始计算
+ },
+ blurInput() {
+ if (this.data.self_member_id == this.data.mid) {
+ this.setData({
+ error: true,
+ self_member_id: ''
+ });
+ }
+ }
+ }
+});
\ No newline at end of file
diff --git a/packageD/mycomponent/agency-saleman/agency-saleman.json b/packageD/mycomponent/agency-saleman/agency-saleman.json
new file mode 100644
index 0000000..6af3f4d
--- /dev/null
+++ b/packageD/mycomponent/agency-saleman/agency-saleman.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "/dist/field/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/agency-saleman/agency-saleman.wxml b/packageD/mycomponent/agency-saleman/agency-saleman.wxml
new file mode 100644
index 0000000..f8632c9
--- /dev/null
+++ b/packageD/mycomponent/agency-saleman/agency-saleman.wxml
@@ -0,0 +1,9 @@
+
+
+ 请输入销售员ID
+
+
+
+
\ No newline at end of file
diff --git a/packageD/mycomponent/agency-saleman/agency-saleman.wxss b/packageD/mycomponent/agency-saleman/agency-saleman.wxss
new file mode 100644
index 0000000..6ec846c
--- /dev/null
+++ b/packageD/mycomponent/agency-saleman/agency-saleman.wxss
@@ -0,0 +1,12 @@
+/* packageD/mycomponent/agency-saleman/agency-saleman.wxss */
+.tbs.coupon-list {
+ margin-top: 10px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background: #fff;
+ flex-flow: row wrap;
+ padding: 20rpx 28rpx;
+ line-height: 48rpx;
+ font-size: 30rpx;
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/city-delivery-day/city-delivery-day.js b/packageD/mycomponent/city-delivery-day/city-delivery-day.js
new file mode 100644
index 0000000..f323ea4
--- /dev/null
+++ b/packageD/mycomponent/city-delivery-day/city-delivery-day.js
@@ -0,0 +1,69 @@
+// packageD/mycomponent/city_delivery_day/city_delivery_day.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ popShow:false,
+ day_list:[],
+ day_index:0,
+ time_list:[],
+ time_index:null
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ setPopShow(){
+ this.setData({
+ popShow:!this.data.popShow
+ });
+ },
+ setListData(arr,default_choose=0){
+ if(arr.length==0) return;
+ this.setData({
+ day_list:arr,
+ time_list:arr[0].time_arr
+ });
+ //开启默认选择最近时间
+ if(default_choose==1){
+ this.setDayIndex(0);
+ this.setTimeIndex(0);
+ this.confirm();
+ }
+ },
+ setDayIndex(evt){
+ let index = evt.currentTarget ? evt.currentTarget.dataset.index : evt;
+ if(this.data.day_index == index) return;
+ this.setData({
+ day_index:index,
+ time_index:null,
+ time_list:this.data.day_list[index].time_arr
+ });
+ },
+ setTimeIndex(evt){
+ let index = evt.currentTarget ? evt.currentTarget.dataset.index : evt;
+ this.setData({
+ time_index:index
+ });
+ },
+ confirm(evt=null){
+ if(this.data.time_index == null) return;
+ let time = this.data.time_list[this.data.time_index];
+ time.day = this.data.day_list[this.data.day_index].day;
+ this.triggerEvent("confirm",time);
+ if(evt!=null){
+ this.setPopShow();
+ }
+
+ }
+ }
+});
diff --git a/packageD/mycomponent/city-delivery-day/city-delivery-day.json b/packageD/mycomponent/city-delivery-day/city-delivery-day.json
new file mode 100644
index 0000000..56e3e78
--- /dev/null
+++ b/packageD/mycomponent/city-delivery-day/city-delivery-day.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/city-delivery-day/city-delivery-day.wxml b/packageD/mycomponent/city-delivery-day/city-delivery-day.wxml
new file mode 100644
index 0000000..b35c329
--- /dev/null
+++ b/packageD/mycomponent/city-delivery-day/city-delivery-day.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+ 送达时间
+
+
+
+ {{item.day}}
+
+
+
+
+ {{item.start_time_str}}-{{item.end_time_str}}
+
+
+
+
+
+ 完成
+
+
+
diff --git a/packageD/mycomponent/city-delivery-day/city-delivery-day.wxss b/packageD/mycomponent/city-delivery-day/city-delivery-day.wxss
new file mode 100644
index 0000000..3f539db
--- /dev/null
+++ b/packageD/mycomponent/city-delivery-day/city-delivery-day.wxss
@@ -0,0 +1,80 @@
+/* packageD/mycomponent/city_delivery_day/city_delivery_day.wxss */
+
+
+@import "/mycss/iconfont.wxss";
+.deliveryTime {
+ height: 864rpx;
+}
+.deliveryTime .deliveryTime-title {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ font-size: 36rpx;
+ color: #2a2a2a;
+ font-weight: bold;
+}
+.deliveryTime .deliveryTime-container {
+ display: flex;
+ height: 640rpx;
+ background: #f7f7f7;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-day {
+ width: 250rpx;
+ height: 100%;
+ overflow: auto;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-day .deliveryTime-day-item {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 82rpx;
+ font-size: 30rpx;
+ color: #333333;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-day .deliveryTime-day-item.active {
+ color: #f05152;
+ background-color: #ffffff;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-hour {
+ flex: 1;
+ height: 100%;
+ padding-left: 50rpx;
+ padding-right: 35rpx;
+ overflow: auto;
+ background: #fff;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-hour .deliveryTime-hour-item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 82rpx;
+ font-size: 30rpx;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-hour .deliveryTime-hour-item.active {
+ color: #f05152;
+}
+.deliveryTime .deliveryTime-container .deliveryTime-hour .deliveryTime-hour-item .iconfont {
+ font-size: 32rpx;
+ color: #f05152;
+}
+.deliveryTime .deliveryTime-btn-wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ padding: 0 74rpx;
+}
+.deliveryTime .deliveryTime-btn-wrapper .deliveryTime-btn-item {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 100%;
+ height: 70rpx;
+ font-size: 26rpx;
+ font-weight: bold;
+ color: #ffffff;
+ background-color: #f05152;
+ border-radius: 35rpx;
+}
+
diff --git a/packageD/mycomponent/coupon_store_item/coupon_store_item.js b/packageD/mycomponent/coupon_store_item/coupon_store_item.js
new file mode 100644
index 0000000..d59dfbe
--- /dev/null
+++ b/packageD/mycomponent/coupon_store_item/coupon_store_item.js
@@ -0,0 +1,49 @@
+// packageD/mycomponent/coupon_store_item/coupon_store_item.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ datainfo: {
+ type: null,
+ },
+ ind: {
+ type: null,
+ },
+ integralname: {
+ type: String
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {},
+ lifetimes: {
+ attached() {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en,
+ });
+ },
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ claim(e) {
+ let info = {};
+ info.index = e.currentTarget.dataset.index;
+ info.item = e.currentTarget.dataset.item;
+ this.triggerEvent("claim", info);
+ },
+
+ showIntegralExchange (e) {
+ let info = {};
+ info.index = e.currentTarget.dataset.index;
+ info.item = e.currentTarget.dataset.item;
+ this.triggerEvent("showIntegralPopup", info);
+ },
+
+ },
+});
diff --git a/packageD/mycomponent/coupon_store_item/coupon_store_item.json b/packageD/mycomponent/coupon_store_item/coupon_store_item.json
new file mode 100644
index 0000000..7efff18
--- /dev/null
+++ b/packageD/mycomponent/coupon_store_item/coupon_store_item.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/coupon_store_item/coupon_store_item.wxml b/packageD/mycomponent/coupon_store_item/coupon_store_item.wxml
new file mode 100644
index 0000000..0b33451
--- /dev/null
+++ b/packageD/mycomponent/coupon_store_item/coupon_store_item.wxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+ {{language['money']}}{{datainfo.deduct}}
+ 满{{datainfo.enough}}立减
+
+
+ {{datainfo.discount}}折
+ 满{{datainfo.enough}}立享
+
+
+
+
+
+ {{datainfo.coupon_type_name}}
+ {{datainfo.name}}
+
+
+ 已领人数:{{datainfo.has_many_member_coupon_count}}人
+ 可领张数:{{datainfo.api_remaining}}张
+ 可领张数:多张
+
+
+
+ {{datainfo.exchange_coupon_integral?datainfo.exchange_coupon_integral:0}}{{integralname}}
+ 去兑换
+
+
+ 立即领取
+
+
+
+ 已领取
+
+
+ 已抢光
+
+
+
+
+
diff --git a/packageD/mycomponent/coupon_store_item/coupon_store_item.wxss b/packageD/mycomponent/coupon_store_item/coupon_store_item.wxss
new file mode 100644
index 0000000..7086a80
--- /dev/null
+++ b/packageD/mycomponent/coupon_store_item/coupon_store_item.wxss
@@ -0,0 +1,202 @@
+/* packageD/mycomponent/coupon_store_item/coupon_store_item.wxss */
+
+view,
+text,
+icon {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+}
+
+.coupon_voucher {
+ width: 704rpx;
+ margin: 0 auto;
+ margin-bottom: 51rpx;
+ display: flex;
+ flex-direction: column;
+ filter:
+ drop-shadow(
+ 0rpx 5rpx 18rpx
+ rgba(81, 81, 81, 0.52)
+ );
+ transform: translateX(-10rpx);
+}
+
+.coupon_voucher .coupon_voucher_wrapper {
+ display: flex;
+}
+
+.coupon_voucher .coupon_voucher_left {
+ width: 245rpx;
+ height: 215rpx;
+ margin-left: 20rpx;
+ position: relative;
+}
+
+.coupon_voucher .coupon_voucher_left .bg_icon {
+ width: 265rpx;
+ height: 215rpx;
+ position: absolute;
+ top: 0;
+ left: -20rpx;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 245rpx;
+ height: 215rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper .discount {
+ letter-spacing: 1rpx;
+ color: #fff;
+ font-size: 52rpx;
+ padding: 0 10rpx;
+ border-bottom: 2rpx dashed #f5f5f5;
+}
+
+.discountMum {
+ font-size: 40rpx;
+}
+
+.coupon_voucher .coupon_voucher_left .wrapper .limit {
+ letter-spacing: 1rpx;
+ color: #fff;
+ font-size: 28rpx;
+ margin-top: 5rpx;
+}
+
+.coupon_voucher .coupon_voucher_right {
+ width: 446rpx;
+ height: 215rpx;
+ padding: 18rpx 18rpx 22rpx 22rpx;
+ position: relative;
+ overflow: hidden;
+ background-color: #fff;
+}
+
+.coupon_voucher .coupon_voucher_right .c1 {
+ display: flex;
+}
+
+.coupon_voucher .coupon_voucher_right .c1 .label {
+ /* background-color: #fbbd5c; */
+ border-radius: 7rpx;
+ color: #fff;
+ font-size: 23rpx;
+ padding: 7rpx 13rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.coupon_voucher .coupon_voucher_right .c1 .title {
+ letter-spacing: 1rpx;
+ color: #000;
+ font-size: 28rpx;
+ margin-left: 17rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ flex: 1;
+}
+
+.coupon_voucher .coupon_voucher_right .c2 {
+ margin-top: 30rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.coupon_voucher .coupon_voucher_right .c2 .time {
+ font-size: 21rpx;
+ color: #9c9c9c;
+}
+
+.coupon_voucher .coupon_voucher_right .c3 {
+ display: flex;
+ justify-content: flex-end;
+ padding-right: 3rpx;
+}
+
+.coupon_voucher .coupon_voucher_right .c3 .describe {
+ flex: 1;
+ text-align: left;
+ color: #fb605f;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+.coupon_voucher .coupon_voucher_right .c3 .btn {
+ width: 158rpx;
+ height: 45rpx;
+
+ /* background-color: #fb946c; */
+ border-radius: 14rpx;
+ letter-spacing: 3rpx;
+ color: #fff;
+ font-size: 27rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.coupon_voucher .coupon_voucher_right .status {
+ position: absolute;
+ bottom: 50rpx;
+ right: 10rpx;
+ width: 158rpx;
+ height: 58rpx;
+ border: solid 2rpx #fb946c;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ transform: rotate(-35deg);
+}
+
+.coupon_voucher .coupon_voucher_right .status .wrapper {
+ width: 142rpx;
+ height: 44rpx;
+ border: solid 1rpx #fb946c;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ letter-spacing: 4rpx;
+ color: #fb946c;
+ font-size: 28rpx;
+}
+
+.baground_4 {
+ background-color: #6dccf8;
+}
+
+.baground_6 {
+ background-color: #fb946c;
+}
+
+.baground_1 {
+ background-color: #fbbd5c;
+}
+
+.baground_5 {
+ background-color: #6dccf8;
+}
+
+.baground_3 {
+ background-color: #a291ff;
+}
+
+.baground_2 {
+ background-color: #fc6d6d;
+}
+
+.baground_8 {
+ background-color: #3c98ff;
+}
+
diff --git a/packageD/mycomponent/group_level/group_level.js b/packageD/mycomponent/group_level/group_level.js
new file mode 100644
index 0000000..57a51d2
--- /dev/null
+++ b/packageD/mycomponent/group_level/group_level.js
@@ -0,0 +1,65 @@
+var app = getApp();
+Component({
+ properties: {
+ data: {
+ type: []
+ },
+ params: {
+ type: null
+ }
+ },
+ data: {
+ language: '',
+ datas: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync('langIndex');
+ this.setData({ 'language': language.en});
+ let arr = this.properties.data;
+ arr.map(item => {
+ if (!app._isTextEmpty(item.end_time)) {
+ item.nowTime = new Date().getTime() / 1000;
+ if (!app._isTextEmpty(item.start_time)) {
+ let start_time = new Date(item.start_time).getTime() / 1000;
+ if (start_time > item.nowTime) {
+ item.ishow = false;
+ item.getTime = new Date(item.start_time).getTime() / 1000;
+ } else {
+ item.ishow = true;
+ }
+ }
+ item.overTime = new Date(item.end_time).getTime() / 1000;
+ }
+ });
+ let dataArr = this.properties.data;
+ dataArr.map(item => {
+ if (app._isTextEmpty(item.min_price)) {
+ item.min_price = '';
+ }
+ if (app._isTextEmpty(item.max_price)) {
+ item.max_price = '';
+ }
+ });
+
+ this.setData({
+ datas: dataArr
+ });
+ },
+ moved() {},
+ detached() {}
+ },
+
+ methods: {
+ // 去开团
+ buy(e) {
+ let item = e.target.dataset.item || e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: '/packageA/detail_v2/detail_v2?id=' + item.id + '&name=group'
+ });
+ }
+ }
+
+});
diff --git a/packageD/mycomponent/group_level/group_level.json b/packageD/mycomponent/group_level/group_level.json
new file mode 100644
index 0000000..10e7481
--- /dev/null
+++ b/packageD/mycomponent/group_level/group_level.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "count": "../../../mycomponent/count/count"
+ }
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/group_level/group_level.wxml b/packageD/mycomponent/group_level/group_level.wxml
new file mode 100644
index 0000000..1c5f17b
--- /dev/null
+++ b/packageD/mycomponent/group_level/group_level.wxml
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+ {{params.title}}
+
+
+
+
+
+
+
+
+
+ 距开始:
+
+
+
+
+
+
+
+
+ {{item.goods_title}}
+
+
+
+
+
+ {{language['money']}}
+ {{ item.vip_level_status.word }}
+
+ {{ item.min_price }}
+
+
+
+
+ {{language['money']}} {{item.max_price}}
+
+
+
+
+
+ {{language['money']}}
+
+ {{ item.vip_level_status.word }}
+
+
+ {{ item.min_price }}
+
+
+
+
+
+
+
+
+ 满
+ {{item.member_request}}
+ 人成团
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 距开始:
+
+
+
+
+
+
+
+ {{item.goods_title}}
+
+
+
+ {{language['money']}}
+ {{ item.vip_level_status.word }}
+
+ {{ item.min_price }}
+
+
+
+
+ {{language['money']}} {{item.max_price}}
+
+
+
+
+
+ {{language['money']}}
+ {{ item.vip_level_status.word }}
+
+ {{ item.min_price }}
+
+
+
+
+
+
+
+ 满
+ {{item.member_request}}
+ 人成团
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 距开始:
+
+
+
+
+
+
+ {{item.goods_title}}
+
+
+ {{language['money']}} {{item.min_price}}
+
+
+ {{language['money']}} {{item.max_price}}
+
+
+
+
+ {{language['money']}} {{item.min_price}}
+
+
+
+
+ 满
+ {{item.member_request}}
+ 人成团
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 距开始:
+
+
+
+
+
+
+
+ {{item.goods_title}}
+
+
+
+ {{language['money']}}
+ {{ item.vip_level_status.word }}
+
+ {{ item.min_price }}
+
+
+
+
+ {{language['money']}} {{item.max_price}}
+
+
+
+
+
+ {{language['money']}}
+ {{ item.vip_level_status.word }}
+
+ {{ item.min_price }}
+
+
+
+
+
+
+ 满
+ {{item.member_request}}
+ 人成团
+
+
+
+
+ 去开团 >
+
+
+
+
+
+
+
+
diff --git a/packageD/mycomponent/group_level/group_level.wxss b/packageD/mycomponent/group_level/group_level.wxss
new file mode 100644
index 0000000..f77e17a
--- /dev/null
+++ b/packageD/mycomponent/group_level/group_level.wxss
@@ -0,0 +1,604 @@
+.rush-buy {
+ /* background: none !important; */
+ padding: 1rpx 0;
+}
+
+.rush-buy .buy-5 {
+ border: solid #f15353 2rpx !important;
+ color: #f15353 !important;
+ border-radius: 20rpx !important;
+ background-color: #fff !important;
+}
+
+.rush-buy .buy-6 {
+ border: solid #f15353 2rpx !important;
+ color: #fff !important;
+ border-radius: 20rpx !important;
+ background-color: red !important;
+}
+
+.rush-buy .buy-7 {
+ border: solid #f15353 2rpx !important;
+ color: #f15353 !important;
+ border-radius: 10rpx !important;
+ background-color: #fff !important;
+}
+
+.rush-buy .buy-8 {
+ border: solid #f15353 2rpx !important;
+ color: #fff !important;
+ border-radius: 10rpx !important;
+ background-color: red !important;
+}
+
+.rush-buy .sale-xp {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-xp.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-rx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-rx.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-tj {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-tj.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-xs {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-xs.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-by {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-by.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .sale-cx {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/images/sale-cx.png");
+ background-size: 100rpx;
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.rush-buy .h2 {
+ font-weight: normal;
+}
+
+.rush-buy .double-row {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 16rpx 24rpx;
+ justify-content: space-between;
+}
+
+.rush-buy .double-row .list-box {
+ background-color: #fff;
+ width: 49%;
+ margin-right: 2%;
+ margin-bottom: 16rpx;
+ border-radius: 16rpx;
+}
+
+.rush-buy .double-row .list-box .img {
+ /* height: 49vw;
+ overflow: hidden;
+ background-color: #ccc;
+ position: relative; */
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ background-color: #ccc;
+ position: relative;
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+ background-size: 100% 100%;
+}
+
+.rush-buy .double-row .list-box .img image {
+ width: 100%;
+ height: 47vw;
+}
+
+.rush-buy .double-row .list-box .img .time-box {
+ width: 100%;
+ position: absolute;
+ min-height: 60rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 0rpx;
+ text-align: left;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ color: #fff;
+ padding: 0 20rpx;
+ box-sizing: border-box;
+}
+
+.rush-buy .double-row .list-box .img .time-box .span {
+ color: #fff;
+ line-height: 60rpx;
+ font-size: 14px;
+ text-align: left;
+}
+
+.rush-buy .double-row .list-box .text {
+ /* padding: 12rpx; */
+ padding: 12rpx 16rpx;
+}
+
+.rush-buy .double-row .list-box .text .h2 {
+ line-height: 40rpx;
+ height: 80rpx;
+ font-size: 14px;
+ text-align: left;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.rush-buy .double-row .list-box .text .price {
+ line-height: 48rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 16px;
+}
+
+.rush-buy .double-row .list-box .text .price .left {
+ color: #f15353;
+ font-weight: bold;
+ font-size: 18px;
+}
+
+.rush-buy .double-row .list-box .text .price .right {
+ font-size: 14px;
+ text-decoration: line-through;
+ color: #8c8c8c;
+}
+
+.rush-buy .double-row .list-box .text .price .small {
+ font-size: 12px;
+}
+
+.rush-buy .double-row .list-box .text .rob {
+ line-height: 48rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 12px;
+ color: #8c8c8c;
+}
+
+.rush-buy .double-row .list-box .text .rob .left .big {
+ color: #f15353;
+ font-size: 14px;
+}
+
+.rush-buy .double-row .list-box .text .rob button {
+ background-color: #f15353;
+ color: #fff;
+ font-size: 12px;
+ height: 52rpx;
+ border-radius: 8rpx;
+ padding: 0 12rpx;
+ display: inline-block;
+ border: none;
+}
+
+.rush-buy .double-row .list-box:last-child {
+ margin-bottom: 0;
+}
+
+.rush-buy .double-row .list-box:nth-last-child(2) {
+ margin-bottom: 0;
+}
+
+.rush-buy .double-row .list-box:nth-child(2n) {
+ margin-right: 0;
+}
+
+.rush-buy .single-row {
+ background-color: #fff;
+ border-bottom: solid 2rpx #ebebeb;
+ margin: 16rpx 24rpx;
+ border-radius: 16rpx;
+}
+
+.rush-buy .single-row .img {
+ /* position: relative;
+ background-color: #ccc;
+ width: 100vw;
+ height: 100vw;
+ overflow: hidden; */
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+ position: relative;
+ background-color: #ccc;
+ width: 100%;
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ background-size: 100% 100%;
+ background-repeat: no-repeat;
+}
+
+.rush-buy .single-row .img image {
+ width: 100%;
+ height: 95vw;
+}
+
+.rush-buy .single-row .img .time-box {
+ width: 100%;
+ position: absolute;
+ height: 80rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 0rpx;
+ text-align: left;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ padding: 0 20rpx;
+ box-sizing: border-box;
+}
+
+.rush-buy .single-row .img .time-box .span {
+ color: #fff;
+ line-height: 80rpx;
+ font-size: 32rpx;
+ text-align: left;
+}
+
+.rush-buy .single-row .text {
+ padding: 12rpx 20rpx;
+}
+
+.rush-buy .single-row .text .title {
+ display: flex;
+ justify-content: space-between;
+ font-size: 14px;
+}
+
+.rush-buy .single-row .text .title .h2 {
+ flex: 3;
+ font-size: 16px;
+ line-height: 48rpx;
+ height: 96rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ text-align: left;
+}
+
+.rush-buy .single-row .text .title .span {
+ text-align: right;
+ flex: 1;
+ font-size: 16px;
+}
+
+.rush-buy .single-row .text .title .span .big {
+ font-size: 20px;
+ color: #f15353;
+}
+
+.rush-buy .single-row .text .price {
+ display: flex;
+ justify-content: space-between;
+ font-size: 14px;
+ margin-top: 20rpx;
+}
+
+.rush-buy .single-row .text .price .left {
+ font-size: 18px;
+ color: #f15353;
+ line-height: 52rpx;
+ width: 100%;
+}
+
+.rush-buy .single-row .text .price .left .small {
+ font-size: 12px;
+}
+
+.rush-buy .single-row .text .price .left .price-b {
+ margin-left: 20rpx;
+ color: #999;
+ text-decoration: line-through;
+ font-size: 14px;
+}
+
+.rush-buy .single-row .text .price button {
+ border: none;
+ color: #fff;
+ height: 60rpx;
+ font-size: 14px;
+ border-radius: 6rpx;
+ padding: 0 20rpx;
+}
+
+.rush-buy .single-row .text .rob {
+ text-align: left;
+ height: 52rpx;
+ line-height: 52rpx;
+
+ /* display: flex; */
+
+ /* justify-content: space-between; */
+}
+
+.rush-buy .single-row .text .rob .left {
+ float: left;
+}
+
+.rush-buy .single-row .text .rob .left .big {
+ color: #f15353;
+}
+
+.rush-buy .single-row .text .rob button {
+ height: 52rpx;
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ font-size: 12px;
+ line-height: 52rpx;
+ border-radius: 8rpx;
+ padding: 0 20.8rpx;
+ float: right;
+}
+
+.rush-buy .three-row {
+ margin: 16rpx 24rpx;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+}
+
+dl:nth-child(3n) {
+ margin-right: 0;
+}
+
+/* .rush-buy .three-row .dl:nth-child(3n) {
+ margin-right: 0;
+} */
+dl:nth-child(-n + 3) {
+ margin-top: 0;
+}
+
+.rush-buy .three-row .dl {
+ width: 32%;
+ background-color: #fff;
+ margin-right: 2%;
+ margin-bottom: 16rpx;
+ border-radius: 16rpx;
+ overflow: hidden;
+}
+
+.rush-buy .three-row .dl .img {
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+ position: relative;
+ height: 212rpx;
+ background-color: #ccc;
+}
+
+.rush-buy .three-row .dl .img image {
+ width: 100%;
+ height: 100%;
+}
+
+.rush-buy .three-row .dl .img .time-box {
+ width: 100%;
+ position: absolute;
+ min-height: 60rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 0rpx;
+ text-align: left;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ padding: 0 8rpx;
+}
+
+.rush-buy .three-row .dl .img .time-box .span {
+ color: #fff;
+ line-height: 60rpx;
+ font-size: 12px;
+ text-align: left;
+}
+
+.rush-buy .three-row .dl .text {
+ padding: 12rpx;
+}
+
+.rush-buy .three-row .dl .text .h2 {
+ text-align: left;
+ font-size: 12px;
+ line-height: 36rpx;
+ height: 72rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.rush-buy .three-row .dl .text .price {
+ line-height: 48rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 13px;
+}
+
+.rush-buy .three-row .dl .text .price .price-a {
+ color: #f15353;
+}
+
+.rush-buy .three-row .dl .text .price .price-b {
+ color: #999;
+ text-decoration: line-through;
+}
+
+.rush-buy .three-row .dl .text .price .small {
+ font-size: 12px;
+}
+
+.rush-buy .three-row .dl .text .rob {
+ text-align: left;
+ line-height: 48rpx;
+}
+
+.rush-buy .three-row .dl .text .rob .left .big {
+ color: #f15353;
+}
+
+.rush-buy .three-row .dl .text .button button {
+ width: 100%;
+ height: 52rpx;
+ border: none;
+ background-color: #f15353;
+ line-height: 45rpx;
+ color: #fff;
+ font-size: 12px;
+ border-radius: 8rpx;
+ padding: 0 8rpx;
+}
+
+.rush-buy .across-row .list {
+ background-color: #fff;
+ display: flex;
+}
+
+.rush-buy .across-row .list .img {
+ width: 38vw;
+ height: 38vw;
+ padding: 12rpx;
+ position: relative;
+}
+
+.rush-buy .across-row .list .img image {
+ width: 100%;
+ height: 100%;
+
+ /* padding: 12rpx; */
+}
+
+.rush-buy .across-row .list .img .time-box {
+ width: 92%;
+ position: absolute;
+ min-height: 60rpx;
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(153, 153, 153, 0.1));
+ bottom: 12rpx;
+ left: 12rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ text-align: center;
+}
+
+.rush-buy .across-row .list .img .time-box .span {
+ color: #fff;
+ line-height: 60rpx;
+ font-size: 14px;
+ text-align: left;
+}
+
+.rush-buy .across-row .list .text {
+ width: 62vw;
+ position: relative;
+ padding: 20rpx;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.rush-buy .across-row .list .text .h2 {
+ line-height: 48rpx;
+ height: 96rpx;
+ text-align: left;
+ font-size: 16px;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.rush-buy .across-row .list .text .price {
+ line-height: 60rpx;
+ display: flex;
+ font-size: 16px;
+}
+
+.rush-buy .across-row .list .text .price .small {
+ font-size: 12px;
+}
+
+.rush-buy .across-row .list .text .price .price-a {
+ color: #f15353;
+}
+
+.rush-buy .across-row .list .text .price .price-b {
+ color: #999;
+ text-decoration: line-through;
+ padding-left: 8rpx;
+ font-size: 12px;
+}
+
+.rush-buy .across-row .list .text .rob {
+ position: absolute;
+ bottom: 20rpx;
+ font-size: 14px;
+ line-height: 48rpx;
+ text-align: left;
+}
+
+.rush-buy .across-row .list .text .rob .big {
+ color: #f15353;
+}
+
+.rush-buy .across-row .list .text .button {
+ position: absolute;
+ bottom: 20rpx;
+ right: 20rpx;
+ text-align: left;
+}
+
+.rush-buy .across-row .list .text .button .button_1 {
+ border: none;
+ background-color: #f15353;
+ color: #fff;
+ border-radius: 8rpx;
+ text-align: center;
+}
diff --git a/packageD/mycomponent/invoice-pop/invoice-pop.js b/packageD/mycomponent/invoice-pop/invoice-pop.js
new file mode 100644
index 0000000..822bcf2
--- /dev/null
+++ b/packageD/mycomponent/invoice-pop/invoice-pop.js
@@ -0,0 +1,272 @@
+// packageD/mycomponent/invoice-pop/invoice-pop.js
+var app = getApp();
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ pluginShow: false,
+ popShow: false,
+ explainShow: false,
+ invoice_type_index: 1, //发票类型
+ invoice_type_arr: [],
+ invoice_header_index: 1, //发票抬头
+ invoice_header_arr: [{
+ name: "个人",
+ value: 1
+ }, {
+ name: "单位",
+ value: 0
+ }],
+ invoice_content_index: 1, //发票内容
+ invoice_content_arr: [],
+
+ invoice_header_list: [], //发票抬头列表
+ invoice_header_list_show: false,
+
+ invoice_explain: "", //发票须知
+
+ address: "", //地址,只有纸质发票跟专用发票才需要
+
+ collect_name: "", //发票抬头 || 单位名称
+ gmf_taxpayer: "", //纳税号
+ gmf_bank: "", //开户银行
+ gmf_bank_admin: "", //购买方银行账户
+ gmf_address: "", //注册地址
+ gmf_mobile: "", //注册电话
+ col_mobile: "", //收票人手机号
+ email: "", //电子邮箱
+
+ inputFocusName: "", //判断当前那个输入框获得光标 用来显示输入框右边是否显示 清除 图标
+ tax_rate:0, //汇率,后台返回,回传给后台
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ initData(data) {
+ let {address, sinvoice} = data;
+ console.log(data, "--------------------------------")
+ if (sinvoice.is_open == 1 && sinvoice.invoice_type.length >= 1) {
+ let changeData = {};
+ changeData.pluginShow = true;
+ changeData.invoice_type_arr = sinvoice.invoice_type;
+ changeData.invoice_type_index = sinvoice.invoice_type[0].value;
+ let content = sinvoice.content;
+ content.push({
+ name: "不开发票",
+ value: 2
+ });
+ changeData.invoice_content_arr = content;
+ changeData.invoice_content_index = changeData.invoice_content_arr[0].value;
+ changeData.invoice_explain = sinvoice.notice;
+ changeData.invoice_header_list = sinvoice.rises;
+ changeData.tax_rate = sinvoice.tax_rate;
+ this.setDefalutRises(sinvoice.rises);
+ if (!this.data.address) {
+ changeData.address = {
+ realname: address.realname,
+ mobile: address.mobile,
+ col_address: address.address
+ }
+ }
+ this.setData(changeData);
+ }
+ },
+ setDefalutRises (rises) {
+ if (rises) {
+ let bearerPer = rises.personal?rises.personal.find((item) => item.is_default == '1'):undefined;
+ let bearerCom = rises.company?rises.company.find((item) => item.is_default == '1'):undefined;
+ this.setData({
+ defaultPersonal: bearerPer,
+ defaultCompany: bearerCom
+ })
+ }
+ // 默认设置个人发票抬头
+ this.setData({
+ collect_name: this.data.defaultPersonal ? this.data.defaultPersonal.collect_name : '',
+ defaultPersonal: null,
+ })
+ },
+ send() {
+ let {
+ invoice_type_index,
+ invoice_header_index,
+ invoice_content_index,
+ collect_name,
+ gmf_taxpayer,
+ gmf_bank,
+ gmf_bank_admin,
+ gmf_address,
+ gmf_mobile,
+ col_mobile,
+ email,
+ address,
+ tax_rate
+ } = this.data;
+
+ // 不开发票
+ if (this.data.invoice_content_index == "2") {
+ this.setData({ popShow: false });
+ return false;
+ }
+ // status和apply 后端要求写死
+ let json = {
+ status: 2,
+ apply: 1,
+ invoice_type: invoice_type_index,
+ rise_type: invoice_header_index,
+ content: invoice_content_index,
+ tax_rate
+ };
+
+ if (app._isTextEmpty(collect_name)) {
+ if (invoice_header_index == 0 || invoice_type_index == 2) {
+ return app.tips("请输入单位名称");
+ } else {
+ return app.tips("请输入发票抬头");
+ }
+ }
+ json.collect_name = collect_name;
+
+
+ //单位 或者 专用发票
+ if (invoice_type_index == 2 || invoice_header_index == 0) {
+ if (app._isTextEmpty(gmf_taxpayer)) return app.tips("请输入纳税人识别号");
+
+ //专用发票要求必须输入,其他选选填
+ if (invoice_type_index == 2) {
+ if (app._isTextEmpty(gmf_bank)) return app.tips("请输入单位开户银行");
+ if (app._isTextEmpty(gmf_bank_admin)) return app.tips("请输入单位银行账号");
+ if (app._isTextEmpty(gmf_address)) return app.tips("请输入注册地址");
+ if (app._isTextEmpty(gmf_mobile)) return app.tips("请输入注册电话");
+ }
+
+ json.gmf_taxpayer = gmf_taxpayer;
+
+ json.gmf_bank = gmf_bank;
+ json.gmf_bank_admin = gmf_bank_admin;
+ json.gmf_address = gmf_address;
+ json.gmf_mobile = gmf_mobile;
+ }
+
+ //非 电子发票 需要选择地址
+ if (invoice_type_index != 0) {
+ if (!address) return app.tips("请选择地址");
+ json.col_address = address.col_address;
+ json.col_name = address.realname;
+ json.col_mobile = address.mobile;
+ }
+
+ //电子发票
+ if (invoice_type_index == 0) {
+ json.email = email;
+ json.col_mobile = col_mobile;
+ }
+ this.triggerEvent("confirm", json);
+ this.setData({
+ popShow: false
+ });
+ },
+ openAddList() {
+ this.triggerEvent('openAddList');
+ },
+ setAddress(item) {
+ let address = {};
+ address.realname = item.username;
+ address.mobile = item.mobile;
+ address.col_address = `${item.province} ${item.city} ${item.district} ${item.street ? item.street : ''}`;
+ this.setData({
+ address
+ });
+ },
+ setPopShow() {
+ this.setData({
+ popShow: !this.data.popShow
+ })
+ },
+ setExplainShow() {
+ this.setData({
+ explainShow: !this.data.explainShow
+ })
+ },
+ setTabsIndex(evt) {
+ let {value, name} = evt.currentTarget.dataset;
+ if (name === "invoice_header_index" && this.data.invoice_header_index != value) {
+ // 重置
+ this.setData({
+ collect_name: "",
+ })
+ // 设置公司 默认发票抬头
+ if (value == "0" && this.data.defaultCompany) {
+ let {collect_name, tax_num, bank, bank_admin, address, mobile} = this.data.defaultCompany;
+ this.setData({
+ collect_name: collect_name,
+ gmf_taxpayer: tax_num,
+ gmf_bank: bank,
+ gmf_bank_admin: bank_admin,
+ gmf_address: address,
+ gmf_mobile: mobile,
+ defaultCompany: null
+ })
+ }
+ }
+ this.setData({
+ [name]: value
+ })
+ },
+ setInvoiceHeaderListShow() {
+ this.setData({
+ invoice_header_list_show: !this.data.invoice_header_list_show
+ })
+ },
+ setInvoiceHeader(evt) {
+ let content = evt.currentTarget.dataset.content;
+ let {collect_name, tax_num, bank, bank_admin, address, mobile} = content;
+ let setJson = {};
+ if (this.data.invoice_header_index == 1) {
+ setJson.collect_name = collect_name;
+ } else {
+ setJson = {
+ collect_name: collect_name,
+ gmf_taxpayer: tax_num,
+ gmf_bank: bank,
+ gmf_bank_admin: bank_admin,
+ gmf_address: address,
+ gmf_mobile: mobile,
+ }
+ }
+ this.setData({
+ invoice_header_list_show: false,
+ ...setJson
+ })
+ },
+ clearInputText(evt) {
+ let name = evt.currentTarget.dataset.name;
+ this.setData({
+ [name]: ""
+ })
+ },
+ inputFocus(evt) {
+ let name = evt.currentTarget.dataset.name;
+ this.setData({
+ inputFocusName: name
+ })
+ },
+ inputBlur() {
+ let name = this.data.inputFocusName;
+ this.setData({
+ [name]: this.data[name].replace(/\s+/g, ''),
+ inputFocusName: ""
+ })
+ }
+ }
+})
\ No newline at end of file
diff --git a/packageD/mycomponent/invoice-pop/invoice-pop.json b/packageD/mycomponent/invoice-pop/invoice-pop.json
new file mode 100644
index 0000000..30ff6d0
--- /dev/null
+++ b/packageD/mycomponent/invoice-pop/invoice-pop.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "/dist/popup/index",
+ "van-icon": "/dist/icon/index",
+ "mp-html":"/mycomponent/mp-html/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/invoice-pop/invoice-pop.wxml b/packageD/mycomponent/invoice-pop/invoice-pop.wxml
new file mode 100644
index 0000000..42de121
--- /dev/null
+++ b/packageD/mycomponent/invoice-pop/invoice-pop.wxml
@@ -0,0 +1,180 @@
+
+
+
+
+ 发票
+
+
+
+
+
+
+
+
+
+
+
+ 发票
+
+
+ 发票须知
+
+
+
+
+
+
+ 发票类型
+
+ {{item.name}}
+
+
+
+ 平台启用电子发票,与纸质发票具备同等法律效力。
+
+
+ 发票抬头
+
+
+
+
+
+
+
+
+ {{(invoice_header_index == 0 || invoice_type_index==2) ? '单位' : '发票抬头'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 税号
+
+
+
+
+
+
+ 开户银行
+
+
+
+
+
+ 银行账号
+
+
+
+
+
+ 注册地址
+
+
+
+
+
+ 注册电话
+
+
+
+
+
+
+ 收票人信息
+
+
+
+
+ 手机号
+
+
+
+
+ 邮箱
+
+
+
+
+
+
+
+
+ 请选择收票地址
+
+ {{address.realname}}/{{address.mobile}}
+ 收票地址:{{address.col_address}}
+
+
+
+
+
+
+
+
+
+
+ 发票内容
+
+ {{item.name}}
+
+
+
+ 发票金额为实际支付金额,不含折扣,优惠等扣减金额
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+
+
+ 发票须知
+
+
+
+
+
+
+ 我知道了
+
+
+
+
+
+
+
+ 发票抬头
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/mycomponent/invoice-pop/invoice-pop.wxss b/packageD/mycomponent/invoice-pop/invoice-pop.wxss
new file mode 100644
index 0000000..c6d0c91
--- /dev/null
+++ b/packageD/mycomponent/invoice-pop/invoice-pop.wxss
@@ -0,0 +1,287 @@
+/* packageD/mycomponent/invoice-pop/invoice-pop.wxss */
+
+
+@import "/mycss/iconfont.wxss";
+view,text{
+ box-sizing: border-box;
+}
+
+.invoice {
+ background: #fff;
+ margin-top: 20rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ font-size: 30rpx;
+ display: flex;
+ padding: 0 28rpx;
+ border-top: solid 2rpx #ebebeb;
+ border-bottom: solid 2rpx #ebebeb;
+ position: relative;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.invoice .left {
+ display: flex;
+ align-items: center;
+}
+
+.invoice .right {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+
+.invoice-pop {
+ height: 1120rpx;
+ background: #fff;
+}
+.invoice-pop .invoice-title {
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ font-size: 36rpx;
+ color: #202020;
+}
+.invoice-pop .invoice-title .title-right {
+ position: absolute;
+ display: flex;
+ align-items: center;
+ right: 0;
+}
+.invoice-pop .invoice-title .title-right .icon-fontclass-gantanhao {
+ font-size: 26rpx;
+ color: #f15353;
+}
+.invoice-pop .invoice-title .title-right .text {
+ margin-left: 9rpx;
+ font-size: 24rpx;
+ color: #575757;
+}
+.invoice-pop .invoice-title .title-right .icon-guanbi {
+ margin-left: 43rpx;
+ margin-right: 40rpx;
+ font-size: 28rpx;
+ color: #6c6c6c;
+}
+.invoice-pop .invoice-container {
+ height: 896rpx;
+ padding: 0 30rpx;
+ padding-bottom: 32rpx;
+ text-align: left;
+ overflow-y: auto;
+}
+.invoice-pop .invoice-container .blod-title {
+ font-size: 26rpx;
+ color: #373737;
+ font-weight: bolder;
+}
+.invoice-pop .invoice-container .split-line {
+ height: 1rpx;
+ background-color: #f2f2f2;
+}
+.invoice-pop .invoice-container .invoice-tabs .tabs-items {
+ display: flex;
+ margin-top: 32rpx;
+}
+.invoice-pop .invoice-container .invoice-tabs .tabs-items .tabs-item {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 140rpx;
+ height: 50rpx;
+ margin-right: 73rpx;
+ color: #333333;
+ font-size: 24rpx;
+}
+.invoice-pop .invoice-container .invoice-tabs .tabs-items .tabs-item.active {
+ color: #f15353;
+ border-radius: 25rpx;
+ border: solid 1rpx #f15353;
+}
+.invoice-pop .invoice-container .invoice-desc-text {
+ margin-top: 26rpx;
+ font-size: 22rpx;
+ color: #7c7c7c;
+}
+.invoice-pop .invoice-container .field-cell {
+ position: relative;
+ display: flex;
+ align-items: center;
+}
+.invoice-pop .invoice-container .field-cell .icon-fontclass-xinghao {
+ font-size: 24rpx;
+ color: #f15353;
+}
+.invoice-pop .invoice-container .field-cell .field-cell-title {
+ margin-left: 5rpx;
+ font-size: 24rpx;
+ color: #202020;
+}
+.invoice-pop .invoice-container .field-cell input {
+ flex: 1;
+ height: 68rpx;
+ max-width: 500rpx;
+ margin-left: 16rpx;
+ font-size: 24rpx;
+ color: #7c7c7c;
+ border: none;
+}
+.invoice-pop .invoice-container .field-cell .icon-adsystem_icon_cancle{
+ position: absolute;
+ right: 0;
+ z-index: 99;
+ font-size: 20px;
+ width: 60rpx;
+ text-align: right;
+ padding-right: 15rpx;
+}
+.invoice-pop .invoice-container .field-cell .fa-angle-right-box {
+ width: 80rpx;
+ text-align:right;
+ padding-right: 15rpx;
+}
+.invoice-pop .invoice-container .field-cell .invoice-header-list{
+ position: absolute;
+ z-index: 2;
+ transform: translateY(2.5rem);
+ top: 0;
+ left: 4.6rem;
+ width: 11rem;
+ max-height: 0;
+ background-color: #ffffff;
+ box-shadow: 0rem 0.063rem 0.5rem 0rem
+ rgba(178, 178, 178, 0.47);
+ border-radius: 0.125rem;
+ overflow: hidden;
+ transition: 0.5s;
+}
+.invoice-pop .invoice-container .field-cell .invoice-header-list.show{
+ padding-top: 0.3rem;
+ padding-bottom: 0.381rem;
+ max-height: 100px;
+}
+.invoice-pop .invoice-container .field-cell .invoice-header-list .invoice-header-list-item{
+ padding:0.45rem 0.781rem;
+ background: #fff;
+ transition: 0.5s;
+}
+.invoice-pop .invoice-container .field-cell .invoice-header-list .invoice-header-list-item:active{
+ filter: brightness(90%);
+}
+.invoice-pop .invoice-container .address {
+ display: flex;
+ align-items: center;
+ padding-top: 31rpx;
+}
+.invoice-pop .invoice-container .address .address-container {
+ flex: 1;
+}
+.invoice-pop .invoice-container .address .address-container .address-placeholder {
+ font-size: 24rpx;
+ color: #7c7c7c;
+}
+.invoice-pop .invoice-container .address .address-container .address-name {
+ font-size: 24rpx;
+ color: #202020;
+}
+.invoice-pop .invoice-container .address .address-container .address-text {
+ margin-top: 29rpx;
+ font-size: 24rpx;
+ color: #202020;
+}
+.invoice-pop .invoice-container .address .icon-advertise-next {
+ color: #202020;
+}
+.invoice-pop .invoice-btn-wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ padding: 0 74rpx;
+}
+.invoice-pop .invoice-btn-wrapper .invoice-btn-item {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 100%;
+ height: 70rpx;
+ font-size: 26rpx;
+ font-weight: bold;
+ color: #ffffff;
+ background-color: #f05152;
+ border-radius: 35rpx;
+}
+
+.explain {
+ height: 864rpx;
+}
+.explain .explain-title {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ font-size: 18px;
+ color: #2a2a2a;
+ font-weight: bold;
+}
+.explain .explain-container {
+ width: 100%;
+ display: flex;
+ height: 640rpx;
+ padding: 0 30rpx;
+ font-size: 30rpx;
+ text-align: left;
+ color: #333333;
+ background: #fff;
+ overflow-y: auto;
+}
+.explain .explain-container ._root{
+ width: 750rpx;
+}
+.explain .explain-btn-wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 112rpx;
+ padding: 0 74rpx;
+}
+.explain .explain-btn-wrapper .explain-btn-item {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 100%;
+ height: 70rpx;
+ font-size: 26rpx;
+ font-weight: bold;
+ color: #ffffff;
+ background-color: #f05152;
+ border-radius: 35rpx;
+}
+
+
+.invoice-header-list-container {
+ height: 22rem;
+ text-align: left;
+ padding: 0 1.5rem;
+ overflow: auto;
+}
+.invoice-header-list-container .item {
+ width: 100%;
+ word-break: break-all;
+ color: #202020;
+ padding: 0.3rem 0;
+ text-overflow: -o-ellipsis-lastline;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+.invoice-header-list-container .item:active {
+ background: rgba(0, 0, 0, 0.1);
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/member/pickerView/datesfm.js b/packageD/mycomponent/member/pickerView/datesfm.js
new file mode 100644
index 0000000..e4464fd
--- /dev/null
+++ b/packageD/mycomponent/member/pickerView/datesfm.js
@@ -0,0 +1,188 @@
+// mycomponent/member/pickerView/datesfm.js
+import dateUtil from "../../../../utils/dateutils.js";
+const years = [];
+const months = [];
+const days = [];
+const hours = [];
+const minutes = [];
+const seconds = [];
+
+for (let i = 1970; i <= 2100; i++) {
+ years.push(i);
+}
+
+for (let i = 1; i <= 12; i++) {
+ months.push(i);
+}
+
+for (let i = 1; i <= 31; i++) {
+ days.push(i);
+}
+for (let i = 0; i < 24; i++) {
+ hours.push(i);
+}
+
+for (let i = 0; i < 60; i++) {
+ minutes.push(i);
+}
+for (let i = 0; i < 60; i++) {
+ seconds.push(i);
+}
+// const modes = ["YMDhms", "YMDhm", "YMD", "MD", "hm"];
+
+let beforeYear;
+let beforeMonth;
+let resultValue;
+
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ data: {
+ type: Object,
+ value: "",
+ },
+ date: {
+ type: Number,
+ value: new Date().getTime(),
+ },
+ mode: {
+ type: String,
+ value: "MD",
+ observer: function (newVal, oldVal, changedPath) {
+ this.setDateByMode();
+ },
+ },
+ isShowDatePicker: {
+ type: Boolean,
+ value: false,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ cMode: "",
+ years: years,
+ months: months,
+ days: days,
+ hours: hours,
+ minutes: minutes,
+ seconds: seconds,
+ value: [],
+
+ isShowYear: false,
+ isShowMonth: false,
+ isShowDay: false,
+ isShowHour: false,
+ isShoMinutes: false,
+ isShowSeconds: false,
+ },
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ this.setDateByMode();
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ setDateByMode() {
+ let year = dateUtil.getYear(this.data.date);
+ let month = dateUtil.getMonth(this.data.date);
+ this.setDays(year, month);
+ let days = dateUtil.getDay(this.data.date);
+ let hours = dateUtil.getHour(this.data.date);
+ let minutes = dateUtil.getMinute(this.data.date);
+ let seconds = dateUtil.getSecond(this.data.date);
+ beforeYear = year;
+ beforeMonth = month;
+
+ this.setData({
+ value: [year - 1970, month - 1, days - 1, hours, minutes, seconds],
+ });
+
+ resultValue = this.data.value;
+ this.setColumns();
+ },
+ setColumns() {
+ let mode = this.data.mode;
+
+ this.setData({
+ isShowYear: mode == "YMDhms" || mode == "YMDhm" || mode == "YMD",
+ isShowMonth:
+ mode == "YMDhms" || mode == "YMDhm" || mode == "YMD" || mode == "MD",
+ isShowDay:
+ mode == "YMDhms" || mode == "YMDhm" || mode == "YMD" || mode == "MD",
+ isShowHour: mode == "YMDhms" || mode == "YMDhm" || mode == "hm",
+ isShoMinutes: mode == "YMDhms" || mode == "YMDhm" || mode == "hm",
+ isShowSeconds: mode == "YMDhms",
+ });
+ },
+
+ setDays(year, month) {
+ if (year != beforeYear || beforeMonth != month) {
+ beforeYear = year;
+ beforeMonth = month;
+ let dayCount = dateUtil.getDaysOfMonth(year, month);
+
+ let days = [];
+
+ for (let i = 1; i <= dayCount; i++) {
+ days.push(i);
+ }
+
+ this.setData({
+ days: days,
+ });
+ }
+ },
+ bindChange: function (e) {
+ const val = e.detail.value;
+ resultValue = val;
+ let year = this.data.years[val[0]];
+ let month = this.data.months[val[1]];
+ this.setDays(year, month);
+ },
+ onCancellClick() {
+ this.triggerEvent("datePickerCancellEvent");
+ },
+ onOkClick() {
+ const myEventDetail = {};
+
+ myEventDetail.data = this.data.data;
+ myEventDetail.date = this.getResultDate();
+ this.triggerEvent("datePickerOkEvent", myEventDetail);
+ },
+
+ getResultDate() {
+ let result = 0;
+ let year = this.data.years[resultValue[0]];
+ let month = this.data.months[resultValue[1]] - 1;
+ let day = this.data.days[resultValue[2]];
+ let hour = this.data.hours[resultValue[3]];
+ let minutes = this.data.minutes[resultValue[4]];
+ let seconds = this.data.seconds[resultValue[5]];
+ result = new Date(year, month, day, hour, minutes, seconds).getTime();
+
+ return result;
+ },
+ },
+});
diff --git a/packageD/mycomponent/member/pickerView/datesfm.json b/packageD/mycomponent/member/pickerView/datesfm.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/packageD/mycomponent/member/pickerView/datesfm.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/member/pickerView/datesfm.wxml b/packageD/mycomponent/member/pickerView/datesfm.wxml
new file mode 100644
index 0000000..6fc9ef6
--- /dev/null
+++ b/packageD/mycomponent/member/pickerView/datesfm.wxml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
+
+ {{item}}年
+
+
+
+
+
+
+
+
+ {{item}}月
+
+
+
+
+
+
+
+
+ {{item}}日
+
+
+
+
+
+
+
+
+ {{item}}时
+
+
+
+
+
+
+
+
+ {{item}}分
+
+
+
+
+
+
+
+ {{item}}秒
+
+
+
+
+
+
+
+
diff --git a/packageD/mycomponent/member/pickerView/datesfm.wxss b/packageD/mycomponent/member/pickerView/datesfm.wxss
new file mode 100644
index 0000000..f169c9a
--- /dev/null
+++ b/packageD/mycomponent/member/pickerView/datesfm.wxss
@@ -0,0 +1,82 @@
+/* mycomponent/member/pickerView/datesfm.wxss */
+page {
+ width: 100%;
+ height: 100%;
+}
+
+.mask {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0, 0, 0, 0.5);
+}
+
+.content {
+ width: 100%;
+ position: fixed;
+ z-index: 2;
+ left: 0;
+ bottom: 0;
+ display: flex;
+ flex-direction: column;
+ transition: all 300ms;
+}
+
+.date-picker {
+ display: flex;
+ flex-direction: column;
+}
+
+.view-hidde {
+ transform: translateY(100%);
+ visibility: hidden;
+}
+
+.view-show {
+ transform: translateY(0%);
+ visibility: visible;
+}
+
+.divider {
+ width: 100%;
+ height: 1px;
+ background-color: #f2f2f2;
+}
+
+.date-picker-c {
+ display: flex;
+}
+
+.item {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.ok-c {
+ width: 100%;
+ height: 100rpx;
+ background-color: white;
+ display: flex;
+}
+
+.ok {
+ width: 50%;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ color: #09bb07;
+ padding-right: 40rpx;
+}
+
+.cancell {
+ width: 50%;
+ display: flex;
+ color: #b2b2b2;
+ align-items: center;
+ padding-left: 40rpx;
+}
diff --git a/packageD/mycomponent/temp/business/business.js b/packageD/mycomponent/temp/business/business.js
new file mode 100644
index 0000000..f82d9e9
--- /dev/null
+++ b/packageD/mycomponent/temp/business/business.js
@@ -0,0 +1,589 @@
+var location = require("../../../../mybehaviors/location/location");
+var app = getApp();
+Component({
+ behaviors: [location],
+ properties: {
+ params: {
+ type: null,
+ },
+ data: {
+ type: null,
+ },
+ isStore: {
+ type: null,
+ },
+ datas: {
+ type: null,
+ },
+ shopPoint: {
+ type: null,
+ },
+ shopCity: {
+ type: null,
+ },
+ is_open: {
+ type: null,
+ },
+ },
+ data: {
+ language: "",
+ address: "",
+ point: {
+ lat: "",
+ lng: "",
+ },
+ city: "",
+ tab: 0,
+ panelIndex: 0,
+ titleName: [],
+ api: "",
+ dataJson: {},
+ pd_classfy_arr: [],
+ pd_date_arr: [],
+ //折扣的index
+ pd_index: 0,
+ pd_date_index: 0,
+ //商家数组和分页数据
+ shopList0: [],
+ isLoadMore0: false,
+ page0: 1,
+ total_page0: 0,
+ //折扣数组和分页数据
+ shopList1: [],
+ isLoadMore1: false,
+ page1: 1,
+ total_page1: 0,
+ //优惠券数组和分页数据
+ shopList2: [],
+ isLoadMore2: false,
+ page2: 1,
+ total_page2: 0,
+ //礼包数组和分页数据
+ shopList3: [],
+ isLoadMore3: false,
+ page3: 1,
+ total_page3: 0,
+ pd_date: {},
+ }, // 私有数据,可用于模板渲染11111
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({
+ language: language.en
+ });
+ if (this.data.isStore) {
+ this.setData({
+ titleName: this.data.datas,
+ point: this.data.shopPoint,
+ city: this.data.shopCity,
+ });
+ this.chooseTab(" ", "business_merchant");
+ } else {
+ this.setData({
+ titleName: this.data.data,
+ });
+ this.location();
+ }
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {},
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ location() {
+ this._getLocation(() => {
+ this.chooseTab(" ", "business_merchant");
+ });
+ },
+ toGoodBtn(e) {
+ let item = e.currentTarget.dataset.goods_id;
+ if (item.id) {
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + item.id,
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + item,
+ });
+ }
+ },
+ chooseTab(key, index) {
+ // 找到对应的索引
+ function pFn(p) {
+ return p.id == index;
+ }
+ this.setData({
+ tab: this.data.titleName.findIndex(pFn),
+ });
+ this.setData({
+ api: this.data.titleName[this.data.tab].url,
+ });
+ let type = this.data.titleName[this.data.tab].id;
+ this.setData({
+ [`isLoadMore${this.data.tab}`]: false,
+ [`total_page${this.data.tab}`]: 0,
+ [`page${this.data.tab}`]: 1,
+ });
+ if (type === "business_merchant") {
+ let point = app.qqMapTransBMap(
+ parseFloat(this.data.point.lng),
+ parseFloat(this.data.point.lat)
+ );
+ this.setData({
+ dataJson: {
+ lng: point.lng ? point.lng : "",
+ lat: point.lat ? point.lat : "",
+ city_name: this.data.city,
+ page: this.data.page0,
+ },
+ });
+ } else {
+ switch (type) {
+ case "business_discount":
+ this.setData({
+ dataJson: {
+ page: this.data.page1,
+ },
+ });
+ break;
+ case "business_coupon":
+ this.setData({
+ dataJson: {
+ page: this.data.page2,
+ },
+ });
+ break;
+ case "business_goods_gift":
+ this.setData({
+ dataJson: {
+ page: this.data.page3,
+ },
+ });
+ break;
+ }
+ }
+ this.getList();
+ },
+ chooseTabData(e) {
+ let index = 0;
+ let title = e.detail.title;
+ if (title == "商家") {
+ index = 0;
+ } else if (title == "折扣") {
+ index = 1;
+ } else if (title == "优惠券") {
+ index = 2;
+ } else if (title == "礼包") {
+ index = 3;
+ }
+ this.chooseTab(" ", this.data.titleName[index].id);
+ },
+ getList() {
+ let that = this;
+ console.log(this.data.api);
+ let urlStr = app.getNetAddresss(this.data.api);
+ app._getNetWork({
+ url: urlStr,
+ data: this.data.dataJson,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.tab === 1) {
+ that.setData({
+ pd_classfy_arr: res.data.store_category,
+ pd_date_arr: res.data.date_time,
+ });
+ //赋初值日期和门店分类id
+ that.setData({
+ pd_category_id: res.data.store_category[0].id,
+ pd_date: res.data.date_time[0],
+ });
+ that.getPdData();
+ } else {
+ that.setData({
+ [`shopList${that.data.tab}`]: res.data.data,
+ [`total_page${that.data.tab}`]: res.data.last_page,
+ });
+ }
+ if (that.data[`total_page${that.data.tab}`] <= 1) {
+ that.setData({
+ [`isLoadMore${that.data.tab}`]: false,
+ });
+ } else {
+ that.setData({
+ [`isLoadMore${that.data.tab}`]: true,
+ });
+ }
+ } else {
+ // wx.showToast({
+ // icon: 'none',
+ // title: res.msg,
+ // duration: 1500
+ // })
+ console.log(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getPdData() {
+ let that = this;
+ let point = app.qqMapTransBMap(
+ parseFloat(this.data.point.lng),
+ parseFloat(this.data.point.lat)
+ );
+ let json = {
+ lng: point.lng,
+ lat: point.lat,
+ city_name: this.data.city,
+ page: this.data.page1,
+ week: this.data.pd_date.week_num,
+ category_id: this.data.pd_category_id,
+ day: this.data.pd_date.day,
+ };
+ let urlStr = app.getNetAddresss(
+ "plugin.universal-card.frontend.store-discount.privilege"
+ );
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ total_page1: res.data.last_page,
+ shopList1: res.data.data,
+ });
+ if (that.data.total_page1 <= 1) {
+ that.setData({
+ isLoadMore1: false,
+ });
+ } else {
+ that.setData({
+ isLoadMore1: true,
+ });
+ }
+ } else {
+ that.setData({
+ isLoadMore1: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ // 跳转到店铺
+ toRouter(e) {
+ let item = e.currentTarget.dataset.item;
+ if (item.specify_show == 1) {
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oStore/o2oStore?store_id=" +
+ item.id +
+ "&fromHome=1",
+ });
+ } else {
+ if (item.store_decorate == 1) {
+ wx.navigateTo({
+ url: "/packageG/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
+ });
+ } else {
+ wx.navigateTo({
+ url: "/packageC/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
+ });
+ }
+ }
+ },
+ //跳转至分类
+ toClassify(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oCategory/o2oCategory?id=" +
+ id +
+ "&city=" +
+ this.data.city +
+ "&point=" +
+ JSON.stringify(this.data.point),
+ });
+ },
+ gophone(e) {
+ let mobile = e.currentTarget.dataset.mobile;
+ wx.makePhoneCall({
+ phoneNumber: mobile,
+ });
+ },
+ goToAdress(e) {
+ let latitude = e.currentTarget.dataset.items.latitude;
+ let longitude = e.currentTarget.dataset.items.longitude;
+ let store_name = e.currentTarget.dataset.items.store_name;
+ let point = app.BMapTransqqMap(
+ parseFloat(longitude),
+ parseFloat(latitude)
+ );
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name,
+ });
+ },
+ getMoreList() {
+ let that = this;
+ //获取更多数据
+ this.setData({
+ [`isLoadMore${this.data.tab}`]: false,
+ });
+ if (
+ this.data[`page${this.data.tab}`] >=
+ this.data[`total_page${this.data.tab}`]
+ ) {
+ return;
+ } else {
+ this.data[`page${this.data.tab}`] =
+ this.data[`page${this.data.tab}`] + 1;
+ let point = app.qqMapTransBMap(
+ parseFloat(this.data.point.lng),
+ parseFloat(this.data.point.lat)
+ );
+ switch (this.data.tab) {
+ case 0:
+ this.setData({
+ dataJson: {
+ lng: point.lng ? point.lng : "",
+ lat: point.lat ? point.lat : "",
+ city_name: this.data.city,
+ page: this.data.page0,
+ },
+ });
+ break;
+ case 2:
+ this.setData({
+ dataJson: {
+ page: this.data.page2,
+ },
+ });
+ break;
+ case 3:
+ this.setData({
+ dataJson: {
+ page: this.data.page3,
+ },
+ });
+ break;
+ }
+ let urlStr = app.getNetAddresss(that.data.api);
+ app._getNetWork({
+ url: urlStr,
+ data: that.data.dataJson,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (that.data.tab !== 1) {
+ that.setData({
+ [`shopList${that.data.tab}`]: that.data[
+ `shopList${that.data.tab}`
+ ].concat(res.data.data),
+ [`total_page${that.data.tab}`]: res.data.last_page,
+ });
+ }
+ if (
+ that.data[`page${that.data.tab}`] >=
+ that.data[`total_page${that.data.tab}`]
+ ) {
+ that.setData({
+ [`isLoadMore${that.data.tab}`]: false,
+ });
+ } else {
+ that.setData({
+ [`isLoadMore${that.data.tab}`]: true,
+ });
+ }
+ } else {
+ that.setData({
+ [`page${that.data.tab}`]: [`page${that.data.tab}`] - 1,
+ [`isLoadMore${that.data.tab}`]: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ //特权折扣--搜索--门店分类
+ pdClassfySearch(e) {
+ let index = e.currentTarget.dataset.index;
+ let id = e.currentTarget.dataset.id;
+ //1.改变选中状态
+ this.setData({
+ pd_index: index,
+ });
+ //2.修改搜索参数--门店分类
+ this.setData({
+ pd_category_id: id,
+ });
+ //3.初始化分页数据
+ this.pdInitData();
+ //4.执行搜索返回数据(带上日期的搜索值)
+ this.getPdData();
+ },
+ //特权折扣--分页
+ pdInitData() {
+ this.setData({
+ isLoadMore1: false,
+ page1: 1,
+ total_page1: 0,
+ shopList1: [],
+ });
+ },
+ //特权折扣--搜索--日期
+ pdDateSearch(e) {
+ let index = e.currentTarget.dataset.index;
+ let date = e.currentTarget.dataset.date;
+ //1.改变选中状态
+ this.setData({
+ pd_date_index: index,
+ });
+ //2.修改搜索参数--日期
+ this.setData({
+ pd_date: date,
+ });
+ //3.初始化分页数据
+ this.pdInitData();
+ //4.执行搜索返回数据(带上门店分类的搜索值)
+ this.getPdData();
+ },
+ //跳转至门店首页
+ gotoShop(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + id,
+ });
+ },
+ getMorePdData() {
+ let that = this;
+ this.setData({
+ isLoadMore1: false,
+ });
+ if (this.data.page1 >= this.data.total_page1) {
+ return;
+ } else {
+ this.setData({
+ page1: this.data.page1 + 1,
+ });
+ let point = app.qqMapTransBMap(
+ parseFloat(this.data.point.lng),
+ parseFloat(this.data.point.lat)
+ );
+ let json = {
+ lng: point.lng,
+ lat: point.lat,
+ city_name: this.data.city,
+ page: this.data.page1,
+ week: this.data.pd_date.week_num,
+ category_id: this.data.pd_category_id,
+ day: this.data.pd_date.day,
+ };
+ let urlStr = app.getNetAddresss(
+ "plugin.universal-card.frontend.store-discount.privilege"
+ );
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var myData = res.data.data;
+ that.setData({
+ shopList1: that.data.shopList1.concat(myData),
+ });
+ } else {
+ that.setData({
+ page1: that.data.page1 - 1,
+ isLoadMore1: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ //领取优惠券
+ getCoupon(e) {
+ let id = e.currentTarget.dataset.id;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.coupon-get"
+ );
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ coupon_id: id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showModal({
+ title: "提示",
+ content: "领取成功",
+ showCancel: false,
+ success(res) {},
+ });
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ toGood(e) {
+ let item = e.currentTarget.dataset.item;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + item.id,
+ });
+ },
+ },
+ observers: {
+ datas: function () {
+ if (this.data.datas && this.data.is_open) {
+ if (this.data.isStore) {
+ this.setData({
+ titleName: this.data.datas,
+ point: this.data.shopPoint,
+ city: this.data.shopCity,
+ });
+ this.chooseTab(" ", "business_merchant");
+ } else {
+ this.setData({
+ titleName: this.data.data,
+ });
+ this.location();
+ }
+ }
+ },
+ },
+});
\ No newline at end of file
diff --git a/packageD/mycomponent/temp/business/business.json b/packageD/mycomponent/temp/business/business.json
new file mode 100644
index 0000000..ea5a79e
--- /dev/null
+++ b/packageD/mycomponent/temp/business/business.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tab": "../../../../dist/tab/index",
+ "van-tabs": "../../../../dist/tabs/index",
+ "van-icon": "../../../../dist/icon/index"
+ }
+}
diff --git a/packageD/mycomponent/temp/business/business.wxml b/packageD/mycomponent/temp/business/business.wxml
new file mode 100644
index 0000000..339f254
--- /dev/null
+++ b/packageD/mycomponent/temp/business/business.wxml
@@ -0,0 +1,250 @@
+
+
+
+
+
+
+
+
+
+ 商家休息中
+
+
+
+
+
+
+
+ {{ items.has_one_category.name }}
+
+
+
+ 暂无分类
+
+
+
+
+ {{ items.store_name }}
+
+
+
+ {{items.average_score}}分
+ 已售{{ items.order_total }}单
+
+ {{ items.distance }}{{ items.unit }}
+
+
+
+ 优惠
+ {{ coupon.name }}
+
+
+ 赠送
+ {{ items.store_point.point }}
+ {{ items.store_love.award_proportion }}
+
+
+ 抵扣
+ {{ items.store_love.deduction_proportion }}
+ {{ items.store_point.max_point_deduct }}
+
+
+
+ {{dispatch}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{good.title}}
+ {{language['money']}}{{good.price}}
+
+
+
+
+ 暂无数据~
+
+
+ 加载更多
+
+
+
+
+
+
+
+
+
+ {{ classfy.name }}
+
+
+
+
+
+
+ {{ date.week }}
+ {{ date.ye }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.store_name }}
+ 距离{{ item.distance }}km
+
+
+ {{ item.has_many_privilege[0].title }}
+
+
+ {{ item.has_many_privilege[0].discount_value }}折
+
+ 立即使用
+
+
+
+
+
+
+
+ 暂无数据~
+
+
+ 加载更多
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.store && item.store.store_name? item.store.store_name: " "}}
+
+
+
+ {{ item.name }}
+
+ 满{{ item.enough }}立减{{ item.deduct }}{{language['元']}}
+
+
+ {{ item.discount }}折优惠
+
+
+
+
+ {{language['money']}}{{ item.deduct }}
+
+
+ {{ item.discount }}折
+
+
+
+ 立即领取
+
+
+
+
+
+
+
+
+ 暂无数据~
+
+
+ 加载更多
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+ {{language['money']}}{{ item.vip_level_status&&item.vip_level_status.status==1?item.vip_level_status.word:item.price }}
+ {{language['money']}}{{ item.market_price }}
+
+
+
+
+
+
+ 暂无数据~
+
+
+ 加载更多
+
+
+
+
+
diff --git a/packageD/mycomponent/temp/business/business.wxss b/packageD/mycomponent/temp/business/business.wxss
new file mode 100644
index 0000000..da72845
--- /dev/null
+++ b/packageD/mycomponent/temp/business/business.wxss
@@ -0,0 +1,661 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.list {
+ display: flex;
+ padding: 24rpx;
+ border-top: 2rpx solid #e7e9e4;
+ background: #fff;
+ font-size: 24rpx;
+ color: #333;
+ text-align: left;
+ position: relative;
+}
+
+.list .store-img {
+ width: 132rpx;
+}
+
+.list .store-img .store-logo {
+ width: 128rpx;
+ height: 128rpx;
+ overflow: hidden;
+ position: relative;
+
+ /* border: 2rpx solid #e8e8e8; */
+}
+
+.list .store-img .store-logo .img-mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 128rpx;
+ height: 128rpx;
+ z-index: 10;
+ border: 2rpx solid #e8e8e8;
+ font-size: 24rpx;
+ background-color: #3b4043;
+ opacity: 0.6;
+}
+
+.list .store-img .store-logo .img-text {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 128rpx;
+ height: 128rpx;
+ z-index: 15;
+ line-height: 128rpx;
+ text-align: center;
+ font-size: 24rpx;
+ color: white;
+}
+
+.list .store-img .store-logo .img {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ border-radius: 50%;
+}
+
+.list .store-img .store-logo .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.list .store-category {
+ margin-top: 12rpx;
+}
+
+.list .store-category .span {
+ width: 128rpx;
+ height: 40rpx;
+ display: block;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 24rpx;
+ line-height: 40rpx;
+ background-color: #ff6333;
+ border-radius: 10rpx;
+ color: #fff;
+}
+
+
+/* .store-intro {
+ flex: 1;
+ position: relative;
+ margin-left: 20rpx;
+}
+
+.store-intro .a8q {
+ height: 40rpx;
+ line-height: 40rpx;
+ overflow: hidden;
+ display: flex;
+ flex: 1;
+}
+
+.store-intro .a8q .h2 {
+ max-width: 320rpx;
+ font-size: 32rpx;
+ color: #333;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ display: inline-block;
+ margin-top: 0;
+ font-weight: bold;
+ flex: 1;
+}
+
+.store-intro .a8q .store_honor_icon1 {
+ display: inline-block;
+ width: 176rpx;
+ height: 40rpx;
+ font-size: 24rpx;
+ text-align: right;
+ margin-right: 4rpx;
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-size: 32rpx auto;
+}
+
+.store-intro .a8r {
+ font-size: 0;
+ padding-top: 20rpx;
+ overflow: hidden;
+}
+
+.store-intro .a8r .i8 {
+ display: inline-block;
+ background-color: #f5f5f5;
+ font-size: 0;
+ border-radius: 4rpx;
+ color: #18bdad !important;
+ line-height: 0;
+ overflow: hidden;
+}
+
+.store-intro .a8r .i8 .da {
+ display: inline-block;
+ line-height: 1;
+ padding: 4rpx;
+ font-size: 24rpx;
+}
+
+.store-intro .a8v {
+ height: 28rpx;
+ margin-top: 16rpx;
+ overflow: hidden;
+ font-size: 0;
+} */
+
+.order {
+ display: flex;
+}
+
+/* .store-intro .a8v .a8d {
+ overflow: hidden;
+ display: inline-block;
+ position: relative;
+}
+
+.store-intro .a8v .a8w {
+ font-size: 24rpx;
+ line-height: 28rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #999;
+ display: inline-block;
+}
+
+.store-intro .a8v .a8w .span {
+ color: #ff9800;
+}
+
+.store-intro .a8v .a8w .line_split {
+ display: inline-block;
+ width: 16rpx;
+ height: 20rpx;
+ background: url(//static-o2o.360buyimg.com/daojia/new/images/index/icon_line_split.jpg) no-repeat center 0.125rem;
+} */
+
+.store_honor_box {
+ width: 160rpx;
+}
+
+.store_honor_box .store_honor_icon1 {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+}
+
+.store_honor_box.span {
+ color: #8c8c8c;
+}
+
+.rebate_box {
+ background: #fff;
+}
+
+.rebate_box .content_b_a .tab_b {
+ background: #fff;
+ overflow-x: scroll;
+ white-space: nowrap;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.rebate_box .content_b_a .tab_b .tab_b_box {
+ display: flex;
+ font-size: 30rpx;
+}
+
+.rebate_box .content_b_a .tab_b .tab_b_box .li {
+ margin: 0 24rpx;
+ height: 84rpx;
+ line-height: 84rpx;
+ color: #666;
+}
+
+.rebate_box .content_b_a .tab_b .tab_b_box .current {
+ font-weight: bold;
+ color: #daac5e;
+ border-bottom: solid 0.1875rem #daac5e;
+}
+
+.rebate_box .content_b_a .tab_b .tab_b_box .li:last-child {
+ padding-right: 24rpx;
+}
+
+.rebate_box .content_b_a .tab_c {
+ background: #fafafa;
+}
+
+.rebate_box .content_b_a .tab_c .tab_c_box {
+ display: flex;
+}
+
+.rebate_box .content_b_a .tab_c .tab_c_box .li {
+ flex: 1;
+ padding: 20rpx 0;
+ color: #666;
+}
+
+.rebate_box .content_b_a .tab_c .tab_c_box .li .span {
+ display: block;
+ line-height: 40rpx;
+ font-size: 26rpx;
+ text-align: center;
+}
+
+.rebate_box .content_b_a .tab_c .tab_c_box .current {
+ background: rgba(218, 172, 94, 0.6);
+ color: #fff;
+}
+
+.rebate_box .content_b_a .goods_list {
+ padding: 0 24rpx;
+}
+
+.rebate_box .content_b_a .goods_list .goods {
+ display: flex;
+ padding: 32rpx 0;
+ border-bottom: solid 2rpx #ebebeb;
+}
+
+.rebate_box .content_b_a .goods_list .goods .img {
+ width: 128rpx;
+ height: 128rpx;
+ border: solid 2rpx #e8e8e8;
+ overflow: hidden;
+ margin-right: 24rpx;
+}
+
+.rebate_box .content_b_a .goods_list .goods .img image {
+ width: 100%;
+}
+
+.rebate_box .content_b_a .goods_list .info {
+ width: 550rpx;
+}
+
+.rebate_box .content_b_a .goods_list .info .li {
+ display: flex;
+ justify-content: space-between;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_a {
+ margin-bottom: 8rpx;
+ font-size: 30rpx;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_a .span:first-child {
+ max-width: 360rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_a .span:last-child {
+ color: #8c8c8c;
+ font-size: 28rpx;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_b .span {
+ background: #f5f5f5;
+ font-size: 24rpx;
+ color: #18bdad;
+ padding: 0 8rpx;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_c {
+ color: #daac5e;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_c .span {
+ font-size: 32rpx;
+}
+
+.rebate_box .content_b_a .goods_list .info .info_c .button {
+ border: solid 2rpx #daac5e;
+ padding: 4rpx 16rpx;
+ font-size: 26rpx;
+ border-radius: 6rpx;
+ color: #daac5e;
+}
+
+.coupon_list {
+ background: #fff;
+ padding: 20rpx 0;
+}
+
+.coupon_list .coupon {
+ background: #fff;
+ border: none;
+ margin: 20rpx auto;
+ width: 690rpx;
+ height: 200rpx;
+ background-image: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/coupon_b.png");
+ background-size: 690rpx 200rpx;
+ background-repeat: no-repeat;
+ display: flex;
+}
+
+.coupon_list .coupon .left {
+ width: 248rpx;
+ height: 180rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+}
+
+.coupon_list .coupon .left .img {
+ margin: 0 auto;
+ width: 72rpx;
+ height: 72rpx;
+ border-radius: 60rpx;
+ overflow: hidden;
+ margin-bottom: 16rpx;
+}
+
+.coupon_list .coupon .left .img image {
+ width: 100%;
+}
+
+.coupon_list .coupon .left .p {
+ width: 248rpx;
+ padding: 0 20rpx;
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 28rpx;
+ text-align: center;
+}
+
+.coupon_list .coupon .right {
+ width: 442rpx;
+ height: 180rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20rpx;
+ position: relative;
+}
+
+.coupon_list .coupon .right .right_a .li {
+ width: 256rpx;
+ line-height: 36rpx;
+ color: #daac5e;
+ text-align: left;
+ font-size: 26rpx;
+}
+
+.coupon_list .coupon .right .right_b .li:first-child {
+ color: #daac5e;
+ font-size: 28rpx;
+}
+
+.coupon_list .coupon .right .right_b .li:first-child .span {
+ font-size: 20px;
+}
+
+.coupon_list .coupon .right .right_b .li:last-child .button {
+ border: none;
+ background: #daac5e;
+ color: #fff;
+ font-size: 12px;
+ border-radius: 32rpx;
+ padding: 8rpx 16rpx;
+}
+
+.coupon_list .coupon .right .received_b {
+ position: absolute;
+ top: 0;
+ left: 40%;
+}
+
+.coupon_list .coupon .right .received_b icon {
+ font-size: 120rpx;
+ color: #daac5e;
+ opacity: 0.3;
+}
+
+.gift_box {
+ padding: 8rpx;
+ background: #fff;
+}
+
+.gift_box .fe-mod-8-main-name-buy {
+ height: 40rpx;
+ width: 60rpx;
+ float: right;
+ background-repeat: no-repeat;
+}
+
+.gift_box .buy-1 {
+ background: url("https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/img/ico_buy_3.png");
+ background-size: 60rpx 40rpx;
+}
+
+.gift_box .fe-mod-8-hp-line {
+ border: 2rpx solid #e5e5e5;
+ display: block;
+ background: #fff;
+ margin: 10rpx 0;
+ height: 180rpx;
+ padding: 10rpx;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-img {
+ height: 160rpx;
+ width: 160rpx;
+ background: #f2f2f2;
+ float: left;
+ position: relative;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-img .saleimg {
+ height: 100rpx;
+ width: 100rpx;
+ position: absolute;
+ top: -6rpx;
+ left: -6rpx;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-img image {
+ width: 100%;
+ height: 100%;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info {
+ height: 160rpx;
+ background: #fff;
+ padding-left: 180rpx;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .title {
+ text-align: left;
+ height: 80rpx;
+ font-size: 28rpx;
+ color: #333;
+ line-height: 40rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .price {
+ height: 60rpx;
+ width: 100%;
+ margin-top: 20rpx;
+ font-size: 28rpx;
+ color: #bbb;
+ line-height: 60rpx;
+ float: left;
+ overflow: hidden;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .price .p1 {
+ float: left;
+ color: #f60;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .price .p2 {
+ font-size: 24rpx;
+ padding-left: 20rpx;
+ text-decoration: line-through;
+ float: left;
+ line-height: 64rpx;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .price .p3 {
+ color: #999;
+ padding-left: 20rpx;
+ float: left;
+ font-size: 24rpx;
+}
+
+.gift_box .fe-mod-8-hp-line .fe-mod-8-hp-line-info .price .p4 {
+ color: #999;
+ padding-left: 20rpx;
+ float: left;
+ font-size: 24rpx;
+ width: 320rpx;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ font-weight: bold;
+}
+
+.store-intro2 {
+ flex: 1;
+ position: relative;
+ margin-left: 24rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.store-intro2 .h2 {
+ max-width: 544rpx;
+ font-size: 32rpx;
+ color: #333;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: inline-block;
+ margin-top: 0;
+ font-weight: bold;
+ flex: 1;
+}
+
+.store-intro2 .score-box {
+ display: flex;
+ width: 100%;
+ color: #666;
+ padding: 6rpx 0;
+ height: 40rpx;
+ line-height: 40rpx;
+}
+
+.store-intro2 .score-box .score-left {
+ flex: 1;
+ align-self: center;
+ justify-self: center;
+ display: flex;
+}
+
+.store-intro2 .score-box .score-left .icon-card_collect_b {
+ color: #ffba00;
+ display: flex;
+ align-items: center;
+}
+
+.store-intro2 .score-box .score-right {
+ color: #ff2c29;
+ flex: 0 0 160rpx;
+ text-align: right;
+}
+
+.store-intro2 .discount-box {
+ display: flex;
+ flex-direction: column;
+}
+
+.store-intro2 .discount-box .discount-item {
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.store-intro2 .discount-box .red {
+ color: #ff2c29;
+}
+
+.store-intro2 .dispatch-box {
+ display: flex;
+ padding: 16rpx 0;
+}
+
+.store-intro2 .dispatch-box .span {
+ margin-right: 12.8rpx;
+ padding: 0 9.6rpx;
+ color: #666;
+ border-radius: 20rpx;
+ border: solid 2rpx #ff8400;
+}
+
+.goods-box {
+ display: flex;
+
+ /* width: 556.8rpx; */
+ overflow-x: scroll;
+ margin: 0 20rpx;
+}
+
+.flexBox {
+ width: 183rpx;
+ height: 300rpx;
+ flex-shrink: 0;
+}
+
+.goods-box .good-item {
+ width: 180rpx;
+ margin-right: 16rpx;
+ font-size: 30rpx;
+}
+
+.goods-box .good-item .good-img {
+ width: 180rpx;
+ height: 180rpx;
+ border-radius: 10rpx;
+}
+
+.goods-box .good-item .good-img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.goods-box .good-item .good-title {
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 24rpx;
+}
+
+.goods-box .good-item .good-price {
+ font-size: 22rpx;
+ color: #ff2c29;
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
diff --git a/packageD/mycomponent/temp/store/store.js b/packageD/mycomponent/temp/store/store.js
new file mode 100644
index 0000000..98e90a8
--- /dev/null
+++ b/packageD/mycomponent/temp/store/store.js
@@ -0,0 +1,220 @@
+var location = require("../../../../mybehaviors/location/location");
+var app = getApp();
+Component({
+ behaviors: [location],
+
+ properties: {
+ params: {
+ type: null,
+ },
+ },
+ data: {
+ stores: [],
+ address: "",
+ point: {
+ lat: "",
+ lng: "",
+ },
+ city: "",
+ showMore: false,
+ page: 1,
+ total_page: 0,
+ loading: true,
+ language: "",
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+ this._getLocation(()=> {
+ this.getStores();
+ });
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ toGood(e) {
+ let id = e.currentTarget.dataset.goods_id;
+ wx.navigateTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + id,
+ });
+ },
+ getStores() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.store.get-store-list-to-page"
+ );
+ let point = app.qqMapTransBMap(
+ parseFloat(this.data.point.lng),
+ parseFloat(this.data.point.lat)
+ );
+ urlStr += "&page=" + that.data.page;
+ urlStr += "&lng=" + (point.lng ? point.lng : "");
+ urlStr += "&lat=" + (point.lat ? point.lat : "");
+ urlStr += "&kwd=";
+ urlStr += "&city_name=" + this.data.city;
+ urlStr += "&pagesize=" + this.data.params.num;
+ urlStr += "&showshop=" + this.data.params.showshop;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ showMore: true,
+ stores: res.data.data,
+ });
+ if (res.data.last_page) {
+ that.setData({
+ total_page: res.data.last_page,
+ });
+ } else if (res.data.lastPage) {
+ that.setData({
+ total_page: res.data.lastPage,
+ });
+ }
+ if (that.data.page >= that.data.total_page) {
+ that.setData({
+ loading: false,
+ });
+ } else {
+ that.setData({
+ loading: true,
+ });
+ }
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ toRouter(e) {
+ let specify_show = e.currentTarget.dataset.items.specify_show;
+ let item = e.currentTarget.dataset.items;
+ if (specify_show == 1) {
+ wx.navigateTo({
+ url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + item.id,
+ });
+ } else {
+ if(item.store_decorate == 1) {
+ wx.navigateTo({
+ url: "/packageG/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
+ });
+ }else {
+ wx.navigateTo({
+ url: "/packageC/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
+ });
+ }
+ }
+ },
+ //跳转至分类
+ toClassify(e) {
+ let id = e.currentTarget.dataset.id;
+ wx.navigateTo({
+ url:
+ "/packageC/o2o/o2oCategory/o2oCategory?id=" +
+ id +
+ "&city=" +
+ this.data.city +
+ "&point=" +
+ JSON.stringify(this.data.point),
+ });
+ },
+ gophone(e) {
+ let mobile = e.currentTarget.dataset.mobile;
+ wx.makePhoneCall({
+ phoneNumber: mobile,
+ });
+ },
+ goToAdress(e) {
+ let latitude = e.currentTarget.dataset.items.latitude;
+ let longitude = e.currentTarget.dataset.items.longitude;
+ let store_name = e.currentTarget.dataset.items.store_name;
+ let point = app.BMapTransqqMap(
+ parseFloat(longitude),
+ parseFloat(latitude)
+ );
+ wx.openLocation({
+ latitude: point.lat,
+ longitude: point.lng,
+ scale: 18,
+ name: store_name,
+ });
+ },
+ getMoreStores() {
+ let that = this;
+ if (this.data.page == this.data.total_page) {
+ that.setData({
+ loading: false,
+ });
+ return;
+ }
+ if (this.data.page > this.data.total_page) {
+ that.setData({
+ loading: false,
+ });
+ return;
+ } else {
+ that.setData({
+ page: this.data.page + 1,
+ });
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.store.get-store-list-to-page"
+ );
+ let point = app.qqMapTransBMap(
+ parseFloat(this.data.point.lng),
+ parseFloat(this.data.point.lat)
+ );
+ urlStr += "&page=" + this.data.page;
+ urlStr += "&lng=" + (point.lng ? point.lng : "");
+ urlStr += "&lat=" + (point.lat ? point.lat : "");
+ urlStr += "&kwd=";
+ urlStr += "&city_name=" + this.data.city;
+ urlStr += "&pagesize=" + this.data.params.num;
+ urlStr += "&showshop=" + this.data.params.showshop;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let stores = that.data.stores;
+ that.setData({
+ stores: stores.concat(res.data.data),
+ });
+ if (that.data.page == that.data.total_page) {
+ that.setData({
+ loading: false,
+ });
+ }
+ } else {
+ that.setData({
+ page: that.data.page - 1,
+ loading: false,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ }
+ },
+ },
+});
diff --git a/packageD/mycomponent/temp/store/store.json b/packageD/mycomponent/temp/store/store.json
new file mode 100644
index 0000000..ebff61f
--- /dev/null
+++ b/packageD/mycomponent/temp/store/store.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "cStar": "../../../../mycomponent/star/star"
+ }
+}
diff --git a/packageD/mycomponent/temp/store/store.wxml b/packageD/mycomponent/temp/store/store.wxml
new file mode 100644
index 0000000..b8704f3
--- /dev/null
+++ b/packageD/mycomponent/temp/store/store.wxml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+ 商家休息中
+
+
+
+
+
+ {{ items.has_one_category.name }}
+ 暂无分类
+
+
+
+
+ {{ items.store_name }}
+
+
+
+ {{items.average_score}}分
+ 已售{{ items.order_total }}单
+
+ {{ items.distance }}{{ items.unit }}
+
+
+
+ 优惠
+ {{ coupon.name }}
+
+
+ 赠送
+ {{ items.store_point.point }}
+ {{ items.store_love.award_proportion }}
+
+
+ 抵扣
+ {{ items.store_love.deduction_proportion }}
+ {{ items.store_point.max_point_deduct }}
+
+
+
+ {{dispatch}}
+
+
+
+
+
+
+
+
+
+
+ {{good.title}}
+ {{language['money']}}{{good.price}}
+
+
+
+
+
+ 加载更多
+
+
+ 没有更多喽~
+
+
\ No newline at end of file
diff --git a/packageD/mycomponent/temp/store/store.wxss b/packageD/mycomponent/temp/store/store.wxss
new file mode 100644
index 0000000..6719596
--- /dev/null
+++ b/packageD/mycomponent/temp/store/store.wxss
@@ -0,0 +1,333 @@
+@import "/mycss/stylesheet.wxss";
+@import "/mycss/iconfont.wxss";
+
+.store-list {
+ padding: 24rpx;
+ border-top: 2rpx solid #e7e9e4;
+ background: #fff;
+ font-size: 24rpx;
+ color: #333;
+ text-align: left;
+ position: relative;
+}
+
+.store-list .store-img {
+ width: 132rpx;
+}
+
+.store-list .store-img .store-logo {
+ width: 128rpx;
+ height: 128rpx;
+ overflow: hidden;
+ position: relative;
+
+ /* border: 2rpx solid #e8e8e8; */
+}
+
+.store-list .store-img .store-logo .img-mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 128rpx;
+ height: 128rpx;
+ z-index: 10;
+ border: 2rpx solid #e8e8e8;
+ font-size: 24rpx;
+ background-color: #3b4043;
+ opacity: 0.6;
+}
+
+.store-list .store-img .store-logo .img-text {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 128rpx;
+ height: 128rpx;
+ z-index: 15;
+ line-height: 128rpx;
+ text-align: center;
+ font-size: 24rpx;
+ color: white;
+}
+
+.store-list .store-img .store-logo .img {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ border-radius: 50%;
+}
+
+.store-list .store-img .store-logo .img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.store-list .store-category {
+ margin-top: 12rpx;
+}
+
+.store-list .store-category .span {
+ width: 128rpx;
+ height: 40rpx;
+ display: block;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 24rpx;
+ line-height: 40rpx;
+ background-color: #ff6333;
+ border-radius: 10rpx;
+ color: #fff;
+}
+
+.store-intro {
+ flex: 1;
+ position: relative;
+ margin-left: 20rpx;
+}
+
+.store-intro .a8q {
+ height: 40rpx;
+ line-height: 40rpx;
+ overflow: hidden;
+ display: flex;
+ flex: 1;
+}
+
+.store-intro .a8q .h2 {
+ max-width: 320rpx;
+ font-size: 32rpx;
+ color: #333;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ display: inline-block;
+ margin-top: 0;
+ font-weight: bold;
+ flex: 1;
+}
+
+.store-intro .a8q .store_honor_icon1 {
+ display: inline-block;
+ width: 176rpx;
+ height: 40rpx;
+ font-size: 24rpx;
+ text-align: right;
+ margin-right: 4rpx;
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-size: 32rpx auto;
+}
+
+.store-intro .a8r {
+ font-size: 0;
+ padding-top: 20rpx;
+ overflow: hidden;
+}
+
+.store-intro .a8r .i8 {
+ display: inline-block;
+ background-color: #f5f5f5;
+ font-size: 0;
+ border-radius: 4rpx;
+ color: #18bdad !important;
+ line-height: 0;
+ overflow: hidden;
+}
+
+.store-intro .a8r .i8 .da {
+ display: inline-block;
+ line-height: 1;
+ padding: 4rpx;
+ font-size: 24rpx;
+}
+
+.store-intro .a8v {
+ height: 28rpx;
+ margin-top: 16rpx;
+ overflow: hidden;
+ font-size: 0;
+}
+
+.order {
+ display: flex;
+}
+
+.store-intro .a8v .a8d {
+ overflow: hidden;
+ display: inline-block;
+ position: relative;
+}
+
+.store-intro .a8v .a8w {
+ font-size: 24rpx;
+ line-height: 28rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #999;
+ display: inline-block;
+}
+
+.store-intro .a8v .a8w .span {
+ color: #ff9800;
+}
+
+.store-intro .a8v .a8w .line_split {
+ display: inline-block;
+ width: 16rpx;
+ height: 20rpx;
+ background: url(//static-o2o.360buyimg.com/daojia/new/images/index/icon_line_split.jpg) no-repeat center 0.125rem;
+}
+
+.store_honor_box {
+ display: inline-block;
+ position: absolute;
+ text-align: right;
+ right: 32rpx;
+ width: 160rpx;
+}
+
+.store_honor_box .store_honor_icon1 {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+}
+
+.store_honor_box.span {
+ color: #8c8c8c;
+}
+
+.store-intro2 {
+ flex: 1;
+ position: relative;
+ margin-left: 24rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.store-intro2 .h2 {
+ max-width: 544rpx;
+ font-size: 32rpx;
+ color: #333;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: inline-block;
+ margin-top: 0;
+ font-weight: bold;
+ flex: 1;
+}
+
+.store-intro2 .score-box {
+ display: flex;
+ width: 100%;
+ color: #666;
+ padding: 6rpx 0;
+ height: 40rpx;
+ line-height: 40rpx;
+}
+
+.store-intro2 .score-box .score-left {
+ flex: 1;
+ align-self: center;
+ justify-self: center;
+ display: flex;
+}
+
+.store-intro2 .score-box .score-left .icon-card_collect_b {
+ color: #ffba00;
+ display: flex;
+ align-items: center;
+}
+
+.store-intro2 .score-box .score-right {
+ color: #ff2c29;
+ flex: 0 0 160rpx;
+ text-align: right;
+}
+
+.store-intro2 .discount-box {
+ display: flex;
+ flex-direction: column;
+}
+
+.store-intro2 .discount-box .discount-item {
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.store-intro2 .discount-box .red {
+ color: #ff2c29;
+}
+
+.store-intro2 .dispatch-box {
+ display: flex;
+ padding: 16rpx 0;
+}
+
+.store-intro2 .dispatch-box .span {
+ margin-right: 12.8rpx;
+ padding: 0 9.6rpx;
+ color: #666;
+ border-radius: 20rpx;
+ border: solid 2rpx #ff8400;
+}
+
+.listNew {
+ display: flex;
+}
+
+.goods-box {
+ display: flex;
+ width: 100%;
+ overflow-x: scroll;
+}
+
+.flexBox {
+ width: 183rpx;
+ height: 300rpx;
+ flex-shrink: 0;
+}
+
+.goods-box .good-item {
+ width: 180rpx;
+ margin-right: 18rpx;
+ font-size: 30rpx;
+}
+
+.goods-box .good-item .good-img {
+ width: 180rpx;
+ height: 180rpx;
+ border-radius: 10rpx;
+}
+
+.goods-box .good-item .good-img image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.goods-box .good-item .good-title {
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 24rpx;
+}
+
+.goods-box .good-item .money {
+ font-size: 22rpx;
+ color: #ff2c29;
+}
+
+.goods-box .good-item .good-price {
+ color: #ff2c29;
+ font-weight: bold;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
diff --git a/packageD/mycomponent/yzMyinfo/yzMyinfo.js b/packageD/mycomponent/yzMyinfo/yzMyinfo.js
new file mode 100644
index 0000000..53c3c53
--- /dev/null
+++ b/packageD/mycomponent/yzMyinfo/yzMyinfo.js
@@ -0,0 +1,155 @@
+// packageD/mycomponent/yz_wap/yz_wapmap.js
+var app = getApp();
+Component({
+ addGlobalClass: true,
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ showFrom: {
+ type: Boolean,
+ default: false
+ },
+ },
+ pageLifetimes: {
+ show: function () {},
+ },
+ observers: {
+ 'showFrom': function (flag) {
+ if (flag == true) {
+ this._getexplain();
+ this._getMember();
+ }
+ },
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ form: {
+ member_name: "",
+ member_card: ""
+ },
+
+ explain_title: "",
+ explain_content: "",
+
+ show1: false
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ closePopup() {
+ this.triggerEvent('confirm', false);
+ },
+ _getexplain() {
+ let that = this;
+ let urlStr = app.getNetAddresss("from.div-from.explain");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ explain_title: res.data.explain_title,
+ explain_content: res.data.explain_content
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ }
+ });
+ },
+ _getMember() {
+ let that = this;
+ let urlStr = app.getNetAddresss("from.div-from.getMemberInfo");
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ 'form.member_name': res.data.realname,
+ 'form.member_card': res.data.idcard
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ }
+ });
+ },
+ //真实姓名值绑定
+ memberNameinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'form.member_name': val
+ });
+ },
+ //身份证号码值绑定
+ membercardinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ 'form.member_card': val
+ });
+ },
+ saveInfo() {
+ if (app._isTextEmpty(this.data.form.member_name)) {
+ wx.showToast({
+ title: '请填写姓名!',
+ icon: 'none'
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.member_card)) {
+ wx.showToast({
+ title: '请填写身份证号!',
+ icon: 'none'
+ });
+ return;
+ }
+
+ let urlStr = app.getNetAddresss("from.div-from.updateMemberInfo");
+ urlStr += '&member_name=' + this.data.form.member_name;
+ urlStr += '&member_card=' + this.data.form.member_card;
+ app._getNetWork({
+ url: urlStr,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let json = {
+ name : this.data.form.member_name,
+ card : this.data.form.member_card,
+ status:false
+ }
+ this.triggerEvent('confirm', json);
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ }
+ });
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageD/mycomponent/yzMyinfo/yzMyinfo.json b/packageD/mycomponent/yzMyinfo/yzMyinfo.json
new file mode 100644
index 0000000..f470b2d
--- /dev/null
+++ b/packageD/mycomponent/yzMyinfo/yzMyinfo.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../../../dist/popup/index",
+ "van-field": "../../../dist/field/index"
+ }
+}
diff --git a/packageD/mycomponent/yzMyinfo/yzMyinfo.wxml b/packageD/mycomponent/yzMyinfo/yzMyinfo.wxml
new file mode 100644
index 0000000..32f823a
--- /dev/null
+++ b/packageD/mycomponent/yzMyinfo/yzMyinfo.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ 真实姓名:
+
+
+
+
+
+
+
+ 身份证号码:
+
+
+
+
+
+
+
+ 确认保存
+
+
+ {{explain_title}}
+ {{explain_content}}
+
+
+
diff --git a/packageD/mycomponent/yzMyinfo/yzMyinfo.wxss b/packageD/mycomponent/yzMyinfo/yzMyinfo.wxss
new file mode 100644
index 0000000..f0815c5
--- /dev/null
+++ b/packageD/mycomponent/yzMyinfo/yzMyinfo.wxss
@@ -0,0 +1,48 @@
+/* pages/member/address/myinfo/myinfo.wxss */
+
+.deliveryinp {
+ display: flex;
+ align-items: center;
+ padding: 28rpx;
+}
+
+.deliveryinp .right {
+ flex: 1;
+ margin-left: 20rpx;
+}
+
+.alterAddress .info_box {
+ background: #fff;
+ padding-left: 28rpx;
+}
+
+.alterAddress .info_box .info_list {
+ border-bottom: solid 2rpx #ebebeb;
+ font-size: 32rpx;
+}
+
+.address_addnav1 {
+ width: 90%;
+ margin: 40rpx auto;
+ background: #f15353;
+ color: #fff;
+ text-align: center;
+ height: 90rpx;
+ line-height: 90rpx;
+ border-radius: 12rpx;
+ font-size: 32rpx;
+}
+
+.agreement {
+ color: #666;
+ padding: 0 40rpx;
+}
+
+.agreement .h1 {
+ font-size: 30rpx;
+ line-height: 60px;
+}
+
+.agreement .p {
+ font-size: 26rpx;
+}
diff --git a/packageD/mycomponent/yzSubscribe/yzSubscribe.js b/packageD/mycomponent/yzSubscribe/yzSubscribe.js
new file mode 100644
index 0000000..3ab8f7a
--- /dev/null
+++ b/packageD/mycomponent/yzSubscribe/yzSubscribe.js
@@ -0,0 +1,115 @@
+var app = getApp();
+Component({
+ addGlobalClass: true,
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ invoiceData: {
+ type: Object,
+ default: () => {
+ return {};
+ }
+ },
+ },
+ pageLifetimes: {
+ show: function () {},
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ showInvoice: false,
+ invoicename: '',
+ companyname: '',
+
+ invoice_list: {
+ call: "",
+ company_number: "",
+ email: "",
+ invoice_type: 'electron',
+ invoice_status: 'person',
+ }
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ show1btn() {
+ this.setData({
+ showInvoice: true,
+ });
+ },
+ closePopup() {
+ this.setData({
+ showInvoice: false,
+ });
+ },
+ callinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "invoice_list.call": val,
+ });
+ },
+ emailinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "invoice_list.email": val,
+ });
+ },
+ companyNumberinp(e) {
+ let val = e.detail.value;
+ this.setData({
+ "invoice_list.company_number": val,
+ });
+ },
+ invoice_type(e) {
+ let type = e.currentTarget.dataset.type;
+ this.setData({
+ "invoice_list.invoice_type": type,
+ });
+ },
+ invoice_title(e) {
+ let type = e.currentTarget.dataset.type;
+ this.setData({
+ "invoice_list.invoice_status": type,
+ });
+ // 清空填写
+ this.setData({
+ "invoice_list.call": "",
+ "invoice_list.company_number": "",
+ "invoice_list.email": "",
+ });
+
+ this.triggerEvent('subInvoice', this.data.invoice_list);
+ },
+ Subinvoice() {
+ if (app._isTextEmpty(this.data.invoice_list.call)) {
+ wx.showToast({
+ title: "请填写抬头",
+ icon: "none",
+ duration: 1500,
+ });
+ return;
+ }
+ if (this.data.iscur_b && app._isTextEmpty(this.data.invoice_list.company_number)) {
+ wx.showToast({
+ title: "请添加纳税人识别号",
+ icon: "none",
+ duration: 1500,
+ });
+ return;
+ }
+ // 页面回显
+ this.setData({
+ invoicename: this.data.invoice_list.invoice_type === 'electron' ? "电子" : "纸质",
+ companyname: this.data.invoice_list.invoice_status === 'person' ? "个人" : "单位",
+ showInvoiceTitle: this.data.invoice_list.call,
+ showInvoice: false,
+ });
+
+ this.triggerEvent('subInvoice', this.data.invoice_list);
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageD/mycomponent/yzSubscribe/yzSubscribe.json b/packageD/mycomponent/yzSubscribe/yzSubscribe.json
new file mode 100644
index 0000000..086019e
--- /dev/null
+++ b/packageD/mycomponent/yzSubscribe/yzSubscribe.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../../../dist/field/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-icon": "../../../dist/icon/index"
+ }
+}
diff --git a/packageD/mycomponent/yzSubscribe/yzSubscribe.wxml b/packageD/mycomponent/yzSubscribe/yzSubscribe.wxml
new file mode 100644
index 0000000..64d993c
--- /dev/null
+++ b/packageD/mycomponent/yzSubscribe/yzSubscribe.wxml
@@ -0,0 +1,56 @@
+
+
+ 发票
+
+ {{ invoicename }}({{ companyname }}—{{ showInvoiceTitle }})
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageD/mycomponent/yzSubscribe/yzSubscribe.wxss b/packageD/mycomponent/yzSubscribe/yzSubscribe.wxss
new file mode 100644
index 0000000..23f9816
--- /dev/null
+++ b/packageD/mycomponent/yzSubscribe/yzSubscribe.wxss
@@ -0,0 +1,153 @@
+.invoice {
+ background: #fff;
+ margin-top: 20rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ font-size: 30rpx;
+ display: flex;
+ padding: 0 28rpx;
+ border-top: solid 2rpx #ebebeb;
+ border-bottom: solid 2rpx #ebebeb;
+ position: relative;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.invoice .left {
+ display: flex;
+ align-items: center;
+}
+
+.invoice .span {
+ margin-right: 40rpx;
+}
+
+.invoice .span .font {
+ color: #f15353;
+}
+
+.invoice .type {
+ font-size: 24rpx;
+ color: #8c8c8c;
+}
+
+.invoice .right {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.popup_box {
+ background: #fff;
+ min-height: 820rpx;
+ padding-bottom: 140rpx;
+ box-sizing: border-box;
+}
+
+.popup_box .h1 {
+ width: 100%;
+
+ /* position: fixed; */
+
+ /* top: 0; */
+ background: #fff;
+ font-size: 36rpx;
+ height: 100rpx;
+ line-height: 100rpx;
+ display: flex;
+ justify-content: space-between;
+ padding: 0 28rpx;
+ box-sizing: border-box;
+ padding-top: 16rpx;
+}
+
+.popup_box .h1 icon {
+ font-size: 32rpx;
+ color: #c9c9c9;
+}
+
+.popup_box .p {
+ padding: 12rpx 28rpx;
+ background: #f0f9ff;
+ border-top: solid 2rpx #91d5ff;
+ border-bottom: solid 2rpx #91d5ff;
+ font-size: 28rpx;
+ text-align: left;
+ color: #8c8c8c;
+ display: flex;
+}
+
+.popup_box .p icon {
+ font-size: 36rpx;
+ color: #91d5ff;
+ margin-right: 8px;
+}
+
+.popup_box .type_box {
+ margin-top: 20rpx;
+}
+
+.popup_box .type_box .h2 {
+ font-size: 30rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ text-align: left;
+ padding: 0 28rpx;
+}
+
+.popup_box .type_box .type {
+ display: flex;
+ padding: 0 28rpx;
+}
+
+.popup_box .type_box .type .button {
+ background: #fff;
+ border: solid 2rpx #ebebeb;
+ font-size: 28rpx;
+ width: 192rpx;
+ height: 56rpx;
+ border-radius: 32rpx;
+ margin-right: 40rpx;
+ color: #666;
+ text-align: center;
+ line-height: 56rpx;
+}
+
+.popup_box .type_box .type .cur.button {
+ background: #f15353;
+ color: #fff;
+ border: none;
+}
+
+.popup_box .type_box .input_box input {
+ padding: 0 20rpx;
+ width: 100%;
+ height: 72rpx;
+ background: #f5f5f5;
+ border-radius: 32rpx;
+ margin-bottom: 24rpx;
+}
+
+.popup_box .btn {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ background: #fff;
+ align-items: center;
+ justify-content: center;
+ display: flex;
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+}
+
+.popup_box .btn .button {
+ width: 90%;
+ height: 84rpx;
+ border-radius: 64rpx;
+ background: #f15353;
+ color: #fff;
+ font-size: 36rpx;
+ border: none;
+ text-align: center;
+ line-height: 84rpx;
+}
diff --git a/packageD/mycomponent/yz_addressList/yz_addressList.js b/packageD/mycomponent/yz_addressList/yz_addressList.js
new file mode 100644
index 0000000..97d2479
--- /dev/null
+++ b/packageD/mycomponent/yz_addressList/yz_addressList.js
@@ -0,0 +1,599 @@
+// packageH/newDraw/components/yz_addressList/yz_addressList.js
+const app = getApp();
+Component({
+ addGlobalClass: true,
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ show: {
+ value: false,
+ type: Boolean
+ },
+ dispatch: {
+ value: '',
+ type: Number
+ },
+ need_lat :{
+ value: '',
+ type: Number
+ },
+ status: {
+ value: '',
+ type: Number
+ },
+ polygons: {
+ value: [],
+ type: Array
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ addressData: [],
+ form: {},
+ create: true,
+ popAddAddress: false,
+ addressName: {},
+ districtVal: '',
+ strShow: false,
+ provinceData: [],
+ pickerValue: [0, 0, 0],
+ delivery_status: 0,
+ selected: '',
+ is_point: "",
+ mapshow: false,
+ tapEditOrAdd: 1
+ },
+ pageLifetimes: {
+ show: function () {
+ // this.getAddress();
+ //加载地址数据初始化
+ this._initAddressInfo();
+ },
+ },
+
+ observers: {
+ 'show':function(acs){
+ let that = this;
+ if(acs == true){
+ that.getAddress();
+ }
+ },
+ 'dispatch': function (patch) {
+ this.setData({
+ delivery_status: patch
+ });
+ },
+ 'status': function (num) {
+ this.setData({
+ selected: num
+ });
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ //获取收货地址
+ getAddress() {
+ this.addressData = [];
+ let that = this;
+ let urlStr = app.getNetAddresss("member.member-address.index");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let defaultAddress = res.data;
+ defaultAddress = res.data.filter(function (item) {
+ return item.isdefault === 1;
+ });
+ that.setData({
+ popupSpecs: true,
+ addressData: res.data,
+ defaultAddress: defaultAddress
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ showLocation() {
+ this.setData({
+ mapshow: true
+ });
+ },
+ goLocation_ro() {
+ app.getGeocoder(this.data.addressName+this.data.form.address).then(res=>{
+ this.setData({
+ is_point: res,
+ });
+ },err=> {
+ this.showLocation();
+ }).catch((err)=> {
+ this.showLocation();
+ });
+ },
+ selectAddress(e) {
+ let item = e.currentTarget.dataset.addr;
+ this.triggerEvent('confirm', item);
+ },
+ confirmSelect(e) {
+ if (e.detail == 'noshow') {
+ this.setData({
+ mapshow: false
+ });
+ } else {
+ let loc = e.detail;
+ this.setData({
+ is_point: loc,
+ mapshow: false
+ });
+ }
+
+ },
+ editAddress(e) {
+ let item = e.currentTarget.dataset.item;
+ this.setData({
+ "form.address_id": item.id,
+ "form.username": item.username,
+ "form.mobile": item.mobile,
+ "form.province": item.province,
+ "form.city": item.city,
+ "form.district": item.district,
+ "form.address": item.address,
+ "form.street": item.street,
+ "form.isDefault": item.isdefault === 0 ? false : true,
+ 'is_point.lng': item.longitude,
+ 'is_point.lat': item.latitude,
+ tapEditOrAdd: 1
+ });
+ // this.triggerEvent('confirm', this.data.for);
+ this.setData({
+ create: false,
+ popAddAddress: true,
+ });
+ this._getStreet(item.district_id);
+ this.setData({
+ addressName: this.data.form.province + " " + this.data.form.city + " " + this.data.form.district
+ });
+
+ },
+ //关闭增加地址
+ popAddressClose() {
+ this.setData({
+ popAddAddress: false
+ });
+ },
+ //收件人输入绑定
+ usernameinp: function (e) {
+ let nameval = e.detail.value;
+ this.setData({
+ "form.username": nameval
+ });
+ },
+ //联系电话输入绑定
+ mobileinp: function (e) {
+ let mobileval = e.detail.value;
+ this.setData({
+ "form.mobile": mobileval
+ });
+ },
+ //默认地址开关值绑定
+ isDefaultChange: function (e) {
+ let isDefault = e.detail;
+ this.setData({
+ "form.isDefault": isDefault
+ });
+ },
+ //详细地址绑定输入
+ addressinp: function (e) {
+ let addressval = e.detail.value;
+ this.setData({
+ "form.address": addressval
+ });
+ },
+ // 关闭选择收货地址
+ _closeDateLw: function () {
+ this.setData({
+ openDateLw: false
+ });
+ },
+ //地址选择器数据初始化
+ _initAddressInfo: function () {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地址信息准备就绪");
+ that._getProvinceData();
+ },
+ fail: function (res) {
+ console.log("省fail");
+ app._getNetWork({
+ url: app.getNetAddresss("member.member-address.address"),
+ success: function (res) {
+ var response = res.data;
+ var province = response.data.province;
+ var city = response.data.city;
+ var district = response.data.district;
+ wx.setStorage({
+ key: 'provinceData',
+ data: province
+ });
+ wx.setStorage({
+ key: 'cityData',
+ data: city
+ });
+ wx.setStorage({
+ key: 'districtData',
+ data: district
+ });
+ that._initAddressInfo();
+ },
+ fail: function (res) {},
+ state: true
+ });
+ }
+ });
+ },
+ // 读取省key
+ _getProvinceData: function () {
+ var that = this;
+ var _keyName = 'provinceData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("省读取成功", res.data);
+ that.setData({
+ provinceData: res.data
+ });
+ that.setData({
+ "selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
+ "selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
+ "selectAddressData[0].index": that.data.pickerValue[0]
+ });
+ that._getCityData();
+ }
+ });
+ },
+ // 读取城市key,筛选城市data
+ _getCityData: function () {
+ var _data = this.data.selectAddressData[0];
+ // console.log("城市", "_data", _data);
+ var that = this;
+ var _keyName = 'cityData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ // console.log("城市读取成功", res);
+
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("城市数据筛选", _json);
+ that.setData({
+ cityData: _json
+ });
+ that.setData({
+ "selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
+ "selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
+ "selectAddressData[1].index": that.data.pickerValue[1]
+ });
+ that._getDistrictData();
+ }
+ });
+ },
+ // 读取地区key,筛选地区data
+ _getDistrictData: function () {
+ var _data = this.data.selectAddressData[1];
+ // console.log("地区", "_data", _data)
+ var that = this;
+ var _keyName = 'districtData';
+ wx.getStorage({
+ key: _keyName,
+ success: function (res) {
+ console.log("地区读取成功");
+ var _json = [];
+ for (var i = 0; i < res.data.length; i++) {
+ if (res.data[i].parentid == _data.id) {
+ _json.push(res.data[i]);
+ }
+ }
+ // console.log("地区数据筛选", _json);
+ that.setData({
+ districtData: _json
+ });
+ // console.log("districtData", _json);
+ that.setData({
+ "selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
+ "selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
+ "selectAddressData[2].index": that.data.pickerValue[2]
+ });
+ // console.log("over", that.data.selectAddressData);
+ }
+ });
+ },
+ //打开地址选择器
+ openDateLwtbtn: function () {
+ this.setData({
+ openDateLw: true
+ });
+ },
+ // 收货地址滚动事件
+ bindChange: function (e) {
+ var val = e.detail.value;
+ if (this.data.pickerValue[0] != val[0]) {
+ val[1] = 0;
+ val[2] = 0;
+ }
+ if (this.data.pickerValue[1] != val[1]) {
+ val[2] = 0;
+ }
+ this.setData({
+ "pickerValue[0]": val[0],
+ "pickerValue[1]": val[1],
+ "pickerValue[2]": val[2]
+ });
+ this._initAddressInfo();
+ },
+ // 确定选择收货地址
+ _okAddress: function () {
+ let seleData = this.data.selectAddressData;
+ this.setData({
+ "form.street": "",
+ "districtVal": "",
+ "addressName": seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name,
+ "form.province": seleData[0].name,
+ "form.city": seleData[1].name,
+ "form.district": seleData[2].name
+ });
+ this._getStreet(seleData[2].id);
+ this._closeDateLw();
+ },
+ //获取街道
+ _getStreet(param) {
+ let that = this;
+ let urlStr = app.getNetAddresss("member.memberAddress.street");
+ urlStr += "&district_id=" + param;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ if (!app._isTextEmpty(res.data) && res.data.length > 0) {
+ that.setData({
+ districtVal: res.data,
+ strShow: true
+ });
+ } else {
+ that.setData({
+ strShow: false
+ });
+ }
+ } else {
+ that.setData({
+ strShow: false
+ });
+ }
+ },
+ fail: function (res) {
+ that.setData({
+ strShow: false
+ });
+ console.log(res);
+ }
+ });
+ },
+ streetChoose() {
+ if (this.data.is_region == 1 && app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: 'none',
+ title: '请先选择所在地区',
+ duration: 1500
+ });
+ } else {
+ this.setData({
+ streetShow: true,
+ opren: false
+ });
+ }
+ },
+ //关闭选择街道弹窗
+ streetClose: function () {
+ this.setData({
+ streetShow: false,
+ opren: true
+ });
+ },
+ //选择街道
+ streetConfirm(e) {
+ let strname = e.target.dataset.strname;
+ this.setData({
+ "form.street": strname,
+ "streetShow": false,
+ opren: true
+ });
+ },
+ //增加地址
+ appendAddress(e) {
+ let that = this;
+ let apptype = e.currentTarget.dataset.apptype;
+ if (app._isTextEmpty(this.data.form.username)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入收货人姓名",
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入联系电话",
+ duration: 1500
+ });
+ return;
+ }
+ if (!/^[0-9]{1,}$/.test(this.data.form.mobile)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入联系电话",
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.is_region == 1 && app._isTextEmpty(this.data.addressName)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请选择所在区域",
+ duration: 1500
+ });
+ return;
+ }
+ if (this.data.is_region == 1 && this.data.strShow && app._isTextEmpty(this.data.form.street)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请选择所在街道",
+ duration: 1500
+ });
+ return;
+ }
+ if (app._isTextEmpty(this.data.form.address)) {
+ wx.showToast({
+ icon: 'none',
+ title: "请输入详细地址",
+ duration: 1500
+ });
+ return;
+ }
+ let json = {};
+ json = {
+ username: this.data.form.username,
+ mobile: this.data.form.mobile,
+ province: this.data.form.province,
+ city: this.data.form.city,
+ district: this.data.form.district,
+ address: this.data.form.address,
+ isdefault: this.data.form.isDefault ? 1 : 0,
+ address_id: this.data.form.address_id
+ };
+ if (this.data.is_point) {
+ json.longitude = this.data.is_point.lng;
+ json.latitude = this.data.is_point.lat;
+ }
+ if (this.data.strShow) {
+ json.street = this.data.form.street;
+ }
+ let urlStr = '';
+ if (apptype === 'update') {
+ urlStr = app.getNetAddresss('member.member-address.update');
+ } else {
+ urlStr = app.getNetAddresss('member.member-address.store');
+ }
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ that.triggerEvent('confirm', res.data);
+ that.popAddressClose();
+ that.setData({
+ "form.username": '',
+ "form.mobile": '',
+ "form.province": '',
+ "form.city": '',
+ "form.district": '',
+ "form.street": '',
+ "form.address": '',
+ "form.isDefault": false,
+ addressName: '',
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500
+ });
+ }
+ },
+ fail: function (res) {
+
+ }
+ });
+ },
+ onCloseAdd() {
+ this.setData({
+ show: false
+ });
+ },
+ //跳转到新增地址
+ addAddress() {
+ this.setData({
+ is_point: '',
+ tapEditOrAdd: 2
+ });
+ this.getIsOpenAddress();
+ //新增地址 本地处理
+ this.showAddAddress();
+ },
+ getIsOpenAddress() {
+ var that = this;
+ let urlStr = app.getNetAddresss("member.member-address.is-region");
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && !app._isTextEmpty(res.data)) {
+ that.setData({
+ is_region: res.data.is_region
+ });
+ } else {
+ console.log(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ //显示增加地址
+ showAddAddress() {
+ this.setData({
+ "form.username": '',
+ "form.mobile": '',
+ "form.province": '',
+ "form.city": '',
+ "form.district": '',
+ "form.street": '',
+ "form.address": '',
+ "form.isDefault": false,
+ addressName: '',
+ popAddAddress: true,
+ create: true
+ });
+ },
+ }
+});
diff --git a/packageD/mycomponent/yz_addressList/yz_addressList.json b/packageD/mycomponent/yz_addressList/yz_addressList.json
new file mode 100644
index 0000000..98cdd3a
--- /dev/null
+++ b/packageD/mycomponent/yz_addressList/yz_addressList.json
@@ -0,0 +1,12 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index",
+ "van-popup": "../../../../dist/popup/index",
+ "van-switch": "../../../../dist/switch/index",
+ "van-cell": "../../../../dist/cell/index",
+ "van-cell-group": "../../../../dist/cell-group/index",
+ "van-nav-bar": "../../../../dist/nav-bar/index",
+ "yz-wapmap" : "../yz_wap/yz_wapmap"
+ }
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/yz_addressList/yz_addressList.wxml b/packageD/mycomponent/yz_addressList/yz_addressList.wxml
new file mode 100644
index 0000000..ca33622
--- /dev/null
+++ b/packageD/mycomponent/yz_addressList/yz_addressList.wxml
@@ -0,0 +1,116 @@
+
+
+
+ 当前暂无地址记录!
+
+
+
+ {{item.username+" "+item.mobile}} 默认
+
+ {{item.province+" "+item.city+" "+item.district+" "+item.street}} {{item.address}}
+
+
+ {{item.province+" "+item.city+" "+item.district}} {{item.address}}
+
+
+ 编辑
+
+
+
+ 新增地址
+
+
+
+
+
+
+
+ 收件人:
+
+
+
+ 联系电话:
+
+
+
+
+
+ 设置默认地址:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 获取经纬度:({{is_point.lng}} , {{is_point.lat}}) 修改
+ 获取位置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+ {{item.areaname}}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/mycomponent/yz_addressList/yz_addressList.wxss b/packageD/mycomponent/yz_addressList/yz_addressList.wxss
new file mode 100644
index 0000000..3b12f2c
--- /dev/null
+++ b/packageD/mycomponent/yz_addressList/yz_addressList.wxss
@@ -0,0 +1,243 @@
+/* packageH/newDraw/components/yz_addressList/yz_addressList.wxss */
+@import "/mycss/iconfont.wxss";
+
+.add-info {
+ overflow-y: scroll;
+ width: 100%;
+ background: #fff;
+ max-height: 50vh;
+ padding-top: 80rpx;
+}
+
+.add-info .ul {
+ overflow-y: scroll;
+}
+
+.add-info .ul .li {
+ padding: 20rpx 0;
+ display: flex;
+ position: relative;
+}
+
+.add-info .li .liia {
+ width: 100%;
+ padding-right: 40rpx;
+ flex: 1;
+ text-align: left;
+ padding-left: 40rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.add-info .li .liia .name {
+ font-size: 36rpx;
+ color: #222;
+ line-height: 64rpx;
+}
+
+.add-info .li .liia .address {
+ word-break: break-word;
+ width: 100%;
+ font-size: 24rpx;
+ color: #666;
+ line-height: 40rpx;
+}
+
+.add-info .li .edit_btn {
+ margin-top: 16rpx;
+ margin-right: 64rpx;
+ height: 64rpx;
+ line-height: 64rpx;
+ flex: 0 0 96rpx;
+
+ /* background: #f15353; */
+ color: #f15353;
+
+ /* border-radius: 20rpx; */
+ text-align: center;
+}
+
+.add-info .isdefault {
+ color: #f15353;
+ font-size: 12px;
+ word-break: keep-all;
+}
+
+.address-plus {
+ background: #f15353;
+ height: 80rpx;
+ line-height: 80rpx;
+ color: #fff;
+ width: 90%;
+ border: 0;
+ text-align: center;
+ margin: 0 auto 10px;
+}
+
+.address_a {
+ background-color: #fff;
+ padding-left: 28rpx;
+ margin-top: 20rpx;
+}
+
+.address_a .li {
+ height: 100rpx;
+ padding-right: 28rpx;
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+}
+
+.defaultAdd {
+ background: #fff;
+ padding-left: 28rpx;
+ display: flex;
+ height: 100rpx;
+ padding-right: 28rpx;
+ font-size: 32rpx;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.addName {
+ background: #fff;
+}
+
+.addstreet {
+ background: #fff;
+}
+
+.text_adderss {
+ background: #fff;
+}
+
+.text_adderss input {
+ text-wrap: unset;
+ padding: 20rpx 28rpx;
+ font-size: 28rpx;
+ line-height: 48rpx;
+ min-height: 104rpx;
+ text-align: left;
+}
+
+.adderss_btn .button {
+ margin: 40rpx auto;
+ width: 600rpx;
+ height: 90rpx;
+ border-radius: 10rpx;
+ background: #f15353;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.adderss_btn .button .plus_circle {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.adderss_btn .button .plus_circle van-icon {
+ display: flex;
+ align-items: center;
+}
+
+/* 地址选择器 */
+
+/* -------------------------------- */
+.b-mask.true {
+ width: 100vw;
+ height: 100vh;
+ background: rgba(0, 0, 0, 0.5);
+ position: fixed;
+ left: 0;
+ top: 0;
+ z-index: 999;
+}
+
+.btn-area {
+ padding: 0rpx 20rpx;
+}
+
+.dateBe {
+ position: fixed;
+ bottom: 0rpx;
+ left: -5rpx;
+ width: 760rpx;
+ padding: 0rpx 5rpx;
+ box-sizing: border-box;
+ z-index: 200;
+ font-size: 28rpx;
+ border-top: 1rpx solid #d9d9d9;
+ opacity: 0;
+ transform: translate(-750rpx, 0rpx);
+}
+
+.dateBe.true {
+ opacity: 1;
+ transform: translate(0rpx, 0rpx);
+ z-index: 9999;
+}
+
+.dateBe .head {
+ display: flex;
+ flex-flow: nowrap;
+ padding: 0rpx 30rpx;
+ line-height: 80rpx;
+ border-bottom: 1rpx solid #d9d9d9;
+ background: #f8f8f8;
+}
+
+.dateBe .head .ll {
+ flex: 1;
+}
+
+.dateBe .head .rr {
+ text-align: right;
+ flex: 1;
+}
+
+.dateBe .main {
+ background: #f8f8f8;
+}
+
+.dateBe .main view {
+ text-align: center;
+}
+
+/* 选择经纬度 */
+.getLocation {
+ display: flex;
+ align-items: center;
+ height: 100rpx;
+ justify-content: space-between;
+ margin: 0 30rpx;
+}
+
+.getLocation .left {
+ height: 100%;
+ display: flex;
+ align-items: center;
+}
+
+.getLocation .left icon {
+ margin-top: -10rpx;
+ color: #999;
+}
+
+.getLocation .left text {
+ font-size: 30rpx;
+}
+
+.getLocation .right {
+ height: 100%;
+ display: flex;
+ align-items: center;
+}
+
+.getLocation .right icon {
+ color: #999;
+}
+
+/* end */
diff --git a/packageD/mycomponent/yz_wap/yz_wapmap.js b/packageD/mycomponent/yz_wap/yz_wapmap.js
new file mode 100644
index 0000000..b0aaef4
--- /dev/null
+++ b/packageD/mycomponent/yz_wap/yz_wapmap.js
@@ -0,0 +1,416 @@
+// packageD/mycomponent/yz_wap/yz_wapmap.js
+var QQMapWX = require("../../../mymap/qqmap-wx-jssdk.min.js");
+var qqmapsdk;
+// var map;
+var app = getApp();
+Component({
+ addGlobalClass: true,
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ local_city:{
+ value:'',
+ type:String
+ },
+ polygons: {
+ value: [],
+ type: Array
+ }
+ },
+ pageLifetimes: {
+ show: function () {
+ let that = this;
+ wx.getSystemInfo({
+ success: (result) => {
+ console.log(result);
+ if(result.platform == 'android'){
+ that.setData({
+ android:true
+ });
+ }
+ },
+ });
+ if (!app.globalData.qqmapkey) {
+ app._getTemplate().then((res) => {
+ qqmapsdk = new QQMapWX({
+ key: app.globalData.qqmapkey,
+ });
+ this.poscurrent();
+ });
+ } else {
+ qqmapsdk = new QQMapWX({
+ key: app.globalData.qqmapkey,
+ });
+ this.poscurrent();
+ }
+ },
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ android:false,
+ suggestion: [],
+ address_latitude: "",
+ address_longitude: "",
+ markers: [],
+ address_detail: "",
+ suggestionshow: false,
+ mksData: [],
+ mapmessageData: {
+ title: "",
+ message: "",
+ latitude: "",
+ longitude: "",
+ city: "",
+ },
+ updatePoint: {},
+ scaleData: 16,
+ tag: "",
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ searchconfirmbtn(e) {
+ var val = e.detail.value;
+ this.addressinp(val);
+ },
+ addressinpbtn(e) {
+ var val = e.detail.value;
+ this.addressinp(val);
+ },
+ addressinp(val) {
+ var _this = this;
+ if (!val) {
+ this.setData({
+ suggestionshow: false,
+ });
+ return;
+ }
+ //调用关键词提示接口
+ qqmapsdk.getSuggestion({
+ //获取输入框值并设置keyword参数
+ keyword: val, //用户输入的关键词,可设置固定值,如keyword:'KFC'
+ region: this.data.local_city, //设置城市名,限制关键词所示的地域范围,非必填参数
+ region_fix: 1,
+ sig: app.globalData.qqmapsig,
+ success: function (res) {
+ //搜索成功后的回调
+ var sug = [];
+ for (var i = 0; i < res.data.length; i++) {
+ sug.push({
+ // 获取返回结果,放到sug数组中
+ title: res.data[i].title,
+ id: res.data[i].id,
+ addr: res.data[i].address,
+ city: res.data[i].city,
+ district: res.data[i].district,
+ latitude: res.data[i].location.lat,
+ longitude: res.data[i].location.lng,
+ });
+ }
+ _this.setData({
+ //设置suggestion属性,将关键词搜索结果以列表形式展示
+ suggestion: sug,
+ suggestionshow: true,
+ });
+ },
+ fail: function (error) {
+ console.error(error);
+ },
+ complete: function (res) {},
+ });
+ },
+ //数据回填方法
+ backfill: function (e) {
+ var id = e.currentTarget.id;
+ for (var i = 0; i < this.data.suggestion.length; i++) {
+ if (i == id) {
+ this.setData({
+ address_detail: this.data.suggestion[i].title,
+ address_latitude: this.data.suggestion[i].latitude,
+ address_longitude: this.data.suggestion[i].longitude,
+ "mapmessageData.title": this.data.suggestion[i].title,
+ "mapmessageData.message": this.data.suggestion[i].addr,
+ "mapmessageData.latitude": this.data.suggestion[i].latitude,
+ "mapmessageData.longitude": this.data.suggestion[i].longitude,
+ "mapmessageData.city": this.data.suggestion[i].city,
+ suggestionshow: false,
+ });
+ this.nearby_search();
+ }
+ }
+ },
+ // 事件触发,调用接口
+ nearby_search: function () {
+ var _this = this;
+ // 调用接口
+ qqmapsdk.search({
+ keyword: this.data.address_detail, //搜索关键词
+ region: this.data.local_city,
+ location: {
+ latitude: this.data.address_latitude,
+ longitude: this.data.address_longitude,
+ }, //设置周边搜索中心点
+ sig: app.globalData.qqmapsig,
+ success: function (res) {
+ //搜索成功后的回调
+ console.log("ccccc", res);
+ var mks = [];
+ var mksData = [];
+ for (var i = 0; i < res.data.length; i++) {
+ mks.push({
+ // 获取返回结果,放到mks数组中
+ title: res.data[i].title,
+ id: res.data[i].id,
+ latitude: res.data[i].location.lat,
+ longitude: res.data[i].location.lng,
+ zIndex: 10,
+ iconPath: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //图标路径
+ width: 20,
+ height: 25,
+ callout: {
+ padding: "10rpx",
+ borderRadius: "5rpx",
+ content: res.data[i].title,
+ },
+ });
+ mksData.push({
+ address: res.data[i].address,
+ title: res.data[i].title,
+ latitude: res.data[i].location.lat,
+ longitude: res.data[i].location.lng,
+ id: res.data[i].id,
+ city: res.data[i].ad_info.city ?
+ res.data[i].ad_info.city :
+ res.res.data[i].ad_info.province,
+ });
+ }
+ _this.setData({
+ //设置markers属性,将搜索结果显示在地图中
+ markers: mks,
+ mksData: mksData,
+ });
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ complete: function (res) {
+ // console.log(res);
+ },
+ });
+ },
+ getmarkertap(e) {
+ let markerId = e.markerId;
+ if(markerId == '-1') {
+ this.setData({
+ "mapmessageData.title": "",
+ "mapmessageData.message": "自选位置",
+ "mapmessageData.latitude": this.data.updatePoint.latitude,
+ "mapmessageData.longitude": this.data.updatePoint.longitude,
+ address_latitude: this.data.updatePoint.latitude,
+ address_longitude: this.data.updatePoint.longitude,
+ });
+ }
+ for (var i = 0; i < this.data.mksData.length; i++) {
+ let id = this.data.mksData[i].id;
+ if (markerId == id) {
+ // markerId == id 要真机预览调试才可以
+ this.setData({
+ address_latitude: this.data.mksData[i].latitude,
+ address_longitude: this.data.mksData[i].longitude,
+ "mapmessageData.title": this.data.mksData[i].title,
+ "mapmessageData.message": this.data.mksData[i].address,
+ "mapmessageData.latitude": this.data.mksData[i].latitude,
+ "mapmessageData.longitude": this.data.mksData[i].longitude,
+ "mapmessageData.city": this.data.mksData[i].city,
+ });
+ }
+ }
+ },
+ maptap(e) {
+ // 真机触发了getmarkertap就不会触发maptap
+ if(!this.data.polygons || this.data.polygons.length <= 0) {
+ return;
+ }
+ console.log(e,"maptap");
+ let updatePoint = {
+ // 获取返回结果,放到mks数组中
+ title: '自选位置',
+ id: '-1',
+ latitude: e.detail.latitude,
+ longitude: e.detail.longitude,
+ zIndex: 2,
+ iconPath: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //图标路径
+ width: 20,
+ height: 25,
+ callout: {
+ padding: "10rpx",
+ borderRadius: "5rpx",
+ content: '自选位置',
+ },
+ };
+ if(this.data.markers && this.data.markers.length > 0 && this.data.markers[this.data.markers.length -1].id != '-1') {
+ this.data.markers.push(updatePoint);
+ }else {
+ this.data.markers[this.data.markers.length -1] = updatePoint;
+ }
+
+ this.setData({
+ updatePoint: updatePoint,
+ //设置markers属性,将搜索结果显示在地图中
+ markers: this.data.markers,
+ "mapmessageData.title": "",
+ "mapmessageData.message": "自选位置",
+ "mapmessageData.latitude": e.detail.latitude,
+ "mapmessageData.longitude": e.detail.longitude,
+ address_latitude: e.detail.latitude,
+ address_longitude: e.detail.longitude,
+ });
+ },
+ addbtn() {
+ let mapCtx = wx.createMapContext("myMap",this);
+ // console.log(mapCtx);
+ let that = this;
+ mapCtx.getScale({
+ success: function (e) {
+ let scale = e.scale;
+ that.setData({
+ scaleData: scale + 1,
+ });
+ },
+ });
+ },
+ minusbtn() {
+ let mapCtx = wx.createMapContext("myMap",this);
+ let that = this;
+ mapCtx.getScale({
+ success: function (e) {
+ let scale = e.scale;
+ that.setData({
+ scaleData: scale - 1,
+ });
+ },
+ });
+ },
+ addressplay() {
+ this.poscurrent();
+ },
+ poscurrent: function () {
+ let that = this;
+ wx.getSetting({
+ success(resData) {
+ if (!resData.authSetting["scope.userLocation"]) {
+ wx.authorize({
+ scope: "scope.userLocation",
+ success() {},
+ fail() {},
+ complete() {
+ that.getlocaldata();
+ },
+ });
+ } else {
+ that.getlocaldata();
+ }
+ },
+ });
+
+ },
+ getlocaldata() {
+ let that = this;
+ wx.getLocation({
+ type: "gcj02",
+ success(res) {
+ const latitude = res.latitude;
+ const longitude = res.longitude;
+ // const speed = res.speed;
+ // const accuracy = res.accuracy;
+ that._setaddressData({
+ lat: latitude,
+ lng: longitude,
+ });
+ },
+ fail(err) {
+ if (err.errMsg === "getLocation:fail auth deny") {
+ console.log("当初用户拒绝,再次发起授权");
+ wx.openSetting({
+ success(settingdata) {
+ if (settingdata.authSetting["scope.userLocation"]) {
+ wx.showToast({
+ icon: "none",
+ title: "获取权限成功",
+ duration: 1500,
+ });
+ that.getlocaldata();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: "获取权限失败,定位需要用户授权",
+ duration: 1500,
+ });
+ }
+ },
+ });
+ }
+ },
+ });
+ },
+ _setaddressData(e) {
+ let that = this;
+ qqmapsdk.reverseGeocoder({
+ //位置坐标,默认获取当前位置,非必须参数
+ location: {
+ latitude: e.lat,
+ longitude: e.lng,
+ },
+ sig: app.globalData.qqmapsig,
+ success: function (res) {
+ //成功后的回调
+ that.setData({
+ address_detail: "",
+ address_latitude: res.result.location.lat,
+ address_longitude: res.result.location.lng,
+ "mapmessageData.title": res.result.formatted_addresses.recommend,
+ "mapmessageData.message": res.result.address,
+ "mapmessageData.latitude": res.result.location.lat,
+ "mapmessageData.longitude": res.result.location.lng,
+ "mapmessageData.city": res.result.address_component.city ?
+ res.result.address_component.city :
+ res.result.address_component.province,
+ });
+ },
+ fail: function (error) {
+ wx.showToast({
+ duration: 3000,
+ title: error.message,
+ icon: "none",
+ });
+ },
+ complete: function (res) {},
+ });
+ },
+ onClickLeft(){
+ this.triggerEvent('confirm', 'noshow');
+ },
+ buttonbtn() {
+ let point = {
+ lat: Number(Number(this.data.address_latitude).toFixed(6)),
+ lng: Number(Number(this.data.address_longitude).toFixed(6)),
+ address:this.data.mapmessageData.title
+ };
+ if(!this.data.polygons || this.data.polygons.length <= 0) {
+ wx.setStorage({
+ key: "address-point",
+ data: {
+ point: point,
+ city: this.data.mapmessageData.city,
+ },
+ });
+ }
+ this.triggerEvent('confirm', point);
+ },
+ }
+});
\ No newline at end of file
diff --git a/packageD/mycomponent/yz_wap/yz_wapmap.json b/packageD/mycomponent/yz_wap/yz_wapmap.json
new file mode 100644
index 0000000..6e7b6f4
--- /dev/null
+++ b/packageD/mycomponent/yz_wap/yz_wapmap.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-nav-bar":"../../../dist/nav-bar/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/mycomponent/yz_wap/yz_wapmap.wxml b/packageD/mycomponent/yz_wap/yz_wapmap.wxml
new file mode 100644
index 0000000..79ea446
--- /dev/null
+++ b/packageD/mycomponent/yz_wap/yz_wapmap.wxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{mapmessageData.title}}
+
+
+ 地址:{{mapmessageData.message}}
+
+
+
+
+ 使用该地址
+
+
+
+
diff --git a/packageD/mycomponent/yz_wap/yz_wapmap.wxss b/packageD/mycomponent/yz_wap/yz_wapmap.wxss
new file mode 100644
index 0000000..1c38840
--- /dev/null
+++ b/packageD/mycomponent/yz_wap/yz_wapmap.wxss
@@ -0,0 +1,139 @@
+/* packageD/mycomponent/yz_wap/yz_wapmap.wxss */
+
+/* pages/o2oLocation_loc/o2oLocation_loc.wxss */
+.map {
+ height: 100%;
+}
+
+.map .seachbox {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-bottom: 10rpx;
+}
+
+.map .search_box {
+ display: flex;
+ justify-content: flex-start;
+ padding: 0 20rpx;
+ width: 624rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ border-radius: 32rpx;
+ background-color: #f5f5f5;
+}
+
+.search_box icon {
+ color: #999;
+ font-size: 32rpx;
+ margin-top: -4rpx;
+}
+
+.search_box input {
+ border: none;
+ margin-left: 20rpx;
+ max-width: 624rpx;
+ display: block;
+ height: 100%;
+ flex: 1;
+}
+
+.seachboxBottom {
+ position: absolute;
+ z-index: 1024;
+ background-color: #fefefe;
+ border: 1px solid #d1d1d1;
+ width: 60%;
+ overflow: hidden;
+ top: 0;
+ left: 50rpx;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+}
+
+.seachboxBottom .seachboxContent {
+ padding-top: 5rpx;
+ padding-bottom: 5rpx;
+}
+
+.ten {
+ position: absolute;
+ right: 20rpx;
+ bottom: 50rpx;
+ z-index: 500;
+ width: 70rpx;
+ background-color: white;
+ border-radius: 6rpx;
+ border: 2rpx solid #ccc;
+ box-shadow: 2rpx 2rpx 20rpx 0 #ccc;
+}
+
+.ten .ten_l {
+ font-size: 52rpx;
+ line-height: 70rpx;
+ text-align: center;
+ color: #666;
+ height: 70rpx;
+}
+
+.ten .ten_la {
+ font-size: 52rpx;
+ line-height: 70rpx;
+ text-align: center;
+ color: #666;
+ height: 70rpx;
+}
+
+.anz {
+ padding-top: 20rpx;
+ box-sizing: border-box;
+}
+
+.play {
+ position: absolute;
+ left: 20rpx;
+ bottom: 50rpx;
+ z-index: 500;
+ width: 80rpx;
+ height: 80rpx;
+ background-color: white;
+ border-radius: 50%;
+ border: 2rpx solid #ccc;
+}
+
+.play .img {
+ width: 100%;
+ height: 100%;
+}
+
+.mapmessage {
+ display: flex;
+ padding: 10rpx;
+ justify-content: space-between;
+}
+
+.mapmessage .left {
+ width: 500rpx;
+}
+
+.mapmessage .left .bottom {
+ color: #999;
+}
+
+.mapmessage .right {
+ width: 200rpx;
+ overflow: hidden;
+ padding-top: 20rpx;
+}
+
+.mapmessage .right .button {
+ border: 1px solid #eee;
+ width: 198rpx;
+ height: 58rpx;
+ line-height: 58rpx;
+ border-radius: 10rpx;
+ text-align: center;
+ background: #09bb07;
+ color: #fff;
+ font-size: 28rpx;
+}
diff --git a/packageD/o2o/recommendind/recommendind.js b/packageD/o2o/recommendind/recommendind.js
new file mode 100644
index 0000000..0f6a783
--- /dev/null
+++ b/packageD/o2o/recommendind/recommendind.js
@@ -0,0 +1,146 @@
+// packageD/o2o/recommendind/recommendind.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ // 商品展示的数量
+ show_num: "",
+ store_id: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.store_id) {
+ this.setData({
+ store_id: options.store_id,
+ });
+ }
+ this.getStoreInfo();
+ },
+ add() {
+ wx.navigateTo({
+ url:
+ "/packageD/o2o/recommendlist/recommendlist?store_id=" +
+ this.data.store_id,
+ });
+ },
+ deltap(e) {
+ console.log(e.currentTarget.id);
+ let delId = e.currentTarget.id;
+ this.deltapInfo(delId);
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getStoreInfo();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getStoreInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.near-by-goods.get-store-goods"
+ );
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1) {
+ // that.setData({
+ // goods_data:res.data.goods_data,
+ // category: res.data.category
+ // })
+ that.setData({
+ list: res.data.list,
+ show_num: res.data.show_num,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ deltapInfo(delId) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.nearby-store-goods.frontend.controllers.goods.delete-good"
+ );
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ goods_id: delId,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ success: function () {
+ that.getStoreInfo();
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
diff --git a/packageD/o2o/recommendind/recommendind.json b/packageD/o2o/recommendind/recommendind.json
new file mode 100644
index 0000000..9822b7e
--- /dev/null
+++ b/packageD/o2o/recommendind/recommendind.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {},
+ "navigationBarTitleText": "已选择商品"
+}
\ No newline at end of file
diff --git a/packageD/o2o/recommendind/recommendind.wxml b/packageD/o2o/recommendind/recommendind.wxml
new file mode 100644
index 0000000..9a28525
--- /dev/null
+++ b/packageD/o2o/recommendind/recommendind.wxml
@@ -0,0 +1,29 @@
+
+
+ 商品展示数量:{{show_num}}
+
+
+ 暂无选择商品
+
+
+
+
+
+
+
+ {{item.has_one_goods.title}}
+
+
+ {{language['money']}}
+ {{item.has_one_goods.price}}
+
+
+ 删除
+
+
+
+
+
+
+
+
diff --git a/packageD/o2o/recommendind/recommendind.wxss b/packageD/o2o/recommendind/recommendind.wxss
new file mode 100644
index 0000000..fc51b27
--- /dev/null
+++ b/packageD/o2o/recommendind/recommendind.wxss
@@ -0,0 +1,137 @@
+/* packageD/o2o/recommendind/recommendind.wxss */
+
+/* 显示一选取商品 */
+.show_box {
+ min-height: 100vh;
+ background: #fff;
+ overflow: hidden;
+}
+
+.show_box .toptext {
+ padding-top: 30rpx;
+ padding-left: 30rpx;
+ font-size: 28rpx;
+ color: #000;
+ line-height: 36rpx;
+}
+
+.no_showlist {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ margin-top: 62rpx;
+}
+
+.no_showlist image {
+ width: 140rpx;
+ height: 164rpx;
+ margin-bottom: 38rpx;
+}
+
+.no_showlist text {
+ font-size: 28rpx;
+ color: #999;
+}
+
+.is_showlist {
+ margin: 0 25rpx;
+ margin-top: 35rpx;
+}
+
+.showlist_box {
+ width: 100%;
+ height: 186rpx;
+ background-color: #fff;
+ box-shadow:
+ 0rpx 0rpx 25rpx 0rpx
+ rgba(0, 0, 0, 0.15);
+ border-radius: 10rpx;
+ display: flex;
+ align-items: center;
+ margin-bottom: 34rpx;
+}
+
+.nameimg {
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 10rpx;
+ margin-left: 27rpx;
+}
+
+.nameimg image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.list_particular {
+ flex: 1;
+ height: 130rpx;
+ margin-right: 33rpx;
+ margin-left: 16rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.list_particular .text {
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ flex: 1;
+ font-size: 32rpx;
+ color: #000;
+ line-height: 42rpx;
+}
+
+.list_particular .list_particular_bottom {
+ height: 40rpx;
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.list_particular_bottom .left_text {
+ display: flex;
+ align-items: center;
+}
+
+.list_particular_bottom .left_text .np {
+ font-size: 24rpx;
+ color: #f01414;
+ margin-top: 5rpx;
+}
+
+.list_particular_bottom .left_text .zp {
+ font-size: 32rpx;
+ color: #f01414;
+}
+
+.list_particular_bottom .right_text {
+ width: 100rpx;
+ height: 39rpx;
+ border: solid 2rpx #f31d1d;
+ text-align: center;
+ border-radius: 20rpx;
+ color: #f01414;
+}
+
+/* 添加按钮 */
+
+.addBtn {
+ position: fixed;
+ bottom: 120rpx;
+ right: 33rpx;
+ width: 84rpx;
+ height: 84rpx;
+ box-shadow: 0rpx 0rpx 25rpx 0rpx rgba(245, 57, 57, 0.5);
+ border-radius: 50%;
+ background-image: url('https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/zhibo_add@2x.png');
+ background-size: 96rpx 96rpx;
+ background-position: -3px -3px;
+ background-repeat: no-repeat;
+}
diff --git a/packageD/o2o/recommendlist/recommendlist.js b/packageD/o2o/recommendlist/recommendlist.js
new file mode 100644
index 0000000..05915d5
--- /dev/null
+++ b/packageD/o2o/recommendlist/recommendlist.js
@@ -0,0 +1,363 @@
+// packageD/o2o/recommendlist/recommendlist.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ inpvalue: "",
+ left_show: false,
+ right_show: false,
+ testarr: ["一级标题", "二级标题", "三级标题", "四级标题"],
+ openSelect: false,
+ // 商品展示的数量
+ show_num: "",
+ name: 1,
+ result: [],
+ first_name: "",
+ ind: "",
+ twos: "",
+ page: 1,
+ json: {},
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ store_id: options.store_id,
+ });
+ this.getStoreInfo();
+ this.getdata();
+ },
+ ischang(e) {
+ console.log(e);
+ },
+ bindPickerChange: function (e) {
+ var first_ind = e.detail.value;
+ this.setData({
+ first_name: this.data.category[first_ind].name,
+ parentid: this.data.category[first_ind].id,
+ twos_list: this.data.category[first_ind].childrens,
+ });
+ var ajson = {
+ store_id: this.data.store_id,
+ page: "1",
+ category: {
+ parentid: this.data.parentid,
+ childid: "",
+ },
+ };
+ this.setData({
+ isjson: ajson,
+ });
+ this.flSearch(this.data.isjson);
+ },
+ bindPickerChange_two: function (e) {
+ var two_ind = e.detail.value;
+ console.log(two_ind);
+ this.setData({
+ twos_name: this.data.twos_list[two_ind].name,
+ childid: this.data.twos_list[two_ind].id,
+ });
+ var ajson = {
+ store_id: this.data.store_id,
+ page: "1",
+ category: {
+ parentid: this.data.parentid,
+ childid: this.data.childid,
+ },
+ };
+ this.setData({
+ isjson: ajson,
+ });
+ this.flSearch(this.data.isjson);
+ },
+ inpbtn(e) {
+ console.log(e.detail.value);
+ this.setData({
+ inpvalue: e.detail.value,
+ });
+ },
+ inpbtnclear(e) {
+ console.log(e.detail.value);
+ },
+ tapOn(e) {
+ console.log(e.currentTarget.dataset.tap);
+ let tapname = e.currentTarget.dataset.tap;
+ if (tapname == "left") {
+ this.setData({
+ left_show: !this.data.left_show,
+ });
+ } else if (tapname == "right") {
+ this.setData({
+ right_show: !this.data.right_show,
+ });
+ }
+ },
+ checkAll(e) {
+ console.log(e);
+ },
+ rentAllSelectHandle(event) {
+ console.log(event);
+ this.setData({
+ result: event.detail,
+ });
+ },
+ tapfirst(e) {
+ console.log(e.currentTarget.dataset.name);
+ this.setData({
+ first_name: e.currentTarget.dataset.name,
+ });
+ },
+ btntap() {
+ console.log(this.data.result);
+ let json = {
+ store_id: this.data.store_id,
+ choose_goods: this.data.result,
+ };
+ this.tapPush(json);
+ },
+ goText() {
+ wx.navigateTo({
+ url:
+ "/packageD/o2o/recommendtext/recommendtext?store_id=" +
+ this.data.store_id +
+ "&&show_num=" +
+ this.data.show_num,
+ });
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ console.log(this.data.current_page, this.data.last_page);
+ console.log(this.data.json);
+ console.log(app._isTextEmpty(this.data.json));
+ if (this.data.current_page <= this.data.last_page) {
+ wx.showToast({
+ title: "没有更多",
+ icon: "none",
+ duration: 1500,
+ });
+ } else if (this.data.current_page > this.data.last_page) {
+ let pageAge = this.data.page + 1;
+ this.setData({
+ page: pageAge,
+ });
+ if (!app._isTextEmpty(this.data.json)) {
+ this.loadinginfo(this.data.json);
+ } else {
+ this.getStoreInfo();
+ }
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getdata() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.near-by-goods.get-store-goods"
+ );
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1) {
+ that.setData({
+ show_num: res.data.show_num,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getStoreInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.near-by-goods.index"
+ );
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ page: this.data.page,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1) {
+ that.setData({
+ goods_data: res.data.goods_data.data,
+ category: res.data.category,
+ current_page: res.data.goods_data.current_page,
+ last_page: res.data.goods_data.last_page,
+ });
+ console.log(res.data.goods_data);
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ flSearch(json) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.near-by-goods.get-goods-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1) {
+ that.setData({
+ goods_data: res.data.list.data,
+ current_page: res.data.list.current_page,
+ last_page: res.data.list.last_page,
+ });
+ if (res.data.list.data.length == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "没有相关商品",
+ duration: 1500,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ loadinginfo(json) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.near-by-goods.get-goods-list"
+ );
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1) {
+ that.setData({
+ goods_data: res.data.list.data,
+ current_page: res.data.current_page,
+ last_page: res.data.last_page,
+ });
+ if (res.data.list.data.length == 0) {
+ wx.showToast({
+ icon: "none",
+ title: "没有相关商品",
+ duration: 1500,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ tapPush(json) {
+ let urlStr = app.getNetAddresss(
+ "plugin.nearby-store-goods.frontend.controllers.goods.index"
+ );
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ success: function () {
+ wx.navigateBack({
+ delta: 1,
+ });
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
diff --git a/packageD/o2o/recommendlist/recommendlist.json b/packageD/o2o/recommendlist/recommendlist.json
new file mode 100644
index 0000000..b7d9990
--- /dev/null
+++ b/packageD/o2o/recommendlist/recommendlist.json
@@ -0,0 +1,9 @@
+{
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index",
+ "van-icon": "../../../../dist/icon/index",
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index"
+ },
+ "navigationBarTitleText": "已选择商品"
+}
\ No newline at end of file
diff --git a/packageD/o2o/recommendlist/recommendlist.wxml b/packageD/o2o/recommendlist/recommendlist.wxml
new file mode 100644
index 0000000..b14f6d6
--- /dev/null
+++ b/packageD/o2o/recommendlist/recommendlist.wxml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+ {{first_name?"一级分类: "+first_name:"一级分类"}}
+
+
+
+
+
+
+ {{twos_name?"二级分类: "+twos_name:"二级分类"}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{language['money']}}
+ {{item.price}}
+
+
+
+
+
+
+
+
+ 商品展示数量:{{show_num}}
+ 确定
+
+
diff --git a/packageD/o2o/recommendlist/recommendlist.wxss b/packageD/o2o/recommendlist/recommendlist.wxss
new file mode 100644
index 0000000..6b64401
--- /dev/null
+++ b/packageD/o2o/recommendlist/recommendlist.wxss
@@ -0,0 +1,228 @@
+/* packageD/o2o/recommendlist/recommendlist.wxss */
+.searchBox {
+ width: 100%;
+ background: #fff;
+ overflow: hidden;
+ min-height: 100vh;
+}
+
+.searchinp {
+ width: 600rpx;
+ height: 80rpx;
+ border-radius: 40rpx;
+ background: #f2f2f2;
+ margin: 0 auto;
+ margin-top: 20rpx;
+ display: flex;
+ align-items: center;
+}
+
+.searchinp icon {
+ color: #999;
+ margin-left: 30rpx;
+ font-size: 20px;
+}
+
+.searchinp .van-cell {
+ background: initial;
+}
+
+.tab_classify {
+ display: flex;
+ align-items: center;
+ padding: 45rpx 0;
+ position: relative;
+}
+
+.tab_lefr {
+ flex: 1;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.line {
+ width: 2rpx;
+ height: 34rpx;
+ background: #bbb;
+ transition: 1s;
+}
+
+.none {
+ display: none;
+}
+
+.tab_right {
+ width: 50%;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ transition: 1s;
+}
+
+.tab_lefr .van-icon,
+.tab_right .van-icon {
+ margin-top: 10rpx;
+ margin-left: 24rpx;
+ color: #000;
+ font-size: 16px;
+}
+
+.tab_right text,
+.tab_lefr text {
+ font-size: 28rpx;
+ color: #000;
+}
+
+.tab_classify .first_show {
+ position: absolute;
+ top: 44.6px;
+ left: 21px;
+ width: 45%;
+ height: 250rpx;
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ overflow: hidden;
+ overflow-y: auto;
+}
+
+.tab_classify .two_show {
+ position: absolute;
+ top: 44.6px;
+ right: 0;
+ width: 376rpx;
+ height: 251rpx;
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ overflow: hidden;
+ overflow-y: auto;
+}
+
+.tab_classify .first_show view {
+ font-size: 28rpx;
+ color: #000;
+ text-align: center;
+ padding-bottom: 23rpx;
+ border-bottom: 1rpx solid #f6f6f6;
+ margin-top: 34rpx;
+ width: 100%;
+}
+
+.tab_classify .first_show view:first-child {
+ margin-top: 34rpx;
+}
+
+.tab_classify .two_show view {
+ font-size: 28rpx;
+ color: #000;
+ margin: 24rpx 0;
+}
+
+.tab_classify .two_show view:first-child {
+ margin-top: 34rpx;
+}
+
+.shoplist_box {
+ width: 700rpx;
+ height: 186rpx;
+ background-color: #fff;
+ box-shadow:
+ 0rpx 0rpx 10rpx 0rpx
+ rgba(0, 0, 0, 0.1);
+ border-radius: 10rpx;
+ margin: 0 auto;
+ display: flex;
+ align-items: center;
+ margin-bottom: 34rpx;
+}
+
+.shoplist_box .van-checkbox {
+ margin-left: 27rpx;
+}
+
+.shoplist_box .shopimage {
+ width: 120rpx;
+ height: 120rpx;
+ background-color: #d35c5c;
+ border-radius: 10rpx;
+ margin-left: 28rpx;
+}
+
+.shoplist_box .shopimage image {
+ border-radius: 10rpx;
+ width: 100%;
+ height: 100%;
+}
+
+.shopText {
+ flex: 1;
+ margin-left: 28rpx;
+ margin-right: 19rpx;
+ height: 124rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.shopText_top {
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #000;
+}
+
+.shopText_bottom {
+ line-height: 36rpx;
+}
+
+.shopText_bottom text:first-child {
+ font-size: 24rpx;
+ color: #f01414;
+}
+
+.shopText_bottom text:last-child {
+ font-size: 32rpx;
+ color: #f01414;
+}
+
+.bottomBtn {
+ height: 100rpx;
+ background-color: #f8f8f8;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.bottomBtn text {
+ margin-left: 23rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+}
+
+.btn {
+ width: 200rpx;
+ height: 80rpx;
+ background-color: #f53939;
+ border-radius: 40rpx;
+ margin-right: 26rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 36rpx;
+ color: #fff;
+}
diff --git a/packageD/o2o/recommendtext/recommendtext.js b/packageD/o2o/recommendtext/recommendtext.js
new file mode 100644
index 0000000..dbe8376
--- /dev/null
+++ b/packageD/o2o/recommendtext/recommendtext.js
@@ -0,0 +1,164 @@
+// packageD/o2o/recommendtext/recommendtext.js
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ store_id: "",
+ inpvalue: "",
+ page: 1,
+ goods_data: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ store_id: options.store_id,
+ show_num: options.show_num,
+ });
+ this.getStoreInfo();
+ },
+ inpbtn(e) {
+ console.log(e.detail.value);
+ this.setData({
+ inpvalue: e.detail.value,
+ });
+ },
+ rentAllSelectHandle(event) {
+ console.log(event);
+ this.setData({
+ result: event.detail,
+ });
+ },
+ btntap() {
+ console.log(this.data.result);
+ let json = {
+ store_id: this.data.store_id,
+ choose_goods: this.data.result,
+ };
+ this.tapPush(json);
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.current_page <= this.data.last_page) {
+ wx.showToast({
+ title: "没有更多",
+ icon: "none",
+ duration: 1500,
+ });
+ } else if (this.data.current_page > this.data.last_page) {
+ let pageAge = this.data.page + 1;
+ this.setData({
+ page: pageAge,
+ });
+ this.data.getStoreInfo();
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ getStoreInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.store-cashier.frontend.store.goods.get-goods-by-kwd"
+ );
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ store_id: that.data.store_id,
+ kwd: this.data.inpvalue,
+ page: this.data.page,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1) {
+ that.setData({
+ goods_data: res.data.data,
+ current_page: res.data.current_page,
+ last_page: res.data.last_page,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ tapPush(json) {
+ let urlStr = app.getNetAddresss(
+ "plugin.nearby-store-goods.frontend.controllers.goods.index"
+ );
+ app._postNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ console.log(res);
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ success: function () {
+ wx.navigateBack({
+ delta: 1,
+ });
+ },
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+});
diff --git a/packageD/o2o/recommendtext/recommendtext.json b/packageD/o2o/recommendtext/recommendtext.json
new file mode 100644
index 0000000..edd8448
--- /dev/null
+++ b/packageD/o2o/recommendtext/recommendtext.json
@@ -0,0 +1,9 @@
+{
+ "usingComponents": {
+ "van-field": "../../../../dist/field/index",
+ "van-icon": "../../../../dist/icon/index",
+ "van-checkbox": "../../../dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index"
+ },
+ "navigationBarTitleText": "推荐商品搜索结果"
+}
\ No newline at end of file
diff --git a/packageD/o2o/recommendtext/recommendtext.wxml b/packageD/o2o/recommendtext/recommendtext.wxml
new file mode 100644
index 0000000..7a5ab9c
--- /dev/null
+++ b/packageD/o2o/recommendtext/recommendtext.wxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{language['money']}}
+ {{item.price}}
+
+
+
+
+
+
+
+
+ 商品展示数量:{{show_num}}
+ 确定
+
diff --git a/packageD/o2o/recommendtext/recommendtext.wxss b/packageD/o2o/recommendtext/recommendtext.wxss
new file mode 100644
index 0000000..0be7246
--- /dev/null
+++ b/packageD/o2o/recommendtext/recommendtext.wxss
@@ -0,0 +1,229 @@
+/* packageD/o2o/recommendtext/recommendtext.wxss */
+.searchBox {
+ width: 100%;
+ background: #fff;
+ overflow: hidden;
+ min-height: 100vh;
+}
+
+.searchinp {
+ width: 600rpx;
+ height: 80rpx;
+ border-radius: 40rpx;
+ background: #f2f2f2;
+ margin: 0 auto;
+ margin-top: 20rpx;
+ display: flex;
+ align-items: center;
+ margin-bottom: 40rpx;
+}
+
+.searchinp icon {
+ color: #999;
+ margin-left: 30rpx;
+ font-size: 20px;
+}
+
+.searchinp .van-cell {
+ background: initial;
+}
+
+.tab_classify {
+ display: flex;
+ align-items: center;
+ padding: 45rpx 0;
+ position: relative;
+}
+
+.tab_lefr {
+ flex: 1;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.line {
+ width: 2rpx;
+ height: 34rpx;
+ background: #bbb;
+ transition: 1s;
+}
+
+.none {
+ display: none;
+}
+
+.tab_right {
+ width: 50%;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ transition: 1s;
+}
+
+.tab_lefr .van-icon,
+.tab_right .van-icon {
+ margin-top: 10rpx;
+ margin-left: 24rpx;
+ color: #000;
+ font-size: 16px;
+}
+
+.tab_right text,
+.tab_lefr text {
+ font-size: 28rpx;
+ color: #000;
+}
+
+.tab_classify .first_show {
+ position: absolute;
+ top: 44.6px;
+ left: 21px;
+ width: 45%;
+ height: 250rpx;
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ overflow: hidden;
+ overflow-y: auto;
+}
+
+.tab_classify .two_show {
+ position: absolute;
+ top: 44.6px;
+ right: 0;
+ width: 376rpx;
+ height: 251rpx;
+ background: #fff;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ overflow: hidden;
+ overflow-y: auto;
+}
+
+.tab_classify .first_show view {
+ font-size: 28rpx;
+ color: #000;
+ text-align: center;
+ padding-bottom: 23rpx;
+ border-bottom: 1rpx solid #f6f6f6;
+ margin-top: 34rpx;
+ width: 100%;
+}
+
+.tab_classify .first_show view:first-child {
+ margin-top: 34rpx;
+}
+
+.tab_classify .two_show view {
+ font-size: 28rpx;
+ color: #000;
+ margin: 24rpx 0;
+}
+
+.tab_classify .two_show view:first-child {
+ margin-top: 34rpx;
+}
+
+.shoplist_box {
+ width: 700rpx;
+ height: 186rpx;
+ background-color: #fff;
+ box-shadow:
+ 0rpx 0rpx 10rpx 0rpx
+ rgba(0, 0, 0, 0.1);
+ border-radius: 10rpx;
+ margin: 0 auto;
+ display: flex;
+ align-items: center;
+ margin-bottom: 34rpx;
+}
+
+.shoplist_box .van-checkbox {
+ margin-left: 27rpx;
+}
+
+.shoplist_box .shopimage {
+ width: 120rpx;
+ height: 120rpx;
+ background-color: #d35c5c;
+ border-radius: 10rpx;
+ margin-left: 28rpx;
+}
+
+.shoplist_box .shopimage image {
+ border-radius: 10rpx;
+ width: 100%;
+ height: 100%;
+}
+
+.shopText {
+ flex: 1;
+ margin-left: 28rpx;
+ margin-right: 19rpx;
+ height: 124rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.shopText_top {
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #000;
+}
+
+.shopText_bottom {
+ line-height: 36rpx;
+}
+
+.shopText_bottom text:first-child {
+ font-size: 24rpx;
+ color: #f01414;
+}
+
+.shopText_bottom text:last-child {
+ font-size: 32rpx;
+ color: #f01414;
+}
+
+.bottomBtn {
+ height: 100rpx;
+ background-color: #f8f8f8;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.bottomBtn text {
+ margin-left: 23rpx;
+ font-size: 28rpx;
+ line-height: 36rpx;
+}
+
+.btn {
+ width: 200rpx;
+ height: 80rpx;
+ background-color: #f53939;
+ border-radius: 40rpx;
+ margin-right: 26rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 36rpx;
+ color: #fff;
+}
diff --git a/packageD/playBack/playBack.js b/packageD/playBack/playBack.js
new file mode 100644
index 0000000..8783822
--- /dev/null
+++ b/packageD/playBack/playBack.js
@@ -0,0 +1,183 @@
+// packageD/playBack/playBack.js
+String.prototype.endWith = function (endStr) {
+ var d = this.length - endStr.length;
+ return (d >= 0 && this.lastIndexOf(endStr) == d);
+};
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ liveList: [],
+ heightauto: 'auto',
+ widthauto: 'auto',
+ minStyle: true,
+ screeheight: 0,
+ myvideo: '',
+ rid: "",
+ showVideo: "",
+ showName: "",
+ curr: ""
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.data.myvideo = wx.createVideoContext('myvideo');
+ this.getinformation();
+ if (options.rid) {
+ this.setData({
+ rid: options.rid,
+ showName: options.name
+ });
+ }
+ if (options.mid) {
+ app._setMid(options.mid);
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getRoom();
+ },
+ chooseItem(e) {
+ this.setData({
+ curr: e.currentTarget.dataset.index,
+ showVideo: this.data.liveList[e.currentTarget.dataset.index].media_url
+ });
+ },
+ getRoom() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.appletslive.frontend.controllers.live.getReplay");
+ urlStr += "&rid=" + this.data.rid;
+ app._getNetWork({
+ url: urlStr,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let list = [];
+ for (let i = 0; i < res.data.live_replay.length; i++) {
+ if (!res.data.live_replay[i].media_url.endWith("m3u8")) {
+ list.push(res.data.live_replay[i]);
+ }
+ }
+ if (list.length >= 1) {
+ that.setData({
+ liveList: list,
+ curr: 0,
+ showVideo: list[0].media_url
+ });
+ } else {
+ wx.showToast({
+ title: '当前房间号没有回放',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ console.log(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ }
+ });
+ },
+ getinformation() {
+ try {
+ const res = wx.getSystemInfoSync();
+ let windowHeight = res.windowHeight;
+ let windowWidth = res.windowWidth;
+ this.setData({
+ heightauto: windowHeight + 'px',
+ widthauto: windowWidth + 'px'
+ });
+ this.data.screeheight = windowHeight;
+ } catch (e) {
+ // Do something when catch error
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareTimeline: function () {
+ let value = wx.getStorageSync('yz_uid');
+ let mid = '';
+ if (value) {
+ mid = value;
+ }
+ return {
+ query: 'rid=' + this.data.rid + '&name=' + this.data.showName + '&mid=' + mid
+ };
+ },
+
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+ var value = wx.getStorageSync('yz_uid');
+ var path = '';
+ if (value) {
+ path = value;
+ }
+
+ let _title = "直播回放";
+
+ let _link = '/packageD/playBack/playBack?rid=+' + this.data.rid + '+&name=' + this.data.showName + '&mid=' + path;
+
+ return {
+ title: _title,
+ path: _link,
+ success: function (shareTickets) {
+ console.info(shareTickets + '成功');
+ // 转发成功
+ },
+ fail: function (res) {
+ console.log(res + '失败');
+ // 转发失败
+ }
+ };
+ }
+});
diff --git a/packageD/playBack/playBack.json b/packageD/playBack/playBack.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/packageD/playBack/playBack.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/playBack/playBack.wxml b/packageD/playBack/playBack.wxml
new file mode 100644
index 0000000..9117d43
--- /dev/null
+++ b/packageD/playBack/playBack.wxml
@@ -0,0 +1,11 @@
+
+
+
+ {{showName}}
+
+
+ 第{{index+1}}部分
+
+
+
diff --git a/packageD/playBack/playBack.wxss b/packageD/playBack/playBack.wxss
new file mode 100644
index 0000000..4cb52ea
--- /dev/null
+++ b/packageD/playBack/playBack.wxss
@@ -0,0 +1,31 @@
+/* packageD/playBack/playBack.wxss */
+.title {
+ position: absolute;
+ bottom: 260rpx;
+ left: 20rpx;
+ color: white;
+ font-size: 36rpx;
+}
+
+.text-box {
+ position: absolute;
+ bottom: 105rpx;
+ left: 20rpx;
+ display: flex;
+ flex-wrap: wrap;
+ color: white;
+ max-height: 160rpx;
+ overflow-y: scroll;
+}
+
+.number {
+ border: 1px solid #fff;
+ border-radius: 20rpx;
+ padding: 2rpx 10rpx;
+ margin: 20rpx;
+}
+
+.choose {
+ background: white;
+ color: #333;
+}
diff --git a/packageD/preferential_volume/preferential_volume.js b/packageD/preferential_volume/preferential_volume.js
new file mode 100644
index 0000000..b2c41a8
--- /dev/null
+++ b/packageD/preferential_volume/preferential_volume.js
@@ -0,0 +1,203 @@
+// packageD/preferential_volume/preferential_volume.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ member_coupon: "",
+ goods_id: "",
+ coupon: "",
+ goods: "",
+ goodsid: "",
+ shop_logo: "",
+ start: "",
+ end: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ if (options.scene) {
+ let scene = decodeURIComponent(options.scene);
+ console.log(scene,'ssssssssssssss');
+ if (scene) {
+ var info_arr = [];
+ info_arr = scene.split(",");
+ for (let i = 0; i < info_arr.length; i++) {
+ let chil_arr = [];
+ chil_arr = info_arr[i].split("=");
+ if (chil_arr[0] == "vgid") {
+ this.setData({
+ goods_id: chil_arr[1],
+ });
+ } else if (chil_arr[0] == "mid") {
+ app._setMid(chil_arr[1]);
+ } else if (chil_arr[0] == "vcpn") {
+ this.setData({
+ member_coupon: chil_arr[1],
+ });
+ }
+ }
+ }
+ } else {
+ if (options.member_coupon) {
+ this.setData({
+ member_coupon: options.member_coupon,
+ });
+ }
+ if (options.goods_id) {
+ this.setData({
+ goods_id: options.goods_id,
+ });
+ }
+ }
+ this.getData();
+ },
+ getData() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.coupon-qr.api.index.index");
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ goods_id: that.data.goods_id?that.data.goods_id:0,
+ member_coupon_id: that.data.member_coupon,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ let start = "";
+ let end = "";
+ let goodsid = "";
+ let shop_logo = "";
+ if (res.data.coupon.start) {
+ start = that.format(res.data.coupon.start);
+ }
+ if (res.data.coupon.end) {
+ end = that.format(res.data.coupon.end);
+ }
+ if (res.data.goods && res.data.goods.id) {
+ goodsid = res.data.goods.id;
+ }
+ if (res.data.shop_logo) {
+ shop_logo = res.data.shop_logo;
+ }
+ that.setData({
+ shop_logo,
+ goodsid,
+ start,
+ end,
+ coupon: res.data.coupon,
+ goods: res.data.goods,
+ });
+ if (
+ res.data.coupon.coupon_status &&
+ res.data.coupon.coupon_status == 1 &&
+ res.data.goods.status == 1
+ ) {
+ wx.showToast({
+ icon: "none",
+ title: "该优惠券已被领取",
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ that.gogoods();
+ }, 1500); //延迟时间
+ },
+ });
+ } else if (that.data.coupon.link) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateTo({
+ url: that.data.coupon.link,
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ success: function () {
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.reLaunch({
+ url: "/packageG/index/index",
+ });
+ }, 1500); //延迟时间
+ },
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+
+ add0(m) {
+ return m < 10 ? "0" + m : m;
+ },
+ format(shijianchuo) {
+ //时间数是整数,否则要parseInt转换
+ var time = new Date(shijianchuo * 1000);
+ var y = time.getFullYear();
+ var m = time.getMonth() + 1;
+ var d = time.getDate();
+ return y + "." + this.add0(m) + "." + this.add0(d);
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ gogoods() {
+ wx.redirectTo({
+ url: "/packageA/detail_v2/detail_v2?id=" + this.data.goodsid,
+ });
+ },
+});
diff --git a/packageD/preferential_volume/preferential_volume.json b/packageD/preferential_volume/preferential_volume.json
new file mode 100644
index 0000000..fbddae9
--- /dev/null
+++ b/packageD/preferential_volume/preferential_volume.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {},
+ "navigationBarTitleText": "优惠券领取"
+}
\ No newline at end of file
diff --git a/packageD/preferential_volume/preferential_volume.wxml b/packageD/preferential_volume/preferential_volume.wxml
new file mode 100644
index 0000000..b39eef6
--- /dev/null
+++ b/packageD/preferential_volume/preferential_volume.wxml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+ {{coupon.name}}
+ {{language['money']}}{{coupon.deduct}}
+ {{coupon.deduct_status}}
+
+
+
+ 有效期
+ {{start}}-{{end}}
+
+ {{coupon.status_name}}
+
+
+
+ 适用商品
+
+
+
+
+
+
+ {{goods.title?goods.title:''}}
+ {{language['money']}}{{goods.price}}
+
+
+
+
+
diff --git a/packageD/preferential_volume/preferential_volume.wxss b/packageD/preferential_volume/preferential_volume.wxss
new file mode 100644
index 0000000..0605d5c
--- /dev/null
+++ b/packageD/preferential_volume/preferential_volume.wxss
@@ -0,0 +1,183 @@
+/* packageD/preferential_volume/preferential_volume.wxss */
+view,
+page {
+ background: #fff;
+}
+
+.volume_content {
+ background: #fff;
+ position: relative;
+}
+
+.volume_content .volume_content_top {
+ width: 750rpx;
+ height: 226rpx;
+ background-color: #fd4e4b;
+}
+
+.volume_content .volume_content_center {
+ height: 610rpx;
+}
+
+.volume_content .volume_draw {
+ position: absolute;
+ width: 640rpx;
+ padding-left: 30rpx;
+ padding-right: 30rpx;
+ height: 680rpx;
+ background-color: #fff;
+ box-shadow: 0rpx 7rpx 16rpx 0rpx rgba(0, 0, 0, 0.05);
+ border-radius: 30rpx;
+ left: 50%;
+ top: 114rpx;
+ margin-left: -350rpx;
+}
+
+.volume_content .volume_draw .volume_draw_top {
+ position: absolute;
+ left: 50%;
+ margin-left: -64rpx;
+ width: 128rpx;
+ height: 128rpx;
+ background-color: #121212;
+ border: solid 6rpx #fff;
+ border-radius: 50%;
+ top: -62rpx;
+}
+
+.volume_content .volume_draw .volume_draw_top image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.volume_content .volume_draw .volume_draw_center {
+ padding-top: 106rpx;
+ text-align: center;
+}
+
+.volume_content .volume_draw .volume_draw_center .volume_name {
+ height: 32rpx;
+ font-size: 30rpx;
+ line-height: 32rpx;
+ color: #666;
+ padding-bottom: 40rpx;
+}
+
+.volume_content .volume_draw .volume_draw_center .volume_price {
+ height: 64rpx;
+ font-size: 60rpx;
+ line-height: 60rpx;
+ color: #fd4e4b;
+ padding-bottom: 20rpx;
+}
+
+.volume_content .volume_draw .volume_draw_center .volume_price .sign {
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #fd4e4b;
+}
+
+.volume_content .volume_draw .volume_draw_center .volume_use {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ color: #000;
+}
+
+.volume_content .volume_draw .volume_draw_center {
+ padding-bottom: 70rpx;
+ border-bottom: 1px solid #ededed;
+}
+
+.volume_content .volume_draw .volume_draw_bottom {
+ padding-top: 34rpx;
+}
+
+.volume_content .volume_draw .volume_draw_bottom .draw_top {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ line-height: 36rpx;
+ height: 36rpx;
+ font-size: 28rpx;
+ color: #000;
+ padding-left: 21rpx;
+ padding-right: 7rpx;
+ padding-bottom: 69rpx;
+}
+
+.volume_content .volume_draw .volume_draw_bottom .draw_btn {
+ width: 478rpx;
+ height: 88rpx;
+ background-color: #fd4e4b;
+ box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(253, 78, 75, 0.1);
+ border-radius: 44rpx;
+ line-height: 88rpx;
+ text-align: center;
+ font-size: 28rpx;
+ color: #fff;
+ margin: 0 auto;
+}
+
+.volume_content .volume_draw .volume_draw_bottom .draw_btn.active {
+ background-color: #d4d4d4;
+}
+
+.volume_content .volume_content_bottom {
+ padding-left: 36rpx;
+ padding-right: 36rpx;
+}
+
+.volume_content .volume_content_bottom .name {
+ height: 36rpx;
+ font-size: 32rpx;
+ line-height: 36rpx;
+ color: #000;
+ padding-bottom: 10rpx;
+}
+
+.volume_content .volume_content_bottom .goods_list .li {
+ display: flex;
+}
+
+.volume_content .volume_content_bottom .goods_list .li .left {
+ width: 218rpx;
+ height: 218rpx;
+ border-radius: 10rpx;
+ margin-right: 26rpx;
+}
+
+.volume_content .volume_content_bottom .goods_list .li .left image {
+ width: 100%;
+ height: 100%;
+ border-radius: 10rpx;
+}
+
+.volume_content .volume_content_bottom .goods_list .li .right {
+ width: 440rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.volume_content .volume_content_bottom .goods_list .li .right .goods_name {
+ width: 100%;
+ height: 84rpx;
+ font-size: 28rpx;
+ line-height: 42rpx;
+ color: #000;
+
+ /* text-overflow: -o-ellipsis-lastline; */
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.volume_content .volume_content_bottom .goods_list .li .right .goods_price {
+ height: 42rpx;
+ font-size: 28rpx;
+ line-height: 42rpx;
+ color: #ff2c29;
+}
diff --git a/packageD/quickPay/add_bank_first/add_bank_first.js b/packageD/quickPay/add_bank_first/add_bank_first.js
new file mode 100644
index 0000000..1d7fa8a
--- /dev/null
+++ b/packageD/quickPay/add_bank_first/add_bank_first.js
@@ -0,0 +1,144 @@
+// packageD/quickPay/member_add_bank_first/member_add_bank_first.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ name: "",
+ num: "",
+ bank: [],
+ info: {},
+ status: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.initData();
+ this.getInfo();
+ this.getBank();
+ this.setData({
+ order_pay_id: options.order_pay_id,
+ });
+ if(options.status) {
+ this.setData({
+ status: options.status,
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ numInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ num: val,
+ });
+ },
+ initData() {
+ this.setData({
+ name: "",
+ num: "",
+ bank: [],
+ info: {},
+ });
+ },
+ getBank() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.index"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ bank: res.data,
+ });
+ } else {
+ that.setData({
+ bank: res.data,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ next() {
+ if (app._isTextEmpty(this.data.num)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入卡号",
+ duration: 1500,
+ });
+
+ return;
+ }
+ wx.navigateTo({
+ url:
+ "/packageD/quickPay/add_bank_second/add_bank_second?card_no=" +
+ this.data.num +
+ "&order_pay_id=" +
+ this.data.order_pay_id+'&status='+this.data.status,
+ });
+ },
+ getInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-payer-info"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ info: res.data,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+});
diff --git a/packageD/quickPay/add_bank_first/add_bank_first.json b/packageD/quickPay/add_bank_first/add_bank_first.json
new file mode 100644
index 0000000..77c8665
--- /dev/null
+++ b/packageD/quickPay/add_bank_first/add_bank_first.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "添加银行卡",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/quickPay/add_bank_first/add_bank_first.wxml b/packageD/quickPay/add_bank_first/add_bank_first.wxml
new file mode 100644
index 0000000..6dbb6d0
--- /dev/null
+++ b/packageD/quickPay/add_bank_first/add_bank_first.wxml
@@ -0,0 +1,18 @@
+
+ 请绑定持卡人本人的银行卡
+
+
+
+ 持卡人
+
+
+
+ 卡号
+
+
+
+
+
+ 下一步
+
+
\ No newline at end of file
diff --git a/packageD/quickPay/add_bank_first/add_bank_first.wxss b/packageD/quickPay/add_bank_first/add_bank_first.wxss
new file mode 100644
index 0000000..203b774
--- /dev/null
+++ b/packageD/quickPay/add_bank_first/add_bank_first.wxss
@@ -0,0 +1,58 @@
+#add_bank_first {
+ height: 100vh;
+ background-color: #fff;
+}
+
+#add_bank_first .mes {
+ padding: 32rpx 0;
+ padding-left: 32rpx;
+ color: #666;
+ font-size: 12px;
+ text-align: left;
+}
+
+#add_bank_first .line {
+ height: 20rpx;
+ background-color: #f2f2f7;
+}
+
+#add_bank_first .content {
+ background-color: #fff;
+ padding: 0 32rpx;
+}
+
+#add_bank_first .content .item {
+ padding: 40rpx 0;
+ border-bottom: solid 1px #ccc;
+ display: flex;
+ align-items: center;
+}
+
+#add_bank_first .content .item text {
+ width: 96rpx;
+}
+
+#add_bank_first .content .item input {
+ flex: 1;
+ border: none;
+ outline: none;
+ margin-left: 52rpx;
+}
+
+#add_bank_first .content .item:last-child {
+ border-bottom: none;
+}
+
+#add_bank_first .btn {
+ margin: 0 auto;
+ margin-top: 60rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ color: #fff;
+ width: 600rpx;
+ height: 92rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 16px;
+}
diff --git a/packageD/quickPay/add_bank_second/add_bank_second.js b/packageD/quickPay/add_bank_second/add_bank_second.js
new file mode 100644
index 0000000..8fab9e5
--- /dev/null
+++ b/packageD/quickPay/add_bank_second/add_bank_second.js
@@ -0,0 +1,644 @@
+// packageD/quickPay/member_add_bank_second.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ order_pay_id: "",
+ bank: [],
+ payer_name: "",
+ payer_phone: "",
+ id_no: "",
+ cvv: "",
+ date: "2016-06",
+ card_no: "",
+ bank_name: "",
+ bank_type: "",
+ id_type: "",
+ user_agrt: "",
+ checked: true,
+ show2: false,
+ show3: false,
+ show4: false,
+ show5: false,
+ radio: "",
+ radio1: "",
+ radio2: "",
+ idType: [
+ {
+ id: "1",
+ text: "身份证",
+ },
+ {
+ id: "2",
+ text: "军官证",
+ },
+ {
+ id: "3",
+ text: "士兵证",
+ },
+ {
+ id: "4",
+ text: "护照",
+ },
+ {
+ id: "5",
+ text: "港澳台居民往来通行证",
+ },
+ {
+ id: "6",
+ text: "临时身份证",
+ },
+ {
+ id: "7",
+ text: "户口本",
+ },
+ {
+ id: "8",
+ text: "警官证",
+ },
+ {
+ id: "9",
+ text: "外国人永久居留证",
+ },
+ {
+ id: "10",
+ text: "其他",
+ },
+ {
+ id: "11",
+ text: "外国护照",
+ },
+ {
+ id: "12",
+ text: "营业执照",
+ },
+ ],
+ card: [
+ {
+ id: "0",
+ text: "储蓄卡",
+ },
+ {
+ id: "1",
+ text: "信用卡",
+ },
+ ],
+ datas: [
+ {
+ id: "1",
+ text: "中国工商银行",
+ },
+ {
+ id: "2",
+ text: "中国银行",
+ },
+ {
+ id: "3",
+ text: "中信银行",
+ },
+ {
+ id: "4",
+ text: "上海银行",
+ },
+ {
+ id: "5",
+ text: "中国建设银行",
+ },
+ {
+ id: "6",
+ text: "光大银行",
+ },
+ {
+ id: "7",
+ text: "民生银行",
+ },
+ {
+ id: "8",
+ text: "北京银行",
+ },
+ {
+ id: "9",
+ text: "平安银行",
+ },
+ {
+ id: "10",
+ text: "交通银行",
+ },
+ {
+ id: "11",
+ text: "招商银行",
+ },
+ {
+ id: "12",
+ text: "广发银行",
+ },
+ {
+ id: "13",
+ text: "浦发银行",
+ },
+ {
+ id: "14",
+ text: "邮政银行",
+ },
+ ],
+ status: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getAgrement();
+ this.getInfo();
+ this.getBank();
+ this.initData();
+ let option = options;
+ this.setData({
+ card_no: option.card_no,
+ order_pay_id: option.order_pay_id,
+ });
+
+ if(options.status) {
+ this.setData({
+ status: options.status,
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ nameInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ payer_name: val,
+ });
+ },
+ phoneInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ payer_phone: val,
+ });
+ },
+ idInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ id_no: val,
+ });
+ },
+ cvvInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ cvv: val,
+ });
+ },
+ bindDateChange: function (e) {
+ this.setData({
+ date: e.detail.value,
+ });
+ },
+ openBank() {
+ this.setData({
+ show2: true,
+ });
+ },
+ closeBank() {
+ this.setData({
+ show2: false,
+ });
+ },
+ openCard() {
+ this.setData({
+ show3: true,
+ });
+ },
+ closeCard() {
+ this.setData({
+ show3: false,
+ });
+ },
+ openType() {
+ this.setData({
+ show4: true,
+ });
+ },
+ closeType() {
+ this.setData({
+ show4: false,
+ });
+ },
+ bankChange(e) {
+ let val = e.detail;
+ this.setData({
+ radio: val,
+ });
+ },
+ cardChange(e) {
+ let val = e.detail;
+ this.setData({
+ radio1: val,
+ });
+ },
+ idChange(e) {
+ let val = e.detail;
+ this.setData({
+ radio2: val,
+ });
+ },
+ openAgg() {
+ this.setData({
+ show5: true,
+ });
+ },
+ closeAgg() {
+ this.setData({
+ show5: false,
+ });
+ },
+ confirm() {
+ this.setData({
+ show2: false,
+ });
+ this.data.datas.forEach((item, index, key) => {
+ if (item.id == this.data.radio) {
+ this.setData({
+ bank_name: item.text,
+ });
+ }
+ });
+ },
+ cardConfirm() {
+ this.setData({
+ show3: false,
+ });
+ this.data.card.forEach((item, index, key) => {
+ if (item.id == this.data.radio1) {
+ this.setData({
+ bank_type: item.text,
+ });
+ }
+ });
+ },
+ typeConfirm() {
+ this.setData({
+ show4: false,
+ });
+ this.data.idType.forEach((item, index, key) => {
+ if (item.id == this.data.radio2) {
+ this.setData({
+ id_type: item.text,
+ });
+ }
+ });
+ },
+ toSelect(e) {
+ this.setData({
+ checked: e.detail,
+ });
+ },
+ initData() {
+ this.setData({
+ bank: [],
+ payer_name: "",
+ payer_phone: "",
+ id_no: "",
+ cvv: "",
+ date: "2016-06",
+ card_no: "",
+ bank_name: "",
+ bank_type: "",
+ id_type: "",
+ user_agrt: "",
+ checked: true,
+ show2: false,
+ show3: false,
+ show4: false,
+ show5: false,
+ radio: "",
+ radio1: "",
+ radio2: "",
+ idType: [
+ {
+ id: "1",
+ text: "身份证",
+ },
+ {
+ id: "2",
+ text: "军官证",
+ },
+ {
+ id: "3",
+ text: "士兵证",
+ },
+ {
+ id: "4",
+ text: "护照",
+ },
+ {
+ id: "5",
+ text: "港澳台居民往来通行证",
+ },
+ {
+ id: "6",
+ text: "临时身份证",
+ },
+ {
+ id: "7",
+ text: "户口本",
+ },
+ {
+ id: "8",
+ text: "警官证",
+ },
+ {
+ id: "9",
+ text: "外国人永久居留证",
+ },
+ {
+ id: "10",
+ text: "其他",
+ },
+ {
+ id: "11",
+ text: "外国护照",
+ },
+ {
+ id: "12",
+ text: "营业执照",
+ },
+ ],
+ card: [
+ {
+ id: "0",
+ text: "储蓄卡",
+ },
+ {
+ id: "1",
+ text: "信用卡",
+ },
+ ],
+ datas: [
+ {
+ id: "1",
+ text: "中国工商银行",
+ },
+ {
+ id: "2",
+ text: "中国银行",
+ },
+ {
+ id: "3",
+ text: "中信银行",
+ },
+ {
+ id: "4",
+ text: "上海银行",
+ },
+ {
+ id: "5",
+ text: "中国建设银行",
+ },
+ {
+ id: "6",
+ text: "光大银行",
+ },
+ {
+ id: "7",
+ text: "民生银行",
+ },
+ {
+ id: "8",
+ text: "北京银行",
+ },
+ {
+ id: "9",
+ text: "平安银行",
+ },
+ {
+ id: "10",
+ text: "交通银行",
+ },
+ {
+ id: "11",
+ text: "招商银行",
+ },
+ {
+ id: "12",
+ text: "广发银行",
+ },
+ {
+ id: "13",
+ text: "浦发银行",
+ },
+ {
+ id: "14",
+ text: "邮政银行",
+ },
+ ],
+ });
+ },
+ getBank() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.index"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ bank: res.data,
+ });
+ } else {
+ that.setData({
+ bank: res.data,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-payer-info"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && res.data) {
+ that.setData({
+ payer_name: res.data.payer_name,
+ radio2: res.data.id_type,
+ id_no: res.data.id_no,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ shijian() {
+ let y = this.data.date.split("-")[0];
+ let m = this.data.date.split("-")[1];
+ return `${y}/${m}`;
+ },
+ getType(id) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-pay-type"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.pay_type == 1) {
+ wx.navigateTo({
+ url:
+ "/packageD/quickPay/choose_bank/choose_bank?order_pay_id=" +
+ that.data.order_pay_id + '&status='+that.data.status,
+ });
+ } else {
+ wx.navigateTo({
+ url:
+ "/packageD/quickPay/bind_bank/bind_bank?card_id=" +
+ id +
+ "&order_pay_id=" +
+ that.data.order_pay_id+ '&status='+that.data.status,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getAgrement() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-user-agrt"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ user_agrt: res.data.user_agrt,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ addBank() {
+ var json;
+ if (this.data.radio1 == "0") {
+ json = {
+ card_no: this.data.card_no,
+ payer_name: this.data.payer_name,
+ payer_phone: this.data.payer_phone,
+ id_no: this.data.id_no,
+ id_type: this.data.radio2,
+ bank_type: this.data.radio1,
+ bank_name: this.data.bank_name,
+ };
+ } else if (this.data.radio1 == "1") {
+ json = {
+ card_no: this.data.card_no,
+ payer_name: this.data.payer_name,
+ payer_phone: this.data.payer_phone,
+ id_no: this.data.id_no,
+ id_type: this.data.radio2,
+ bank_type: this.data.radio1,
+ bank_name: this.data.bank_name,
+ expire_date: this.shijian(this.data.date),
+ cvv: this.data.cvv,
+ };
+ }
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.create"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: {
+ data: json,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.getType(res.data.id);
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+});
diff --git a/packageD/quickPay/add_bank_second/add_bank_second.json b/packageD/quickPay/add_bank_second/add_bank_second.json
new file mode 100644
index 0000000..fdc6bc4
--- /dev/null
+++ b/packageD/quickPay/add_bank_second/add_bank_second.json
@@ -0,0 +1,11 @@
+{
+ "navigationBarTitleText": "添加银行卡",
+ "usingComponents": {
+ "van-checkbox": "../../..//dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-datetime-picker": "../../../dist/datetime-picker/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/quickPay/add_bank_second/add_bank_second.wxml b/packageD/quickPay/add_bank_second/add_bank_second.wxml
new file mode 100644
index 0000000..545cd43
--- /dev/null
+++ b/packageD/quickPay/add_bank_second/add_bank_second.wxml
@@ -0,0 +1,149 @@
+
+
+
+ 银行
+
+
+
+
+ 卡类型
+
+
+
+
+ 安全码
+
+
+
+
+ 有效期
+
+
+ {{date}}
+
+
+
+
+
+ 提醒:后续只能绑定该持卡人的银行卡
+
+
+ 姓名
+
+
+
+ 证件类型
+
+
+
+
+ 证件号
+
+
+
+ 手机号
+
+
+
+
+
+ 同意
+ 《用户协议》
+
+
+
+ 下一步
+
+
+
+
+
+ 所属银行
+
+
+
+
+
+ -
+ {{item.text}}
+
+
+
+
+
+ 确定
+
+
+
+
+
+ 银行卡类型
+
+
+
+
+
+ -
+ {{item.text}}
+
+
+
+
+
+ 确定
+
+
+
+
+
+ 证件类型
+
+
+
+
+
+ -
+ {{item.text}}
+
+
+
+
+
+ 确定
+
+
+
+
+
+ 用户协议
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/quickPay/add_bank_second/add_bank_second.wxss b/packageD/quickPay/add_bank_second/add_bank_second.wxss
new file mode 100644
index 0000000..f5f4d3d
--- /dev/null
+++ b/packageD/quickPay/add_bank_second/add_bank_second.wxss
@@ -0,0 +1,202 @@
+#add_bank_second {
+ height: 100vh;
+ background-color: #fff;
+}
+
+#add_bank_second .content {
+ padding-left: 32rpx;
+}
+
+#add_bank_second .content .item {
+ border-bottom: solid 1.0016rpx #ccc;
+ display: flex;
+ text-align: left;
+ padding: 32rpx 0;
+ padding-right: 32rpx;
+ align-items: center;
+}
+
+#add_bank_second .content .item input {
+ outline: none;
+ border: none;
+ flex: 1;
+}
+
+#add_bank_second .content .tip {
+ height: 96rpx;
+ display: flex;
+ align-items: center;
+ background: #ebebeb;
+ color: #666;
+ font-size: 12px;
+ margin-left: -32rpx;
+ padding-left: 32rpx;
+}
+
+#add_bank_second .content .check {
+ margin-top: 32px;
+ display: flex;
+ align-items: center;
+}
+
+#add_bank_second .content .bank-btn {
+ width: 600px;
+ height: 92px;
+ background-color: #ff2c29;
+ border-radius: 18px;
+ font-size: 0.5rem;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 32px;
+}
+
+#add_bank_second .content .bank-btn {
+ width: 600rpx;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ font-size: 16px;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 32rpx;
+}
+
+.bank .title {
+ font-size: 16px;
+ position: relative;
+ padding: 32rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.bank .title i {
+ position: absolute;
+ right: 16rpx;
+}
+
+.bank .content {
+ padding: 0 32rpx;
+}
+
+.bank .content .radio {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 32rpx;
+}
+
+.bank .content .btn {
+ width: 80%;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 32rpx;
+}
+
+.card .title {
+ font-size: 16px;
+ position: relative;
+ padding: 32rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.card .title i {
+ position: absolute;
+ right: 16rpx;
+}
+
+.card .content {
+ padding: 0 32rpx;
+}
+
+.card .content .radio {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 32rpx;
+}
+
+.card .content .btn {
+ width: 80%;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 32rpx;
+}
+
+.type .title {
+ font-size: 16px;
+ position: relative;
+ padding: 32rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.type .title i {
+ position: absolute;
+ right: 16rpx;
+}
+
+.type .content {
+ padding: 0 32rpx;
+}
+
+.type .content .radio {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 32rpx;
+}
+
+.type .content .btn {
+ width: 80%;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 32rpx;
+}
+
+.message .title {
+ font-size: 16px;
+ position: relative;
+ padding: 32rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.message .title i {
+ position: absolute;
+ right: 16rpx;
+}
+
+.message .content {
+ padding: 32rpx;
+ padding-top: 0;
+ text-align: left;
+}
diff --git a/packageD/quickPay/bind_bank/bind_bank.js b/packageD/quickPay/bind_bank/bind_bank.js
new file mode 100644
index 0000000..3b30df5
--- /dev/null
+++ b/packageD/quickPay/bind_bank/bind_bank.js
@@ -0,0 +1,196 @@
+// packageD/quickPay/member_bind_bank/member_bind_bank.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ codetext: "获取短信验证码",
+ imgcode: "",
+ payer_phone: "",
+ card_id: "",
+ start1: false,
+ status: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getInfo();
+ this.setData({
+ card_id: options.card_id,
+ order_pay_id: options.order_pay_id,
+ });
+
+ if(options.status) {
+ this.setData({
+ status: options.status,
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ // this.card_id = this.$route.params.card_id;
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ numInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ sms_code: val,
+ });
+ },
+ sendCode(e) {
+ if (this.data.start1) {
+ return false;
+ }
+ let time = 60;
+ let that = this;
+ that.setData({
+ start1: true,
+ codetext: "(" + time + ")秒后重新获取",
+ });
+ let set = setInterval(function () {
+ that.setData({
+ codetext: "(" + --time + ")秒后重新获取",
+ });
+ }, 1000);
+ setTimeout(function () {
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false,
+ });
+ clearInterval(set);
+ }, 60000);
+ that.verificationCode(set);
+ },
+ // 获取验证码
+ verificationCode(set) {
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.bind-card"
+ );
+ //发送获取验证码的请求//旧的请求:member.register.sendCodeV2
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ card_id: this.data.card_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "已发送",
+ duration: 1500,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ confirm() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.confirm-bind-card"
+ );
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ card_id: this.data.card_id,
+ sms_code: this.data.sms_code,
+ },
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ wx.navigateTo({
+ url:
+ "/packageD/quickPay/choose_bank/choose_bank?order_pay_id=" +
+ that.data.order_pay_id+ '&status='+that.data.status,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-payer-info"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ payer_phone: res.data.payer_phone,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+});
diff --git a/packageD/quickPay/bind_bank/bind_bank.json b/packageD/quickPay/bind_bank/bind_bank.json
new file mode 100644
index 0000000..91ce927
--- /dev/null
+++ b/packageD/quickPay/bind_bank/bind_bank.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "绑定银行卡",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/quickPay/bind_bank/bind_bank.wxml b/packageD/quickPay/bind_bank/bind_bank.wxml
new file mode 100644
index 0000000..f5b23fa
--- /dev/null
+++ b/packageD/quickPay/bind_bank/bind_bank.wxml
@@ -0,0 +1,21 @@
+
+
+
+ 输入验证码
+ 已向手机{{substr.subPhone(payer_phone)}}发送短信
+ 绑定银行卡需要短信确认
+
+
+ 确认
+
+
+
\ No newline at end of file
diff --git a/packageD/quickPay/bind_bank/bind_bank.wxss b/packageD/quickPay/bind_bank/bind_bank.wxss
new file mode 100644
index 0000000..2c5ac1d
--- /dev/null
+++ b/packageD/quickPay/bind_bank/bind_bank.wxss
@@ -0,0 +1,85 @@
+#bind_bank {
+ height: 100vh;
+ background-color: #fff;
+}
+
+#bind_bank .content {
+ padding-top: 32rpx;
+}
+
+#bind_bank .content ul li {
+ padding: 36rpx 24rpx;
+ border-bottom: solid 1.0016px #f1f1f1;
+ display: flex;
+ align-items: center;
+}
+
+#bind_bank .content ul li input {
+ border: none;
+ outline: none;
+ font-size: 12px;
+ flex: 1;
+ margin-left: 24rpx;
+}
+
+#bind_bank .content ul .second {
+ justify-content: space-between;
+}
+
+#bind_bank .content ul .second .getCode {
+ color: #ff2c29;
+ font-size: 12px;
+}
+
+#bind_bank .content .bank-btn {
+ width: 600rpx;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ font-size: 16px;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 32rpx;
+}
+
+#bind_bank .content ul .second {
+ justify-content: space-between;
+}
+
+#bind_bank .content ul .second .getCode {
+ color: #ff2c29;
+ font-size: 12px;
+}
+
+#bind_bank .content .bank-btn {
+ width: 600rpx;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ font-size: 16px;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 32rpx;
+}
+
+#bind_bank .content ul .second .right {
+ background-color: #ebebeb;
+ color: #f15353;
+ font-size: 24rpx;
+ border-radius: 60rpx;
+ padding: 0 20rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ width: 200rpx;
+}
+
+#bind_bank .content ul .second .disabled {
+ background-color: #ccc;
+ color: #f0f0f0 !important;
+}
diff --git a/packageD/quickPay/bind_bank/substr.wxs b/packageD/quickPay/bind_bank/substr.wxs
new file mode 100644
index 0000000..5f63bf1
--- /dev/null
+++ b/packageD/quickPay/bind_bank/substr.wxs
@@ -0,0 +1,5 @@
+module.exports = {
+ subPhone: function (payer_phone) {
+ return payer_phone.substring(0, 3) + "****" + payer_phone.substring(7)
+ }
+}
diff --git a/packageD/quickPay/choose_bank/choose_bank.js b/packageD/quickPay/choose_bank/choose_bank.js
new file mode 100644
index 0000000..d34d94d
--- /dev/null
+++ b/packageD/quickPay/choose_bank/choose_bank.js
@@ -0,0 +1,452 @@
+// packageD/quickPay/member_choose_bank/member_choose_bank.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ language: "",
+ codetext: "获取短信验证码",
+ start1: false,
+ order_pay_id: "",
+ bank: [],
+ show1: false,
+ arr: [],
+ amount: "",
+ pay_sn: "",
+ bank_name: "",
+ code: "",
+ order_pay_sn: "",
+ payer_phone: "",
+ pay_type: "",
+ card_no: "",
+ status: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.initData();
+ this.setData({
+ order_pay_id: options.order_pay_id,
+ });
+ if(options.status) {
+ this.setData({
+ status: options.status,
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+ let language = wx.getStorageSync("langIndex");
+ this.setData({ language: language.en });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function (options) {
+ this.getType();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ initData() {
+ this.setData({
+ bank: [],
+ show1: false,
+ arr: [],
+ amount: "",
+ pay_sn: "",
+ bank_name: "",
+ code: "",
+ order_pay_sn: "",
+ payer_phone: "",
+ pay_type: "",
+ card_no: "",
+ });
+ },
+ toPay(e) {
+ let that = this;
+ let item = e.currentTarget.dataset.item;
+ if (item.status == 0 && this.data.pay_type == 2) {
+ wx.navigateTo({
+ url:
+ "/packageD/quickPay/bind_bank/bind_bank?card_id=" +
+ item.id +
+ "&order_pay_id=" +
+ that.data.order_pay_id + '&status='+that.data.status,
+ });
+ } else {
+ this.setData({
+ show1: true,
+ card_no: item.card_no,
+ });
+ this.quick_pay();
+ this.getInfo(item.id);
+ }
+ },
+ deleteBank(e) {
+ let item = e.currentTarget.dataset.item;
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.del"
+ );
+ app._getNetWork({
+ url: urlStr,
+ data: { card_id: item.id },
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ that.setData({
+ show1: false,
+ });
+ that.getBank();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ toAdd() {
+ let that = this;
+ wx.navigateTo({
+ url:
+ "/packageD/quickPay/add_bank_first/add_bank_first?order_pay_id=" +
+ that.data.order_pay_id,
+ });
+ },
+ getBank() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.index"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ bank: res.data,
+ });
+ if (that.data.pay_type == 2) {
+ that.setData({
+ arr: that.data.bank.filter((item) => {
+ return item.status == 1;
+ }),
+ });
+ if (that.data.arr.length == 1) {
+ that.setData({
+ show1: true,
+ card_no: that.data.arr[0].card_no,
+ });
+ that.quick_pay();
+ that.getInfo(that.data.arr[0].id);
+ }
+ } else if (that.data.pay_type == 1) {
+ that.setData({
+ arr: that.data.bank,
+ });
+ if (that.data.arr.length == 1) {
+ that.setData({
+ show1: true,
+ card_no: that.data.arr[0].card_no,
+ });
+ that.quick_pay();
+ that.getInfo(that.data.arr[0].id);
+ }
+ }
+ } else {
+ that.setData({
+ bank: res.data.data,
+ });
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ numInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ code: val,
+ });
+ },
+ getType() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-pay-type"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ pay_type: res.data.pay_type,
+ });
+ that.getBank();
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ quick_pay() {
+ let that = this;
+ let isurl = '';
+ let json = {};
+ if (this.data.status&&this.data.status==2) {
+ isurl = app.getNetAddresss(
+ 'plugin.converge_pay.frontend.controllers.quick-pay.show-recharge'
+ );
+ json = {
+ ordersn: that.data.order_pay_id
+ };
+ }else if(this.data.status&&this.data.status==3){
+ isurl = app.getNetAddresss(
+ 'plugin.converge_pay.frontend.controllers.quick-pay.love-recharge'
+ );
+ json = {
+ ordersn: that.data.order_pay_id
+ };
+ } else {
+ isurl = app.getNetAddresss(
+ 'plugin.converge_pay.frontend.controllers.quick-pay.pay'
+ );
+ json = { order_pay_id: that.data.order_pay_id };
+ }
+ app._getNetWork({
+ url: isurl,
+ data: json,
+ success: (res) => {
+ if (res.data.result == 1) {
+ that.setData({
+ amount: res.data.data.order_pay.amount,
+ pay_sn: res.data.data.order_pay.pay_sn,
+ });
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ duration: 1000,
+ icon: "none",
+ });
+ }
+ },
+ fail: (err) => {
+ console.log(err);
+ },
+ });
+ },
+ sendCode(e) {
+ if (this.data.start1) {
+ return false;
+ }
+ let time = 60;
+ let that = this;
+ that.setData({
+ start1: true,
+ codetext: "(" + time + ")秒后重新获取",
+ });
+ let set = setInterval(function () {
+ that.setData({
+ codetext: "(" + --time + ")秒后重新获取",
+ });
+ }, 1000);
+ setTimeout(function () {
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false,
+ });
+ clearInterval(set);
+ }, 60000);
+ that.verificationCode(set);
+ },
+ closePay() {
+ this.setData({
+ show1: false,
+ });
+ },
+ // 获取验证码
+ verificationCode(set) {
+ let that = this;
+ let urlStr = app.getNetAddresss("order.merge-pay.conberge-quick-pay");
+ let json = {
+ order_pay_id: that.data.order_pay_id,
+ card_no: that.data.card_no,
+ };
+ if (this.data.status&&this.data.status==2) {
+ urlStr = app.getNetAddresss(
+ 'plugin.converge_pay.frontend.controllers.quick-pay.recharge'
+ );
+ json = {
+ ordersn: that.data.order_pay_id,
+ card_no: that.data.card_no,
+ };
+ }else if(this.data.status&&this.data.status==3){
+ urlStr = app.getNetAddresss(
+ 'plugin.converge_pay.frontend.controllers.quick-pay.love'
+ );
+ json = {
+ ordersn: that.data.order_pay_id,
+ card_no: that.data.card_no,
+ };
+ }
+ //发送获取验证码的请求//旧的请求:member.register.sendCodeV2
+ app._getNetWork({
+ url: urlStr,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ order_pay_sn: res.data.order_pay_sn,
+ });
+ wx.showToast({
+ icon: "none",
+ title: "已发送",
+ duration: 1500,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ pay(set) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay.sms-pay"
+ );
+ //发送获取验证码的请求//旧的请求:member.register.sendCodeV2
+ app._postNetWork({
+ url: urlStr,
+ data: {
+ sms_code: this.data.code,
+ order_pay_sn: this.data.pay_sn,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ that.setData({
+ show1: false,
+ });
+ try {
+ console.log("先试navigateTo");
+ wx.redirectTo({
+ url: resdata.data.data.redirect_url,
+ });
+ } catch (e) {
+ console.log(e);
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ getInfo(id) {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-card"
+ );
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ card_id: id,
+ },
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ payer_phone: res.data.payer_phone,
+ bank_name: res.data.bank_name,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+});
diff --git a/packageD/quickPay/choose_bank/choose_bank.json b/packageD/quickPay/choose_bank/choose_bank.json
new file mode 100644
index 0000000..ffba661
--- /dev/null
+++ b/packageD/quickPay/choose_bank/choose_bank.json
@@ -0,0 +1,11 @@
+{
+ "navigationBarTitleText": "银行卡列表",
+ "usingComponents": {
+ "van-checkbox": "../../..//dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-datetime-picker": "../../../dist/datetime-picker/index"
+ }
+}
\ No newline at end of file
diff --git a/packageD/quickPay/choose_bank/choose_bank.wxml b/packageD/quickPay/choose_bank/choose_bank.wxml
new file mode 100644
index 0000000..e6adf0f
--- /dev/null
+++ b/packageD/quickPay/choose_bank/choose_bank.wxml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.bank_name}}
+ {{item.bank_type_name}}
+
+
+
+ {{icon.changeBank(item.card_no)}}
+
+
+
+
+
+
+
+
+ +添加银行卡
+
+
+
+ 付款详情
+
+
+
+ 支付金额{{language['money']}}{{amount}}
+ 支付流水号{{pay_sn}}
+ 支付银行{{bank_name}}
+
+ 验证码
+
+
+ {{codetext}}
+
+
+ 已向手机{{icon.subPhone(payer_phone)}}发送短信
+ 支付
+
+
+
diff --git a/packageD/quickPay/choose_bank/choose_bank.wxss b/packageD/quickPay/choose_bank/choose_bank.wxss
new file mode 100644
index 0000000..0dacf17
--- /dev/null
+++ b/packageD/quickPay/choose_bank/choose_bank.wxss
@@ -0,0 +1,277 @@
+#choose_bank {
+ position: relative;
+ height: 100vh;
+ background-color: #fff;
+}
+
+#choose_bank .content {
+ padding: 32rpx 24rpx;
+ padding-bottom: 124rpx;
+}
+
+#choose_bank .content .bank-list .bank {
+ position: relative;
+ height: 270rpx;
+ border-radius: 22rpx;
+ padding-top: 40rpx;
+ padding-bottom: 48rpx;
+ padding-left: 24rpx;
+ margin-bottom: 32rpx;
+}
+
+#choose_bank .content .bank-list .bank .top {
+ display: flex;
+}
+
+#choose_bank .content .bank-list .bank .top .avator {
+ width: 96rpx;
+ height: 96rpx;
+ background-color: #fff;
+ border-radius: 50%;
+ margin-right: 24rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#choose_bank .content .bank-list .bank .top .avator image {
+ width: 64rpx;
+ height: 64rpx;
+}
+
+#choose_bank .content .bank-list .bank .top .right {
+ display: flex;
+ align-items: baseline;
+ flex-direction: column;
+ font-size: 16px;
+ color: #fff;
+ height: 96rpx;
+ justify-content: space-between;
+}
+
+#choose_bank .content .bank-list .bank .bottom {
+ margin-left: 120rpx;
+ margin-top: 70rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+}
+
+#choose_bank .content .bank-list .bank .close {
+ position: absolute;
+ right: 16rpx;
+ top: 16rpx;
+}
+
+#choose_bank .content .bank-list .bank .close .icon-close11 {
+ color: #fff;
+ font-size: 20px;
+}
+
+#choose_bank .btn {
+ width: 600rpx;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 10rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ font-size: 16px;
+ position: fixed;
+ bottom: 40rpx;
+ left: 0;
+ right: 0;
+ margin: 0 auto;
+}
+
+#choose_bank .btn .add {
+ display: flex;
+ align-items: center;
+}
+
+#choose_bank .title {
+ padding-top: 32rpx;
+ padding-bottom: 32rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ position: relative;
+}
+
+#choose_bank .title i {
+ position: absolute;
+ right: 32rpx;
+ color: #666;
+}
+
+#choose_bank .pay-content {
+ padding: 0 32rpx;
+}
+
+#choose_bank .pay-content .item {
+ display: flex;
+ align-items: center;
+ margin-bottom: 32rpx;
+ justify-content: space-between;
+}
+
+#choose_bank .pay-content .item .right {
+ background-color: #ebebeb;
+ color: #f15353;
+ font-size: 24rpx;
+ border-radius: 60rpx;
+ padding: 0 20rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ width: 200rpx;
+}
+
+#choose_bank .pay-content .item .disabled {
+ background-color: #ccc;
+ color: #f0f0f0 !important;
+}
+
+#choose_bank .pay-btn {
+ width: 600rpx;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ margin: 0 auto;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ margin-top: 64rpx;
+}
+
+.gongshang {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #f43038 100%
+ );
+}
+
+.zhongguo {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #f43038 100%
+ );
+}
+
+.zhongxin {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #f43038 100%
+ );
+}
+
+.shanghai {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #12489e 53%,
+ #2865c5 100%
+ );
+}
+
+.jianshe {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #0362b3 53%,
+ #3e94dd 100%
+ );
+}
+
+.guangda {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #691688 53%,
+ #a12cc8 100%
+ );
+}
+
+.mingsheng {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #0072bc 53%,
+ #1988d1 100%
+ );
+}
+
+.beijing {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #eb2730 100%
+ );
+}
+
+.pingan {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #f05a23 53%,
+ #fd7a49 100%
+ );
+}
+
+.jiaotong {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #063f78 53%,
+ #1861aa 100%
+ );
+}
+
+.zhaoshang {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #f32f37 100%
+ );
+}
+
+.guangfa {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #f12d35 100%
+ );
+}
+
+.pufa {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #1b1bb0 53%,
+ #3536df 100%
+ );
+}
+
+.youzheng {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #096 53%,
+ #0bc285 100%
+ );
+}
+
+.default {
+ background-color: #ccc;
+}
diff --git a/packageD/quickPay/choose_bank/icon.wxs b/packageD/quickPay/choose_bank/icon.wxs
new file mode 100644
index 0000000..7fb5c27
--- /dev/null
+++ b/packageD/quickPay/choose_bank/icon.wxs
@@ -0,0 +1,70 @@
+module.exports = {
+ getIconUrl: function (item, pay_type) {
+ console.log(pay_type);
+ var icon_url = "";
+ if (item.status == 0 && pay_type == 2) {
+ icon_url = "default";
+ return icon_url;
+ } else {
+ switch (item.bank_name) {
+ case "中国工商银行":
+ icon_url = "gongshang";
+ break;
+ case "中国银行":
+ icon_url = "zhongguo";
+ break;
+ case "中信银行":
+ icon_url = "zhongxin";
+ break;
+ case "上海银行":
+ icon_url = "shanghai";
+ break;
+ case "中国建设银行":
+ icon_url = "jianshe";
+ break;
+ case "光大银行":
+ icon_url = "guangda";
+ break;
+ case "民生银行":
+ icon_url = "mingsheng";
+ break;
+ case "北京银行":
+ icon_url = "beijing";
+ break;
+ case "平安银行":
+ icon_url = "pingan";
+ break;
+ case "交通银行":
+ icon_url = "jiaotong";
+ break;
+ case "招商银行":
+ icon_url = "zhaoshang";
+ break;
+ case "广发银行":
+ icon_url = "guangfa";
+ break;
+ case "浦发银行":
+ icon_url = "pufa";
+ break;
+ case "邮政银行":
+ icon_url = "youzheng";
+ break;
+ }
+ return icon_url;
+ }
+ },
+ changeBank: function (str) {
+
+ var m = str.split("");
+ var num = '*'
+ for (var i = 1; i < str.length - 4; i++) {
+ num += '*'
+ }
+ m.splice(0, str.length - 4, num);
+ var s = m.join("");
+ return s;
+ },
+ subPhone: function (payer_phone) {
+ return payer_phone.substring(0, 3) + "****" + payer_phone.substring(7)
+ }
+}
diff --git a/packageD/quickPay/member_add_bank_first/member_add_bank_first.js b/packageD/quickPay/member_add_bank_first/member_add_bank_first.js
new file mode 100644
index 0000000..c15b160
--- /dev/null
+++ b/packageD/quickPay/member_add_bank_first/member_add_bank_first.js
@@ -0,0 +1,133 @@
+// packageD/quickPay/member_add_bank_first/member_add_bank_first.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ name: "",
+ num: "",
+ bank: [],
+ info: {},
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {},
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.initData();
+ this.getInfo();
+ this.getBank();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ numInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ num: val,
+ });
+ },
+ initData() {
+ this.setData({
+ name: "",
+ num: "",
+ bank: [],
+ info: {},
+ });
+ },
+ getBank() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.index"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ bank: res.data,
+ });
+ } else {
+ that.setData({
+ bank: res.data,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ next() {
+ if (app._isTextEmpty(this.data.num)) {
+ wx.showToast({
+ icon: "none",
+ title: "请输入卡号",
+ duration: 1500,
+ });
+
+ return;
+ }
+ wx.navigateTo({
+ url:
+ "/packageD/quickPay/member_add_bank_second/member_add_bank_second?card_no=" +
+ this.data.num,
+ });
+ },
+ getInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-payer-info"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ info: res.data,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+});
diff --git a/packageD/quickPay/member_add_bank_first/member_add_bank_first.json b/packageD/quickPay/member_add_bank_first/member_add_bank_first.json
new file mode 100644
index 0000000..77c8665
--- /dev/null
+++ b/packageD/quickPay/member_add_bank_first/member_add_bank_first.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "添加银行卡",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/quickPay/member_add_bank_first/member_add_bank_first.wxml b/packageD/quickPay/member_add_bank_first/member_add_bank_first.wxml
new file mode 100644
index 0000000..287ff87
--- /dev/null
+++ b/packageD/quickPay/member_add_bank_first/member_add_bank_first.wxml
@@ -0,0 +1,18 @@
+
+ 请绑定持卡人本人的银行卡
+
+
+
+ 持卡人
+
+
+
+ 卡号
+
+
+
+
+
+ 下一步
+
+
\ No newline at end of file
diff --git a/packageD/quickPay/member_add_bank_first/member_add_bank_first.wxss b/packageD/quickPay/member_add_bank_first/member_add_bank_first.wxss
new file mode 100644
index 0000000..7ae6ac4
--- /dev/null
+++ b/packageD/quickPay/member_add_bank_first/member_add_bank_first.wxss
@@ -0,0 +1,58 @@
+#member_add_bank_first {
+ height: 100vh;
+ background-color: #fff;
+}
+
+#member_add_bank_first .mes {
+ padding: 32rpx 0;
+ padding-left: 32rpx;
+ color: #666;
+ font-size: 12px;
+ text-align: left;
+}
+
+#member_add_bank_first .line {
+ height: 20rpx;
+ background-color: #f2f2f7;
+}
+
+#member_add_bank_first .content {
+ background-color: #fff;
+ padding: 0 32rpx;
+}
+
+#member_add_bank_first .content .item {
+ padding: 40rpx 0;
+ border-bottom: solid 1px #ccc;
+ display: flex;
+ align-items: center;
+}
+
+#member_add_bank_first .content .item text {
+ width: 96rpx;
+}
+
+#member_add_bank_first .content .item input {
+ flex: 1;
+ border: none;
+ outline: none;
+ margin-left: 52rpx;
+}
+
+#member_add_bank_first .content .item:last-child {
+ border-bottom: none;
+}
+
+#member_add_bank_first .btn {
+ margin: 0 auto;
+ margin-top: 60rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ color: #fff;
+ width: 600rpx;
+ height: 92rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 16px;
+}
diff --git a/packageD/quickPay/member_add_bank_second/member_add_bank_second.js b/packageD/quickPay/member_add_bank_second/member_add_bank_second.js
new file mode 100644
index 0000000..3839ec5
--- /dev/null
+++ b/packageD/quickPay/member_add_bank_second/member_add_bank_second.js
@@ -0,0 +1,840 @@
+// packageD/quickPay/member_add_bank_second.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ bank: [],
+ payer_name: "",
+ payer_phone: "",
+ member_phone: "",
+ v2_code: "",
+ id_no: "",
+ cvv: "",
+ date: "2016-06",
+ card_no: "",
+ bank_name: "",
+ bank_type: "",
+ id_type: "",
+ user_agrt: "",
+ checked: true,
+ show2: false,
+ show3: false,
+ show4: false,
+ show5: false,
+ radio: "",
+ radio1: "",
+ radio2: "",
+ idType: [
+ {
+ id: "1",
+ text: "身份证",
+ },
+ {
+ id: "2",
+ text: "军官证",
+ },
+ {
+ id: "3",
+ text: "士兵证",
+ },
+ {
+ id: "4",
+ text: "护照",
+ },
+ {
+ id: "5",
+ text: "港澳台居民往来通行证",
+ },
+ {
+ id: "6",
+ text: "临时身份证",
+ },
+ {
+ id: "7",
+ text: "户口本",
+ },
+ {
+ id: "8",
+ text: "警官证",
+ },
+ {
+ id: "9",
+ text: "外国人永久居留证",
+ },
+ {
+ id: "10",
+ text: "其他",
+ },
+ {
+ id: "11",
+ text: "外国护照",
+ },
+ {
+ id: "12",
+ text: "营业执照",
+ },
+ ],
+ card: [
+ {
+ id: "0",
+ text: "储蓄卡",
+ },
+ {
+ id: "1",
+ text: "信用卡",
+ },
+ ],
+ datas: [
+ {
+ id: "1",
+ text: "中国工商银行",
+ },
+ {
+ id: "2",
+ text: "中国银行",
+ },
+ {
+ id: "3",
+ text: "中信银行",
+ },
+ {
+ id: "4",
+ text: "上海银行",
+ },
+ {
+ id: "5",
+ text: "中国建设银行",
+ },
+ {
+ id: "6",
+ text: "光大银行",
+ },
+ {
+ id: "7",
+ text: "民生银行",
+ },
+ {
+ id: "8",
+ text: "北京银行",
+ },
+ {
+ id: "9",
+ text: "平安银行",
+ },
+ {
+ id: "10",
+ text: "交通银行",
+ },
+ {
+ id: "11",
+ text: "招商银行",
+ },
+ {
+ id: "12",
+ text: "广发银行",
+ },
+ {
+ id: "13",
+ text: "浦发银行",
+ },
+ {
+ id: "14",
+ text: "邮政银行",
+ },
+ ],
+ count: '',
+ check_open: false,
+ isOpenCaptcha: false,
+ captcha: '',
+ imgCodeLink: '',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.initData();
+ let option = options;
+ this.setData({
+ card_no: option.card_no,
+ });
+ this.getMemberPhone();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+ this.data.timer && clearInterval(this.data.timer);
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+
+ // 获取会员绑定的手机号
+ getMemberPhone () {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-mobile");
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result !== 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ return;
+ }
+ this.setData({
+ check_open: res.data.sms_check_open
+ });
+ if (res.data.get_captcha && res.data.get_captcha.captcha) {
+ this.setData({
+ imgCodeLink: res.data.get_captcha.captcha.img,
+ isOpenCaptcha: res.data.get_captcha.captcha.status
+ });
+ }
+ if (res.data.mobile) {
+ that.setData({
+ member_phone: res.data.mobile
+ });
+ that.getAgrement();
+ that.getInfo();
+ that.getBank();
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: '商城会员没有绑定手机号,请绑定手机号',
+ success (result) {
+ if (result.confirm) {
+ wx.navigateTo({
+ url: '/packageA/member/editmobile/editmobile',
+ });
+ } else if (result.cancel) {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ }
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ nameInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ payer_name: val,
+ });
+ },
+ phoneInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ payer_phone: val,
+ });
+ },
+ memberPhoneInp (e) {
+ let val = e.detail.value;
+ this.setData({
+ member_phone: val,
+ });
+ },
+ changeCaptcha (e) {
+ let val = e.detail.value;
+ this.setData({
+ captcha: val
+ });
+ },
+ v2CodeInp (e) {
+ let val = e.detail.value;
+ this.setData({
+ v2_code: val,
+ });
+ },
+ idInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ id_no: val,
+ });
+ },
+ cvvInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ cvv: val,
+ });
+ },
+ bindDateChange: function (e) {
+ this.setData({
+ date: e.detail.value,
+ });
+ },
+ openBank() {
+ this.setData({
+ show2: true,
+ });
+ },
+ closeBank() {
+ this.setData({
+ show2: false,
+ });
+ },
+ openCard() {
+ this.setData({
+ show3: true,
+ });
+ },
+ closeCard() {
+ this.setData({
+ show3: false,
+ });
+ },
+ openType() {
+ this.setData({
+ show4: true,
+ });
+ },
+ closeType() {
+ this.setData({
+ show4: false,
+ });
+ },
+ bankChange(e) {
+ let val = e.detail;
+ this.setData({
+ radio: val,
+ });
+ },
+ cardChange(e) {
+ let val = e.detail;
+ this.setData({
+ radio1: val,
+ });
+ },
+ idChange(e) {
+ let val = e.detail;
+ this.setData({
+ radio2: val,
+ });
+ },
+ openAgg() {
+ this.setData({
+ show5: true,
+ });
+ },
+ closeAgg() {
+ this.setData({
+ show5: false,
+ });
+ },
+ confirm() {
+ this.setData({
+ show2: false,
+ });
+ this.data.datas.forEach((item, index, key) => {
+ if (item.id == this.data.radio) {
+ this.setData({
+ bank_name: item.text,
+ });
+ }
+ });
+ },
+ cardConfirm() {
+ this.setData({
+ show3: false,
+ });
+ this.data.card.forEach((item, index, key) => {
+ if (item.id == this.data.radio1) {
+ this.setData({
+ bank_type: item.text,
+ });
+ }
+ });
+ },
+ typeConfirm() {
+ this.setData({
+ show4: false,
+ });
+ this.data.idType.forEach((item, index, key) => {
+ if (item.id == this.data.radio2) {
+ this.setData({
+ id_type: item.text,
+ });
+ }
+ });
+ },
+ toSelect(e) {
+ this.setData({
+ checked: e.detail,
+ });
+ },
+ initData() {
+ this.setData({
+ bank: [],
+ payer_name: "",
+ payer_phone: "",
+ id_no: "",
+ cvv: "",
+ date: "2016-06",
+ card_no: "",
+ bank_name: "",
+ bank_type: "",
+ id_type: "",
+ user_agrt: "",
+ checked: true,
+ show2: false,
+ show3: false,
+ show4: false,
+ show5: false,
+ radio: "",
+ radio1: "",
+ radio2: "",
+ idType: [
+ {
+ id: "1",
+ text: "身份证",
+ },
+ {
+ id: "2",
+ text: "军官证",
+ },
+ {
+ id: "3",
+ text: "士兵证",
+ },
+ {
+ id: "4",
+ text: "护照",
+ },
+ {
+ id: "5",
+ text: "港澳台居民往来通行证",
+ },
+ {
+ id: "6",
+ text: "临时身份证",
+ },
+ {
+ id: "7",
+ text: "户口本",
+ },
+ {
+ id: "8",
+ text: "警官证",
+ },
+ {
+ id: "9",
+ text: "外国人永久居留证",
+ },
+ {
+ id: "10",
+ text: "其他",
+ },
+ {
+ id: "11",
+ text: "外国护照",
+ },
+ {
+ id: "12",
+ text: "营业执照",
+ },
+ ],
+ card: [
+ {
+ id: "0",
+ text: "储蓄卡",
+ },
+ {
+ id: "1",
+ text: "信用卡",
+ },
+ ],
+ datas: [
+ {
+ id: "1",
+ text: "中国工商银行",
+ },
+ {
+ id: "2",
+ text: "中国银行",
+ },
+ {
+ id: "3",
+ text: "中信银行",
+ },
+ {
+ id: "4",
+ text: "上海银行",
+ },
+ {
+ id: "5",
+ text: "中国建设银行",
+ },
+ {
+ id: "6",
+ text: "光大银行",
+ },
+ {
+ id: "7",
+ text: "民生银行",
+ },
+ {
+ id: "8",
+ text: "北京银行",
+ },
+ {
+ id: "9",
+ text: "平安银行",
+ },
+ {
+ id: "10",
+ text: "交通银行",
+ },
+ {
+ id: "11",
+ text: "招商银行",
+ },
+ {
+ id: "12",
+ text: "广发银行",
+ },
+ {
+ id: "13",
+ text: "浦发银行",
+ },
+ {
+ id: "14",
+ text: "邮政银行",
+ },
+ ],
+ check_open: false,
+ isOpenCaptcha: false,
+ captcha: '',
+ imgCodeLink: '',
+ });
+ },
+ getBank() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.index"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ bank: res.data,
+ });
+ } else {
+ that.setData({
+ bank: res.data,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-payer-info"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1 && res.data) {
+ that.setData({
+ payer_name: res.data.payer_name,
+ radio2: res.data.id_type,
+ id_no: res.data.id_no,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ shijian() {
+ let y = this.data.date.split("-")[0];
+ let m = this.data.date.split("-")[1];
+ return `${y}/${m}`;
+ },
+ getType(id) {
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-pay-type"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ if (res.data.pay_type == 1) {
+ wx.navigateTo({
+ url: "/packageD/quickPay/member_choose_bank/member_choose_bank",
+ });
+ } else {
+ wx.navigateTo({
+ url:
+ "/packageD/quickPay/member_bind_bank/member_bind_bank?card_id=" +
+ id,
+ });
+ }
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getAgrement() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-user-agrt"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ user_agrt: res.data.user_agrt,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+
+ Toast (text) {
+ wx.showToast({
+ title: text,
+ icon: "none",
+ duration: 1500
+ });
+ },
+
+ addBank() {
+ if (app._isTextEmpty(this.data.bank_name)) {
+ this.Toast("请选择所属银行");
+ return;
+ }
+ if (app._isTextEmpty(this.data.radio1)) {
+ this.Toast("请选择银行卡类型");
+ return;
+ }
+ if (app._isTextEmpty(this.data.date) && this.data.radio1 == "1") {
+ this.Toast("请选择信用卡有效期");
+ return;
+ }
+ if (app._isTextEmpty(this.data.cvv) && this.data.radio1 == "1") {
+ this.Toast("请填写安全码");
+ return;
+ }
+ if (app._isTextEmpty(this.data.payer_name)) {
+ this.Toast("请输入持卡人姓名");
+ return;
+ }
+ if (app._isTextEmpty(this.data.payer_phone)) {
+ this.Toast("请输入银行预留手机号");
+ return;
+ }
+ if (this.data.check_open == 1 && app._isTextEmpty(this.data.member_phone)) {
+ this.Toast("请输入绑定手机号");
+ return;
+ }
+ if (this.data.check_open == 1 && app._isTextEmpty(this.data.v2_code)) {
+ this.Toast("请输入验证码");
+ return;
+ }
+ if (app._isTextEmpty(this.data.checked)) {
+ this.Toast("请同意用户协议");
+ return;
+ }
+ var json;
+ if (this.data.radio1 == "0") {
+ json = {
+ data: {
+ card_no: this.data.card_no,
+ payer_name: this.data.payer_name,
+ payer_phone: this.data.payer_phone,
+ id_no: this.data.id_no,
+ id_type: this.data.radio2,
+ bank_type: this.data.radio1,
+ bank_name: this.data.bank_name,
+ }
+ };
+ } else if (this.data.radio1 == "1") {
+ json = {
+ data: {
+ card_no: this.data.card_no,
+ payer_name: this.data.payer_name,
+ payer_phone: this.data.payer_phone,
+ id_no: this.data.id_no,
+ id_type: this.data.radio2,
+ bank_type: this.data.radio1,
+ bank_name: this.data.bank_name,
+ expire_date: this.shijian(this.data.date),
+ cvv: this.data.cvv,
+ }
+ };
+ }
+ if (this.data.check_open == 1) {
+ json.code = this.data.v2_code;
+ }
+
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.create"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ app.tips("添加成功");
+ that.getType(res.data.id);
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+
+ // 刷新图形验证码
+ getCaptchaImg () {
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-mobile");
+ app._getNetWork({
+ url: urlStr,
+ data: {},
+ success: (response) => {
+ let res = response.data;
+ if (res.result !== 1) {
+ app.tips(res.msg);
+ }
+ if (res.data.get_captcha && res.data.get_captcha.captcha) {
+ this.setData({
+ imgCodeLink: res.data.get_captcha.captcha.img
+ });
+ }
+ }
+ });
+ },
+
+ // 获取验证码
+ VerificationCode() {
+ if (this.data.isOpenCaptcha == 1 && app._isTextEmpty(this.data.captcha)) {
+ app.tips("请填写图形验证码");
+ return;
+ }
+ if (app._isTextEmpty(this.data.member_phone)) {
+ app.tips("请填写需要绑定的手机号");
+ return;
+ }
+ wx.showLoading({
+ title: "发送中",
+ });
+ var that = this;
+ var urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.send-code");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data: { captcha: this.data.captcha },
+ success: function (resdata) {
+ var res = resdata.data;
+ wx.hideLoading();
+ if (res.result == 1) {
+ that.getCode();
+ } else {
+ app.tips(res.msg);
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ // 60秒倒计时
+ getCode() {
+ const TIME_COUNT = 60;
+ if (!this.data.timer) {
+ this.data.count = TIME_COUNT;
+ this.data.timer = setInterval(() => {
+ if (this.data.count > 0 && this.data.count <= TIME_COUNT) {
+ this.data.count--;
+ this.setData({
+ count:this.data.count
+ });
+ } else {
+ clearInterval(this.timer);
+ this.data.count = 0;
+ this.data.timer = null;
+ this.setData({
+ count:this.data.count,
+ timer:this.data.timer
+ });
+ }
+ }, 1000);
+ }
+ },
+
+});
diff --git a/packageD/quickPay/member_add_bank_second/member_add_bank_second.json b/packageD/quickPay/member_add_bank_second/member_add_bank_second.json
new file mode 100644
index 0000000..e777be3
--- /dev/null
+++ b/packageD/quickPay/member_add_bank_second/member_add_bank_second.json
@@ -0,0 +1,12 @@
+{
+ "navigationBarTitleText": "添加银行卡",
+ "usingComponents": {
+ "van-checkbox": "../../..//dist/checkbox/index",
+ "van-checkbox-group": "../../../dist/checkbox-group/index",
+ "van-radio": "../../../dist/radio/index",
+ "van-radio-group": "../../../dist/radio-group/index",
+ "van-popup": "../../../dist/popup/index",
+ "van-datetime-picker": "../../../dist/datetime-picker/index"
+
+ }
+}
\ No newline at end of file
diff --git a/packageD/quickPay/member_add_bank_second/member_add_bank_second.wxml b/packageD/quickPay/member_add_bank_second/member_add_bank_second.wxml
new file mode 100644
index 0000000..dc93b97
--- /dev/null
+++ b/packageD/quickPay/member_add_bank_second/member_add_bank_second.wxml
@@ -0,0 +1,169 @@
+
+
+
+ 银行
+
+
+
+
+ 卡类型
+
+
+
+
+ 安全码
+
+
+
+
+ 有效期
+
+
+ {{date}}
+
+
+
+
+
+ 提醒:后续只能绑定该持卡人的银行卡
+
+
+ 姓名
+
+
+
+ 证件类型
+
+
+
+
+ 证件号
+
+
+
+ 手机号
+
+
+
+
+
+ 绑定手机号
+
+
+
+ 图形验证码
+
+
+
+
+ 验证码
+
+ 获取验证码
+ {{ count }}秒后重新获取
+
+
+
+
+
+
+ 同意
+ 《用户协议》
+
+
+
+ 下一步
+
+
+
+
+
+ 所属银行
+
+
+
+
+
+ -
+ {{item.text}}
+
+
+
+
+
+ 确定
+
+
+
+
+
+ 银行卡类型
+
+
+
+
+
+ -
+ {{item.text}}
+
+
+
+
+
+ 确定
+
+
+
+
+
+ 证件类型
+
+
+
+
+
+ -
+ {{item.text}}
+
+
+
+
+
+ 确定
+
+
+
+
+
+ 用户协议
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/quickPay/member_add_bank_second/member_add_bank_second.wxss b/packageD/quickPay/member_add_bank_second/member_add_bank_second.wxss
new file mode 100644
index 0000000..bf54732
--- /dev/null
+++ b/packageD/quickPay/member_add_bank_second/member_add_bank_second.wxss
@@ -0,0 +1,211 @@
+#member_add_bank_second {
+ height: 100vh;
+ background-color: #fff;
+}
+
+#member_add_bank_second .content {
+ padding-left: 32rpx;
+}
+
+#member_add_bank_second .content .item {
+ border-bottom: solid 1.0016rpx #ccc;
+ display: flex;
+ text-align: left;
+ padding: 32rpx 0;
+ padding-right: 32rpx;
+ align-items: center;
+}
+
+#member_add_bank_second .content .item input {
+ outline: none;
+ border: none;
+ flex: 1;
+}
+#member_add_bank_second .content .item .getcodeClass {
+ display: inline-block;
+ height: 56rpx;
+ line-height: 56rpx;
+ background-color: #f54242;
+ color: #fff;
+ border-radius: 5rpx;
+ padding: 0 20rpx;
+ font-size: 24rpx;
+}
+#member_add_bank_second .content .tip {
+ height: 96rpx;
+ display: flex;
+ align-items: center;
+ background: #ebebeb;
+ color: #666;
+ font-size: 12px;
+ margin-left: -32rpx;
+ padding-left: 32rpx;
+}
+
+#member_add_bank_second .content .check {
+ margin-top: 32px;
+ display: flex;
+ align-items: center;
+}
+
+#member_add_bank_second .content .bank-btn {
+ width: 600px;
+ height: 92px;
+ background-color: #ff2c29;
+ border-radius: 18px;
+ font-size: 0.5rem;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 32px;
+}
+
+#member_add_bank_second .content .bank-btn {
+ width: 600rpx;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ font-size: 16px;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 32rpx;
+}
+
+.bank .title {
+ font-size: 16px;
+ position: relative;
+ padding: 32rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.bank .title i {
+ position: absolute;
+ right: 16rpx;
+}
+
+.bank .content {
+ padding: 0 32rpx;
+}
+
+.bank .content .radio {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 32rpx;
+}
+
+.bank .content .btn {
+ width: 80%;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 32rpx;
+}
+
+.card .title {
+ font-size: 16px;
+ position: relative;
+ padding: 32rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.card .title i {
+ position: absolute;
+ right: 16rpx;
+}
+
+.card .content {
+ padding: 0 32rpx;
+}
+
+.card .content .radio {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 32rpx;
+}
+
+.card .content .btn {
+ width: 80%;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 32rpx;
+}
+
+.type .title {
+ font-size: 16px;
+ position: relative;
+ padding: 32rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.type .title i {
+ position: absolute;
+ right: 16rpx;
+}
+
+.type .content {
+ padding: 0 32rpx;
+}
+
+.type .content .radio {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 32rpx;
+}
+
+.type .content .btn {
+ width: 80%;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 32rpx;
+}
+
+.message .title {
+ font-size: 16px;
+ position: relative;
+ padding: 32rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.message .title i {
+ position: absolute;
+ right: 16rpx;
+}
+
+.message .content {
+ padding: 32rpx;
+ padding-top: 0;
+ text-align: left;
+}
diff --git a/packageD/quickPay/member_bind_bank/member_bind_bank.js b/packageD/quickPay/member_bind_bank/member_bind_bank.js
new file mode 100644
index 0000000..d1a893d
--- /dev/null
+++ b/packageD/quickPay/member_bind_bank/member_bind_bank.js
@@ -0,0 +1,185 @@
+// packageD/quickPay/member_bind_bank/member_bind_bank.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ codetext: "获取短信验证码",
+ imgcode: "",
+ payer_phone: "",
+ card_id: "",
+ start1: false,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getInfo();
+ this.setData({
+ card_id: options.card_id,
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ // this.card_id = this.$route.params.card_id;
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ numInp(e) {
+ let val = e.detail.value;
+ this.setData({
+ sms_code: val,
+ });
+ },
+ sendCode(e) {
+ if (this.data.start1) {
+ return false;
+ }
+ let time = 60;
+ let that = this;
+ that.setData({
+ start1: true,
+ codetext: "(" + time + ")秒后重新获取",
+ });
+ let set = setInterval(function () {
+ that.setData({
+ codetext: "(" + --time + ")秒后重新获取",
+ });
+ }, 1000);
+ setTimeout(function () {
+ that.setData({
+ codetext: "获取短信验证码",
+ start1: false,
+ });
+ clearInterval(set);
+ }, 60000);
+ that.verificationCode(set);
+ },
+ // 获取验证码
+ verificationCode(set) {
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.bind-card"
+ );
+ //发送获取验证码的请求//旧的请求:member.register.sendCodeV2
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ card_id: this.data.card_id,
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: "已发送",
+ duration: 1500,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res);
+ },
+ });
+ },
+ confirm() {
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.confirm-bind-card"
+ );
+ app._getNetWork({
+ url: urlStr,
+ data: {
+ card_id: this.data.card_id,
+ sms_code: this.data.sms_code,
+ },
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ wx.navigateTo({
+ url: "/packageD/quickPay/member_choose_bank/member_choose_bank",
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ getInfo() {
+ let that = this;
+ let urlStr = app.getNetAddresss(
+ "plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-payer-info"
+ );
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ payer_phone: res.data.payer_phone,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+});
diff --git a/packageD/quickPay/member_bind_bank/member_bind_bank.json b/packageD/quickPay/member_bind_bank/member_bind_bank.json
new file mode 100644
index 0000000..91ce927
--- /dev/null
+++ b/packageD/quickPay/member_bind_bank/member_bind_bank.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "绑定银行卡",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/quickPay/member_bind_bank/member_bind_bank.wxml b/packageD/quickPay/member_bind_bank/member_bind_bank.wxml
new file mode 100644
index 0000000..923fa65
--- /dev/null
+++ b/packageD/quickPay/member_bind_bank/member_bind_bank.wxml
@@ -0,0 +1,21 @@
+
+
+
+ 输入验证码
+ 已向手机{{substr.subPhone(payer_phone)}}发送短信
+ 绑定银行卡需要短信确认
+
+
+ 确认
+
+
+
\ No newline at end of file
diff --git a/packageD/quickPay/member_bind_bank/member_bind_bank.wxss b/packageD/quickPay/member_bind_bank/member_bind_bank.wxss
new file mode 100644
index 0000000..fce50fd
--- /dev/null
+++ b/packageD/quickPay/member_bind_bank/member_bind_bank.wxss
@@ -0,0 +1,62 @@
+#member_bind_bank {
+ height: 100vh;
+ background-color: #fff;
+}
+
+#member_bind_bank .content {
+ padding-top: 32rpx;
+}
+
+#member_bind_bank .content ul li {
+ padding: 36rpx 24rpx;
+ border-bottom: solid 1.0016px #f1f1f1;
+ display: flex;
+ align-items: center;
+}
+
+#member_bind_bank .content ul li input {
+ border: none;
+ outline: none;
+ font-size: 12px;
+ flex: 1;
+ margin-left: 24rpx;
+}
+
+#member_bind_bank .content ul .second {
+ justify-content: space-between;
+}
+
+#member_bind_bank .content ul .second .getCode {
+ color: #ff2c29;
+ font-size: 12px;
+}
+
+#member_bind_bank .content .bank-btn {
+ width: 600rpx;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ font-size: 16px;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 32rpx;
+}
+
+#member_bind_bank .content ul .second .right {
+ background-color: #ebebeb;
+ color: #f15353;
+ font-size: 24rpx;
+ border-radius: 60rpx;
+ padding: 0 20rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ width: 200rpx;
+}
+
+#member_bind_bank .content ul .second .disabled {
+ background-color: #ccc;
+ color: #f0f0f0 !important;
+}
diff --git a/packageD/quickPay/member_bind_bank/substr.wxs b/packageD/quickPay/member_bind_bank/substr.wxs
new file mode 100644
index 0000000..c8b265b
--- /dev/null
+++ b/packageD/quickPay/member_bind_bank/substr.wxs
@@ -0,0 +1,5 @@
+module.exports = {
+ subPhone:function(payer_phone){
+ return payer_phone.substring(0, 3) + "****" + payer_phone.substring(7)
+ }
+}
diff --git a/packageD/quickPay/member_choose_bank/icon.wxs b/packageD/quickPay/member_choose_bank/icon.wxs
new file mode 100644
index 0000000..8f47ebf
--- /dev/null
+++ b/packageD/quickPay/member_choose_bank/icon.wxs
@@ -0,0 +1,67 @@
+module.exports = {
+ getIconUrl: function (item, pay_type){
+ console.log(pay_type);
+ var icon_url = "";
+ if (item.status == 0 && pay_type == 2) {
+ icon_url = "default";
+ return icon_url;
+ } else {
+ switch (item.bank_name) {
+ case "中国工商银行":
+ icon_url = "gongshang";
+ break;
+ case "中国银行":
+ icon_url = "zhongguo";
+ break;
+ case "中信银行":
+ icon_url = "zhongxin";
+ break;
+ case "上海银行":
+ icon_url = "shanghai";
+ break;
+ case "中国建设银行":
+ icon_url = "jianshe";
+ break;
+ case "光大银行":
+ icon_url = "guangda";
+ break;
+ case "民生银行":
+ icon_url = "mingsheng";
+ break;
+ case "北京银行":
+ icon_url = "beijing";
+ break;
+ case "平安银行":
+ icon_url = "pingan";
+ break;
+ case "交通银行":
+ icon_url = "jiaotong";
+ break;
+ case "招商银行":
+ icon_url = "zhaoshang";
+ break;
+ case "广发银行":
+ icon_url = "guangfa";
+ break;
+ case "浦发银行":
+ icon_url = "pufa";
+ break;
+ case "邮政银行":
+ icon_url = "youzheng";
+ break;
+ }
+ return icon_url;
+ }
+ },
+ changeBank:function(str) {
+
+ var m = str.split("");
+ var num='*'
+ for (var i = 1; i < str.length - 4;i++){
+ num+='*'
+ }
+ m.splice(0, str.length - 4, num);
+ var s = m.join("");
+ return s;
+ },
+}
diff --git a/packageD/quickPay/member_choose_bank/member_choose_bank.js b/packageD/quickPay/member_choose_bank/member_choose_bank.js
new file mode 100644
index 0000000..c83299a
--- /dev/null
+++ b/packageD/quickPay/member_choose_bank/member_choose_bank.js
@@ -0,0 +1,239 @@
+// packageD/quickPay/member_choose_bank/member_choose_bank.js
+let app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ bank: [],
+ show1: false,
+ arr: [],
+ amount: '',
+ pay_sn: '',
+ bank_name: '',
+ code: '',
+ order_pay_sn: '',
+ payer_phone: '',
+ pay_type: '',
+ card_no: '',
+ check_open: false,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ this.initData();
+ this.getType();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ initData() {
+ this.setData({
+ bank:[],
+ show1:false,
+ arr:[],
+ amount:'',
+ pay_sn:'',
+ bank_name: '',
+ code: '',
+ order_pay_sn: '',
+ payer_phone: '',
+ pay_type: '',
+ card_no:'',
+ });
+ },
+ toPay(e) {
+ let item = e.currentTarget.dataset.item;
+ if (item.status == 0 && this.data.pay_type == 2) {
+ wx.navigateTo({
+ url: '/packageD/quickPay/member_bind_bank/member_bind_bank?card_id=' + item.id
+ });
+ }
+ },
+
+ toAdd() {
+ wx.navigateTo({
+ url: '/packageD/quickPay/member_add_bank_first/member_add_bank_first'
+ });
+ },
+
+ tapUnbound (e) {
+ let item=e.currentTarget.dataset.item;
+ if (this.data.check_open) {
+ this.toRemove(item);
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: '此操作将解绑该银行卡,确认执行该操作吗?',
+ success: (result) => {
+ if (result.confirm) {
+ this.deleteBank(item);
+ }
+ }
+ });
+ }
+ },
+
+ toRemove (item) {
+ wx.navigateTo({
+ url: '/packageD/quickPay/member_remove_bank/member_remove_bank?card_id=' + item.id
+ });
+ },
+ deleteBank(item) {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.del");
+ app._getNetWork({
+ url: urlStr,
+ data: { card_id: item.id },
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500,
+ });
+ that.setData({
+ show1: false
+ });
+ that.getBank();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+
+
+ getBank() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.index");
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ bank:res.data
+ });
+ that.getMemberPhone();
+ } else {
+ that.setData({
+ bank: res.data
+ });
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+ getType() {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-pay-type");
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ pay_type: res.data.pay_type
+ });
+ that.getBank();
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ },
+
+ getMemberPhone () {
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-mobile");
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result !== 1) {
+ app.tips(res.msg);
+ return;
+ }
+ this.setData({check_open: res.data.sms_check_open});
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+});
\ No newline at end of file
diff --git a/packageD/quickPay/member_choose_bank/member_choose_bank.json b/packageD/quickPay/member_choose_bank/member_choose_bank.json
new file mode 100644
index 0000000..8097308
--- /dev/null
+++ b/packageD/quickPay/member_choose_bank/member_choose_bank.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "银行卡列表",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/quickPay/member_choose_bank/member_choose_bank.wxml b/packageD/quickPay/member_choose_bank/member_choose_bank.wxml
new file mode 100644
index 0000000..630660d
--- /dev/null
+++ b/packageD/quickPay/member_choose_bank/member_choose_bank.wxml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.bank_name}}
+ {{item.bank_type_name}}
+
+
+
+ {{icon.changeBank(item.card_no)}}
+
+ 解绑
+
+
+
+
+ +添加银行卡
+
+
\ No newline at end of file
diff --git a/packageD/quickPay/member_choose_bank/member_choose_bank.wxss b/packageD/quickPay/member_choose_bank/member_choose_bank.wxss
new file mode 100644
index 0000000..8a6709d
--- /dev/null
+++ b/packageD/quickPay/member_choose_bank/member_choose_bank.wxss
@@ -0,0 +1,263 @@
+#member_choose_bank {
+ position: relative;
+ height: 100vh;
+ background-color: #fff;
+}
+
+#member_choose_bank .content {
+ padding: 32rpx 24rpx;
+ padding-bottom: 124rpx;
+}
+
+#member_choose_bank .content .bank-list .bank {
+ position: relative;
+ height: 270rpx;
+ border-radius: 22rpx;
+ padding-top: 40rpx;
+ padding-bottom: 48rpx;
+ padding-left: 24rpx;
+ margin-bottom: 32rpx;
+}
+
+#member_choose_bank .content .bank-list .bank .top {
+ display: flex;
+}
+
+#member_choose_bank .content .bank-list .bank .top .avator {
+ width: 96rpx;
+ height: 96rpx;
+ background-color: #fff;
+ border-radius: 50%;
+ margin-right: 24rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#member_choose_bank .content .bank-list .bank .top .avator image {
+ width: 64rpx;
+ height: 64rpx;
+}
+
+#member_choose_bank .content .bank-list .bank .top .right {
+ display: flex;
+ align-items: baseline;
+ flex-direction: column;
+ font-size: 16px;
+ color: #fff;
+ height: 96rpx;
+ justify-content: space-between;
+}
+
+#member_choose_bank .content .bank-list .bank .bottom {
+ margin-left: 120rpx;
+ margin-top: 70rpx;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+}
+
+#member_choose_bank .content .bank-list .bank .close {
+ position: absolute;
+ right: 16rpx;
+ top: 16rpx;
+ font-size: 30rpx;
+ z-index: 999;
+ color: #fff;
+}
+
+#member_choose_bank .content .bank-list .bank .close .icon-close11 {
+ font-size: 20px;
+}
+
+#member_choose_bank .btn {
+ width: 600rpx;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 10rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ font-size: 16px;
+ position: fixed;
+ bottom: 40rpx;
+ left: 0;
+ right: 0;
+ margin: 0 auto;
+}
+
+#member_choose_bank .btn .add {
+ display: flex;
+ align-items: center;
+}
+
+#member_choose_bank .title {
+ padding-top: 32rpx;
+ padding-bottom: 32rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ position: relative;
+}
+
+#member_choose_bank .title i {
+ position: absolute;
+ right: 32rpx;
+ color: #666;
+}
+
+#member_choose_bank .pay-content {
+ padding: 0 32rpx;
+}
+
+#member_choose_bank .pay-content .item {
+ display: flex;
+ align-items: center;
+ margin-bottom: 32rpx;
+ justify-content: space-between;
+}
+
+#member_choose_bank .pay-btn {
+ width: 600rpx;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ margin: 0 auto;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ margin-top: 64rpx;
+}
+
+.gongshang {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #f43038 100%
+ );
+}
+
+.zhongguo {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #f43038 100%
+ );
+}
+
+.zhongxin {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #f43038 100%
+ );
+}
+
+.shanghai {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #12489e 53%,
+ #2865c5 100%
+ );
+}
+
+.jianshe {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #0362b3 53%,
+ #3e94dd 100%
+ );
+}
+
+.guangda {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #691688 53%,
+ #a12cc8 100%
+ );
+}
+
+.mingsheng {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #0072bc 53%,
+ #1988d1 100%
+ );
+}
+
+.beijing {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #eb2730 100%
+ );
+}
+
+.pingan {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #f05a23 53%,
+ #fd7a49 100%
+ );
+}
+
+.jiaotong {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #063f78 53%,
+ #1861aa 100%
+ );
+}
+
+.zhaoshang {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #f32f37 100%
+ );
+}
+
+.guangfa {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #c7020f 53%,
+ #f12d35 100%
+ );
+}
+
+.pufa {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #1b1bb0 53%,
+ #3536df 100%
+ );
+}
+
+.youzheng {
+ background-image:
+ linear-gradient(
+ -90deg,
+ #096 53%,
+ #0bc285 100%
+ );
+}
+
+.default {
+ background-color: #ccc;
+}
diff --git a/packageD/quickPay/member_remove_bank/member_remove_bank.js b/packageD/quickPay/member_remove_bank/member_remove_bank.js
new file mode 100644
index 0000000..37cb678
--- /dev/null
+++ b/packageD/quickPay/member_remove_bank/member_remove_bank.js
@@ -0,0 +1,199 @@
+// packageD/quickPay/member_remove_bank/member_remove_bank.js
+const app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ member_phone: "",
+ v2_code: "",
+ count: "",
+ isOpenCaptcha: false,
+ imgCodeLink: "",
+ captcha: "",
+ },
+ onLoad: function (options) {
+ this.setData({
+ card_id: options.card_id,
+ });
+ this.getMemberPhone();
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ changeCaptcha (e) {
+ let val = e.detail.value;
+ this.setData({captcha: val});
+ },
+ v2CodeInp (e) {
+ let val = e.detail.value;
+ this.setData({
+ v2_code: val,
+ });
+ },
+ // 获取会员绑定的手机号
+ getMemberPhone () {
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-mobile");
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: (resdata) => {
+ var res = resdata.data;
+ if (res.result !== 1) {
+ app.tips(res.msg);
+ return;
+ }
+ this.setData({
+ check_open: res.data.sms_check_open
+ });
+ if (res.data.get_captcha && res.data.get_captcha.captcha) {
+ this.setData({
+ imgCodeLink: res.data.get_captcha.captcha.img,
+ isOpenCaptcha: res.data.get_captcha.captcha.status
+ });
+ }
+ if (res.data.mobile) {
+ that.setData({
+ member_phone: res.data.mobile
+ });
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: '商城会员没有绑定手机号,请绑定手机号',
+ success (res) {
+ if (res.confirm) {
+ wx.navigateTo({
+ url: '/packageA/member/editmobile/editmobile',
+ });
+ } else if (res.cancel) {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ }
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+
+ // 刷新图形验证码
+ getCaptchaImg () {
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.get-mobile");
+ app._getNetWork({
+ url: urlStr,
+ data: {},
+ success: (response) => {
+ let res = response.data;
+ if (res.result !== 1) {
+ app.tips(res.msg);
+ }
+ if (res.data.get_captcha && res.data.get_captcha.captcha) {
+ this.setData({
+ imgCodeLink: res.data.get_captcha.captcha.img
+ });
+ }
+ }
+ });
+ },
+
+ // 获取验证码
+ VerificationCode() {
+ if (this.data.isOpenCaptcha == 1 && app._isTextEmpty(this.data.captcha)) {
+ app.tips("请填写图形验证码");
+ return;
+ }
+ wx.showLoading({
+ title: "发送中",
+ });
+ var that = this;
+ var urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.send-code");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data: {captcha: this.data.captcha},
+ success: function (resdata) {
+ var res = resdata.data;
+ wx.hideLoading();
+ if (res.result == 1) {
+ that.getCode();
+ } else {
+ wx.showToast({
+ title: res.msg,
+ icon: "none"
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+ // 60秒倒计时
+ getCode() {
+ const TIME_COUNT = 60;
+ if (!this.data.timer) {
+ this.data.count = TIME_COUNT;
+ this.data.timer = setInterval(() => {
+ if (this.data.count > 0 && this.data.count <= TIME_COUNT) {
+ this.data.count--;
+ this.setData({
+ count:this.data.count
+ });
+ } else {
+ clearInterval(this.timer);
+ this.data.count = 0;
+ this.data.timer = null;
+ this.setData({
+ count:this.data.count,
+ timer:this.data.timer
+ });
+ }
+ }, 1000);
+ }
+ },
+
+ confirmRemoveBank () {
+ if (app._isTextEmpty(this.data.v2_code)) {
+ app.tips("请输入验证码");
+ return;
+ }
+ var urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.quick-pay-bank-card.del");
+ app._getNetWork({
+ showToastIn: false,
+ url: urlStr,
+ data: {
+ card_id: this.data.card_id,
+ code: this.data.v2_code
+ },
+ success: function (resdata) {
+ var res = resdata.data;
+ app.tips(res.msg);
+ if (res.result == 1) {
+ wx.navigateBack({
+ delta: 1,
+ });
+ }
+ },
+ fail: function (res) {},
+ });
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+
+ onHide () {
+ this.data.timer && clearInterval(this.data.timer);
+ },
+});
\ No newline at end of file
diff --git a/packageD/quickPay/member_remove_bank/member_remove_bank.json b/packageD/quickPay/member_remove_bank/member_remove_bank.json
new file mode 100644
index 0000000..827884f
--- /dev/null
+++ b/packageD/quickPay/member_remove_bank/member_remove_bank.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "解绑银行卡",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/quickPay/member_remove_bank/member_remove_bank.wxml b/packageD/quickPay/member_remove_bank/member_remove_bank.wxml
new file mode 100644
index 0000000..11192e9
--- /dev/null
+++ b/packageD/quickPay/member_remove_bank/member_remove_bank.wxml
@@ -0,0 +1,24 @@
+
+
+
+
+ 输入验证码
+ 已向手机{{substr.subPhone(member_phone)}}发送短信
+ 解绑银行卡需要短信确认
+
+ 确认解绑
+
+
diff --git a/packageD/quickPay/member_remove_bank/member_remove_bank.wxss b/packageD/quickPay/member_remove_bank/member_remove_bank.wxss
new file mode 100644
index 0000000..f61d82e
--- /dev/null
+++ b/packageD/quickPay/member_remove_bank/member_remove_bank.wxss
@@ -0,0 +1,74 @@
+#remove-bank-wrap {
+ height: 100vh;
+ background-color: #fff;
+ }
+
+ #remove-bank-wrap .content {
+ padding-top: 32rpx;
+ }
+
+ #remove-bank-wrap .content ul li {
+ padding: 36rpx 24rpx;
+ border-bottom: solid 1.0016px #f1f1f1;
+ display: flex;
+ align-items: center;
+ }
+
+ #remove-bank-wrap .content ul li input {
+ border: none;
+ outline: none;
+ font-size: 12px;
+ flex: 1;
+ margin-left: 24rpx;
+ }
+
+ #remove-bank-wrap .content ul .second {
+ justify-content: space-between;
+ }
+
+ #remove-bank-wrap .content .getcodeClass {
+ display: inline-block;
+ height: 50rpx;
+ line-height: 50rpx;
+ background-color: #f54242;
+ color: #fff;
+ border-radius: 8rpx;
+ padding: 0 10rpx;
+ font-size: 24rpx;
+ }
+
+ #remove-bank-wrap .content ul .second .getCode {
+ color: #ff2c29;
+ font-size: 12px;
+ }
+
+ #remove-bank-wrap .content .bank-btn {
+ width: 600rpx;
+ height: 92rpx;
+ background-color: #ff2c29;
+ border-radius: 18rpx;
+ font-size: 16px;
+ margin: 0 auto;
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 32rpx;
+ }
+
+ #remove-bank-wrap .content ul .second .right {
+ background-color: #ebebeb;
+ color: #f15353;
+ font-size: 24rpx;
+ border-radius: 60rpx;
+ padding: 0 20rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ width: 200rpx;
+ }
+
+ #remove-bank-wrap .content ul .second .disabled {
+ background-color: #ccc;
+ color: #f0f0f0 !important;
+ }
+
\ No newline at end of file
diff --git a/packageD/quickPay/quick_index/quick_index.js b/packageD/quickPay/quick_index/quick_index.js
new file mode 100644
index 0000000..be27be5
--- /dev/null
+++ b/packageD/quickPay/quick_index/quick_index.js
@@ -0,0 +1,106 @@
+// packageD/quickPay/quick_index/quick_index.js
+let app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ member: {},
+ payment_status: '0',
+ quick_pay: '0'
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ gotoLove() {
+ wx.navigateTo({
+ url: '/packageA/others/HJinfo/bankcardin/bankcardin'
+ });
+ },
+ toShaky() {
+ wx.navigateTo({
+ url: '/packageD/quickPay/member_choose_bank/member_choose_bank'
+ });
+ },
+ getData(){
+ let that = this;
+ let urlStr = app.getNetAddresss("plugin.converge_pay.frontend.controllers.home.index");
+ app._getNetWork({
+ url: urlStr,
+ showToastIn: false,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ member:res.data.member,
+ quick_pay: res.data.quick_pay,
+ payment_status: res.data.payment_status
+ });
+ } else {
+ wx.showToast({
+ icon: 'none',
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/packageD/quickPay/quick_index/quick_index.json b/packageD/quickPay/quick_index/quick_index.json
new file mode 100644
index 0000000..d23dd73
--- /dev/null
+++ b/packageD/quickPay/quick_index/quick_index.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "汇聚支付",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/quickPay/quick_index/quick_index.wxml b/packageD/quickPay/quick_index/quick_index.wxml
new file mode 100644
index 0000000..f42d2b3
--- /dev/null
+++ b/packageD/quickPay/quick_index/quick_index.wxml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+ 快捷支付
+
+
+
+
+
+ 提现产品
+
+
+
+
+
\ No newline at end of file
diff --git a/packageD/quickPay/quick_index/quick_index.wxss b/packageD/quickPay/quick_index/quick_index.wxss
new file mode 100644
index 0000000..8e79aeb
--- /dev/null
+++ b/packageD/quickPay/quick_index/quick_index.wxss
@@ -0,0 +1,125 @@
+#quick_index #content .header {
+ height: auto;
+ background: #f15353;
+ background-size: 100% 100%;
+ padding: 40rpx;
+ position: relative;
+}
+
+#quick_index #content .header .user {
+ display: flex;
+ text-align: center;
+ align-items: center;
+}
+
+#quick_index #content .header .user .activities-name {
+ text-align: left;
+ flex: 2;
+ margin-left: 20rpx;
+ line-height: 60rpx;
+ color: #fff;
+ font-weight: bold;
+ font-size: 18px;
+}
+
+#quick_index #content .header .user .activities-name .user-info {
+ color: #fff;
+}
+
+#quick_index #content .header .user.activities-name .user-info .user-name {
+ width: auto;
+ font-size: 14px;
+}
+
+#quick_index #content .header .user.activities-name .user-info .user-name .b-activities {
+ color: #fff;
+}
+
+#quick_index #content .header .user .user-head {
+ height: 128rpx;
+ width: 128rpx;
+ background: #fff;
+ border-radius: 50%;
+ border: 4rpx solid #fff;
+ box-sizing: border-box;
+ float: left;
+ overflow: hidden;
+}
+
+#quick_index #content .header .user .user-head image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+#quick_index #content .header .user-gold {
+ height: 70rpx;
+ width: 94%;
+ padding: 10rpx 3%;
+ border-bottom: 2rpx solid #f5f3f3;
+ background: #fff;
+ font-size: 12px;
+ line-height: 70rpx;
+}
+
+#quick_index #content .header .user-gold .title {
+ height: 70rpx;
+ width: auto;
+ float: left;
+ color: #666;
+}
+
+#quick_index #content .header .user-gold .num {
+ height: 70rpx;
+ width: auto;
+ float: left;
+ color: #f90;
+}
+
+#quick_index #content .header .user-gold .draw {
+ width: 160rpx;
+ height: 60rpx;
+ background: #6c9;
+ float: right;
+}
+
+#quick_index #content .header .user-op {
+ height: 70rpx;
+ width: 94%;
+ padding: 10rpx 3%;
+ border-bottom: 2rpx solid #f5f3f3;
+ background: #fff;
+ font-size: 12px;
+ line-height: 70rpx;
+}
+
+#quick_index #content .cart {
+ height: auto;
+ width: 100%;
+ background: #fff;
+}
+
+#quick_index #content .cart .list1 {
+ height: 88rpx;
+ background: #fff;
+ padding-right: 28rpx;
+ margin-left: 28rpx;
+ border-top: 2rpx solid #ebebeb;
+ font-size: 16px;
+ line-height: 88rpx;
+ color: #333;
+ text-align: left;
+ display: flex;
+}
+
+#quick_index #content .cart .list1 .fa-angle-right {
+ float: right;
+ line-height: 88rpx;
+ display: inline-block;
+ font-size: 48rpx;
+ color: #c9c9c9;
+ text-align: center;
+ background-size: 40rpx;
+ position: absolute;
+ right: 28rpx;
+}
diff --git a/packageD/star/star.js b/packageD/star/star.js
new file mode 100644
index 0000000..2910d7c
--- /dev/null
+++ b/packageD/star/star.js
@@ -0,0 +1,64 @@
+Component({
+ properties: {
+ score: {
+ type: null
+ },
+ },
+ data: {
+ itemClassesData: []
+ }, // 私有数据,可用于模板渲染
+
+ lifetimes: {
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {
+ let itemClassesData = this.itemClasses();
+ this.setData({
+ itemClassesData:itemClassesData
+ });
+ },
+ moved() {},
+ detached() {},
+ },
+
+ // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
+ attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
+ ready() {
+
+ },
+
+ pageLifetimes: {
+ // 组件所在页面的生命周期函数
+ show() {},
+ hide() {},
+ resize() {},
+ },
+
+ methods: {
+ itemClasses() {
+ let result = [];
+ let lengths = 5;
+ let score = Math.floor(this.data.score * 2) / 2; //例如:把分数处理成在4.5以上及4.5就变成向上取整5,在4.5以下就变成4.5
+ //是否需要半星
+ let starhalf = score % 1 != 0 ? true : false;
+ //几颗全星
+ let fullstar = Math.floor(score);
+ for (var i = 0; i < fullstar; i++) { //放全星
+ result.push('');
+ }
+ if (starhalf) { //放半星
+ result.push('half');
+ }
+ if (result.length < lengths) { //如果没有满到五个星就用灰色的星星补齐
+ var offstar = lengths - result.length;
+ for (var j = 0; j < offstar; j++) {
+ result.push('zo');
+ }
+ }
+ if (this.score <= 0.5) {
+ result = ['', '', '', '', ''];
+ }
+ return result;
+ }
+ }
+
+});
diff --git a/packageD/star/star.json b/packageD/star/star.json
new file mode 100644
index 0000000..0ccecca
--- /dev/null
+++ b/packageD/star/star.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/packageD/star/star.wxml b/packageD/star/star.wxml
new file mode 100644
index 0000000..14e9f0a
--- /dev/null
+++ b/packageD/star/star.wxml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/packageD/star/star.wxss b/packageD/star/star.wxss
new file mode 100644
index 0000000..8f733f8
--- /dev/null
+++ b/packageD/star/star.wxss
@@ -0,0 +1,30 @@
+/* pages/star/star.wxss */
+.a8v .a8d {
+ height: 24rpx;
+ padding-top: 4rpx;
+ overflow: hidden;
+ position: relative;
+}
+
+.a8d .a79 {
+ font-size: 0;
+}
+
+.a8d .a79 .i {
+ display: inline-block;
+ width: 20rpx;
+ height: 20rpx;
+ background-position: 0 0;
+ background-image: url('http://static-o2o.360buyimg.com/daojia/new/images/icon/newStar.png');
+ background-repeat: no-repeat;
+ background-size: auto 20rpx;
+ margin-right: 2rpx;
+}
+
+.a8d .a79 .i.half {
+ /* background-position: -40rpx 0; */
+}
+
+.a8d .a79 .i.zo {
+ /* background-position: -82rpx 0; */
+}
diff --git a/packageD/teamSales/salesManagement/salesManagement.js b/packageD/teamSales/salesManagement/salesManagement.js
new file mode 100644
index 0000000..515917d
--- /dev/null
+++ b/packageD/teamSales/salesManagement/salesManagement.js
@@ -0,0 +1,317 @@
+// packageD/teamSales/sales_management/sales_management.js
+let app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ active: 0,
+ date: "",
+ fieldsType: "month",
+ dateBol: true,
+ datestr: "",
+ date_2: "",
+ fieldsType_2: "month",
+ dateBol_2: true,
+ datestr_2: "",
+ time_types: 1,
+ year: "",
+ month: "",
+ year_2: "",
+ month_2: "",
+ time_types_2: 1,
+ datas: "",
+ page: 1, //分页数,当前页数
+ isLoadMore: true, //判断是否要加载更多的标志
+ total_page: 0, //总页数
+ sales_type: "commonly",
+ month_sales: "",
+ year_sales: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ year: String(new Date().getFullYear()),
+ month: this.data.month
+ ? this.data.month
+ : String(
+ new Date().getMonth() + 1 > 9
+ ? new Date().getMonth() + 1
+ : "0" + String(new Date().getMonth() + 1)
+ ),
+ year_2: String(new Date().getFullYear()),
+ month_2: this.data.month
+ ? this.data.month
+ : String(
+ new Date().getMonth() + 1 > 9
+ ? new Date().getMonth() + 1
+ : "0" + String(new Date().getMonth() + 1)
+ ),
+ });
+ this.getData();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ if (this.data.sales_type == "subordinate") {
+ if (this.data.isLoadMore) {
+ this._getMoreData(this.data.page);
+ } else {
+ console.log("没有更多数据");
+ }
+ }
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {},
+ _getMoreData() {
+ let that = this;
+ this.data.isLoadMore = false; // 防止多次请求分页数据
+ if (that.data.page >= that.data.total_page) {
+ return;
+ } else {
+ that.data.page += 1;
+ let json = {};
+ json.year_2 = this.data.year_2;
+ json.page = this.data.page;
+ if (this.data.time_types_2 == 1) {
+ json.time_types_2 = 1;
+ json.month_2 = this.data.month_2;
+ } else if (this.data.time_types_2 == 2) {
+ json.time_types_2 = 2;
+ }
+ let urlStr = app.getNetAddresss(
+ "plugin.goods-sales.frontend.controllers.list.index"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ var nextPageData = res.data.subordinate.data;
+ that.setData({
+ datas: that.data.datas.concat(nextPageData),
+ });
+ } else {
+ that.data.page = that.page - 1;
+ that.data.isLoadMore = false;
+ return;
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ }
+ },
+ bindDateChange: function (e) {
+ console.log("picker发送选择改变,携带值为", e.detail.value);
+ let val = e.detail.value;
+ let str = "";
+ if (val) {
+ str = val.split("-");
+ if (str[1]) {
+ this.setData({
+ year_2: str[0],
+ month_2: str[1],
+ });
+ str = str[0] + "年" + str[1] + "月";
+ } else {
+ this.setData({
+ year_2: str[0],
+ });
+ str = str[0] + "年";
+ }
+ this.getnext();
+ this.setData({
+ datestr: str,
+ });
+ }
+ },
+ dateBtn(e) {
+ let datetype = e.currentTarget.dataset.datetype;
+ this.setData({
+ fieldsType: datetype,
+ });
+ if (datetype == "year") {
+ this.setData({
+ dateBol: false,
+ time_types_2: 2,
+ });
+ } else {
+ this.setData({
+ dateBol: true,
+ time_types_2: 1,
+ });
+ }
+ this.getnext();
+ },
+ bindDateChange_2: function (e) {
+ console.log("picker发送选择改变,携带值为", e.detail.value);
+ let val = e.detail.value;
+ let str = "";
+ if (val) {
+ str = val.split("-");
+ if (str[1]) {
+ this.setData({
+ year: str[0],
+ month: str[1],
+ });
+ str = str[0] + "年" + str[1] + "月";
+ } else {
+ this.setData({
+ year: str[0],
+ });
+ str = str[0] + "年";
+ }
+ this.setData({
+ datestr_2: str,
+ });
+ this.getData();
+ }
+ },
+ dateBtn_2(e) {
+ let datetype = e.currentTarget.dataset.datetype;
+ this.setData({
+ fieldsType_2: datetype,
+ });
+ if (datetype == "year") {
+ this.setData({
+ dateBol_2: false,
+ time_types: 2,
+ });
+ } else {
+ this.setData({
+ dateBol_2: true,
+ time_types: 1,
+ });
+ }
+ this.getData();
+ },
+ getData() {
+ let that = this;
+ let json = {};
+ if (this.data.time_types == 1) {
+ json.time_types = 1;
+ json.year = this.data.year;
+ json.month = this.data.month;
+ } else if (this.data.time_types == 2) {
+ json.time_types = 2;
+ json.year = this.data.year;
+ }
+ let urlStr = app.getNetAddresss(
+ "plugin.goods-sales.frontend.controllers.list.index"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.setData({
+ month_sales: res.data.month_sales,
+ year_sales: res.data.year_sales,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+ onChange(e) {
+ let index = e.detail.index;
+ if (index == 1) {
+ this.data.sales_type = "subordinate";
+ this.getnext();
+ } else {
+ this.data.sales_type = "commonly";
+ this.getData();
+ }
+ },
+ //获取下级数据
+ getnext() {
+ let that = this;
+ let json = {};
+ this.data.isLoadMore = true; //判断是否要加载更多的标志
+ this.data.total_page = 0; //总页数
+ json.year_2 = this.data.year_2;
+ json.page = this.data.page;
+ if (this.data.time_types_2 == 1) {
+ json.time_types_2 = 1;
+ json.month_2 = this.data.month_2;
+ } else if (this.data.time_types_2 == 2) {
+ json.time_types_2 = 2;
+ }
+ let urlStr = app.getNetAddresss(
+ "plugin.goods-sales.frontend.controllers.list.index"
+ );
+ app._postNetWork({
+ url: urlStr,
+ showToastIn: false,
+ data: json,
+ success: function (resdata) {
+ var res = resdata.data;
+ if (res.result == 1) {
+ that.data.total_page = res.data.subordinate.last_page;
+ if (!that.data.total_page) {
+ that.data.total_page = 0;
+ }
+ that.setData({
+ datas: res.data.subordinate.data,
+ });
+ } else {
+ wx.showToast({
+ icon: "none",
+ title: res.msg,
+ duration: 1500,
+ });
+ }
+ },
+ fail: function (res) {
+ console.log(res.msg);
+ },
+ });
+ },
+});
diff --git a/packageD/teamSales/salesManagement/salesManagement.json b/packageD/teamSales/salesManagement/salesManagement.json
new file mode 100644
index 0000000..61d30b0
--- /dev/null
+++ b/packageD/teamSales/salesManagement/salesManagement.json
@@ -0,0 +1,8 @@
+{
+ "usingComponents": {
+ "van-tab": "../../../dist/tab/index",
+ "van-tabs": "../../../dist/tabs/index",
+ "van-icon": "../../../dist/icon/index"
+ },
+ "navigationBarTitleText": "团队销量管理"
+}
diff --git a/packageD/teamSales/salesManagement/salesManagement.wxml b/packageD/teamSales/salesManagement/salesManagement.wxml
new file mode 100644
index 0000000..7d5da99
--- /dev/null
+++ b/packageD/teamSales/salesManagement/salesManagement.wxml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+ 按月
+ 按年
+
+
+
+ {{datestr_2?datestr_2:'请选择时间'}}
+
+
+
+
+
+
+
+ {{month_sales}}
+ {{month}}月销量
+
+
+ {{year_sales}}
+ {{year}}销量
+
+
+
+
+ {{month_sales}}
+ 01月销量
+
+
+ {{year_sales}}
+ {{year}}销量
+
+
+
+
+
+
+
+
+
+ 按月
+ 按年
+
+
+
+ {{datestr?datestr:'请选择时间'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ID:{{item.uid}}
+ {{item.has_one_level.level_name}}
+
+
+ {{item.has_one_member.nickname}}
+
+
+
+
+
+ {{month_2}}月销量
+ {{item.month_sales}}
+
+
+ {{year_2}}年销量
+ {{item.year_sales}}
+
+
+
+
+ 1月销量
+ {{item.month_sales}}
+
+
+ {{year_2}}年销量
+ {{item.year_sales}}
+
+
+
+
+
+
+ 暂无下级!
+
+
+
+
+
+
+
diff --git a/packageD/teamSales/salesManagement/salesManagement.wxss b/packageD/teamSales/salesManagement/salesManagement.wxss
new file mode 100644
index 0000000..aef59f5
--- /dev/null
+++ b/packageD/teamSales/salesManagement/salesManagement.wxss
@@ -0,0 +1,277 @@
+/* packageD/teamSales/sales_management/sales_management.wxss */
+.dealer_enquiry {
+ margin-top: 20rpx;
+ background-color: #fff;
+ min-height: 1090rpx;
+ padding-left: 34rpx;
+ padding-right: 34rpx;
+}
+
+.dealer_enquiry .dealer_enquiry_top {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 19rpx;
+}
+
+.dealer_enquiry .dealer_enquiry_top .date_btn {
+ width: 162rpx;
+ height: 40rpx;
+ background-color: #fff;
+ border-radius: 20rpx;
+ border: solid 1rpx #d9d9d9;
+ display: flex;
+ align-items: center;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.dealer_enquiry .dealer_enquiry_top .date_btn .left {
+ flex: 1;
+ border-bottom-left-radius: 20rpx;
+ border-top-left-radius: 20rpx;
+}
+
+.dealer_enquiry .dealer_enquiry_top .date_btn .right {
+ flex: 1;
+ border-bottom-right-radius: 20rpx;
+ border-top-right-radius: 20rpx;
+}
+
+.dealer_enquiry .dealer_enquiry_top .date_btn .active {
+ background-color: #f00;
+ color: #fff;
+}
+
+.dealer_enquiry .dealer_enquiry_top .date_select {
+ display: flex;
+ align-items: center;
+}
+
+.dealer_enquiry .dealer_enquiry_top .date_select .date {
+ margin-right: 10rpx;
+}
+
+.dealer_enquiry .dealer_enquiry_top .date_select van-icon {
+ display: flex;
+ align-items: center;
+}
+
+.dealer_enquiry .dealer_enquiry_bottom {
+ padding-top: 56rpx;
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
+}
+
+.dealer_enquiry .dealer_enquiry_bottom .li {
+ width: 315rpx;
+ height: 178rpx;
+ background-color: #fff;
+ box-shadow: 0rpx 0rpx 21rpx 0rpx rgba(0, 0, 0, 0.06);
+ border-radius: 10rpx;
+ margin-bottom: 30rpx;
+}
+
+.dealer_enquiry .dealer_enquiry_bottom .li .top {
+ font-size: 32rpx;
+ line-height: 50rpx;
+ color: #f00;
+ padding-left: 23rpx;
+ padding-top: 30rpx;
+ padding-bottom: 6rpx;
+}
+
+.dealer_enquiry .dealer_enquiry_bottom .li .bottom {
+ font-size: 28rpx;
+ line-height: 50rpx;
+ color: #666;
+ padding-left: 23rpx;
+}
+
+/* .subordinate_inquiries {} */
+
+.subordinate_inquiries {
+ margin-top: 20rpx;
+ background-color: #fff;
+ min-height: 1090rpx;
+ padding-left: 34rpx;
+ padding-right: 34rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_top {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 19rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_top .date_btn {
+ width: 162rpx;
+ height: 40rpx;
+ background-color: #fff;
+ border-radius: 20rpx;
+ border: solid 1rpx #d9d9d9;
+ display: flex;
+ align-items: center;
+ text-align: center;
+ font-size: 24rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_top .date_btn .left {
+ flex: 1;
+ border-bottom-left-radius: 20rpx;
+ border-top-left-radius: 20rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_top .date_btn .right {
+ flex: 1;
+ border-bottom-right-radius: 20rpx;
+ border-top-right-radius: 20rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_top .date_btn .active {
+ background-color: #f00;
+ color: #fff;
+}
+
+.subordinate_inquiries .subordinate_inquiries_top .date_select {
+ display: flex;
+ align-items: center;
+}
+
+.subordinate_inquiries .subordinate_inquiries_top .date_select .date {
+ margin-right: 10rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_top .date_select van-icon {
+ display: flex;
+ align-items: center;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom {
+ padding-left: 6rpx;
+ padding-right: 6rpx;
+ padding-top: 41rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li {
+ border-bottom: 1px solid #f2f2f7;
+ display: flex;
+ padding-top: 33rpx;
+ padding-bottom: 32rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .left {
+ display: flex;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .left .pic_show {
+ width: 86rpx;
+ height: 86rpx;
+ border-radius: 50%;
+ margin-right: 15rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .left .pic_show image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .left .user_message {
+ width: 210rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .left .user_message .user_top {
+ display: flex;
+ align-items: center;
+ margin-bottom: 15rpx;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .left .user_message .user_top .user_id {
+ font-size: 24rpx;
+ line-height: 28rpx;
+ color: #666;
+ margin-right: 9rpx;
+ max-width: 100rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .left .user_message .user_top .user_grade {
+ padding-left: 7rpx;
+ padding-right: 7rpx;
+ height: 28rpx;
+ background-color: #f00;
+ border-radius: 14rpx;
+ font-size: 24rpx;
+ line-height: 28rpx;
+ color: #fff;
+ max-width: 100rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .left .user_message .user_bottom {
+ font-size: 28rpx;
+ color: #000;
+ width: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .center {
+ width: 183rpx;
+ text-align: center;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .center .top {
+ font-size: 24rpx;
+ line-height: 28rpx;
+ color: #666;
+ padding-bottom: 25rpx;
+ width: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .center .bottom {
+ font-size: 28rpx;
+ line-height: 28rpx;
+ color: #000;
+ width: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .right {
+ flex: 1;
+ text-align: center;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .right .top {
+ font-size: 24rpx;
+ line-height: 28rpx;
+ color: #666;
+ padding-bottom: 25rpx;
+ width: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.subordinate_inquiries .subordinate_inquiries_bottom .li .right .bottom {
+ font-size: 28rpx;
+ line-height: 28rpx;
+ color: #000;
+ width: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
diff --git a/packageD/tim-wx-sdk/tim-wx.js b/packageD/tim-wx-sdk/tim-wx.js
new file mode 100644
index 0000000..252dac8
--- /dev/null
+++ b/packageD/tim-wx-sdk/tim-wx.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).TIM=t();}(this,(function(){var e={SDK_READY:"sdkStateReady",SDK_NOT_READY:"sdkStateNotReady",SDK_DESTROY:"sdkDestroy",MESSAGE_RECEIVED:"onMessageReceived",MESSAGE_REVOKED:"onMessageRevoked",CONVERSATION_LIST_UPDATED:"onConversationListUpdated",GROUP_LIST_UPDATED:"onGroupListUpdated",GROUP_SYSTEM_NOTICE_RECEIVED:"receiveGroupSystemNotice",PROFILE_UPDATED:"onProfileUpdated",BLACKLIST_UPDATED:"blacklistUpdated",KICKED_OUT:"kickedOut",ERROR:"error"},t={MSG_TEXT:"TIMTextElem",MSG_IMAGE:"TIMImageElem",MSG_SOUND:"TIMSoundElem",MSG_AUDIO:"TIMSoundElem",MSG_FILE:"TIMFileElem",MSG_FACE:"TIMFaceElem",MSG_VIDEO:"TIMVideoFileElem",MSG_GEO:"TIMLocationElem",MSG_GRP_TIP:"TIMGroupTipElem",MSG_GRP_SYS_NOTICE:"TIMGroupSystemNoticeElem",MSG_CUSTOM:"TIMCustomElem",MSG_PRIORITY_HIGH:"High",MSG_PRIORITY_NORMAL:"Normal",MSG_PRIORITY_LOW:"Low",MSG_PRIORITY_LOWEST:"Lowest",CONV_C2C:"C2C",CONV_GROUP:"GROUP",CONV_SYSTEM:"@TIM#SYSTEM",GRP_PRIVATE:"Private",GRP_PUBLIC:"Public",GRP_CHATROOM:"ChatRoom",GRP_AVCHATROOM:"AVChatRoom",GRP_MBR_ROLE_OWNER:"Owner",GRP_MBR_ROLE_ADMIN:"Admin",GRP_MBR_ROLE_MEMBER:"Member",GRP_TIP_MBR_JOIN:1,GRP_TIP_MBR_QUIT:2,GRP_TIP_MBR_KICKED_OUT:3,GRP_TIP_MBR_SET_ADMIN:4,GRP_TIP_MBR_CANCELED_ADMIN:5,GRP_TIP_GRP_PROFILE_UPDATED:6,GRP_TIP_MBR_PROFILE_UPDATED:7,MSG_REMIND_ACPT_AND_NOTE:"AcceptAndNotify",MSG_REMIND_ACPT_NOT_NOTE:"AcceptNotNotify",MSG_REMIND_DISCARD:"Discard",GENDER_UNKNOWN:"Gender_Type_Unknown",GENDER_FEMALE:"Gender_Type_Female",GENDER_MALE:"Gender_Type_Male",KICKED_OUT_MULT_ACCOUNT:"mutipleAccount",KICKED_OUT_MULT_DEVICE:"mutipleDevice",KICKED_OUT_USERSIG_EXPIRED:"userSigExpired",ALLOW_TYPE_ALLOW_ANY:"AllowType_Type_AllowAny",ALLOW_TYPE_NEED_CONFIRM:"AllowType_Type_NeedConfirm",ALLOW_TYPE_DENY_ANY:"AllowType_Type_DenyAny",FORBID_TYPE_NONE:"AdminForbid_Type_None",FORBID_TYPE_SEND_OUT:"AdminForbid_Type_SendOut",JOIN_OPTIONS_FREE_ACCESS:"FreeAccess",JOIN_OPTIONS_NEED_PERMISSION:"NeedPermission",JOIN_OPTIONS_DISABLE_APPLY:"DisableApply",JOIN_STATUS_SUCCESS:"JoinedSuccess",JOIN_STATUS_ALREADY_IN_GROUP:"AlreadyInGroup",JOIN_STATUS_WAIT_APPROVAL:"WaitAdminApproval",GRP_PROFILE_OWNER_ID:"ownerID",GRP_PROFILE_CREATE_TIME:"createTime",GRP_PROFILE_LAST_INFO_TIME:"lastInfoTime",GRP_PROFILE_MEMBER_NUM:"memberNum",GRP_PROFILE_MAX_MEMBER_NUM:"maxMemberNum",GRP_PROFILE_JOIN_OPTION:"joinOption",GRP_PROFILE_INTRODUCTION:"introduction",GRP_PROFILE_NOTIFICATION:"notification"};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e;}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e;})(e);}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function");}function o(e,t){for(var n=0;n0)return this.middlewares.shift().call(this,this.options,this.next.bind(this));}},{key:"run",value:function(e){return this.middlewares=this.cache.map((function(e){return e;})),this.options=e,this.next();}}]),e;}(),M="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function C(e,t){return e(t={exports:{}},t.exports),t.exports;}var I,S,D,k=C((function(e,t){var n,r,o,i,s,a,u,c,l,p,h,f,g,d,m,y,v,_;e.exports=(n="function"==typeof Promise,r="object"==typeof self?self:M,o="undefined"!=typeof Symbol,i="undefined"!=typeof Map,s="undefined"!=typeof Set,a="undefined"!=typeof WeakMap,u="undefined"!=typeof WeakSet,c="undefined"!=typeof DataView,l=o&&void 0!==Symbol.iterator,p=o&&void 0!==Symbol.toStringTag,h=s&&"function"==typeof Set.prototype.entries,f=i&&"function"==typeof Map.prototype.entries,g=h&&Object.getPrototypeOf((new Set).entries()),d=f&&Object.getPrototypeOf((new Map).entries()),m=l&&"function"==typeof Array.prototype[Symbol.iterator],y=m&&Object.getPrototypeOf([][Symbol.iterator]()),v=l&&"function"==typeof String.prototype[Symbol.iterator],_=v&&Object.getPrototypeOf(""[Symbol.iterator]()),function(e){var t=typeof e;if("object"!==t)return t;if(null===e)return"null";if(e===r)return"global";if(Array.isArray(e)&&(!1===p||!(Symbol.toStringTag in e)))return"Array";if("object"==typeof window&&null!==window){if("object"==typeof window.location&&e===window.location)return"Location";if("object"==typeof window.document&&e===window.document)return"Document";if("object"==typeof window.navigator){if("object"==typeof window.navigator.mimeTypes&&e===window.navigator.mimeTypes)return"MimeTypeArray";if("object"==typeof window.navigator.plugins&&e===window.navigator.plugins)return"PluginArray";}if(("function"==typeof window.HTMLElement||"object"==typeof window.HTMLElement)&&e instanceof window.HTMLElement){if("BLOCKQUOTE"===e.tagName)return"HTMLQuoteElement";if("TD"===e.tagName)return"HTMLTableDataCellElement";if("TH"===e.tagName)return"HTMLTableHeaderCellElement";}}var o=p&&e[Symbol.toStringTag];if("string"==typeof o)return o;var l=Object.getPrototypeOf(e);return l===RegExp.prototype?"RegExp":l===Date.prototype?"Date":n&&l===Promise.prototype?"Promise":s&&l===Set.prototype?"Set":i&&l===Map.prototype?"Map":u&&l===WeakSet.prototype?"WeakSet":a&&l===WeakMap.prototype?"WeakMap":c&&l===DataView.prototype?"DataView":i&&l===d?"Map Iterator":s&&l===g?"Set Iterator":m&&l===y?"Array Iterator":v&&l===_?"String Iterator":null===l?"Object":Object.prototype.toString.call(e).slice(8,-1);});})),T="undefined"!=typeof window,E="undefined"!=typeof wx&&"function"==typeof wx.getSystemInfoSync&&"function"==typeof wx.canIUse,w=T&&window.navigator&&window.navigator.userAgent||"",A=/AppleWebKit\/([\d.]+)/i.exec(w),R=(A&&parseFloat(A.pop()),/iPad/i.test(w)),L=(/iPhone/i.test(w),/iPod/i.test(w),(I=w.match(/OS (\d+)_/i))&&I[1]&&I[1],/Android/i.test(w)),P=function(){var e=w.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(!e)return null;var t=e[1]&&parseFloat(e[1]),n=e[2]&&parseFloat(e[2]);return t&&n?parseFloat(e[1]+"."+e[2]):t||null;}(),b=(L&&/webkit/i.test(w),/Firefox/i.test(w),/Edge/i.test(w)),O=!b&&/Chrome/i.test(w),N=(function(){var e=w.match(/Chrome\/(\d+)/);e&&e[1]&&parseFloat(e[1]);}(),/MSIE/.test(w)),G=(/MSIE\s8\.0/.test(w),function(){var e=/MSIE\s(\d+)\.\d/.exec(w),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(w)&&/rv:11.0/.test(w)&&(t=11),t;}()),U=(/Safari/i.test(w),/TBS\/\d+/i.test(w)),q=(function(){var e=w.match(/TBS\/(\d+)/i);if(e&&e[1])e[1];}(),!U&&/MQQBrowser\/\d+/i.test(w),!U&&/ QQBrowser\/\d+/i.test(w),/(micromessenger|webbrowser)/i.test(w)),x=(/Windows/i.test(w),/MAC OS X/i.test(w),/MicroMessenger/i.test(w),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});S="undefined"!=typeof console?console:void 0!==x&&x.console?x.console:"undefined"!=typeof window&&window.console?window.console:{};for(var F=function(){},H=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],B=H.length;B--;)D=H[B],console[D]||(S[D]=F);S.methods=H;var K=S,V=0,j=function(){if(E){var e=wx.getSystemInfoSync().SDKVersion;if(void 0===e||void 0===wx.getLogManager)return!1;if(function(e,t){e=e.split("."),t=t.split(".");var n=Math.max(e.length,t.length);for(;e.lengthi)return 1;if(o=0)return wx.getLogManager().log("I can use wx log. SDKVersion="+e),!0;}return!1;}(),$=new Map;function Y(){var e=new Date;return"TIM "+e.toLocaleTimeString("en-US",{hour12:!1})+"."+function(e){var t;switch(e.toString().length){case 1:t="00"+e;break;case 2:t="0"+e;break;default:t=e;}return t;}(e.getMilliseconds())+":";}var z={_data:[],_length:0,_visible:!1,arguments2String:function(e){var t;if(1===e.length)t=Y()+e[0];else{t=Y();for(var n=0,r=e.length;n4294967295?(ae+=4294967295,Date.now()-ae):e;},utc:function(){return Math.round(Date.now()/1e3);}},ce=function e(t,n,r,o){if(!ne(t)||!ne(n))return 0;for(var i,s=0,a=Object.keys(n),u=0,c=a.length;u-10?"+0"+Math.abs(100*n):"+"+Math.abs(100*n):n>=10?"-"+100*n:"-0"+100*n,t.replace("Z",r);},he=function(e){if(0===e.length)return 0;for(var t=0,n=0,r="undefined"!=typeof document&&void 0!==document.characterSet?document.characterSet:"UTF-8";void 0!==e[t];)n+=e[t++].charCodeAt[t]<=255?1:!1===r?3:2;return n;},fe=function(e){var t=e||99999999;return Math.round(Math.random()*t);},ge="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",de=ge.length,me=function(e,t){for(var n in e)if(e[n]===t)return!0;return!1;},ye={},ve=function(){if(E)return"https:";var e=window.location.protocol;return["http:","https:"].indexOf(e)<0&&(e="http:"),e;},_e=function(e){return-1===e.indexOf("http://")||-1===e.indexOf("https://")?"https://"+e:e.replace(/https|http/,"https");};function Me(e,t){ee(e)&&ee(t)?t.forEach((function(t){var n=t.key,r=t.value,o=e.find((function(e){return e.key===n;}));o?o.value=r:e.push({key:n,value:r});})):z.warn("updateCustomField target 或 source 不是数组,忽略此次更新。");}var Ce=function(e){return e===t.GRP_PUBLIC;},Ie=function(e){return e===t.GRP_AVCHATROOM;},Se=function(e){return J(e)&&e===t.CONV_SYSTEM;};function De(e,t){var n={};return Object.keys(e).forEach((function(r){n[r]=t(e[r],r);})),n;}var ke=Object.prototype.hasOwnProperty;function Te(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e)return 0===e.length;if("function"==typeof e)return 0===e.length;if(Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(Z(e)){for(var t in e)if(ke.call(e,t))return!1;return!0;}return!("map"!==ie(e)&&!function(e){return"set"===ie(e);}(e)&&!W(e))&&0===e.size;}function Ee(e,t,n){if(void 0===t)return!0;var r=!0;if("object"===k(t).toLowerCase())Object.keys(t).forEach((function(o){var i=1===e.length?e[0][o]:void 0;r=!!we(i,t[o],n,o)&&r;}));else if("array"===k(t).toLowerCase())for(var o=0;o=0;)r=void 0===e||void 0===e[t]?{type:0,size:0,width:0,height:0,url:""}:e[t],(n=new this._ImageInfoModel(r)).setSizeType(t+1),this.addImageInfo(n),t--;}},{key:"updateImageInfoArray",value:function(e){for(var t,n=this.content.imageInfoArray.length,r=0;r1&&(this._percent=1);}},{key:"updateImageFormat",value:function(e){this.content.imageFormat=e;}},{key:"createImageDataASURLInWeb",value:function(e){void 0!==e&&e.files.length>0&&(this._imageMemoryURL=window.URL.createObjectURL(e.files[0]));}},{key:"createImageDataASURLInWXMiniApp",value:function(e){e&&e.url&&(this._imageMemoryURL=e.url);}},{key:"replaceImageInfo",value:function(e,t){this.content.imageInfoArray[t]instanceof this._ImageInfoModel||(this.content.imageInfoArray[t]=e);}},{key:"addImageInfo",value:function(e){this.content.imageInfoArray.length>=3||this.content.imageInfoArray.push(e);}},{key:"sendable",value:function(){return 0!==this.content.imageInfoArray.length&&(""!==this.content.imageInfoArray[0].imageUrl&&0!==this.content.imageInfoArray[0].size);}}]),e;}(),rt=function(){function e(n){r(this,e),this.type=t.MSG_FACE,this.content=n||null;}return i(e,[{key:"sendable",value:function(){return null!==this.content;}}]),e;}(),ot=function(){function e(n){r(this,e),this.type=t.MSG_AUDIO,this._percent=0,this.content={downloadFlag:2,second:n.second,size:n.size,url:n.url,remoteAudioUrl:"",uuid:n.uuid};}return i(e,[{key:"updatePercent",value:function(e){this._percent=e,this._percent>1&&(this._percent=1);}},{key:"updateAudioUrl",value:function(e){this.content.remoteAudioUrl=e;}},{key:"sendable",value:function(){return""!==this.content.remoteAudioUrl;}}]),e;}(),it={from:!0,groupID:!0,groupName:!0,to:!0},st=function(){function e(n){r(this,e),this.type=t.MSG_GRP_TIP,this.content={},this._initContent(n);}return i(e,[{key:"_initContent",value:function(e){var t=this;Object.keys(e).forEach((function(n){switch(n){case"remarkInfo":break;case"groupProfile":t.content.groupProfile={},t._initGroupProfile(e[n]);break;case"operatorInfo":case"memberInfoList":break;case"msgMemberInfo":t.content.memberList=e[n],Object.defineProperty(t.content,"msgMemberInfo",{get:function(){return z.warn("!!! 禁言的群提示消息中的 payload.msgMemberInfo 属性即将废弃,请使用 payload.memberList 属性替代。 \n","msgMemberInfo 中的 shutupTime 属性对应更改为 memberList 中的 muteTime 属性,表示禁言时长。 \n","参考:群提示消息 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/Message.html#.GroupTipPayload"),t.content.memberList.map((function(e){return{userID:e.userID,shutupTime:e.muteTime};}));}});break;default:t.content[n]=e[n];}})),this.content.userIDList||(this.content.userIDList=[this.content.operatorID]);}},{key:"_initGroupProfile",value:function(e){for(var t=Object.keys(e),n=0;n1&&(this._percent=1);}},{key:"updateFileUrl",value:function(e){this.content.fileUrl=e;}},{key:"_check",value:function(e){if(e.size>104857600)return new lt({code:Gt,message:"".concat(Wn,": ").concat(104857600," bytes")});}},{key:"sendable",value:function(){return""!==this.content.fileUrl&&(""!==this.content.fileName&&0!==this.content.fileSize);}}]),e;}(),Pr=function(){function e(n){r(this,e),this.type=t.MSG_CUSTOM,this.content={data:n.data||"",description:n.description||"",extension:n.extension||""};}return i(e,[{key:"setData",value:function(e){return this.content.data=e,this;}},{key:"setDescription",value:function(e){return this.content.description=e,this;}},{key:"setExtension",value:function(e){return this.content.extension=e,this;}},{key:"sendable",value:function(){return 0!==this.content.data.length||0!==this.content.description.length||0!==this.content.extension.length;}}]),e;}(),br=function(){function e(n){r(this,e),this.type=t.MSG_VIDEO,this._percent=0,this.content={remoteVideoUrl:n.remoteVideoUrl,videoFormat:n.videoFormat,videoSecond:parseInt(n.videoSecond,10),videoSize:n.videoSize,videoUrl:n.videoUrl,videoDownloadFlag:2,videoUUID:n.videoUUID,thumbUUID:n.thumbUUID,thumbFormat:n.thumbFormat,thumbWidth:n.thumbWidth,thumbHeight:n.thumbHeight,thumbSize:n.thumbSize,thumbDownloadFlag:2,thumbUrl:n.thumbUrl};}return i(e,[{key:"updatePercent",value:function(e){this._percent=e,this._percent>1&&(this._percent=1);}},{key:"updateVideoUrl",value:function(e){e&&(this.content.remoteVideoUrl=e);}},{key:"sendable",value:function(){return""!==this.content.remoteVideoUrl;}}]),e;}(),Or=function e(n){r(this,e),this.type=t.MSG_GEO,this.content=n;},Nr={1:t.MSG_PRIORITY_HIGH,2:t.MSG_PRIORITY_NORMAL,3:t.MSG_PRIORITY_LOW,4:t.MSG_PRIORITY_LOWEST},Gr=function(){function e(n){r(this,e),this.ID="",this.conversationID=n.conversationID||null,this.conversationType=n.conversationType||t.CONV_C2C,this.conversationSubType=n.conversationSubType,this.time=n.time||Math.ceil(Date.now()/1e3),this.sequence=n.sequence||0,this.clientSequence=n.clientSequence||n.sequence||0,this.random=n.random||fe(),this.priority=this._computePriority(n.priority),this._elements=[],this.isPlaceMessage=n.isPlaceMessage||0,this.isRevoked=2===n.isPlaceMessage||8===n.msgFlagBits,this.geo={},this.from=n.from||null,this.to=n.to||null,this.flow="",this.isSystemMessage=n.isSystemMessage||!1,this.protocol=n.protocol||"JSON",this.isResend=!1,this.isRead=!1,this.status=n.status||Pe.SUCCESS,this.reInitialize(n.currentUser),this.extractGroupInfo(n.groupProfile||null);}return i(e,[{key:"getElements",value:function(){return this._elements;}},{key:"extractGroupInfo",value:function(e){if(null!==e){var t=e.messageFromAccountExtraInformation;this.nick="","string"==typeof e.fromAccountNick&&(this.nick=e.fromAccountNick),this.avatar="","string"==typeof e.fromAccountHeadurl&&(this.avatar=e.fromAccountHeadurl),this.nameCard="","object"===n(t)&&t.hasOwnProperty("nameCard")&&(this.nameCard=t.nameCard);}}},{key:"_initProxy",value:function(){this.payload=this._elements[0].content,this.type=this._elements[0].type;}},{key:"reInitialize",value:function(e){e&&(this.status=this.from?Pe.SUCCESS:Pe.UNSEND,!this.from&&(this.from=e)),this._initFlow(e),this._initielizeSequence(e),this._concactConversationID(e),this.generateMessageID(e);}},{key:"isSendable",value:function(){return 0!==this._elements.length&&("function"!=typeof this._elements[0].sendable?(z.warn("".concat(this._elements[0].type,' need "boolean : sendable()" method')),!1):this._elements[0].sendable());}},{key:"_initTo",value:function(e){this.conversationType===t.CONV_GROUP&&(this.to=e.groupID);}},{key:"_initielizeSequence",value:function(e){0===this.clientSequence&&e&&(this.clientSequence=function(e){if(!e)return z.error("autoincrementIndex(string: key) need key parameter"),!1;if(void 0===ye[e]){var t=new Date,n="3".concat(t.getHours()).slice(-2),r="0".concat(t.getMinutes()).slice(-2),o="0".concat(t.getSeconds()).slice(-2);ye[e]=parseInt([n,r,o,"0001"].join("")),n=null,r=null,o=null,z.warn("utils.autoincrementIndex() create new sequence : ".concat(e," = ").concat(ye[e]));}return ye[e]++;}(e)),0===this.sequence&&this.conversationType===t.CONV_C2C&&(this.sequence=this.clientSequence);}},{key:"generateMessageID",value:function(e){var t=e===this.from?1:0,n=this.sequence>0?this.sequence:this.clientSequence;this.ID="".concat(this.conversationID,"-").concat(n,"-").concat(this.random,"-").concat(t);}},{key:"_initFlow",value:function(e){""!==e&&(e===this.from?(this.flow="out",this.isRead=!0):this.flow="in");}},{key:"_concactConversationID",value:function(e){var n=this.to,r="",o=this.conversationType;o!==t.CONV_SYSTEM?(r=o===t.CONV_C2C?e===this.from?n:this.from:this.to,this.conversationID="".concat(o).concat(r)):this.conversationID=t.CONV_SYSTEM;}},{key:"isElement",value:function(e){return e instanceof Ge||e instanceof nt||e instanceof rt||e instanceof ot||e instanceof Lr||e instanceof br||e instanceof st||e instanceof ut||e instanceof Pr||e instanceof Or;}},{key:"setElement",value:function(e){var n=this;if(this.isElement(e))return this._elements=[e],void this._initProxy();var r=function(e){switch(e.type){case t.MSG_TEXT:n.setTextElement(e.content);break;case t.MSG_IMAGE:n.setImageElement(e.content);break;case t.MSG_AUDIO:n.setAudioElement(e.content);break;case t.MSG_FILE:n.setFileElement(e.content);break;case t.MSG_VIDEO:n.setVideoElement(e.content);break;case t.MSG_CUSTOM:n.setCustomElement(e.content);break;case t.MSG_GEO:n.setGEOElement(e.content);break;case t.MSG_GRP_TIP:n.setGroupTipElement(e.content);break;case t.MSG_GRP_SYS_NOTICE:n.setGroupSystemNoticeElement(e.content);break;case t.MSG_FACE:n.setFaceElement(e.content);break;default:z.warn(e.type,e.content,"no operation......");}};if(Array.isArray(e))for(var o=0;o=0;}}},setGroupMemberNameCard:{groupID:{type:"String",required:!0},userID:{type:"String"},nameCard:{type:"String",required:!0,validator:function(e){return!0!==/^\s+$/.test(e);}}},setMessageRemindType:{groupID:{type:"String",required:!0},messageRemindType:{type:"String",required:!0}},setGroupMemberCustomField:{groupID:{type:"String",required:!0},userID:{type:"String"},memberCustomField:{type:"Array",required:!0}},deleteGroupMember:{groupID:{type:"String",required:!0}},createTextMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0,validator:function(e){return J(e.text)?0!==e.text.length||(console.warn("createTextMessage 消息内容不能为空。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createTextMessage"),!1):(console.warn("createTextMessage payload.text 类型必须为字符串。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createTextMessage"),!1);}}},createCustomMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0}},createImageMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0,validator:function(e){if(te(e.file))return console.warn("createImageMessage payload.file 不能为 undefined。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createImageMessage"),!1;if(T){if(!(e.file instanceof HTMLInputElement||W(e.file)))return console.warn("createImageMessage payload.file 的类型必须是 HTMLInputElement 或 File。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createImageMessage"),!1;if(e.file instanceof HTMLInputElement&&0===e.file.files.length)return console.warn("createImageMessage 您没有选择文件,无法发送。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createImageMessage"),!1;}return!0;},onProgress:{type:"Function",required:!1,validator:function(e){return te(e)&&console.warn("createImageMessage 没有 onProgress 回调,您将无法获取图片上传进度。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createImageMessage"),!0;}}}},createAudioMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0},onProgress:{type:"Function",required:!1,validator:function(e){return te(e)&&console.warn("createAudioMessage 没有 onProgress 回调,您将无法获取音频上传进度。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createAudioMessage"),!0;}}},createVideoMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0},onProgress:{type:"Function",required:!1,validator:function(e){return te(e)&&console.warn("createVideoMessage 没有 onProgress 回调,您将无法获取视频上传进度。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createVideoMessage"),!0;}}},createFaceMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0,validator:function(e){return!!Z(e)&&(X(e.index)?!!J(e.data)||(console.warn("createFaceMessage payload.data 类型必须为 String!"),!1):(console.warn("createFaceMessage payload.index 类型必须为 Number!"),!1));}}},createFileMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0,validator:function(e){if(te(e.file))return console.warn("createFileMessage payload.file 不能为 undefined。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createFileMessage"),!1;if(T){if(!(e.file instanceof HTMLInputElement||W(e.file)))return console.warn("createFileMessage payload.file 的类型必须是 HTMLInputElement 或 File。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createFileMessage"),!1;if(e.file instanceof HTMLInputElement&&0===e.file.files.length)return console.warn("createFileMessage 您没有选择文件,无法发送。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createFileMessage"),!1;}return!0;}},onProgress:{type:"Function",required:!1,validator:function(e){return te(e)&&console.warn("createFileMessage 没有 onProgress 回调,您将无法获取文件上传进度。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createFileMessage"),!0;}}},revokeMessage:[{name:"message",type:"Object",required:!0,validator:function(e){return e instanceof Gr?e.conversationType===t.CONV_SYSTEM?(console.warn("revokeMessage 不能撤回系统会话消息,只能撤回单聊消息或群消息"),!1):!0!==e.isRevoked||(console.warn("revokeMessage 消息已经被撤回,请勿重复操作"),!1):(console.warn("revokeMessage 参数 message 必须为 Message(https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/Message.html) 实例。"),!1);}}],getUserProfile:{userIDList:{type:"Array",validator:function(e){return ee(e)?(0===e.length&&console.warn("getUserProfile userIDList 不能为空数组,请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#getUserProfile"),!0):(console.warn("getUserProfile userIDList 必须为数组,请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#getUserProfile"),!1);}}},updateMyProfile:{profileCustomField:{type:"Array",validator:function(e){return!!te(e)||(!!ee(e)||(console.warn("updateMyProfile profileCustomField 必须为数组,请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#updateMyProfile"),!1));}}}},qr={login:"login",logout:"logout",on:"on",once:"once",off:"off",setLogLevel:"setLogLevel",downloadLog:"downloadLog",registerPlugin:"registerPlugin",destroy:"destroy",createTextMessage:"createTextMessage",createImageMessage:"createImageMessage",createAudioMessage:"createAudioMessage",createVideoMessage:"createVideoMessage",createCustomMessage:"createCustomMessage",createFaceMessage:"createFaceMessage",createFileMessage:"createFileMessage",sendMessage:"sendMessage",resendMessage:"resendMessage",getMessageList:"getMessageList",setMessageRead:"setMessageRead",revokeMessage:"revokeMessage",getConversationList:"getConversationList",getConversationProfile:"getConversationProfile",deleteConversation:"deleteConversation",getGroupList:"getGroupList",getGroupProfile:"getGroupProfile",createGroup:"createGroup",joinGroup:"joinGroup",updateGroupProfile:"updateGroupProfile",quitGroup:"quitGroup",dismissGroup:"dismissGroup",changeGroupOwner:"changeGroupOwner",searchGroupByID:"searchGroupByID",setMessageRemindType:"setMessageRemindType",handleGroupApplication:"handleGroupApplication",getGroupMemberProfile:"getGroupMemberProfile",getGroupMemberList:"getGroupMemberList",addGroupMember:"addGroupMember",deleteGroupMember:"deleteGroupMember",setGroupMemberNameCard:"setGroupMemberNameCard",setGroupMemberMuteTime:"setGroupMemberMuteTime",setGroupMemberRole:"setGroupMemberRole",setGroupMemberCustomField:"setGroupMemberCustomField",getMyProfile:"getMyProfile",getUserProfile:"getUserProfile",updateMyProfile:"updateMyProfile",getBlacklist:"getBlacklist",addToBlacklist:"addToBlacklist",removeFromBlacklist:"removeFromBlacklist",getFriendList:"getFriendList"},xr="1.7.3",Fr="537048168",Hr="10",Br="protobuf",Kr="json",Vr={HOST:{TYPE:3,ACCESS_LAYER_TYPES:{SANDBOX:1,TEST:2,PRODUCTION:3},CURRENT:{COMMON:"https://webim.tim.qq.com",PIC:"https://pic.tim.qq.com",COS:"https://yun.tim.qq.com"},PRODUCTION:{COMMON:"https://webim.tim.qq.com",PIC:"https://pic.tim.qq.com",COS:"https://yun.tim.qq.com"},SANDBOX:{COMMON:"https://events.tim.qq.com",PIC:"https://pic.tim.qq.com",COS:"https://yun.tim.qq.com"},TEST:{COMMON:"https://test.tim.qq.com",PIC:"https://pic.tim.qq.com",COS:"https://yun.tim.qq.com"},setCurrent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3;switch(e){case this.ACCESS_LAYER_TYPES.SANDBOX:this.CURRENT=this.SANDBOX,this.TYPE=this.ACCESS_LAYER_TYPES.SANDBOX;break;case this.ACCESS_LAYER_TYPES.TEST:this.CURRENT=this.TEST,this.TYPE=this.ACCESS_LAYER_TYPES.TEST;break;default:this.CURRENT=this.PRODUCTION,this.TYPE=this.ACCESS_LAYER_TYPES.PRODUCTION;}}},NAME:{OPEN_IM:"openim",GROUP:"group_open_http_svc",FRIEND:"sns",PROFILE:"profile",RECENT_CONTACT:"recentcontact",PIC:"openpic",BIG_GROUP_NO_AUTH:"group_open_http_noauth_svc",BIG_GROUP_LONG_POLLING_NO_AUTH:"group_open_long_polling_http_noauth_svc",IM_OPEN_STAT:"imopenstat",WEB_IM:"webim",IM_COS_SIGN:"im_cos_sign_svr"},CMD:{ACCESS_LAYER:"accesslayer",LOGIN:"login",LOGOUT_LONG_POLL:"longpollinglogout",LOGOUT_ALL:"logout",PORTRAIT_GET:"portrait_get_all",PORTRAIT_SET:"portrait_set",GET_LONG_POLL_ID:"getlongpollingid",LONG_POLL:"longpolling",AVCHATROOM_LONG_POLL:"get_msg",FRIEND_ADD:"friend_add",FRIEND_GET_ALL:"friend_get_all",FRIEND_DELETE:"friend_delete",RESPONSE_PENDENCY:"friend_response",GET_PENDENCY:"pendency_get",DELETE_PENDENCY:"pendency_delete",GET_GROUP_PENDENCY:"get_pendency",GET_BLACKLIST:"black_list_get",ADD_BLACKLIST:"black_list_add",DELETE_BLACKLIST:"black_list_delete",CREATE_GROUP:"create_group",GET_JOINED_GROUPS:"get_joined_group_list",SEND_MESSAGE:"sendmsg",REVOKE_C2C_MESSAGE:"msgwithdraw",SEND_GROUP_MESSAGE:"send_group_msg",REVOKE_GROUP_MESSAGE:"group_msg_recall",GET_GROUP_INFO:"get_group_info",GET_GROUP_MEMBER_INFO:"get_specified_group_member_info",GET_GROUP_MEMBER_LIST:"get_group_member_info",QUIT_GROUP:"quit_group",CHANGE_GROUP_OWNER:"change_group_owner",DESTROY_GROUP:"destroy_group",ADD_GROUP_MEMBER:"add_group_member",DELETE_GROUP_MEMBER:"delete_group_member",SEARCH_GROUP_BY_ID:"get_group_public_info",APPLY_JOIN_GROUP:"apply_join_group",HANDLE_APPLY_JOIN_GROUP:"handle_apply_join_group",MODIFY_GROUP_INFO:"modify_group_base_info",MODIFY_GROUP_MEMBER_INFO:"modify_group_member_info",DELETE_GROUP_SYSTEM_MESSAGE:"deletemsg",GET_CONVERSATION_LIST:"get",PAGING_GET_CONVERSATION_LIST:"page_get",DELETE_CONVERSATION:"delete",GET_MESSAGES:"getmsg",GET_C2C_ROAM_MESSAGES:"getroammsg",GET_GROUP_ROAM_MESSAGES:"group_msg_get",SET_C2C_MESSAGE_READ:"msgreaded",SET_GROUP_MESSAGE_READ:"msg_read_report",FILE_READ_AND_WRITE_AUTHKEY:"authkey",FILE_UPLOAD:"pic_up",COS_SIGN:"cos",TIM_WEB_REPORT:"tim_web_report",BIG_DATA_HALLWAY_AUTH_KEY:"authkey"},CHANNEL:{SOCKET:1,XHR:2,AUTO:0},NAME_VERSION:{openim:"v4",group_open_http_svc:"v4",sns:"v4",profile:"v4",recentcontact:"v4",openpic:"v4",group_open_http_noauth_svc:"v1",group_open_long_polling_http_noauth_svc:"v1",imopenstat:"v4",im_cos_sign_svr:"v4",webim:"v4"}};Vr.HOST.setCurrent(Vr.HOST.ACCESS_LAYER_TYPES.PRODUCTION);var jr={request:{toAccount:"To_Account",fromAccount:"From_Account",to:"To_Account",from:"From_Account",groupID:"GroupId",avatar:"FaceUrl"},response:{GroupId:"groupID",Member_Account:"userID",MsgList:"messageList",SyncFlag:"syncFlag",To_Account:"to",From_Account:"from",MsgSeq:"sequence",MsgRandom:"random",MsgTimeStamp:"time",MsgContent:"content",MsgBody:"elements",GroupWithdrawInfoArray:"revokedInfos",WithdrawC2cMsgNotify:"c2cMessageRevokedNotify",C2cWithdrawInfoArray:"revokedInfos",MsgRand:"random",MsgType:"type",MsgShow:"messageShow",NextMsgSeq:"nextMessageSeq",FaceUrl:"avatar",ProfileDataMod:"profileModify",Profile_Account:"userID",ValueBytes:"value",ValueNum:"value",NoticeSeq:"noticeSequence",NotifySeq:"notifySequence",MsgFrom_AccountExtraInfo:"messageFromAccountExtraInformation",Operator_Account:"operatorID",OpType:"operationType",ReportType:"operationType",UserId:"userID",User_Account:"userID",List_Account:"userIDList",MsgOperatorMemberExtraInfo:"operatorInfo",MsgMemberExtraInfo:"memberInfoList",ImageUrl:"avatar",NickName:"nick",MsgGroupNewInfo:"newGroupProfile",Owner_Account:"ownerID",GroupName:"name",GroupFaceUrl:"avatar",GroupIntroduction:"introduction",GroupNotification:"notification",GroupApplyJoinOption:"joinOption",MsgKey:"messageKey",GroupInfo:"groupProfile",ShutupTime:"muteTime",Desc:"description",Ext:"extension"},ignoreKeyWord:["C2C","ID","USP"]},$r="_contextWasUpdated",Yr="_contextWasReset",zr="_a2KeyAndTinyIDUpdated",Wr="_noticeIsSynchronizing",Xr="_noticeIsSynchronized",Jr="_messageSent",Qr="_sendC2CMessageSuccess",Zr="_syncMessageProcessing",eo="_syncMessageFinished",to="_receiveInstantMessage",no="_sendGroupMessageSuccess",ro="_receiveGroupInstantMessage",oo="_receveGroupSystemNotice",io="_messageRevoked",so="_longPollStart",ao="_longPollInArrived",uo="_longPollNotArrived",co="_longPollError",lo="_longPollSoonReconnect",po="_longPollLongReconnect",ho="_longpollChannelDisconnect",fo="_longPollStopped",go="_longPollKickedOut",mo="_longPollMitipuleDeviceKickedOut",yo="_longPollGetNewC2CNotice",vo="_longPollGetNewGroupMessages",_o="_longPollGetNewGroupTips",Mo="_longPollGetNewGroupNotice",Co="_longPollGetNewFriendMessages",Io="_longPollProfileModified",So="_longPollNoticeReceiveSystemOrders",Do="_longpollRestart",ko=" _longpollGroupMessageRevoked",To="_longpollC2CMessageRevoked",Eo="_onGroupListUpdated",wo="_login",Ao="_loginSuccess",Ro="_signLogoutExcuting",Lo="_logoutSuccess",Po="_a2keyExpired",bo="_errorHasBeenDetected",Oo="_onConversationListUpdated",No="_onConversationListProfileUpdated",Go="_conversationDeleted",Uo="onProfileUpdated",qo="joinAVChatRoomSuccess",xo="_sdkStateReady";function Fo(e,t){if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");t=Object.assign({pascalCase:!1},t);var n;return 0===(e=Array.isArray(e)?e.map((function(e){return e.trim();})).filter((function(e){return e.length;})).join("-"):e.trim()).length?"":1===e.length?t.pascalCase?e.toUpperCase():e.toLowerCase():(e!==e.toLowerCase()&&(e=Ho(e)),e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(function(e,t){return t.toUpperCase();})).replace(/\d+(\w|$)/g,(function(e){return e.toUpperCase();})),n=e,t.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n);}var Ho=function(e){for(var t=!1,n=!1,r=!1,o=0;o10)return o--,t;if(ee(t)){var i=t.map((function(t){return Q(t)?e(t,n):t;}));return o--,i;}if(Q(t)){var s=(a=t,u=function(e,t){if(!se(t))return!1;if((s=t)!==Fo(s)){for(var o=!0,i=0;i0&&n.innerEmitter.emit(bo,{code:gn,message:Dr}),i;}function Ko(e,t){if(t=u({},jr.response,{},t),ee(e))return e.map((function(e){return Q(e)?Ko(e,t):e;}));if(Q(e)){var n=(r=e,o=function(e,n){return te(t[n])?Fo(n):t[n];},i={},Object.keys(r).forEach((function(e){i[o(r[e],e)]=r[e];})),i);return n=De(n,(function(e){return ee(e)||Q(e)?Ko(e,t):e;}));}var r,o,i;}var Vo=function(){function e(t,n){var o=this;if(r(this,e),void 0===n)throw new lt({code:dt,message:wn});this.tim=n,this.method=t.method||"POST",this._initializeServerMap(),this._initializeURL(t),this._initializeRequestData(t),this.callback=function(e){return Ko(e=t.decode(e),o._getResponseMap(t));};}return i(e,[{key:"_initializeServerMap",value:function(){this._serverMap=Object.create(null);var e="";for(var t in Vr.NAME)if(Object.prototype.hasOwnProperty.call(Vr.NAME,t))switch(e=Vr.NAME[t]){case Vr.NAME.PIC:this._serverMap[e]=Vr.HOST.CURRENT.PIC;break;case Vr.NAME.IM_COS_SIGN:this._serverMap[e]=Vr.HOST.CURRENT.COS;break;default:this._serverMap[e]=Vr.HOST.CURRENT.COMMON;}}},{key:"_getHost",value:function(e){if(void 0!==this._serverMap[e])return this._serverMap[e];throw new lt({code:pn,message:Cr});}},{key:"_initializeURL",value:function(e){var t=e.serverName,n=e.cmd,r=this._getHost(t),o="".concat(r,"/").concat(Vr.NAME_VERSION[t],"/").concat(t,"/").concat(n);o+="?".concat(this._getQueryString(e.queryString)),this.url=o;}},{key:"getUrl",value:function(){return this.url.replace(/&reqtime=(\d+)/,"&reqtime=".concat(Math.ceil(+new Date/1e3)));}},{key:"_initializeRequestData",value:function(e){var t,n=e.requestData;t=this._requestDataCleaner(n),this.requestData=e.encode(t);}},{key:"_requestDataCleaner",value:function(e){var t=Array.isArray(e)?[]:Object.create(null);for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&se(r)&&null!==e[r]&&("object"!==n(e[r])?t[r]=e[r]:t[r]=this._requestDataCleaner.bind(this)(e[r]));return t;}},{key:"_getQueryString",value:function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&("function"!=typeof e[n]?t.push("".concat(n,"=").concat(e[n])):t.push("".concat(n,"=").concat(e[n]())));return t.join("&");}},{key:"_getResponseMap",value:function(e){if(e.keyMaps&&e.keyMaps.response&&Object.keys(e.keyMaps.response).length>0)return e.keyMaps.response;}}]),e;}();function jo(e){this.mixin(e);}jo.mixin=function(e){var t=e.prototype||e;t._isReady=!1,t.ready=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)return this._isReady?void(t?e.call(this):setTimeout(e,1)):(this._readyQueue=this._readyQueue||[],void this._readyQueue.push(e));},t.triggerReady=function(){var e=this;this._isReady=!0,setTimeout((function(){var t=e._readyQueue;e._readyQueue=[],t&&t.length>0&&t.forEach((function(e){e.call(this);}),e);}),1);},t.resetReady=function(){this._isReady=!1,this._readyQueue=[];},t.isReady=function(){return this._isReady;};};var $o=function(){function e(t){if(r(this,e),!1==!!t)throw new lt({code:dt,message:wn});jo.mixin(this),this.tim=t,this.innerEmitter=t.innerEmitter,this.connectionController=t.connectionController,this.packageConfig=t.packageConfig,this.packageConfig.update(t);}return i(e,[{key:"isLoggedIn",value:function(){return this.tim.context.login===Le.IS_LOGIN;}},{key:"createPackage",value:function(e){var t=this.packageConfig.get(e);return!!t&&new Vo(t,this.tim);}},{key:"reset",value:function(){z.warn(["method: IMController.reset() method must be implemented"].join());}},{key:"probeNetwork",value:function(){return this.tim.netMonitor.probe();}},{key:"getNetworkType",value:function(){return this.tim.netMonitor.getNetworkType();}},{key:"destroy",value:function(){z.warn("destory");}},{key:"getPlatform",value:function(){var e="web";return q?e="wechat":E&&(e="wxmp"),e;}}]),e;}(),Yo=function(){function e(t,n){r(this,e),this.data=t,this.tim=n,this.defaultData={},Object.assign(this.defaultData,t),this.initGetterAndSetter();}return i(e,[{key:"initGetterAndSetter",value:function(){var e=this,t=this.tim,n=function(n,r){Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:function(){return e.data[n];},set:function(r){e.data[n]=r,e.onChange.bind(e)(t.context,n,r);}});};for(var r in e.data)Object.prototype.hasOwnProperty.call(e.data,r)&&n(r,e.data[r]);}},{key:"onChange",value:function(e,t,n){this.tim.innerEmitter.emit($r,{data:{context:e,key:t,value:n}});}},{key:"reset",value:function(){for(var e in this.data)Object.prototype.hasOwnProperty.call(this.data,e)&&(this.data[e]=this.defaultData.hasOwnProperty(e)?this.defaultData[e]:null);this.tim.innerEmitter.emit(Yr,{data:this.tim.context});}}]),e;}(),zo=function(e){function t(e){var n;return r(this,t),(n=m(this,l(t).call(this,e)))._initContext(),n._initListener(),n;}return c(t,e),i(t,[{key:"reset",value:function(){this.tim.context.reset();}},{key:"_initListener",value:function(){this.tim.innerEmitter.on(Ao,this._updateA2KeyAndTinyID,this);}},{key:"_updateA2KeyAndTinyID",value:function(e){var t=e.data,n=t.a2Key,r=t.tinyID;this.set("a2Key",n),this.set("tinyID",r),this.tim.innerEmitter.emit(zr,{data:{context:this.tim.context}}),this.triggerReady();}},{key:"get",value:function(e){return this.tim.context[e];}},{key:"set",value:function(e,t){this.tim.context[e]=t;}},{key:"_initContext",value:function(){var e=this.tim.loginInfo;this.tim.context=new Yo({login:Le.IS_NOT_LOGIN,SDKAppID:e.SDKAppID,appIDAt3rd:null,accountType:e.accountType,identifier:e.identifier,tinyID:null,identifierNick:e.identifierNick,userSig:e.userSig,a2Key:null,contentType:"json",apn:1},this.tim),this.tim.innerEmitter.on($r,this._onContextMemberChange.bind(this));}},{key:"_onContextMemberChange",value:function(e){var t=e.data,n=t.key,r=t.value;switch(n){case"tinyID":r.length<=0?this.tim.context.login=Le.IS_NOT_LOGIN:this.tim.context.login=null!==this.tim.context.a2Key?Le.IS_LOGIN:Le.IS_NOT_LOGIN;break;case"a2Key":r.length<=0?this.tim.context.login=Le.IS_NOT_LOGIN:this.tim.context.login=null!==this.tim.context.tinyID?Le.IS_LOGIN:Le.IS_NOT_LOGIN;}}}]),t;}($o),Wo=function e(t){r(this,e),this.code=0,this.data=t||{};},Xo=null,Jo=function(e){Xo=e;},Qo=function(e){return e instanceof Wo?(z.warn("IMPromise.resolve 此函数会自动用options创建IMResponse实例,调用侧不需创建,建议修改!"),Promise.resolve(e)):Promise.resolve(new Wo(e));},Zo=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t instanceof lt)return n&&null!==Xo&&Xo.emit(e.ERROR,t),Promise.reject(t);if(t instanceof Error){var r=new lt({code:yn,message:t.message});return n&&null!==Xo&&Xo.emit(e.ERROR,r),Promise.reject(r);}if(te(t)||te(t.code)||te(t.message))z.error("IMPromise.reject 必须指定code(错误码)和message(错误信息)!!!");else{if(X(t.code)&&J(t.message)){var o=new lt(t);return n&&null!==Xo&&Xo.emit(e.ERROR,o),Promise.reject(o);}z.error("IMPromise.reject code(错误码)必须为数字,message(错误信息)必须为字符串!!!");}},ei="sdkReady",ti="login",ni="longpolling",ri="longpollingAV",oi="sendMessage",ii="initConversationList",si="initGroupList",ai="upload",ui=function(){function e(){r(this,e),this.SDKAppID="",this.version="",this.tinyID="",this.userID="",this.platform="",this.method="",this.time="",this.startts=0,this.endts=0,this.timespan=0,this.codeint=0,this.message="",this.text="",this.msgType="",this.networkType="",this.platform="",this._sentFlag=!1;}return i(e,[{key:"setCommonInfo",value:function(e,t,n,r,o){this.SDKAppID="".concat(e),this.version="".concat(t),this.tinyID=n,this.userID=r,this.platform=o,this.time=pe(),this.startts&&this.endts&&!this.timespan&&(this.timespan=Math.abs(this.endts-this.startts));}},{key:"setMethod",value:function(e){return this.method=e,this;}},{key:"setStart",value:function(){this.startts=Date.now();}},{key:"setEnd",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._sentFlag||(this.endts=Date.now(),t?(this._sentFlag=!0,this._eventStatController.pushIn(this)):setTimeout((function(){e._sentFlag=!0,e._eventStatController.pushIn(e);}),0));}},{key:"setError",value:function(e,t,n){return e instanceof Error?this._sentFlag?this:(this.setNetworkType(n),t?(e.code&&this.setCode(e.code),e.message&&this.setMessage(e.message)):(this.setCode(fn),this.setMessage(Sr)),this):(z.warn("SSOLogData.setError value not instanceof Error, please check!"),this);}},{key:"setCode",value:function(e){return te(e)||this._sentFlag?this:(X(e)?this.codeint=e:z.warn("SSOLogData.setCode value not a number, please check!"),this);}},{key:"setMessage",value:function(e){return te(e)||this._sentFlag?this:J(e)?(this.message=e,this):this;}},{key:"setText",value:function(e){return X(e)?this.text=e.toString():J(e)&&(this.text=e),this;}},{key:"setMessageType",value:function(e){return this.msgType=e,this;}},{key:"setNetworkType",value:function(e){return this.networkType=e,this;}}],[{key:"bindController",value:function(t){e.prototype._eventStatController=t;}}]),e;}(),ci="sdkConstruct",li="sdkReady",pi="accessLayer",hi="login",fi="upload",gi="sendMessage",di="getC2CRoamingMessages",mi="getGroupRoamingMessages",yi="revokeMessage",vi="setC2CMessageRead",_i="setGroupMessageRead",Mi="getConversationList",Ci="getConversationListInStorage",Ii="syncConversationList",Si="createGroup",Di="applyJoinGroup",ki="quitGroup",Ti="changeGroupOwner",Ei="dismissGroup",wi="updateGroupProfile",Ai="getGroupList",Ri="getGroupListInStorage",Li="setGroupMemberMuteTime",Pi="setGroupMemberNameCard",bi="setGroupMemberRole",Oi="setGroupMemberCustomField",Ni="longPollingError",Gi="longPollingAVError",Ui="getUserProfile",qi="getBlacklist",xi="mpHideToShow",Fi=function(n){function o(e){var t;return r(this,o),(t=m(this,l(o).call(this,e)))._initializeListener(),t;}return c(o,n),i(o,[{key:"login",value:function(e){if(this._isLogin()){var t="您已经登录账号".concat(e.identifier,"!如需切换账号登录,请先调用 logout 接口登出,再调用 login 接口登录。");return z.warn(t),Qo(new Wo({actionStatus:"OK",errorCode:0,errorInfo:t}));}z.log("SignController.login userID=",e.identifier),z.time(ti);var n=this._checkLoginInfo(e);return Te(n)?(this.tim.context.identifier=e.identifier,this.tim.context.userSig=e.userSig,this.tim.context.SDKAppID=e.SDKAppID,this.tim.context.accountType=e.accountType,this.tim.context.identifier&&this.tim.context.userSig?(this.tim.innerEmitter.emit(wo),this._accessLayer()):void 0):Zo(n);}},{key:"_isLogin",value:function(){return!!this.tim.context.a2Key;}},{key:"_isLoginCurrentUser",value:function(e){return this.tim.context.identifier===e;}},{key:"_initializeListener",value:function(){this.innerEmitter.on(go,this._onKickedOut,this),this.innerEmitter.on(mo,this._onMultipleDeviceKickedOut,this),this.innerEmitter.on(Po,this._onUserSigExpired,this);}},{key:"_accessLayer",value:function(){var e=this,t=new ui;t.setMethod(pi).setStart(),z.log("SignController._accessLayer.");var n=this.createPackage({name:"accessLayer",action:"query"});return this.tim.connectionController.request(n).then((function(n){return t.setCode(0).setNetworkType(e.getNetworkType()).setText(n.data.webImAccessLayer).setEnd(),z.log("SignController._accessLayer ok. webImAccessLayer=",n.data.webImAccessLayer),1===n.data.webImAccessLayer&&Vr.HOST.setCurrent(n.data.webImAccessLayer),e._login();})).catch((function(n){return e.probeNetwork().then((function(r,o){t.setError(n,r,o).setEnd(!0),e.tim.eventStatController.reportAtOnce();})),z.error("SignController._accessLayer error:",n),Zo(n);}));}},{key:"_login",value:function(){var e=this,t=new ui;t.setMethod(hi).setStart();var n=this.createPackage({name:"login",action:"query"});return this.connectionController.request(n).then((function(n){var r=null;if(!n.data.tinyID)throw r=new lt({code:mt,message:An}),t.setError(r,!0,e.getNetworkType()).setEnd(),r;if(!n.data.a2Key)throw r=new lt({code:yt,message:Rn}),t.setError(r,!0,e.getNetworkType()).setEnd(),r;return t.setCode(0).setNetworkType(e.getNetworkType()).setText("".concat(e.tim.loginInfo.identifier)).setEnd(),z.log("SignController.login ok. userID=".concat(e.tim.loginInfo.identifier," loginCost=").concat(z.timeEnd(ti),"ms")),e.tim.innerEmitter.emit(Ao,{data:{a2Key:n.data.a2Key,tinyID:n.data.tinyID}}),Qo(n.data);})).catch((function(n){return e.probeNetwork().then((function(e,r){t.setError(n,e,r).setEnd(!0);})),z.error("SignController.login error:",n),Zo(n);}));}},{key:"logout",value:function(){return z.info("SignController.logout"),this.tim.innerEmitter.emit(Ro),this._logout(Je).then(this._emitLogoutSuccess.bind(this)).catch(this._emitLogoutSuccess.bind(this));}},{key:"_logout",value:function(e){var t=this.tim.notificationController,n=e===Xe?"logout":"longPollLogout",r=e===Xe?{name:n,action:"query"}:{name:n,action:"query",param:{longPollID:t.getLongPollID()}},o=this.createPackage(r);return this.connectionController.request(o).catch((function(e){return z.error("SignController._logout error:",e),Zo(e);}));}},{key:"_checkLoginInfo",value:function(e){var t=0,n="";return null===e.SDKAppID?(t=pt,n=Dn):null===e.accountType?(t=ht,n=kn):null===e.identifier?(t=ft,n=Tn):null===e.userSig&&(t=gt,n=En),Te(t)||Te(n)?{}:{code:t,message:n};}},{key:"_emitLogoutSuccess",value:function(){return this.tim.innerEmitter.emit(Lo),Qo({});}},{key:"_onKickedOut",value:function(){var n=this;z.warn("SignController._onKickedOut kicked out. userID=".concat(this.tim.loginInfo.identifier)),this.tim.logout().then((function(){n.tim.outerEmitter.emit(e.KICKED_OUT,{type:t.KICKED_OUT_MULT_ACCOUNT});}));}},{key:"_onMultipleDeviceKickedOut",value:function(){var n=this;z.warn("SignController._onMultipleDeviceKickedOut kicked out. userID=".concat(this.tim.loginInfo.identifier)),this.tim.logout().then((function(){n.tim.outerEmitter.emit(e.KICKED_OUT,{type:t.KICKED_OUT_MULT_DEVICE});}));}},{key:"_onUserSigExpired",value:function(){z.warn("SignController._onUserSigExpired: userSig 签名过期被踢下线"),this.tim.outerEmitter.emit(e.KICKED_OUT,{type:t.KICKED_OUT_USERSIG_EXPIRED}),this.tim.resetSDK();}},{key:"reset",value:function(){z.info("SignController.reset");}}]),o;}($o),Hi=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r1)for(var n=1;n=0)return;u[o]="set-cookie"===o?(u[o]?u[o]:[]).concat([s]):u[o]?u[o]+", "+s:s;}})),u):u):null,l={data:e.responseType&&"text"!==e.responseType?i.response:i.responseText,status:i.status,statusText:i.statusText,headers:c,config:e,request:i};!function(e,t,n){var r=n.config.validateStatus;!r||r(n.status)?e(n):t(Ts("Request failed with status code "+n.status,n.config,null,n.request,n));}(t,n,l),i=null;}},i.onabort=function(){i&&(n(Ts("Request aborted",e,"ECONNABORTED",i)),i=null);},i.onerror=function(){n(Ts("Network Error",e,null,i)),i=null;},i.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(Ts(t,e,"ECONNABORTED",i)),i=null;},zi.isStandardBrowserEnv()){var p=As,h=(e.withCredentials||ws(l))&&e.xsrfCookieName?p.read(e.xsrfCookieName):void 0;h&&(o[e.xsrfHeaderName]=h);}if("setRequestHeader"in i&&zi.forEach(o,(function(e,t){void 0===r&&"content-type"===t.toLowerCase()?delete o[t]:i.setRequestHeader(t,e);})),zi.isUndefined(e.withCredentials)||(i.withCredentials=!!e.withCredentials),e.responseType)try{i.responseType=e.responseType;}catch(f){if("json"!==e.responseType)throw f;}"function"==typeof e.onDownloadProgress&&i.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&i.upload&&i.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){i&&(i.abort(),n(e),i=null);})),void 0===r&&(r=null),i.send(r);}));},Ls={"Content-Type":"application/x-www-form-urlencoded"};function Ps(e,t){!zi.isUndefined(e)&&zi.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t);}var bs,Os={adapter:("undefined"!=typeof XMLHttpRequest?bs=Rs:void 0!==Ds&&"[object process]"===Object.prototype.toString.call(Ds)&&(bs=Rs),bs),transformRequest:[function(e,t){return ks(t,"Accept"),ks(t,"Content-Type"),zi.isFormData(e)||zi.isArrayBuffer(e)||zi.isBuffer(e)||zi.isStream(e)||zi.isFile(e)||zi.isBlob(e)?e:zi.isArrayBufferView(e)?e.buffer:zi.isURLSearchParams(e)?(Ps(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):zi.isObject(e)?(Ps(t,"application/json;charset=utf-8"),JSON.stringify(e)):e;}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e);}catch(t){}return e;}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300;}};Os.headers={common:{Accept:"application/json, text/plain, */*"}},zi.forEach(["delete","get","head"],(function(e){Os.headers[e]={};})),zi.forEach(["post","put","patch"],(function(e){Os.headers[e]=zi.merge(Ls);}));var Ns=Os;function Gs(e){e.cancelToken&&e.cancelToken.throwIfRequested();}var Us=function(e){return Gs(e),e.headers=e.headers||{},e.data=Zi(e.data,e.headers,e.transformRequest),e.headers=zi.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),zi.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t];})),(e.adapter||Ns.adapter)(e).then((function(t){return Gs(e),t.data=Zi(t.data,t.headers,e.transformResponse),t;}),(function(t){return es(t)||(Gs(e),t&&t.response&&(t.response.data=Zi(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t);}));},qs=function(e,t){t=t||{};var n={},r=["url","method","params","data"],o=["headers","auth","proxy"],i=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];zi.forEach(r,(function(e){void 0!==t[e]&&(n[e]=t[e]);})),zi.forEach(o,(function(r){zi.isObject(t[r])?n[r]=zi.deepMerge(e[r],t[r]):void 0!==t[r]?n[r]=t[r]:zi.isObject(e[r])?n[r]=zi.deepMerge(e[r]):void 0!==e[r]&&(n[r]=e[r]);})),zi.forEach(i,(function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r]);}));var s=r.concat(o).concat(i),a=Object.keys(t).filter((function(e){return-1===s.indexOf(e);}));return zi.forEach(a,(function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r]);})),n;};function xs(e){this.defaults=e,this.interceptors={request:new Qi,response:new Qi};}xs.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=qs(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[Us,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected);})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected);}));t.length;)n=n.then(t.shift(),t.shift());return n;},xs.prototype.getUri=function(e){return e=qs(this.defaults,e),Xi(e.url,e.params,e.paramsSerializer).replace(/^\?/,"");},zi.forEach(["delete","get","head","options"],(function(e){xs.prototype[e]=function(t,n){return this.request(zi.merge(n||{},{method:e,url:t}));};})),zi.forEach(["post","put","patch"],(function(e){xs.prototype[e]=function(t,n,r){return this.request(zi.merge(r||{},{method:e,url:t,data:n}));};}));var Fs=xs;function Hs(e){this.message=e;}Hs.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"");},Hs.prototype.__CANCEL__=!0;var Bs=Hs;function Ks(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e;}));var n=this;e((function(e){n.reason||(n.reason=new Bs(e),t(n.reason));}));}Ks.prototype.throwIfRequested=function(){if(this.reason)throw this.reason;},Ks.source=function(){var e;return{token:new Ks((function(t){e=t;})),cancel:e};};var Vs=Ks;function js(e){var t=new Fs(e),n=Hi(Fs.prototype.request,t);return zi.extend(n,Fs.prototype,t),zi.extend(n,t),n;}var $s=js(Ns);$s.Axios=Fs,$s.create=function(e){return js(qs($s.defaults,e));},$s.Cancel=Bs,$s.CancelToken=Vs,$s.isCancel=es,$s.all=function(e){return Promise.all(e);},$s.spread=function(e){return function(t){return e.apply(null,t);};};var Ys=$s,zs=$s;Ys.default=zs;var Ws=Ys,Xs=Ws.create({timeout:6e3,headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}});Xs.interceptors.response.use((function(e){var t=e.data,n=t.error_code,r=t.ErrorCode;return X(n)&&(r=n),r!==Re.SUCCESS&&(e.data.ErrorCode=Number(r)),e;}),(function(e){return"Network Error"===e.message&&(!0===Xs.defaults.withCredentials&&z.warn("Network Error, try to close `IMAxios.defaults.withCredentials` to false. (IMAxios.js)"),Xs.defaults.withCredentials=!1),Promise.reject(e);}));var Js=function(){function e(){r(this,e);}return i(e,[{key:"request",value:function(e){console.warn("请注意: ConnectionBase.request() 方法必须被派生类重写:"),console.log("参数如下:\n * @param {String} options.url string 是 开发者服务器接口地址\n * @param {*} options.data - string/object/ArrayBuffer 否 请求的参数\n * @param {Object} options.header - Object 否 设置请求的 header,\n * @param {String} options.method - string GET 否 HTTP 请求方法\n * @param {String} options.dataType - string json 否 返回的数据格式\n * @param {String} options.responseType - string text 否 响应的数据类型\n * @param {Boolean} isRetry - string text false 是否为重试的请求\n ");}},{key:"_checkOptions",value:function(e){if(!1==!!e.url)throw new lt({code:ln,message:Mr});}},{key:"_initOptions",value:function(e){e.method=["POST","GET","PUT","DELETE","OPTION"].indexOf(e.method)>=0?e.method:"POST",e.dataType=e.dataType||"json",e.responseType=e.responseType||"json";}}]),e;}(),Qs=function(e){function t(){var e;return r(this,t),(e=m(this,l(t).call(this))).retry=2,e;}return c(t,e),i(t,[{key:"request",value:function(e){return this._checkOptions(e),this._initOptions(e),this._requestWithRetry({url:e.url,data:e.data,method:e.method});}},{key:"_requestWithRetry",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Xs(e).catch((function(r){return t.retry&&n>18&63]+Zs[o>>12&63]+Zs[o>>6&63]+Zs[63&o]);return i.join("");}function ia(e){var t;na||ra();for(var n=e.length,r=n%3,o="",i=[],s=0,a=n-r;sa?a:s+16383));return 1===r?(t=e[n-1],o+=Zs[t>>2],o+=Zs[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=Zs[t>>10],o+=Zs[t>>4&63],o+=Zs[t<<2&63],o+="="),i.push(o),i.join("");}function sa(e,t,n,r,o){var i,s,a=8*o-r-1,u=(1<>1,l=-7,p=n?o-1:0,h=n?-1:1,f=e[t+p];for(p+=h,i=f&(1<<-l)-1,f>>=-l,l+=a;l>0;i=256*i+e[t+p],p+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=r;l>0;s=256*s+e[t+p],p+=h,l-=8);if(0===i)i=1-c;else{if(i===u)return s?NaN:Infinity*(f?-1:1);s+=Math.pow(2,r),i-=c;}return(f?-1:1)*s*Math.pow(2,i-r);}function aa(e,t,n,r,o,i){var s,a,u,c=8*i-o-1,l=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:i-1,g=r?1:-1,d=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||Infinity===t?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),(t+=s+p>=1?h/u:h*Math.pow(2,1-p))*u>=2&&(s++,u/=2),s+p>=l?(a=0,s=l):s+p>=1?(a=(t*u-1)*Math.pow(2,o),s+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,o),s=0));o>=8;e[n+f]=255&a,f+=g,a/=256,o-=8);for(s=s<0;e[n+f]=255&s,f+=g,s/=256,c-=8);e[n+f-g]|=128*d;}var ua={}.toString,ca=Array.isArray||function(e){return"[object Array]"==ua.call(e);};function la(){return ha.TYPED_ARRAY_SUPPORT?2147483647:1073741823;}function pa(e,t){if(la()=la())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+la().toString(16)+" bytes");return 0|e;}function va(e){return!(null==e||!e._isBuffer);}function _a(e,t){if(va(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return ja(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $a(e).length;default:if(r)return ja(e).length;t=(""+t).toLowerCase(),r=!0;}}function Ma(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Oa(this,t,n);case"utf8":case"utf-8":return La(this,t,n);case"ascii":return Pa(this,t,n);case"latin1":case"binary":return ba(this,t,n);case"base64":return Ra(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Na(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0;}}function Ca(e,t,n){var r=e[t];e[t]=e[n],e[n]=r;}function Ia(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1;}else if(n<0){if(!o)return-1;n=0;}if("string"==typeof t&&(t=ha.from(t,r)),va(t))return 0===t.length?-1:Sa(e,t,n,r,o);if("number"==typeof t)return t&=255,ha.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):Sa(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer");}function Sa(e,t,n,r,o){var i,s=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,n/=2;}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s);}if(o){var l=-1;for(i=n;ia&&(n=a-u),i=n;i>=0;i--){for(var p=!0,h=0;ho&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var s=0;s>8,o=n%256,i.push(o),i.push(r);return i;}(t,e.length-n),e,n,r);}function Ra(e,t,n){return 0===t&&n===e.length?ia(e):ia(e.slice(t,n));}function La(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:c>223?3:c>191?2:1;if(o+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(i=e[o+1]))&&(u=(31&c)<<6|63&i)>127&&(l=u);break;case 3:i=e[o+1],s=e[o+2],128==(192&i)&&128==(192&s)&&(u=(15&c)<<12|(63&i)<<6|63&s)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:i=e[o+1],s=e[o+2],a=e[o+3],128==(192&i)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&i)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(l=u);}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=p;}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"";},ha.prototype.compare=function(e,t,n,r,o){if(!va(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(i,s),u=this.slice(r,o),c=e.slice(t,n),l=0;lo)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return Da(this,e,t,n);case"utf8":case"utf-8":return ka(this,e,t,n);case"ascii":return Ta(this,e,t,n);case"latin1":case"binary":return Ea(this,e,t,n);case"base64":return wa(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Aa(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0;}},ha.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)};};function Pa(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o="",i=t;in)throw new RangeError("Trying to access beyond buffer length");}function Ua(e,t,n,r,o,i){if(!va(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range");}function qa(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o>>8*(r?o:1-o);}function xa(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255;}function Fa(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range");}function Ha(e,t,n,r,o){return o||Fa(e,0,n,4),aa(e,t,n,r,23,4),n+4;}function Ba(e,t,n,r,o){return o||Fa(e,0,n,8),aa(e,t,n,r,52,8),n+8;}ha.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r;},ha.prototype.readUInt8=function(e,t){return t||Ga(e,1,this.length),this[e];},ha.prototype.readUInt16LE=function(e,t){return t||Ga(e,2,this.length),this[e]|this[e+1]<<8;},ha.prototype.readUInt16BE=function(e,t){return t||Ga(e,2,this.length),this[e]<<8|this[e+1];},ha.prototype.readUInt32LE=function(e,t){return t||Ga(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3];},ha.prototype.readUInt32BE=function(e,t){return t||Ga(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3]);},ha.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Ga(e,t,this.length);for(var r=this[e],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*t)),r;},ha.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Ga(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i;},ha.prototype.readInt8=function(e,t){return t||Ga(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e];},ha.prototype.readInt16LE=function(e,t){t||Ga(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n;},ha.prototype.readInt16BE=function(e,t){t||Ga(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n;},ha.prototype.readInt32LE=function(e,t){return t||Ga(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24;},ha.prototype.readInt32BE=function(e,t){return t||Ga(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3];},ha.prototype.readFloatLE=function(e,t){return t||Ga(e,4,this.length),sa(this,e,!0,23,4);},ha.prototype.readFloatBE=function(e,t){return t||Ga(e,4,this.length),sa(this,e,!1,23,4);},ha.prototype.readDoubleLE=function(e,t){return t||Ga(e,8,this.length),sa(this,e,!0,52,8);},ha.prototype.readDoubleBE=function(e,t){return t||Ga(e,8,this.length),sa(this,e,!1,52,8);},ha.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||Ua(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+n;},ha.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||Ua(this,e,t,1,255,0),ha.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1;},ha.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||Ua(this,e,t,2,65535,0),ha.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):qa(this,e,t,!0),t+2;},ha.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||Ua(this,e,t,2,65535,0),ha.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):qa(this,e,t,!1),t+2;},ha.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||Ua(this,e,t,4,4294967295,0),ha.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):xa(this,e,t,!0),t+4;},ha.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||Ua(this,e,t,4,4294967295,0),ha.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):xa(this,e,t,!1),t+4;},ha.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);Ua(this,e,t,n,o-1,-o);}var i=0,s=1,a=0;for(this[t]=255&e;++i>0)-a&255;return t+n;},ha.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);Ua(this,e,t,n,o-1,-o);}var i=n-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s>>0)-a&255;return t+n;},ha.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||Ua(this,e,t,1,127,-128),ha.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1;},ha.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||Ua(this,e,t,2,32767,-32768),ha.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):qa(this,e,t,!0),t+2;},ha.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||Ua(this,e,t,2,32767,-32768),ha.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):qa(this,e,t,!1),t+2;},ha.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||Ua(this,e,t,4,2147483647,-2147483648),ha.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):xa(this,e,t,!0),t+4;},ha.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||Ua(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),ha.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):xa(this,e,t,!1),t+4;},ha.prototype.writeFloatLE=function(e,t,n){return Ha(this,e,t,!0,n);},ha.prototype.writeFloatBE=function(e,t,n){return Ha(this,e,t,!1,n);},ha.prototype.writeDoubleLE=function(e,t,n){return Ba(this,e,t,!0,n);},ha.prototype.writeDoubleBE=function(e,t,n){return Ba(this,e,t,!1,n);},ha.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(i<1e3||!ha.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue;}if(s+1===r){(t-=3)>-1&&i.push(239,191,189);continue;}o=n;continue;}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue;}n=65536+(o-55296<<10|n-56320);}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n);}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128);}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128);}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128);}}return i;}function $a(e){return function(e){var t,n,r,o,i,s;na||ra();var a=e.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i="="===e[a-2]?2:"="===e[a-1]?1:0,s=new ta(3*a/4-i),r=i>0?a-4:a;var u=0;for(t=0,n=0;t>16&255,s[u++]=o>>8&255,s[u++]=255&o;return 2===i?(o=ea[e.charCodeAt(t)]<<2|ea[e.charCodeAt(t+1)]>>4,s[u++]=255&o):1===i&&(o=ea[e.charCodeAt(t)]<<10|ea[e.charCodeAt(t+1)]<<4|ea[e.charCodeAt(t+2)]>>2,s[u++]=o>>8&255,s[u++]=255&o),s;}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"");}(e).replace(Ka,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e;}(e));}function Ya(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o;}function za(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e);}var Wa=function(e){function t(){var e;return r(this,t),(e=m(this,l(t).call(this))).retry=2,e._request=e.promisify(wx.request),e;}return c(t,e),i(t,[{key:"request",value:function(e){return this._checkOptions(e),this._initOptions(e),e=u({},e,{responseType:"text"}),this._requestWithRetry(e);}},{key:"_requestWithRetry",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this._request(e).then(this._handleResolve).catch((function(r){if(J(r.errMsg)){if(r.errMsg.includes("abort"))return Qo({});if(r.errMsg.includes("timeout"))return t.retry>0&&n0&&nthis._responseTimeThreshold&&(this._intervalTime=this._responseTimeThreshold));}},{key:"_intervalTimeDecrease",value:function(){0!==this._intervalTime&&(this._intervalTime>0&&(this._intervalTime-=this._intervalDecreaseStep),this._intervalTime<0&&(this._intervalTime=0));}},{key:"_intervalTimeAdjustment",value:function(){var e=Date.now();100*Math.floor((e-this._responseTime)/100)<=this._responseTimeThreshold?this._intervalTimeIncrease():this._intervalTimeDecrease(),this._responseTime=e;}},{key:"_intervalTimeAdjustmentBaseOnResponseData",value:function(e){e.ErrorCode===Re.SUCCESS?this._intervalTimeDecrease():this._intervalTimeIncrease();}},{key:"_send",value:function(){var e=this;if(!0!==this._requestStatus){this._requestStatus=!0,this.status.request++,"function"==typeof this.options.before&&this.options.before(this.options.pack.requestData);var t=Date.now(),n=0;this.requestor.request({url:this.options.pack.getUrl(),data:this.options.pack.requestData,method:this.options.pack.method,cancelToken:new Ja((function(t){e.abort=t;}))}).then((function(r){if(e._intervalTimeAdjustmentBaseOnResponseData.bind(e)(r.data),e._retryCount>0&&(e._retryCount=0),e.status.success++,n=Date.now(),e.status.setRequestTime(t,n),r.data.timecost=n-t,"function"==typeof e.options.success)try{e.options.success({pack:e.options.pack,error:!1,data:e.options.pack.callback(r.data)});}catch(o){z.warn("XHRRunLoop._send(), error:",o);}e._requestStatus=!1,!1===e._stoped&&(e._seedID=setTimeout(e._send.bind(e),e._intervalTime)),e.status.report();})).catch((function(r){if(e.status.fail++,e._retryCount++,e._intervalTimeAdjustment.bind(e)(),!1===e._stoped&&(e._seedID=setTimeout(e._send.bind(e),e._intervalTime)),e._requestStatus=!1,"function"==typeof e.options.fail&&void 0!==r.request)try{e.options.fail({pack:e.options.pack,error:r,data:!1});}catch(o){z.warn("XHRRunLoop._send(), fail callback error:"),z.error(o);}n=Date.now(),e.status.setRequestTime(t,n),e.status.report();}));}}},{key:"stop",value:function(){this._clearAllTimeOut(),this._stoped=!0;}},{key:"_clearAllTimeOut",value:function(){clearTimeout(this._seedID),this._seedID=0;}}]),e;}(),Za=function(){function e(t){r(this,e),this._initializeOptions(t),this._initializeMembers(),this.status=new Xa;}return i(e,[{key:"destructor",value:function(){clearTimeout(this._seedID);var e=this._index();for(var t in this)Object.prototype.hasOwnProperty.call(this,t)&&(this[t]=null);return e;}},{key:"setIndex",value:function(e){this._index=e;}},{key:"isRunning",value:function(){return!this._stoped;}},{key:"getIndex",value:function(){return this._index;}},{key:"_initializeOptions",value:function(e){this.options=e;}},{key:"_initializeMembers",value:function(){this._index=-1,this._seedID=0,this._requestStatus=!1,this._stoped=!1,this._intervalTime=0,this._intervalIncreaseStep=1e3,this._intervalDecreaseStep=1e3,this._intervalTimeMax=5e3,this._protectTimeout=3e3,this._getNoticeSeq=this.options.getNoticeSeq,this._retryCount=0,this._responseTime=Date.now(),this._responseTimeThreshold=2e3,this.requestor=new Wa,this.abort=null;}},{key:"start",value:function(){0===this._seedID?(this._stoped=!1,this._send()):z.log('WXRunLoop.start(): WXRunLoop is running now, if you want to restart runLoop , please run "stop()" first.');}},{key:"_reset",value:function(){z.log("WXRunLoop.reset(), long poll _intervalMaxRate",this._intervalMaxRate),this.stop(),this.start();}},{key:"_intervalTimeIncrease",value:function(){this._intervalTime!==this._responseTimeThreshold&&(this._intervalTimethis._responseTimeThreshold&&(this._intervalTime=this._responseTimeThreshold));}},{key:"_intervalTimeDecrease",value:function(){0!==this._intervalTime&&(this._intervalTime>0&&(this._intervalTime-=this._intervalDecreaseStep),this._intervalTime<0&&(this._intervalTime=0));}},{key:"_intervalTimeAdjustment",value:function(){var e=Date.now();100*Math.floor((e-this._responseTime)/100)<=this._responseTimeThreshold?this._intervalTimeIncrease():this._intervalTimeDecrease(),this._responseTime=e;}},{key:"_intervalTimeAdjustmentBaseOnResponseData",value:function(e){e.ErrorCode===Re.SUCCESS?this._intervalTimeDecrease():this._intervalTimeIncrease();}},{key:"_send",value:function(){var e=this;if(!0!==this._requestStatus){var t=this;this._requestStatus=!0,this.status.request++,"function"==typeof this.options.before&&this.options.before(t.options.pack.requestData);var n=Date.now(),r=0;this.requestor.request({url:t.options.pack.getUrl(),data:t.options.pack.requestData,method:t.options.pack.method,updateAbort:function(t){e.abort=t;}}).then((function(o){if(t._intervalTimeAdjustmentBaseOnResponseData.bind(e)(o.data),t._retryCount>0&&(t._retryCount=0),e.status.success++,r=Date.now(),e.status.setRequestTime(n,r),o.data.timecost=r-n,"function"==typeof t.options.success)try{e.options.success({pack:e.options.pack,error:!1,data:e.options.pack.callback(o.data)});}catch(i){z.warn("WXRunLoop._send(), error:",i);}t._requestStatus=!1,!1===t._stoped&&(t._seedID=setTimeout(t._send.bind(t),t._intervalTime)),e.status.report();})).catch((function(o){if(e.status.fail++,t._retryCount++,t._intervalTimeAdjustment.bind(e)(),!1===t._stoped&&(t._seedID=setTimeout(t._send.bind(t),t._intervalTime)),t._requestStatus=!1,"function"==typeof t.options.fail)try{e.options.fail({pack:e.options.pack,error:o,data:!1});}catch(i){z.warn("WXRunLoop._send(), fail callback error:"),z.error(i);}r=Date.now(),e.status.setRequestTime(n,r),e.status.report();}));}}},{key:"stop",value:function(){this._clearAllTimeOut(),this._stoped=!0;}},{key:"_clearAllTimeOut",value:function(){clearTimeout(this._seedID),this._seedID=0;}}]),e;}(),eu=function(e){function t(e){var n;return r(this,t),(n=m(this,l(t).call(this,e))).context=e.context,n.httpConnection=n._getHttpconnection(),n.keepAliveConnections=[],n;}return c(t,e),i(t,[{key:"initializeListener",value:function(){this.tim.innerEmitter.on(Ro,this._stopAllRunLoop,this);}},{key:"request",value:function(e){var t={url:e.url,data:e.requestData,method:e.method,callback:e.callback};return this.httpConnection.request(t).then((function(t){return t.data=e.callback(t.data),t.data.errorCode!==Re.SUCCESS?Zo(new lt({code:t.data.errorCode,message:t.data.errorInfo})):t;}));}},{key:"createRunLoop",value:function(e){var t=this.createKeepAliveConnection(e);return t.setIndex(this.keepAliveConnections.push(t)-1),t;}},{key:"stopRunLoop",value:function(e){e.stop();}},{key:"_stopAllRunLoop",value:function(){for(var e=this.keepAliveConnections.length,t=0;t500&&(n="nick name limited: must less than or equal to ".concat(500," bytes, current size: ").concat(he(e[s])," bytes"),t=!1);break;case"gender":me(Ze,e.gender)||(n="key:gender, invalid value:"+e.gender,t=!1);break;case"birthday":X(e.birthday)||(n="birthday should be a number",t=!1);break;case"location":J(e.location)||(n="location should be a string",t=!1);break;case"selfSignature":J(e.selfSignature)||(n="selfSignature should be a string",t=!1);break;case"allowType":me(tt,e.allowType)||(n="key:allowType, invalid value:"+e.allowType,t=!1);break;case"language":X(e.language)||(n="language should be a number",t=!1);break;case"avatar":J(e.avatar)||(n="avatar should be a string",t=!1);break;case"messageSettings":0!==e.messageSettings&&1!==e.messageSettings&&(n="messageSettings should be 0 or 1",t=!1);break;case"adminForbidType":me(et,e.adminForbidType)||(n="key:adminForbidType, invalid value:"+e.adminForbidType,t=!1);break;case"level":X(e.level)||(n="level should be a number",t=!1);break;case"role":X(e.role)||(n="role should be a number",t=!1);break;default:n="unknown key:"+s+" "+e[s],t=!1;}}return{valid:t,tips:n};}}]),e;}(),ru=function(){function t(e){r(this,t),this.uc=e,this.TAG="profile",this.Actions={Q:"query",U:"update"},this.accountProfileMap=new Map,this.expirationTime=864e5;}return i(t,[{key:"setExpirationTime",value:function(e){this.expirationTime=e;}},{key:"getUserProfile",value:function(e){var t=this,n=this.uc.tim.connectionController,r=e.userIDList;e.fromAccount=this.uc.getMyAccount(),r.length>100&&(z.warn("ProfileHandler.getUserProfile 获取用户资料人数不能超过100人"),r.length=100);for(var o,i=[],s=[],a=0,u=r.length;a-1)n.profileCustomField.push({key:t[r].tag,value:t[r].value});else switch(t[r].tag){case Qe.NICK:n.nick=t[r].value;break;case Qe.GENDER:n.gender=t[r].value;break;case Qe.BIRTHDAY:n.birthday=t[r].value;break;case Qe.LOCATION:n.location=t[r].value;break;case Qe.SELFSIGNATURE:n.selfSignature=t[r].value;break;case Qe.ALLOWTYPE:n.allowType=t[r].value;break;case Qe.LANGUAGE:n.language=t[r].value;break;case Qe.AVATAR:n.avatar=t[r].value;break;case Qe.MESSAGESETTINGS:n.messageSettings=t[r].value;break;case Qe.ADMINFORBIDTYPE:n.adminForbidType=t[r].value;break;case Qe.LEVEL:n.level=t[r].value;break;case Qe.ROLE:n.role=t[r].value;break;default:z.warn("ProfileHandler._handleResponse unkown tag->",t[r].tag,t[r].value);}return n;}},{key:"updateMyProfile",value:function(t){var n=this,r=this.uc.tim,o=r.connectionController,i=r.outerEmitter,s=(new nu).validate(t);if(!s.valid)return z.error("ProfileHandler.updateMyProfile info:".concat(s.tips,",请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#updateMyProfile")),Zo({code:nn,message:dr});var a=[];for(var u in t)Object.prototype.hasOwnProperty.call(t,u)&&("profileCustomField"===u?t.profileCustomField.forEach((function(e){a.push({tag:e.key,value:e.value});})):a.push({tag:Qe[u.toUpperCase()],value:t[u]}));if(0===a.length)return z.error("ProfileHandler.updateMyProfile info:".concat(mr,",请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#updateMyProfile")),Zo({code:rn,message:mr});var c=this.uc.makeCapsule(this.TAG,this.Actions.U,{fromAccount:this.uc.getMyAccount(),profileItem:a});return o.request(c).then((function(r){z.info("ProfileHandler.updateMyProfile ok");var o=n._updateMap(n.uc.getMyAccount(),t);return i.emit(e.PROFILE_UPDATED,[o]),Qo(o);})).catch((function(e){return z.error("ProfileHandler.updateMyProfile error:",e),Zo(e);}));}},{key:"onProfileModified",value:function(t){var n=t.data;if(!Te(n)){var r,o,i=n.length;z.info("ProfileHandler.onProfileModified length="+i);for(var s=[],a=0;a0&&o.push(n)):o.push(t.userID));0!==o.length&&(z.info("ProfileHandler.onConversationsProfileUpdated toAccount:",o),this.getUserProfile({userIDList:o}));}},{key:"reset",value:function(){this._flushMap(!0),this.accountProfileMap.clear();}}]),t;}(),ou=function(){function e(t){r(this,e),this.options=t?t.options:{enablePointer:!0},this.pointsList={},this.reportText={},this.maxNameLen=0,this.gapChar="-",this.log=console.log,this.currentTask="";}return i(e,[{key:"newTask",value:function(e){!1!==this.options.enablePointer&&(e||(e=["task",this._timeFormat()].join("-")),this.pointsList[e]=[],this.currentTask=e,console.log("Pointer new Task : ".concat(this.currentTask)));}},{key:"deleteTask",value:function(e){!1!==this.options.enablePointer&&(e||(e=this.currentTask),this.pointsList[e].length=0,delete this.pointsList[e]);}},{key:"dot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;if(!1!==this.options.enablePointer){t=t||this.currentTask;var n=+new Date;this.maxNameLen=this.maxNameLen2&&void 0!==arguments[2]&&arguments[2];if(!1!==this.options.enablePointer){var r=this.flen,o=t.time-e.time,i=o.toString(),s=e.pointerName+this.gapChar.repeat(r-e.pointerName.length),a=t.pointerName+this.gapChar.repeat(r-t.pointerName.length),u=this.gapChar.repeat(4-i.length)+i,c=n?["%c",s,a,u,"ms\n%c"]:[s,a,u,"ms\n"];return c;}}},{key:"report",value:function(e){if(!1!==this.options.enablePointer){e=e||this.currentTask;var t=this._analisys(e);this.pointsList=[];var n=this._timeFormat(),r="Pointer[".concat(e,"(").concat(n,")]"),o=4*this.maxNameLen,i=(o-r.length)/2;console.log(["-".repeat(i),r,"-".repeat(i)].join("")),console.log("%c"+t,"color:#66a","color:red","color:#66a"),console.log("-".repeat(o));}}},{key:"_timeFormat",value:function(){var e=new Date,t=this.zeroFix(e.getMonth()+1,2),n=this.zeroFix(e.getDate(),2);return"".concat(t,"-").concat(n," ").concat(e.getHours(),":").concat(e.getSeconds(),":").concat(e.getMinutes(),"~").concat(e.getMilliseconds());}},{key:"zeroFix",value:function(e,t){return("000000000"+e).slice(-t);}},{key:"reportAll",value:function(){if(!1!==this.options.enablePointer)for(var e in this.pointsList)Object.prototype.hasOwnProperty.call(this.pointsList,e)&&this.eport(e);}}]),e;}(),iu=function e(t,n){r(this,e),this.userID=t;var o={};if(o.userID=t,!Te(n))for(var i=0,s=n.length;i",n[i].tag);}this.profile=new nu(o);},su=function(){function e(t){r(this,e),this.uc=t,this.TAG="friend",this.Actions={G:"get",D:"delete"},this.friends=new Map,this.pointer=new ou;}return i(e,[{key:"isMyFriend",value:function(e){var t=this.friends.has(e);return t||z.debug("FriendHandler.isMyFriend "+e+" is not my friend"),t;}},{key:"_transformFriendList",value:function(e){if(!Te(e)&&!Te(e.infoItem)){z.info("FriendHandler._transformFriendList friendNum="+e.friendNum);for(var t,n,r=e.infoItem,o=0,i=r.length;o1e3&&(z.warn("FriendHandler.deleteFriend 删除好友人数不能超过1000人"),e.toAccount.length=1e3);var t=this.uc.tim.connectionController,n=this.uc.makeCapsule(this.TAG,this.Actions.D,e);return t.request(n).then((function(e){return z.info("FriendHandler.deleteFriend ok"),Qo();})).catch((function(e){return z.error("FriendHandler.deleteFriend error:",e),Zo(e);}));}}]),e;}(),au=function e(t){r(this,e),Te||(this.userID=t.userID||"",this.timeStamp=t.timeStamp||0);},uu=function(){function t(e){r(this,t),this.uc=e,this.TAG="blacklist",this.Actions={G:"get",C:"create",D:"delete"},this.blacklistMap=new Map,this.startIndex=0,this.maxLimited=100,this.curruentSequence=0;}return i(t,[{key:"getBlacklist",value:function(){var e=this,t=this.uc.tim.connectionController,n={};n.fromAccount=this.uc.getMyAccount(),n.maxLimited=this.maxLimited,n.startIndex=0,n.lastSequence=this.curruentSequence;var r=new ui;r.setMethod(qi).setStart();var o=this.uc.makeCapsule(this.TAG,this.Actions.G,n);return t.request(o).then((function(t){var n=Te(t.data.blackListItem)?0:t.data.blackListItem.length;return r.setCode(0).setNetworkType(e.uc.getNetworkType()).setText(n).setEnd(),z.info("BlacklistHandler.getBlacklist ok"),e.curruentSequence=t.data.curruentSequence,e._handleResponse(t.data.blackListItem,!0),e._onBlacklistUpdated();})).catch((function(t){return e.uc.probeNetwork().then((function(e,n){r.setError(t,e,n).setEnd();})),z.error("BlacklistHandler.getBlacklist error:",t),Zo(t);}));}},{key:"addBlacklist",value:function(e){var t=this;if(!ee(e.userIDList))return z.error("BlacklistHandler.addBlacklist options.userIDList 必需是数组"),Zo({code:on,message:yr});var n=this.uc.tim.loginInfo.identifier;if(1===e.userIDList.length&&e.userIDList[0]===n)return z.error("BlacklistHandler.addBlacklist 不能把自己拉黑"),Zo({code:an,message:_r});e.userIDList.includes(n)&&(e.userIDList=e.userIDList.filter((function(e){return e!==n;})),z.warn("BlacklistHandler.addBlacklist 不能把自己拉黑,已过滤"));var r=this.uc.tim.connectionController;e.fromAccount=this.uc.getMyAccount(),e.toAccount=e.userIDList;var o=this.uc.makeCapsule(this.TAG,this.Actions.C,e);return r.request(o).then((function(e){return z.info("BlacklistHandler.addBlacklist ok"),t._handleResponse(e.data.resultItem,!0),t._onBlacklistUpdated();})).catch((function(e){return z.error("BlacklistHandler.addBlacklist error:",e),Zo(e);}));}},{key:"_handleResponse",value:function(e,t){if(!Te(e))for(var n,r,o,i=0,s=e.length;i0&&(z.log("BlacklistHandler.handleBlackListDelAccount delCount="+r.length+" : "+r.join(",")),this.tim.outerEmitter.emit(e.BLACKLIST_UPDATED,v(this.blacklistMap.keys())));}},{key:"handleBlackListAddAccount",value:function(t){for(var n,r=[],o=0,i=t.length;o0&&(z.log("BlacklistHandler.handleBlackListAddAccount addCount="+r.length+" : "+r.join(",")),this.tim.outerEmitter.emit(e.BLACKLIST_UPDATED,v(this.blacklistMap.keys())));}},{key:"reset",value:function(){this.blacklistMap.clear(),this.startIndex=0,this.maxLimited=100,this.curruentSequence=0;}}]),t;}(),cu=function(){function e(t){r(this,e),this.uc=t,this.TAG="applyC2C",this.Actions={C:"create",G:"get",D:"delete",U:"update"};}return i(e,[{key:"applyAddFriend",value:function(e){var t=this,n=this.uc.tim.connectionController,r=this.uc.makeCapsule(this.TAG,this.Actions.C,e),o=n.request(r);return o.then((function(e){t.uc.isActionSuccessful("applyAddFriend",t.Actions.C,e);})).catch((function(e){})),o;}},{key:"getPendency",value:function(e){var t=this,n=this.tim.connectionController,r=this.uc.makeCapsule(this.TAG,this.Actions.G,e),o=n.request(r);return o.then((function(e){t.uc.isActionSuccessful("getPendency",t.Actions.G,e);})).catch((function(e){})),o;}},{key:"deletePendency",value:function(e){var t=this,n=this.tim.connectionController,r=this.uc.makeCapsule(this.TAG,this.Actions.D,e),o=n.request(r);return o.then((function(e){t.uc.isActionSuccessful("deletePendency",t.Actions.D,e);})).catch((function(e){})),o;}},{key:"replyPendency",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.tim.connectionController,r=this.uc.makeCapsule(this.TAG,this.Actions.U,t),o=n.request(r);return o.then((function(t){e.uc.isActionSuccessful("replyPendency",e.Actions.U,t);})).catch((function(e){})),o;}}]),e;}(),lu=function(e){function t(e){var n;return r(this,t),(n=m(this,l(t).call(this,e))).profileHandler=new ru(d(n)),n.friendHandler=new su(d(n)),n.blacklistHandler=new uu(d(n)),n.applyC2CHandler=new cu(d(n)),n._initializeListener(),n;}return c(t,e),i(t,[{key:"_initializeListener",value:function(e){var t=this.tim.innerEmitter;t.on(zr,this.onContextUpdated,this),t.on(Io,this.onProfileModified,this),t.on(Co,this.onNewFriendMessages,this),t.on(No,this.onConversationsProfileUpdated,this);}},{key:"onContextUpdated",value:function(e){var t=e.data.context;!1!=!!t.a2Key&&!1!=!!t.tinyID&&(this.profileHandler.getMyProfile(),this.friendHandler.getFriendList(),this.blacklistHandler.getBlacklist());}},{key:"onGotMyProfile",value:function(){this.triggerReady();}},{key:"onProfileModified",value:function(e){this.profileHandler.onProfileModified(e);}},{key:"onNewFriendMessages",value:function(e){z.debug("onNewFriendMessages",JSON.stringify(e.data)),Te(e.data.blackListDelAccount)||this.blacklistHandler.handleBlackListDelAccount(e.data.blackListDelAccount),Te(e.data.blackListAddAccount)||this.blacklistHandler.handleBlackListAddAccount(e.data.blackListAddAccount);}},{key:"onConversationsProfileUpdated",value:function(e){this.profileHandler.onConversationsProfileUpdated(e.data);}},{key:"getMyAccount",value:function(){return this.tim.context.identifier;}},{key:"isMyFriend",value:function(e){return this.friendHandler.isMyFriend(e);}},{key:"makeCapsule",value:function(e,t,n){return this.createPackage({name:e,action:t,param:n});}},{key:"getMyProfile",value:function(){return this.profileHandler.getMyProfile();}},{key:"getUserProfile",value:function(e){return this.profileHandler.getUserProfile(e);}},{key:"updateMyProfile",value:function(e){return this.profileHandler.updateMyProfile(e);}},{key:"getFriendList",value:function(){return this.friendHandler.getFriendList();}},{key:"deleteFriend",value:function(e){return this.friendHandler.deleteFriend(e);}},{key:"getBlacklist",value:function(){return this.blacklistHandler.getBlacklist();}},{key:"addBlacklist",value:function(e){return this.blacklistHandler.addBlacklist(e);}},{key:"deleteBlacklist",value:function(e){return this.blacklistHandler.deleteBlacklist(e);}},{key:"applyAddFriend",value:function(e){return this.applyC2CHandler.applyAddFriend(e);}},{key:"getPendency",value:function(e){return this.applyC2CHandler.getPendency(e);}},{key:"deletePendency",value:function(e){return this.applyC2CHandler.deletePendency(e);}},{key:"replyPendency",value:function(e){return this.applyC2CHandler.replyPendency(e);}},{key:"reset",value:function(){z.info("UserController.reset"),this.resetReady(),this.profileHandler.reset(),this.blacklistHandler.reset(),this.checkTimes=0;}}]),t;}($o),pu=["groupID","name","avatar","type","introduction","notification","ownerID","selfInfo","createTime","infoSequence","lastInfoTime","lastMessage","nextMessageSeq","memberNum","maxMemberNum","memberList","joinOption","groupCustomField"],hu=function(){function e(t){r(this,e),this.groupID="",this.name="",this.avatar="",this.type="",this.introduction="",this.notification="",this.ownerID="",this.createTime="",this.infoSequence="",this.lastInfoTime="",this.selfInfo={messageRemindType:"",joinTime:"",nameCard:"",role:""},this.lastMessage={lastTime:"",lastSequence:"",fromAccount:"",messageForShow:""},this.nextMessageSeq="",this.memberNum="",this.maxMemberNum="",this.joinOption="",this.groupCustomField=[],this._initGroup(t);}return i(e,[{key:"_initGroup",value:function(e){for(var t in e)pu.indexOf(t)<0||("selfInfo"!==t?this[t]=e[t]:this.updateSelfInfo(e[t]));}},{key:"updateGroup",value:function(e){e.lastMsgTime&&(this.lastMessage.lastTime=e.lastMsgTime),e.groupCustomField&&Me(this.groupCustomField,e.groupCustomField),ce(this,e,["members","errorCode","lastMsgTime","groupCustomField"]);}},{key:"updateSelfInfo",value:function(e){var t=e.nameCard,n=e.joinTime,r=e.role,o=e.messageRemindType;ce(this.selfInfo,{nameCard:t,joinTime:n,role:r,messageRemindType:o},[],["",null,void 0,0,NaN]);}},{key:"setSelfNameCard",value:function(e){this.selfInfo.nameCard=e;}}]),e;}(),fu=function(e,n){if(te(n))return"";switch(e){case t.MSG_TEXT:return n.text;case t.MSG_IMAGE:return"[图片]";case t.MSG_GEO:return"[位置]";case t.MSG_AUDIO:return"[语音]";case t.MSG_VIDEO:return"[视频]";case t.MSG_FILE:return"[文件]";case t.MSG_CUSTOM:return"[自定义消息]";case t.MSG_GRP_TIP:return"[群提示消息]";case t.MSG_GRP_SYS_NOTICE:return"[群系统通知]";case t.MSG_FACE:return"[动画表情]";default:return"";}},gu=function(){function e(t){var n;r(this,e),this.conversationID=t.conversationID||"",this.unreadCount=t.unreadCount||0,this.type=t.type||"",this.lastMessage=(n=t.lastMessage,te(n)?{lastTime:0,lastSequence:0,fromAccount:0,messageForShow:"",payload:null,type:"",isRevoked:!1}:n instanceof Gr?{lastTime:n.time||0,lastSequence:n.sequence||0,fromAccount:n.from||"",messageForShow:fu(n.type,n.payload),payload:n.payload||null,type:n.type||null,isRevoked:!1}:u({},n,{isRevoked:!1,messageForShow:fu(n.type,n.payload)})),this._isInfoCompleted=!1,this._initProfile(t);}return i(e,[{key:"_initProfile",value:function(e){var n=this;Object.keys(e).forEach((function(t){switch(t){case"userProfile":n.userProfile=e.userProfile;break;case"groupProfile":n.groupProfile=e.groupProfile;}})),te(this.userProfile)&&this.type===t.CONV_C2C?this.userProfile=new nu({userID:e.conversationID.replace("C2C","")}):te(this.groupProfile)&&this.type===t.CONV_GROUP&&(this.groupProfile=new hu({groupID:e.conversationID.replace("GROUP","")}));}},{key:"updateUnreadCount",value:function(e,n){te(e)||(this.subType===t.GRP_CHATROOM||Ie(this.subType)?this.unreadCount=0:n&&this.type===t.CONV_GROUP?this.unreadCount=e:this.unreadCount=this.unreadCount+e);}},{key:"reduceUnreadCount",value:function(){this.unreadCount>=1&&(this.unreadCount-=1);}},{key:"isLastMessageRevoked",value:function(e){var n=e.sequence,r=e.time;return this.type===t.CONV_C2C&&n===this.lastMessage.lastSequence&&r===this.lastMessage.lastTime||this.type===t.CONV_GROUP&&n===this.lastMessage.lastSequence;}},{key:"setLastMessageRevoked",value:function(e){this.lastMessage.isRevoked=e;}},{key:"toAccount",get:function(){return this.conversationID.replace("C2C","").replace("GROUP","");}},{key:"subType",get:function(){return this.groupProfile?this.groupProfile.type:"";}}]),e;}(),du=function(n){function o(e){var t;return r(this,o),(t=m(this,l(o).call(this,e))).pagingStatus=Ne.NOT_START,t.pagingTimeStamp=0,t.conversationMap=new Map,t.tempGroupList=[],t._initListeners(),t;}return c(o,n),i(o,[{key:"hasLocalConversationMap",value:function(){return this.conversationMap.size>0;}},{key:"createLocalConversation",value:function(e){return this.conversationMap.has(e)?this.conversationMap.get(e):new gu({conversationID:e,type:e.slice(0,3)===t.CONV_C2C?t.CONV_C2C:t.CONV_GROUP});}},{key:"hasLocalConversation",value:function(e){return this.conversationMap.has(e);}},{key:"getConversationList",value:function(){var e=this;z.log("ConversationController.getConversationList."),this.pagingStatus===Ne.REJECTED&&(z.log("ConversationController.getConversationList. continue to sync conversationList"),this._syncConversationList());var t=new ui;t.setMethod(Mi).setStart();var n=this.createPackage({name:"conversation",action:"query"});return this.tim.connectionController.request(n).then((function(n){var r=n.data.conversations,o=void 0===r?[]:r,i=e._getConversationOptions(o);return e._updateLocalConversationList(i,!0),e._setStorageConversationList(),t.setCode(0).setText(o.length).setEnd(),z.log("ConversationController.getConversationList ok."),Qo({conversationList:e.getLocalConversationList()});})).catch((function(n){return e.probeNetwork().then((function(e,r){t.setError(n,e,r).setEnd();})),z.error("ConversationController.getConversationList error:",n),Zo(n);}));}},{key:"_syncConversationList",value:function(){var e=this,t=new ui;return t.setMethod(Ii).setStart(),this.pagingStatus===Ne.NOT_START&&this.conversationMap.clear(),this._autoPagingSyncConversationList().then((function(n){return e.pagingStatus=Ne.RESOLVED,e._setStorageConversationList(),t.setCode(0).setText("".concat(e.conversationMap.size)).setEnd(),n;})).catch((function(n){return e.pagingStatus=Ne.REJECTED,t.setText(e.pagingTimeStamp),e.probeNetwork().then((function(e,r){t.setError(n,e,r).setEnd();})),Zo(n);}));}},{key:"_autoPagingSyncConversationList",value:function(){var e=this;this.pagingStatus=Ne.PENDING;var t=this.createPackage({name:"conversation",action:"pagingQuery",param:{fromAccount:this.tim.context.identifier,timeStamp:this.pagingTimeStamp,orderType:1}});return this.connectionController.request(t).then((function(t){var n=t.data,r=n.completeFlag,o=n.conversations,i=void 0===o?[]:o,s=n.timeStamp;if(i.length>0){var a=e._getConversationOptions(i);e._updateLocalConversationList(a,!0);}return e._isReady?e._emitConversationUpdate():e.triggerReady(),e.pagingTimeStamp=s,1!==r?e._autoPagingSyncConversationList():Qo();}));}},{key:"getConversationProfile",value:function(e){var n=this.conversationMap.has(e)?this.conversationMap.get(e):this.createLocalConversation(e);return n._isInfoCompleted||n.type===t.CONV_SYSTEM?Qo({conversation:n}):(z.log("ConversationController.getConversationProfile. conversationID:",e),this._updateUserOrGroupProfileCompletely(n).then((function(t){return z.log("ConversationController.getConversationProfile ok. conversationID:",e),t;})).catch((function(e){return z.error("ConversationController.getConversationProfile error:",e),Zo(e);})));}},{key:"deleteConversation",value:function(e){var n=this,r={};if(!this.conversationMap.has(e)){var o=new lt({code:qt,message:Jn});return Zo(o);}switch(this.conversationMap.get(e).type){case t.CONV_C2C:r.type=1,r.toAccount=e.slice(3);break;case t.CONV_GROUP:r.type=2,r.toGroupID=e.slice(5);break;case t.CONV_SYSTEM:return this.tim.groupController.deleteGroupSystemNotice({messageList:this.tim.messageController.getLocalMessageList(e)}),this.deleteLocalConversation(e),Qo({conversationID:e});default:var i=new lt({code:Ft,message:Zn});return Zo(i);}z.log("ConversationController.deleteConversation. conversationID:",e);var s=this.createPackage({name:"conversation",action:"delete",param:r});return this.tim.setMessageRead({conversationID:e}).then((function(){return n.connectionController.request(s);})).then((function(){return z.log("ConversationController.deleteConversation ok. conversationID:",e),n.deleteLocalConversation(e),Qo({conversationID:e});})).catch((function(e){return z.error("ConversationController.deleteConversation error:",e),Zo(e);}));}},{key:"getLocalConversationList",value:function(){return v(this.conversationMap.values());}},{key:"getLocalConversation",value:function(e){return this.conversationMap.get(e);}},{key:"_initLocalConversationList",value:function(){var e=new ui;e.setMethod(Ci).setStart(),z.time(ii),z.log("ConversationController._initLocalConversationList init");var t=this._getStorageConversationList();if(t){for(var n=t.length,r=0;r0&&(e._updateConversationGroupProfile(e.tempGroupList),e.tempGroupList.length=0);}));}},{key:"_updateConversationGroupProfile",value:function(e){var t=this;ee(e)&&0===e.length||(this.hasLocalConversationMap()?(e.forEach((function(e){var n="GROUP".concat(e.groupID);if(t.conversationMap.has(n)){var r=t.conversationMap.get(n);r.groupProfile=e,r.lastMessage.lastSequence=e.nextMessageSeq-1,r.subType||(r.subType=e.type);}})),this._emitConversationUpdate(!0,!1)):this.tempGroupList=e);}},{key:"_updateConversationUserProfile",value:function(e){var t=this;e.data.forEach((function(e){var n="C2C".concat(e.userID);t.conversationMap.has(n)&&(t.conversationMap.get(n).userProfile=e);})),this._emitConversationUpdate(!0,!1);}},{key:"_onMessageRevoked",value:function(e){var t=this,n=e.data;if(0!==n.length){var r=null,o=!1;n.forEach((function(e){(r=t.conversationMap.get(e.conversationID))&&r.isLastMessageRevoked(e)&&(o=!0,r.setLastMessageRevoked(!0));})),o&&this._emitConversationUpdate(!0,!1);}}},{key:"_handleSyncMessages",value:function(e){this._onSendOrReceiveMessage(e,!0);}},{key:"_onSendOrReceiveMessage",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.data.eventDataList;this._isReady?0!==r.length&&(this._updateLocalConversationList(r,!1,n),this._setStorageConversationList(),this._emitConversationUpdate()):this.ready((function(){t._onSendOrReceiveMessage(e,n);}));}},{key:"_updateLocalConversationList",value:function(e,t,n){var r;r=this._updateTempConversations(e,t,n),this.conversationMap=new Map(this._sortConversations([].concat(v(r.conversations),v(this.conversationMap)))),t||this._updateUserOrGroupProfile(r.newerConversations);}},{key:"_updateTempConversations",value:function(e,n,r){for(var o=[],i=[],s=0,a=e.length;s0&&this.tim.getUserProfile({userIDList:r}).then((function(e){var t=e.data;ee(t)?t.forEach((function(e){n.conversationMap.get("C2C".concat(e.userID)).userProfile=e;})):n.conversationMap.get("C2C".concat(t.userID)).userProfile=t;})),o.length>0&&this.tim.groupController.getGroupProfileAdvance({groupIDList:o,responseFilter:{groupBaseInfoFilter:["Type","Name","FaceUrl"]}}).then((function(e){e.data.successGroupList.forEach((function(e){var t="GROUP".concat(e.groupID);if(n.conversationMap.has(t)){var r=n.conversationMap.get(t);ce(r.groupProfile,e,[],[null,void 0,"",0,NaN]),!r.subType&&e.type&&(r.subType=e.type);}}));}));}}},{key:"_updateUserOrGroupProfileCompletely",value:function(e){var n=this;return e.type===t.CONV_C2C?this.tim.getUserProfile({userIDList:[e.toAccount]}).then((function(t){var r=t.data;return 0===r.length?Zo(new lt({code:xt,message:Qn})):(e.userProfile=r[0],e._isInfoCompleted=!0,n._unshiftConversation(e),Qo({conversation:e}));})):this.tim.getGroupProfile({groupID:e.toAccount}).then((function(t){return e.groupProfile=t.data.group,e._isInfoCompleted=!0,n._unshiftConversation(e),Qo({conversation:e});}));}},{key:"_unshiftConversation",value:function(e){e instanceof gu&&!this.conversationMap.has(e.conversationID)&&(this.conversationMap=new Map([[e.conversationID,e]].concat(v(this.conversationMap))),this._setStorageConversationList(),this._emitConversationUpdate(!0,!1));}},{key:"deleteLocalConversation",value:function(e){return this.conversationMap.delete(e),this._setStorageConversationList(),this.tim.innerEmitter.emit(Go,e),this._emitConversationUpdate(!0,!1),this.conversationMap.has(e);}},{key:"_getConversationOptions",value:function(e){var t=[],n=e.filter((function(e){var t=e.lastMsg;return Z(t);})).map((function(e){if(1===e.type){var n={userID:e.userID,nick:e.c2CNick,avatar:e.c2CImage};return t.push(n),{conversationID:"C2C".concat(e.userID),type:"C2C",lastMessage:{lastTime:e.time,lastSequence:e.sequence,fromAccount:e.lastC2CMsgFromAccount,messageForShow:e.messageShow,type:e.lastMsg.elements[0]?e.lastMsg.elements[0].type:null,payload:e.lastMsg.elements[0]?e.lastMsg.elements[0].content:null},userProfile:new nu(n)};}return{conversationID:"GROUP".concat(e.groupID),type:"GROUP",lastMessage:{lastTime:e.time,lastSequence:e.messageReadSeq+e.unreadCount,fromAccount:e.msgGroupFromAccount,messageForShow:e.messageShow,type:e.lastMsg.elements[0]?e.lastMsg.elements[0].type:null,payload:e.lastMsg.elements[0]?e.lastMsg.elements[0].content:null},groupProfile:new hu({groupID:e.groupID,name:e.groupNick,avatar:e.groupImage}),unreadCount:e.unreadCount};}));return t.length>0&&this.tim.innerEmitter.emit(No,{data:t}),n;}},{key:"_emitConversationUpdate",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=v(this.conversationMap.values());n&&this.tim.innerEmitter.emit(Oo,r),t&&this.tim.outerEmitter.emit(e.CONVERSATION_LIST_UPDATED,r);}},{key:"_conversationMapTreeShaking",value:function(e){var n=this,r=new Map(v(this.conversationMap));e.forEach((function(e){return r.delete(e.conversationID);})),r.has(t.CONV_SYSTEM)&&r.delete(t.CONV_SYSTEM);var o=this.tim.groupController.getJoinedAVChatRoom();o&&r.delete("".concat(t.CONV_GROUP).concat(o.groupID)),v(r.keys()).forEach((function(e){return n.conversationMap.delete(e);}));}},{key:"reset",value:function(){this.pagingStatus=Ne.NOT_START,this.pagingTimeStamp=0,this.conversationMap.clear(),this.resetReady(),this.tim.innerEmitter.once(zr,this._initLocalConversationList,this);}}]),o;}($o),mu=function(){function e(t){if(r(this,e),void 0===t)throw new lt({code:Mt,message:bn});if(void 0===t.tim)throw new lt({code:Mt,message:"".concat(bn,".tim")});this.list=new Map,this.tim=t.tim,this._initializeOptions(t);}return i(e,[{key:"getLocalOldestMessageByConversationID",value:function(e){if(!e)return null;if(!this.list.has(e))return null;var t=this.list.get(e).values();return t?t.next().value:null;}},{key:"_initializeOptions",value:function(e){this.options={};var t={memory:{maxDatasPerKey:100,maxBytesPerData:256,maxKeys:0},cache:{maxDatasPerKey:10,maxBytesPerData:256,maxKeys:0}};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){if(void 0===e[n]){this.options[n]=t[n];continue;}var r=t[n];for(var o in r)if(Object.prototype.hasOwnProperty.call(r,o)){if(void 0===e[n][o]){this.options[n][o]=r[o];continue;}this.options[n][o]=e[n][o];}}}},{key:"pushIn",value:function(e){var t=e.conversationID,n=e.ID,r=!0;return this.list.has(t)||this.list.set(t,new Map),this.list.has(t)&&this.list.get(t).has(n)?r=!1:this.list.get(t).set(n,e),r;}},{key:"unshift",value:function(e){ee(e)?e.length>0&&this._unshiftMultipleMessages(e):this._unshiftSingleMessage(e);}},{key:"_unshiftSingleMessage",value:function(e){var t=e.conversationID,n=e.ID;if(!this.list.has(t))return this.list.set(t,new Map),void this.list.get(t).set(n,e);var r=Array.from(this.list.get(t));r.unshift([n,e]),this.list.set(t,new Map(r));}},{key:"_unshiftMultipleMessages",value:function(e){for(var t=e.length,n=[],r=e[0].conversationID,o=this.list.has(r)?Array.from(this.list.get(r)):[],i=0;i=0;i--){var s=o[i];if(!(r&&s.time>r||n&&s.sequence>n)){if("in"===s.flow&&s.isRead)break;s.setIsRead(!0);}}}},{key:"updateIsRead",value:function(e){var n=this.tim,r=n.conversationController,o=n.messageController,i=r.getLocalConversation(e),s=o.getLocalMessageList(e);if(i&&0!==s.length&&!Se(i.type)){for(var a=[],u=0;u15)&&(o=15);var i=this._computeLeftCount({conversationID:n,nextReqMessageID:r});return z.log("GetMessageHandler.getMessageList. conversationID=".concat(n," leftCount=").concat(i," count=").concat(o," nextReqMessageID=").concat(r)),this._needGetHistory({conversationID:n,leftCount:i,count:o})?this.messageController.getHistoryMessages({conversationID:n,count:20}).then((function(){return i=t._computeLeftCount({conversationID:n,nextReqMessageID:r}),new Wo(t._computeResult({conversationID:n,nextReqMessageID:r,count:o,leftCount:i}));})):(z.log("GetMessageHandler.getMessageList. get messagelist from memory"),Qo(this._computeResult({conversationID:n,nextReqMessageID:r,count:o,leftCount:i})));}},{key:"setCompleted",value:function(e){z.log("GetMessageHandler.setCompleted. conversationID=".concat(e)),this.completedMap.set(e,!0);}},{key:"deleteCompletedItem",value:function(e){z.log("GetMessageHandler.deleteCompletedItem. conversationID=".concat(e)),this.completedMap.delete(e);}},{key:"_initListener",value:function(){var e=this;this.tim.innerEmitter.on(xo,(function(){e.setCompleted(t.CONV_SYSTEM);})),this.tim.innerEmitter.on(qo,(function(n){var r=n.data;e.setCompleted("".concat(t.CONV_GROUP).concat(r));}));}},{key:"_getMessageListSize",value:function(e){return this.messageController.getLocalMessageList(e).length;}},{key:"_needGetHistory",value:function(e){var n=e.conversationID,r=e.leftCount,o=e.count,i=this.tim.conversationController.getLocalConversation(n),s=!!i&&i.type===t.CONV_SYSTEM,a=!!i&&i.subType===t.GRP_AVCHATROOM;return!s&&!a&&(rn?t-n:0;}},{key:"_computeLeftCount",value:function(e){var t=e.conversationID,n=e.nextReqMessageID;return n?this.messageController.getLocalMessageList(t).findIndex((function(e){return e.ID===n;})):this._getMessageListSize(t);}},{key:"_computeIsCompleted",value:function(e){var t=e.conversationID;return!!(e.leftCount<=e.count&&this.completedMap.has(t));}},{key:"reset",value:function(){z.log("GetMessageHandler.reset"),this.completedMap.clear();}}]),e;}(),_u=function e(t){r(this,e),this.value=t,this.next=null;},Mu=function(){function e(t){r(this,e),this.MAX_LENGTH=t,this.pTail=null,this.pNodeToDel=null,this.map=new Map,z.log("SinglyLinkedList init MAX_LENGTH=".concat(this.MAX_LENGTH));}return i(e,[{key:"pushIn",value:function(e){var t=new _u(e);if(this.map.size=0;}},{key:"_resendBinaryTypeMessage",value:function(){}},{key:"_createC2CMessagePack",value:function(e){return this.createPackage({name:"c2cMessage",action:"create",tjgID:this._generateTjgID(e),param:{toAccount:e.to,msgBody:e.getElements(),msgSeq:e.sequence,msgRandom:e.random}});}},{key:"_handleOnSendC2CMessageSuccess",value:function(e,t){var n=this.tim.innerEmitter;e.status=Pe.SUCCESS,e.time=t.time,n.emit(Qr,{data:{eventDataList:[{conversationID:e.conversationID,unreadCount:0,type:e.conversationType,subType:e.conversationSubType,lastMessage:e}]}});}},{key:"_createGroupMessagePack",value:function(e){return this.createPackage({name:"groupMessage",action:"create",tjgID:this._generateTjgID(e),param:{groupID:e.to,msgBody:e.getElements(),random:e.random,priority:e.priority,clientSequence:e.clientSequence}});}},{key:"_handleOnSendGroupMessageSuccess",value:function(e,t){var n=this.tim.innerEmitter;e.sequence=t.sequence,e.time=t.time,e.status=Pe.SUCCESS,n.emit(no,{data:{eventDataList:[{conversationID:e.conversationID,unreadCount:0,type:e.conversationType,subType:e.conversationSubType,lastMessage:e}]}});}},{key:"_onReceiveC2CMessage",value:function(n){z.debug("MessageController._onReceiveC2CMessage nums=".concat(n.data.length));var r=this.tim,o=r.innerEmitter,i=r.outerEmitter,s=this._newC2CMessageStoredAndSummary({notifiesList:n.data,type:t.CONV_C2C,C2CRemainingUnreadList:n.C2CRemainingUnreadList}),a=s.eventDataList,u=s.result;a.length>0&&o.emit(to,{data:{eventDataList:a,result:u},resource:this}),u.length>0&&i.emit(e.MESSAGE_RECEIVED,u);}},{key:"_onReceiveGroupMessage",value:function(t){z.debug("MessageController._onReceiveGroupMessage nums=".concat(t.data.length));var n=this.tim,r=n.outerEmitter,o=n.innerEmitter,i=this.newGroupMessageStoredAndSummary(t.data),s=i.eventDataList,a=i.result;s.length>0&&o.emit(ro,{data:{eventDataList:s,result:a,isGroupTip:!1}}),a.length>0&&r.emit(e.MESSAGE_RECEIVED,a);}},{key:"_onReceiveGroupTips",value:function(t){var n=this.tim,r=n.outerEmitter,o=n.innerEmitter,i=t.data;z.debug("MessageController._onReceiveGroupTips nums=".concat(i.length));var s=this.newGroupTipsStoredAndSummary(i),a=s.eventDataList,u=s.result;a.length>0&&o.emit(ro,{data:{eventDataList:a,result:u,isGroupTip:!0}}),u.length>0&&r.emit(e.MESSAGE_RECEIVED,u);}},{key:"_onReceiveSystemNotice",value:function(t){var n=this.tim,r=n.outerEmitter,o=n.innerEmitter,i=t.data,s=i.groupSystemNotices,a=i.type;z.debug("MessageController._onReceiveSystemNotice nums=".concat(s.length));var u=this.newSystemNoticeStoredAndSummary({notifiesList:s,type:a}),c=u.eventDataList,l=u.result;c.length>0&&o.emit(oo,{data:{eventDataList:c,result:l,type:a}}),l.length>0&&"poll"===a&&r.emit(e.MESSAGE_RECEIVED,l);}},{key:"_onReceiveGroupMessageRevokedNotice",value:function(t){var n=this;z.debug("MessageController._onReceiveGroupMessageRevokedNotice nums=".concat(t.data.length));var r=[],o=null;t.data.forEach((function(e){e.elements.revokedInfos.forEach((function(e){(o=n.messagesList.revoke("GROUP".concat(e.groupID),e.sequence))&&r.push(o);}));})),0!==r.length&&(this.tim.innerEmitter.emit(io,{data:r}),this.tim.outerEmitter.emit(e.MESSAGE_REVOKED,r));}},{key:"_onReceiveC2CMessageRevokedNotice",value:function(t){var n=this;z.debug("MessageController._onReceiveC2CMessageRevokedNotice nums=".concat(t.data.length));var r=[],o=null;t.data.forEach((function(e){e.c2cMessageRevokedNotify.revokedInfos.forEach((function(e){(o=n.messagesList.revoke("C2C".concat(e.from),e.sequence,e.random))&&r.push(o);}));})),0!==r.length&&(this.tim.innerEmitter.emit(io,{data:r}),this.tim.outerEmitter.emit(e.MESSAGE_REVOKED,r));}},{key:"_clearConversationMessages",value:function(e){this.messagesList.removeByConversationID(e),this.getMessageHandler.deleteCompletedItem(e);}},{key:"_pushIntoNoticeResult",value:function(e,t){var n=this.messagesList.pushIn(t),r=this.singlyLinkedList.has(t.random);return!(!n||!1!==r)&&(e.push(t),!0);}},{key:"_newC2CMessageStoredAndSummary",value:function(e){for(var n=e.notifiesList,r=e.type,o=e.C2CRemainingUnreadList,i=e.isFromSync,s=null,a=[],u=[],c={},l=this.tim.bigDataHallwayController,p=0,h=n.length;p0?[c]:[],result:a};}},{key:"_onSyncMessagesProcessing",value:function(e){var n=this._newC2CMessageStoredAndSummary({notifiesList:e.data,type:t.CONV_C2C,isFromSync:!0,C2CRemainingUnreadList:e.C2CRemainingUnreadList}),r=n.eventDataList,o=n.result;this.tim.innerEmitter.emit(Zr,{data:{eventDataList:r,result:o},resource:this});}},{key:"_onSyncMessagesFinished",value:function(e){this.triggerReady();var n=this._newC2CMessageStoredAndSummary({notifiesList:e.data,type:t.CONV_C2C,isFromSync:!0,C2CRemainingUnreadList:e.C2CRemainingUnreadList}),r=n.eventDataList,o=n.result;this.tim.innerEmitter.emit(eo,{data:{eventDataList:r,result:o},resource:this});}},{key:"getHistoryMessages",value:function(e){if(e.conversationID===t.CONV_SYSTEM)return Qo();!e.count&&(e.count=15),e.count>20&&(e.count=20);var n=this.messagesList.getLocalOldestMessageByConversationID(e.conversationID);n||((n={}).time=0,n.sequence=0,0===e.conversationID.indexOf(t.CONV_C2C)?(n.to=e.conversationID.replace(t.CONV_C2C,""),n.conversationType=t.CONV_C2C):0===e.conversationID.indexOf(t.CONV_GROUP)&&(n.to=e.conversationID.replace(t.CONV_GROUP,""),n.conversationType=t.CONV_GROUP));var r="";switch(n.conversationType){case t.CONV_C2C:return r=e.conversationID.replace(t.CONV_C2C,""),this.getC2CRoamMessages({conversationID:e.conversationID,peerAccount:r,count:e.count,lastMessageTime:void 0===this.currentMessageKey[e.conversationID]?0:n.time});case t.CONV_GROUP:return this.getGroupRoamMessages({conversationID:e.conversationID,groupID:n.to,count:e.count,sequence:n.sequence-1});default:return Qo();}}},{key:"getC2CRoamMessages",value:function(e){var n=this,r=this.tim.connectionController,o=void 0!==this.currentMessageKey[e.conversationID]?this.currentMessageKey[e.conversationID]:"",i=this.createPackage({name:"c2cMessage",action:"query",param:{peerAccount:e.peerAccount,count:e.count||15,lastMessageTime:e.lastMessageTime||0,messageKey:o}});z.log("MessageController.getC2CRoamMessages toAccount=".concat(e.peerAccount," count=").concat(e.count||15," lastMessageTime=").concat(e.lastMessageTime||0," messageKey=").concat(o));var s=new ui;return s.setMethod(di).setStart(),r.request(i).then((function(r){var i=r.data,a=i.complete,u=i.messageList;te(u)?z.log("MessageController.getC2CRoamMessages ok. complete=".concat(a," but messageList is undefined!")):z.log("MessageController.getC2CRoamMessages ok. complete=".concat(a," nums=").concat(u.length)),s.setCode(0).setNetworkType(n.getNetworkType()).setText("".concat(e.peerAccount,"-").concat(e.count||15,"-").concat(e.lastMessageTime||0,"-").concat(o,"-").concat(a,"-").concat(u?u.length:"undefined")).setEnd(),1===a&&n.getMessageHandler.setCompleted(e.conversationID);var c=n._roamMessageStore(u,t.CONV_C2C,e.conversationID);return n.readReportHandler.updateIsRead(e.conversationID),n.currentMessageKey[e.conversationID]=r.data.messageKey,c;})).catch((function(t){return n.probeNetwork().then((function(n,r){s.setError(t,n,r).setText("".concat(e.peerAccount,"-").concat(e.count||15,"-").concat(e.lastMessageTime||0,"-").concat(o)).setEnd();})),z.warn("MessageController.getC2CRoamMessages failed. ".concat(t)),Zo(t);}));}},{key:"_computeLastSequence",value:function(e){if(z.log("MessageController._computeLastSequence groupID=".concat(e.groupID," options.sequence=").concat(e.sequence)),e.sequence>=0)return e.sequence;var t=0,n=this.tim,r=n.groupController,o=n.conversationController;if(r.hasLocalGroup(e.groupID)){var i=r.getLocalGroupProfile(e.groupID);z.log("MessageController._computeLastSequence lastSequence=".concat(i.lastMessage.lastSequence," nextMessageSeq=").concat(i.nextMessageSeq)),t=i.lastMessage.lastSequence?i.lastMessage.lastSequence:i.nextMessageSeq?i.nextMessageSeq-1:-1;}else z.log("GroupController._computeLastSequence ".concat(e.groupID," not in groupMap")),t=-1;if(t<0){var s="GROUP".concat(e.groupID),a=o.getLocalConversation(s);a&&a.lastMessage.lastSequence?(t=a.lastMessage.lastSequence,z.log("MessageController._computeLastSequence get lastSequence=".concat(t," from conversationID=").concat(s))):(t=0,z.warn("MessageController._computeLastSequence can not compute lastSequence, set to 0"));}return t;}},{key:"getGroupRoamMessages",value:function(e){var n=this,r=this.tim.connectionController,o=this._computeLastSequence(e);z.log("MessageController.getGroupRoamMessages groupID=".concat(e.groupID," lastSequence=").concat(o));var i=this.createPackage({name:"groupMessage",action:"query",param:{groupID:e.groupID,count:21,sequence:o}}),s=new ui;return s.setMethod(mi).setStart(),r.request(i).then((function(r){var i=r.data,a=i.messageList,u=i.complete;te(a)?z.log("MessageController.getGroupRoamMessages ok. complete=".concat(u," but messageList is undefined!")):z.log("MessageController.getGroupRoamMessages ok. complete=".concat(u," nums=").concat(a.length)),s.setCode(0).setNetworkType(n.getNetworkType()).setText("".concat(e.groupID,"-").concat(o,"-").concat(u,"-").concat(a?a.length:"undefined")).setEnd();var c="GROUP".concat(e.groupID);if(2===u||Te(a))return n.getMessageHandler.setCompleted(c),[];var l=n._roamMessageStore(a,t.CONV_GROUP,c);return n.readReportHandler.updateIsRead(c),l;})).catch((function(t){return n.probeNetwork().then((function(n,r){s.setError(t,n,r).setText("".concat(e.groupID,"-").concat(o)).setEnd();})),z.warn("MessageController.getGroupRoamMessages failed. ".concat(t)),Zo(t);}));}},{key:"_roamMessageStore",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=null,i=[],s=0,a=e.length,c=null,l=n===t.CONV_GROUP,p=this.tim.bigDataHallwayController,h=function(){s=l?e.length-1:0,a=l?0:e.length;},f=function(){l?--s:++s;},g=function(){return l?s>=a:s0;--t)e+=ge[Math.floor(Math.random()*de)];return e;}());}},{key:"_generateTjgID",value:function(e){return this.tim.context.tinyID+"-"+e.random;}},{key:"getMessageOptionByID",value:function(e){return this.messageOptionMap.get(e);}}]),o;}($o),Su=function(){function e(t){r(this,e),this.userID="",this.avatar="",this.nick="",this.role="",this.joinTime="",this.lastSendMsgTime="",this.nameCard="",this.muteUntil=0,this.memberCustomField=[],this._initMember(t);}return i(e,[{key:"_initMember",value:function(e){this.updateMember(e);}},{key:"updateMember",value:function(e){var t=[null,void 0,"",0,NaN];e.memberCustomField&&Me(this.memberCustomField,e.memberCustomField),ce(this,e,["memberCustomField"],t);}},{key:"updateRole",value:function(e){["Owner","Admin","Member"].indexOf(e)<0||(this.role=e);}},{key:"updateMuteUntil",value:function(e){te(e)||(this.muteUntil=Math.floor((Date.now()+1e3*e)/1e3));}},{key:"updateNameCard",value:function(e){te(e)||(this.nameCard=e);}},{key:"updateMemberCustomField",value:function(e){e&&Me(this.memberCustomField,e);}}]),e;}(),Du=function(){function e(t){r(this,e),this.tim=t.tim,this.groupController=t.groupController,this._initListeners();}return i(e,[{key:"_initListeners",value:function(){this.tim.innerEmitter.on(ro,this._onReceivedGroupTips,this);}},{key:"_onReceivedGroupTips",value:function(e){var t=this,n=e.data,r=n.result;n.isGroupTip&&r.forEach((function(e){switch(e.payload.operationType){case 1:t._onNewMemberComeIn(e);break;case 2:t._onMemberQuit(e);break;case 3:t._onMemberKickedOut(e);break;case 4:t._onMemberSetAdmin(e);break;case 5:t._onMemberCancelledAdmin(e);break;case 6:t._onGroupProfileModified(e);break;case 7:t._onMemberInfoModified(e);break;default:z.warn("GroupTipsHandler._onReceivedGroupTips Unhandled groupTips. operationType=",e.payload.operationType);}}));}},{key:"_onNewMemberComeIn",value:function(e){var t=e.payload,n=t.memberNum,r=t.groupProfile.groupID,o=this.groupController.getLocalGroupProfile(r);o&&X(n)&&(o.memberNum=n);}},{key:"_onMemberQuit",value:function(e){var t=e.payload,n=t.memberNum,r=t.groupProfile.groupID,o=this.groupController.getLocalGroupProfile(r);o&&X(n)&&(o.memberNum=n),this.groupController.deleteLocalGroupMembers(r,e.payload.userIDList);}},{key:"_onMemberKickedOut",value:function(e){var t=e.payload,n=t.memberNum,r=t.groupProfile.groupID,o=this.groupController.getLocalGroupProfile(r);o&&X(n)&&(o.memberNum=n),this.groupController.deleteLocalGroupMembers(r,e.payload.userIDList);}},{key:"_onMemberSetAdmin",value:function(e){var n=this,r=e.payload.groupProfile.groupID;e.payload.userIDList.forEach((function(e){var o=n.groupController.getLocalGroupMemberInfo(r,e);o&&o.updateRole(t.GRP_MBR_ROLE_ADMIN);}));}},{key:"_onMemberCancelledAdmin",value:function(e){var n=this,r=e.payload.groupProfile.groupID;e.payload.userIDList.forEach((function(e){var o=n.groupController.getLocalGroupMemberInfo(r,e);o&&o.updateRole(t.GRP_MBR_ROLE_MEMBER);}));}},{key:"_onGroupProfileModified",value:function(e){var t=this,n=e.payload.newGroupProfile,r=e.payload.groupProfile.groupID,o=this.groupController.getLocalGroupProfile(r);Object.keys(n).forEach((function(e){switch(e){case"ownerID":t._ownerChaged(o,n);break;default:o[e]=n[e];}})),this.groupController.emitGroupListUpdate(!0,!0);}},{key:"_ownerChaged",value:function(e,n){var r=e.groupID,o=this.groupController.getLocalGroupProfile(r),i=this.tim.context.identifier;if(i===n.ownerID){o.updateGroup({selfInfo:{role:t.GRP_MBR_ROLE_OWNER}});var s=this.groupController.getLocalGroupMemberInfo(r,i),a=this.groupController.getLocalGroupProfile(r).ownerID,u=this.groupController.getLocalGroupMemberInfo(r,a);s&&s.updateRole(t.GRP_MBR_ROLE_OWNER),u&&u.updateRole(t.GRP_MBR_ROLE_MEMBER);}}},{key:"_onMemberInfoModified",value:function(e){var t=this,n=e.payload.groupProfile.groupID;e.payload.memberList.forEach((function(e){var r=t.groupController.getLocalGroupMemberInfo(n,e.userID);r&&e.muteTime&&r.updateMuteUntil(e.muteTime);}));}}]),e;}(),ku=function(){function n(e){r(this,n),this.groupController=e.groupController,this.tim=e.tim,this.pendencyMap=new Map,this._initLiceners();}return i(n,[{key:"_initLiceners",value:function(){this.tim.innerEmitter.on(oo,this._onReceivedGroupSystemNotice,this),this.tim.innerEmitter.on(Xr,this._clearGroupSystemNotice,this);}},{key:"_clearGroupSystemNotice",value:function(){var e=this;this.getPendencyList().then((function(n){n.forEach((function(t){e.pendencyMap.set("".concat(t.from,"_").concat(t.groupID,"_").concat(t.to),t);}));var r=e.tim.messageController.getLocalMessageList(t.CONV_SYSTEM),o=[];r.forEach((function(t){var n=t.payload,r=n.operatorID,i=n.operationType,s=n.groupProfile;if(i===qe){var a="".concat(r,"_").concat(s.groupID,"_").concat(s.to),u=e.pendencyMap.get(a);u&&X(u.handled)&&0!==u.handled&&o.push(t);}})),e.groupController.deleteGroupSystemNotice({messageList:o});}));}},{key:"getPendencyList",value:function(e){var t=this,n=this.groupController.createPackage({name:"group",action:"getGroupPendency",param:{startTime:e&&e.startTime?e.startTime:0,limit:e&&e.limit?e.limit:10,handleAccount:this.tim.context.identifier}});return this.groupController.connectionController.request(n).then((function(e){var n=e.data,r=n.pendencyList;return 0!==n.nextStartTime?t.getPendencyList({startTime:n.nextStartTime}).then((function(e){return[].concat(v(r),v(e));})):r;}));}},{key:"_onReceivedGroupSystemNotice",value:function(t){var n=this,r=t.data,o=r.result;"sync"!==r.type&&o.forEach((function(t){switch(t.payload.operationType){case 1:n._onApplyGroupRequest(t);break;case 2:n._onApplyGroupRequestAgreed(t);break;case 3:n._onApplyGroupRequestRefused(t);break;case 4:n._onMemberKicked(t);break;case 5:n._onGroupDismissed(t);break;case 6:break;case 7:n._onInviteGroup(t);break;case 8:n._onQuitGroup(t);break;case 9:n._onSetManager(t);break;case 10:n._onDeleteManager(t);break;case 11:case 12:case 15:break;case 255:n.tim.outerEmitter.emit(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:ze});}}));}},{key:"_onApplyGroupRequest",value:function(t){this.tim.outerEmitter.emit(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:qe});}},{key:"_onApplyGroupRequestAgreed",value:function(t){var n=this,r=t.payload.groupProfile.groupID;this.groupController.hasLocalGroup(r)||this.groupController.getGroupProfile({groupID:r}).then((function(e){var t=e.data.group;t&&(n.groupController.updateGroupMap([t]),n.groupController.emitGroupListUpdate());})),this.tim.outerEmitter.emit(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:xe});}},{key:"_onApplyGroupRequestRefused",value:function(t){this.tim.outerEmitter.emit(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:Fe});}},{key:"_onMemberKicked",value:function(t){var n=t.payload.groupProfile.groupID;this.groupController.hasLocalGroup(n)&&this.groupController.deleteLocalGroupAndConversation(n),this.tim.outerEmitter.emit(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:He});}},{key:"_onGroupDismissed",value:function(t){var n=t.payload.groupProfile.groupID,r=this.groupController.hasLocalGroup(n),o=this.groupController.AVChatRoomHandler;r&&this.groupController.deleteLocalGroupAndConversation(n),o.checkJoinedAVChatRoomByID(n)&&o.reset(),this.tim.outerEmitter.emit(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:Be});}},{key:"_onInviteGroup",value:function(t){var n=this,r=t.payload.groupProfile.groupID;this.groupController.hasLocalGroup(r)||this.groupController.getGroupProfile({groupID:r}).then((function(e){var t=e.data.group;t&&(n.groupController.updateGroupMap([t]),n.groupController.emitGroupListUpdate());})),this.tim.outerEmitter.emit(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:Ke});}},{key:"_onQuitGroup",value:function(t){var n=t.payload.groupProfile.groupID;this.groupController.hasLocalGroup(n)&&this.groupController.deleteLocalGroupAndConversation(n),this.tim.outerEmitter.emit(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:Ve});}},{key:"_onSetManager",value:function(n){var r=n.payload.groupProfile,o=r.to,i=r.groupID,s=this.groupController.getLocalGroupMemberInfo(i,o);s&&s.updateRole(t.GRP_MBR_ROLE_ADMIN),this.tim.outerEmitter.emit(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:n,type:je});}},{key:"_onDeleteManager",value:function(n){var r=n.payload.groupProfile,o=r.to,i=r.groupID,s=this.groupController.getLocalGroupMemberInfo(i,o);s&&s.updateRole(t.GRP_MBR_ROLE_MEMBER),this.tim.outerEmitter.emit(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:n,type:$e});}},{key:"reset",value:function(){this.pendencyMap.clear();}}]),n;}(),Tu={3:!0,4:!0,5:!0,6:!0},Eu=function(){function n(e){var t=e.tim,o=e.groupController;r(this,n),this.tim=t,this.groupController=o,this.AVChatRoomLoop=null,this.key="",this.startSeq=0,this.group={};}return i(n,[{key:"hasJoinedAVChatRoom",value:function(){return!(!this.group||te(this.group.groupID));}},{key:"checkJoinedAVChatRoomByID",value:function(e){return!(!this.group&&te(this.group.groupID))&&e===this.group.groupID;}},{key:"getJoinedAVChatRoom",value:function(){return this.hasJoinedAVChatRoom()?this.group:null;}},{key:"_updateProperties",value:function(e){var t=this;Object.keys(e).forEach((function(n){t[n]=e[n];}));}},{key:"start",value:function(){var e={key:this.key,startSeq:this.startSeq};if(null===this.AVChatRoomLoop){var t=this.tim.notificationController.createPackage({name:"AVChatRoom",action:"startLongPoll",param:e});this.AVChatRoomLoop=this.tim.connectionController.createRunLoop({pack:t,before:this._updateRequestData.bind(this),success:this._handleSuccess.bind(this),fail:this._handleFailure.bind(this)}),this.AVChatRoomLoop.start(),z.log("AVChatRoomHandler.start message channel started");}else this.AVChatRoomLoop.isRunning()||this.AVChatRoomLoop.start();}},{key:"stop",value:function(){null!==this.AVChatRoomLoop&&this.AVChatRoomLoop.isRunning()&&(this.AVChatRoomLoop.abort(),this.AVChatRoomLoop.stop(),z.log("AVChatRoomHandler.stop message channel stopped"));}},{key:"startRunLoop",value:function(e){var t=this;return this._precheck().then((function(){var n=e.longPollingKey,r=e.group;return t._updateProperties({key:n,startSeq:0,group:r||{}}),t.groupController.updateGroupMap([r]),t.groupController.emitGroupListUpdate(!0,!1),t.start(),t.groupController.isLoggedIn()?Qo({status:Ae.SUCCESS,group:r}):Qo({status:Ae.SUCCESS});}));}},{key:"joinWithoutAuth",value:function(e){var t=this,n=this.groupController.createPackage({name:"group",action:"applyJoinAVChatRoom",param:e});return this.tim.connectionController.request(n).then((function(n){var r=n.data.longPollingKey;if(te(r))return Zo(new lt({code:zt,message:ar}));z.log("AVChatRoomHandler.joinWithoutAuth ok. groupID:",e.groupID),t.tim.innerEmitter.emit(qo,{data:e.groupID});var o=new hu({groupID:e.groupID});return t.startRunLoop({group:o,longPollingKey:r}),new Wo({status:Ae.SUCCESS});})).catch((function(t){return z.error("AVChatRoomHandler.joinWithoutAuth error:".concat(t.message,". groupID:").concat(e.groupID)),Zo(t);}));}},{key:"_precheck",value:function(){if(!this.hasJoinedAVChatRoom())return Promise.resolve();if(this.groupController.isLoggedIn()){if(!(this.group.selfInfo.role===t.GRP_MBR_ROLE_OWNER||this.group.ownerID===this.tim.loginInfo.identifier))return this.groupController.quitGroup(this.group.groupID);this.groupController.deleteLocalGroupAndConversation(this.group.groupID);}else this.groupController.deleteLocalGroupAndConversation(this.group.groupID);return this.reset(),Promise.resolve();}},{key:"_updateRequestData",value:function(e){e.StartSeq=this.startSeq,e.Key=this.key,this.tim.sumStatController.addTotalCount(ri);}},{key:"_handleSuccess",value:function(e){this.tim.sumStatController.addSuccessCount(ri),this.tim.sumStatController.addCost(ri,e.data.timecost),this.startSeq=e.data.nextSeq,this.key=e.data.key,Array.isArray(e.data.rspMsgList)&&e.data.rspMsgList.forEach((function(e){e.to=e.groupID;})),e.data.rspMsgList&&e.data.rspMsgList.length>0&&this._dispatchNotice(e.data.rspMsgList);}},{key:"_handleFailure",value:function(e){if(e.error){var t=new ui;t.setMethod(Gi).setStart(),this.groupController.probeNetwork((function(n,r){t.setError(e.error,n,r).setEnd();})),this.tim.innerEmitter.emit(bo,e.error);}}},{key:"_dispatchNotice",value:function(n){if(ee(n)&&0!==n.length){for(var r=null,o=[],i=[],s=0;s0&&this.tim.innerEmitter.emit(oo,{data:{result:i,eventDataList:[],type:"poll"}}),0!==o.length){var a=this.packConversationOption(o);a.length>0&&this.tim.innerEmitter.emit(ro,{data:{eventDataList:a,type:"poll"}}),z.debug("AVChatRoomHandler._dispatchNotice nums=".concat(o.length)),this.tim.outerEmitter.emit(e.MESSAGE_RECEIVED,o);}}}},{key:"packMessage",value:function(e,n){e.currentUser=this.tim.context.identifier,e.conversationType=5===n?t.CONV_SYSTEM:t.CONV_GROUP,e.isSystemMessage=!!e.isSystemMessage;var r=new Gr(e),o=this.packElements(e,n);return r.setElement(o),r;}},{key:"packElements",value:function(e,n){return 4===n||6===n?{type:t.MSG_GRP_TIP,content:u({},e.elements,{groupProfile:e.groupProfile})}:5===n?{type:t.MSG_GRP_SYS_NOTICE,content:u({},e.elements,{groupProfile:e.groupProfile})}:this.tim.bigDataHallwayController.parseElements(e.elements,e.from);}},{key:"packConversationOption",value:function(e){for(var t=new Map,n=0;n0&&(z.warn("GroupController.createGroup 创建AVChatRoom时不能添加群成员,自动忽略该字段"),e.memberList=void 0),Ce(e.type)||te(e.joinOption)||(z.warn("GroupController.createGroup 创建Private/ChatRoom/AVChatRoom群时不能设置字段:joinOption,自动忽略该字段"),e.joinOption=void 0);var o=new ui;o.setMethod(Si).setStart();var i=this.createPackage({name:"group",action:"create",param:e});return z.log("GroupController.createGroup."),this.tim.connectionController.request(i).then((function(r){if(o.setCode(0).setNetworkType(n.getNetworkType()).setText("groupType=".concat(e.type," groupID=").concat(r.data.groupID)).setEnd(),z.log("GroupController.createGroup ok. groupID:",r.data.groupID),e.type===t.GRP_AVCHATROOM)return n.getGroupProfile({groupID:r.data.groupID});n.updateGroupMap([u({},e,{groupID:r.data.groupID})]);var i=n.tim.createCustomMessage({to:r.data.groupID,conversationType:t.CONV_GROUP,payload:{data:"group_create",extension:"".concat(n.tim.context.identifier,"创建群组")}});return n.tim.sendMessage(i),n.emitGroupListUpdate(),n.getGroupProfile({groupID:r.data.groupID});})).then((function(e){var n=e.data.group;return n.selfInfo.messageRemindType=t.MSG_REMIND_ACPT_AND_NOTE,n.selfInfo.role=t.GRP_MBR_ROLE_OWNER,e;})).catch((function(t){return o.setText("groupType=".concat(e.type)),n.probeNetwork().then((function(e,n){o.setError(t,e,n).setEnd();})),z.error("GroupController.createGroup error:",t),Zo(t);}));}},{key:"joinGroup",value:function(e){if(this.hasLocalGroup(e.groupID)){var n={status:t.JOIN_STATUS_ALREADY_IN_GROUP};return Qo(n);}if(e.type===t.GRP_PRIVATE){var r=new lt({code:Bt,message:tr});return Zo(r);}return z.log("GroupController.joinGroup. groupID:",e.groupID),this.isLoggedIn()?this.applyJoinGroup(e):this.AVChatRoomHandler.joinWithoutAuth(e);}},{key:"quitGroup",value:function(e){var t=this;z.log("GroupController.quitGroup. groupID:",e);var n=this.AVChatRoomHandler.checkJoinedAVChatRoomByID(e);if(n&&!this.isLoggedIn())return z.log("GroupController.quitGroup anonymously ok. groupID:",e),this.deleteLocalGroupAndConversation(e),this.AVChatRoomHandler.reset(),Qo({groupID:e});var r=new ui;r.setMethod(ki).setStart();var o=this.createPackage({name:"group",action:"quitGroup",param:{groupID:e}});return this.tim.connectionController.request(o).then((function(){return r.setCode(0).setNetworkType(t.getNetworkType()).setText("groupID=".concat(e)).setEnd(),z.log("GroupController.quitGroup ok. groupID:",e),n&&t.AVChatRoomHandler.reset(),t.deleteLocalGroupAndConversation(e),new Wo({groupID:e});})).catch((function(n){return r.setText("groupID=".concat(e)),t.probeNetwork().then((function(e,t){r.setError(n,e,t).setEnd();})),z.error("GroupController.quitGroup error. error:".concat(n,". groupID:").concat(e)),Zo(n);}));}},{key:"changeGroupOwner",value:function(e){var n=this;if(this.hasLocalGroup(e.groupID)&&this.getLocalGroupProfile(e.groupID).type===t.GRP_AVCHATROOM)return Zo(new lt({code:Kt,message:nr}));if(e.newOwnerID===this.tim.loginInfo.identifier)return Zo(new lt({code:Vt,message:rr}));var r=new ui;r.setMethod(Ti).setStart();var o=this.createPackage({name:"group",action:"changeGroupOwner",param:e});return z.log("GroupController.changeGroupOwner. groupID:",e.groupID),this.tim.connectionController.request(o).then((function(){r.setCode(0).setNetworkType(n.getNetworkType()).setText("groupID=".concat(e.groupID)).setEnd(),z.log("GroupController.changeGroupOwner ok. groupID:",e.groupID);var t=e.groupID,o=e.newOwnerID;n.groupMap.get(t).ownerID=o;var i=n.groupMemberListMap.get(t);if(i instanceof Map){var s=i.get(n.tim.loginInfo.identifier);te(s)||(s.updateRole("Member"),n.groupMap.get(t).selfInfo.role="Member");var a=i.get(o);te(a)||a.updateRole("Owner");}return n.emitGroupListUpdate(!0,!1),new Wo({group:n.groupMap.get(t)});})).catch((function(t){return r.setText("groupID=".concat(e.groupID)),n.probeNetwork().then((function(e,n){r.setError(t,e,n).setEnd();})),z.error("GroupController.changeGroupOwner error:".concat(t,". groupID:").concat(e.groupID)),Zo(t);}));}},{key:"dismissGroup",value:function(e){var n=this;if(this.hasLocalGroup(e)&&this.getLocalGroupProfile(e).type===t.GRP_PRIVATE)return Zo(new lt({code:jt,message:or}));var r=new ui;r.setMethod(Ei).setStart();var o=this.createPackage({name:"group",action:"destroyGroup",param:{groupID:e}});return z.log("GroupController.dismissGroup. groupID:".concat(e)),this.tim.connectionController.request(o).then((function(){return r.setCode(0).setNetworkType(n.getNetworkType()).setText("groupID=".concat(e)).setEnd(),z.log("GroupController.dismissGroup ok. groupID:".concat(e)),n.deleteLocalGroupAndConversation(e),n.checkJoinedAVChatRoomByID(e)&&n.AVChatRoomHandler.reset(),new Wo({groupID:e});})).catch((function(t){return r.setText("groupID=".concat(e)),n.probeNetwork().then((function(e,n){r.setError(t,e,n).setEnd();})),z.error("GroupController.dismissGroup error:".concat(t,". groupID:").concat(e)),Zo(t);}));}},{key:"updateGroupProfile",value:function(e){var t=this;!this.hasLocalGroup(e.groupID)||Ce(this.getLocalGroupProfile(e.groupID).type)||te(e.joinOption)||(z.warn("GroupController.modifyGroup: Private/ChatRoom/AVChatRoom群不能设置字段:joinOption,自动忽略该字段"),e.joinOption=void 0);var n=new ui;n.setMethod(wi).setStart();var r=this.createPackage({name:"group",action:"updateGroupProfile",param:e});return z.log("GroupController.modifyGroup. groupID:",e.groupID),this.tim.connectionController.request(r).then((function(){(n.setCode(0).setNetworkType(t.getNetworkType()).setText("groupID=".concat(e.groupID)).setEnd(),z.log("GroupController.modifyGroup ok. groupID:",e.groupID),t.hasLocalGroup(e.groupID))&&(t.groupMap.get(e.groupID).updateGroup(e),t._setStorageGroupList());return new Wo({group:t.groupMap.get(e.groupID)});})).catch((function(r){return n.setText("groupID=".concat(e.groupID)),t.probeNetwork().then((function(e,t){n.setError(r,e,t).setEnd();})),z.log("GroupController.modifyGroup error. error:".concat(r," groupID:").concat(e.groupID)),Zo(r);}));}},{key:"setGroupMemberRole",value:function(e){var n=this,r=e.groupID,o=e.userID,i=e.role,s=this.groupMap.get(r);if(s.selfInfo.role!==t.GRP_MBR_ROLE_OWNER)return Zo(new lt({code:Xt,message:cr}));if([t.GRP_PRIVATE,t.GRP_AVCHATROOM].includes(s.type))return Zo(new lt({code:Jt,message:lr}));if([t.GRP_MBR_ROLE_ADMIN,t.GRP_MBR_ROLE_MEMBER].indexOf(i)<0)return Zo(new lt({code:Qt,message:pr}));if(o===this.tim.loginInfo.identifier)return Zo(new lt({code:Zt,message:hr}));var a=new ui;return a.setMethod(bi).setStart(),a.setText("groupID=".concat(r," userID=").concat(o," role=").concat(i)),z.log("GroupController.setGroupMemberRole. groupID:".concat(r,". userID: ").concat(o)),this._modifyGroupMemberInfo({groupID:r,userID:o,role:i}).then((function(e){return a.setCode(0).setNetworkType(n.getNetworkType()).setEnd(),z.log("GroupController.setGroupMemberRole ok. groupID:".concat(r,". userID: ").concat(o)),new Wo({group:s,member:e});})).catch((function(e){return n.probeNetwork().then((function(t,n){a.setError(e,t,n).setEnd();})),z.error("GroupController.setGroupMemberRole error:".concat(e,". groupID:").concat(r,". userID:").concat(o)),Zo(e);}));}},{key:"setGroupMemberMuteTime",value:function(e){var t=this,n=e.groupID,r=e.userID,o=e.muteTime;if(r===this.tim.loginInfo.identifier)return Zo(new lt({code:en,message:fr}));z.log("GroupController.setGroupMemberMuteTime. groupID:".concat(n,". userID: ").concat(r));var i=new ui;return i.setMethod(Li).setStart(),i.setText("groupID=".concat(n," userID=").concat(r," muteTime=").concat(o)),this._modifyGroupMemberInfo({groupID:n,userID:r,muteTime:o}).then((function(e){return i.setCode(0).setNetworkType(t.getNetworkType()).setEnd(),z.log("GroupController.setGroupMemberMuteTime ok. groupID:".concat(n,". userID: ").concat(r)),new Wo({group:t.getLocalGroupProfile(n),member:e});})).catch((function(e){return t.probeNetwork().then((function(t,n){i.setError(e,t,n).setEnd();})),z.error("GroupController.setGroupMemberMuteTime error:".concat(e,". groupID:").concat(n,". userID:").concat(r)),Zo(e);}));}},{key:"setMessageRemindType",value:function(e){var t=this;z.log("GroupController.setMessageRemindType. groupID:".concat(e.groupID,". userID: ").concat(e.userID||this.tim.loginInfo.identifier));var n=e.groupID,r=e.messageRemindType;return this._modifyGroupMemberInfo({groupID:n,messageRemindType:r,userID:this.tim.loginInfo.identifier}).then((function(){z.log("GroupController.setMessageRemindType ok. groupID:".concat(e.groupID,". userID: ").concat(e.userID||t.tim.loginInfo.identifier));var n=t.getLocalGroupProfile(e.groupID);return n&&(n.selfInfo.messageRemindType=r),new Wo({group:n});})).catch((function(n){return z.error("GroupController.setMessageRemindType error:".concat(n,". groupID:").concat(e.groupID,". userID:").concat(e.userID||t.tim.loginInfo.identifier)),Zo(n);}));}},{key:"setGroupMemberNameCard",value:function(e){var t=this,n=e.groupID,r=e.userID,o=void 0===r?this.tim.loginInfo.identifier:r,i=e.nameCard;z.log("GroupController.setGroupMemberNameCard. groupID:".concat(n,". userID: ").concat(o));var s=new ui;return s.setMethod(Pi).setStart(),s.setText("groupID=".concat(n," userID=").concat(o," nameCard=").concat(i)),this._modifyGroupMemberInfo({groupID:n,userID:o,nameCard:i}).then((function(e){z.log("GroupController.setGroupMemberNameCard ok. groupID:".concat(n,". userID: ").concat(o)),s.setCode(0).setNetworkType(t.getNetworkType()).setEnd();var r=t.getLocalGroupProfile(n);return o===t.tim.loginInfo.identifier&&r&&r.setSelfNameCard(i),new Wo({group:r,member:e});})).catch((function(e){return t.probeNetwork().then((function(t,n){s.setError(e,t,n).setEnd();})),z.error("GroupController.setGroupMemberNameCard error:".concat(e,". groupID:").concat(n,". userID:").concat(o)),Zo(e);}));}},{key:"setGroupMemberCustomField",value:function(e){var t=this,n=e.groupID,r=e.userID,o=void 0===r?this.tim.loginInfo.identifier:r,i=e.memberCustomField;z.log("GroupController.setGroupMemberCustomField. groupID:".concat(n,". userID: ").concat(o));var s=new ui;return s.setMethod(Oi).setStart(),s.setText("groupID=".concat(n," userID=").concat(o," memberCustomField=").concat(i)),this._modifyGroupMemberInfo({groupID:n,userID:o,memberCustomField:i}).then((function(e){return s.setCode(0).setNetworkType(t.getNetworkType()).setEnd(),z.log("GroupController.setGroupMemberCustomField ok. groupID:".concat(n,". userID: ").concat(o)),new Wo({group:t.groupMap.get(n),member:e});})).catch((function(e){return t.probeNetwork().then((function(t,n){s.setError(e,t,n).setEnd();})),z.error("GroupController.setGroupMemberCustomField error:".concat(e,". groupID:").concat(n,". userID:").concat(o)),Zo(e);}));}},{key:"getGroupList",value:function(e){var t=this,n=new ui;n.setMethod(Ai).setStart(),z.log("GroupController.getGroupList");var r={introduction:"Introduction",notification:"Notification",createTime:"CreateTime",ownerID:"Owner_Account",lastInfoTime:"LastInfoTime",memberNum:"MemberNum",maxMemberNum:"MaxMemberNum",joinOption:"ApplyJoinOption"},o=["Type","Name","FaceUrl","NextMsgSeq","LastMsgTime"];e&&e.groupProfileFilter&&e.groupProfileFilter.forEach((function(e){r[e]&&o.push(r[e]);}));var i=this.createPackage({name:"group",action:"list",param:{responseFilter:{groupBaseInfoFilter:o,selfInfoFilter:["Role","JoinTime","MsgFlag"]}}});return this.tim.connectionController.request(i).then((function(e){var r=e.data.groups;return n.setCode(0).setNetworkType(t.getNetworkType()).setText(r.length).setEnd(),z.log("GroupController.getGroupList ok"),t._groupListTreeShaking(r),t.updateGroupMap(r),t.tempConversationList&&(t._handleUpdateGroupLastMessage(t.tempConversationList),t.tempConversationList=null),t.emitGroupListUpdate(),new Wo({groupList:t.getLocalGroups()});})).catch((function(e){return t.probeNetwork().then((function(t,r){n.setError(e,t,r).setEnd();})),z.error("GroupController.getGroupList error: ",e),Zo(e);}));}},{key:"getGroupMemberList",value:function(e){var t=this,n=e.groupID,r=e.offset,o=void 0===r?0:r,i=e.count,s=void 0===i?15:i;z.log("GroupController.getGroupMemberList groupID: ".concat(n," offset: ").concat(o," count: ").concat(s));var a=this.createPackage({name:"group",action:"getGroupMemberList",param:{groupID:n,offset:o,limit:s>100?100:s,memberInfoFilter:["Role","NameCard"]}}),u=[];return this.connectionController.request(a).then((function(e){var r=e.data,o=r.members,i=r.memberNum;return ee(o)&&0!==o.length?(t.hasLocalGroup(n)&&(t.getLocalGroupProfile(n).memberNum=i),u=t._updateLocalGroupMemberMap(n,o),t.tim.getUserProfile({userIDList:o.map((function(e){return e.userID;})),tagList:[Qe.NICK,Qe.AVATAR]})):Promise.resolve([]);})).then((function(e){var r=e.data;if(!ee(r)||0===r.length)return Qo({memberList:[]});var o=r.map((function(e){return{userID:e.userID,nick:e.nick,avatar:e.avatar};}));return t._updateLocalGroupMemberMap(n,o),z.log("GroupController.getGroupMemberList ok."),new Wo({memberList:u});})).catch((function(e){return z.error("GroupController.getGroupMemberList error: ",e),Zo(e);}));}},{key:"getLocalGroups",value:function(){return v(this.groupMap.values());}},{key:"getLocalGroupProfile",value:function(e){return this.groupMap.get(e);}},{key:"hasLocalGroup",value:function(e){return this.groupMap.has(e);}},{key:"getLocalGroupMemberInfo",value:function(e,t){return this.groupMemberListMap.has(e)?this.groupMemberListMap.get(e).get(t):null;}},{key:"setLocalGroupMember",value:function(e,t){if(this.groupMemberListMap.has(e))this.groupMemberListMap.get(e).set(t.userID,t);else{var n=(new Map).set(t.userID,t);this.groupMemberListMap.set(e,n);}}},{key:"hasLocalGroupMember",value:function(e,t){return this.groupMemberListMap.has(e)&&this.groupMemberListMap.get(e).has(t);}},{key:"hasLocalGroupMemberMap",value:function(e){return this.groupMemberListMap.has(e);}},{key:"getGroupProfile",value:function(e){var t=this;z.log("GroupController.getGroupProfile. groupID:",e.groupID);var n=e.groupID,r=e.groupCustomFieldFilter,o={groupIDList:[n],responseFilter:{groupBaseInfoFilter:["Type","Name","Introduction","Notification","FaceUrl","Owner_Account","CreateTime","InfoSeq","LastInfoTime","LastMsgTime","MemberNum","MaxMemberNum","ApplyJoinOption","NextMsgSeq"],groupCustomFieldFilter:r}};return this.getGroupProfileAdvance(o).then((function(r){var o,i=r.data,s=i.successGroupList,a=i.failureGroupList;return z.log("GroupController.getGroupProfile ok. groupID:",e.groupID),a.length>0?Zo(a[0]):(Ie(s[0].type)&&!t.hasLocalGroup(n)?o=new hu(s[0]):(t.updateGroupMap(s),o=t.getLocalGroupProfile(n)),o&&o.selfInfo&&!o.selfInfo.nameCard?t.updateSelfInfo(o).then((function(e){return new Wo({group:e});})):new Wo({group:o}));})).catch((function(t){return z.error("GroupController.getGroupProfile error:".concat(t,". groupID:").concat(e.groupID)),Zo(t);}));}},{key:"getGroupMemberProfile",value:function(e){var t=this;z.log("GroupController.getGroupMemberProfile groupID:".concat(e.groupID," userIDList:").concat(e.userIDList.join(","))),e.userIDList.length>50&&(e.userIDList=e.userIDList.slice(0,50));var n=e.groupID,r=e.userIDList;return this._getGroupMemberProfileAdvance(u({},e,{userIDList:r})).then((function(e){var r=e.data.members;return ee(r)&&0!==r.length?(t._updateLocalGroupMemberMap(n,r),t.tim.getUserProfile({userIDList:r.map((function(e){return e.userID;})),tagList:[Qe.NICK,Qe.AVATAR]})):Qo([]);})).then((function(e){var o=e.data.map((function(e){return{userID:e.userID,nick:e.nick,avatar:e.avatar};}));t._updateLocalGroupMemberMap(n,o);var i=r.filter((function(e){return t.hasLocalGroupMember(n,e);})).map((function(e){return t.getLocalGroupMemberInfo(n,e);}));return new Wo({memberList:i});}));}},{key:"_getGroupMemberProfileAdvance",value:function(e){var t=this.createPackage({name:"group",action:"getGroupMemberProfile",param:u({},e,{memberInfoFilter:e.memberInfoFilter?e.memberInfoFilter:["Role","JoinTime","NameCard","ShutUpUntil"]})});return this.connectionController.request(t);}},{key:"updateSelfInfo",value:function(e){var t=e.groupID;z.log("GroupController.updateSelfInfo groupID:",t);var n={groupID:t,userIDList:[this.tim.loginInfo.identifier]};return this.getGroupMemberProfile(n).then((function(n){var r=n.data.memberList;return z.log("GroupController.updateSelfInfo ok. groupID:",t),e&&0!==r.length&&e.updateSelfInfo(r[0]),e;}));}},{key:"addGroupMember",value:function(e){var t=this.getLocalGroupProfile(e.groupID);if(Ie(t.type)){var n=new lt({code:Yt,message:sr});return Zo(n);}e.userIDList=e.userIDList.map((function(e){return{userID:e};}));var r=this.createPackage({name:"group",action:"addGroupMember",param:e});return z.log("GroupController.addGroupMember. groupID:",e.groupID),this.connectionController.request(r).then((function(n){var r=n.data.members;z.log("GroupController.addGroupMember ok. groupID:",e.groupID);var o=r.filter((function(e){return 1===e.result;})).map((function(e){return e.userID;})),i=r.filter((function(e){return 0===e.result;})).map((function(e){return e.userID;})),s=r.filter((function(e){return 2===e.result;})).map((function(e){return e.userID;}));return 0===o.length?new Wo({successUserIDList:o,failureUserIDList:i,existedUserIDList:s}):(t.memberNum+=o.length,new Wo({successUserIDList:o,failureUserIDList:i,existedUserIDList:s,group:t}));})).catch((function(t){return z.error("GroupController.addGroupMember error:".concat(t,", groupID:").concat(e.groupID)),Zo(t);}));}},{key:"deleteGroupMember",value:function(e){var n=this;z.log("GroupController.deleteGroupMember groupID:".concat(e.groupID," userIDList:").concat(e.userIDList));var r=this.getLocalGroupProfile(e.groupID);if(r.type===t.GRP_AVCHATROOM)return Zo(new lt({code:Wt,message:ur}));var o=this.createPackage({name:"group",action:"deleteGroupMember",param:e});return this.connectionController.request(o).then((function(){return z.log("GroupController.deleteGroupMember ok"),r.memberNum--,n.deleteLocalGroupMembers(e.groupID,e.userIDList),new Wo({group:r,userIDList:e.userIDList});})).catch((function(t){return z.error("GroupController.deleteGroupMember error:".concat(t.code,", groupID:").concat(e.groupID)),Zo(t);}));}},{key:"searchGroupByID",value:function(e){var t={groupIDList:[e]},n=this.createPackage({name:"group",action:"searchGroupByID",param:t});return z.log("GroupController.searchGroupByID. groupID:".concat(e)),this.connectionController.request(n).then((function(t){var n=t.data.groupProfile;if(z.log("GroupController.searchGroupByID ok. groupID:".concat(e)),n[0].errorCode!==Re.SUCCESS)throw new lt({code:n[0].errorCode,message:n[0].errorInfo});return new Wo({group:new hu(n[0])});})).catch((function(t){return z.error("GroupController.searchGroupByID error:".concat(t,", groupID:").concat(e)),Zo(t);}));}},{key:"applyJoinGroup",value:function(e){var t=this,n=new ui;n.setMethod(Di).setStart();var r=this.createPackage({name:"group",action:"applyJoinGroup",param:e});return this.connectionController.request(r).then((function(r){var o=r.data,i=o.joinedStatus,s=o.longPollingKey;switch(n.setCode(0).setNetworkType(t.getNetworkType()).setText("groupID=".concat(e.groupID," joinedStatus=").concat(i)).setEnd(),z.log("GroupController.joinGroup ok. groupID:",e.groupID),i){case Ae.WAIT_APPROVAL:return new Wo({status:Ae.WAIT_APPROVAL});case Ae.SUCCESS:return t.getGroupProfile({groupID:e.groupID}).then((function(n){var r=n.data.group,o={status:Ae.SUCCESS,group:r};return te(s)?new Wo(o):(t.tim.innerEmitter.emit(qo,{data:e.groupID}),t.AVChatRoomHandler.startRunLoop({longPollingKey:s,group:r}));}));default:var a=new lt({code:$t,message:ir});return z.error("GroupController.joinGroup error:".concat(a,". groupID:").concat(e.groupID)),Zo(a);}})).catch((function(r){return n.setText("groupID=".concat(e.groupID)),t.probeNetwork().then((function(e,t){n.setError(r,e,t).setEnd();})),z.error("GroupController.joinGroup error:".concat(r,". groupID:").concat(e.groupID)),Zo(r);}));}},{key:"applyJoinAVChatRoom",value:function(e){return this.AVChatRoomHandler.applyJoinAVChatRoom(e);}},{key:"handleGroupApplication",value:function(e){var t=this,n=e.message.payload,r=n.groupProfile.groupID,o=n.authentication,i=n.messageKey,s=n.operatorID,a=this.createPackage({name:"group",action:"handleApplyJoinGroup",param:u({},e,{applicant:s,groupID:r,authentication:o,messageKey:i})});return z.log("GroupController.handleApplication. groupID:",r),this.connectionController.request(a).then((function(){return z.log("GroupController.handleApplication ok. groupID:",r),t.deleteGroupSystemNotice({messageList:[e.message]}),new Wo({group:t.getLocalGroupProfile(r)});})).catch((function(e){return z.error("GroupController.handleApplication error. error:".concat(e,". groupID:").concat(r)),Zo(e);}));}},{key:"deleteGroupSystemNotice",value:function(e){var n=this;if(!ee(e.messageList)||0===e.messageList.length)return Qo();z.log("GroupController.deleteGroupSystemNotice "+e.messageList.map((function(e){return e.ID;})));var r=this.createPackage({name:"group",action:"deleteGroupSystemNotice",param:{messageListToDelete:e.messageList.map((function(e){return{from:t.CONV_SYSTEM,messageSeq:e.clientSequence,messageRandom:e.random};}))}});return this.connectionController.request(r).then((function(){return z.log("GroupController.deleteGroupSystemNotice ok"),e.messageList.forEach((function(e){n.tim.messageController.deleteLocalMessage(e);})),new Wo;})).catch((function(e){return z.error("GroupController.deleteGroupSystemNotice error:",e),Zo(e);}));}},{key:"getGroupProfileAdvance",value:function(e){ee(e.groupIDList)&&e.groupIDList.length>50&&(z.warn("GroupController.getGroupProfileAdvance 获取群资料的数量不能超过50个"),e.groupIDList.length=50),z.log("GroupController.getGroupProfileAdvance. groupIDList:",e.groupIDList);var t=this.createPackage({name:"group",action:"query",param:e});return this.tim.connectionController.request(t).then((function(e){z.log("GroupController.getGroupProfileAdvance ok.");var t=e.data.groups,n=t.filter((function(e){return te(e.errorCode)||e.errorCode===Re.SUCCESS;})),r=t.filter((function(e){return e.errorCode&&e.errorCode!==Re.SUCCESS;})).map((function(e){return new lt({code:Number("500".concat(e.errorCode)),message:e.errorInfo,data:{groupID:e.groupID}});}));return new Wo({successGroupList:n,failureGroupList:r});})).catch((function(t){return z.error("GroupController.getGroupProfile error:".concat(t,". groupID:").concat(e.groupID)),Zo(t);}));}},{key:"_deleteLocalGroup",value:function(e){return this.groupMap.delete(e),this.groupMemberListMap.delete(e),this._setStorageGroupList(),this.groupMap.has(e)&&this.groupMemberListMap.has(e);}},{key:"_initGroupList",value:function(){var e=this,t=new ui;t.setMethod(Ri).setStart(),z.time(si),z.log("GroupController._initGroupList");var n=this._getStorageGroupList();ee(n)&&n.length>0?(n.forEach((function(t){e.groupMap.set(t.groupID,new hu(t));})),this.emitGroupListUpdate(!0,!1),t.setCode(0).setNetworkType(this.getNetworkType()).setText(this.groupMap.size).setEnd()):t.setCode(0).setNetworkType(this.getNetworkType()).setText(0).setEnd(),this.triggerReady(),z.log("GroupController._initGroupList ok. initCost=".concat(z.timeEnd(si),"ms")),this.getGroupList();}},{key:"_initListeners",value:function(){var e=this.tim.innerEmitter;e.once(zr,this._initGroupList,this),e.on(Oo,this._handleUpdateGroupLastMessage,this),e.on(ro,this._handleReceivedGroupMessage,this),e.on(Uo,this._handleProfileUpdated,this);}},{key:"emitGroupListUpdate",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this.getLocalGroups();n&&this.tim.innerEmitter.emit(Eo,r),t&&this.tim.outerEmitter.emit(e.GROUP_LIST_UPDATED,r);}},{key:"_handleReceivedGroupMessage",value:function(e){var n=this,r=e.data.eventDataList;Array.isArray(r)&&r.forEach((function(e){var r=e.conversationID.replace(t.CONV_GROUP,"");n.groupMap.has(r)&&(n.groupMap.get(r).nextMessageSeq=e.lastMessage.sequence+1);}));}},{key:"_onReceivedGroupSystemNotice",value:function(e){var t=e.data;this.groupNoticeHandler._onReceivedGroupNotice(t);}},{key:"_handleUpdateGroupLastMessage",value:function(e){if(0!==this.groupMap.size){for(var n=!1,r=0;r